diff options
Diffstat (limited to 'src/globals.h')
-rw-r--r-- | src/globals.h | 37 |
1 files changed, 26 insertions, 11 deletions
diff --git a/src/globals.h b/src/globals.h index 6f594e9132..199a0c5e7a 100644 --- a/src/globals.h +++ b/src/globals.h @@ -574,6 +574,10 @@ EXTERN vimmenu_T *root_menu INIT(= NULL); * overruling of menus that the user already defined. */ EXTERN int sys_menu INIT(= FALSE); + +#define FOR_ALL_MENUS(m) for ((m) = root_menu; (m) != NULL; (m) = (m)->next) +#define FOR_ALL_CHILD_MENUS(p, c) \ + for ((c) = (p)->children; (c) != NULL; (c) = (c)->next) #endif #ifdef FEAT_GUI @@ -724,7 +728,8 @@ EXTERN buf_T *firstbuf INIT(= NULL); // first buffer EXTERN buf_T *lastbuf INIT(= NULL); // last buffer EXTERN buf_T *curbuf INIT(= NULL); // currently active buffer -#define FOR_ALL_BUFFERS(buf) for (buf = firstbuf; buf != NULL; buf = buf->b_next) +#define FOR_ALL_BUFFERS(buf) \ + for ((buf) = firstbuf; (buf) != NULL; (buf) = (buf)->b_next) #define FOR_ALL_BUF_WININFO(buf, wip) \ for ((wip) = (buf)->b_wininfo; (wip) != NULL; (wip) = (wip)->wi_next) @@ -1484,7 +1489,7 @@ EXTERN disptick_T display_tick INIT(= 0); EXTERN linenr_T spell_redraw_lnum INIT(= 0); #define FOR_ALL_SPELL_LANGS(slang) \ - for ((slang) = first_lang; (slang) != NULL; (slang) = slang->sl_next) + for ((slang) = first_lang; (slang) != NULL; (slang) = (slang)->sl_next) #endif #ifdef FEAT_CONCEAL @@ -1545,20 +1550,20 @@ EXTERN char e_font[] INIT(= N_("E235: Unknown font: %s")); EXTERN char e_fontwidth[] INIT(= N_("E236: Font \"%s\" is not fixed-width")); #endif EXTERN char e_internal[] INIT(= N_("E473: Internal error")); -EXTERN char e_intern2[] INIT(= N_("E685: Internal error: %s")); -EXTERN char e_interr[] INIT(= N_("Interrupted")); -EXTERN char e_invarg[] INIT(= N_("E474: Invalid argument")); -EXTERN char e_invarg2[] INIT(= N_("E475: Invalid argument: %s")); -EXTERN char e_duparg2[] INIT(= N_("E983: Duplicate argument: %s")); +EXTERN char e_intern2[] INIT(= N_("E685: Internal error: %s")); +EXTERN char e_interr[] INIT(= N_("Interrupted")); +EXTERN char e_invarg[] INIT(= N_("E474: Invalid argument")); +EXTERN char e_invarg2[] INIT(= N_("E475: Invalid argument: %s")); +EXTERN char e_duparg2[] INIT(= N_("E983: Duplicate argument: %s")); EXTERN char e_invargval[] INIT(= N_("E475: Invalid value for argument %s")); EXTERN char e_invargNval[] INIT(= N_("E475: Invalid value for argument %s: %s")); #ifdef FEAT_EVAL EXTERN char e_invexpr2[] INIT(= N_("E15: Invalid expression: %s")); #endif EXTERN char e_invrange[] INIT(= N_("E16: Invalid range")); -EXTERN char e_invcmd[] INIT(= N_("E476: Invalid command")); +EXTERN char e_invcmd[] INIT(= N_("E476: Invalid command")); #if defined(UNIX) || defined(FEAT_SYN_HL) || defined(FEAT_SPELL) -EXTERN char e_isadir2[] INIT(= N_("E17: \"%s\" is a directory")); +EXTERN char e_isadir2[] INIT(= N_("E17: \"%s\" is a directory")); #endif #ifdef FEAT_LIBCALL EXTERN char e_libcall[] INIT(= N_("E364: Library call failed for \"%s()\"")); @@ -1614,8 +1619,8 @@ EXTERN char e_noserver[] INIT(= N_("E247: no registered server named \"%s\"")); #endif EXTERN char e_notcreate[] INIT(= N_("E482: Can't create file %s")); EXTERN char e_notmp[] INIT(= N_("E483: Can't get temp file name")); -EXTERN char e_notopen[] INIT(= N_("E484: Can't open file %s")); -EXTERN char e_notread[] INIT(= N_("E485: Can't read file %s")); +EXTERN char e_notopen[] INIT(= N_("E484: Can't open file %s")); +EXTERN char e_notread[] INIT(= N_("E485: Can't read file %s")); EXTERN char e_null[] INIT(= N_("E38: Null argument")); #if defined(FEAT_DIGRAPHS) || defined(FEAT_TIMERS) || defined(FEAT_EVAL) EXTERN char e_number_exp[] INIT(= N_("E39: Number expected")); @@ -1837,6 +1842,16 @@ EXTERN HINSTANCE g_hinst INIT(= NULL); EXTERN int did_repeated_msg INIT(= 0); # define REPEATED_MSG_LOOKING 1 # define REPEATED_MSG_SAFESTATE 2 + +#define FOR_ALL_CHANNELS(ch) \ + for ((ch) = first_channel; (ch) != NULL; (ch) = (ch)->ch_next) +#define FOR_ALL_JOBS(job) \ + for ((job) = first_job; (job) != NULL; (job) = (job)->jv_next) +#endif + +#if defined(FEAT_DIFF) +#define FOR_ALL_DIFFBLOCKS_IN_TAB(tp, dp) \ + for ((dp) = (tp)->tp_first_diff; (dp) != NULL; (dp) = (dp)->df_next) #endif #define FOR_ALL_LIST_ITEMS(l, li) \ |