Problem: Code indenting is confused by macros.
Solution: Put semicolon after the macros instead of inside. (Ozaki Kiichi,
closes #12257)
save_redo_T save_redo;
int save_KeyTyped = KeyTyped;
int save_did_emsg;
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
/*
* Quickly return if there are no autocommands for this event or
// name and lnum are filled in later
estack_push(ETYPE_AUCMD, NULL, 0);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
save_current_sctx = current_sctx;
filechangeshell_busy = FALSE;
autocmd_nested = save_autocmd_nested;
vim_free(SOURCING_NAME);
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
vim_free(autocmd_fname);
autocmd_fname = save_autocmd_fname;
int end;
int retval = OK;
sctx_T save_current_sctx;
-
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
prev = -1;
for (s = ml_get(lnum); *s != NUL; ++s)
// prepare for emsg()
estack_push(ETYPE_MODELINE, (char_u *)"modelines", lnum);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
end = FALSE;
while (end == FALSE)
s = e + 1; // advance to next part
}
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
vim_free(linecopy);
}
{
char *p = NULL;
msglist_T *messages = NULL;
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
/*
* If the uncaught exception is a user exception, report it as an
estack_push(ETYPE_EXCEPT, current_exception->throw_name,
current_exception->throw_lnum);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
current_exception->throw_name = NULL;
discard_current_exception(); // uses IObuff if 'verbose'
vim_free(p);
}
vim_free(SOURCING_NAME);
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
}
#ifdef ABORT_ON_INTERNAL_ERROR
-# define ESTACK_CHECK_DECLARATION int estack_len_before;
-# define ESTACK_CHECK_SETUP estack_len_before = exestack.ga_len;
-# define ESTACK_CHECK_NOW if (estack_len_before != exestack.ga_len) \
- siemsg("Exestack length expected: %d, actual: %d", estack_len_before, exestack.ga_len);
-# define CHECK_CURBUF if (curwin != NULL && curwin->w_buffer != curbuf) \
- iemsg("curbuf != curwin->w_buffer")
+# define ESTACK_CHECK_DECLARATION int estack_len_before
+# define ESTACK_CHECK_SETUP do { estack_len_before = exestack.ga_len; } while (0)
+# define ESTACK_CHECK_NOW \
+ do { \
+ if (estack_len_before != exestack.ga_len) \
+ siemsg("Exestack length expected: %d, actual: %d", estack_len_before, exestack.ga_len); \
+ } while (0)
+# define CHECK_CURBUF \
+ do { \
+ if (curwin != NULL && curwin->w_buffer != curbuf) \
+ iemsg("curbuf != curwin->w_buffer"); \
+ } while (0)
#else
-# define ESTACK_CHECK_DECLARATION
-# define ESTACK_CHECK_SETUP
-# define ESTACK_CHECK_NOW
-# define CHECK_CURBUF
+# define ESTACK_CHECK_DECLARATION do { /**/ } while (0)
+# define ESTACK_CHECK_SETUP do { /**/ } while (0)
+# define ESTACK_CHECK_NOW do { /**/ } while (0)
+# define CHECK_CURBUF do { /**/ } while (0)
#endif
// Inline the condition for performance.
-#define CHECK_LIST_MATERIALIZE(l) if ((l)->lv_first == &range_list_item) range_list_materialize(l)
+#define CHECK_LIST_MATERIALIZE(l) \
+ do { \
+ if ((l)->lv_first == &range_list_item) \
+ range_list_materialize(l); \
+ } while (0)
// Inlined version of ga_grow() with optimized condition that it fails.
#define GA_GROW_FAILS(gap, n) unlikely((((gap)->ga_maxlen - (gap)->ga_len < (n)) ? ga_grow_inner((gap), (n)) : OK) == FAIL)
char_u **cmds = parmp->pre_commands;
int cnt = parmp->n_pre_commands;
int i;
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
if (cnt <= 0)
return;
curwin->w_cursor.lnum = 0; // just in case..
estack_push(ETYPE_ARGS, (char_u *)_("pre-vimrc command line"), 0);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
# ifdef FEAT_EVAL
- current_sctx.sc_sid = SID_CMDARG;
+ current_sctx.sc_sid = SID_CMDARG;
# endif
- for (i = 0; i < cnt; ++i)
- do_cmdline_cmd(cmds[i]);
- ESTACK_CHECK_NOW
- estack_pop();
+ for (i = 0; i < cnt; ++i)
+ do_cmdline_cmd(cmds[i]);
+ ESTACK_CHECK_NOW;
+ estack_pop();
# ifdef FEAT_EVAL
current_sctx.sc_sid = 0;
# endif
exe_commands(mparm_T *parmp)
{
int i;
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
/*
* We start commands on line 0, make "vim +/pat file" match a
if (parmp->tagname == NULL && curwin->w_cursor.lnum <= 1)
curwin->w_cursor.lnum = 0;
estack_push(ETYPE_ARGS, (char_u *)"command line", 0);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
#ifdef FEAT_EVAL
current_sctx.sc_sid = SID_CARG;
current_sctx.sc_seq = 0;
if (parmp->cmds_tofree[i])
vim_free(parmp->commands[i]);
}
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
#ifdef FEAT_EVAL
current_sctx.sc_sid = 0;
{
char_u *initstr;
sctx_T save_current_sctx;
-
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
if ((initstr = mch_getenv(env)) == NULL || *initstr == NUL)
return FAIL;
if (is_viminit)
vimrc_found(NULL, NULL);
estack_push(ETYPE_ENV, env, 0);
- ESTACK_CHECK_SETUP
- save_current_sctx = current_sctx;
+ ESTACK_CHECK_SETUP;
+ save_current_sctx = current_sctx;
current_sctx.sc_version = 1;
#ifdef FEAT_EVAL
current_sctx.sc_sid = SID_ENV;
do_cmdline_cmd(initstr);
- ESTACK_CHECK_NOW
- estack_pop();
+ ESTACK_CHECK_NOW;
+ estack_pop();
current_sctx = save_current_sctx;
return OK;
}
int abbr;
int hash;
buf_T *bp;
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
validate_maphash();
// avoids giving error messages
estack_push(ETYPE_INTERNAL, (char_u *)"mappings", 0);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
// Do this once for each buffer, and then once for global
// mappings/abbreviations with bp == NULL
if (bp == NULL)
break;
}
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
}
char_u *firstline = NULL;
int retval = FAIL;
sctx_T save_current_sctx;
-#ifdef FEAT_EVAL
- funccal_entry_T funccalp_entry;
- int save_debug_break_level = debug_break_level;
- int sid = -1;
- scriptitem_T *si = NULL;
- int save_estack_compiling = estack_compiling;
- ESTACK_CHECK_DECLARATION
-#endif
#ifdef STARTUPTIME
struct timeval tv_rel;
struct timeval tv_start;
#endif
int save_sticky_cmdmod_flags = sticky_cmdmod_flags;
int trigger_source_post = FALSE;
+#ifdef FEAT_EVAL
+ funccal_entry_T funccalp_entry;
+ int save_debug_break_level = debug_break_level;
+ int sid = -1;
+ scriptitem_T *si = NULL;
+ int save_estack_compiling = estack_compiling;
+ ESTACK_CHECK_DECLARATION;
+#endif
CLEAR_FIELD(cookie);
if (fname == NULL)
// Keep the sourcing name/lnum, for recursive calls.
estack_push(ETYPE_SCRIPT, si->sn_name, 0);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
# ifdef FEAT_PROFILE
if (do_profiling == PROF_YES)
if (got_int)
emsg(_(e_interrupted));
#ifdef FEAT_EVAL
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
#endif
estack_pop();
if (p_verbose > 1)
int c = 0;
int res;
int did_estack_push = FALSE;
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
fd = mch_fopen((char *)fname, "r");
if (fd == NULL)
// Set sourcing_name, so that error messages mention the file name.
estack_push(ETYPE_SPELL, fname, 0);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
did_estack_push = TRUE;
/*
fclose(fd);
if (did_estack_push)
{
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
}
#ifdef FEAT_PROFILE
profinfo_T profile_info;
#endif
- ESTACK_CHECK_DECLARATION
+ ESTACK_CHECK_DECLARATION;
#ifdef FEAT_PROFILE
CLEAR_FIELD(profile_info);
}
estack_push_ufunc(fp, 1);
- ESTACK_CHECK_SETUP
+ ESTACK_CHECK_SETUP;
if (p_verbose >= 12)
{
++no_wait_return;
--no_wait_return;
}
- ESTACK_CHECK_NOW
+ ESTACK_CHECK_NOW;
estack_pop();
current_sctx = save_current_sctx;
restore_current_ectx(save_current_ectx);
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1454,
/**/
1453,
/**/