comparison src/globals.h @ 12477:68d7bc045dbe v8.0.1118

patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs commit https://github.com/vim/vim/commit/4033c55eca575777718c0701e26635a0cc47d907 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 16 20:54:51 2017 +0200 patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always enabled and only adds 7% to the binary size of the tiny build. Solution: Graduate FEAT_WINDOWS.
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Sep 2017 21:00:06 +0200
parents ab0d827151a1
children 895da0cbb16e
comparison
equal deleted inserted replaced
12476:2516383741e6 12477:68d7bc045dbe
61 /* Only used for euc-jp: Second byte of a character that starts with 0x8e. 61 /* Only used for euc-jp: Second byte of a character that starts with 0x8e.
62 * These are single-width. */ 62 * These are single-width. */
63 EXTERN schar_T *ScreenLines2 INIT(= NULL); 63 EXTERN schar_T *ScreenLines2 INIT(= NULL);
64 #endif 64 #endif
65 65
66 #ifdef FEAT_WINDOWS
67 /* 66 /*
68 * Indexes for tab page line: 67 * Indexes for tab page line:
69 * N > 0 for label of tab page N 68 * N > 0 for label of tab page N
70 * N == 0 for no label 69 * N == 0 for no label
71 * N < 0 for closing tab page -N 70 * N < 0 for closing tab page -N
72 * N == -999 for closing current tab page 71 * N == -999 for closing current tab page
73 */ 72 */
74 EXTERN short *TabPageIdxs INIT(= NULL); 73 EXTERN short *TabPageIdxs INIT(= NULL);
75 #endif
76 74
77 EXTERN int screen_Rows INIT(= 0); /* actual size of ScreenLines[] */ 75 EXTERN int screen_Rows INIT(= 0); /* actual size of ScreenLines[] */
78 EXTERN int screen_Columns INIT(= 0); /* actual size of ScreenLines[] */ 76 EXTERN int screen_Columns INIT(= 0); /* actual size of ScreenLines[] */
79 77
80 /* 78 /*
438 436
439 # ifdef FEAT_MOUSESHAPE 437 # ifdef FEAT_MOUSESHAPE
440 EXTERN int drag_status_line INIT(= FALSE); /* dragging the status line */ 438 EXTERN int drag_status_line INIT(= FALSE); /* dragging the status line */
441 EXTERN int postponed_mouseshape INIT(= FALSE); /* postponed updating the 439 EXTERN int postponed_mouseshape INIT(= FALSE); /* postponed updating the
442 mouse pointer shape */ 440 mouse pointer shape */
443 # ifdef FEAT_WINDOWS
444 EXTERN int drag_sep_line INIT(= FALSE); /* dragging vert separator */ 441 EXTERN int drag_sep_line INIT(= FALSE); /* dragging vert separator */
445 # endif
446 # endif 442 # endif
447 443
448 #endif 444 #endif
449 445
450 #ifdef FEAT_DIFF 446 #ifdef FEAT_DIFF
548 544
549 /* 545 /*
550 * All windows are linked in a list. firstwin points to the first entry, 546 * All windows are linked in a list. firstwin points to the first entry,
551 * lastwin to the last entry (can be the same as firstwin) and curwin to the 547 * lastwin to the last entry (can be the same as firstwin) and curwin to the
552 * currently active window. 548 * currently active window.
553 * Without the FEAT_WINDOWS they are all equal. 549 */
554 */
555 #ifdef FEAT_WINDOWS
556 EXTERN win_T *firstwin; /* first window */ 550 EXTERN win_T *firstwin; /* first window */
557 EXTERN win_T *lastwin; /* last window */ 551 EXTERN win_T *lastwin; /* last window */
558 EXTERN win_T *prevwin INIT(= NULL); /* previous window */ 552 EXTERN win_T *prevwin INIT(= NULL); /* previous window */
559 # define ONE_WINDOW (firstwin == lastwin) 553 # define ONE_WINDOW (firstwin == lastwin)
560 # define W_NEXT(wp) ((wp)->w_next) 554 # define W_NEXT(wp) ((wp)->w_next)
569 */ 563 */
570 # define FOR_ALL_TAB_WINDOWS(tp, wp) \ 564 # define FOR_ALL_TAB_WINDOWS(tp, wp) \
571 for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \ 565 for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \
572 for ((wp) = ((tp) == curtab) \ 566 for ((wp) = ((tp) == curtab) \
573 ? firstwin : (tp)->tp_firstwin; (wp); (wp) = (wp)->w_next) 567 ? firstwin : (tp)->tp_firstwin; (wp); (wp) = (wp)->w_next)
574 #else
575 # define firstwin curwin
576 # define lastwin curwin
577 # define ONE_WINDOW 1
578 # define W_NEXT(wp) NULL
579 # define FOR_ALL_WINDOWS(wp) wp = curwin;
580 # define FOR_ALL_TABPAGES(tp) for (;FALSE;)
581 # define FOR_ALL_WINDOWS_IN_TAB(tp, wp) wp = curwin;
582 # define FOR_ALL_TAB_WINDOWS(tp, wp) wp = curwin;
583 #endif
584 568
585 EXTERN win_T *curwin; /* currently active window */ 569 EXTERN win_T *curwin; /* currently active window */
586 570
587 #ifdef FEAT_AUTOCMD 571 #ifdef FEAT_AUTOCMD
588 EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */ 572 EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */
593 * The window layout is kept in a tree of frames. topframe points to the top 577 * The window layout is kept in a tree of frames. topframe points to the top
594 * of the tree. 578 * of the tree.
595 */ 579 */
596 EXTERN frame_T *topframe; /* top of the window frame tree */ 580 EXTERN frame_T *topframe; /* top of the window frame tree */
597 581
598 #ifdef FEAT_WINDOWS
599 /* 582 /*
600 * Tab pages are alternative topframes. "first_tabpage" points to the first 583 * Tab pages are alternative topframes. "first_tabpage" points to the first
601 * one in the list, "curtab" is the current one. 584 * one in the list, "curtab" is the current one.
602 */ 585 */
603 EXTERN tabpage_T *first_tabpage; 586 EXTERN tabpage_T *first_tabpage;
604 EXTERN tabpage_T *curtab; 587 EXTERN tabpage_T *curtab;
605 EXTERN int redraw_tabline INIT(= FALSE); /* need to redraw tabline */ 588 EXTERN int redraw_tabline INIT(= FALSE); /* need to redraw tabline */
606 #endif
607 589
608 /* 590 /*
609 * All buffers are linked in a list. 'firstbuf' points to the first entry, 591 * All buffers are linked in a list. 'firstbuf' points to the first entry,
610 * 'lastbuf' to the last entry and 'curbuf' to the currently active buffer. 592 * 'lastbuf' to the last entry and 'curbuf' to the currently active buffer.
611 */ 593 */
1099 ; 1081 ;
1100 EXTERN varnumber_T last_changedtick INIT(= 0); /* for TextChanged event */ 1082 EXTERN varnumber_T last_changedtick INIT(= 0); /* for TextChanged event */
1101 EXTERN buf_T *last_changedtick_buf INIT(= NULL); 1083 EXTERN buf_T *last_changedtick_buf INIT(= NULL);
1102 #endif 1084 #endif
1103 1085
1104 #ifdef FEAT_WINDOWS
1105 EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */ 1086 EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */
1106 EXTERN int postponed_split_flags INIT(= 0); /* args for win_split() */ 1087 EXTERN int postponed_split_flags INIT(= 0); /* args for win_split() */
1107 EXTERN int postponed_split_tab INIT(= 0); /* cmdmod.tab */ 1088 EXTERN int postponed_split_tab INIT(= 0); /* cmdmod.tab */
1108 # ifdef FEAT_QUICKFIX 1089 #ifdef FEAT_QUICKFIX
1109 EXTERN int g_do_tagpreview INIT(= 0); /* for tag preview commands: 1090 EXTERN int g_do_tagpreview INIT(= 0); /* for tag preview commands:
1110 height of preview window */ 1091 height of preview window */
1111 # endif
1112 #endif 1092 #endif
1113 EXTERN int replace_offset INIT(= 0); /* offset for replace_push() */ 1093 EXTERN int replace_offset INIT(= 0); /* offset for replace_push() */
1114 1094
1115 EXTERN char_u *escape_chars INIT(= (char_u *)" \t\\\"|"); 1095 EXTERN char_u *escape_chars INIT(= (char_u *)" \t\\\"|");
1116 /* need backslash in cmd line */ 1096 /* need backslash in cmd line */
1194 EXTERN int lcs_trail INIT(= NUL); 1174 EXTERN int lcs_trail INIT(= NUL);
1195 #ifdef FEAT_CONCEAL 1175 #ifdef FEAT_CONCEAL
1196 EXTERN int lcs_conceal INIT(= ' '); 1176 EXTERN int lcs_conceal INIT(= ' ');
1197 #endif 1177 #endif
1198 1178
1199 #if defined(FEAT_WINDOWS) || defined(FEAT_WILDMENU) || defined(FEAT_STL_OPT) \
1200 || defined(FEAT_FOLDING)
1201 /* Characters from 'fillchars' option */ 1179 /* Characters from 'fillchars' option */
1202 EXTERN int fill_stl INIT(= ' '); 1180 EXTERN int fill_stl INIT(= ' ');
1203 EXTERN int fill_stlnc INIT(= ' '); 1181 EXTERN int fill_stlnc INIT(= ' ');
1204 #endif
1205 #if defined(FEAT_WINDOWS) || defined(FEAT_FOLDING)
1206 EXTERN int fill_vert INIT(= ' '); 1182 EXTERN int fill_vert INIT(= ' ');
1207 EXTERN int fill_fold INIT(= '-'); 1183 EXTERN int fill_fold INIT(= '-');
1208 EXTERN int fill_diff INIT(= '-'); 1184 EXTERN int fill_diff INIT(= '-');
1209 #endif
1210 1185
1211 #ifdef FEAT_FOLDING 1186 #ifdef FEAT_FOLDING
1212 EXTERN int disable_fold_update INIT(= 0); 1187 EXTERN int disable_fold_update INIT(= 0);
1213 #endif 1188 #endif
1214 1189
1508 EXTERN char_u e_noname[] INIT(= N_("E32: No file name")); 1483 EXTERN char_u e_noname[] INIT(= N_("E32: No file name"));
1509 EXTERN char_u e_nopresub[] INIT(= N_("E33: No previous substitute regular expression")); 1484 EXTERN char_u e_nopresub[] INIT(= N_("E33: No previous substitute regular expression"));
1510 EXTERN char_u e_noprev[] INIT(= N_("E34: No previous command")); 1485 EXTERN char_u e_noprev[] INIT(= N_("E34: No previous command"));
1511 EXTERN char_u e_noprevre[] INIT(= N_("E35: No previous regular expression")); 1486 EXTERN char_u e_noprevre[] INIT(= N_("E35: No previous regular expression"));
1512 EXTERN char_u e_norange[] INIT(= N_("E481: No range allowed")); 1487 EXTERN char_u e_norange[] INIT(= N_("E481: No range allowed"));
1513 #ifdef FEAT_WINDOWS
1514 EXTERN char_u e_noroom[] INIT(= N_("E36: Not enough room")); 1488 EXTERN char_u e_noroom[] INIT(= N_("E36: Not enough room"));
1515 #endif
1516 #ifdef FEAT_CLIENTSERVER 1489 #ifdef FEAT_CLIENTSERVER
1517 EXTERN char_u e_noserver[] INIT(= N_("E247: no registered server named \"%s\"")); 1490 EXTERN char_u e_noserver[] INIT(= N_("E247: no registered server named \"%s\""));
1518 #endif 1491 #endif
1519 EXTERN char_u e_notcreate[] INIT(= N_("E482: Can't create file %s")); 1492 EXTERN char_u e_notcreate[] INIT(= N_("E482: Can't create file %s"));
1520 EXTERN char_u e_notmp[] INIT(= N_("E483: Can't get temp file name")); 1493 EXTERN char_u e_notmp[] INIT(= N_("E483: Can't get temp file name"));
1581 EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many [")); 1554 EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many ["));
1582 EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names")); 1555 EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names"));
1583 EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters")); 1556 EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters"));
1584 EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark")); 1557 EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark"));
1585 EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards")); 1558 EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards"));
1586 #ifdef FEAT_WINDOWS
1587 EXTERN char_u e_winheight[] INIT(= N_("E591: 'winheight' cannot be smaller than 'winminheight'")); 1559 EXTERN char_u e_winheight[] INIT(= N_("E591: 'winheight' cannot be smaller than 'winminheight'"));
1588 EXTERN char_u e_winwidth[] INIT(= N_("E592: 'winwidth' cannot be smaller than 'winminwidth'")); 1560 EXTERN char_u e_winwidth[] INIT(= N_("E592: 'winwidth' cannot be smaller than 'winminwidth'"));
1589 #endif
1590 EXTERN char_u e_write[] INIT(= N_("E80: Error while writing")); 1561 EXTERN char_u e_write[] INIT(= N_("E80: Error while writing"));
1591 EXTERN char_u e_zerocount[] INIT(= N_("E939: Positive count required")); 1562 EXTERN char_u e_zerocount[] INIT(= N_("E939: Positive count required"));
1592 #ifdef FEAT_EVAL 1563 #ifdef FEAT_EVAL
1593 EXTERN char_u e_usingsid[] INIT(= N_("E81: Using <SID> not in a script context")); 1564 EXTERN char_u e_usingsid[] INIT(= N_("E81: Using <SID> not in a script context"));
1594 #endif 1565 #endif