refactor: saner options for uncrustify (#16204)

* sp_enum_after_assign = force
* sp_brace_typedef = force
* nl_do_brace = remove
* sp_do_brace_open = force
* sp_brace_close_while = force
* sp_before_semi = remove
* sp_before_semi_for = remove
* sp_before_semi_for_empty = remove
* sp_between_semi_for_empty = remove
* sp_after_semi_for_empty = remove
* sp_before_square = remove
* sp_before_squares = remove
* sp_inside_square = remove
* sp_inside_fparens = remove
* sp_inside_fparen = remove
* sp_inside_tparen = remove
* sp_after_tparen_close = remove
* sp_return_paren = force
* pos_bool = lead
* sp_pp_concat = remove
* sp_pp_stringify = remove
* fixup: disable formatting for the INIT section
This commit is contained in:
dundargoc 2021-11-19 20:21:53 +01:00 committed by GitHub
parent 9ec4417afc
commit 725cbe7d41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
60 changed files with 396 additions and 406 deletions

View File

@ -390,7 +390,7 @@ Dictionary nvim_parse_expression(String expr, String flags, Boolean highlight, E
FUNC_API_SINCE(4) FUNC_API_FAST FUNC_API_SINCE(4) FUNC_API_FAST
{ {
int pflags = 0; int pflags = 0;
for (size_t i = 0 ; i < flags.size ; i++) { for (size_t i = 0; i < flags.size; i++) {
switch (flags.data[i]) { switch (flags.data[i]) {
case 'm': case 'm':
pflags |= kExprFlagsMulti; break; pflags |= kExprFlagsMulti; break;
@ -478,7 +478,7 @@ Dictionary nvim_parse_expression(String expr, String flags, Boolean highlight, E
.capacity = kv_size(colors), .capacity = kv_size(colors),
.size = kv_size(colors), .size = kv_size(colors),
}; };
for (size_t i = 0 ; i < kv_size(colors) ; i++) { for (size_t i = 0; i < kv_size(colors); i++) {
const ParserHighlightChunk chunk = kv_A(colors, i); const ParserHighlightChunk chunk = kv_A(colors, i);
Array chunk_arr = (Array) { Array chunk_arr = (Array) {
.items = xmalloc(4 * sizeof(chunk_arr.items[0])), .items = xmalloc(4 * sizeof(chunk_arr.items[0])),

View File

@ -1305,7 +1305,7 @@ int do_buffer(int action, int start, int dir, int count, int forceit)
if (buf == NULL) { // No previous buffer, Try 2'nd approach if (buf == NULL) { // No previous buffer, Try 2'nd approach
forward = true; forward = true;
buf = curbuf->b_next; buf = curbuf->b_next;
for (;; ) { for (;;) {
if (buf == NULL) { if (buf == NULL) {
if (!forward) { // tried both directions if (!forward) { // tried both directions
break; break;
@ -2163,7 +2163,7 @@ int buflist_findpat(const char_u *pattern, const char_u *pattern_end, bool unlis
// First try finding a listed buffer. If not found and "unlisted" // First try finding a listed buffer. If not found and "unlisted"
// is true, try finding an unlisted buffer. // is true, try finding an unlisted buffer.
find_listed = true; find_listed = true;
for (;; ) { for (;;) {
for (attempt = 0; attempt <= 3; attempt++) { for (attempt = 0; attempt <= 3; attempt++) {
// may add '^' and '$' // may add '^' and '$'
if (toggledollar) { if (toggledollar) {
@ -3511,7 +3511,7 @@ int build_stl_str_hl(win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use
// Proceed character by character through the statusline format string // Proceed character by character through the statusline format string
// fmt_p is the current position in the input buffer // fmt_p is the current position in the input buffer
for (char_u *fmt_p = usefmt; *fmt_p; ) { for (char_u *fmt_p = usefmt; *fmt_p;) {
if (curitem == (int)stl_items_len) { if (curitem == (int)stl_items_len) {
size_t new_len = stl_items_len * 3 / 2; size_t new_len = stl_items_len * 3 / 2;
@ -4407,7 +4407,7 @@ int build_stl_str_hl(win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use
// string to find the last character that will fit. // string to find the last character that will fit.
trunc_p = out; trunc_p = out;
width = 0; width = 0;
for (;; ) { for (;;) {
width += ptr2cells(trunc_p); width += ptr2cells(trunc_p);
if (width >= maxwidth) { if (width >= maxwidth) {
break; break;
@ -4758,7 +4758,7 @@ void do_arg_all(int count, int forceit, int keep_tabs)
if (had_tab > 0) { if (had_tab > 0) {
goto_tabpage_tp(first_tabpage, true, true); goto_tabpage_tp(first_tabpage, true, true);
} }
for (;; ) { for (;;) {
win_T *wpnext = NULL; win_T *wpnext = NULL;
tpnext = curtab->tp_next; tpnext = curtab->tp_next;
for (win_T *wp = firstwin; wp != NULL; wp = wpnext) { for (win_T *wp = firstwin; wp != NULL; wp = wpnext) {
@ -5009,7 +5009,7 @@ void ex_buffer_all(exarg_T *eap)
if (had_tab > 0) { if (had_tab > 0) {
goto_tabpage_tp(first_tabpage, true, true); goto_tabpage_tp(first_tabpage, true, true);
} }
for (;; ) { for (;;) {
tpnext = curtab->tp_next; tpnext = curtab->tp_next;
for (wp = firstwin; wp != NULL; wp = wpnext) { for (wp = firstwin; wp != NULL; wp = wpnext) {
wpnext = wp->w_next; wpnext = wp->w_next;
@ -5020,8 +5020,8 @@ void ex_buffer_all(exarg_T *eap)
: wp->w_width != Columns) : wp->w_width != Columns)
|| (had_tab > 0 && wp != firstwin)) || (had_tab > 0 && wp != firstwin))
&& !ONE_WINDOW && !ONE_WINDOW
&& !(wp->w_closing || && !(wp->w_closing
wp->w_buffer->b_locked > 0)) { || wp->w_buffer->b_locked > 0)) {
win_close(wp, false); win_close(wp, false);
wpnext = firstwin; // just in case an autocommand does wpnext = firstwin; // just in case an autocommand does
// something strange with windows // something strange with windows
@ -5138,7 +5138,7 @@ void ex_buffer_all(exarg_T *eap)
/* /*
* Close superfluous windows. * Close superfluous windows.
*/ */
for (wp = lastwin; open_wins > count; ) { for (wp = lastwin; open_wins > count;) {
r = (buf_hide(wp->w_buffer) || !bufIsChanged(wp->w_buffer) r = (buf_hide(wp->w_buffer) || !bufIsChanged(wp->w_buffer)
|| autowrite(wp->w_buffer, false) == OK); || autowrite(wp->w_buffer, false) == OK);
if (!win_valid(wp)) { if (!win_valid(wp)) {

View File

@ -1121,14 +1121,14 @@ typedef struct {
/// @{ /// @{
enum { enum {
MENU_INDEX_INVALID = -1, MENU_INDEX_INVALID = -1,
MENU_INDEX_NORMAL = 0, MENU_INDEX_NORMAL = 0,
MENU_INDEX_VISUAL = 1, MENU_INDEX_VISUAL = 1,
MENU_INDEX_SELECT = 2, MENU_INDEX_SELECT = 2,
MENU_INDEX_OP_PENDING = 3, MENU_INDEX_OP_PENDING = 3,
MENU_INDEX_INSERT = 4, MENU_INDEX_INSERT = 4,
MENU_INDEX_CMDLINE = 5, MENU_INDEX_CMDLINE = 5,
MENU_INDEX_TIP = 6, MENU_INDEX_TIP = 6,
MENU_MODES = 7, MENU_MODES = 7,
}; };
typedef struct VimMenu vimmenu_T; typedef struct VimMenu vimmenu_T;

View File

@ -1355,7 +1355,7 @@ int open_line(int dir, int flags, int second_line_indent)
int c = 0; int c = 0;
int off = 0; int off = 0;
for (p = lead_flags; *p != NUL && *p != ':'; ) { for (p = lead_flags; *p != NUL && *p != ':';) {
if (*p == COM_RIGHT || *p == COM_LEFT) { if (*p == COM_RIGHT || *p == COM_LEFT) {
c = *p++; c = *p++;
} else if (ascii_isdigit(*p) || *p == '-') { } else if (ascii_isdigit(*p) || *p == '-') {
@ -1841,7 +1841,7 @@ void del_lines(long nlines, bool undo)
return; return;
} }
for (n = 0; n < nlines; ) { for (n = 0; n < nlines;) {
if (curbuf->b_ml.ml_flags & ML_EMPTY) { // nothing to delete if (curbuf->b_ml.ml_flags & ML_EMPTY) { // nothing to delete
break; break;
} }

View File

@ -168,7 +168,7 @@ char *parse_shape_opt(int what)
} }
// Parse the part after the colon // Parse the part after the colon
for (p = colonp + 1; *p && *p != ','; ) { for (p = colonp + 1; *p && *p != ',';) {
{ {
/* /*
* First handle the ones with a number argument. * First handle the ones with a number argument.

View File

@ -109,7 +109,7 @@ void do_debug(char_u *cmd)
smsg(_("cmd: %s"), cmd); smsg(_("cmd: %s"), cmd);
} }
// Repeat getting a command and executing it. // Repeat getting a command and executing it.
for (;; ) { for (;;) {
msg_scroll = true; msg_scroll = true;
need_wait_return = false; need_wait_return = false;
// Save the current typeahead buffer and replace it with an empty one. // Save the current typeahead buffer and replace it with an empty one.

View File

@ -739,7 +739,7 @@ static int diff_write_buffer(buf_T *buf, diffin_T *din)
len = 0; len = 0;
for (lnum = 1; lnum <= buf->b_ml.ml_line_count; lnum++) { for (lnum = 1; lnum <= buf->b_ml.ml_line_count; lnum++) {
for (s = ml_get_buf(buf, lnum, false); *s != NUL; ) { for (s = ml_get_buf(buf, lnum, false); *s != NUL;) {
if (diff_flags & DIFF_ICASE) { if (diff_flags & DIFF_ICASE) {
char_u cbuf[MB_MAXBYTES + 1]; char_u cbuf[MB_MAXBYTES + 1];

View File

@ -4166,7 +4166,7 @@ static int ins_compl_get_exp(pos_T *ini)
pos = (compl_direction == FORWARD) ? &last_match_pos : &first_match_pos; pos = (compl_direction == FORWARD) ? &last_match_pos : &first_match_pos;
// For ^N/^P loop over all the flags/windows/buffers in 'complete' // For ^N/^P loop over all the flags/windows/buffers in 'complete'
for (;; ) { for (;;) {
found_new_match = FAIL; found_new_match = FAIL;
set_match_pos = false; set_match_pos = false;
@ -4384,7 +4384,7 @@ static int ins_compl_get_exp(pos_T *ini)
p_ws = true; p_ws = true;
} }
bool looped_around = false; bool looped_around = false;
for (;; ) { for (;;) {
bool cont_s_ipos = false; bool cont_s_ipos = false;
msg_silent++; // Don't want messages for wrapscan. msg_silent++; // Don't want messages for wrapscan.
@ -5570,7 +5570,7 @@ int get_literal(void)
no_mapping++; // don't map the next key hits no_mapping++; // don't map the next key hits
cc = 0; cc = 0;
i = 0; i = 0;
for (;; ) { for (;;) {
nc = plain_vgetc(); nc = plain_vgetc();
if (!(State & CMDLINE) if (!(State & CMDLINE)
&& MB_BYTE2LEN_CHECK(nc) == 1) { && MB_BYTE2LEN_CHECK(nc) == 1) {
@ -6677,7 +6677,7 @@ static void stop_insert(pos_T *end_insert_pos, int esc, int nomove)
curwin->w_cursor = *end_insert_pos; curwin->w_cursor = *end_insert_pos;
check_cursor_col(); // make sure it is not past the line check_cursor_col(); // make sure it is not past the line
for (;; ) { for (;;) {
if (gchar_cursor() == NUL && curwin->w_cursor.col > 0) { if (gchar_cursor() == NUL && curwin->w_cursor.col > 0) {
--curwin->w_cursor.col; --curwin->w_cursor.col;
} }
@ -6868,7 +6868,7 @@ int oneleft(void)
// We might get stuck on 'showbreak', skip over it. // We might get stuck on 'showbreak', skip over it.
width = 1; width = 1;
for (;; ) { for (;;) {
coladvance(v - width); coladvance(v - width);
// getviscol() is slow, skip it when 'showbreak' is empty, // getviscol() is slow, skip it when 'showbreak' is empty,
// 'breakindent' is not set and there are no multi-byte // 'breakindent' is not set and there are no multi-byte
@ -7202,7 +7202,7 @@ static void replace_join(int off)
{ {
int i; int i;
for (i = replace_stack_nr; --i >= 0; ) { for (i = replace_stack_nr; --i >= 0;) {
if (replace_stack[i] == NUL && off-- <= 0) { if (replace_stack[i] == NUL && off-- <= 0) {
--replace_stack_nr; --replace_stack_nr;
memmove(replace_stack + i, replace_stack + i + 1, memmove(replace_stack + i, replace_stack + i + 1,
@ -7251,7 +7251,7 @@ static void mb_replace_pop_ins(int cc)
} }
// Handle composing chars. // Handle composing chars.
for (;; ) { for (;;) {
c = replace_pop(); c = replace_pop();
if (c == -1) { // stack empty if (c == -1) { // stack empty
break; break;
@ -9012,7 +9012,7 @@ static bool ins_tab(void)
// correct replace stack. // correct replace stack.
if ((State & REPLACE_FLAG) if ((State & REPLACE_FLAG)
&& !(State & VREPLACE_FLAG)) { && !(State & VREPLACE_FLAG)) {
for (temp = i; --temp >= 0; ) { for (temp = i; --temp >= 0;) {
replace_join(repl_off); replace_join(repl_off);
} }
} }

View File

@ -1551,7 +1551,7 @@ static const char_u *skip_var_list(const char_u *arg, int *var_count, int *semic
if (*arg == '[') { if (*arg == '[') {
// "[var, var]": find the matching ']'. // "[var, var]": find the matching ']'.
p = arg; p = arg;
for (;; ) { for (;;) {
p = skipwhite(p + 1); // skip whites after '[', ';' or ',' p = skipwhite(p + 1); // skip whites after '[', ';' or ','
s = skip_var_one(p); s = skip_var_one(p);
if (s == p) { if (s == p) {
@ -2448,7 +2448,7 @@ static void set_var_lval(lval_T *lp, char_u *endp, typval_T *rettv, int copy, co
// Check whether any of the list items is locked // Check whether any of the list items is locked
for (ri = tv_list_first(rettv->vval.v_list); for (ri = tv_list_first(rettv->vval.v_list);
ri != NULL && ll_li != NULL; ) { ri != NULL && ll_li != NULL;) {
if (var_check_lock(TV_LIST_ITEM_TV(ll_li)->v_lock, lp->ll_name, if (var_check_lock(TV_LIST_ITEM_TV(ll_li)->v_lock, lp->ll_name,
TV_CSTRING)) { TV_CSTRING)) {
return; return;
@ -2464,7 +2464,7 @@ static void set_var_lval(lval_T *lp, char_u *endp, typval_T *rettv, int copy, co
/* /*
* Assign the List values to the list items. * Assign the List values to the list items.
*/ */
for (ri = tv_list_first(rettv->vval.v_list); ri != NULL; ) { for (ri = tv_list_first(rettv->vval.v_list); ri != NULL;) {
if (op != NULL && *op != '=') { if (op != NULL && *op != '=') {
eexe_mod_op(TV_LIST_ITEM_TV(lp->ll_li), TV_LIST_ITEM_TV(ri), op); eexe_mod_op(TV_LIST_ITEM_TV(lp->ll_li), TV_LIST_ITEM_TV(ri), op);
} else { } else {
@ -2691,7 +2691,7 @@ void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx)
xp->xp_context = EXPAND_USER_VARS; xp->xp_context = EXPAND_USER_VARS;
if (vim_strpbrk(arg, (char_u *)"\"'+-*/%.=!?~|&$([<>,#") == NULL) { if (vim_strpbrk(arg, (char_u *)"\"'+-*/%.=!?~|&$([<>,#") == NULL) {
// ":let var1 var2 ...": find last space. // ":let var1 var2 ...": find last space.
for (p = arg + STRLEN(arg); p >= arg; ) { for (p = arg + STRLEN(arg); p >= arg;) {
xp->xp_pattern = p; xp->xp_pattern = p;
MB_PTR_BACK(arg, p); MB_PTR_BACK(arg, p);
if (ascii_iswhite(*p)) { if (ascii_iswhite(*p)) {
@ -3732,7 +3732,7 @@ static int eval5(char_u **arg, typval_T *rettv, int evaluate)
/* /*
* Repeat computing, until no '+', '-' or '.' is following. * Repeat computing, until no '+', '-' or '.' is following.
*/ */
for (;; ) { for (;;) {
op = **arg; op = **arg;
if (op != '+' && op != '-' && op != '.') { if (op != '+' && op != '-' && op != '.') {
break; break;
@ -3907,7 +3907,7 @@ static int eval6(char_u **arg, typval_T *rettv, int evaluate, int want_string)
/* /*
* Repeat computing, until no '*', '/' or '%' is following. * Repeat computing, until no '*', '/' or '%' is following.
*/ */
for (;; ) { for (;;) {
op = **arg; op = **arg;
if (op != '*' && op != '/' && op != '%') { if (op != '*' && op != '/' && op != '%') {
break; break;
@ -4890,7 +4890,7 @@ static int get_string_tv(char_u **arg, typval_T *rettv, int evaluate)
rettv->v_type = VAR_STRING; rettv->v_type = VAR_STRING;
rettv->vval.v_string = name; rettv->vval.v_string = name;
for (p = *arg + 1; *p != NUL && *p != '"'; ) { for (p = *arg + 1; *p != NUL && *p != '"';) {
if (*p == '\\') { if (*p == '\\') {
switch (*++p) { switch (*++p) {
case 'b': case 'b':
@ -5026,7 +5026,7 @@ static int get_lit_string_tv(char_u **arg, typval_T *rettv, int evaluate)
rettv->v_type = VAR_STRING; rettv->v_type = VAR_STRING;
rettv->vval.v_string = str; rettv->vval.v_string = str;
for (p = *arg + 1; *p != NUL; ) { for (p = *arg + 1; *p != NUL;) {
if (*p == '\'') { if (*p == '\'') {
if (p[1] != '\'') { if (p[1] != '\'') {
break; break;
@ -6086,7 +6086,7 @@ int assert_equalfile(typval_T *argvars)
snprintf((char *)IObuff, IOSIZE, (char *)e_notread, fname2); snprintf((char *)IObuff, IOSIZE, (char *)e_notread, fname2);
} else { } else {
int64_t linecount = 1; int64_t linecount = 1;
for (int64_t count = 0; ; count++) { for (int64_t count = 0;; count++) {
const int c1 = fgetc(fd1); const int c1 = fgetc(fd1);
const int c2 = fgetc(fd2); const int c2 = fgetc(fd2);
if (c1 == EOF) { if (c1 == EOF) {
@ -7382,7 +7382,7 @@ void set_buffer_lines(buf_T *buf, linenr_T lnum_arg, bool append, const typval_T
} }
// Default result is zero == OK. // Default result is zero == OK.
for (;; ) { for (;;) {
if (lines->v_type == VAR_LIST) { if (lines->v_type == VAR_LIST) {
// List argument, get next string. // List argument, get next string.
if (li == NULL) { if (li == NULL) {

View File

@ -3174,7 +3174,7 @@ static void getchar_common(typval_T *argvars, typval_T *rettv)
bool error = false; bool error = false;
no_mapping++; no_mapping++;
for (;; ) { for (;;) {
// Position the cursor. Needed after a message that ends in a space, // Position the cursor. Needed after a message that ends in a space,
// or if event processing caused a redraw. // or if event processing caused a redraw.
ui_cursor_goto(msg_row, msg_col); ui_cursor_goto(msg_row, msg_col);
@ -3447,7 +3447,7 @@ static void f_getcwd(typval_T *argvars, typval_T *rettv, FunPtr fptr)
// Numbers of the scope objects (window, tab) we want the working directory // Numbers of the scope objects (window, tab) we want the working directory
// of. A `-1` means to skip this scope, a `0` means the current object. // of. A `-1` means to skip this scope, a `0` means the current object.
int scope_number[] = { int scope_number[] = {
[kCdScopeWindow ] = 0, // Number of window to look at. [kCdScopeWindow] = 0, // Number of window to look at.
[kCdScopeTabpage] = 0, // Number of tab to look at. [kCdScopeTabpage] = 0, // Number of tab to look at.
}; };
@ -4667,7 +4667,7 @@ static void f_haslocaldir(typval_T *argvars, typval_T *rettv, FunPtr fptr)
// Numbers of the scope objects (window, tab) we want the working directory // Numbers of the scope objects (window, tab) we want the working directory
// of. A `-1` means to skip this scope, a `0` means the current object. // of. A `-1` means to skip this scope, a `0` means the current object.
int scope_number[] = { int scope_number[] = {
[kCdScopeWindow ] = 0, // Number of window to look at. [kCdScopeWindow] = 0, // Number of window to look at.
[kCdScopeTabpage] = 0, // Number of tab to look at. [kCdScopeTabpage] = 0, // Number of tab to look at.
}; };
@ -6182,7 +6182,7 @@ static void find_some_match(typval_T *const argvars, typval_T *const rettv,
if (regmatch.regprog != NULL) { if (regmatch.regprog != NULL) {
regmatch.rm_ic = p_ic; regmatch.rm_ic = p_ic;
for (;; ) { for (;;) {
if (l != NULL) { if (l != NULL) {
if (li == NULL) { if (li == NULL) {
match = false; match = false;
@ -7727,8 +7727,8 @@ static void f_resolve(typval_T *argvars, typval_T *rettv, FunPtr fptr)
char *const buf = xmallocz(MAXPATHL); char *const buf = xmallocz(MAXPATHL);
char *cpy; char *cpy;
for (;; ) { for (;;) {
for (;; ) { for (;;) {
len = readlink(p, buf, MAXPATHL); len = readlink(p, buf, MAXPATHL);
if (len <= 0) { if (len <= 0) {
break; break;
@ -8603,7 +8603,7 @@ long do_searchpair(const char *spat, const char *mpat, const char *epat, int dir
clearpos(&firstpos); clearpos(&firstpos);
clearpos(&foundpos); clearpos(&foundpos);
pat = pat3; pat = pat3;
for (;; ) { for (;;) {
searchit_arg_T sia; searchit_arg_T sia;
memset(&sia, 0, sizeof(sia)); memset(&sia, 0, sizeof(sia));
sia.sa_stop_lnum = lnum_stop; sia.sa_stop_lnum = lnum_stop;

View File

@ -141,7 +141,7 @@ typedef struct {
dict_T *v_dict; ///< Dictionary for VAR_DICT, can be NULL. dict_T *v_dict; ///< Dictionary for VAR_DICT, can be NULL.
partial_T *v_partial; ///< Closure: function with args. partial_T *v_partial; ///< Closure: function with args.
blob_T *v_blob; ///< Blob for VAR_BLOB, can be NULL. blob_T *v_blob; ///< Blob for VAR_BLOB, can be NULL.
} vval; ///< Actual value. } vval; ///< Actual value.
} typval_T; } typval_T;
/// Values for (struct dictvar_S).dv_scope /// Values for (struct dictvar_S).dv_scope

View File

@ -2141,7 +2141,7 @@ void ex_function(exarg_T *eap)
} }
// find extra arguments "range", "dict", "abort" and "closure" // find extra arguments "range", "dict", "abort" and "closure"
for (;; ) { for (;;) {
p = skipwhite(p); p = skipwhite(p);
if (STRNCMP(p, "range", 5) == 0) { if (STRNCMP(p, "range", 5) == 0) {
flags |= FC_RANGE; flags |= FC_RANGE;
@ -2204,7 +2204,7 @@ void ex_function(exarg_T *eap)
indent = 2; indent = 2;
nesting = 0; nesting = 0;
for (;; ) { for (;;) {
if (KeyTyped) { if (KeyTyped) {
msg_scroll = true; msg_scroll = true;
saved_wait_return = false; saved_wait_return = false;

View File

@ -303,7 +303,7 @@ void ex_align(exarg_T *eap)
* Now try to move the line as much as possible to * Now try to move the line as much as possible to
* the right. Stop when it moves too far. * the right. Stop when it moves too far.
*/ */
do{ do {
(void)set_indent(++new_indent, 0); (void)set_indent(++new_indent, 0);
} }
while (linelen(NULL) <= width); while (linelen(NULL) <= width);
@ -774,7 +774,7 @@ void ex_retab(exarg_T *eap)
col = 0; col = 0;
vcol = 0; vcol = 0;
did_undo = false; did_undo = false;
for (;; ) { for (;;) {
if (ascii_iswhite(ptr[col])) { if (ascii_iswhite(ptr[col])) {
if (!got_tab && num_spaces == 0) { if (!got_tab && num_spaces == 0) {
// First consecutive white-space // First consecutive white-space
@ -2150,7 +2150,7 @@ static int check_readonly(int *forceit, buf_T *buf)
if (buf->b_p_ro) { if (buf->b_p_ro) {
dialog_msg(buff, dialog_msg(buff,
_( "'readonly' option is set for \"%s\".\nDo you wish to write anyway?"), _("'readonly' option is set for \"%s\".\nDo you wish to write anyway?"),
buf->b_fname); buf->b_fname);
} else { } else {
dialog_msg(buff, dialog_msg(buff,
@ -2944,7 +2944,7 @@ void ex_append(exarg_T *eap)
State |= LANGMAP; State |= LANGMAP;
} }
for (;; ) { for (;;) {
msg_scroll = TRUE; msg_scroll = TRUE;
need_wait_return = false; need_wait_return = false;
if (curbuf->b_p_ai) { if (curbuf->b_p_ai) {
@ -3719,7 +3719,7 @@ static buf_T *do_sub(exarg_T *eap, proftime_T timeout, bool do_buf_event, handle
* 4. if subflags.do_all is set, find next match * 4. if subflags.do_all is set, find next match
* 5. break if there isn't another match in this line * 5. break if there isn't another match in this line
*/ */
for (;; ) { for (;;) {
SubResult current_match = { SubResult current_match = {
.start = { 0, 0 }, .start = { 0, 0 },
.end = { 0, 0 }, .end = { 0, 0 },
@ -5030,9 +5030,9 @@ int find_help_tags(const char_u *arg, int *num_matches, char_u ***matches, bool
// When the string starting with "expr-" and containing '?' and matches // When the string starting with "expr-" and containing '?' and matches
// the table, it is taken literally (but ~ is escaped). Otherwise '?' // the table, it is taken literally (but ~ is escaped). Otherwise '?'
// is recognized as a wildcard. // is recognized as a wildcard.
for (i = (int)ARRAY_SIZE(expr_table); --i >= 0; ) { for (i = (int)ARRAY_SIZE(expr_table); --i >= 0;) {
if (STRCMP(arg + 5, expr_table[i]) == 0) { if (STRCMP(arg + 5, expr_table[i]) == 0) {
for (int si = 0, di = 0; ; si++) { for (int si = 0, di = 0;; si++) {
if (arg[si] == '~') { if (arg[si] == '~') {
d[di++] = '\\'; d[di++] = '\\';
} }
@ -5047,7 +5047,7 @@ int find_help_tags(const char_u *arg, int *num_matches, char_u ***matches, bool
} else { } else {
// Recognize a few exceptions to the rule. Some strings that contain // Recognize a few exceptions to the rule. Some strings that contain
// '*' with "star". Otherwise '*' is recognized as a wildcard. // '*' with "star". Otherwise '*' is recognized as a wildcard.
for (i = (int)ARRAY_SIZE(mtable); --i >= 0; ) { for (i = (int)ARRAY_SIZE(mtable); --i >= 0;) {
if (STRCMP(arg, mtable[i]) == 0) { if (STRCMP(arg, mtable[i]) == 0) {
STRCPY(d, rtable[i]); STRCPY(d, rtable[i]);
break; break;

View File

@ -410,7 +410,7 @@ static void script_dump_profile(FILE *fd)
} else { } else {
// Keep going till the end of file, so that trailing // Keep going till the end of file, so that trailing
// continuation lines are listed. // continuation lines are listed.
for (int i = 0; ; i++) { for (int i = 0;; i++) {
if (vim_fgets(IObuff, IOSIZE, sfd)) { if (vim_fgets(IObuff, IOSIZE, sfd)) {
break; break;
} }
@ -2505,7 +2505,7 @@ static char_u *get_one_sourceline(struct source_cookie *sp)
// Loop until there is a finished line (or end-of-file). // Loop until there is a finished line (or end-of-file).
sp->sourcing_lnum++; sp->sourcing_lnum++;
for (;; ) { for (;;) {
// make room to read at least 120 (more) characters // make room to read at least 120 (more) characters
ga_grow(&ga, 120); ga_grow(&ga, 120);
buf = (char_u *)ga.ga_data; buf = (char_u *)ga.ga_data;

View File

@ -135,10 +135,10 @@ typedef struct {
// Flags for the cs_lflags item in cstack_T. // Flags for the cs_lflags item in cstack_T.
enum { enum {
CSL_HAD_LOOP = 1, // just found ":while" or ":for" CSL_HAD_LOOP = 1, // just found ":while" or ":for"
CSL_HAD_ENDLOOP = 2, // just found ":endwhile" or ":endfor" CSL_HAD_ENDLOOP = 2, // just found ":endwhile" or ":endfor"
CSL_HAD_CONT = 4, // just found ":continue" CSL_HAD_CONT = 4, // just found ":continue"
CSL_HAD_FINA = 8, // just found ":finally" CSL_HAD_FINA = 8, // just found ":finally"
}; };
/// Arguments used for Ex commands. /// Arguments used for Ex commands.

View File

@ -432,8 +432,8 @@ int do_cmdline(char_u *cmdline, LineGetter fgetline, void *cookie, int flags)
if (next_cmdline == NULL if (next_cmdline == NULL
&& !force_abort && !force_abort
&& cstack.cs_idx < 0 && cstack.cs_idx < 0
&& !(getline_is_func && && !(getline_is_func
func_has_abort(real_cookie))) { && func_has_abort(real_cookie))) {
did_emsg = FALSE; did_emsg = FALSE;
} }
@ -2065,7 +2065,7 @@ int parse_command_modifiers(exarg_T *eap, char **errormsg, bool skip_only)
eap->save_msg_silent = -1; eap->save_msg_silent = -1;
// Repeat until no more command modifiers are found. // Repeat until no more command modifiers are found.
for (;; ) { for (;;) {
while (*eap->cmd == ' ' while (*eap->cmd == ' '
|| *eap->cmd == '\t' || *eap->cmd == '\t'
|| *eap->cmd == ':') { || *eap->cmd == ':') {
@ -2715,7 +2715,7 @@ static char_u *find_ucmd(exarg_T *eap, char_u *p, int *full, expand_T *xp, int *
* Look for buffer-local user commands first, then global ones. * Look for buffer-local user commands first, then global ones.
*/ */
gap = &curbuf->b_ucmds; gap = &curbuf->b_ucmds;
for (;; ) { for (;;) {
for (j = 0; j < gap->ga_len; ++j) { for (j = 0; j < gap->ga_len; ++j) {
uc = USER_CMD_GA(gap, j); uc = USER_CMD_GA(gap, j);
cp = eap->cmd; cp = eap->cmd;
@ -4071,7 +4071,7 @@ static linenr_T get_address(exarg_T *eap, char_u **ptr, cmd_addr_T addr_type, in
} }
} }
for (;; ) { for (;;) {
cmd = skipwhite(cmd); cmd = skipwhite(cmd);
if (*cmd != '-' && *cmd != '+' && !ascii_isdigit(*cmd)) { if (*cmd != '-' && *cmd != '+' && !ascii_isdigit(*cmd)) {
break; break;
@ -5326,7 +5326,7 @@ static void uc_list(char_u *name, size_t name_len)
garray_T *gap = (cmdwin_type != 0 && get_cmdline_type() == NUL) garray_T *gap = (cmdwin_type != 0 && get_cmdline_type() == NUL)
? &prevwin->w_buffer->b_ucmds ? &prevwin->w_buffer->b_ucmds
: &curbuf->b_ucmds; : &curbuf->b_ucmds;
for (;; ) { for (;;) {
for (i = 0; i < gap->ga_len; ++i) { for (i = 0; i < gap->ga_len; ++i) {
cmd = USER_CMD_GA(gap, i); cmd = USER_CMD_GA(gap, i);
a = cmd->uc_argt; a = cmd->uc_argt;
@ -5713,7 +5713,7 @@ static void ex_delcommand(exarg_T *eap)
garray_T *gap; garray_T *gap;
gap = &curbuf->b_ucmds; gap = &curbuf->b_ucmds;
for (;; ) { for (;;) {
for (i = 0; i < gap->ga_len; ++i) { for (i = 0; i < gap->ga_len; ++i) {
cmd = USER_CMD_GA(gap, i); cmd = USER_CMD_GA(gap, i);
cmp = STRCMP(eap->arg, cmd->uc_name); cmp = STRCMP(eap->arg, cmd->uc_name);
@ -6153,12 +6153,12 @@ static void do_ucmd(exarg_T *eap)
* Second round: copy result into "buf". * Second round: copy result into "buf".
*/ */
buf = NULL; buf = NULL;
for (;; ) { for (;;) {
p = cmd->uc_rep; // source p = cmd->uc_rep; // source
q = buf; // destination q = buf; // destination
totlen = 0; totlen = 0;
for (;; ) { for (;;) {
start = vim_strchr(p, '<'); start = vim_strchr(p, '<');
if (start != NULL) { if (start != NULL) {
end = vim_strchr(start + 1, '>'); end = vim_strchr(start + 1, '>');
@ -8983,8 +8983,8 @@ ssize_t find_cmdline_var(const char_u *src, size_t *usedlen)
/// @return an allocated string if a valid match was found. /// @return an allocated string if a valid match was found.
/// Returns NULL if no match was found. "usedlen" then still contains the /// Returns NULL if no match was found. "usedlen" then still contains the
/// number of characters to skip. /// number of characters to skip.
char_u *eval_vars(char_u *src, char_u *srcstart, size_t *usedlen, linenr_T *lnump, char_u *eval_vars(char_u *src, char_u *srcstart, size_t *usedlen, linenr_T *lnump, char **errormsg,
char **errormsg, int *escaped) int *escaped)
{ {
int i; int i;
char_u *s; char_u *s;
@ -9252,7 +9252,7 @@ static char_u *arg_all(void)
* first time: compute the total length * first time: compute the total length
* second time: concatenate the names * second time: concatenate the names
*/ */
for (;; ) { for (;;) {
len = 0; len = 0;
for (idx = 0; idx < ARGCOUNT; ++idx) { for (idx = 0; idx < ARGCOUNT; ++idx) {
p = alist_name(&ARGLIST[idx]); p = alist_name(&ARGLIST[idx]);
@ -9315,7 +9315,7 @@ char_u *expand_sfile(char_u *arg)
result = vim_strsave(arg); result = vim_strsave(arg);
for (p = result; *p; ) { for (p = result; *p;) {
if (STRNCMP(p, "<sfile>", 7) != 0) { if (STRNCMP(p, "<sfile>", 7) != 0) {
++p; ++p;
} else { } else {
@ -9461,7 +9461,7 @@ static void ex_filetype(exarg_T *eap)
} }
// Accept "plugin" and "indent" in any order. // Accept "plugin" and "indent" in any order.
for (;; ) { for (;;) {
if (STRNCMP(arg, "plugin", 6) == 0) { if (STRNCMP(arg, "plugin", 6) == 0) {
plugin = true; plugin = true;
arg = skipwhite(arg + 6); arg = skipwhite(arg + 6);

View File

@ -1628,7 +1628,7 @@ void ex_endtry(exarg_T *eap)
eap->errmsg = get_end_emsg(cstack); eap->errmsg = get_end_emsg(cstack);
// Find the matching ":try" and report what's missing. // Find the matching ":try" and report what's missing.
idx = cstack->cs_idx; idx = cstack->cs_idx;
do{ do {
--idx; --idx;
} }
while (idx > 0 && !(cstack->cs_flags[idx] & CSF_TRY)); while (idx > 0 && !(cstack->cs_flags[idx] & CSF_TRY));
@ -2091,7 +2091,7 @@ int has_loop_cmd(char_u *p)
int len; int len;
// skip modifiers, white space and ':' // skip modifiers, white space and ':'
for (;; ) { for (;;) {
while (*p == ' ' || *p == '\t' || *p == ':') { while (*p == ' ' || *p == '\t' || *p == ':') {
++p; ++p;
} }

View File

@ -1665,7 +1665,7 @@ static int may_do_command_line_next_incsearch(int firstc, long count, incsearch_
static void command_line_next_histidx(CommandLineState *s, bool next_match) static void command_line_next_histidx(CommandLineState *s, bool next_match)
{ {
int j = (int)STRLEN(s->lookfor); int j = (int)STRLEN(s->lookfor);
for (;; ) { for (;;) {
// one step backwards // one step backwards
if (!next_match) { if (!next_match) {
if (s->hiscnt == hislen) { if (s->hiscnt == hislen) {
@ -2686,7 +2686,7 @@ static void color_expr_cmdline(const CmdlineInfo *const colored_ccline,
viml_parser_destroy(&pstate); viml_parser_destroy(&pstate);
kv_resize(ret_ccline_colors->colors, kv_size(colors)); kv_resize(ret_ccline_colors->colors, kv_size(colors));
size_t prev_end = 0; size_t prev_end = 0;
for (size_t i = 0 ; i < kv_size(colors) ; i++) { for (size_t i = 0; i < kv_size(colors); i++) {
const ParserHighlightChunk chunk = kv_A(colors, i); const ParserHighlightChunk chunk = kv_A(colors, i);
assert(chunk.start.col < INT_MAX); assert(chunk.start.col < INT_MAX);
assert(chunk.end_col < INT_MAX); assert(chunk.end_col < INT_MAX);
@ -3466,7 +3466,7 @@ static bool cmdline_paste(int regname, bool literally, bool remcr)
int len; int len;
// Locate start of last word in the cmd buffer. // Locate start of last word in the cmd buffer.
for (w = ccline.cmdbuff + ccline.cmdpos; w > ccline.cmdbuff; ) { for (w = ccline.cmdbuff + ccline.cmdpos; w > ccline.cmdbuff;) {
len = utf_head_off(ccline.cmdbuff, w - 1) + 1; len = utf_head_off(ccline.cmdbuff, w - 1) + 1;
if (!vim_iswordc(utf_ptr2char(w - len))) { if (!vim_iswordc(utf_ptr2char(w - len))) {
break; break;
@ -4386,7 +4386,7 @@ static int showmatches(expand_T *xp, int wildmenu)
msg_outtrans_long_attr(p + 2, HL_ATTR(HLF_D)); msg_outtrans_long_attr(p + 2, HL_ATTR(HLF_D));
break; break;
} }
for (j = maxlen - lastlen; --j >= 0; ) { for (j = maxlen - lastlen; --j >= 0;) {
msg_putchar(' '); msg_putchar(' ');
} }
if (xp->xp_context == EXPAND_FILES if (xp->xp_context == EXPAND_FILES
@ -4457,7 +4457,7 @@ char_u *sm_gettail(char_u *s, bool eager)
char_u *t = s; char_u *t = s;
int had_sep = FALSE; int had_sep = FALSE;
for (p = s; *p != NUL; ) { for (p = s; *p != NUL;) {
if (vim_ispathsep(*p) if (vim_ispathsep(*p)
#ifdef BACKSLASH_IN_FILENAME #ifdef BACKSLASH_IN_FILENAME
&& !rem_backslash(p) && !rem_backslash(p)
@ -5219,7 +5219,7 @@ static void expand_shellcmd(char_u *filepat, int *num_file, char_u ***file, int
ga_init(&ga, (int)sizeof(char *), 10); ga_init(&ga, (int)sizeof(char *), 10);
hashtab_T found_ht; hashtab_T found_ht;
hash_init(&found_ht); hash_init(&found_ht);
for (s = path; ; s = e) { for (s = path;; s = e) {
e = vim_strchr(s, ENV_SEPCHAR); e = vim_strchr(s, ENV_SEPCHAR);
if (e == NULL) { if (e == NULL) {
e = s + STRLEN(s); e = s + STRLEN(s);

View File

@ -345,8 +345,8 @@ static int put_view(FILE *fd, win_T *wp, int add_edit, unsigned *flagp, int curr
// Load the file. // Load the file.
// //
if (wp->w_buffer->b_ffname != NULL if (wp->w_buffer->b_ffname != NULL
&& (!bt_nofile(wp->w_buffer) || && (!bt_nofile(wp->w_buffer)
wp->w_buffer->terminal)) { || wp->w_buffer->terminal)) {
// Editing a file in this buffer: use ":edit file". // Editing a file in this buffer: use ":edit file".
// This may have side effects! (e.g., compressed or network file). // This may have side effects! (e.g., compressed or network file).
// //
@ -431,8 +431,8 @@ static int put_view(FILE *fd, win_T *wp, int add_edit, unsigned *flagp, int curr
// //
if ((*flagp & SSOP_FOLDS) if ((*flagp & SSOP_FOLDS)
&& wp->w_buffer->b_ffname != NULL && wp->w_buffer->b_ffname != NULL
&& (bt_normal(wp->w_buffer) || && (bt_normal(wp->w_buffer)
bt_help(wp->w_buffer))) { || bt_help(wp->w_buffer))) {
if (put_folds(fd, wp) == FAIL) { if (put_folds(fd, wp) == FAIL) {
return FAIL; return FAIL;
} }

View File

@ -605,9 +605,9 @@ char_u *vim_findfile(void *search_ctx_arg)
} }
// upward search loop // upward search loop
for (;; ) { for (;;) {
// downward search loop // downward search loop
for (;; ) { for (;;) {
// check if user user wants to stop the search // check if user user wants to stop the search
os_breakcheck(); os_breakcheck();
if (got_int) { if (got_int) {
@ -829,7 +829,7 @@ char_u *vim_findfile(void *search_ctx_arg)
} else { } else {
suf = curbuf->b_p_sua; suf = curbuf->b_p_sua;
} }
for (;; ) { for (;;) {
// if file exists and we didn't already find it // if file exists and we didn't already find it
if ((path_with_url((char *)file_path) if ((path_with_url((char *)file_path)
|| (os_path_exists(file_path) || (os_path_exists(file_path)
@ -1500,7 +1500,7 @@ char_u *find_file_in_path_option(char_u *ptr, size_t len, int options, int first
/* When the file doesn't exist, try adding parts of /* When the file doesn't exist, try adding parts of
* 'suffixesadd'. */ * 'suffixesadd'. */
buf = suffixes; buf = suffixes;
for (;; ) { for (;;) {
if ( if (
(os_path_exists(NameBuff) (os_path_exists(NameBuff)
&& (find_what == FINDFILE_BOTH && (find_what == FINDFILE_BOTH
@ -1530,7 +1530,7 @@ char_u *find_file_in_path_option(char_u *ptr, size_t len, int options, int first
did_findfile_init = FALSE; did_findfile_init = FALSE;
} }
for (;; ) { for (;;) {
if (did_findfile_init) { if (did_findfile_init) {
file_name = vim_findfile(fdip_search_ctx); file_name = vim_findfile(fdip_search_ctx);
if (file_name != NULL) { if (file_name != NULL) {

View File

@ -995,7 +995,7 @@ retry:
long tlen; long tlen;
tlen = 0; tlen = 0;
for (;; ) { for (;;) {
p = ml_get(read_buf_lnum) + read_buf_col; p = ml_get(read_buf_lnum) + read_buf_col;
n = (int)STRLEN(p); n = (int)STRLEN(p);
if ((int)tlen + n + 1 > size) { if ((int)tlen + n + 1 > size) {
@ -3125,7 +3125,7 @@ nobackup:
// If conversion is taking place, we may first pretend to write and check // If conversion is taking place, we may first pretend to write and check
// for conversion errors. Then loop again to write for real. // for conversion errors. Then loop again to write for real.
// When not doing conversion this writes for real right away. // When not doing conversion this writes for real right away.
for (checking_conversion = true; ; checking_conversion = false) { for (checking_conversion = true;; checking_conversion = false) {
// There is no need to check conversion when: // There is no need to check conversion when:
// - there is no conversion // - there is no conversion
// - we make a backup file, that can be restored in case of conversion // - we make a backup file, that can be restored in case of conversion
@ -4265,8 +4265,8 @@ static char_u *check_for_bom(char_u *p, long size, int *lenp, int flags)
len = 4; len = 4;
} else if (flags == (FIO_UCS2 | FIO_ENDIAN_L)) { } else if (flags == (FIO_UCS2 | FIO_ENDIAN_L)) {
name = "ucs-2le"; // FF FE name = "ucs-2le"; // FF FE
} else if (flags == FIO_ALL || } else if (flags == FIO_ALL
flags == (FIO_UTF16 | FIO_ENDIAN_L)) { || flags == (FIO_UTF16 | FIO_ENDIAN_L)) {
// utf-16le is preferred, it also works for ucs-2le text // utf-16le is preferred, it also works for ucs-2le text
name = "utf-16le"; // FF FE name = "utf-16le"; // FF FE
} }
@ -4811,8 +4811,8 @@ int check_timestamps(int focus)
} }
if (!stuff_empty() || global_busy || !typebuf_typed() if (!stuff_empty() || global_busy || !typebuf_typed()
|| autocmd_busy || curbuf->b_ro_locked > 0 || || autocmd_busy || curbuf->b_ro_locked > 0
allbuf_lock > 0) { || allbuf_lock > 0) {
need_check_timestamps = true; // check later need_check_timestamps = true; // check later
} else { } else {
no_wait_return++; no_wait_return++;
@ -5727,7 +5727,7 @@ long read_eintr(int fd, void *buf, size_t bufsize)
{ {
long ret; long ret;
for (;; ) { for (;;) {
ret = read(fd, buf, bufsize); ret = read(fd, buf, bufsize);
if (ret >= 0 || errno != EINTR) { if (ret >= 0 || errno != EINTR) {
break; break;

View File

@ -202,7 +202,7 @@ bool hasFoldingWin(win_T *const win, const linenr_T lnum, linenr_T *const firstp
* Recursively search for a fold that contains "lnum". * Recursively search for a fold that contains "lnum".
*/ */
garray_T *gap = &win->w_folds; garray_T *gap = &win->w_folds;
for (;; ) { for (;;) {
if (!foldFind(gap, lnum_rel, &fp)) { if (!foldFind(gap, lnum_rel, &fp)) {
break; break;
} }
@ -455,7 +455,7 @@ void foldOpenCursor(void)
checkupdate(curwin); checkupdate(curwin);
if (hasAnyFolding(curwin)) { if (hasAnyFolding(curwin)) {
for (;; ) { for (;;) {
done = DONE_NOTHING; done = DONE_NOTHING;
(void)setManualFold(curwin->w_cursor, true, false, &done); (void)setManualFold(curwin->w_cursor, true, false, &done);
if (!(done & DONE_ACTION)) { if (!(done & DONE_ACTION)) {
@ -716,7 +716,7 @@ void deleteFold(win_T *const wp, const linenr_T start, const linenr_T end, const
garray_T *found_ga = NULL; garray_T *found_ga = NULL;
linenr_T lnum_off = 0; linenr_T lnum_off = 0;
bool use_level = false; bool use_level = false;
for (;; ) { for (;;) {
if (!foldFind(gap, lnum - lnum_off, &fp)) { if (!foldFind(gap, lnum - lnum_off, &fp)) {
break; break;
} }
@ -897,7 +897,7 @@ int foldMoveTo(const bool updown, const int dir, const long count)
linenr_T lnum_found = curwin->w_cursor.lnum; linenr_T lnum_found = curwin->w_cursor.lnum;
int level = 0; int level = 0;
bool last = false; bool last = false;
for (;; ) { for (;;) {
if (!foldFind(gap, curwin->w_cursor.lnum - lnum_off, &fp)) { if (!foldFind(gap, curwin->w_cursor.lnum - lnum_off, &fp)) {
if (!updown || gap->ga_len == 0) { if (!updown || gap->ga_len == 0) {
break; break;
@ -1155,7 +1155,7 @@ static int foldLevelWin(win_T *wp, linenr_T lnum)
// Recursively search for a fold that contains "lnum". // Recursively search for a fold that contains "lnum".
gap = &wp->w_folds; gap = &wp->w_folds;
for (;; ) { for (;;) {
if (!foldFind(gap, lnum_rel, &fp)) { if (!foldFind(gap, lnum_rel, &fp)) {
break; break;
} }
@ -1265,7 +1265,7 @@ static linenr_T setManualFoldWin(win_T *wp, linenr_T lnum, int opening, int recu
* Find the fold, open or close it. * Find the fold, open or close it.
*/ */
gap = &wp->w_folds; gap = &wp->w_folds;
for (;; ) { for (;;) {
if (!foldFind(gap, lnum, &fp)) { if (!foldFind(gap, lnum, &fp)) {
// If there is a following fold, continue there next time. // If there is a following fold, continue there next time.
if (fp != NULL && fp < (fold_T *)gap->ga_data + gap->ga_len) { if (fp != NULL && fp < (fold_T *)gap->ga_data + gap->ga_len) {
@ -1928,7 +1928,7 @@ void foldtext_cleanup(char_u *str)
} }
parseMarker(curwin); parseMarker(curwin);
for (s = str; *s != NUL; ) { for (s = str; *s != NUL;) {
size_t len = 0; size_t len = 0;
if (STRNCMP(s, curwin->w_p_fmr, foldstartmarkerlen) == 0) { if (STRNCMP(s, curwin->w_p_fmr, foldstartmarkerlen) == 0) {
len = foldstartmarkerlen; len = foldstartmarkerlen;
@ -2603,7 +2603,7 @@ static linenr_T foldUpdateIEMSRecurse(garray_T *const gap, const int level,
} }
// delete following folds that end before the current line // delete following folds that end before the current line
for (;; ) { for (;;) {
fp2 = fp + 1; fp2 = fp + 1;
if (fp2 >= (fold_T *)gap->ga_data + gap->ga_len if (fp2 >= (fold_T *)gap->ga_data + gap->ga_len
|| fp2->fd_top > flp->lnum) { || fp2->fd_top > flp->lnum) {

View File

@ -1453,7 +1453,7 @@ int vgetc(void)
} else { } else {
mod_mask = 0x0; mod_mask = 0x0;
last_recorded_len = 0; last_recorded_len = 0;
for (;; ) { // this is done twice if there are modifiers for (;;) { // this is done twice if there are modifiers
bool did_inc = false; bool did_inc = false;
if (mod_mask) { // no mapping after modifier has been read if (mod_mask) { // no mapping after modifier has been read
no_mapping++; no_mapping++;
@ -1793,7 +1793,7 @@ static int vgetorpeek(bool advance)
* If a mapped key sequence is found we go back to the start to * If a mapped key sequence is found we go back to the start to
* try re-mapping. * try re-mapping.
*/ */
for (;; ) { for (;;) {
/* /*
* os_breakcheck() is slow, don't use it too often when * os_breakcheck() is slow, don't use it too often when
* inside a mapping. But call it each time for typed * inside a mapping. But call it each time for typed
@ -1861,8 +1861,8 @@ static int vgetorpeek(bool advance)
&& State != CONFIRM && State != CONFIRM
&& !((ctrl_x_mode_not_default() && vim_is_ctrl_x_key(c1)) && !((ctrl_x_mode_not_default() && vim_is_ctrl_x_key(c1))
|| ((compl_cont_status & CONT_LOCAL) || ((compl_cont_status & CONT_LOCAL)
&& (c1 == Ctrl_N || && (c1 == Ctrl_N
c1 == Ctrl_P)))) { || c1 == Ctrl_P)))) {
if (c1 == K_SPECIAL) { if (c1 == K_SPECIAL) {
nolmaplen = 2; nolmaplen = 2;
} else { } else {
@ -1951,7 +1951,7 @@ static int vgetorpeek(bool advance)
* If one of the typed keys cannot be * If one of the typed keys cannot be
* remapped, skip the entry. * remapped, skip the entry.
*/ */
for (n = mlen; --n >= 0; ) { for (n = mlen; --n >= 0;) {
if (*s++ & (RM_NONE|RM_ABBR)) { if (*s++ & (RM_NONE|RM_ABBR)) {
break; break;
} }
@ -2550,7 +2550,7 @@ int inchar(char_u *buf, int maxlen, long wait_time)
#define DUM_LEN MAXMAPLEN * 3 + 3 #define DUM_LEN MAXMAPLEN * 3 + 3
char_u dum[DUM_LEN + 1]; char_u dum[DUM_LEN + 1];
for (;; ) { for (;;) {
len = os_inchar(dum, DUM_LEN, 0L, 0, NULL); len = os_inchar(dum, DUM_LEN, 0L, 0, NULL);
if (len == 0 || (len == 1 && dum[0] == 3)) { if (len == 0 || (len == 1 && dum[0] == 3)) {
break; break;
@ -3599,7 +3599,7 @@ char_u *set_context_in_map_cmd(expand_T *xp, char_u *cmd, char_u *arg, bool forc
expand_isabbrev = isabbrev; expand_isabbrev = isabbrev;
xp->xp_context = EXPAND_MAPPINGS; xp->xp_context = EXPAND_MAPPINGS;
expand_buffer = false; expand_buffer = false;
for (;; ) { for (;;) {
if (STRNCMP(arg, "<buffer>", 8) == 0) { if (STRNCMP(arg, "<buffer>", 8) == 0) {
expand_buffer = true; expand_buffer = true;
arg = skipwhite(arg + 8); arg = skipwhite(arg + 8);
@ -3987,7 +3987,7 @@ char_u *vim_strsave_escape_csi(char_u *p)
// 0xc0 -> 0xc3 - 0x80 -> 0xc3 K_SPECIAL KS_SPECIAL KE_FILLER // 0xc0 -> 0xc3 - 0x80 -> 0xc3 K_SPECIAL KS_SPECIAL KE_FILLER
char_u *res = xmalloc(STRLEN(p) * 4 + 1); char_u *res = xmalloc(STRLEN(p) * 4 + 1);
char_u *d = res; char_u *d = res;
for (char_u *s = p; *s != NUL; ) { for (char_u *s = p; *s != NUL;) {
if (s[0] == K_SPECIAL && s[1] != NUL && s[2] != NUL) { if (s[0] == K_SPECIAL && s[1] != NUL && s[2] != NUL) {
// Copy special key unmodified. // Copy special key unmodified.
*d++ = *s++; *d++ = *s++;

View File

@ -842,6 +842,7 @@ EXTERN disptick_T display_tick INIT(= 0);
// cursor position in Insert mode. // cursor position in Insert mode.
EXTERN linenr_T spell_redraw_lnum INIT(= 0); EXTERN linenr_T spell_redraw_lnum INIT(= 0);
// uncrustify:off
// The error messages that can be shared are included here. // The error messages that can be shared are included here.
// Excluded are errors that are only used once and debugging messages. // Excluded are errors that are only used once and debugging messages.
@ -850,12 +851,8 @@ EXTERN char e_afterinit[] INIT(= N_("E905: Cannot set this option after startup"
EXTERN char e_api_spawn_failed[] INIT(= N_("E903: Could not spawn API job")); EXTERN char e_api_spawn_failed[] INIT(= N_("E903: Could not spawn API job"));
EXTERN char e_argreq[] INIT(= N_("E471: Argument required")); EXTERN char e_argreq[] INIT(= N_("E471: Argument required"));
EXTERN char e_backslash[] INIT(= N_("E10: \\ should be followed by /, ? or &")); EXTERN char e_backslash[] INIT(= N_("E10: \\ should be followed by /, ? or &"));
EXTERN char e_cmdwin[] INIT(= EXTERN char e_cmdwin[] INIT(= N_("E11: Invalid in command-line window; <CR> executes, CTRL-C quits"));
N_( EXTERN char e_curdir[] INIT(= N_( "E12: Command not allowed from exrc/vimrc in current dir or tag search"));
"E11: Invalid in command-line window; <CR> executes, CTRL-C quits"));
EXTERN char e_curdir[] INIT(=
N_(
"E12: Command not allowed from exrc/vimrc in current dir or tag search"));
EXTERN char e_endif[] INIT(= N_("E171: Missing :endif")); EXTERN char e_endif[] INIT(= N_("E171: Missing :endif"));
EXTERN char e_endtry[] INIT(= N_("E600: Missing :endtry")); EXTERN char e_endtry[] INIT(= N_("E600: Missing :endtry"));
EXTERN char e_endwhile[] INIT(= N_("E170: Missing :endwhile")); EXTERN char e_endwhile[] INIT(= N_("E170: Missing :endwhile"));
@ -885,10 +882,7 @@ EXTERN char e_channotpty[] INIT(= N_("E904: channel is not a pty"));
EXTERN char e_stdiochan2[] INIT(= N_("E905: Couldn't open stdio channel: %s")); EXTERN char e_stdiochan2[] INIT(= N_("E905: Couldn't open stdio channel: %s"));
EXTERN char e_invstream[] INIT(= N_("E906: invalid stream for channel")); EXTERN char e_invstream[] INIT(= N_("E906: invalid stream for channel"));
EXTERN char e_invstreamrpc[] INIT(= N_("E906: invalid stream for rpc channel, use 'rpc'")); EXTERN char e_invstreamrpc[] INIT(= N_("E906: invalid stream for rpc channel, use 'rpc'"));
EXTERN char e_streamkey[] INIT(= EXTERN char e_streamkey[] INIT(= N_("E5210: dict key '%s' already set for buffered stream in channel %" PRIu64));
N_(
"E5210: dict key '%s' already set for buffered stream in channel %"
PRIu64));
EXTERN char e_libcall[] INIT(= N_("E364: Library call failed for \"%s()\"")); EXTERN char e_libcall[] INIT(= N_("E364: Library call failed for \"%s()\""));
EXTERN char e_fsync[] INIT(= N_("E667: Fsync failed: %s")); EXTERN char e_fsync[] INIT(= N_("E667: Fsync failed: %s"));
EXTERN char e_mkdir[] INIT(= N_("E739: Cannot create directory %s: %s")); EXTERN char e_mkdir[] INIT(= N_("E739: Cannot create directory %s: %s"));
@ -939,9 +933,7 @@ EXTERN char e_dictkey[] INIT(= N_("E716: Key not present in Dictionary: \"%s\"")
EXTERN char e_listreq[] INIT(= N_("E714: List required")); EXTERN char e_listreq[] INIT(= N_("E714: List required"));
EXTERN char e_listblobreq[] INIT(= N_("E897: List or Blob required")); EXTERN char e_listblobreq[] INIT(= N_("E897: List or Blob required"));
EXTERN char e_listdictarg[] INIT(= N_("E712: Argument of %s must be a List or Dictionary")); EXTERN char e_listdictarg[] INIT(= N_("E712: Argument of %s must be a List or Dictionary"));
EXTERN char e_listdictblobarg[] INIT(= EXTERN char e_listdictblobarg[] INIT(= N_("E896: Argument of %s must be a List, Dictionary or Blob"));
N_(
"E896: Argument of %s must be a List, Dictionary or Blob"));
EXTERN char e_readerrf[] INIT(= N_("E47: Error while reading errorfile")); EXTERN char e_readerrf[] INIT(= N_("E47: Error while reading errorfile"));
EXTERN char e_sandbox[] INIT(= N_("E48: Not allowed in sandbox")); EXTERN char e_sandbox[] INIT(= N_("E48: Not allowed in sandbox"));
EXTERN char e_secure[] INIT(= N_("E523: Not allowed here")); EXTERN char e_secure[] INIT(= N_("E523: Not allowed here"));
@ -980,25 +972,21 @@ EXTERN char e_unsupportedoption[] INIT(= N_("E519: Option not supported"));
EXTERN char e_fnametoolong[] INIT(= N_("E856: Filename too long")); EXTERN char e_fnametoolong[] INIT(= N_("E856: Filename too long"));
EXTERN char e_float_as_string[] INIT(= N_("E806: using Float as a String")); EXTERN char e_float_as_string[] INIT(= N_("E806: using Float as a String"));
EXTERN char e_autocmd_err[] INIT(=N_("E5500: autocmd has thrown an exception: %s")); EXTERN char e_autocmd_err[] INIT(= N_("E5500: autocmd has thrown an exception: %s"));
EXTERN char e_cmdmap_err[] INIT(=N_("E5520: <Cmd> mapping must end with <CR>")); EXTERN char e_cmdmap_err[] INIT(= N_("E5520: <Cmd> mapping must end with <CR>"));
EXTERN char EXTERN char e_cmdmap_repeated[] INIT(= N_("E5521: <Cmd> mapping must end with <CR> before second <Cmd>"));
e_cmdmap_repeated[] INIT(=N_("E5521: <Cmd> mapping must end with <CR> before second <Cmd>")); EXTERN char e_cmdmap_key[] INIT(= N_("E5522: <Cmd> mapping must not include %s key"));
EXTERN char e_cmdmap_key[] INIT(=N_("E5522: <Cmd> mapping must not include %s key"));
EXTERN char e_api_error[] INIT(=N_("E5555: API call: %s")); EXTERN char e_api_error[] INIT(= N_("E5555: API call: %s"));
EXTERN char e_luv_api_disabled[] INIT(=N_("E5560: %s must not be called in a lua loop callback")); EXTERN char e_luv_api_disabled[] INIT(= N_("E5560: %s must not be called in a lua loop callback"));
EXTERN char e_floatonly[] INIT(=N_( EXTERN char e_floatonly[] INIT(= N_("E5601: Cannot close window, only floating window would remain"));
"E5601: Cannot close window, only floating window would remain")); EXTERN char e_floatexchange[] INIT(= N_("E5602: Cannot exchange or rotate float"));
EXTERN char e_floatexchange[] INIT(=N_("E5602: Cannot exchange or rotate float"));
EXTERN char e_non_empty_string_required[] INIT(= N_("E1142: Non-empty string required")); EXTERN char e_non_empty_string_required[] INIT(= N_("E1142: Non-empty string required"));
EXTERN char e_cannot_define_autocommands_for_all_events[] INIT(= EXTERN char e_cannot_define_autocommands_for_all_events[] INIT(= N_("E1155: Cannot define autocommands for ALL events"));
N_(
"E1155: Cannot define autocommands for ALL events"));
EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM")); EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM"));
EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP")); EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP"));
@ -1020,6 +1008,8 @@ EXTERN bool embedded_mode INIT(= false);
// Do not start a UI nor read/write to stdio (unless embedding). // Do not start a UI nor read/write to stdio (unless embedding).
EXTERN bool headless_mode INIT(= false); EXTERN bool headless_mode INIT(= false);
// uncrustify:on
/// Used to track the status of external functions. /// Used to track the status of external functions.
/// Currently only used for iconv(). /// Currently only used for iconv().
typedef enum { typedef enum {

View File

@ -571,7 +571,7 @@ static void prt_header(prt_settings_T *const psettings, const int pagenum, const
// Use a negative line number to indicate printing in the top margin. // Use a negative line number to indicate printing in the top margin.
int page_line = 0 - prt_header_height(); int page_line = 0 - prt_header_height();
mch_print_start_line(true, page_line); mch_print_start_line(true, page_line);
for (char_u *p = tbuf; *p != NUL; ) { for (char_u *p = tbuf; *p != NUL;) {
const int l = utfc_ptr2len(p); const int l = utfc_ptr2len(p);
assert(l >= 0); assert(l >= 0);
if (mch_print_text_out(p, (size_t)l)) { if (mch_print_text_out(p, (size_t)l)) {
@ -2455,7 +2455,7 @@ static int prt_add_resource(struct prt_ps_resource_S *resource)
prt_dsc_textline("BeginDocument", (char *)resource->filename); prt_dsc_textline("BeginDocument", (char *)resource->filename);
for (;; ) { for (;;) {
bytes_read = fread((char *)resource_buffer, sizeof(char_u), bytes_read = fread((char *)resource_buffer, sizeof(char_u),
sizeof(resource_buffer), fd_resource); sizeof(resource_buffer), fd_resource);
if (ferror(fd_resource)) { if (ferror(fd_resource)) {

View File

@ -557,7 +557,7 @@ static int cs_cnt_matches(size_t idx)
int nlines = 0; int nlines = 0;
char *buf = xmalloc(CSREAD_BUFSIZE); char *buf = xmalloc(CSREAD_BUFSIZE);
for (;; ) { for (;;) {
errno = 0; errno = 0;
if (!fgets(buf, CSREAD_BUFSIZE, csinfo[idx].fr_fp)) { if (!fgets(buf, CSREAD_BUFSIZE, csinfo[idx].fr_fp)) {
if (errno == EINTR) { if (errno == EINTR) {
@ -966,7 +966,7 @@ static int cs_find_common(char *opt, char *pat, int forceit, int verbose, int us
qfpos++; qfpos++;
// next symbol must be + or - // next symbol must be + or -
if (strchr(CSQF_FLAGS, *qfpos) == NULL) { if (strchr(CSQF_FLAGS, *qfpos) == NULL) {
(void)semsg(_("E469: invalid cscopequickfix flag %c for %c"), *qfpos, *(qfpos - 1));; (void)semsg(_("E469: invalid cscopequickfix flag %c for %c"), *qfpos, *(qfpos - 1));
return FALSE; return FALSE;
} }

View File

@ -53,7 +53,7 @@
bool is_internal; \ bool is_internal; \
key_t key[2*T-1]; \ key_t key[2*T-1]; \
kbnode_##name##_t *ptr[]; \ kbnode_##name##_t *ptr[]; \
} ; \ }; \
typedef struct { \ typedef struct { \
kbnode_##name##_t *root; \ kbnode_##name##_t *root; \
int n_keys, n_nodes; \ int n_keys, n_nodes; \

View File

@ -459,7 +459,7 @@ static kh_inline khint_t __ac_X31_hash_string(const char *s)
{ {
khint_t h = (khint_t)*s; khint_t h = (khint_t)*s;
if (h) { if (h) {
for (++s ; *s; ++s) { h = (h << 5) - h + (uint8_t)*s; } for (++s; *s; ++s) { h = (h << 5) - h + (uint8_t)*s; }
} }
return h; return h;
} }

View File

@ -17,7 +17,7 @@
#include "xdiff/xdiff.h" #include "xdiff/xdiff.h"
typedef enum { typedef enum {
kNluaXdiffModeUnified = 0, kNluaXdiffModeUnified = 0,
kNluaXdiffModeOnHunkCB, kNluaXdiffModeOnHunkCB,
kNluaXdiffModeLocations, kNluaXdiffModeLocations,
} NluaXdiffMode; } NluaXdiffMode;

View File

@ -235,7 +235,7 @@ pos_T *movemark(int count)
return (pos_T *)NULL; return (pos_T *)NULL;
} }
for (;; ) { for (;;) {
if (curwin->w_jumplistidx + count < 0 if (curwin->w_jumplistidx + count < 0
|| curwin->w_jumplistidx + count >= curwin->w_jumplistlen) { || curwin->w_jumplistidx + count >= curwin->w_jumplistlen) {
return (pos_T *)NULL; return (pos_T *)NULL;

View File

@ -764,7 +764,7 @@ int utfc_ptr2char(const char_u *p, int *pcc)
&& p[len] >= 0x80 && p[len] >= 0x80
&& utf_composinglike(p, p + len)) { && utf_composinglike(p, p + len)) {
cc = utf_ptr2char(p + len); cc = utf_ptr2char(p + len);
for (;; ) { for (;;) {
pcc[i++] = cc; pcc[i++] = cc;
if (i == MAX_MCO) { if (i == MAX_MCO) {
break; break;
@ -1322,7 +1322,7 @@ static int utf_strnicmp(const char_u *s1, const char_u *s2, size_t n1, size_t n2
int c1, c2, cdiff; int c1, c2, cdiff;
char_u buffer[6]; char_u buffer[6];
for (;; ) { for (;;) {
c1 = utf_safe_read_char_adv(&s1, &n1); c1 = utf_safe_read_char_adv(&s1, &n1);
c2 = utf_safe_read_char_adv(&s2, &n2); c2 = utf_safe_read_char_adv(&s2, &n2);
@ -1933,7 +1933,7 @@ void utf_find_illegal(void)
} }
curwin->w_cursor.coladd = 0; curwin->w_cursor.coladd = 0;
for (;; ) { for (;;) {
p = get_cursor_pos_ptr(); p = get_cursor_pos_ptr();
if (vimconv.vc_type != CONV_NONE) { if (vimconv.vc_type != CONV_NONE) {
xfree(tofree); xfree(tofree);
@ -2363,7 +2363,7 @@ static char_u *iconv_string(const vimconv_T *const vcp, char_u *str, size_t slen
from = (char *)str; from = (char *)str;
fromlen = slen; fromlen = slen;
for (;; ) { for (;;) {
if (len == 0 || ICONV_ERRNO == ICONV_E2BIG) { if (len == 0 || ICONV_ERRNO == ICONV_E2BIG) {
// Allocate enough room for most conversions. When re-allocating // Allocate enough room for most conversions. When re-allocating
// increase the buffer size. // increase the buffer size.

View File

@ -505,7 +505,7 @@ bool mf_release_all(void)
// Flush as many blocks as possible, only if there is a swapfile. // Flush as many blocks as possible, only if there is a swapfile.
if (mfp->mf_fd >= 0) { if (mfp->mf_fd >= 0) {
for (bhdr_T *hp = mfp->mf_used_last; hp != NULL; ) { for (bhdr_T *hp = mfp->mf_used_last; hp != NULL;) {
if (!(hp->bh_flags & BH_LOCKED) if (!(hp->bh_flags & BH_LOCKED)
&& (!(hp->bh_flags & BH_DIRTY) && (!(hp->bh_flags & BH_DIRTY)
|| mf_write(mfp, hp) != FAIL)) { || mf_write(mfp, hp) != FAIL)) {

View File

@ -407,7 +407,7 @@ void ml_setname(buf_T *buf)
*/ */
dirp = p_dir; dirp = p_dir;
bool found_existing_dir = false; bool found_existing_dir = false;
for (;; ) { for (;;) {
if (*dirp == NUL) { // tried all directories, fail if (*dirp == NUL) { // tried all directories, fail
break; break;
} }
@ -504,7 +504,7 @@ void ml_open_file(buf_T *buf)
*/ */
dirp = p_dir; dirp = p_dir;
bool found_existing_dir = false; bool found_existing_dir = false;
for (;; ) { for (;;) {
if (*dirp == NUL) { if (*dirp == NUL) {
break; break;
} }
@ -1236,7 +1236,7 @@ void ml_recover(bool checkext)
} else if (error) { } else if (error) {
++no_wait_return; ++no_wait_return;
msg(">>>>>>>>>>>>>"); msg(">>>>>>>>>>>>>");
emsg(_( "E312: Errors detected while recovering; look for lines starting with ???")); emsg(_("E312: Errors detected while recovering; look for lines starting with ???"));
--no_wait_return; --no_wait_return;
msg(_("See \":help E312\" for more information.")); msg(_("See \":help E312\" for more information."));
msg(">>>>>>>>>>>>>"); msg(">>>>>>>>>>>>>");
@ -2349,7 +2349,7 @@ static int ml_append_int(buf_T *buf, linenr_T lnum, char_u *line, colnr_T len, b
* move some of the pointer into the new block * move some of the pointer into the new block
* prepare for updating the parent block * prepare for updating the parent block
*/ */
for (;; ) { // do this twice when splitting block 1 for (;;) { // do this twice when splitting block 1
hp_new = ml_new_ptr(mfp); hp_new = ml_new_ptr(mfp);
if (hp_new == NULL) { // TODO: try to fix tree if (hp_new == NULL) { // TODO: try to fix tree
return FAIL; return FAIL;
@ -2733,7 +2733,7 @@ linenr_T ml_firstmarked(void)
* The search starts with lowest_marked line. This is the last line where * The search starts with lowest_marked line. This is the last line where
* a mark was found, adjusted by inserting/deleting lines. * a mark was found, adjusted by inserting/deleting lines.
*/ */
for (lnum = lowest_marked; lnum <= curbuf->b_ml.ml_line_count; ) { for (lnum = lowest_marked; lnum <= curbuf->b_ml.ml_line_count;) {
/* /*
* Find the data block containing the line. * Find the data block containing the line.
* This also fills the stack with the blocks from the root to the data * This also fills the stack with the blocks from the root to the data
@ -2775,7 +2775,7 @@ void ml_clearmarked(void)
/* /*
* The search starts with line lowest_marked. * The search starts with line lowest_marked.
*/ */
for (lnum = lowest_marked; lnum <= curbuf->b_ml.ml_line_count; ) { for (lnum = lowest_marked; lnum <= curbuf->b_ml.ml_line_count;) {
/* /*
* Find the data block containing the line. * Find the data block containing the line.
* This also fills the stack with the blocks from the root to the data * This also fills the stack with the blocks from the root to the data
@ -3034,7 +3034,7 @@ static bhdr_T *ml_find_line(buf_T *buf, linenr_T lnum, int action)
/* /*
* search downwards in the tree until a data block is found * search downwards in the tree until a data block is found
*/ */
for (;; ) { for (;;) {
if ((hp = mf_get(mfp, bnum, page_count)) == NULL) { if ((hp = mf_get(mfp, bnum, page_count)) == NULL) {
goto error_noblock; goto error_noblock;
} }
@ -3211,7 +3211,7 @@ int resolve_symlink(const char_u *fname, char_u *buf)
// Put the result so far in tmp[], starting with the original name. // Put the result so far in tmp[], starting with the original name.
STRLCPY(tmp, fname, MAXPATHL); STRLCPY(tmp, fname, MAXPATHL);
for (;; ) { for (;;) {
// Limit symlink depth to 100, catch recursive loops. // Limit symlink depth to 100, catch recursive loops.
if (++depth == 100) { if (++depth == 100) {
semsg(_("E773: Symlink loop for \"%s\""), fname); semsg(_("E773: Symlink loop for \"%s\""), fname);
@ -3481,7 +3481,7 @@ static char *findswapname(buf_T *buf, char **dirp, char *old_fname, bool *found_
fname = (char *)makeswapname((char_u *)buf_fname, buf->b_ffname, buf, fname = (char *)makeswapname((char_u *)buf_fname, buf->b_ffname, buf,
(char_u *)dir_name); (char_u *)dir_name);
for (;; ) { for (;;) {
if (fname == NULL) { // must be out of memory if (fname == NULL) { // must be out of memory
break; break;
} }

View File

@ -672,7 +672,7 @@ void free_all_mem(void)
first_tabpage = NULL; first_tabpage = NULL;
// message history // message history
for (;; ) { for (;;) {
if (delete_first_msg() == FAIL) { if (delete_first_msg() == FAIL) {
break; break;
} }
@ -687,7 +687,7 @@ void free_all_mem(void)
// Must be after eval_clear to avoid it trying to access b:changedtick after // Must be after eval_clear to avoid it trying to access b:changedtick after
// freeing it. // freeing it.
p_acd = false; p_acd = false;
for (buf = firstbuf; buf != NULL; ) { for (buf = firstbuf; buf != NULL;) {
bufref_T bufref; bufref_T bufref;
set_bufref(&bufref, buf); set_bufref(&bufref, buf);
nextbuf = buf->b_next; nextbuf = buf->b_next;

View File

@ -80,7 +80,7 @@ void ex_menu(exarg_T *eap)
modes = get_menu_cmd_modes((char *)eap->cmd, eap->forceit, &noremap, &unmenu); modes = get_menu_cmd_modes((char *)eap->cmd, eap->forceit, &noremap, &unmenu);
arg = eap->arg; arg = eap->arg;
for (;; ) { for (;;) {
if (STRNCMP(arg, "<script>", 8) == 0) { if (STRNCMP(arg, "<script>", 8) == 0) {
noremap = REMAP_SCRIPT; noremap = REMAP_SCRIPT;
arg = skipwhite(arg + 8); arg = skipwhite(arg + 8);
@ -449,7 +449,7 @@ static int add_menu_path(const char_u *const menu_path, vimmenu_T *menuarg,
} }
if (c != 0) { if (c != 0) {
menu->strings[i] = xmalloc(STRLEN(call_data) + 5 ); menu->strings[i] = xmalloc(STRLEN(call_data) + 5);
menu->strings[i][0] = c; menu->strings[i][0] = c;
if (d == 0) { if (d == 0) {
STRCPY(menu->strings[i] + 1, call_data); STRCPY(menu->strings[i] + 1, call_data);
@ -1315,7 +1315,7 @@ static char_u *menu_text(const char_u *str, int *mnemonic, char_u **actext)
} }
// Find mnemonic characters "&a" and reduce "&&" to "&". // Find mnemonic characters "&a" and reduce "&&" to "&".
for (p = text; p != NULL; ) { for (p = text; p != NULL;) {
p = vim_strchr(p, '&'); p = vim_strchr(p, '&');
if (p != NULL) { if (p != NULL) {
if (p[1] == NUL) { // trailing "&" if (p[1] == NUL) { // trailing "&"

View File

@ -401,7 +401,7 @@ void trunc_string(char_u *s, char_u *buf, int room_in, int buflen)
} }
len += n; len += n;
buf[e] = s[e]; buf[e] = s[e];
for (n = utfc_ptr2len(s + e); --n > 0; ) { for (n = utfc_ptr2len(s + e); --n > 0;) {
if (++e == buflen) { if (++e == buflen) {
break; break;
} }
@ -883,7 +883,7 @@ char_u *msg_may_trunc(int force, char_u *s)
return s; return s;
} }
int n; int n;
for (n = 0; size >= room; ) { for (n = 0; size >= room;) {
size -= utf_ptr2cells(s + n); size -= utf_ptr2cells(s + n);
n += utfc_ptr2len(s + n); n += utfc_ptr2len(s + n);
} }
@ -2549,7 +2549,7 @@ static msgchunk_T *disp_sb_line(int row, msgchunk_T *smp)
msgchunk_T *mp = smp; msgchunk_T *mp = smp;
char_u *p; char_u *p;
for (;; ) { for (;;) {
msg_row = row; msg_row = row;
msg_col = mp->sb_msg_col; msg_col = mp->sb_msg_col;
p = mp->sb_text; p = mp->sb_text;
@ -2688,7 +2688,7 @@ static int do_more_prompt(int typed_char)
if (typed_char == NUL) { if (typed_char == NUL) {
msg_moremsg(FALSE); msg_moremsg(FALSE);
} }
for (;; ) { for (;;) {
/* /*
* Get a typed character directly from the user. * Get a typed character directly from the user.
*/ */
@ -3436,7 +3436,7 @@ int do_dialog(int type, char_u *title, char_u *message, char_u *buttons, int dfl
++no_wait_return; ++no_wait_return;
hotkeys = msg_show_console_dialog(message, buttons, dfltbutton); hotkeys = msg_show_console_dialog(message, buttons, dfltbutton);
for (;; ) { for (;;) {
// Get a typed character directly from the user. // Get a typed character directly from the user.
c = get_keystroke(NULL); c = get_keystroke(NULL);
switch (c) { switch (c) {

View File

@ -99,7 +99,7 @@ int get_leader_len(char_u *line, char_u **flags, bool backward, bool include_spa
* scan through the 'comments' option for a match * scan through the 'comments' option for a match
*/ */
found_one = FALSE; found_one = FALSE;
for (list = curbuf->b_p_com; *list; ) { for (list = curbuf->b_p_com; *list;) {
// Get one option part into part_buf[]. Advance "list" to next // Get one option part into part_buf[]. Advance "list" to next
// one. Put "string" at start of string. // one. Put "string" at start of string.
if (!got_com && flags != NULL) { if (!got_com && flags != NULL) {
@ -244,7 +244,7 @@ int get_last_leader_offset(char_u *line, char_u **flags)
* scan through the 'comments' option for a match * scan through the 'comments' option for a match
*/ */
found_one = FALSE; found_one = FALSE;
for (list = curbuf->b_p_com; *list; ) { for (list = curbuf->b_p_com; *list;) {
char_u *flags_save = list; char_u *flags_save = list;
/* /*
@ -340,7 +340,7 @@ int get_last_leader_offset(char_u *line, char_u **flags)
} }
len1 = (int)STRLEN(com_leader); len1 = (int)STRLEN(com_leader);
for (list = curbuf->b_p_com; *list; ) { for (list = curbuf->b_p_com; *list;) {
char_u *flags_save = list; char_u *flags_save = list;
(void)copy_option_part(&list, part_buf2, COM_MAX_LEN, ","); (void)copy_option_part(&list, part_buf2, COM_MAX_LEN, ",");
@ -359,7 +359,7 @@ int get_last_leader_offset(char_u *line, char_u **flags)
// Now we have to verify whether string ends with a substring // Now we have to verify whether string ends with a substring
// beginning the com_leader. // beginning the com_leader.
for (off = (len2 > i ? i : len2); off > 0 && off + len1 > len2; ) { for (off = (len2 > i ? i : len2); off > 0 && off + len1 > len2;) {
--off; --off;
if (!STRNCMP(string + off, com_leader, len2 - off)) { if (!STRNCMP(string + off, com_leader, len2 - off)) {
if (i - off < lower_check_bound) { if (i - off < lower_check_bound) {
@ -492,7 +492,7 @@ int get_keystroke(MultiQueue *events)
int waited = 0; int waited = 0;
mapped_ctrl_c = 0; // mappings are not used here mapped_ctrl_c = 0; // mappings are not used here
for (;; ) { for (;;) {
// flush output before waiting // flush output before waiting
ui_flush(); ui_flush();
// Leave some room for check_termcode() to insert a key code into (max // Leave some room for check_termcode() to insert a key code into (max
@ -580,7 +580,7 @@ int get_number(int colon, int *mouse_used)
} }
no_mapping++; no_mapping++;
for (;; ) { for (;;) {
ui_cursor_goto(msg_row, msg_col); ui_cursor_goto(msg_row, msg_col);
c = safe_vgetc(); c = safe_vgetc();
if (ascii_isdigit(c)) { if (ascii_isdigit(c)) {

View File

@ -245,7 +245,7 @@ retnomove:
// Scroll by however many rows outside the window we are. // Scroll by however many rows outside the window we are.
if (row < 0) { if (row < 0) {
count = 0; count = 0;
for (first = true; curwin->w_topline > 1; ) { for (first = true; curwin->w_topline > 1;) {
if (curwin->w_topfill < win_get_fill(curwin, curwin->w_topline)) { if (curwin->w_topfill < win_get_fill(curwin, curwin->w_topline)) {
count++; count++;
} else { } else {
@ -270,7 +270,7 @@ retnomove:
row = 0; row = 0;
} else if (row >= curwin->w_height_inner) { } else if (row >= curwin->w_height_inner) {
count = 0; count = 0;
for (first = true; curwin->w_topline < curbuf->b_ml.ml_line_count; ) { for (first = true; curwin->w_topline < curbuf->b_ml.ml_line_count;) {
if (curwin->w_topfill > 0) { if (curwin->w_topfill > 0) {
++count; ++count;
} else { } else {
@ -448,7 +448,7 @@ win_T *mouse_find_win(int *gridp, int *rowp, int *colp)
fp = topframe; fp = topframe;
*rowp -= firstwin->w_winrow; *rowp -= firstwin->w_winrow;
for (;; ) { for (;;) {
if (fp->fr_layout == FR_LEAF) { if (fp->fr_layout == FR_LEAF) {
break; break;
} }

View File

@ -382,8 +382,8 @@ static bool check_top_offset(void)
topline_back(curwin, &loff); topline_back(curwin, &loff);
// Stop when included a line above the window. // Stop when included a line above the window.
if (loff.lnum < curwin->w_topline if (loff.lnum < curwin->w_topline
|| (loff.lnum == curwin->w_topline && || (loff.lnum == curwin->w_topline
loff.fill > 0)) { && loff.fill > 0)) {
break; break;
} }
n += loff.height; n += loff.height;
@ -1661,7 +1661,7 @@ void scroll_cursor_bot(int min_scroll, int set_topbot)
boff.fill = curwin->w_topfill; boff.fill = curwin->w_topfill;
boff.lnum = curwin->w_topline - 1; boff.lnum = curwin->w_topline - 1;
int i; int i;
for (i = 0; i < scrolled && boff.lnum < curwin->w_botline; ) { for (i = 0; i < scrolled && boff.lnum < curwin->w_botline;) {
botline_forw(curwin, &boff); botline_forw(curwin, &boff);
i += boff.height; i += boff.height;
++line_count; ++line_count;

View File

@ -570,8 +570,8 @@ static bool normal_need_additional_char(NormalState *s)
// //
// TODO(tarruda): Visual state needs to be refactored into a // TODO(tarruda): Visual state needs to be refactored into a
// separate state that "inherits" from normal state. // separate state that "inherits" from normal state.
|| ((cmdchar == 'a' || cmdchar == 'i') && || ((cmdchar == 'a' || cmdchar == 'i')
(pending_op || VIsual_active))); && (pending_op || VIsual_active)));
} }
static bool normal_need_redraw_mode_message(NormalState *s) static bool normal_need_redraw_mode_message(NormalState *s)
@ -2283,7 +2283,7 @@ bool do_mouse(oparg_T *oap, int c, int dir, long count, bool fixindent)
save_cursor = curwin->w_cursor; save_cursor = curwin->w_cursor;
for (;; ) { for (;;) {
which_button = get_mouse_button(KEY2TERMCAP1(c), &is_click, &is_drag); which_button = get_mouse_button(KEY2TERMCAP1(c), &is_click, &is_drag);
if (is_drag) { if (is_drag) {
/* If the next character is the same mouse event then use that /* If the next character is the same mouse event then use that
@ -3928,7 +3928,7 @@ bool find_decl(char_u *ptr, size_t len, bool locally, bool thisblock, int flags_
// Search forward for the identifier, ignore comment lines. // Search forward for the identifier, ignore comment lines.
clearpos(&found_pos); clearpos(&found_pos);
for (;; ) { for (;;) {
t = searchit(curwin, curbuf, &curwin->w_cursor, NULL, FORWARD, t = searchit(curwin, curbuf, &curwin->w_cursor, NULL, FORWARD,
pat, 1L, searchflags, RE_LAST, NULL); pat, 1L, searchflags, RE_LAST, NULL);
if (curwin->w_cursor.lnum >= old_pos.lnum) { if (curwin->w_cursor.lnum >= old_pos.lnum) {
@ -4307,7 +4307,7 @@ static void nv_zet(cmdarg_T *cap)
return; return;
} }
n = nchar - '0'; n = nchar - '0';
for (;; ) { for (;;) {
no_mapping++; no_mapping++;
nchar = plain_vgetc(); nchar = plain_vgetc();
LANGMAP_ADJUST(nchar, true); LANGMAP_ADJUST(nchar, true);
@ -5341,8 +5341,8 @@ static void nv_right(cmdarg_T *cap)
for (n = cap->count1; n > 0; --n) { for (n = cap->count1; n > 0; --n) {
if ((!PAST_LINE && oneright() == false) if ((!PAST_LINE && oneright() == false)
|| (PAST_LINE && || (PAST_LINE
*get_cursor_pos_ptr() == NUL)) { && *get_cursor_pos_ptr() == NUL)) {
// <Space> wraps to next line if 'whichwrap' has 's'. // <Space> wraps to next line if 'whichwrap' has 's'.
// 'l' wraps to next line if 'whichwrap' has 'l'. // 'l' wraps to next line if 'whichwrap' has 'l'.
// CURS_RIGHT wraps to next line if 'whichwrap' has '>'. // CURS_RIGHT wraps to next line if 'whichwrap' has '>'.
@ -5838,7 +5838,7 @@ static void nv_brackets(cmdarg_T *cap)
pos = NULL; pos = NULL;
} }
while (n > 0) { while (n > 0) {
for (;; ) { for (;;) {
if ((findc == '{' ? dec_cursor() : inc_cursor()) < 0) { if ((findc == '{' ? dec_cursor() : inc_cursor()) < 0) {
// if not found anything, that's an error // if not found anything, that's an error
if (pos == NULL) { if (pos == NULL) {
@ -7688,8 +7688,8 @@ static void adjust_cursor(oparg_T *oap)
// - 'virtualedit' is not "all" and not "onemore". // - 'virtualedit' is not "all" and not "onemore".
if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL if (curwin->w_cursor.col > 0 && gchar_cursor() == NUL
&& (!VIsual_active || *p_sel == 'o') && (!VIsual_active || *p_sel == 'o')
&& !virtual_active() && && !virtual_active()
(ve_flags & VE_ONEMORE) == 0) { && (ve_flags & VE_ONEMORE) == 0) {
curwin->w_cursor.col--; curwin->w_cursor.col--;
// prevent cursor from moving on the trail byte // prevent cursor from moving on the trail byte
mb_adjust_cursor(); mb_adjust_cursor();

View File

@ -378,7 +378,7 @@ static void shift_block(oparg_T *oap, int amount)
bd.startspaces = 0; bd.startspaces = 0;
} }
} }
for (; ascii_iswhite(*bd.textstart); ) { for (; ascii_iswhite(*bd.textstart);) {
// TODO: is passing bd.textstart for start of the line OK? // TODO: is passing bd.textstart for start of the line OK?
incr = lbr_chartabsize_adv(bd.textstart, &bd.textstart, (bd.start_vcol)); incr = lbr_chartabsize_adv(bd.textstart, &bd.textstart, (bd.start_vcol));
total += incr; total += incr;
@ -2037,7 +2037,7 @@ void op_tilde(oparg_T *oap)
did_change = swapchars(oap->op_type, &pos, did_change = swapchars(oap->op_type, &pos,
oap->end.col - pos.col + 1); oap->end.col - pos.col + 1);
} else { } else {
for (;; ) { for (;;) {
did_change |= swapchars(oap->op_type, &pos, did_change |= swapchars(oap->op_type, &pos,
pos.lnum == oap->end.lnum ? oap->end.col + 1 : pos.lnum == oap->end.lnum ? oap->end.col + 1 :
(int)STRLEN(ml_get_pos(&pos))); (int)STRLEN(ml_get_pos(&pos)));
@ -2987,7 +2987,7 @@ void do_put(int regname, yankreg_T *reg, int dir, long count, int flags)
/* For the = register we need to split the string at NL /* For the = register we need to split the string at NL
* characters. * characters.
* Loop twice: count the number of lines and save them. */ * Loop twice: count the number of lines and save them. */
for (;; ) { for (;;) {
y_size = 0; y_size = 0;
ptr = insert_string; ptr = insert_string;
while (ptr != NULL) { while (ptr != NULL) {
@ -3204,7 +3204,7 @@ void do_put(int regname, yankreg_T *reg, int dir, long count, int flags)
// get the old line and advance to the position to insert at // get the old line and advance to the position to insert at
oldp = get_cursor_line_ptr(); oldp = get_cursor_line_ptr();
oldlen = STRLEN(oldp); oldlen = STRLEN(oldp);
for (ptr = oldp; vcol < col && *ptr; ) { for (ptr = oldp; vcol < col && *ptr;) {
// Count a tab for what it's worth (if list mode not on) // Count a tab for what it's worth (if list mode not on)
incr = lbr_chartabsize_adv(oldp, &ptr, vcol); incr = lbr_chartabsize_adv(oldp, &ptr, vcol);
vcol += incr; vcol += incr;
@ -3936,8 +3936,8 @@ int do_join(size_t count, int insert_space, int save_undo, int use_formatoptions
|| (utf_ptr2char(curr) < 0x100 && endcurr1 < 0x100)) || (utf_ptr2char(curr) < 0x100 && endcurr1 < 0x100))
&& (!has_format_option(FO_MBYTE_JOIN2) && (!has_format_option(FO_MBYTE_JOIN2)
|| (utf_ptr2char(curr) < 0x100 && !utf_eat_space(endcurr1)) || (utf_ptr2char(curr) < 0x100 && !utf_eat_space(endcurr1))
|| (endcurr1 < 0x100 && || (endcurr1 < 0x100
!utf_eat_space(utf_ptr2char(curr))))) { && !utf_eat_space(utf_ptr2char(curr))))) {
// don't add a space if the line is ending in a space // don't add a space if the line is ending in a space
if (endcurr1 == ' ') { if (endcurr1 == ' ') {
endcurr1 = endcurr2; endcurr1 = endcurr2;
@ -5631,7 +5631,7 @@ static varnumber_T line_count_info(char_u *line, varnumber_T *wc, varnumber_T *c
varnumber_T chars = 0; varnumber_T chars = 0;
int is_word = 0; int is_word = 0;
for (i = 0; i < limit && line[i] != NUL; ) { for (i = 0; i < limit && line[i] != NUL;) {
if (is_word) { if (is_word) {
if (ascii_isspace(line[i])) { if (ascii_isspace(line[i])) {
words++; words++;

View File

@ -1233,7 +1233,7 @@ int do_set(char_u *arg, int opt_flags)
} }
errmsg = set_bool_option(opt_idx, varp, (int)value, errmsg = set_bool_option(opt_idx, varp, (int)value,
opt_flags); opt_flags);
} else { // Numeric or string. } else { // Numeric or string.
if (vim_strchr((const char_u *)"=:&<", nextchar) == NULL if (vim_strchr((const char_u *)"=:&<", nextchar) == NULL
|| prefix != 1) { || prefix != 1) {
@ -2315,8 +2315,8 @@ static bool valid_spellfile(const char_u *val)
/// @param opt_flags OPT_LOCAL and/or OPT_GLOBAL /// @param opt_flags OPT_LOCAL and/or OPT_GLOBAL
/// @param value_checked value was checked to be safe, no need to set P_INSECURE /// @param value_checked value was checked to be safe, no need to set P_INSECURE
static char *did_set_string_option(int opt_idx, char_u **varp, bool new_value_alloced, static char *did_set_string_option(int opt_idx, char_u **varp, bool new_value_alloced,
char_u *oldval, char *errbuf, size_t errbuflen, char_u *oldval, char *errbuf, size_t errbuflen, int opt_flags,
int opt_flags, int *value_checked) int *value_checked)
{ {
char *errmsg = NULL; char *errmsg = NULL;
char_u *s, *p; char_u *s, *p;
@ -2625,7 +2625,7 @@ ambw_end:
} }
} }
} else if (gvarp == &p_com) { // 'comments' } else if (gvarp == &p_com) { // 'comments'
for (s = *varp; *s; ) { for (s = *varp; *s;) {
while (*s && *s != ':') { while (*s && *s != ':') {
if (vim_strchr((char_u *)COM_ALL, *s) == NULL if (vim_strchr((char_u *)COM_ALL, *s) == NULL
&& !ascii_isdigit(*s) && *s != '-') { && !ascii_isdigit(*s) && *s != '-') {
@ -2690,7 +2690,7 @@ ambw_end:
// there would be a disconnect between the check for P_ALLOCED at the start // there would be a disconnect between the check for P_ALLOCED at the start
// of the function and the set of P_ALLOCED at the end of the function. // of the function and the set of P_ALLOCED at the end of the function.
free_oldval = (options[opt_idx].flags & P_ALLOCED); free_oldval = (options[opt_idx].flags & P_ALLOCED);
for (s = p_shada; *s; ) { for (s = p_shada; *s;) {
// Check it's a valid character // Check it's a valid character
if (vim_strchr((char_u *)"!\"%'/:<@cfhnrs", *s) == NULL) { if (vim_strchr((char_u *)"!\"%'/:<@cfhnrs", *s) == NULL) {
errmsg = illegal_char(errbuf, errbuflen, *s); errmsg = illegal_char(errbuf, errbuflen, *s);
@ -2735,7 +2735,7 @@ ambw_end:
errmsg = N_("E528: Must specify a ' value"); errmsg = N_("E528: Must specify a ' value");
} }
} else if (gvarp == &p_sbr) { // 'showbreak' } else if (gvarp == &p_sbr) { // 'showbreak'
for (s = *varp; *s; ) { for (s = *varp; *s;) {
if (ptr2cells(s) != 1) { if (ptr2cells(s) != 1) {
errmsg = N_("E595: 'showbreak' contains unprintable or wide character"); errmsg = N_("E595: 'showbreak' contains unprintable or wide character");
} }
@ -2879,7 +2879,7 @@ ambw_end:
} }
} else if (gvarp == &p_cpt) { } else if (gvarp == &p_cpt) {
// check if it is a valid value for 'complete' -- Acevedo // check if it is a valid value for 'complete' -- Acevedo
for (s = *varp; *s; ) { for (s = *varp; *s;) {
while (*s == ',' || *s == ' ') { while (*s == ',' || *s == ' ') {
s++; s++;
} }
@ -3355,7 +3355,7 @@ char *check_colorcolumn(win_T *wp)
return NULL; // buffer was closed return NULL; // buffer was closed
} }
for (s = wp->w_p_cc; *s != NUL && count < 255; ) { for (s = wp->w_p_cc; *s != NUL && count < 255;) {
if (*s == '-' || *s == '+') { if (*s == '-' || *s == '+') {
// -N and +N: add to 'textwidth' // -N and +N: add to 'textwidth'
col = (*s == '-') ? -1 : 1; col = (*s == '-') ? -1 : 1;
@ -6804,7 +6804,7 @@ static void langmap_set(void)
ga_clear(&langmap_mapga); // clear the previous map first ga_clear(&langmap_mapga); // clear the previous map first
langmap_init(); // back to one-to-one map langmap_init(); // back to one-to-one map
for (p = p_langmap; p[0] != NUL; ) { for (p = p_langmap; p[0] != NUL;) {
for (p2 = p; p2[0] != NUL && p2[0] != ',' && p2[0] != ';'; for (p2 = p; p2[0] != NUL && p2[0] != ',' && p2[0] != ';';
MB_PTR_ADV(p2)) { MB_PTR_ADV(p2)) {
if (p2[0] == '\\' && p2[1] != NUL) { if (p2[0] == '\\' && p2[1] != NUL) {

View File

@ -369,7 +369,7 @@ static bool is_executable_in_path(const char *name, char **abspath)
// is an executable file. // is an executable file.
char *p = path; char *p = path;
bool rv = false; bool rv = false;
for (;; ) { for (;;) {
char *e = xstrchrnul(p, ENV_SEPCHAR); char *e = xstrchrnul(p, ENV_SEPCHAR);
// Combine the $PATH segment with `name`. // Combine the $PATH segment with `name`.

View File

@ -146,7 +146,7 @@ char *stdpaths_user_data_subpath(const char *fname, const size_t trailing_pathse
const size_t numcommas = (escape_commas ? memcnt(ret, ',', len) : 0); const size_t numcommas = (escape_commas ? memcnt(ret, ',', len) : 0);
if (numcommas || trailing_pathseps) { if (numcommas || trailing_pathseps) {
ret = xrealloc(ret, len + trailing_pathseps + numcommas + 1); ret = xrealloc(ret, len + trailing_pathseps + numcommas + 1);
for (size_t i = 0 ; i < len + numcommas ; i++) { for (size_t i = 0; i < len + numcommas; i++) {
if (ret[i] == ',') { if (ret[i] == ',') {
memmove(ret + i + 1, ret + i, len - i + numcommas); memmove(ret + i + 1, ret + i, len - i + numcommas);
ret[i] = '\\'; ret[i] = '\\';

View File

@ -1079,7 +1079,7 @@ const char *gettail_dir(const char *const fname)
const char *next_dir_end = fname; const char *next_dir_end = fname;
bool look_for_sep = true; bool look_for_sep = true;
for (const char *p = fname; *p != NUL; ) { for (const char *p = fname; *p != NUL;) {
if (vim_ispathsep(*p)) { if (vim_ispathsep(*p)) {
if (look_for_sep) { if (look_for_sep) {
next_dir_end = p; next_dir_end = p;
@ -1289,8 +1289,8 @@ int gen_expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***fil
&& !path_is_absolute(p) && !path_is_absolute(p)
&& !(p[0] == '.' && !(p[0] == '.'
&& (vim_ispathsep(p[1]) && (vim_ispathsep(p[1])
|| (p[1] == '.' && || (p[1] == '.'
vim_ispathsep(p[2]))))) { && vim_ispathsep(p[2]))))) {
/* :find completion where 'path' is used. /* :find completion where 'path' is used.
* Recursiveness is OK here. */ * Recursiveness is OK here. */
recursive = false; recursive = false;
@ -1505,7 +1505,7 @@ void simplify_filename(char_u *filename)
if (vim_ispathsep(*p)) { if (vim_ispathsep(*p)) {
relative = false; relative = false;
do{ do {
++p; ++p;
} }
while (vim_ispathsep(*p)); while (vim_ispathsep(*p));
@ -1517,8 +1517,8 @@ void simplify_filename(char_u *filename)
* or "p" is at the "start" of the (absolute or relative) path name. */ * or "p" is at the "start" of the (absolute or relative) path name. */
if (vim_ispathsep(*p)) { if (vim_ispathsep(*p)) {
STRMOVE(p, p + 1); // remove duplicate "/" STRMOVE(p, p + 1); // remove duplicate "/"
} else if (p[0] == '.' && } else if (p[0] == '.'
(vim_ispathsep(p[1]) || p[1] == NUL)) { && (vim_ispathsep(p[1]) || p[1] == NUL)) {
if (p == start && relative) { if (p == start && relative) {
p += 1 + (p[1] != NUL); // keep single "." or leading "./" p += 1 + (p[1] != NUL); // keep single "." or leading "./"
} else { } else {
@ -2198,7 +2198,7 @@ int match_suffix(char_u *fname)
size_t fnamelen = STRLEN(fname); size_t fnamelen = STRLEN(fname);
size_t setsuflen = 0; size_t setsuflen = 0;
for (char_u *setsuf = p_su; *setsuf; ) { for (char_u *setsuf = p_su; *setsuf;) {
setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,"); setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,");
if (setsuflen == 0) { if (setsuflen == 0) {
char_u *tail = path_tail(fname); char_u *tail = path_tail(fname);

View File

@ -539,7 +539,7 @@ static size_t efm_regpat_bufsz(char_u *efm)
size_t sz; size_t sz;
sz = (FMT_PATTERNS * 3) + (STRLEN(efm) << 2); sz = (FMT_PATTERNS * 3) + (STRLEN(efm) << 2);
for (int i = FMT_PATTERNS - 1; i >= 0; ) { for (int i = FMT_PATTERNS - 1; i >= 0;) {
sz += STRLEN(fmt_pat[i--].pattern); sz += STRLEN(fmt_pat[i--].pattern);
} }
#ifdef BACKSLASH_IN_FILENAME #ifdef BACKSLASH_IN_FILENAME
@ -2028,7 +2028,7 @@ void copy_loclist_stack(win_T *from, win_T *to)
/// Get buffer number for file "directory/fname". /// Get buffer number for file "directory/fname".
/// Also sets the b_has_qf_entry flag. /// Also sets the b_has_qf_entry flag.
static int qf_get_fnum(qf_list_T *qfl, char_u *directory, char_u *fname ) static int qf_get_fnum(qf_list_T *qfl, char_u *directory, char_u *fname)
{ {
char_u *ptr = NULL; char_u *ptr = NULL;
char_u *bufname; char_u *bufname;
@ -4380,7 +4380,7 @@ static char_u *get_mef_name(void)
} }
// Keep trying until the name doesn't exist yet. // Keep trying until the name doesn't exist yet.
for (;; ) { for (;;) {
if (start == -1) { if (start == -1) {
start = (int)os_get_pid(); start = (int)os_get_pid();
} else { } else {

View File

@ -479,7 +479,7 @@ RuntimeSearchPath runtime_search_path_build(void)
CharVec after_path = KV_INITIAL_VALUE; CharVec after_path = KV_INITIAL_VALUE;
static char_u buf[MAXPATHL]; static char_u buf[MAXPATHL];
for (char *entry = (char *)p_pp; *entry != NUL; ) { for (char *entry = (char *)p_pp; *entry != NUL;) {
char *cur_entry = entry; char *cur_entry = entry;
copy_option_part((char_u **)&entry, buf, MAXPATHL, ","); copy_option_part((char_u **)&entry, buf, MAXPATHL, ",");
@ -491,7 +491,7 @@ RuntimeSearchPath runtime_search_path_build(void)
char *rtp_entry; char *rtp_entry;
for (rtp_entry = (char *)p_rtp; *rtp_entry != NUL; ) { for (rtp_entry = (char *)p_rtp; *rtp_entry != NUL;) {
char *cur_entry = rtp_entry; char *cur_entry = rtp_entry;
copy_option_part((char_u **)&rtp_entry, buf, MAXPATHL, ","); copy_option_part((char_u **)&rtp_entry, buf, MAXPATHL, ",");
size_t buflen = STRLEN(buf); size_t buflen = STRLEN(buf);
@ -663,7 +663,7 @@ static int add_pack_dir_to_rtp(char_u *fname, bool is_pack)
} }
const char *insp = NULL; const char *insp = NULL;
const char *after_insp = NULL; const char *after_insp = NULL;
for (const char *entry = (const char *)p_rtp; *entry != NUL; ) { for (const char *entry = (const char *)p_rtp; *entry != NUL;) {
const char *cur_entry = entry; const char *cur_entry = entry;
copy_option_part((char_u **)&entry, buf, MAXPATHL, ","); copy_option_part((char_u **)&entry, buf, MAXPATHL, ",");

View File

@ -1084,7 +1084,7 @@ static void win_update(win_T *wp, Providers *providers)
*/ */
bot_start = 0; bot_start = 0;
idx = 0; idx = 0;
for (;; ) { for (;;) {
wp->w_lines[idx] = wp->w_lines[j]; wp->w_lines[idx] = wp->w_lines[j];
/* stop at line that didn't fit, unless it is still /* stop at line that didn't fit, unless it is still
* valid (no lines deleted) */ * valid (no lines deleted) */
@ -1359,7 +1359,7 @@ static void win_update(win_T *wp, Providers *providers)
win_check_ns_hl(wp); win_check_ns_hl(wp);
for (;; ) { for (;;) {
/* stop updating when reached the end of the window (check for _past_ /* stop updating when reached the end of the window (check for _past_
* the end of the window is at the end of the loop) */ * the end of the window is at the end of the loop) */
if (row == wp->w_grid.Rows) { if (row == wp->w_grid.Rows) {
@ -1508,7 +1508,7 @@ static void win_update(win_T *wp, Providers *providers)
int x = row + new_rows; int x = row + new_rows;
// move entries in w_lines[] upwards // move entries in w_lines[] upwards
for (;; ) { for (;;) {
// stop at last valid entry in w_lines[] // stop at last valid entry in w_lines[]
if (i >= wp->w_lines_valid) { if (i >= wp->w_lines_valid) {
wp->w_lines_valid = j; wp->w_lines_valid = j;
@ -2707,7 +2707,7 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool noc
int sign_idx = 0; int sign_idx = 0;
// Repeat for the whole displayed line. // Repeat for the whole displayed line.
for (;; ) { for (;;) {
int has_match_conc = 0; ///< match wants to conceal int has_match_conc = 0; ///< match wants to conceal
bool did_decrement_ptr = false; bool did_decrement_ptr = false;
@ -4413,8 +4413,8 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, bool noc
|| filler_todo > 0 || filler_todo > 0
|| (wp->w_p_list && wp->w_p_lcs_chars.eol != NUL || (wp->w_p_list && wp->w_p_lcs_chars.eol != NUL
&& p_extra != at_end_str) && p_extra != at_end_str)
|| (n_extra != 0 && || (n_extra != 0
(c_extra != NUL || *p_extra != NUL)))) { && (c_extra != NUL || *p_extra != NUL)))) {
bool wrap = wp->w_p_wrap // Wrapping enabled. bool wrap = wp->w_p_wrap // Wrapping enabled.
&& filler_todo <= 0 // Not drawing diff filler lines. && filler_todo <= 0 // Not drawing diff filler lines.
&& lcs_eol_one != -1 // Haven't printed the lcs_eol character. && lcs_eol_one != -1 // Haven't printed the lcs_eol character.
@ -5011,8 +5011,8 @@ static int skip_status_match_char(expand_T *xp, char_u *s)
if ((rem_backslash(s) && xp->xp_context != EXPAND_HELP) if ((rem_backslash(s) && xp->xp_context != EXPAND_HELP)
|| ((xp->xp_context == EXPAND_MENUS || ((xp->xp_context == EXPAND_MENUS
|| xp->xp_context == EXPAND_MENUNAMES) || xp->xp_context == EXPAND_MENUNAMES)
&& (s[0] == '\t' || && (s[0] == '\t'
(s[0] == '\\' && s[1] != NUL)))) { || (s[0] == '\\' && s[1] != NUL)))) {
#ifndef BACKSLASH_IN_FILENAME #ifndef BACKSLASH_IN_FILENAME
if (xp->xp_shell && csh_like_shell() && s[1] == '\\' && s[2] == '!') { if (xp->xp_shell && csh_like_shell() && s[1] == '\\' && s[2] == '!') {
return 2; return 2;
@ -6144,7 +6144,7 @@ static void next_search_hl(win_T *win, match_T *shl, linenr_T lnum, colnr_T minc
* or none is found in this line. * or none is found in this line.
*/ */
called_emsg = FALSE; called_emsg = FALSE;
for (;; ) { for (;;) {
// Stop searching after passing the time limit. // Stop searching after passing the time limit.
if (profile_passed_limit(shl->tm)) { if (profile_passed_limit(shl->tm)) {
shl->lnum = 0; // no match found in time shl->lnum = 0; // no match found in time

View File

@ -370,8 +370,8 @@ int ignorecase_opt(char_u *pat, int ic_in, int scs)
{ {
int ic = ic_in; int ic = ic_in;
if (ic && !no_smartcase && scs if (ic && !no_smartcase && scs
&& !(ctrl_x_mode_not_default() && && !(ctrl_x_mode_not_default()
curbuf->b_p_inf)) { && curbuf->b_p_inf)) {
ic = !pat_has_uppercase(pat); ic = !pat_has_uppercase(pat);
} }
no_smartcase = false; no_smartcase = false;
@ -757,7 +757,7 @@ int searchit(win_T *win, buf_T *buf, pos_T *pos, pos_T *end_pos, Direction dir,
* relative to the end of the match. * relative to the end of the match.
*/ */
match_ok = false; match_ok = false;
for (;; ) { for (;;) {
// Remember a position that is before the start // Remember a position that is before the start
// position, we use it if it's the last match in // position, we use it if it's the last match in
// the line. Always accept a position after // the line. Always accept a position after
@ -1105,7 +1105,7 @@ int do_search(oparg_T *oap, int dirc, int search_delim, char_u *pat, long count,
/* /*
* Repeat the search when pattern followed by ';', e.g. "/foo/;?bar". * Repeat the search when pattern followed by ';', e.g. "/foo/;?bar".
*/ */
for (;; ) { for (;;) {
bool show_top_bot_msg = false; bool show_top_bot_msg = false;
searchstr = pat; searchstr = pat;
@ -1465,7 +1465,7 @@ int search_for_exact_line(buf_T *buf, pos_T *pos, Direction dir, char_u *pat)
if (buf->b_ml.ml_line_count == 0) { if (buf->b_ml.ml_line_count == 0) {
return FAIL; return FAIL;
} }
for (;; ) { for (;;) {
pos->lnum += dir; pos->lnum += dir;
if (pos->lnum < 1) { if (pos->lnum < 1) {
if (p_ws) { if (p_ws) {
@ -1585,7 +1585,7 @@ int searchc(cmdarg_T *cap, int t_cmd)
len = (int)STRLEN(p); len = (int)STRLEN(p);
while (count--) { while (count--) {
for (;; ) { for (;;) {
if (dir > 0) { if (dir > 0) {
col += utfc_ptr2len(p + col); col += utfc_ptr2len(p + col);
if (col >= len) { if (col >= len) {
@ -1870,7 +1870,7 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
if (linep[pos.col] == NUL && pos.col) { if (linep[pos.col] == NUL && pos.col) {
--pos.col; --pos.col;
} }
for (;; ) { for (;;) {
initc = utf_ptr2char(linep + pos.col); initc = utf_ptr2char(linep + pos.col);
if (initc == NUL) { if (initc == NUL) {
break; break;
@ -1894,7 +1894,7 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
// Set "match_escaped" if there are an odd number of // Set "match_escaped" if there are an odd number of
// backslashes. // backslashes.
for (col = pos.col; check_prevcol(linep, col, '\\', &col); ) { for (col = pos.col; check_prevcol(linep, col, '\\', &col);) {
bslcnt++; bslcnt++;
} }
match_escaped = (bslcnt & 1); match_escaped = (bslcnt & 1);
@ -2278,7 +2278,7 @@ pos_T *findmatchlimit(oparg_T *oap, int initc, int flags, int64_t maxtravel)
int col, bslcnt = 0; int col, bslcnt = 0;
if (!cpo_bsl) { if (!cpo_bsl) {
for (col = pos.col; check_prevcol(linep, col, '\\', &col); ) { for (col = pos.col; check_prevcol(linep, col, '\\', &col);) {
bslcnt++; bslcnt++;
} }
} }
@ -2520,7 +2520,7 @@ int findsent(Direction dir, long count)
const int startlnum = pos.lnum; const int startlnum = pos.lnum;
const bool cpo_J = vim_strchr(p_cpo, CPO_ENDOFSENT) != NULL; const bool cpo_J = vim_strchr(p_cpo, CPO_ENDOFSENT) != NULL;
for (;; ) { // find end of sentence for (;;) { // find end of sentence
c = gchar_pos(&pos); c = gchar_pos(&pos);
if (c == NUL || (pos.col == 0 && startPS(pos.lnum, NUL, FALSE))) { if (c == NUL || (pos.col == 0 && startPS(pos.lnum, NUL, FALSE))) {
if (dir == BACKWARD && pos.lnum != startlnum) { if (dir == BACKWARD && pos.lnum != startlnum) {
@ -2530,7 +2530,7 @@ int findsent(Direction dir, long count)
} }
if (c == '.' || c == '!' || c == '?') { if (c == '.' || c == '!' || c == '?') {
tpos = pos; tpos = pos;
do{ do {
if ((c = inc(&tpos)) == -1) { if ((c = inc(&tpos)) == -1) {
break; break;
} }
@ -3004,7 +3004,7 @@ static void back_in_line(void)
int sclass; // starting class int sclass; // starting class
sclass = cls(); sclass = cls();
for (;; ) { for (;;) {
if (curwin->w_cursor.col == 0) { // stop at start of line if (curwin->w_cursor.col == 0) { // stop at start of line
break; break;
} }
@ -3527,7 +3527,7 @@ static bool in_html_tag(bool end_tag)
int lc = NUL; int lc = NUL;
pos_T pos; pos_T pos;
for (p = line + curwin->w_cursor.col; p > line; ) { for (p = line + curwin->w_cursor.col; p > line;) {
if (*p == '<') { // find '<' under/before cursor if (*p == '<') { // find '<' under/before cursor
break; break;
} }
@ -3555,7 +3555,7 @@ static bool in_html_tag(bool end_tag)
} }
// check that the matching '>' is not preceded by '/' // check that the matching '>' is not preceded by '/'
for (;; ) { for (;;) {
if (inc(&pos) < 0) { if (inc(&pos) < 0) {
return false; return false;
} }
@ -3791,7 +3791,7 @@ extend:
} else { } else {
dir = FORWARD; dir = FORWARD;
} }
for (i = count; --i >= 0; ) { for (i = count; --i >= 0;) {
if (start_lnum == if (start_lnum ==
(dir == BACKWARD ? 1 : curbuf->b_ml.ml_line_count)) { (dir == BACKWARD ? 1 : curbuf->b_ml.ml_line_count)) {
retval = FAIL; retval = FAIL;
@ -3806,7 +3806,7 @@ extend:
start_lnum -= dir; start_lnum -= dir;
break; break;
} }
for (;; ) { for (;;) {
if (start_lnum == (dir == BACKWARD if (start_lnum == (dir == BACKWARD
? 1 : curbuf->b_ml.ml_line_count)) { ? 1 : curbuf->b_ml.ml_line_count)) {
break; break;
@ -3946,7 +3946,7 @@ static int find_next_quote(char_u *line, int col, int quotechar, char_u *escape)
{ {
int c; int c;
for (;; ) { for (;;) {
c = line[col]; c = line[col];
if (c == NUL) { if (c == NUL) {
return -1; return -1;
@ -4118,7 +4118,7 @@ bool current_quote(oparg_T *oap, long count, bool include, int quotechar)
// Also do this when there is a Visual area, a' may leave the cursor // Also do this when there is a Visual area, a' may leave the cursor
// in between two strings. // in between two strings.
col_start = 0; col_start = 0;
for (;; ) { for (;;) {
// Find open quote character. // Find open quote character.
col_start = find_next_quote(line, col_start, quotechar, NULL); col_start = find_next_quote(line, col_start, quotechar, NULL);
if (col_start < 0 || col_start > first_col) { if (col_start < 0 || col_start > first_col) {
@ -4842,7 +4842,7 @@ void find_pattern_in_path(char_u *ptr, Direction dir, size_t len, bool whole, bo
} }
line = ml_get(lnum); line = ml_get(lnum);
for (;; ) { for (;;) {
if (incl_regmatch.regprog != NULL if (incl_regmatch.regprog != NULL
&& vim_regexec(&incl_regmatch, line, (colnr_T)0)) { && vim_regexec(&incl_regmatch, line, (colnr_T)0)) {
char_u *p_fname = (curr_fname == curbuf->b_fname) char_u *p_fname = (curr_fname == curbuf->b_fname)
@ -5379,7 +5379,7 @@ static void show_pat_in_path(char_u *line, int type, bool did_show, int action,
if (got_int) { // 'q' typed at "--more--" message if (got_int) { // 'q' typed at "--more--" message
return; return;
} }
for (;; ) { for (;;) {
p = line + STRLEN(line) - 1; p = line + STRLEN(line) - 1;
if (fp != NULL) { if (fp != NULL) {
// We used fgets(), so get rid of newline at end // We used fgets(), so get rid of newline at end

View File

@ -3977,7 +3977,7 @@ static bool shada_removable(const char *name)
bool retval = false; bool retval = false;
char *new_name = (char *)home_replace_save(NULL, (char_u *)name); char *new_name = (char *)home_replace_save(NULL, (char_u *)name);
for (p = (char *)p_shada; *p; ) { for (p = (char *)p_shada; *p;) {
(void)copy_option_part((char_u **)&p, (char_u *)part, ARRAY_SIZE(part), ", "); (void)copy_option_part((char_u **)&p, (char_u *)part, ARRAY_SIZE(part), ", ");
if (part[0] == 'r') { if (part[0] == 'r') {
home_replace(NULL, (char_u *)(part + 1), (char_u *)NameBuff, MAXPATHL, true); home_replace(NULL, (char_u *)(part + 1), (char_u *)NameBuff, MAXPATHL, true);

View File

@ -774,7 +774,7 @@ static int sign_cmd_idx(char_u *begin_cmd, char_u *end_cmd)
char_u save = *end_cmd; char_u save = *end_cmd;
*end_cmd = (char_u)NUL; *end_cmd = (char_u)NUL;
for (idx = 0; ; idx++) { for (idx = 0;; idx++) {
if (cmds[idx] == NULL || STRCMP(begin_cmd, cmds[idx]) == 0) { if (cmds[idx] == NULL || STRCMP(begin_cmd, cmds[idx]) == 0) {
break; break;
} }
@ -816,7 +816,7 @@ static sign_T *alloc_new_sign(char_u *name)
// Check that next_sign_typenr is not already being used. // Check that next_sign_typenr is not already being used.
// This only happens after wrapping around. Hopefully // This only happens after wrapping around. Hopefully
// another one got deleted and we can use its number. // another one got deleted and we can use its number.
for (lp = first_sign; lp != NULL; ) { for (lp = first_sign; lp != NULL;) {
if (lp->sn_typenr == next_sign_typenr) { if (lp->sn_typenr == next_sign_typenr) {
next_sign_typenr++; next_sign_typenr++;
if (next_sign_typenr == MAX_TYPENR) { if (next_sign_typenr == MAX_TYPENR) {

View File

@ -622,7 +622,7 @@ static void find_word(matchinf_T *mip, int mode)
// - there is a byte that doesn't match, // - there is a byte that doesn't match,
// - we reach the end of the tree, // - we reach the end of the tree,
// - or we reach the end of the line. // - or we reach the end of the line.
for (;; ) { for (;;) {
if (flen <= 0 && *mip->mi_fend != NUL) { if (flen <= 0 && *mip->mi_fend != NUL) {
flen = fold_more(mip); flen = fold_more(mip);
} }
@ -689,7 +689,7 @@ static void find_word(matchinf_T *mip, int mode)
// One space in the good word may stand for several spaces in the // One space in the good word may stand for several spaces in the
// checked word. // checked word.
if (c == ' ') { if (c == ' ') {
for (;; ) { for (;;) {
if (flen <= 0 && *mip->mi_fend != NUL) { if (flen <= 0 && *mip->mi_fend != NUL) {
flen = fold_more(mip); flen = fold_more(mip);
} }
@ -1269,7 +1269,7 @@ static void find_prefix(matchinf_T *mip, int mode)
// - there is a byte that doesn't match, // - there is a byte that doesn't match,
// - we reach the end of the tree, // - we reach the end of the tree,
// - or we reach the end of the line. // - or we reach the end of the line.
for (;; ) { for (;;) {
if (flen == 0 && *mip->mi_fend != NUL) { if (flen == 0 && *mip->mi_fend != NUL) {
flen = fold_more(mip); flen = fold_more(mip);
} }
@ -2083,7 +2083,7 @@ char *did_set_spelllang(win_T *wp)
wp->w_s->b_cjk = 0; wp->w_s->b_cjk = 0;
// Loop over comma separated language names. // Loop over comma separated language names.
for (splp = spl_copy; *splp != NUL; ) { for (splp = spl_copy; *splp != NUL;) {
// Get one language name. // Get one language name.
copy_option_part(&splp, lang, MAXWLEN, ","); copy_option_part(&splp, lang, MAXWLEN, ",");
region = NULL; region = NULL;
@ -2354,7 +2354,7 @@ static void use_midword(slang_T *lp, win_T *wp)
return; return;
} }
for (char_u *p = lp->sl_midword; *p != NUL; ) { for (char_u *p = lp->sl_midword; *p != NUL;) {
const int c = utf_ptr2char(p); const int c = utf_ptr2char(p);
const int l = utfc_ptr2len(p); const int l = utfc_ptr2len(p);
if (c < 256 && l <= 2) { if (c < 256 && l <= 2) {
@ -2759,7 +2759,7 @@ int spell_casefold(const win_T *wp, char_u *str, int len, char_u *buf, int bufle
int outi = 0; int outi = 0;
// Fold one character at a time. // Fold one character at a time.
for (char_u *p = str; p < str + len; ) { for (char_u *p = str; p < str + len;) {
if (outi + MB_MAXBYTES > buflen) { if (outi + MB_MAXBYTES > buflen) {
buf[outi] = NUL; buf[outi] = NUL;
return FAIL; return FAIL;
@ -2806,7 +2806,7 @@ int spell_check_sps(void)
sps_flags = 0; sps_flags = 0;
sps_limit = 9999; sps_limit = 9999;
for (p = p_sps; *p != NUL; ) { for (p = p_sps; *p != NUL;) {
copy_option_part(&p, buf, MAXPATHL, ","); copy_option_part(&p, buf, MAXPATHL, ",");
f = 0; f = 0;
@ -3118,7 +3118,7 @@ static bool check_need_cap(linenr_T lnum, colnr_T col)
regmatch.regprog = curwin->w_s->b_cap_prog; regmatch.regprog = curwin->w_s->b_cap_prog;
regmatch.rm_ic = FALSE; regmatch.rm_ic = FALSE;
p = line + endcol; p = line + endcol;
for (;; ) { for (;;) {
MB_PTR_BACK(line, p); MB_PTR_BACK(line, p);
if (p == line || spell_iswordp_nmw(p, curwin)) { if (p == line || spell_iswordp_nmw(p, curwin)) {
break; break;
@ -3330,7 +3330,7 @@ static void spell_find_suggest(char_u *badptr, int badlen, suginfo_T *su, int ma
sps_copy = vim_strsave(p_sps); sps_copy = vim_strsave(p_sps);
// Loop over the items in 'spellsuggest'. // Loop over the items in 'spellsuggest'.
for (p = sps_copy; *p != NUL; ) { for (p = sps_copy; *p != NUL;) {
copy_option_part(&p, buf, MAXPATHL, ","); copy_option_part(&p, buf, MAXPATHL, ",");
if (STRNCMP(buf, "expr:", 5) == 0) { if (STRNCMP(buf, "expr:", 5) == 0) {
@ -3557,7 +3557,7 @@ void onecap_copy(char_u *word, char_u *wcopy, bool upper)
static void allcap_copy(char_u *word, char_u *wcopy) static void allcap_copy(char_u *word, char_u *wcopy)
{ {
char_u *d = wcopy; char_u *d = wcopy;
for (char_u *s = word; *s != NUL; ) { for (char_u *s = word; *s != NUL;) {
int c = mb_cptr2char_adv((const char_u **)&s); int c = mb_cptr2char_adv((const char_u **)&s);
if (c == 0xdf) { if (c == 0xdf) {
@ -4352,8 +4352,8 @@ static void suggest_trie_walk(suginfo_T *su, langp_T *lp, char_u *fword, bool so
// just deleted this byte, accepting it is always cheaper than // just deleted this byte, accepting it is always cheaper than
// delete + substitute. // delete + substitute.
if (c == fword[sp->ts_fidx] if (c == fword[sp->ts_fidx]
|| (sp->ts_tcharlen > 0 && || (sp->ts_tcharlen > 0
sp->ts_isdiff != DIFF_NONE)) { && sp->ts_isdiff != DIFF_NONE)) {
newscore = 0; newscore = 0;
} else { } else {
newscore = SCORE_SUBST; newscore = SCORE_SUBST;
@ -4513,7 +4513,7 @@ static void suggest_trie_walk(suginfo_T *su, langp_T *lp, char_u *fword, bool so
// skip over NUL bytes // skip over NUL bytes
n = sp->ts_arridx; n = sp->ts_arridx;
for (;; ) { for (;;) {
if (sp->ts_curi > byts[n]) { if (sp->ts_curi > byts[n]) {
// Only NUL bytes at this node, go to next state. // Only NUL bytes at this node, go to next state.
PROF_STORE(sp->ts_state) PROF_STORE(sp->ts_state)
@ -5257,7 +5257,7 @@ static int stp_sal_score(suggest_T *stp, suginfo_T *su, slang_T *slang, char_u *
// space. // space.
if (ascii_iswhite(su->su_badptr[su->su_badlen]) if (ascii_iswhite(su->su_badptr[su->su_badlen])
&& *skiptowhite(stp->st_word) == NUL) { && *skiptowhite(stp->st_word) == NUL) {
for (p = fword; *(p = skiptowhite(p)) != NUL; ) { for (p = fword; *(p = skiptowhite(p)) != NUL;) {
STRMOVE(p, p + 1); STRMOVE(p, p + 1);
} }
} }
@ -5568,7 +5568,7 @@ static int soundfold_find(slang_T *slang, char_u *word)
byts = slang->sl_sbyts; byts = slang->sl_sbyts;
idxs = slang->sl_sidxs; idxs = slang->sl_sidxs;
for (;; ) { for (;;) {
// First byte is the number of possible bytes. // First byte is the number of possible bytes.
len = byts[arridx++]; len = byts[arridx++];
@ -5701,7 +5701,7 @@ static void add_suggestion(suginfo_T *su, garray_T *gap, const char_u *goodword,
// "thee the" is added next to changing the first "the" the "thee". // "thee the" is added next to changing the first "the" the "thee".
const char_u *pgood = goodword + STRLEN(goodword); const char_u *pgood = goodword + STRLEN(goodword);
char_u *pbad = su->su_badptr + badlenarg; char_u *pbad = su->su_badptr + badlenarg;
for (;; ) { for (;;) {
goodlen = (int)(pgood - goodword); goodlen = (int)(pgood - goodword);
badlen = (int)(pbad - su->su_badptr); badlen = (int)(pbad - su->su_badptr);
if (goodlen <= 0 || badlen <= 0) { if (goodlen <= 0 || badlen <= 0) {
@ -6004,7 +6004,7 @@ static void spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
// The sl_sal_first[] table contains the translation for chars up to // The sl_sal_first[] table contains the translation for chars up to
// 255, sl_sal the rest. // 255, sl_sal the rest.
for (char_u *s = inword; *s != NUL; ) { for (char_u *s = inword; *s != NUL;) {
int c = mb_cptr2char_adv((const char_u **)&s); int c = mb_cptr2char_adv((const char_u **)&s);
if (utf_class(c) == 0) { if (utf_class(c) == 0) {
c = ' '; c = ' ';
@ -6015,7 +6015,7 @@ static void spell_soundfold_sofo(slang_T *slang, char_u *inword, char_u *res)
if (ip == NULL) { // empty list, can't match if (ip == NULL) { // empty list, can't match
c = NUL; c = NUL;
} else { } else {
for (;; ) { // find "c" in the list for (;;) { // find "c" in the list
if (*ip == 0) { // not found if (*ip == 0) { // not found
c = NUL; c = NUL;
break; break;
@ -6069,7 +6069,7 @@ static void spell_soundfold_wsal(slang_T *slang, char_u *inword, char_u *res)
// Remove accents, if wanted. We actually remove all non-word characters. // Remove accents, if wanted. We actually remove all non-word characters.
// But keep white space. // But keep white space.
wordlen = 0; wordlen = 0;
for (const char_u *s = inword; *s != NUL; ) { for (const char_u *s = inword; *s != NUL;) {
const char_u *t = s; const char_u *t = s;
c = mb_cptr2char_adv(&s); c = mb_cptr2char_adv(&s);
if (slang->sl_rem_accents) { if (slang->sl_rem_accents) {
@ -6591,12 +6591,12 @@ static int spell_edit_score(slang_T *slang, char_u *badword, char_u *goodword)
// Get the characters from the multi-byte strings and put them in an // Get the characters from the multi-byte strings and put them in an
// int array for easy access. // int array for easy access.
badlen = 0; badlen = 0;
for (const char_u *p = badword; *p != NUL; ) { for (const char_u *p = badword; *p != NUL;) {
wbadword[badlen++] = mb_cptr2char_adv(&p); wbadword[badlen++] = mb_cptr2char_adv(&p);
} }
wbadword[badlen++] = 0; wbadword[badlen++] = 0;
goodlen = 0; goodlen = 0;
for (const char_u *p = goodword; *p != NUL; ) { for (const char_u *p = goodword; *p != NUL;) {
wgoodword[goodlen++] = mb_cptr2char_adv(&p); wgoodword[goodlen++] = mb_cptr2char_adv(&p);
} }
wgoodword[goodlen++] = 0; wgoodword[goodlen++] = 0;
@ -6690,12 +6690,12 @@ static int spell_edit_score_limit_w(slang_T *slang, char_u *badword, char_u *goo
// Get the characters from the multi-byte strings and put them in an // Get the characters from the multi-byte strings and put them in an
// int array for easy access. // int array for easy access.
bi = 0; bi = 0;
for (const char_u *p = badword; *p != NUL; ) { for (const char_u *p = badword; *p != NUL;) {
wbadword[bi++] = mb_cptr2char_adv(&p); wbadword[bi++] = mb_cptr2char_adv(&p);
} }
wbadword[bi++] = 0; wbadword[bi++] = 0;
gi = 0; gi = 0;
for (const char_u *p = goodword; *p != NUL; ) { for (const char_u *p = goodword; *p != NUL;) {
wgoodword[gi++] = mb_cptr2char_adv(&p); wgoodword[gi++] = mb_cptr2char_adv(&p);
} }
wgoodword[gi++] = 0; wgoodword[gi++] = 0;
@ -6713,9 +6713,9 @@ static int spell_edit_score_limit_w(slang_T *slang, char_u *badword, char_u *goo
score = 0; score = 0;
minscore = limit + 1; minscore = limit + 1;
for (;; ) { for (;;) {
// Skip over an equal part, score remains the same. // Skip over an equal part, score remains the same.
for (;; ) { for (;;) {
bc = wbadword[bi]; bc = wbadword[bi];
gc = wgoodword[gi]; gc = wgoodword[gi];
@ -7289,7 +7289,7 @@ int spell_word_start(int startcol)
// Find a word character before "startcol". // Find a word character before "startcol".
line = get_cursor_line_ptr(); line = get_cursor_line_ptr();
for (p = line + startcol; p > line; ) { for (p = line + startcol; p > line;) {
MB_PTR_BACK(line, p); MB_PTR_BACK(line, p);
if (spell_iswordp_nmw(p, curwin)) { if (spell_iswordp_nmw(p, curwin)) {
break; break;

View File

@ -549,7 +549,7 @@ static inline int spell_check_magic_string(FILE *const fd)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_ALWAYS_INLINE FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_ALWAYS_INLINE
{ {
char buf[VIMSPELLMAGICL]; char buf[VIMSPELLMAGICL];
SPELL_READ_BYTES(buf, VIMSPELLMAGICL, fd, ; ); SPELL_READ_BYTES(buf, VIMSPELLMAGICL, fd,; );
if (memcmp(buf, VIMSPELLMAGIC, VIMSPELLMAGICL) != 0) { if (memcmp(buf, VIMSPELLMAGIC, VIMSPELLMAGICL) != 0) {
return SP_FORMERROR; return SP_FORMERROR;
} }
@ -640,7 +640,7 @@ slang_T *spell_load_file(char_u *fname, char_u *lang, slang_T *old_lp, bool sile
// <SECTIONS>: <section> ... <sectionend> // <SECTIONS>: <section> ... <sectionend>
// <section>: <sectionID> <sectionflags> <sectionlen> (section contents) // <section>: <sectionID> <sectionflags> <sectionlen> (section contents)
for (;; ) { for (;;) {
n = getc(fd); // <sectionID> or <sectionend> n = getc(fd); // <sectionID> or <sectionend>
if (n == SN_END) { if (n == SN_END) {
break; break;
@ -960,7 +960,7 @@ someerror:
ga_init(&ga, 1, 100); ga_init(&ga, 1, 100);
for (wordnr = 0; wordnr < wcount; ++wordnr) { for (wordnr = 0; wordnr < wcount; ++wordnr) {
ga.ga_len = 0; ga.ga_len = 0;
for (;; ) { for (;;) {
c = getc(fd); // <sugline> c = getc(fd); // <sugline>
if (c < 0) { if (c < 0) {
goto someerror; goto someerror;
@ -1030,7 +1030,7 @@ static int read_region_section(FILE *fd, slang_T *lp, int len)
if (len > MAXREGIONS * 2) { if (len > MAXREGIONS * 2) {
return SP_FORMERROR; return SP_FORMERROR;
} }
SPELL_READ_NONNUL_BYTES((char *)lp->sl_regions, (size_t)len, fd, ; ); SPELL_READ_NONNUL_BYTES((char *)lp->sl_regions, (size_t)len, fd,; );
lp->sl_regions[len] = NUL; lp->sl_regions[len] = NUL;
return 0; return 0;
} }
@ -1097,7 +1097,7 @@ static int read_prefcond_section(FILE *fd, slang_T *lp)
if (n > 0) { if (n > 0) {
char buf[MAXWLEN + 1]; char buf[MAXWLEN + 1];
buf[0] = '^'; // always match at one position only buf[0] = '^'; // always match at one position only
SPELL_READ_NONNUL_BYTES(buf + 1, (size_t)n, fd, ; ); SPELL_READ_NONNUL_BYTES(buf + 1, (size_t)n, fd,; );
buf[n + 1] = NUL; buf[n + 1] = NUL;
lp->sl_prefprog[i] = vim_regcomp((char_u *)buf, RE_MAGIC | RE_STRING); lp->sl_prefprog[i] = vim_regcomp((char_u *)buf, RE_MAGIC | RE_STRING);
} }
@ -1548,7 +1548,7 @@ static int set_sofo(slang_T *lp, char_u *from, char_u *to)
// First count the number of items for each list. Temporarily use // First count the number of items for each list. Temporarily use
// sl_sal_first[] for this. // sl_sal_first[] for this.
for (p = from, s = to; *p != NUL && *s != NUL; ) { for (p = from, s = to; *p != NUL && *s != NUL;) {
const int c = mb_cptr2char_adv((const char_u **)&p); const int c = mb_cptr2char_adv((const char_u **)&p);
MB_CPTR_ADV(s); MB_CPTR_ADV(s);
if (c >= 256) { if (c >= 256) {
@ -1571,7 +1571,7 @@ static int set_sofo(slang_T *lp, char_u *from, char_u *to)
// Put the characters up to 255 in sl_sal_first[] the rest in a sl_sal // Put the characters up to 255 in sl_sal_first[] the rest in a sl_sal
// list. // list.
memset(lp->sl_sal_first, 0, sizeof(salfirst_T) * 256); memset(lp->sl_sal_first, 0, sizeof(salfirst_T) * 256);
for (p = from, s = to; *p != NUL && *s != NUL; ) { for (p = from, s = to; *p != NUL && *s != NUL;) {
const int c = mb_cptr2char_adv((const char_u **)&p); const int c = mb_cptr2char_adv((const char_u **)&p);
const int i = mb_cptr2char_adv((const char_u **)&s); const int i = mb_cptr2char_adv((const char_u **)&s);
if (c >= 256) { if (c >= 256) {
@ -1647,7 +1647,7 @@ static int *mb_str2wide(char_u *s)
int i = 0; int i = 0;
int *res = xmalloc((mb_charlen(s) + 1) * sizeof(int)); int *res = xmalloc((mb_charlen(s) + 1) * sizeof(int));
for (char_u *p = s; *p != NUL; ) { for (char_u *p = s; *p != NUL;) {
res[i++] = mb_ptr2char_adv((const char_u **)&p); res[i++] = mb_ptr2char_adv((const char_u **)&p);
} }
res[i] = NUL; res[i] = NUL;
@ -2095,7 +2095,7 @@ static afffile_T *spell_read_aff(spellinfo_T *spin, char_u *fname)
// Split the line up in white separated items. Put a NUL after each // Split the line up in white separated items. Put a NUL after each
// item. // item.
itemcnt = 0; itemcnt = 0;
for (p = line;; ) { for (p = line;;) {
while (*p != NUL && *p <= ' ') { // skip white space and CR/NL while (*p != NUL && *p <= ' ') { // skip white space and CR/NL
++p; ++p;
} }
@ -2646,7 +2646,7 @@ static afffile_T *spell_read_aff(spellinfo_T *spin, char_u *fname)
int c; int c;
// Check that every character appears only once. // Check that every character appears only once.
for (p = items[1]; *p != NUL; ) { for (p = items[1]; *p != NUL;) {
c = mb_ptr2char_adv((const char_u **)&p); c = mb_ptr2char_adv((const char_u **)&p);
if ((!GA_EMPTY(&spin->si_map) if ((!GA_EMPTY(&spin->si_map)
&& vim_strchr(spin->si_map.ga_data, c) && vim_strchr(spin->si_map.ga_data, c)
@ -2804,7 +2804,7 @@ static void aff_process_flags(afffile_T *affile, affentry_T *entry)
if (entry->ae_flags != NULL if (entry->ae_flags != NULL
&& (affile->af_compforbid != 0 || affile->af_comppermit != 0)) { && (affile->af_compforbid != 0 || affile->af_comppermit != 0)) {
for (p = entry->ae_flags; *p != NUL; ) { for (p = entry->ae_flags; *p != NUL;) {
prevp = p; prevp = p;
flag = get_affitem(affile->af_flagtype, &p); flag = get_affitem(affile->af_flagtype, &p);
if (flag == affile->af_comppermit || flag == affile->af_compforbid) { if (flag == affile->af_comppermit || flag == affile->af_compforbid) {
@ -2922,7 +2922,7 @@ static void process_compflags(spellinfo_T *spin, afffile_T *aff, char_u *compfla
spin->si_compflags = p; spin->si_compflags = p;
tp = p + STRLEN(p); tp = p + STRLEN(p);
for (p = compflags; *p != NUL; ) { for (p = compflags; *p != NUL;) {
if (vim_strchr((char_u *)"/?*+[]", *p) != NULL) { if (vim_strchr((char_u *)"/?*+[]", *p) != NULL) {
// Copy non-flag characters directly. // Copy non-flag characters directly.
*tp++ = *p++; *tp++ = *p++;
@ -2985,7 +2985,7 @@ static bool flag_in_afflist(int flagtype, char_u *afflist, unsigned flag)
case AFT_CAPLONG: case AFT_CAPLONG:
case AFT_LONG: case AFT_LONG:
for (p = afflist; *p != NUL; ) { for (p = afflist; *p != NUL;) {
n = mb_ptr2char_adv((const char_u **)&p); n = mb_ptr2char_adv((const char_u **)&p);
if ((flagtype == AFT_LONG || (n >= 'A' && n <= 'Z')) if ((flagtype == AFT_LONG || (n >= 'A' && n <= 'Z'))
&& *p != NUL) { && *p != NUL) {
@ -2998,7 +2998,7 @@ static bool flag_in_afflist(int flagtype, char_u *afflist, unsigned flag)
break; break;
case AFT_NUM: case AFT_NUM:
for (p = afflist; *p != NUL; ) { for (p = afflist; *p != NUL;) {
int digits = getdigits_int(&p, true, 0); int digits = getdigits_int(&p, true, 0);
assert(digits >= 0); assert(digits >= 0);
n = (unsigned int)digits; n = (unsigned int)digits;
@ -3248,9 +3248,9 @@ static int spell_read_dic(spellinfo_T *spin, char_u *fname, afffile_T *affile)
// Extract flags from the affix list. // Extract flags from the affix list.
flags |= get_affix_flags(affile, afflist); flags |= get_affix_flags(affile, afflist);
if (affile->af_needaffix != 0 && if (affile->af_needaffix != 0
flag_in_afflist(affile->af_flagtype, afflist, && flag_in_afflist(affile->af_flagtype, afflist,
affile->af_needaffix)) { affile->af_needaffix)) {
need_affix = true; need_affix = true;
} }
@ -3311,32 +3311,32 @@ static int get_affix_flags(afffile_T *affile, char_u *afflist)
{ {
int flags = 0; int flags = 0;
if (affile->af_keepcase != 0 && if (affile->af_keepcase != 0
flag_in_afflist(affile->af_flagtype, afflist, && flag_in_afflist(affile->af_flagtype, afflist,
affile->af_keepcase)) { affile->af_keepcase)) {
flags |= WF_KEEPCAP | WF_FIXCAP; flags |= WF_KEEPCAP | WF_FIXCAP;
} }
if (affile->af_rare != 0 && if (affile->af_rare != 0
flag_in_afflist(affile->af_flagtype, afflist, affile->af_rare)) { && flag_in_afflist(affile->af_flagtype, afflist, affile->af_rare)) {
flags |= WF_RARE; flags |= WF_RARE;
} }
if (affile->af_bad != 0 && if (affile->af_bad != 0
flag_in_afflist(affile->af_flagtype, afflist, affile->af_bad)) { && flag_in_afflist(affile->af_flagtype, afflist, affile->af_bad)) {
flags |= WF_BANNED; flags |= WF_BANNED;
} }
if (affile->af_needcomp != 0 && if (affile->af_needcomp != 0
flag_in_afflist(affile->af_flagtype, afflist, && flag_in_afflist(affile->af_flagtype, afflist,
affile->af_needcomp)) { affile->af_needcomp)) {
flags |= WF_NEEDCOMP; flags |= WF_NEEDCOMP;
} }
if (affile->af_comproot != 0 && if (affile->af_comproot != 0
flag_in_afflist(affile->af_flagtype, afflist, && flag_in_afflist(affile->af_flagtype, afflist,
affile->af_comproot)) { affile->af_comproot)) {
flags |= WF_COMPROOT; flags |= WF_COMPROOT;
} }
if (affile->af_nosuggest != 0 && if (affile->af_nosuggest != 0
flag_in_afflist(affile->af_flagtype, afflist, && flag_in_afflist(affile->af_flagtype, afflist,
affile->af_nosuggest)) { affile->af_nosuggest)) {
flags |= WF_NOSUGGEST; flags |= WF_NOSUGGEST;
} }
return flags; return flags;
@ -3355,7 +3355,7 @@ static int get_pfxlist(afffile_T *affile, char_u *afflist, char_u *store_afflist
char_u key[AH_KEY_LEN]; char_u key[AH_KEY_LEN];
hashitem_T *hi; hashitem_T *hi;
for (p = afflist; *p != NUL; ) { for (p = afflist; *p != NUL;) {
prevp = p; prevp = p;
if (get_affitem(affile->af_flagtype, &p) != 0) { if (get_affitem(affile->af_flagtype, &p) != 0) {
// A flag is a postponed prefix flag if it appears in "af_pref" // A flag is a postponed prefix flag if it appears in "af_pref"
@ -3389,7 +3389,7 @@ static void get_compflags(afffile_T *affile, char_u *afflist, char_u *store_affl
char_u key[AH_KEY_LEN]; char_u key[AH_KEY_LEN];
hashitem_T *hi; hashitem_T *hi;
for (p = afflist; *p != NUL; ) { for (p = afflist; *p != NUL;) {
prevp = p; prevp = p;
if (get_affitem(affile->af_flagtype, &p) != 0) { if (get_affitem(affile->af_flagtype, &p) != 0) {
// A flag is a compound flag if it appears in "af_comp". // A flag is a compound flag if it appears in "af_comp".
@ -5845,7 +5845,7 @@ static void set_map_str(slang_T *lp, char_u *map)
// The similar characters are stored separated with slashes: // The similar characters are stored separated with slashes:
// "aaa/bbb/ccc/". Fill sl_map_array[c] with the character before c and // "aaa/bbb/ccc/". Fill sl_map_array[c] with the character before c and
// before the same slash. For characters above 255 sl_map_hash is used. // before the same slash. For characters above 255 sl_map_hash is used.
for (p = map; *p != NUL; ) { for (p = map; *p != NUL;) {
c = mb_cptr2char_adv((const char_u **)&p); c = mb_cptr2char_adv((const char_u **)&p);
if (c == '/') { if (c == '/') {
headc = 0; headc = 0;

View File

@ -242,7 +242,7 @@ char_u *vim_strsave_shellescape(const char_u *string, bool do_special, bool do_n
#endif #endif
*d++ = '\''; *d++ = '\'';
for (const char_u *p = string; *p != NUL; ) { for (const char_u *p = string; *p != NUL;) {
#ifdef WIN32 #ifdef WIN32
if (!p_ssl) { if (!p_ssl) {
if (*p == '"') { if (*p == '"') {
@ -405,7 +405,7 @@ int vim_stricmp(const char *s1, const char *s2)
{ {
int i; int i;
for (;; ) { for (;;) {
i = (int)TOLOWER_LOC(*s1) - (int)TOLOWER_LOC(*s2); i = (int)TOLOWER_LOC(*s1) - (int)TOLOWER_LOC(*s2);
if (i != 0) { if (i != 0) {
return i; // this character different return i; // this character different

View File

@ -691,7 +691,7 @@ static void syn_sync(win_T *wp, linenr_T start_lnum, synstate_T *last_valid)
* Restrict the search for the end of a comment to b_syn_sync_maxlines. * Restrict the search for the end of a comment to b_syn_sync_maxlines.
*/ */
if (find_start_comment((int)syn_block->b_syn_sync_maxlines) != NULL) { if (find_start_comment((int)syn_block->b_syn_sync_maxlines) != NULL) {
for (idx = syn_block->b_syn_patterns.ga_len; --idx >= 0; ) { for (idx = syn_block->b_syn_patterns.ga_len; --idx >= 0;) {
if (SYN_ITEMS(syn_block)[idx].sp_syn.id if (SYN_ITEMS(syn_block)[idx].sp_syn.id
== syn_block->b_syn_sync_id == syn_block->b_syn_sync_id
&& SYN_ITEMS(syn_block)[idx].sp_type == SPTYPE_START) { && SYN_ITEMS(syn_block)[idx].sp_type == SPTYPE_START) {
@ -752,7 +752,7 @@ static void syn_sync(win_T *wp, linenr_T start_lnum, synstate_T *last_valid)
for (current_lnum = lnum; current_lnum < end_lnum; ++current_lnum) { for (current_lnum = lnum; current_lnum < end_lnum; ++current_lnum) {
syn_start_line(); syn_start_line();
for (;; ) { for (;;) {
had_sync_point = syn_finish_line(true); had_sync_point = syn_finish_line(true);
// When a sync point has been found, remember where, and // When a sync point has been found, remember where, and
// continue to look for another one, further on in the line. // continue to look for another one, further on in the line.
@ -1146,7 +1146,7 @@ static void syn_stack_apply_changes_block(synblock_T *block, buf_T *buf)
linenr_T n; linenr_T n;
prev = NULL; prev = NULL;
for (p = block->b_sst_first; p != NULL; ) { for (p = block->b_sst_first; p != NULL;) {
if (p->sst_lnum + block->b_syn_sync_linebreaks > buf->b_mod_top) { if (p->sst_lnum + block->b_syn_sync_linebreaks > buf->b_mod_top) {
n = p->sst_lnum + buf->b_mod_xlines; n = p->sst_lnum + buf->b_mod_xlines;
if (n <= buf->b_mod_bot) { if (n <= buf->b_mod_bot) {
@ -1449,7 +1449,7 @@ static bool syn_stack_equal(synstate_T *sp)
} }
int i; int i;
for (i = current_state.ga_len; --i >= 0; ) { for (i = current_state.ga_len; --i >= 0;) {
// If the item has another index the state is different. // If the item has another index the state is different.
if (bp[i].bs_idx != CUR_STATE(i).si_idx) { if (bp[i].bs_idx != CUR_STATE(i).si_idx) {
break; break;
@ -1788,9 +1788,9 @@ static int syn_current_attr(const bool syncing, const bool displaying, bool *con
line = syn_getcurline(); line = syn_getcurline();
const char_u *cur_pos = line + current_col; const char_u *cur_pos = line + current_col;
if (vim_iswordp_buf(cur_pos, syn_buf) if (vim_iswordp_buf(cur_pos, syn_buf)
&& (current_col == 0 || && (current_col == 0
!vim_iswordp_buf(cur_pos - 1 - utf_head_off(line, cur_pos - 1), || !vim_iswordp_buf(cur_pos - 1 - utf_head_off(line, cur_pos - 1),
syn_buf))) { syn_buf))) {
syn_id = check_keyword_id(line, (int)current_col, &endcol, &flags, syn_id = check_keyword_id(line, (int)current_col, &endcol, &flags,
&next_list, cur_si, &cchar); &next_list, cur_si, &cchar);
if (syn_id != 0) { if (syn_id != 0) {
@ -1852,7 +1852,7 @@ static int syn_current_attr(const bool syncing, const bool displaying, bool *con
*/ */
next_match_idx = 0; // no match in this line yet next_match_idx = 0; // no match in this line yet
next_match_col = MAXCOL; next_match_col = MAXCOL;
for (int idx = syn_block->b_syn_patterns.ga_len; --idx >= 0; ) { for (int idx = syn_block->b_syn_patterns.ga_len; --idx >= 0;) {
synpat_T *const spp = &(SYN_ITEMS(syn_block)[idx]); synpat_T *const spp = &(SYN_ITEMS(syn_block)[idx]);
if (spp->sp_syncing == syncing if (spp->sp_syncing == syncing
&& (displaying || !(spp->sp_flags & HL_DISPLAY)) && (displaying || !(spp->sp_flags & HL_DISPLAY))
@ -2207,7 +2207,7 @@ static int syn_current_attr(const bool syncing, const bool displaying, bool *con
/// @return true if we already matched pattern "idx" at the current column. /// @return true if we already matched pattern "idx" at the current column.
static bool did_match_already(int idx, garray_T *gap) static bool did_match_already(int idx, garray_T *gap)
{ {
for (int i = current_state.ga_len; --i >= 0; ) { for (int i = current_state.ga_len; --i >= 0;) {
if (CUR_STATE(i).si_m_startcol == (int)current_col if (CUR_STATE(i).si_m_startcol == (int)current_col
&& CUR_STATE(i).si_m_lnum == (int)current_lnum && CUR_STATE(i).si_m_lnum == (int)current_lnum
&& CUR_STATE(i).si_idx == idx) { && CUR_STATE(i).si_idx == idx) {
@ -2217,7 +2217,7 @@ static bool did_match_already(int idx, garray_T *gap)
// Zero-width matches with a nextgroup argument are not put on the syntax // Zero-width matches with a nextgroup argument are not put on the syntax
// stack, and can only be matched once anyway. // stack, and can only be matched once anyway.
for (int i = gap->ga_len; --i >= 0; ) { for (int i = gap->ga_len; --i >= 0;) {
if (((int *)(gap->ga_data))[i] == idx) { if (((int *)(gap->ga_data))[i] == idx) {
return true; return true;
} }
@ -2318,7 +2318,7 @@ static void check_state_ends(void)
int had_extend; int had_extend;
cur_si = &CUR_STATE(current_state.ga_len - 1); cur_si = &CUR_STATE(current_state.ga_len - 1);
for (;; ) { for (;;) {
if (cur_si->si_ends if (cur_si->si_ends
&& (cur_si->si_m_endpos.lnum < current_lnum && (cur_si->si_m_endpos.lnum < current_lnum
|| (cur_si->si_m_endpos.lnum == current_lnum || (cur_si->si_m_endpos.lnum == current_lnum
@ -2658,7 +2658,7 @@ static void find_endpos(int idx, lpos_T *startpos, lpos_T *m_endpos, lpos_T *hl_
/* /*
* Find the SKIP or first END pattern after the last START pattern. * Find the SKIP or first END pattern after the last START pattern.
*/ */
for (;; ) { for (;;) {
spp = &(SYN_ITEMS(syn_block)[idx]); spp = &(SYN_ITEMS(syn_block)[idx]);
if (spp->sp_type != SPTYPE_START) { if (spp->sp_type != SPTYPE_START) {
break; break;
@ -2687,7 +2687,7 @@ static void find_endpos(int idx, lpos_T *startpos, lpos_T *m_endpos, lpos_T *hl_
// use syntax iskeyword option // use syntax iskeyword option
save_chartab(buf_chartab); save_chartab(buf_chartab);
for (;; ) { for (;;) {
/* /*
* Find end pattern that matches first after "matchcol". * Find end pattern that matches first after "matchcol".
*/ */
@ -3286,13 +3286,13 @@ void syntax_clear(synblock_T *block)
clear_keywtab(&block->b_keywtab_ic); clear_keywtab(&block->b_keywtab_ic);
// free the syntax patterns // free the syntax patterns
for (int i = block->b_syn_patterns.ga_len; --i >= 0; ) { for (int i = block->b_syn_patterns.ga_len; --i >= 0;) {
syn_clear_pattern(block, i); syn_clear_pattern(block, i);
} }
ga_clear(&block->b_syn_patterns); ga_clear(&block->b_syn_patterns);
// free the syntax clusters // free the syntax clusters
for (int i = block->b_syn_clusters.ga_len; --i >= 0; ) { for (int i = block->b_syn_clusters.ga_len; --i >= 0;) {
syn_clear_cluster(block, i); syn_clear_cluster(block, i);
} }
ga_clear(&block->b_syn_clusters); ga_clear(&block->b_syn_clusters);
@ -3336,7 +3336,7 @@ void reset_synblock(win_T *wp)
static void syntax_sync_clear(void) static void syntax_sync_clear(void)
{ {
// free the syntax patterns // free the syntax patterns
for (int i = curwin->w_s->b_syn_patterns.ga_len; --i >= 0; ) { for (int i = curwin->w_s->b_syn_patterns.ga_len; --i >= 0;) {
if (SYN_ITEMS(curwin->w_s)[i].sp_syncing) { if (SYN_ITEMS(curwin->w_s)[i].sp_syncing) {
syn_remove_pattern(curwin->w_s, i); syn_remove_pattern(curwin->w_s, i);
} }
@ -3484,7 +3484,7 @@ static void syn_clear_one(const int id, const bool syncing)
} }
// clear the patterns for "id" // clear the patterns for "id"
for (int idx = curwin->w_s->b_syn_patterns.ga_len; --idx >= 0; ) { for (int idx = curwin->w_s->b_syn_patterns.ga_len; --idx >= 0;) {
spp = &(SYN_ITEMS(curwin->w_s)[idx]); spp = &(SYN_ITEMS(curwin->w_s)[idx]);
if (spp->sp_syn.id != id || spp->sp_syncing != syncing) { if (spp->sp_syn.id != id || spp->sp_syncing != syncing) {
continue; continue;
@ -3874,7 +3874,7 @@ static void put_pattern(const char *const s, const int c, const synpat_T *const
msg_putchar(c); msg_putchar(c);
// output the pattern, in between a char that is not in the pattern // output the pattern, in between a char that is not in the pattern
for (i = 0; vim_strchr(spp->sp_pattern, sepchars[i]) != NULL; ) { for (i = 0; vim_strchr(spp->sp_pattern, sepchars[i]) != NULL;) {
if (sepchars[++i] == NUL) { if (sepchars[++i] == NUL) {
i = 0; // no good char found, just use the first one i = 0; // no good char found, just use the first one
break; break;
@ -4015,7 +4015,7 @@ static void syn_clear_keyword(int id, hashtab_T *ht)
} }
--todo; --todo;
kp_prev = NULL; kp_prev = NULL;
for (kp = HI2KE(hi); kp != NULL; ) { for (kp = HI2KE(hi); kp != NULL;) {
if (kp->k_syn.id == id) { if (kp->k_syn.id == id) {
kp_next = kp->ke_next; kp_next = kp->ke_next;
if (kp_prev == NULL) { if (kp_prev == NULL) {
@ -4191,7 +4191,7 @@ static char_u *get_syn_options(char_u *arg, syn_opt_arg_T *opt, int *conceal_cha
opt->flags |= HL_CONCEAL; opt->flags |= HL_CONCEAL;
} }
for (;; ) { for (;;) {
/* /*
* This is used very often when a large number of keywords is defined. * This is used very often when a large number of keywords is defined.
* Need to skip quickly when no option name is found. * Need to skip quickly when no option name is found.
@ -4201,7 +4201,7 @@ static char_u *get_syn_options(char_u *arg, syn_opt_arg_T *opt, int *conceal_cha
break; break;
} }
for (fidx = ARRAY_SIZE(flagtab); --fidx >= 0; ) { for (fidx = ARRAY_SIZE(flagtab); --fidx >= 0;) {
p = flagtab[fidx].name; p = flagtab[fidx].name;
int i; int i;
for (i = 0, len = 0; p[i] != NUL; i += 2, ++len) { for (i = 0, len = 0; p[i] != NUL; i += 2, ++len) {
@ -4273,7 +4273,7 @@ static char_u *get_syn_options(char_u *arg, syn_opt_arg_T *opt, int *conceal_cha
} else { } else {
syn_id = syn_name2id((char *)gname); syn_id = syn_name2id((char *)gname);
int i; int i;
for (i = curwin->w_s->b_syn_patterns.ga_len; --i >= 0; ) { for (i = curwin->w_s->b_syn_patterns.ga_len; --i >= 0;) {
if (SYN_ITEMS(curwin->w_s)[i].sp_syn.id == syn_id if (SYN_ITEMS(curwin->w_s)[i].sp_syn.id == syn_id
&& SYN_ITEMS(curwin->w_s)[i].sp_type == SPTYPE_START) { && SYN_ITEMS(curwin->w_s)[i].sp_type == SPTYPE_START) {
*opt->sync_idx = i; *opt->sync_idx = i;
@ -4460,7 +4460,7 @@ static void syn_cmd_keyword(exarg_T *eap, int syncing)
// 2: Add an entry for each keyword. // 2: Add an entry for each keyword.
for (kw = keyword_copy; --cnt >= 0; kw += STRLEN(kw) + 1) { for (kw = keyword_copy; --cnt >= 0; kw += STRLEN(kw) + 1) {
for (p = vim_strchr(kw, '[');; ) { for (p = vim_strchr(kw, '[');;) {
if (p != NULL) { if (p != NULL) {
*p = NUL; *p = NUL;
} }
@ -4972,7 +4972,7 @@ static int syn_scl_name2id(char_u *name)
// Avoid using stricmp() too much, it's slow on some systems // Avoid using stricmp() too much, it's slow on some systems
char_u *name_u = vim_strsave_up(name); char_u *name_u = vim_strsave_up(name);
int i; int i;
for (i = curwin->w_s->b_syn_clusters.ga_len; --i >= 0; ) { for (i = curwin->w_s->b_syn_clusters.ga_len; --i >= 0;) {
if (SYN_CLSTR(curwin->w_s)[i].scl_name_u != NULL if (SYN_CLSTR(curwin->w_s)[i].scl_name_u != NULL
&& STRCMP(name_u, SYN_CLSTR(curwin->w_s)[i].scl_name_u) == 0) { && STRCMP(name_u, SYN_CLSTR(curwin->w_s)[i].scl_name_u) == 0) {
break; break;
@ -5078,7 +5078,7 @@ static void syn_cmd_cluster(exarg_T *eap, int syncing)
} }
scl_id -= SYNID_CLUSTER; scl_id -= SYNID_CLUSTER;
for (;; ) { for (;;) {
if (STRNICMP(rest, "add", 3) == 0 if (STRNICMP(rest, "add", 3) == 0
&& (ascii_iswhite(rest[3]) || rest[3] == '=')) { && (ascii_iswhite(rest[3]) || rest[3] == '=')) {
opt_len = 3; opt_len = 3;
@ -5174,7 +5174,7 @@ static char_u *get_syn_pattern(char_u *arg, synpat_T *ci)
*/ */
++end; ++end;
do { do {
for (idx = SPO_COUNT; --idx >= 0; ) { for (idx = SPO_COUNT; --idx >= 0;) {
if (STRNCMP(end, spo_name_tab[idx], 3) == 0) { if (STRNCMP(end, spo_name_tab[idx], 3) == 0) {
break; break;
} }
@ -5456,7 +5456,7 @@ static int get_id_list(char_u **const arg, const int keylen, int16_t **const lis
regmatch.rm_ic = TRUE; regmatch.rm_ic = TRUE;
id = 0; id = 0;
for (int i = highlight_ga.ga_len; --i >= 0; ) { for (int i = highlight_ga.ga_len; --i >= 0;) {
if (vim_regexec(&regmatch, HL_TABLE()[i].sg_name, (colnr_T)0)) { if (vim_regexec(&regmatch, HL_TABLE()[i].sg_name, (colnr_T)0)) {
if (round == 2) { if (round == 2) {
// Got more items than expected; can happen // Got more items than expected; can happen
@ -6520,7 +6520,7 @@ const char *const highlight_init_cmdline[] = {
/// Create default links for Nvim* highlight groups used for cmdline coloring /// Create default links for Nvim* highlight groups used for cmdline coloring
void syn_init_cmdline_highlight(bool reset, bool init) void syn_init_cmdline_highlight(bool reset, bool init)
{ {
for (size_t i = 0 ; highlight_init_cmdline[i] != NULL ; i++) { for (size_t i = 0; highlight_init_cmdline[i] != NULL; i++) {
do_highlight(highlight_init_cmdline[i], reset, init); do_highlight(highlight_init_cmdline[i], reset, init);
} }
} }
@ -6968,7 +6968,7 @@ void do_highlight(const char *line, const bool forceit, const bool init)
attr = 0; attr = 0;
off = 0; off = 0;
while (arg[off] != NUL) { while (arg[off] != NUL) {
for (i = ARRAY_SIZE(hl_attr_table); --i >= 0; ) { for (i = ARRAY_SIZE(hl_attr_table); --i >= 0;) {
len = (int)STRLEN(hl_name_table[i]); len = (int)STRLEN(hl_name_table[i]);
if (STRNICMP(arg + off, hl_name_table[i], len) == 0) { if (STRNICMP(arg + off, hl_name_table[i], len) == 0) {
attr |= hl_attr_table[i]; attr |= hl_attr_table[i];
@ -7040,7 +7040,7 @@ void do_highlight(const char *line, const bool forceit, const bool init)
} else { } else {
// Reduce calls to STRICMP a bit, it can be slow. // Reduce calls to STRICMP a bit, it can be slow.
off = TOUPPER_ASC(*arg); off = TOUPPER_ASC(*arg);
for (i = ARRAY_SIZE(color_names); --i >= 0; ) { for (i = ARRAY_SIZE(color_names); --i >= 0;) {
if (off == color_names[i][0] if (off == color_names[i][0]
&& STRICMP(arg + 1, color_names[i] + 1) == 0) { && STRICMP(arg + 1, color_names[i] + 1) == 0) {
break; break;
@ -7784,7 +7784,7 @@ int syn_get_final_id(int hl_id)
* Follow links until there is no more. * Follow links until there is no more.
* Look out for loops! Break after 100 links. * Look out for loops! Break after 100 links.
*/ */
for (count = 100; --count >= 0; ) { for (count = 100; --count >= 0;) {
struct hl_group *sgp = &HL_TABLE()[hl_id - 1]; // index is ID minus one struct hl_group *sgp = &HL_TABLE()[hl_id - 1]; // index is ID minus one
// ACHTUNG: when using "tmp" attribute (no link) the function might be // ACHTUNG: when using "tmp" attribute (no link) the function might be
@ -7983,10 +7983,10 @@ static void highlight_list(void)
{ {
int i; int i;
for (i = 10; --i >= 0; ) { for (i = 10; --i >= 0;) {
highlight_list_two(i, HL_ATTR(HLF_D)); highlight_list_two(i, HL_ATTR(HLF_D));
} }
for (i = 40; --i >= 0; ) { for (i = 40; --i >= 0;) {
highlight_list_two(99, 0); highlight_list_two(99, 0);
} }
} }

View File

@ -431,7 +431,7 @@ int do_tag(char_u *tag, int type, int count, int forceit, int verbose)
/* /*
* Repeat searching for tags, when a file has not been found. * Repeat searching for tags, when a file has not been found.
*/ */
for (;; ) { for (;;) {
int other_name; int other_name;
char_u *name; char_u *name;
@ -1638,7 +1638,7 @@ int find_tags(char_u *pat, int *num_matches, char_u ***matchesp, int flags, int
/* /*
* Read and parse the lines in the file one by one * Read and parse the lines in the file one by one
*/ */
for (;; ) { for (;;) {
// check for CTRL-C typed, more often when jumping around // check for CTRL-C typed, more often when jumping around
if (state == TS_BINARY || state == TS_SKIP_BACK) { if (state == TS_BINARY || state == TS_SKIP_BACK) {
line_breakcheck(); line_breakcheck();
@ -2403,7 +2403,7 @@ int get_tagfname(tagname_T *tnp, int first, char_u *buf)
* tnp->tn_did_filefind_init == FALSE: setup for next part in 'tags'. * tnp->tn_did_filefind_init == FALSE: setup for next part in 'tags'.
* tnp->tn_did_filefind_init == TRUE: find next file in this part. * tnp->tn_did_filefind_init == TRUE: find next file in this part.
*/ */
for (;; ) { for (;;) {
if (tnp->tn_did_filefind_init) { if (tnp->tn_did_filefind_init) {
fname = vim_findfile(tnp->tn_search_ctx); fname = vim_findfile(tnp->tn_search_ctx);
if (fname != NULL) { if (fname != NULL) {
@ -2687,7 +2687,7 @@ static int jumpto_tag(const char_u *lbuf_arg, int forceit, int keep_help)
// copy the command to pbuf[], remove trailing CR/NL // copy the command to pbuf[], remove trailing CR/NL
str = tagp.command; str = tagp.command;
for (pbuf_end = pbuf; *str && *str != '\n' && *str != '\r'; ) { for (pbuf_end = pbuf; *str && *str != '\n' && *str != '\r';) {
*pbuf_end++ = *str++; *pbuf_end++ = *str++;
if (pbuf_end - pbuf + 1 >= LSIZE) { if (pbuf_end - pbuf + 1 >= LSIZE) {
break; break;
@ -3056,7 +3056,7 @@ static int find_extra(char_u **pp)
char_u first_char = **pp; char_u first_char = **pp;
// Repeat for addresses separated with ';' // Repeat for addresses separated with ';'
for (;; ) { for (;;) {
if (ascii_isdigit(*str)) { if (ascii_isdigit(*str)) {
str = skipdigits(str + 1); str = skipdigits(str + 1);
} else if (*str == '/' || *str == '?') { } else if (*str == '/' || *str == '?') {

View File

@ -922,7 +922,7 @@ static u_header_T *unserialize_uhp(bufinfo_T *bi, const char *file_name)
uhp->uh_time = undo_read_time(bi); uhp->uh_time = undo_read_time(bi);
// Unserialize optional fields. // Unserialize optional fields.
for (;; ) { for (;;) {
int len = undo_read_byte(bi); int len = undo_read_byte(bi);
if (len == EOF) { if (len == EOF) {
@ -1504,7 +1504,7 @@ void u_read_undo(char *name, const char_u *hash, const char_u *orig_name FUNC_AT
// Optional header fields. // Optional header fields.
long last_save_nr = 0; long last_save_nr = 0;
for (;; ) { for (;;) {
int len = undo_read_byte(&bi); int len = undo_read_byte(&bi);
if (len == 0 || len == EOF) { if (len == 0 || len == EOF) {

View File

@ -1036,7 +1036,7 @@ void viml_pexpr_free_ast(ExprAST ast)
ExprASTNode **const cur_node = kv_last(ast_stack); ExprASTNode **const cur_node = kv_last(ast_stack);
#ifndef NDEBUG #ifndef NDEBUG
// Explicitly check for AST recursiveness. // Explicitly check for AST recursiveness.
for (size_t i = 0 ; i < kv_size(ast_stack) - 1 ; i++) { for (size_t i = 0; i < kv_size(ast_stack) - 1; i++) {
assert(*kv_A(ast_stack, i) != *cur_node); assert(*kv_A(ast_stack, i) != *cur_node);
} }
#endif #endif

View File

@ -224,7 +224,7 @@ newwindow:
beep_flush(); beep_flush();
} else { } else {
if (Prenum) { // go to specified window if (Prenum) { // go to specified window
for (wp = firstwin; --Prenum > 0; ) { for (wp = firstwin; --Prenum > 0;) {
if (wp->w_next == NULL) { if (wp->w_next == NULL) {
break; break;
} else { } else {
@ -1958,8 +1958,8 @@ static void win_equal_rec(win_T *next_curwin, bool current, frame_T *topfr, int
// Set the width/height of this frame. // Set the width/height of this frame.
// Redraw when size or position changes // Redraw when size or position changes
if (topfr->fr_height != height || topfr->fr_win->w_winrow != row if (topfr->fr_height != height || topfr->fr_win->w_winrow != row
|| topfr->fr_width != width || || topfr->fr_width != width
topfr->fr_win->w_wincol != col) { || topfr->fr_win->w_wincol != col) {
topfr->fr_win->w_winrow = row; topfr->fr_win->w_winrow = row;
frame_new_height(topfr, height, false, false); frame_new_height(topfr, height, false, false);
topfr->fr_win->w_wincol = col; topfr->fr_win->w_wincol = col;
@ -2239,7 +2239,7 @@ void close_windows(buf_T *buf, int keep_curwin)
++RedrawingDisabled; ++RedrawingDisabled;
for (win_T *wp = firstwin; wp != NULL && !ONE_WINDOW; ) { for (win_T *wp = firstwin; wp != NULL && !ONE_WINDOW;) {
if (wp->w_buffer == buf && (!keep_curwin || wp != curwin) if (wp->w_buffer == buf && (!keep_curwin || wp != curwin)
&& !(wp->w_closing || wp->w_buffer->b_locked > 0)) { && !(wp->w_closing || wp->w_buffer->b_locked > 0)) {
if (win_close(wp, false) == FAIL) { if (win_close(wp, false) == FAIL) {
@ -2582,7 +2582,7 @@ int win_close(win_T *win, bool free_buf)
* If the cursor goes to the preview or the quickfix window, try * If the cursor goes to the preview or the quickfix window, try
* finding another window to go to. * finding another window to go to.
*/ */
for (;; ) { for (;;) {
if (wp->w_next == NULL) { if (wp->w_next == NULL) {
wp = firstwin; wp = firstwin;
} else { } else {
@ -3147,12 +3147,12 @@ static void frame_new_height(frame_T *topfrp, int height, bool topfirst, bool wf
break; break;
} }
if (topfirst) { if (topfirst) {
do{ do {
frp = frp->fr_next; frp = frp->fr_next;
} }
while (wfh && frp != NULL && frame_fixed_height(frp)); while (wfh && frp != NULL && frame_fixed_height(frp));
} else { } else {
do{ do {
frp = frp->fr_prev; frp = frp->fr_prev;
} }
while (wfh && frp != NULL && frame_fixed_height(frp)); while (wfh && frp != NULL && frame_fixed_height(frp));
@ -3347,12 +3347,12 @@ static void frame_new_width(frame_T *topfrp, int width, bool leftfirst, bool wfw
break; break;
} }
if (leftfirst) { if (leftfirst) {
do{ do {
frp = frp->fr_next; frp = frp->fr_next;
} }
while (wfw && frp != NULL && frame_fixed_width(frp)); while (wfw && frp != NULL && frame_fixed_width(frp));
} else { } else {
do{ do {
frp = frp->fr_prev; frp = frp->fr_prev;
} }
while (wfw && frp != NULL && frame_fixed_width(frp)); while (wfw && frp != NULL && frame_fixed_width(frp));
@ -4316,7 +4316,7 @@ win_T *win_vert_neighbor(tabpage_T *tp, win_T *wp, bool up, long count)
* downwards neighbor. * downwards neighbor.
*/ */
fr = foundfr; fr = foundfr;
for (;; ) { for (;;) {
if (fr == tp->tp_topframe) { if (fr == tp->tp_topframe) {
goto end; goto end;
} }
@ -4334,7 +4334,7 @@ win_T *win_vert_neighbor(tabpage_T *tp, win_T *wp, bool up, long count)
/* /*
* Now go downwards to find the bottom or top frame in it. * Now go downwards to find the bottom or top frame in it.
*/ */
for (;; ) { for (;;) {
if (nfr->fr_layout == FR_LEAF) { if (nfr->fr_layout == FR_LEAF) {
foundfr = nfr; foundfr = nfr;
break; break;
@ -4399,7 +4399,7 @@ win_T *win_horz_neighbor(tabpage_T *tp, win_T *wp, bool left, long count)
* right neighbor. * right neighbor.
*/ */
fr = foundfr; fr = foundfr;
for (;; ) { for (;;) {
if (fr == tp->tp_topframe) { if (fr == tp->tp_topframe) {
goto end; goto end;
} }
@ -4417,7 +4417,7 @@ win_T *win_horz_neighbor(tabpage_T *tp, win_T *wp, bool left, long count)
/* /*
* Now go downwards to find the leftmost or rightmost frame in it. * Now go downwards to find the leftmost or rightmost frame in it.
*/ */
for (;; ) { for (;;) {
if (nfr->fr_layout == FR_LEAF) { if (nfr->fr_layout == FR_LEAF) {
foundfr = nfr; foundfr = nfr;
break; break;
@ -5827,8 +5827,8 @@ void scroll_to_fraction(win_T *wp, int prev_height)
// is visible. // is visible.
if (height > 0 if (height > 0
&& (!wp->w_p_scb || wp == curwin) && (!wp->w_p_scb || wp == curwin)
&& (height < wp->w_buffer->b_ml.ml_line_count || && (height < wp->w_buffer->b_ml.ml_line_count
wp->w_topline > 1)) { || wp->w_topline > 1)) {
/* /*
* Find a value for w_topline that shows the cursor at the same * Find a value for w_topline that shows the cursor at the same
* relative position in the window as before (more or less). * relative position in the window as before (more or less).
@ -6084,7 +6084,7 @@ void command_height(void)
static void frame_add_height(frame_T *frp, int n) static void frame_add_height(frame_T *frp, int n)
{ {
frame_new_height(frp, frp->fr_height + n, false, false); frame_new_height(frp, frp->fr_height + n, false, false);
for (;; ) { for (;;) {
frp = frp->fr_parent; frp = frp->fr_parent;
if (frp == NULL) { if (frp == NULL) {
break; break;
@ -7010,7 +7010,7 @@ int win_getid(typval_T *argvars)
wp = tp->tp_firstwin; wp = tp->tp_firstwin;
} }
} }
for ( ; wp != NULL; wp = wp->w_next) { for (; wp != NULL; wp = wp->w_next) {
if (--winnr == 0) { if (--winnr == 0) {
return wp->handle; return wp->handle;
} }

View File

@ -141,7 +141,7 @@ sp_enum_before_assign = ignore # ignore/add/remove/force/not_defined
# Add or remove space after assignment '=' in enum. # Add or remove space after assignment '=' in enum.
# #
# Overrides sp_enum_assign. # Overrides sp_enum_assign.
sp_enum_after_assign = ignore # ignore/add/remove/force/not_defined sp_enum_after_assign = force # ignore/add/remove/force/not_defined
# Add or remove space around assignment ':' in enum. # Add or remove space around assignment ':' in enum.
sp_enum_colon = ignore # ignore/add/remove/force/not_defined sp_enum_colon = ignore # ignore/add/remove/force/not_defined
@ -149,11 +149,11 @@ sp_enum_colon = ignore # ignore/add/remove/force/not_defined
# Add or remove space around preprocessor '##' concatenation operator. # Add or remove space around preprocessor '##' concatenation operator.
# #
# Default: add # Default: add
sp_pp_concat = ignore # ignore/add/remove/force/not_defined sp_pp_concat = remove # ignore/add/remove/force/not_defined
# Add or remove space after preprocessor '#' stringify operator. # Add or remove space after preprocessor '#' stringify operator.
# Also affects the '#@' charizing operator. # Also affects the '#@' charizing operator.
sp_pp_stringify = ignore # ignore/add/remove/force/not_defined sp_pp_stringify = remove # ignore/add/remove/force/not_defined
# Add or remove space before preprocessor '#' stringify operator # Add or remove space before preprocessor '#' stringify operator
# as in '#define x(y) L#y'. # as in '#define x(y) L#y'.
@ -334,10 +334,10 @@ sp_after_sparen = ignore # ignore/add/remove/force/not_defined
sp_sparen_brace = ignore # ignore/add/remove/force/not_defined sp_sparen_brace = ignore # ignore/add/remove/force/not_defined
# Add or remove space between 'do' and '{'. # Add or remove space between 'do' and '{'.
sp_do_brace_open = ignore # ignore/add/remove/force/not_defined sp_do_brace_open = force # ignore/add/remove/force/not_defined
# Add or remove space between '}' and 'while'. # Add or remove space between '}' and 'while'.
sp_brace_close_while = ignore # ignore/add/remove/force/not_defined sp_brace_close_while = force # ignore/add/remove/force/not_defined
# Add or remove space between 'while' and '('. Overrides sp_before_sparen. # Add or remove space between 'while' and '('. Overrides sp_before_sparen.
sp_while_paren_open = ignore # ignore/add/remove/force/not_defined sp_while_paren_open = ignore # ignore/add/remove/force/not_defined
@ -354,18 +354,18 @@ sp_special_semi = ignore # ignore/add/remove/force/not_defined
# Add or remove space before ';'. # Add or remove space before ';'.
# #
# Default: remove # Default: remove
sp_before_semi = ignore # ignore/add/remove/force/not_defined sp_before_semi = remove # ignore/add/remove/force/not_defined
# Add or remove space before ';' in non-empty 'for' statements. # Add or remove space before ';' in non-empty 'for' statements.
sp_before_semi_for = ignore # ignore/add/remove/force/not_defined sp_before_semi_for = remove # ignore/add/remove/force/not_defined
# Add or remove space before a semicolon of an empty left part of a for # Add or remove space before a semicolon of an empty left part of a for
# statement, as in 'for ( <here> ; ; )'. # statement, as in 'for ( <here> ; ; )'.
sp_before_semi_for_empty = ignore # ignore/add/remove/force/not_defined sp_before_semi_for_empty = remove # ignore/add/remove/force/not_defined
# Add or remove space between the semicolons of an empty middle part of a for # Add or remove space between the semicolons of an empty middle part of a for
# statement, as in 'for ( ; <here> ; )'. # statement, as in 'for ( ; <here> ; )'.
sp_between_semi_for_empty = ignore # ignore/add/remove/force/not_defined sp_between_semi_for_empty = remove # ignore/add/remove/force/not_defined
# Add or remove space after ';', except when followed by a comment. # Add or remove space after ';', except when followed by a comment.
# #
@ -379,10 +379,10 @@ sp_after_semi_for = force # ignore/add/remove/force/not_defined
# Add or remove space after the final semicolon of an empty part of a for # Add or remove space after the final semicolon of an empty part of a for
# statement, as in 'for ( ; ; <here> )'. # statement, as in 'for ( ; ; <here> )'.
sp_after_semi_for_empty = ignore # ignore/add/remove/force/not_defined sp_after_semi_for_empty = remove # ignore/add/remove/force/not_defined
# Add or remove space before '[' (except '[]'). # Add or remove space before '[' (except '[]').
sp_before_square = ignore # ignore/add/remove/force/not_defined sp_before_square = remove # ignore/add/remove/force/not_defined
# Add or remove space before '[' for a variable definition. # Add or remove space before '[' for a variable definition.
# #
@ -393,13 +393,13 @@ sp_before_vardef_square = remove # ignore/add/remove/force/not_defined
sp_before_square_asm_block = ignore # ignore/add/remove/force/not_defined sp_before_square_asm_block = ignore # ignore/add/remove/force/not_defined
# Add or remove space before '[]'. # Add or remove space before '[]'.
sp_before_squares = ignore # ignore/add/remove/force/not_defined sp_before_squares = remove # ignore/add/remove/force/not_defined
# Add or remove space before C++17 structured bindings. # Add or remove space before C++17 structured bindings.
sp_cpp_before_struct_binding = ignore # ignore/add/remove/force/not_defined sp_cpp_before_struct_binding = ignore # ignore/add/remove/force/not_defined
# Add or remove space inside a non-empty '[' and ']'. # Add or remove space inside a non-empty '[' and ']'.
sp_inside_square = ignore # ignore/add/remove/force/not_defined sp_inside_square = remove # ignore/add/remove/force/not_defined
# Add or remove space inside '[]'. # Add or remove space inside '[]'.
sp_inside_square_empty = ignore # ignore/add/remove/force/not_defined sp_inside_square_empty = ignore # ignore/add/remove/force/not_defined
@ -592,18 +592,18 @@ sp_func_def_paren_empty = ignore # ignore/add/remove/force/not_defined
# Add or remove space inside empty function '()'. # Add or remove space inside empty function '()'.
# Overrides sp_after_angle unless use_sp_after_angle_always is set to true. # Overrides sp_after_angle unless use_sp_after_angle_always is set to true.
sp_inside_fparens = ignore # ignore/add/remove/force/not_defined sp_inside_fparens = remove # ignore/add/remove/force/not_defined
# Add or remove space inside function '(' and ')'. # Add or remove space inside function '(' and ')'.
sp_inside_fparen = ignore # ignore/add/remove/force/not_defined sp_inside_fparen = remove # ignore/add/remove/force/not_defined
# Add or remove space inside the first parentheses in a function type, as in # Add or remove space inside the first parentheses in a function type, as in
# 'void (*x)(...)'. # 'void (*x)(...)'.
sp_inside_tparen = ignore # ignore/add/remove/force/not_defined sp_inside_tparen = remove # ignore/add/remove/force/not_defined
# Add or remove space between the ')' and '(' in a function type, as in # Add or remove space between the ')' and '(' in a function type, as in
# 'void (*x)(...)'. # 'void (*x)(...)'.
sp_after_tparen_close = ignore # ignore/add/remove/force/not_defined sp_after_tparen_close = remove # ignore/add/remove/force/not_defined
# Add or remove space between ']' and '(' when part of a function call. # Add or remove space between ']' and '(' when part of a function call.
sp_square_fparen = ignore # ignore/add/remove/force/not_defined sp_square_fparen = ignore # ignore/add/remove/force/not_defined
@ -649,7 +649,7 @@ sp_func_class_paren = ignore # ignore/add/remove/force/not_defined
sp_func_class_paren_empty = ignore # ignore/add/remove/force/not_defined sp_func_class_paren_empty = ignore # ignore/add/remove/force/not_defined
# Add or remove space between 'return' and '('. # Add or remove space between 'return' and '('.
sp_return_paren = ignore # ignore/add/remove/force/not_defined sp_return_paren = force # ignore/add/remove/force/not_defined
# Add or remove space between 'return' and '{'. # Add or remove space between 'return' and '{'.
sp_return_brace = ignore # ignore/add/remove/force/not_defined sp_return_brace = ignore # ignore/add/remove/force/not_defined
@ -714,7 +714,7 @@ sp_else_brace = add # ignore/add/remove/force/not_defined
sp_brace_else = add # ignore/add/remove/force/not_defined sp_brace_else = add # ignore/add/remove/force/not_defined
# Add or remove space between '}' and the name of a typedef on the same line. # Add or remove space between '}' and the name of a typedef on the same line.
sp_brace_typedef = ignore # ignore/add/remove/force/not_defined sp_brace_typedef = force # ignore/add/remove/force/not_defined
# Add or remove space before the '{' of a 'catch' statement, if the '{' and # Add or remove space before the '{' of a 'catch' statement, if the '{' and
# 'catch' are on the same line, as in 'catch (decl) <here> {'. # 'catch' are on the same line, as in 'catch (decl) <here> {'.
@ -1632,7 +1632,7 @@ nl_using_brace = ignore # ignore/add/remove/force/not_defined
nl_brace_brace = ignore # ignore/add/remove/force/not_defined nl_brace_brace = ignore # ignore/add/remove/force/not_defined
# Add or remove newline between 'do' and '{'. # Add or remove newline between 'do' and '{'.
nl_do_brace = ignore # ignore/add/remove/force/not_defined nl_do_brace = remove # ignore/add/remove/force/not_defined
# Add or remove newline between '}' and 'while' of 'do' statement. # Add or remove newline between '}' and 'while' of 'do' statement.
nl_brace_while = ignore # ignore/add/remove/force/not_defined nl_brace_while = ignore # ignore/add/remove/force/not_defined
@ -2333,7 +2333,7 @@ pos_arith = ignore # ignore/break/force/lead/trail/join/
pos_assign = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force pos_assign = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
# The position of Boolean operators in wrapped expressions. # The position of Boolean operators in wrapped expressions.
pos_bool = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force pos_bool = lead # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
# The position of comparison operators in wrapped expressions. # The position of comparison operators in wrapped expressions.
pos_compare = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force pos_compare = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
@ -3307,5 +3307,5 @@ set QUESTION REAL_FATTR_CONST
set QUESTION REAL_FATTR_NONNULL_ALL set QUESTION REAL_FATTR_NONNULL_ALL
set QUESTION REAL_FATTR_PURE set QUESTION REAL_FATTR_PURE
set QUESTION REAL_FATTR_WARN_UNUSED_RESULT set QUESTION REAL_FATTR_WARN_UNUSED_RESULT
# option(s) with 'not default' value: 69 # option(s) with 'not default' value: 87
# #