Mercurial > vim
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 |