annotate src/globals.h @ 8863:e1b84109506a v7.4.1719

commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Apr 8 17:07:19 2016 +0200 patch 7.4.1719 Problem: Leaking memory when there is a cycle involving a job and a partial. Solution: Add a copyID to job and channel. Set references in items referred by them. Go through all jobs and channels to find unreferenced items. Also, decrement reference counts when garbage collecting.
author Christian Brabandt <cb@256bit.org>
date Fri, 08 Apr 2016 17:15:06 +0200
parents 24b43dd167eb
children d7ba3f9b9ba6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 /* vi:set ts=8 sts=4 sw=4:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 * definition of global variables
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 * Number of Rows and Columns in the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 * Must be long to be able to use them as options in option.c.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 * Note: Use screen_Rows and screen_Columns to access items in ScreenLines[].
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 * They may have different values when the screen wasn't (re)allocated yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 * after setting Rows or Columns (e.g., when starting up).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 EXTERN long Rows /* nr of rows in the screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 #ifdef DO_INIT
8212
05b88224cea1 commit https://github.com/vim/vim/commit/48e330aff911be1c798c88a973af6437a8141fce
Christian Brabandt <cb@256bit.org>
parents: 8011
diff changeset
22 # if defined(WIN3264)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 = 25L
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 = 24L
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 ;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 EXTERN long Columns INIT(= 80); /* nr of columns in the screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 * The characters that are currently on the screen are kept in ScreenLines[].
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 * It is a single block of characters, the size of the screen plus one line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 * The attributes for those characters are kept in ScreenAttrs[].
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 * "LineOffset[n]" is the offset from ScreenLines[] for the start of line 'n'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 * The same value is used for ScreenLinesUC[] and ScreenAttrs[].
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents: 527
diff changeset
38 *
c6296b0ad9ea updated for version 7.0151
vimboss
parents: 527
diff changeset
39 * Note: before the screen is initialized and when out of memory these can be
c6296b0ad9ea updated for version 7.0151
vimboss
parents: 527
diff changeset
40 * NULL.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 EXTERN schar_T *ScreenLines INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 EXTERN sattr_T *ScreenAttrs INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 EXTERN unsigned *LineOffset INIT(= NULL);
671
83a006f81bac updated for version 7.0199
vimboss
parents: 667
diff changeset
45 EXTERN char_u *LineWraps INIT(= NULL); /* line wraps to next line */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 #ifdef FEAT_MBYTE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 * When using Unicode characters (in UTF-8 encoding) the character in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 * ScreenLinesUC[] contains the Unicode for the character at this position, or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 * NUL when the character in ScreenLines[] is to be used (ASCII char).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 * The composing characters are to be drawn on top of the original character.
2154
7c8c7c95a865 First step in the Vim 7.3 branch. Changed version numbers.
Bram Moolenaar <bram@zimbu.org>
parents: 1972
diff changeset
53 * ScreenLinesC[0][off] is only to be used when ScreenLinesUC[off] != 0.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 * Note: These three are only allocated when enc_utf8 is set!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 EXTERN u8char_T *ScreenLinesUC INIT(= NULL); /* decoded UTF-8 characters */
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 707
diff changeset
57 EXTERN u8char_T *ScreenLinesC[MAX_MCO]; /* composing characters */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 707
diff changeset
58 EXTERN int Screen_mco INIT(= 0); /* value of p_mco used when
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 707
diff changeset
59 allocating ScreenLinesC[] */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 /* Only used for euc-jp: Second byte of a character that starts with 0x8e.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 * These are single-width. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 EXTERN schar_T *ScreenLines2 INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65
671
83a006f81bac updated for version 7.0199
vimboss
parents: 667
diff changeset
66 #ifdef FEAT_WINDOWS
681
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
67 /*
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
68 * Indexes for tab page line:
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
69 * N > 0 for label of tab page N
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
70 * N == 0 for no label
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
71 * N < 0 for closing tab page -N
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
72 * N == -999 for closing current tab page
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
73 */
9364d114ed8d updated for version 7.0204
vimboss
parents: 680
diff changeset
74 EXTERN short *TabPageIdxs INIT(= NULL);
671
83a006f81bac updated for version 7.0199
vimboss
parents: 667
diff changeset
75 #endif
83a006f81bac updated for version 7.0199
vimboss
parents: 667
diff changeset
76
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 EXTERN int screen_Rows INIT(= 0); /* actual size of ScreenLines[] */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 EXTERN int screen_Columns INIT(= 0); /* actual size of ScreenLines[] */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 * When vgetc() is called, it sets mod_mask to the set of modifiers that are
230
9281a51ca7a2 updated for version 7.0064
vimboss
parents: 227
diff changeset
82 * held down based on the MOD_MASK_* symbols that are read first.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 EXTERN int mod_mask INIT(= 0x0); /* current key modifiers */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 * Cmdline_row is the row where the command line starts, just below the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 * last window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 * When the cmdline gets longer than the available space the screen gets
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 * scrolled up. After a CTRL-D (show matches), after hitting ':' after
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 * "hit return", and for the :global command, the command line is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 * temporarily moved. The old position is restored with the next call to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 * update_screen().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 EXTERN int cmdline_row;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 EXTERN int redraw_cmdline INIT(= FALSE); /* cmdline must be redrawn */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 EXTERN int clear_cmdline INIT(= FALSE); /* cmdline must be cleared */
644
e4fa26ce8769 updated for version 7.0187
vimboss
parents: 640
diff changeset
99 EXTERN int mode_displayed INIT(= FALSE); /* mode is being displayed */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 #if defined(FEAT_CRYPT) || defined(FEAT_EVAL)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 EXTERN int cmdline_star INIT(= FALSE); /* cmdline is crypted */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 #endif
632
b6632d553df3 updated for version 7.0182
vimboss
parents: 625
diff changeset
103
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 EXTERN int exec_from_reg INIT(= FALSE); /* executing register */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 EXTERN int screen_cleared INIT(= FALSE); /* screen has been cleared */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 * When '$' is included in 'cpoptions' option set:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 * When a change command is given that deletes only part of a line, a dollar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 * is put at the end of the changed text. dollar_vcol is set to the virtual
3318
c70c005f61fb updated for version 7.3.426
Bram Moolenaar <bram@vim.org>
parents: 2823
diff changeset
112 * column of this '$'. -1 is used to indicate no $ is being displayed.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 */
3318
c70c005f61fb updated for version 7.3.426
Bram Moolenaar <bram@vim.org>
parents: 2823
diff changeset
114 EXTERN colnr_T dollar_vcol INIT(= -1);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 #ifdef FEAT_INS_EXPAND
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 /*
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
118 * Variables for Insert mode completion.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 */
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
120
657
b112ec5c73f0 updated for version 7.0193
vimboss
parents: 644
diff changeset
121 /* Length in bytes of the text being completed (this is deleted to be replaced
b112ec5c73f0 updated for version 7.0193
vimboss
parents: 644
diff changeset
122 * by the match.) */
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
123 EXTERN int compl_length INIT(= 0);
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
124
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
125 /* Set when character typed while looking for matches and it means we should
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
126 * stop looking for matches. */
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
127 EXTERN int compl_interrupted INIT(= FALSE);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
129 /* List of flags for method of completion. */
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
130 EXTERN int compl_cont_status INIT(= 0);
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
131 # define CONT_ADDING 1 /* "normal" or "adding" expansion */
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
132 # define CONT_INTRPT (2 + 4) /* a ^X interrupted the current expansion */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 /* it's set only iff N_ADDS is set */
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
134 # define CONT_N_ADDS 4 /* next ^X<> will add-new or expand-current */
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
135 # define CONT_S_IPOS 8 /* next ^X<> will set initial_pos?
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 * if so, word-wise-expansion will set SOL */
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
137 # define CONT_SOL 16 /* pattern includes start of line, just for
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 * word-wise expansion, not set for ^X^L */
449
3709cf52b9b5 updated for version 7.0119
vimboss
parents: 446
diff changeset
139 # define CONT_LOCAL 32 /* for ctrl_x_mode 0, ^X^P/^X^N do a local
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 * expansion, (eg use complete=.) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 * Functions for putting characters in the command line,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 * while keeping ScreenLines[] updated.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 #ifdef FEAT_RIGHTLEFT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 EXTERN int cmdmsg_rl INIT(= FALSE); /* cmdline is drawn right to left */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 EXTERN int msg_col;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 EXTERN int msg_row;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 EXTERN int msg_scrolled; /* Number of screen lines that windows have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 * scrolled because of printing messages. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 EXTERN int msg_scrolled_ign INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 /* when TRUE don't set need_wait_return in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 msg_puts_attr() when msg_scrolled is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 non-zero */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 EXTERN char_u *keep_msg INIT(= NULL); /* msg to be shown after redraw */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 EXTERN int keep_msg_attr INIT(= 0); /* highlight attr for keep_msg */
128
8def260d486d updated for version 7.0044
vimboss
parents: 122
diff changeset
161 EXTERN int keep_msg_more INIT(= FALSE); /* keep_msg was set by msgmore() */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 EXTERN int need_fileinfo INIT(= FALSE);/* do fileinfo() after redraw */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 EXTERN int msg_scroll INIT(= FALSE); /* msg_start() will scroll */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 EXTERN int msg_didout INIT(= FALSE); /* msg_outstr() was used in line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 EXTERN int msg_didany INIT(= FALSE); /* msg_outstr() was used at all */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 EXTERN int msg_nowait INIT(= FALSE); /* don't wait for this msg */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 EXTERN int emsg_off INIT(= 0); /* don't display errors for now,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 unless 'debug' is set. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 EXTERN int info_message INIT(= FALSE); /* printing informative message */
1007
7d29124f77f5 updated for version 7.0-133
vimboss
parents: 958
diff changeset
170 EXTERN int msg_hist_off INIT(= FALSE); /* don't add messages to history */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 #ifdef FEAT_EVAL
1620
73fe8baea242 updated for version 7.2a
vimboss
parents: 1570
diff changeset
172 EXTERN int need_clr_eos INIT(= FALSE); /* need to clear text before
73fe8baea242 updated for version 7.2a
vimboss
parents: 1570
diff changeset
173 displaying a message. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 EXTERN int emsg_skip INIT(= 0); /* don't display errors for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 expression that is skipped */
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
176 EXTERN int emsg_severe INIT(= FALSE); /* use message of next of several
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 emsg() calls for throw */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 EXTERN int did_endif INIT(= FALSE); /* just had ":endif" */
4323
f1eab4f77a6f updated for version 7.3.911
Bram Moolenaar <bram@vim.org>
parents: 4232
diff changeset
179 EXTERN dict_T vimvardict; /* Dictionary with v: variables */
f1eab4f77a6f updated for version 7.3.911
Bram Moolenaar <bram@vim.org>
parents: 4232
diff changeset
180 EXTERN dict_T globvardict; /* Dictionary with g: variables */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 EXTERN int did_emsg; /* set by emsg() when the message
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 is displayed or thrown */
3757
3b62d8f36cdf updated for version 7.3.637
Bram Moolenaar <bram@vim.org>
parents: 3674
diff changeset
184 EXTERN int did_emsg_syntax; /* did_emsg set because of a
3b62d8f36cdf updated for version 7.3.637
Bram Moolenaar <bram@vim.org>
parents: 3674
diff changeset
185 syntax error */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 EXTERN int called_emsg; /* always set by emsg() */
167
c93c9cad9618 updated for version 7.0051
vimboss
parents: 153
diff changeset
187 EXTERN int ex_exitval INIT(= 0); /* exit value for ex mode */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 EXTERN int emsg_on_display INIT(= FALSE); /* there is an error message */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 EXTERN int rc_did_emsg INIT(= FALSE); /* vim_regcomp() called emsg() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 EXTERN int no_wait_return INIT(= 0); /* don't wait for return for now */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 EXTERN int need_wait_return INIT(= 0); /* need to wait for return later */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 EXTERN int did_wait_return INIT(= FALSE); /* wait_return() was used and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 nothing written since then */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 #ifdef FEAT_TITLE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 EXTERN int need_maketitle INIT(= TRUE); /* call maketitle() soon */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 EXTERN int quit_more INIT(= FALSE); /* 'q' hit at "--more--" msg */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 #if defined(UNIX) || defined(__EMX__) || defined(VMS) || defined(MACOS_X)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 EXTERN int newline_on_exit INIT(= FALSE); /* did msg in altern. screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 EXTERN int intr_char INIT(= 0); /* extra interrupt character */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 #if (defined(UNIX) || defined(VMS)) && defined(FEAT_X11)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 EXTERN int x_no_connect INIT(= FALSE); /* don't connect to X server */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 # if defined(FEAT_CLIENTSERVER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 EXTERN int x_force_connect INIT(= FALSE); /* Do connect to X server.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 Overrules x_no_connect and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 "exclude" in 'clipboard'. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 #endif
167
c93c9cad9618 updated for version 7.0051
vimboss
parents: 153
diff changeset
212 EXTERN int ex_keep_indent INIT(= FALSE); /* getexmodeline(): keep indent */
822
45fad0f590d0 updated for version 7.0c12
vimboss
parents: 819
diff changeset
213 EXTERN int vgetc_busy INIT(= 0); /* when inside vgetc() then > 0 */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 EXTERN int didset_vim INIT(= FALSE); /* did set $VIM ourselves */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 EXTERN int didset_vimruntime INIT(= FALSE); /* idem for $VIMRUNTIME */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 * Lines left before a "more" message. Ex mode needs to be able to reset this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 * after you type something.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 EXTERN int lines_left INIT(= -1); /* lines left for listing */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 EXTERN int msg_no_more INIT(= FALSE); /* don't use more prompt, truncate
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 EXTERN char_u *sourcing_name INIT( = NULL);/* name of error message source */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 EXTERN linenr_T sourcing_lnum INIT(= 0); /* line number of the source file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 #ifdef FEAT_EVAL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 EXTERN int ex_nesting_level INIT(= 0); /* nesting level */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 EXTERN int debug_break_level INIT(= -1); /* break below this level */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 EXTERN int debug_did_msg INIT(= FALSE); /* did "debug mode" message */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 EXTERN int debug_tick INIT(= 0); /* breakpoint change count */
7605
8fc60af6dbf5 commit https://github.com/vim/vim/commit/f1f60f859cdbb2638b3662ccf7b1d179865fe7dc
Christian Brabandt <cb@256bit.org>
parents: 7545
diff changeset
234 EXTERN int debug_backtrace_level INIT(= 0); /* breakpoint backtrace level */
170
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
235 # ifdef FEAT_PROFILE
790
c8680debe1cc updated for version 7.0230
vimboss
parents: 777
diff changeset
236 EXTERN int do_profiling INIT(= PROF_NONE); /* PROF_ values */
170
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
237 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 * The exception currently being thrown. Used to pass an exception to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 * a different cstack. Also used for discarding an exception before it is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 * caught or made pending. Only valid when did_throw is TRUE.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 EXTERN except_T *current_exception;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 * did_throw: An exception is being thrown. Reset when the exception is caught
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 * or as long as it is pending in a finally clause.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 EXTERN int did_throw INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 * need_rethrow: set to TRUE when a throw that cannot be handled in do_cmdline()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 * must be propagated to the cstack of the previously called do_cmdline().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 EXTERN int need_rethrow INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 * check_cstack: set to TRUE when a ":finish" or ":return" that cannot be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 * handled in do_cmdline() must be propagated to the cstack of the previously
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 * called do_cmdline().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 EXTERN int check_cstack INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 * Number of nested try conditionals (across function calls and ":source"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 * commands).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 EXTERN int trylevel INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 * When "force_abort" is TRUE, always skip commands after an error message,
73
cbd631b28f36 updated for version 7.0031
vimboss
parents: 61
diff changeset
273 * even after the outermost ":endif", ":endwhile" or ":endfor" or for a
1200
f58cb9bf1260 updated for version 7.1b
vimboss
parents: 1140
diff changeset
274 * function without the "abort" flag. It is set to TRUE when "trylevel" is
73
cbd631b28f36 updated for version 7.0031
vimboss
parents: 61
diff changeset
275 * non-zero (and ":silent!" was not used) or an exception is being thrown at
cbd631b28f36 updated for version 7.0031
vimboss
parents: 61
diff changeset
276 * the time an error is detected. It is set to FALSE when "trylevel" gets
cbd631b28f36 updated for version 7.0031
vimboss
parents: 61
diff changeset
277 * zero again and there was no error or interrupt or throw.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 EXTERN int force_abort INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 /*
1140
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
282 * "msg_list" points to a variable in the stack of do_cmdline() which keeps
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
283 * the list of arguments of several emsg() calls, one of which is to be
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
284 * converted to an error exception immediately after the failing command
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
285 * returns. The message to be used for the exception value is pointed to by
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
286 * the "throw_msg" field of the first element in the list. It is usually the
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
287 * same as the "msg" field of that element, but can be identical to the "msg"
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
288 * field of a later list element, when the "emsg_severe" flag was set when the
ce05e425d999 updated for version 7.1a
vimboss
parents: 1090
diff changeset
289 * emsg() call was made.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 EXTERN struct msglist **msg_list INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 * suppress_errthrow: When TRUE, don't convert an error to an exception. Used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295 * when displaying the interrupt message or reporting an exception that is still
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 * uncaught at the top level (which has already been discarded then). Also used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 * for the error message when no exception can be thrown.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299 EXTERN int suppress_errthrow INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 * The stack of all caught and not finished exceptions. The exception on the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 * top of the stack is the one got by evaluation of v:exception. The complete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 * stack of all caught and pending exceptions is embedded in the various
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 * cstacks; the pending exceptions, however, are not on the caught stack.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 EXTERN except_T *caught_stack INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 #ifdef FEAT_EVAL
1405
b63792dadc23 updated for version 7.1-120
vimboss
parents: 1378
diff changeset
312 /*
b63792dadc23 updated for version 7.1-120
vimboss
parents: 1378
diff changeset
313 * Garbage collection can only take place when we are sure there are no Lists
958
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
314 * or Dictionaries being used internally. This is flagged with
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
315 * "may_garbage_collect" when we are at the toplevel.
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
316 * "want_garbage_collect" is set by the garbagecollect() function, which means
1405
b63792dadc23 updated for version 7.1-120
vimboss
parents: 1378
diff changeset
317 * we do garbage collection before waiting for a char at the toplevel.
b63792dadc23 updated for version 7.1-120
vimboss
parents: 1378
diff changeset
318 * "garbage_collect_at_exit" indicates garbagecollect(1) was called.
b63792dadc23 updated for version 7.1-120
vimboss
parents: 1378
diff changeset
319 */
958
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
320 EXTERN int may_garbage_collect INIT(= FALSE);
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
321 EXTERN int want_garbage_collect INIT(= FALSE);
1405
b63792dadc23 updated for version 7.1-120
vimboss
parents: 1378
diff changeset
322 EXTERN int garbage_collect_at_exit INIT(= FALSE);
958
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
323
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
324 /* ID of script being sourced or was sourced to define the current function. */
e88950f0d4f6 updated for version 7.0-084
vimboss
parents: 952
diff changeset
325 EXTERN scid_T current_SID INIT(= 0);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 #endif
119
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
327
122
56eb9755174b updated for version 7.0043
vimboss
parents: 119
diff changeset
328 #if defined(FEAT_EVAL) || defined(FEAT_SYN_HL)
119
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
329 /* Magic number used for hashitem "hi_key" value indicating a deleted item.
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
330 * Only the address is used. */
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
331 EXTERN char_u hash_removed;
122
56eb9755174b updated for version 7.0043
vimboss
parents: 119
diff changeset
332 #endif
119
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
333
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
334
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335 EXTERN int scroll_region INIT(= FALSE); /* term supports scroll region */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 EXTERN int t_colors INIT(= 0); /* int value of T_CCO */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 * When highlight_match is TRUE, highlight a match, starting at the cursor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 * position. Search_match_lines is the number of lines after the match (0 for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 * a match within one line), search_match_endcol the column number of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 * character just after the match in the last line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344 EXTERN int highlight_match INIT(= FALSE); /* show search match pos */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 EXTERN linenr_T search_match_lines; /* lines of of matched string */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346 EXTERN colnr_T search_match_endcol; /* col nr of match end */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 EXTERN int no_smartcase INIT(= FALSE); /* don't use 'smartcase' once */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 EXTERN int need_check_timestamps INIT(= FALSE); /* need to check file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351 timestamps asap */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 EXTERN int did_check_timestamps INIT(= FALSE); /* did check timestamps
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 recently */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354 EXTERN int no_check_timestamps INIT(= 0); /* Don't check timestamps */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356 EXTERN int highlight_attr[HLF_COUNT]; /* Highl. attr for each context. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 #ifdef FEAT_STL_OPT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 # define USER_HIGHLIGHT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 #ifdef USER_HIGHLIGHT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 EXTERN int highlight_user[9]; /* User[1-9] attributes */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 # ifdef FEAT_STL_OPT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363 EXTERN int highlight_stlnc[9]; /* On top of user */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
364 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366 #ifdef FEAT_GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 EXTERN char_u *use_gvimrc INIT(= NULL); /* "-U" cmdline argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369 EXTERN int cterm_normal_fg_color INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 EXTERN int cterm_normal_fg_bold INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371 EXTERN int cterm_normal_bg_color INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 #ifdef FEAT_AUTOCMD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 EXTERN int autocmd_busy INIT(= FALSE); /* Is apply_autocmds() busy? */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 EXTERN int autocmd_no_enter INIT(= FALSE); /* *Enter autocmds disabled */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 EXTERN int autocmd_no_leave INIT(= FALSE); /* *Leave autocmds disabled */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 EXTERN int modified_was_set; /* did ":set modified" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 EXTERN int did_filetype INIT(= FALSE); /* FileType event found */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 EXTERN int keep_filetype INIT(= FALSE); /* value for did_filetype when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380 starting to execute
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381 autocommands */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
382
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
383 /* When deleting the current buffer, another one must be loaded. If we know
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
384 * which one is preferred, au_new_curbuf is set to it */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
385 EXTERN buf_T *au_new_curbuf INIT(= NULL);
5816
29eb4c2a33ac updated for version 7.4.251
Bram Moolenaar <bram@vim.org>
parents: 5735
diff changeset
386
5958
f7bc601823e5 updated for version 7.4.320
Bram Moolenaar <bram@vim.org>
parents: 5942
diff changeset
387 /* When deleting a buffer/window and autocmd_busy is TRUE, do not free the
f7bc601823e5 updated for version 7.4.320
Bram Moolenaar <bram@vim.org>
parents: 5942
diff changeset
388 * buffer/window. but link it in the list starting with
f7bc601823e5 updated for version 7.4.320
Bram Moolenaar <bram@vim.org>
parents: 5942
diff changeset
389 * au_pending_free_buf/ap_pending_free_win, using b_next/w_next.
f7bc601823e5 updated for version 7.4.320
Bram Moolenaar <bram@vim.org>
parents: 5942
diff changeset
390 * Free the buffer/window when autocmd_busy is being set to FALSE. */
5816
29eb4c2a33ac updated for version 7.4.251
Bram Moolenaar <bram@vim.org>
parents: 5735
diff changeset
391 EXTERN buf_T *au_pending_free_buf INIT(= NULL);
5958
f7bc601823e5 updated for version 7.4.320
Bram Moolenaar <bram@vim.org>
parents: 5942
diff changeset
392 EXTERN win_T *au_pending_free_win INIT(= NULL);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
395 #ifdef FEAT_MOUSE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397 * Mouse coordinates, set by check_termcode()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
399 EXTERN int mouse_row;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400 EXTERN int mouse_col;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
401 EXTERN int mouse_past_bottom INIT(= FALSE);/* mouse below last line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
402 EXTERN int mouse_past_eol INIT(= FALSE); /* mouse right of line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
403 EXTERN int mouse_dragging INIT(= 0); /* extending Visual area with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
404 mouse dragging */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
405 # if defined(FEAT_MOUSE_DEC)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
406 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
407 * When the DEC mouse has been pressed but not yet released we enable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
408 * automatic querys for the mouse position.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
409 */
227
ef254e0f2365 updated for version 7.0063
vimboss
parents: 221
diff changeset
410 EXTERN int WantQueryMouse INIT(= FALSE);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
411 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
412
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
413 # ifdef FEAT_GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
414 /* When the window layout is about to be changed, need_mouse_correct is set,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
415 * so that gui_mouse_correct() is called afterwards, to correct the mouse
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
416 * pointer when focus-follow-mouse is being used. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
417 EXTERN int need_mouse_correct INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
418
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
419 /* When double clicking, topline must be the same */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
420 EXTERN linenr_T gui_prev_topline INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
421 # ifdef FEAT_DIFF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
422 EXTERN int gui_prev_topfill INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
423 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
424 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
425
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
426 # ifdef FEAT_MOUSESHAPE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
427 EXTERN int drag_status_line INIT(= FALSE); /* dragging the status line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428 EXTERN int postponed_mouseshape INIT(= FALSE); /* postponed updating the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 mouse pointer shape */
8643
24b43dd167eb commit https://github.com/vim/vim/commit/44a2f923c00f1384c9ecde12fb5b4711bc20702e
Christian Brabandt <cb@256bit.org>
parents: 8416
diff changeset
430 # ifdef FEAT_WINDOWS
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431 EXTERN int drag_sep_line INIT(= FALSE); /* dragging vert separator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
432 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
436
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
437 #ifdef FEAT_DIFF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
438 /* Value set from 'diffopt'. */
767
6c8a16911e94 updated for version 7.0225
vimboss
parents: 744
diff changeset
439 EXTERN int diff_context INIT(= 6); /* context for folds */
6c8a16911e94 updated for version 7.0225
vimboss
parents: 744
diff changeset
440 EXTERN int diff_foldcolumn INIT(= 2); /* 'foldcolumn' for diff mode */
640
8a5a95f7ef2a updated for version 7.0185
vimboss
parents: 637
diff changeset
441 EXTERN int diff_need_scrollbind INIT(= FALSE);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
443
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
444 #ifdef FEAT_MENU
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445 /* The root of the menu hierarchy. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 EXTERN vimmenu_T *root_menu INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
448 * While defining the system menu, sys_menu is TRUE. This avoids
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
449 * overruling of menus that the user already defined.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 EXTERN int sys_menu INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
453
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
454 /* While redrawing the screen this flag is set. It means the screen size
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
455 * ('lines' and 'rows') must not be changed. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
456 EXTERN int updating_screen INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
457
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458 #ifdef FEAT_GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
459 # ifdef FEAT_MENU
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
460 /* Menu item just selected, set by check_termcode() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461 EXTERN vimmenu_T *current_menu;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
462
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
463 /* Set to TRUE after adding/removing menus to ensure they are updated */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 EXTERN int force_menu_update INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 # endif
685
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 681
diff changeset
466 # ifdef FEAT_GUI_TABLINE
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 681
diff changeset
467 /* Tab in tab pages line just selected, set by check_termcode() */
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 681
diff changeset
468 EXTERN int current_tab;
688
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
469
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
470 /* Menu entry in tab pages line menu just selected, set by check_termcode() */
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
471 EXTERN int current_tabmenu;
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
472 # define TABLINE_MENU_CLOSE 1
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
473 # define TABLINE_MENU_NEW 2
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
474 # define TABLINE_MENU_OPEN 3
685
d7e33248b9c8 updated for version 7.0206
vimboss
parents: 681
diff changeset
475 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
476
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
477 /* Scrollbar moved and new value, set by check_termcode() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478 EXTERN int current_scrollbar;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479 EXTERN long_u scrollbar_value;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
480
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
481 /* found "-rv" or "-reverse" in command line args */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
482 EXTERN int found_reverse_arg INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484 /* "-fn" or "-font" command line argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
485 EXTERN char *font_argument INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
486
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487 # ifdef FEAT_GUI_GTK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
488 /* "-bg" or "-background" command line argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
489 EXTERN char *background_argument INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
490
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
491 /* "-fg" or "-foreground" command line argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
492 EXTERN char *foreground_argument INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
493 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
494
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
495 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496 * While executing external commands or in Ex mode, should not insert GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 * events in the input buffer: Set hold_gui_events to non-zero.
1832
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
498 *
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
499 * volatile because it is used in signal handler sig_sysmouse().
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
500 */
1832
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
501 EXTERN volatile int hold_gui_events INIT(= 0);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
502
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
503 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
504 * When resizing the shell is postponed, remember the new size, and call
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
505 * gui_resize_shell() later.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
506 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
507 EXTERN int new_pixel_width INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508 EXTERN int new_pixel_height INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 /* Window position from ":winpos", to be used when opening the GUI window. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
511 EXTERN int gui_win_x INIT(= -1);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
512 EXTERN int gui_win_y INIT(= -1);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
513 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
514
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
515 #ifdef FEAT_CLIPBOARD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
516 EXTERN VimClipboard clip_star; /* PRIMARY selection in X11 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
517 # ifdef FEAT_X11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
518 EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
519 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
520 # define clip_plus clip_star /* there is only one clipboard */
2644
e856f9cc2aee updated for version 7.3.064
Bram Moolenaar <bram@vim.org>
parents: 2577
diff changeset
521 # define ONE_CLIPBOARD
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
522 # endif
2654
2b475ed86e64 updated for version 7.3.074
Bram Moolenaar <bram@vim.org>
parents: 2644
diff changeset
523
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
524 # define CLIP_UNNAMED 1
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
525 # define CLIP_UNNAMED_PLUS 2
2654
2b475ed86e64 updated for version 7.3.074
Bram Moolenaar <bram@vim.org>
parents: 2644
diff changeset
526 EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */
2b475ed86e64 updated for version 7.3.074
Bram Moolenaar <bram@vim.org>
parents: 2644
diff changeset
527
3674
b9aa7fb4a928 updated for version 7.3.597
Bram Moolenaar <bram@vim.org>
parents: 3616
diff changeset
528 EXTERN int clip_autoselect_star INIT(= FALSE);
b9aa7fb4a928 updated for version 7.3.597
Bram Moolenaar <bram@vim.org>
parents: 3616
diff changeset
529 EXTERN int clip_autoselect_plus INIT(= FALSE);
692
a28f83d37113 updated for version 7.0208
vimboss
parents: 688
diff changeset
530 EXTERN int clip_autoselectml INIT(= FALSE);
1904
062104a823df updated for version 7.2-201
vimboss
parents: 1903
diff changeset
531 EXTERN int clip_html INIT(= FALSE);
692
a28f83d37113 updated for version 7.0208
vimboss
parents: 688
diff changeset
532 EXTERN regprog_T *clip_exclude_prog INIT(= NULL);
6116
7766142fc7d3 updated for version 7.4.396
Bram Moolenaar <bram@vim.org>
parents: 6102
diff changeset
533 EXTERN int clip_did_set_selection INIT(= TRUE);
7766142fc7d3 updated for version 7.4.396
Bram Moolenaar <bram@vim.org>
parents: 6102
diff changeset
534 EXTERN int clip_unnamed_saved INIT(= 0);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
535 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
536
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
537 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
538 * All windows are linked in a list. firstwin points to the first entry,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
539 * lastwin to the last entry (can be the same as firstwin) and curwin to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
540 * currently active window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
541 * Without the FEAT_WINDOWS they are all equal.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
542 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
543 #ifdef FEAT_WINDOWS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
544 EXTERN win_T *firstwin; /* first window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
545 EXTERN win_T *lastwin; /* last window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
546 EXTERN win_T *prevwin INIT(= NULL); /* previous window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
547 # define W_NEXT(wp) ((wp)->w_next)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
548 # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next)
3340
539613ce999d updated for version 7.3.437
Bram Moolenaar <bram@vim.org>
parents: 3318
diff changeset
549 /*
539613ce999d updated for version 7.3.437
Bram Moolenaar <bram@vim.org>
parents: 3318
diff changeset
550 * When using this macro "break" only breaks out of the inner loop. Use "goto"
539613ce999d updated for version 7.3.437
Bram Moolenaar <bram@vim.org>
parents: 3318
diff changeset
551 * to break out of the tabpage loop.
539613ce999d updated for version 7.3.437
Bram Moolenaar <bram@vim.org>
parents: 3318
diff changeset
552 */
1869
720a59d79bcd updated for version 7.2-168
vimboss
parents: 1834
diff changeset
553 # define FOR_ALL_TAB_WINDOWS(tp, wp) \
671
83a006f81bac updated for version 7.0199
vimboss
parents: 667
diff changeset
554 for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \
680
5b101ff9d4c4 updated for version 7.0203
vimboss
parents: 677
diff changeset
555 for ((wp) = ((tp) == curtab) \
671
83a006f81bac updated for version 7.0199
vimboss
parents: 667
diff changeset
556 ? firstwin : (tp)->tp_firstwin; (wp); (wp) = (wp)->w_next)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
558 # define firstwin curwin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 # define lastwin curwin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560 # define W_NEXT(wp) NULL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
561 # define FOR_ALL_WINDOWS(wp) wp = curwin;
677
e649c78407e6 updated for version 7.0202
vimboss
parents: 673
diff changeset
562 # define FOR_ALL_TAB_WINDOWS(tp, wp) wp = curwin;
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
563 #endif
667
9090f866cd57 updated for version 7.0197
vimboss
parents: 661
diff changeset
564
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
565 EXTERN win_T *curwin; /* currently active window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
566
1906
ff9ecf14efe3 updated for version 7.2-203
vimboss
parents: 1904
diff changeset
567 #ifdef FEAT_AUTOCMD
ff9ecf14efe3 updated for version 7.2-203
vimboss
parents: 1904
diff changeset
568 EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */
1944
40a8e388692b updated for version 7.2-241
vimboss
parents: 1906
diff changeset
569 EXTERN int aucmd_win_used INIT(= FALSE); /* aucmd_win is being used */
1906
ff9ecf14efe3 updated for version 7.2-203
vimboss
parents: 1904
diff changeset
570 #endif
ff9ecf14efe3 updated for version 7.2-203
vimboss
parents: 1904
diff changeset
571
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573 * The window layout is kept in a tree of frames. topframe points to the top
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
574 * of the tree.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
575 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
576 EXTERN frame_T *topframe; /* top of the window frame tree */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
577
667
9090f866cd57 updated for version 7.0197
vimboss
parents: 661
diff changeset
578 #ifdef FEAT_WINDOWS
9090f866cd57 updated for version 7.0197
vimboss
parents: 661
diff changeset
579 /*
673
513866ffe6af updated for version 7.0200
vimboss
parents: 671
diff changeset
580 * Tab pages are alternative topframes. "first_tabpage" points to the first
513866ffe6af updated for version 7.0200
vimboss
parents: 671
diff changeset
581 * one in the list, "curtab" is the current one.
667
9090f866cd57 updated for version 7.0197
vimboss
parents: 661
diff changeset
582 */
673
513866ffe6af updated for version 7.0200
vimboss
parents: 671
diff changeset
583 EXTERN tabpage_T *first_tabpage;
513866ffe6af updated for version 7.0200
vimboss
parents: 671
diff changeset
584 EXTERN tabpage_T *curtab;
513866ffe6af updated for version 7.0200
vimboss
parents: 671
diff changeset
585 EXTERN int redraw_tabline INIT(= FALSE); /* need to redraw tabline */
667
9090f866cd57 updated for version 7.0197
vimboss
parents: 661
diff changeset
586 #endif
9090f866cd57 updated for version 7.0197
vimboss
parents: 661
diff changeset
587
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
588 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
589 * All buffers are linked in a list. 'firstbuf' points to the first entry,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
590 * 'lastbuf' to the last entry and 'curbuf' to the currently active buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
591 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
592 EXTERN buf_T *firstbuf INIT(= NULL); /* first buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
593 EXTERN buf_T *lastbuf INIT(= NULL); /* last buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
594 EXTERN buf_T *curbuf INIT(= NULL); /* currently active buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
595
1066
bffbbb566d6b updated for version 7.0-192
vimboss
parents: 1054
diff changeset
596 /* Flag that is set when switching off 'swapfile'. It means that all blocks
bffbbb566d6b updated for version 7.0-192
vimboss
parents: 1054
diff changeset
597 * are to be loaded into memory. Shouldn't be global... */
bffbbb566d6b updated for version 7.0-192
vimboss
parents: 1054
diff changeset
598 EXTERN int mf_dont_release INIT(= FALSE); /* don't release blocks */
bffbbb566d6b updated for version 7.0-192
vimboss
parents: 1054
diff changeset
599
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
600 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
601 * List of files being edited (global argument list). curwin->w_alist points
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
602 * to this when the window is using the global argument list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
603 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
604 EXTERN alist_T global_alist; /* global argument list */
5942
66eead134d68 updated for version 7.4.312
Bram Moolenaar <bram@vim.org>
parents: 5927
diff changeset
605 EXTERN int max_alist_id INIT(= 0); /* the previous argument list id */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
606 EXTERN int arg_had_last INIT(= FALSE); /* accessed last file in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
607 global_alist */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
608
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
609 EXTERN int ru_col; /* column for ruler */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
610 #ifdef FEAT_STL_OPT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
611 EXTERN int ru_wid; /* 'rulerfmt' width of ruler when non-zero */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
612 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
613 EXTERN int sc_col; /* column for shown command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
614
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
615 #ifdef TEMPDIRNAMES
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
616 EXTERN char_u *vim_tempdir INIT(= NULL); /* Name of Vim's own temp dir.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
617 Ends in a slash. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
618 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
619
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
620 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
621 * When starting or exiting some things are done differently (e.g. screen
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
622 * updating).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
623 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
624 EXTERN int starting INIT(= NO_SCREEN);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
625 /* first NO_SCREEN, then NO_BUFFERS and then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
626 * set to 0 when starting up finished */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
627 EXTERN int exiting INIT(= FALSE);
625
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 603
diff changeset
628 /* TRUE when planning to exit Vim. Might
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 603
diff changeset
629 * still keep on running if there is a changed
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 603
diff changeset
630 * buffer. */
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 603
diff changeset
631 EXTERN int really_exiting INIT(= FALSE);
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 603
diff changeset
632 /* TRUE when we are sure to exit, e.g., after
81fe2ccc1207 updated for version 7.0179
vimboss
parents: 603
diff changeset
633 * a deadly signal */
1832
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
634 /* volatile because it is used in signal handler deathtrap(). */
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
635 EXTERN volatile int full_screen INIT(= FALSE);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
636 /* TRUE when doing full-screen output
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
637 * otherwise only writing some messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
638
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
639 EXTERN int restricted INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
640 /* TRUE when started as "rvim" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
641 EXTERN int secure INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
642 /* non-zero when only "safe" commands are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
643 * allowed, e.g. when sourcing .exrc or .vimrc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
644 * in current directory */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
645
634
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
646 EXTERN int textlock INIT(= 0);
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
647 /* non-zero when changing text and jumping to
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
648 * another window or buffer is not allowed */
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
649
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 790
diff changeset
650 #ifdef FEAT_AUTOCMD
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 790
diff changeset
651 EXTERN int curbuf_lock INIT(= 0);
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 790
diff changeset
652 /* non-zero when the current buffer can't be
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 790
diff changeset
653 * changed. Used for FileChangedRO. */
1834
ccbd8177e1f4 updated for version 7.2-132
vimboss
parents: 1832
diff changeset
654 EXTERN int allbuf_lock INIT(= 0);
ccbd8177e1f4 updated for version 7.2-132
vimboss
parents: 1832
diff changeset
655 /* non-zero when no buffer name can be
ccbd8177e1f4 updated for version 7.2-132
vimboss
parents: 1832
diff changeset
656 * changed, no buffer can be deleted and
ccbd8177e1f4 updated for version 7.2-132
vimboss
parents: 1832
diff changeset
657 * current directory can't be changed.
ccbd8177e1f4 updated for version 7.2-132
vimboss
parents: 1832
diff changeset
658 * Used for SwapExists et al. */
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 790
diff changeset
659 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
660 #ifdef FEAT_EVAL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
661 # define HAVE_SANDBOX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
662 EXTERN int sandbox INIT(= 0);
634
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
663 /* Non-zero when evaluating an expression in a
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
664 * "sandbox". Several things are not allowed
1c586ee8dd45 updated for version 7.0183
vimboss
parents: 632
diff changeset
665 * then. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
666 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
667
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
668 EXTERN int silent_mode INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
669 /* set to TRUE when "-s" commandline argument
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
670 * used for ex */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
671
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
672 EXTERN pos_T VIsual; /* start position of active Visual selection */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
673 EXTERN int VIsual_active INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
674 /* whether Visual mode is active */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
675 EXTERN int VIsual_select INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
676 /* whether Select mode is active */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
677 EXTERN int VIsual_reselect;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
678 /* whether to restart the selection after a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
679 * Select mode mapping or menu */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
680
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
681 EXTERN int VIsual_mode INIT(= 'v');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
682 /* type of Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
683
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
684 EXTERN int redo_VIsual_busy INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
685 /* TRUE when redoing Visual */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
686
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
687 #ifdef FEAT_MOUSE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
688 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
689 * When pasting text with the middle mouse button in visual mode with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
690 * restart_edit set, remember where it started so we can set Insstart.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
691 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
692 EXTERN pos_T where_paste_started;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
693 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
694
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
695 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
696 * This flag is used to make auto-indent work right on lines where only a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
697 * <RETURN> or <ESC> is typed. It is set when an auto-indent is done, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
698 * reset when any other editing is done on the line. If an <ESC> or <RETURN>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
699 * is received, and did_ai is TRUE, the line is truncated.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
700 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
701 EXTERN int did_ai INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
702
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
703 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
704 * Column of first char after autoindent. 0 when no autoindent done. Used
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
705 * when 'backspace' is 0, to avoid backspacing over autoindent.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
706 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
707 EXTERN colnr_T ai_col INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
708
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
709 #ifdef FEAT_COMMENTS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
710 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
711 * This is a character which will end a start-middle-end comment when typed as
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
712 * the first character on a new line. It is taken from the last character of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
713 * the "end" comment leader when the COM_AUTO_END flag is given for that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
714 * comment end in 'comments'. It is only valid when did_ai is TRUE.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
715 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
716 EXTERN int end_comment_pending INIT(= NUL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
717 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
718
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
719 #ifdef FEAT_SCROLLBIND
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
720 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
721 * This flag is set after a ":syncbind" to let the check_scrollbind() function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
722 * know that it should not attempt to perform scrollbinding due to the scroll
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
723 * that was a result of the ":syncbind." (Otherwise, check_scrollbind() will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
724 * undo some of the work done by ":syncbind.") -ralston
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
725 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
726 EXTERN int did_syncbind INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
727 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
728
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
729 #ifdef FEAT_SMARTINDENT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
730 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
731 * This flag is set when a smart indent has been performed. When the next typed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
732 * character is a '{' the inserted tab will be deleted again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
733 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
734 EXTERN int did_si INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
735
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
736 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
737 * This flag is set after an auto indent. If the next typed character is a '}'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
738 * one indent will be removed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
739 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
740 EXTERN int can_si INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
741
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
742 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
743 * This flag is set after an "O" command. If the next typed character is a '{'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
744 * one indent will be removed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
745 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
746 EXTERN int can_si_back INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
747 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
748
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
749 EXTERN pos_T saved_cursor /* w_cursor before formatting text. */
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
750 #ifdef DO_INIT
1869
720a59d79bcd updated for version 7.2-168
vimboss
parents: 1834
diff changeset
751 = INIT_POS_T(0, 0, 0)
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
752 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
753 ;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
754
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
755 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
756 * Stuff for insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
757 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
758 EXTERN pos_T Insstart; /* This is where the latest
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
759 * insert/append mode started. */
5680
4d12112c5efa updated for version 7.4.186
Bram Moolenaar <bram@vim.org>
parents: 5649
diff changeset
760
4d12112c5efa updated for version 7.4.186
Bram Moolenaar <bram@vim.org>
parents: 5649
diff changeset
761 /* This is where the latest insert/append mode started. In contrast to
4d12112c5efa updated for version 7.4.186
Bram Moolenaar <bram@vim.org>
parents: 5649
diff changeset
762 * Insstart, this won't be reset by certain keys and is needed for
4d12112c5efa updated for version 7.4.186
Bram Moolenaar <bram@vim.org>
parents: 5649
diff changeset
763 * op_insert(), to detect correctly where inserting by the user started. */
4d12112c5efa updated for version 7.4.186
Bram Moolenaar <bram@vim.org>
parents: 5649
diff changeset
764 EXTERN pos_T Insstart_orig;
4d12112c5efa updated for version 7.4.186
Bram Moolenaar <bram@vim.org>
parents: 5649
diff changeset
765
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
766 #ifdef FEAT_VREPLACE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
767 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
768 * Stuff for VREPLACE mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
769 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
770 EXTERN int orig_line_count INIT(= 0); /* Line count when "gR" started */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
771 EXTERN int vr_lines_changed INIT(= 0); /* #Lines changed by "gR" so far */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
772 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
773
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
774 #if defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
775 /* argument to SETJMP() for handling X IO errors */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
776 EXTERN JMP_BUF x_jump_env;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
777 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
778
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
779 #if defined(HAVE_SETJMP_H)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
780 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
781 * Stuff for setjmp() and longjmp().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
782 * Used to protect areas where we could crash.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
783 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
784 EXTERN JMP_BUF lc_jump_env; /* argument to SETJMP() */
177
84c21eb4fc40 updated for version 7.0054
vimboss
parents: 170
diff changeset
785 # ifdef SIGHASARG
1832
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
786 /* volatile because it is used in signal handlers. */
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
787 EXTERN volatile int lc_signal; /* caught signal number, 0 when no was signal
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
788 caught; used for mch_libcall() */
177
84c21eb4fc40 updated for version 7.0054
vimboss
parents: 170
diff changeset
789 # endif
1832
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
790 /* volatile because it is used in signal handler deathtrap(). */
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
791 EXTERN volatile int lc_active INIT(= FALSE); /* TRUE when lc_jump_env is valid. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
792 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
793
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
794 #if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
795 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
796 * These flags are set based upon 'fileencoding'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
797 * Note that "enc_utf8" is also set for "unicode", because the characters are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
798 * internally stored as UTF-8 (to avoid trouble with NUL bytes).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
799 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
800 # define DBCS_JPN 932 /* japan */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
801 # define DBCS_JPNU 9932 /* euc-jp */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
802 # define DBCS_KOR 949 /* korea */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
803 # define DBCS_KORU 9949 /* euc-kr */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
804 # define DBCS_CHS 936 /* chinese */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
805 # define DBCS_CHSU 9936 /* euc-cn */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
806 # define DBCS_CHT 950 /* taiwan */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
807 # define DBCS_CHTU 9950 /* euc-tw */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
808 # define DBCS_2BYTE 1 /* 2byte- */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
809 # define DBCS_DEBUG -1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
810 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
811
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
812 #ifdef FEAT_MBYTE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
813 EXTERN int enc_dbcs INIT(= 0); /* One of DBCS_xxx values if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
814 DBCS encoding */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
815 EXTERN int enc_unicode INIT(= 0); /* 2: UCS-2 or UTF-16, 4: UCS-4 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
816 EXTERN int enc_utf8 INIT(= FALSE); /* UTF-8 encoded Unicode */
493
06364aa0d597 updated for version 7.0135
vimboss
parents: 484
diff changeset
817 EXTERN int enc_latin1like INIT(= TRUE); /* 'encoding' is latin1 comp. */
4168
ff193256398a updated for version 7.3.836
Bram Moolenaar <bram@vim.org>
parents: 3757
diff changeset
818 # if defined(WIN3264) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
819 /* Codepage nr of 'encoding'. Negative means it's not been set yet, zero
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
820 * means 'encoding' is not a valid codepage. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
821 EXTERN int enc_codepage INIT(= -1);
26
404aac550f35 updated for version 7.0017
vimboss
parents: 15
diff changeset
822 EXTERN int enc_latin9 INIT(= FALSE); /* 'encoding' is latin9 */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
823 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
824 EXTERN int has_mbyte INIT(= 0); /* any multi-byte encoding */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
825
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
826 # if defined(WIN3264) && defined(FEAT_MBYTE)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
827 EXTERN int wide_WindowProc INIT(= FALSE); /* use wide WindowProc() */
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
828 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
829
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
830 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
831 * To speed up BYTELEN() we fill a table with the byte lengths whenever
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
832 * enc_utf8 or enc_dbcs changes.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
833 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
834 EXTERN char mb_bytelen_tab[256];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
835
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
836 /* Variables that tell what conversion is used for keyboard input and display
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
837 * output. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
838 EXTERN vimconv_T input_conv; /* type of input conversion */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
839 EXTERN vimconv_T output_conv; /* type of output conversion */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
840
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
841 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
842 * Function pointers, used to quickly get to the right function. Each has
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
843 * three possible values: latin_ (8-bit), utfc_ or utf_ (utf-8) and dbcs_
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
844 * (DBCS).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
845 * The value is set in mb_init();
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
846 */
474
a5fcf36ef512 updated for version 7.0127
vimboss
parents: 449
diff changeset
847 /* length of char in bytes, including following composing chars */
7807
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
848 EXTERN int (*mb_ptr2len)(char_u *p) INIT(= latin_ptr2len);
1903
4c02214d1465 updated for version 7.2-200
vimboss
parents: 1900
diff changeset
849 /* idem, with limit on string length */
7807
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
850 EXTERN int (*mb_ptr2len_len)(char_u *p, int size) INIT(= latin_ptr2len_len);
474
a5fcf36ef512 updated for version 7.0127
vimboss
parents: 449
diff changeset
851 /* byte length of char */
7807
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
852 EXTERN int (*mb_char2len)(int c) INIT(= latin_char2len);
474
a5fcf36ef512 updated for version 7.0127
vimboss
parents: 449
diff changeset
853 /* convert char to bytes, return the length */
7807
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
854 EXTERN int (*mb_char2bytes)(int c, char_u *buf) INIT(= latin_char2bytes);
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
855 EXTERN int (*mb_ptr2cells)(char_u *p) INIT(= latin_ptr2cells);
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
856 EXTERN int (*mb_ptr2cells_len)(char_u *p, int size) INIT(= latin_ptr2cells_len);
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
857 EXTERN int (*mb_char2cells)(int c) INIT(= latin_char2cells);
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
858 EXTERN int (*mb_off2cells)(unsigned off, unsigned max_off) INIT(= latin_off2cells);
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
859 EXTERN int (*mb_ptr2char)(char_u *p) INIT(= latin_ptr2char);
1a5d34492798 commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents: 7712
diff changeset
860 EXTERN int (*mb_head_off)(char_u *base, char_u *p) INIT(= latin_head_off);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
861
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
862 # if defined(USE_ICONV) && defined(DYNAMIC_ICONV)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
863 /* Pointers to functions and variables to be loaded at runtime */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
864 EXTERN size_t (*iconv) (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
865 EXTERN iconv_t (*iconv_open) (const char *tocode, const char *fromcode);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
866 EXTERN int (*iconv_close) (iconv_t cd);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
867 EXTERN int (*iconvctl) (iconv_t cd, int request, void *argument);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
868 EXTERN int* (*iconv_errno) (void);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
869 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
870
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
871 #endif /* FEAT_MBYTE */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
872
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
873 #ifdef FEAT_XIM
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
874 # ifdef FEAT_GUI_GTK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
875 EXTERN GtkIMContext *xic INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
876 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
877 * Start and end column of the preedit area in virtual columns from the start
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
878 * of the text line. When there is no preedit area they are set to MAXCOL.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
879 * "preedit_end_col" is needed for coloring the preedited string. Drawing the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
880 * color between "preedit_start_col" and curpos did not work, because some XIM
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
881 * set the cursor position to the first char of the string.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
882 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
883 EXTERN colnr_T preedit_start_col INIT(= MAXCOL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
884 EXTERN colnr_T preedit_end_col INIT(= MAXCOL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
885
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
886 /* "xim_changed_while_preediting" is set when changed() can set the 'modified'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
887 * flag even while preediting. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
888 EXTERN int xim_changed_while_preediting INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
889 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
890 EXTERN XIC xic INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
891 # endif
661
e93a99ef31d0 updated for version 7.0195
vimboss
parents: 657
diff changeset
892 # ifdef FEAT_GUI
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
893 EXTERN guicolor_T xim_fg_color INIT(= INVALCOLOR);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
894 EXTERN guicolor_T xim_bg_color INIT(= INVALCOLOR);
661
e93a99ef31d0 updated for version 7.0195
vimboss
parents: 657
diff changeset
895 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
896 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
897
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
898 #ifdef FEAT_HANGULIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
899 EXTERN int composing_hangul INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
900 EXTERN char_u composing_hangul_buffer[5];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
901 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
903 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
904 * "State" is the main state of Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
905 * There are other variables that modify the state:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
906 * "Visual_mode" When State is NORMAL or INSERT.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
907 * "finish_op" When State is NORMAL, after typing the operator and before
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
908 * typing the motion command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
909 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
910 EXTERN int State INIT(= NORMAL); /* This is the current state of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
911 * command interpreter. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
912
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
913 EXTERN int finish_op INIT(= FALSE);/* TRUE while an operator is pending */
1689
a285f0cd8a46 updated for version 7.2b-022
vimboss
parents: 1620
diff changeset
914 EXTERN int opcount INIT(= 0); /* count for pending operator */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
915
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
916 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
917 * ex mode (Q) state
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
918 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
919 EXTERN int exmode_active INIT(= 0); /* zero, EXMODE_NORMAL or EXMODE_VIM */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
920 EXTERN int ex_no_reprint INIT(= FALSE); /* no need to print after z or p */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
921
442
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
922 EXTERN int Recording INIT(= FALSE); /* TRUE when recording into a reg. */
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
923 EXTERN int Exec_reg INIT(= FALSE); /* TRUE when executing a register */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
924
442
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
925 EXTERN int no_mapping INIT(= FALSE); /* currently no mapping allowed */
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
926 EXTERN int no_zero_mapping INIT(= 0); /* mapping zero not allowed */
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
927 EXTERN int allow_keys INIT(= FALSE); /* allow key codes when no_mapping
1376
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
928 * is set */
442
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
929 EXTERN int no_u_sync INIT(= 0); /* Don't call u_sync() */
5120
6e611380b4cf updated for version 7.3.1303
Bram Moolenaar <bram@vim.org>
parents: 4323
diff changeset
930 #ifdef FEAT_EVAL
6e611380b4cf updated for version 7.3.1303
Bram Moolenaar <bram@vim.org>
parents: 4323
diff changeset
931 EXTERN int u_sync_once INIT(= 0); /* Call u_sync() once when evaluating
6e611380b4cf updated for version 7.3.1303
Bram Moolenaar <bram@vim.org>
parents: 4323
diff changeset
932 an expression. */
6e611380b4cf updated for version 7.3.1303
Bram Moolenaar <bram@vim.org>
parents: 4323
diff changeset
933 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
934
442
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
935 EXTERN int restart_edit INIT(= 0); /* call edit when next cmd finished */
c36697964844 updated for version 7.0115
vimboss
parents: 440
diff changeset
936 EXTERN int arrow_used; /* Normally FALSE, set to TRUE after
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
937 * hitting cursor key in insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
938 * Used by vgetorpeek() to decide when
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
939 * to call u_sync() */
230
9281a51ca7a2 updated for version 7.0064
vimboss
parents: 227
diff changeset
940 EXTERN int ins_at_eol INIT(= FALSE); /* put cursor after eol when
9281a51ca7a2 updated for version 7.0064
vimboss
parents: 227
diff changeset
941 restarting edit after CTRL-O */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
942 #ifdef FEAT_INS_EXPAND
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
943 EXTERN char_u *edit_submode INIT(= NULL); /* msg for CTRL-X submode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
944 EXTERN char_u *edit_submode_pre INIT(= NULL); /* prepended to edit_submode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
945 EXTERN char_u *edit_submode_extra INIT(= NULL);/* appended to edit_submode */
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents: 527
diff changeset
946 EXTERN hlf_T edit_submode_highl; /* highl. method for extra info */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
947 EXTERN int ctrl_x_mode INIT(= 0); /* Which Ctrl-X mode are we in? */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
948 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
949
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
950 EXTERN int no_abbr INIT(= TRUE); /* TRUE when no abbreviations loaded */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
951
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
952 #ifdef USE_EXE_NAME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
953 EXTERN char_u *exe_name; /* the name of the executable */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
954 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
955
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
956 #ifdef USE_ON_FLY_SCROLL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
957 EXTERN int dont_scroll INIT(= FALSE);/* don't use scrollbars when TRUE */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
958 #endif
6482
ccb6962585f1 updated for version 7.4.569
Bram Moolenaar <bram@vim.org>
parents: 6122
diff changeset
959 EXTERN int mapped_ctrl_c INIT(= FALSE); /* modes where CTRL-C is mapped */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
960 EXTERN int ctrl_c_interrupts INIT(= TRUE); /* CTRL-C sets got_int */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
961
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
962 EXTERN cmdmod_T cmdmod; /* Ex command modifiers */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
963
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
964 EXTERN int msg_silent INIT(= 0); /* don't print messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
965 EXTERN int emsg_silent INIT(= 0); /* don't print error messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
966 EXTERN int cmd_silent INIT(= FALSE); /* don't echo the command line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
967
579
1ef373b13126 updated for version 7.0164
vimboss
parents: 574
diff changeset
968 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) \
1ef373b13126 updated for version 7.0164
vimboss
parents: 574
diff changeset
969 || defined(FEAT_AUTOCMD)
1ef373b13126 updated for version 7.0164
vimboss
parents: 574
diff changeset
970 # define HAS_SWAP_EXISTS_ACTION
1ef373b13126 updated for version 7.0164
vimboss
parents: 574
diff changeset
971 EXTERN int swap_exists_action INIT(= SEA_NONE);
1ef373b13126 updated for version 7.0164
vimboss
parents: 574
diff changeset
972 /* For dialog when swap file already
1ef373b13126 updated for version 7.0164
vimboss
parents: 574
diff changeset
973 * exists. */
603
e4c00ec07598 updated for version 7.0171
vimboss
parents: 579
diff changeset
974 EXTERN int swap_exists_did_quit INIT(= FALSE);
e4c00ec07598 updated for version 7.0171
vimboss
parents: 579
diff changeset
975 /* Selected "quit" at the dialog. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
976 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
977
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
978 EXTERN char_u *IObuff; /* sprintf's are done in this buffer,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
979 size is IOSIZE */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
980 EXTERN char_u *NameBuff; /* file names are expanded in this
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
981 * buffer, size is MAXPATHL */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
982 EXTERN char_u msg_buf[MSG_BUF_LEN]; /* small buffer for messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
983
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
984 /* When non-zero, postpone redrawing. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
985 EXTERN int RedrawingDisabled INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
986
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
987 EXTERN int readonlymode INIT(= FALSE); /* Set to TRUE for "view" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
988 EXTERN int recoverymode INIT(= FALSE); /* Set to TRUE for "-r" option */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
989
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
990 EXTERN typebuf_T typebuf /* typeahead buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
991 #ifdef DO_INIT
1900
d608343d25e6 updated for version 7.2-197
vimboss
parents: 1869
diff changeset
992 = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
993 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
994 ;
1200
f58cb9bf1260 updated for version 7.1b
vimboss
parents: 1140
diff changeset
995 EXTERN int ex_normal_busy INIT(= 0); /* recursiveness of ex_normal() */
856
8cd729851562 updated for version 7.0g
vimboss
parents: 842
diff changeset
996 EXTERN int ex_normal_lock INIT(= 0); /* forbid use of ex_normal() */
1462
ceaf71b15d81 updated for version 7.1-177
vimboss
parents: 1410
diff changeset
997 #ifdef FEAT_EVAL
ceaf71b15d81 updated for version 7.1-177
vimboss
parents: 1410
diff changeset
998 EXTERN int ignore_script INIT(= FALSE); /* ignore script input */
ceaf71b15d81 updated for version 7.1-177
vimboss
parents: 1410
diff changeset
999 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1000 EXTERN int stop_insert_mode; /* for ":stopinsert" and 'insertmode' */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1001
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1002 EXTERN int KeyTyped; /* TRUE if user typed current char */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1003 EXTERN int KeyStuffed; /* TRUE if current char from stuffbuf */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1004 #ifdef USE_IM_CONTROL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1005 EXTERN int vgetc_im_active; /* Input Method was active for last
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1006 character obtained from vgetc() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1007 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1008 EXTERN int maptick INIT(= 0); /* tick for each non-mapped char */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1009
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1010 EXTERN int must_redraw INIT(= 0); /* type of redraw necessary */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1011 EXTERN int skip_redraw INIT(= FALSE); /* skip redraw once */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1012 EXTERN int do_redraw INIT(= FALSE); /* extra redraw once */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1013
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1014 EXTERN int need_highlight_changed INIT(= TRUE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1015 EXTERN char_u *use_viminfo INIT(= NULL); /* name of viminfo file to use */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1016
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1017 #define NSCRIPT 15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1018 EXTERN FILE *scriptin[NSCRIPT]; /* streams to read script from */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1019 EXTERN int curscript INIT(= 0); /* index in scriptin[] */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1020 EXTERN FILE *scriptout INIT(= NULL); /* stream to write script to */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1021 EXTERN int read_cmd_fd INIT(= 0); /* fd to read commands from */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1022
1832
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
1023 /* volatile because it is used in signal handler catch_sigint(). */
b34d985598f6 updated for version 7.2-130
vimboss
parents: 1781
diff changeset
1024 EXTERN volatile int got_int INIT(= FALSE); /* set to TRUE when interrupt
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1025 signal occurred */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1026 #ifdef USE_TERM_CONSOLE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1027 EXTERN int term_console INIT(= FALSE); /* set to TRUE when console used */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1028 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1029 EXTERN int termcap_active INIT(= FALSE); /* set by starttermcap() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1030 EXTERN int cur_tmode INIT(= TMODE_COOK); /* input terminal mode */
1200
f58cb9bf1260 updated for version 7.1b
vimboss
parents: 1140
diff changeset
1031 EXTERN int bangredo INIT(= FALSE); /* set to TRUE with ! command */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1032 EXTERN int searchcmdlen; /* length of previous search cmd */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1033 #ifdef FEAT_SYN_HL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1034 EXTERN int reg_do_extmatch INIT(= 0); /* Used when compiling regexp:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1035 * REX_SET to allow \z\(...\),
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1036 * REX_USE to allow \z\1 et al. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1037 EXTERN reg_extmatch_T *re_extmatch_in INIT(= NULL); /* Used by vim_regexec():
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1038 * strings for \z\1...\z\9 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1039 EXTERN reg_extmatch_T *re_extmatch_out INIT(= NULL); /* Set by vim_regexec()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1040 * to store \z\(...\) matches */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1041 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1042
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1043 EXTERN int did_outofmem_msg INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1044 /* set after out of memory msg */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1045 EXTERN int did_swapwrite_msg INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1046 /* set after swap write error msg */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1047 EXTERN int undo_off INIT(= FALSE); /* undo switched off for now */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1048 EXTERN int global_busy INIT(= 0); /* set when :global is executing */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1049 EXTERN int listcmd_busy INIT(= FALSE); /* set when :argdo, :windo or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1050 :bufdo is executing */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1051 EXTERN int need_start_insertmode INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1052 /* start insert mode soon */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1053 EXTERN char_u *last_cmdline INIT(= NULL); /* last command line (for ":) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1054 EXTERN char_u *repeat_cmdline INIT(= NULL); /* command line for "." */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1055 #ifdef FEAT_CMDHIST
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1056 EXTERN char_u *new_last_cmdline INIT(= NULL); /* new value for last_cmdline */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1057 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1058 #ifdef FEAT_AUTOCMD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1059 EXTERN char_u *autocmd_fname INIT(= NULL); /* fname for <afile> on cmdline */
1723
2e42153b37f1 updated for version 7.2-021
vimboss
parents: 1689
diff changeset
1060 EXTERN int autocmd_fname_full; /* autocmd_fname is full path */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1061 EXTERN int autocmd_bufnr INIT(= 0); /* fnum for <abuf> on cmdline */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1062 EXTERN char_u *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */
661
e93a99ef31d0 updated for version 7.0195
vimboss
parents: 657
diff changeset
1063 EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */
4232
0fcb050fd79d updated for version 7.3.867
Bram Moolenaar <bram@vim.org>
parents: 4168
diff changeset
1064 EXTERN pos_T last_cursormoved /* for CursorMoved event */
661
e93a99ef31d0 updated for version 7.0195
vimboss
parents: 657
diff changeset
1065 # ifdef DO_INIT
1869
720a59d79bcd updated for version 7.2-168
vimboss
parents: 1834
diff changeset
1066 = INIT_POS_T(0, 0, 0)
661
e93a99ef31d0 updated for version 7.0195
vimboss
parents: 657
diff changeset
1067 # endif
e93a99ef31d0 updated for version 7.0195
vimboss
parents: 657
diff changeset
1068 ;
4232
0fcb050fd79d updated for version 7.3.867
Bram Moolenaar <bram@vim.org>
parents: 4168
diff changeset
1069 EXTERN int last_changedtick INIT(= 0); /* for TextChanged event */
0fcb050fd79d updated for version 7.3.867
Bram Moolenaar <bram@vim.org>
parents: 4168
diff changeset
1070 EXTERN buf_T *last_changedtick_buf INIT(= NULL);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1071 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1072
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1073 #ifdef FEAT_WINDOWS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1074 EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1075 EXTERN int postponed_split_flags INIT(= 0); /* args for win_split() */
1090
9a3b65713280 updated for version 7.0-216
vimboss
parents: 1066
diff changeset
1076 EXTERN int postponed_split_tab INIT(= 0); /* cmdmod.tab */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1077 # ifdef FEAT_QUICKFIX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1078 EXTERN int g_do_tagpreview INIT(= 0); /* for tag preview commands:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1079 height of preview window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1080 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1081 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1082 EXTERN int replace_offset INIT(= 0); /* offset for replace_push() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1083
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1084 EXTERN char_u *escape_chars INIT(= (char_u *)" \t\\\"|");
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1085 /* need backslash in cmd line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1086
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1087 EXTERN int keep_help_flag INIT(= FALSE); /* doing :ta from help file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1088
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1089 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1090 * When a string option is NULL (which only happens in out-of-memory
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1091 * situations), it is set to empty_option, to avoid having to check for NULL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1092 * everywhere.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1093 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1094 EXTERN char_u *empty_option INIT(= (char_u *)"");
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1095
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1096 EXTERN int redir_off INIT(= FALSE); /* no redirection for a moment */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1097 EXTERN FILE *redir_fd INIT(= NULL); /* message redirection file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1098 #ifdef FEAT_EVAL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1099 EXTERN int redir_reg INIT(= 0); /* message redirection register */
167
c93c9cad9618 updated for version 7.0051
vimboss
parents: 153
diff changeset
1100 EXTERN int redir_vname INIT(= 0); /* message redirection variable */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1101 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1102
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1103 #ifdef FEAT_LANGMAP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1104 EXTERN char_u langmap_mapchar[256]; /* mapping for language keys */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1105 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1106
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1107 #ifdef FEAT_WILDMENU
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1108 EXTERN int save_p_ls INIT(= -1); /* Save 'laststatus' setting */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1109 EXTERN int save_p_wmh INIT(= -1); /* Save 'winminheight' setting */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1110 EXTERN int wild_menu_showing INIT(= 0);
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
1111 # define WM_SHOWN 1 /* wildmenu showing */
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
1112 # define WM_SCROLLED 2 /* wildmenu showing with scroll */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1113 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1114
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1115 #ifdef MSWIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1116 EXTERN char_u toupper_tab[256]; /* table for toupper() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1117 EXTERN char_u tolower_tab[256]; /* table for tolower() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1118 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1120 #ifdef FEAT_LINEBREAK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1121 EXTERN char breakat_flags[256]; /* which characters are in 'breakat' */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1122 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1123
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1124 /* these are in version.c */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1125 extern char *Version;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1126 #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1127 extern char longVersion[];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1128 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1129 extern char *longVersion;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1130 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1131
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1132 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1133 * Some file names are stored in pathdef.c, which is generated from the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1134 * Makefile to make their value depend on the Makefile.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1135 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1136 #ifdef HAVE_PATHDEF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1137 extern char_u *default_vim_dir;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1138 extern char_u *default_vimruntime_dir;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1139 extern char_u *all_cflags;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1140 extern char_u *all_lflags;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1141 # ifdef VMS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1142 extern char_u *compiler_version;
1054
99ccc8932b6c updated for version 7.0-180
vimboss
parents: 1007
diff changeset
1143 extern char_u *compiled_arch;
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1144 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1145 extern char_u *compiled_user;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1146 extern char_u *compiled_sys;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1147 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1148
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1149 /* When a window has a local directory, the absolute path of the global
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1150 * current directory is stored here (in allocated memory). If the current
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1151 * directory is not a local directory, globaldir is NULL. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1152 EXTERN char_u *globaldir INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1153
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1154 /* Characters from 'listchars' option */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1155 EXTERN int lcs_eol INIT(= '$');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1156 EXTERN int lcs_ext INIT(= NUL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1157 EXTERN int lcs_prec INIT(= NUL);
12
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 11
diff changeset
1158 EXTERN int lcs_nbsp INIT(= NUL);
6777
a8962f0e0d34 patch 7.4.710
Bram Moolenaar <bram@vim.org>
parents: 6610
diff changeset
1159 EXTERN int lcs_space INIT(= NUL);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1160 EXTERN int lcs_tab1 INIT(= NUL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1161 EXTERN int lcs_tab2 INIT(= NUL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1162 EXTERN int lcs_trail INIT(= NUL);
2250
1bac28a53fae Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents: 2210
diff changeset
1163 #ifdef FEAT_CONCEAL
6610
86f00f7678eb updated for version 7.4.631
Bram Moolenaar <bram@vim.org>
parents: 6557
diff changeset
1164 EXTERN int lcs_conceal INIT(= ' ');
2250
1bac28a53fae Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents: 2210
diff changeset
1165 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1166
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1167 #if defined(FEAT_WINDOWS) || defined(FEAT_WILDMENU) || defined(FEAT_STL_OPT) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1168 || defined(FEAT_FOLDING)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1169 /* Characters from 'fillchars' option */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1170 EXTERN int fill_stl INIT(= ' ');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1171 EXTERN int fill_stlnc INIT(= ' ');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1172 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1173 #if defined(FEAT_WINDOWS) || defined(FEAT_FOLDING)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1174 EXTERN int fill_vert INIT(= ' ');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1175 EXTERN int fill_fold INIT(= '-');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1176 EXTERN int fill_diff INIT(= '-');
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1177 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1178
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1179 /* Whether 'keymodel' contains "stopsel" and "startsel". */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1180 EXTERN int km_stopsel INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1181 EXTERN int km_startsel INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1182
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1183 #ifdef FEAT_CMDWIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1184 EXTERN int cedit_key INIT(= -1); /* key value of 'cedit' option */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1185 EXTERN int cmdwin_type INIT(= 0); /* type of cmdline window or 0 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1186 EXTERN int cmdwin_result INIT(= 0); /* result of cmdline window or 0 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1187 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1188
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1189 EXTERN char_u no_lines_msg[] INIT(= N_("--No lines in buffer--"));
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1190
484
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1191 /*
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1192 * When ":global" is used to number of substitutions and changed lines is
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1193 * accumulated until it's finished.
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1194 * Also used for ":spellrepall".
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1195 */
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1196 EXTERN long sub_nsubs; /* total number of substitutions */
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1197 EXTERN linenr_T sub_nlines; /* total number of lines changed */
f012c4ed8c38 updated for version 7.0132
vimboss
parents: 474
diff changeset
1198
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1199 /* table to store parsed 'wildmode' */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1200 EXTERN char_u wim_flags[4];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1201
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1202 #if defined(FEAT_TITLE) && defined(FEAT_STL_OPT)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1203 /* whether titlestring and iconstring contains statusline syntax */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1204 # define STL_IN_ICON 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1205 # define STL_IN_TITLE 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1206 EXTERN int stl_syntax INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1207 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1208
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1209 #ifdef FEAT_SEARCH_EXTRA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1210 /* don't use 'hlsearch' temporarily */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1211 EXTERN int no_hlsearch INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1212 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1213
1620
73fe8baea242 updated for version 7.2a
vimboss
parents: 1570
diff changeset
1214 #if defined(FEAT_BEVAL) && !defined(NO_X11_INCLUDES)
190
a1f18bd133d6 updated for version 7.0057
vimboss
parents: 180
diff changeset
1215 EXTERN BalloonEval *balloonEval INIT(= NULL);
216
da182deebec7 updated for version 7.0061
vimboss
parents: 203
diff changeset
1216 # if defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)
190
a1f18bd133d6 updated for version 7.0057
vimboss
parents: 180
diff changeset
1217 EXTERN int bevalServers INIT(= 0);
216
da182deebec7 updated for version 7.0061
vimboss
parents: 203
diff changeset
1218 # define BEVAL_NETBEANS 0x01
da182deebec7 updated for version 7.0061
vimboss
parents: 203
diff changeset
1219 # define BEVAL_WORKSHOP 0x02
da182deebec7 updated for version 7.0061
vimboss
parents: 203
diff changeset
1220 # endif
190
a1f18bd133d6 updated for version 7.0057
vimboss
parents: 180
diff changeset
1221 #endif
a1f18bd133d6 updated for version 7.0057
vimboss
parents: 180
diff changeset
1222
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1223 #ifdef CURSOR_SHAPE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1224 /* the table is in misc2.c, because of initializations */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1225 extern cursorentry_T shape_table[SHAPE_IDX_COUNT];
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1226 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1227
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1228 #ifdef FEAT_PRINTER
440
eb531146be0e updated for version 7.0114
vimboss
parents: 410
diff changeset
1229 /*
eb531146be0e updated for version 7.0114
vimboss
parents: 410
diff changeset
1230 * Printer stuff shared between hardcopy.c and machine-specific printing code.
eb531146be0e updated for version 7.0114
vimboss
parents: 410
diff changeset
1231 */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1232 # define OPT_PRINT_TOP 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1233 # define OPT_PRINT_BOT 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1234 # define OPT_PRINT_LEFT 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1235 # define OPT_PRINT_RIGHT 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1236 # define OPT_PRINT_HEADERHEIGHT 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1237 # define OPT_PRINT_SYNTAX 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1238 # define OPT_PRINT_NUMBER 6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1239 # define OPT_PRINT_WRAP 7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1240 # define OPT_PRINT_DUPLEX 8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1241 # define OPT_PRINT_PORTRAIT 9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1242 # define OPT_PRINT_PAPER 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1243 # define OPT_PRINT_COLLATE 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1244 # define OPT_PRINT_JOBSPLIT 12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1245 # define OPT_PRINT_FORMFEED 13
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1246
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1247 # define OPT_PRINT_NUM_OPTIONS 14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1248
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1249 EXTERN option_table_T printer_opts[OPT_PRINT_NUM_OPTIONS]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1250 # ifdef DO_INIT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1251 =
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1252 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1253 {"top", TRUE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1254 {"bottom", TRUE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1255 {"left", TRUE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1256 {"right", TRUE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1257 {"header", TRUE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1258 {"syntax", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1259 {"number", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1260 {"wrap", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1261 {"duplex", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1262 {"portrait", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1263 {"paper", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1264 {"collate", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1265 {"jobsplit", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1266 {"formfeed", FALSE, 0, NULL, 0, FALSE},
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1267 }
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1268 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1269 ;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1270
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1271 /* For prt_get_unit(). */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1272 # define PRT_UNIT_NONE -1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1273 # define PRT_UNIT_PERC 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1274 # define PRT_UNIT_INCH 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1275 # define PRT_UNIT_MM 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1276 # define PRT_UNIT_POINT 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1277 # define PRT_UNIT_NAMES {"pc", "in", "mm", "pt"}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1278 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1279
707
111b7dcc8a17 updated for version 7.0213
vimboss
parents: 694
diff changeset
1280 #if (defined(FEAT_PRINTER) && defined(FEAT_STL_OPT)) \
111b7dcc8a17 updated for version 7.0213
vimboss
parents: 694
diff changeset
1281 || defined(FEAT_GUI_TABLINE)
688
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
1282 /* Page number used for %N in 'pageheader' and 'guitablabel'. */
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
1283 EXTERN linenr_T printer_page_num;
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
1284 #endif
bcd2edc4539e updated for version 7.0207
vimboss
parents: 685
diff changeset
1285
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1286 #ifdef FEAT_XCLIPBOARD
440
eb531146be0e updated for version 7.0114
vimboss
parents: 410
diff changeset
1287 EXTERN char *xterm_display INIT(= NULL); /* xterm display name; points
eb531146be0e updated for version 7.0114
vimboss
parents: 410
diff changeset
1288 into argv[] */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1289 EXTERN Display *xterm_dpy INIT(= NULL); /* xterm display pointer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1290 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1291 #if defined(FEAT_XCLIPBOARD) || defined(FEAT_GUI_X11)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1292 EXTERN XtAppContext app_context INIT(= (XtAppContext)NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1293 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1294
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1295 #ifdef FEAT_GUI_GTK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1296 EXTERN guint32 gtk_socket_id INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1297 EXTERN int echo_wid_arg INIT(= FALSE); /* --echo-wid argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1298 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1299
1376
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1300 #ifdef FEAT_GUI_W32
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1301 /*
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1302 * The value of the --windowid argument.
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1303 * For embedding gvim inside another application.
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1304 */
1570
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1462
diff changeset
1305 EXTERN long_u win_socket_id INIT(= 0);
1376
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1306 #endif
53b2bedccfdf updated for version 7.1-091
vimboss
parents: 1200
diff changeset
1307
841
c2cae213194d updated for version 7.0e07
vimboss
parents: 822
diff changeset
1308 #if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
c2cae213194d updated for version 7.0e07
vimboss
parents: 822
diff changeset
1309 EXTERN int typebuf_was_filled INIT(= FALSE); /* received text from client
842
a209672376fd updated for version 7.0f
vimboss
parents: 841
diff changeset
1310 or from feedkeys() */
841
c2cae213194d updated for version 7.0e07
vimboss
parents: 822
diff changeset
1311 #endif
c2cae213194d updated for version 7.0e07
vimboss
parents: 822
diff changeset
1312
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1313 #ifdef FEAT_CLIENTSERVER
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1314 EXTERN char_u *serverName INIT(= NULL); /* name of the server */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1315 # ifdef FEAT_X11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1316 EXTERN Window commWindow INIT(= None);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1317 EXTERN Window clientWindow INIT(= None);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1318 EXTERN Atom commProperty INIT(= None);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1319 EXTERN char_u *serverDelayedStartName INIT(= NULL);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1320 # else
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
1321 # ifdef PROTO
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1322 typedef int HWND;
3616
3b5f541269e2 updated for version 7.3.568
Bram Moolenaar <bram@vim.org>
parents: 3340
diff changeset
1323 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1324 EXTERN HWND clientWindow INIT(= 0);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1325 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1326 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1327
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1328 #if defined(UNIX) || defined(VMS)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1329 EXTERN int term_is_xterm INIT(= FALSE); /* xterm-like 'term' */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1330 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1331
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1332 #ifdef BACKSLASH_IN_FILENAME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1333 EXTERN char psepc INIT(= '\\'); /* normal path separator character */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1334 EXTERN char psepcN INIT(= '/'); /* abnormal path separator character */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1335 EXTERN char pseps[2] /* normal path separator string */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1336 # ifdef DO_INIT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1337 = {'\\', 0}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1338 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1339 ;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1340 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1341
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1342 #ifdef FEAT_VIRTUALEDIT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1343 /* Set to TRUE when an operator is being executed with virtual editing, MAYBE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1344 * when no operator is being executed, FALSE otherwise. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1345 EXTERN int virtual_op INIT(= MAYBE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1346 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1347
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1348 #ifdef FEAT_SYN_HL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1349 /* Display tick, incremented for each call to update_screen() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1350 EXTERN disptick_T display_tick INIT(= 0);
744
07f7b4a7755c updated for version 7.0222
vimboss
parents: 714
diff changeset
1351 #endif
221
7fd4b5df33be updated for version 7.0062
vimboss
parents: 216
diff changeset
1352
744
07f7b4a7755c updated for version 7.0222
vimboss
parents: 714
diff changeset
1353 #ifdef FEAT_SPELL
221
7fd4b5df33be updated for version 7.0062
vimboss
parents: 216
diff changeset
1354 /* Line in which spell checking wasn't highlighted because it touched the
7fd4b5df33be updated for version 7.0062
vimboss
parents: 216
diff changeset
1355 * cursor position in Insert mode. */
7fd4b5df33be updated for version 7.0062
vimboss
parents: 216
diff changeset
1356 EXTERN linenr_T spell_redraw_lnum INIT(= 0);
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1357 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1358
2378
85b7dc8da5eb Add the 'concealcursor' option to decide when the cursor line is to be
Bram Moolenaar <bram@vim.org>
parents: 2330
diff changeset
1359 #ifdef FEAT_CONCEAL
85b7dc8da5eb Add the 'concealcursor' option to decide when the cursor line is to be
Bram Moolenaar <bram@vim.org>
parents: 2330
diff changeset
1360 /* Set when the cursor line needs to be redrawn. */
85b7dc8da5eb Add the 'concealcursor' option to decide when the cursor line is to be
Bram Moolenaar <bram@vim.org>
parents: 2330
diff changeset
1361 EXTERN int need_cursor_line_redraw INIT(= FALSE);
85b7dc8da5eb Add the 'concealcursor' option to decide when the cursor line is to be
Bram Moolenaar <bram@vim.org>
parents: 2330
diff changeset
1362 #endif
85b7dc8da5eb Add the 'concealcursor' option to decide when the cursor line is to be
Bram Moolenaar <bram@vim.org>
parents: 2330
diff changeset
1363
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1364 #ifdef ALT_X_INPUT
1200
f58cb9bf1260 updated for version 7.1b
vimboss
parents: 1140
diff changeset
1365 /* we need to be able to go into the dispatch loop while processing a command
f58cb9bf1260 updated for version 7.1b
vimboss
parents: 1140
diff changeset
1366 * received via alternate input. However, we don't want to process another
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1367 * command until the first is completed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1368 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1369 EXTERN int suppress_alternate_input INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1370 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1371
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1372 #ifdef USE_MCH_ERRMSG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1373 /* Grow array to collect error messages in until they can be displayed. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1374 EXTERN garray_T error_ga
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1375 # ifdef DO_INIT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1376 = {0, 0, 0, 0, NULL}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1377 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1378 ;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1379 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1380
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1381 #ifdef FEAT_NETBEANS_INTG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1382 EXTERN char *netbeansArg INIT(= NULL); /* the -nb[:host:port:passwd] arg */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1383 EXTERN int netbeansFireChanges INIT(= 1); /* send buffer changes if != 0 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1384 EXTERN int netbeansForcedQuit INIT(= 0);/* don't write modified files */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1385 EXTERN int netbeansReadFile INIT(= 1); /* OK to read from disk if != 0 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1386 EXTERN int netbeansSuppressNoLines INIT(= 0); /* skip "No lines in buffer" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1387 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1388
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1389 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1390 * The error messages that can be shared are included here.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1391 * Excluded are errors that are only used once and debugging messages.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1392 */
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1393 EXTERN char_u e_abort[] INIT(= N_("E470: Command aborted"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1394 EXTERN char_u e_argreq[] INIT(= N_("E471: Argument required"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1395 EXTERN char_u e_backslash[] INIT(= N_("E10: \\ should be followed by /, ? or &"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1396 #ifdef FEAT_CMDWIN
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1397 EXTERN char_u e_cmdwin[] INIT(= N_("E11: Invalid in command-line window; <CR> executes, CTRL-C quits"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1398 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1399 EXTERN char_u e_curdir[] INIT(= N_("E12: Command not allowed from exrc/vimrc in current dir or tag search"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1400 #ifdef FEAT_EVAL
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1401 EXTERN char_u e_endif[] INIT(= N_("E171: Missing :endif"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1402 EXTERN char_u e_endtry[] INIT(= N_("E600: Missing :endtry"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1403 EXTERN char_u e_endwhile[] INIT(= N_("E170: Missing :endwhile"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1404 EXTERN char_u e_endfor[] INIT(= N_("E170: Missing :endfor"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1405 EXTERN char_u e_while[] INIT(= N_("E588: :endwhile without :while"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1406 EXTERN char_u e_for[] INIT(= N_("E588: :endfor without :for"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1407 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1408 EXTERN char_u e_exists[] INIT(= N_("E13: File exists (add ! to override)"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1409 EXTERN char_u e_failed[] INIT(= N_("E472: Command failed"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1410 #if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1411 EXTERN char_u e_fontset[] INIT(= N_("E234: Unknown fontset: %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1412 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1413 #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(MACOS) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1414 || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MSWIN)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1415 EXTERN char_u e_font[] INIT(= N_("E235: Unknown font: %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1416 #endif
2277
f42e0b5ff9e9 Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
Bram Moolenaar <bram@vim.org>
parents: 2275
diff changeset
1417 #if defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1418 EXTERN char_u e_fontwidth[] INIT(= N_("E236: Font \"%s\" is not fixed-width"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1419 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1420 EXTERN char_u e_internal[] INIT(= N_("E473: Internal error"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1421 EXTERN char_u e_interr[] INIT(= N_("Interrupted"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1422 EXTERN char_u e_invaddr[] INIT(= N_("E14: Invalid address"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1423 EXTERN char_u e_invarg[] INIT(= N_("E474: Invalid argument"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1424 EXTERN char_u e_invarg2[] INIT(= N_("E475: Invalid argument: %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1425 #ifdef FEAT_EVAL
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1426 EXTERN char_u e_invexpr2[] INIT(= N_("E15: Invalid expression: %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1427 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1428 EXTERN char_u e_invrange[] INIT(= N_("E16: Invalid range"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1429 EXTERN char_u e_invcmd[] INIT(= N_("E476: Invalid command"));
2250
1bac28a53fae Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents: 2210
diff changeset
1430 #if defined(UNIX) || defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1431 EXTERN char_u e_isadir2[] INIT(= N_("E17: \"%s\" is a directory"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1432 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1433 #ifdef FEAT_LIBCALL
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1434 EXTERN char_u e_libcall[] INIT(= N_("E364: Library call failed for \"%s()\""));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1435 #endif
2329
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1436 #if defined(DYNAMIC_PERL) \
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1437 || defined(DYNAMIC_PYTHON) || defined(DYNAMIC_PYTHON3) \
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1438 || defined(DYNAMIC_RUBY) \
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1439 || defined(DYNAMIC_TCL) \
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1440 || defined(DYNAMIC_ICONV) \
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1441 || defined(DYNAMIC_GETTEXT) \
ad2889f48843 Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents: 2320
diff changeset
1442 || defined(DYNAMIC_MZSCHEME) \
2330
ea4bf6df1a8a Whitespace cleanup.
Bram Moolenaar <bram@vim.org>
parents: 2329
diff changeset
1443 || defined(DYNAMIC_LUA)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1444 EXTERN char_u e_loadlib[] INIT(= N_("E370: Could not load library %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1445 EXTERN char_u e_loadfunc[] INIT(= N_("E448: Could not load library function %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1446 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1447 EXTERN char_u e_markinval[] INIT(= N_("E19: Mark has invalid line number"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1448 EXTERN char_u e_marknotset[] INIT(= N_("E20: Mark not set"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1449 EXTERN char_u e_modifiable[] INIT(= N_("E21: Cannot make changes, 'modifiable' is off"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1450 EXTERN char_u e_nesting[] INIT(= N_("E22: Scripts nested too deep"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1451 EXTERN char_u e_noalt[] INIT(= N_("E23: No alternate file"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1452 EXTERN char_u e_noabbr[] INIT(= N_("E24: No such abbreviation"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1453 EXTERN char_u e_nobang[] INIT(= N_("E477: No ! allowed"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1454 #ifndef FEAT_GUI
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1455 EXTERN char_u e_nogvim[] INIT(= N_("E25: GUI cannot be used: Not enabled at compile time"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1456 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1457 #ifndef FEAT_RIGHTLEFT
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1458 EXTERN char_u e_nohebrew[] INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1459 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1460 #ifndef FEAT_FKMAP
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1461 EXTERN char_u e_nofarsi[] INIT(= N_("E27: Farsi cannot be used: Not enabled at compile time\n"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1462 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1463 #ifndef FEAT_ARABIC
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1464 EXTERN char_u e_noarabic[] INIT(= N_("E800: Arabic cannot be used: Not enabled at compile time\n"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1465 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1466 #if defined(FEAT_SEARCH_EXTRA) || defined(FEAT_SYN_HL)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1467 EXTERN char_u e_nogroup[] INIT(= N_("E28: No such highlight group name: %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1468 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1469 EXTERN char_u e_noinstext[] INIT(= N_("E29: No inserted text yet"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1470 EXTERN char_u e_nolastcmd[] INIT(= N_("E30: No previous command line"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1471 EXTERN char_u e_nomap[] INIT(= N_("E31: No such mapping"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1472 EXTERN char_u e_nomatch[] INIT(= N_("E479: No match"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1473 EXTERN char_u e_nomatch2[] INIT(= N_("E480: No match: %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1474 EXTERN char_u e_noname[] INIT(= N_("E32: No file name"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1475 EXTERN char_u e_nopresub[] INIT(= N_("E33: No previous substitute regular expression"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1476 EXTERN char_u e_noprev[] INIT(= N_("E34: No previous command"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1477 EXTERN char_u e_noprevre[] INIT(= N_("E35: No previous regular expression"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1478 EXTERN char_u e_norange[] INIT(= N_("E481: No range allowed"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1479 #ifdef FEAT_WINDOWS
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1480 EXTERN char_u e_noroom[] INIT(= N_("E36: Not enough room"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1481 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1482 #ifdef FEAT_CLIENTSERVER
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1483 EXTERN char_u e_noserver[] INIT(= N_("E247: no registered server named \"%s\""));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1484 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1485 EXTERN char_u e_notcreate[] INIT(= N_("E482: Can't create file %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1486 EXTERN char_u e_notmp[] INIT(= N_("E483: Can't get temp file name"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1487 EXTERN char_u e_notopen[] INIT(= N_("E484: Can't open file %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1488 EXTERN char_u e_notread[] INIT(= N_("E485: Can't read file %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1489 EXTERN char_u e_nowrtmsg[] INIT(= N_("E37: No write since last change (add ! to override)"));
5464
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5120
diff changeset
1490 EXTERN char_u e_nowrtmsg_nobang[] INIT(= N_("E37: No write since last change"));
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1491 EXTERN char_u e_null[] INIT(= N_("E38: Null argument"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1492 #ifdef FEAT_DIGRAPHS
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1493 EXTERN char_u e_number_exp[] INIT(= N_("E39: Number expected"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1494 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1495 #ifdef FEAT_QUICKFIX
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1496 EXTERN char_u e_openerrf[] INIT(= N_("E40: Can't open errorfile %s"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1497 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1498 #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1499 EXTERN char_u e_opendisp[] INIT(= N_("E233: cannot open display"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1500 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1501 EXTERN char_u e_outofmem[] INIT(= N_("E41: Out of memory!"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1502 #ifdef FEAT_INS_EXPAND
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1503 EXTERN char_u e_patnotf[] INIT(= N_("Pattern not found"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1504 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1505 EXTERN char_u e_patnotf2[] INIT(= N_("E486: Pattern not found: %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1506 EXTERN char_u e_positive[] INIT(= N_("E487: Argument must be positive"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1507 #if defined(UNIX) || defined(FEAT_SESSION)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1508 EXTERN char_u e_prev_dir[] INIT(= N_("E459: Cannot go back to previous directory"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1509 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1510
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1511 #ifdef FEAT_QUICKFIX
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1512 EXTERN char_u e_quickfix[] INIT(= N_("E42: No Errors"));
644
e4fa26ce8769 updated for version 7.0187
vimboss
parents: 640
diff changeset
1513 EXTERN char_u e_loclist[] INIT(= N_("E776: No location list"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1514 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1515 EXTERN char_u e_re_damg[] INIT(= N_("E43: Damaged match string"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1516 EXTERN char_u e_re_corr[] INIT(= N_("E44: Corrupted regexp program"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1517 EXTERN char_u e_readonly[] INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1518 #ifdef FEAT_EVAL
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1519 EXTERN char_u e_readonlyvar[] INIT(= N_("E46: Cannot change read-only variable \"%s\""));
952
af7afd2bb4c2 updated for version 7.0-078
vimboss
parents: 856
diff changeset
1520 EXTERN char_u e_readonlysbx[] INIT(= N_("E794: Cannot set variable in the sandbox: \"%s\""));
7712
bce3b5ddb393 commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents: 7697
diff changeset
1521 EXTERN char_u e_emptykey[] INIT(= N_("E713: Cannot use empty key for Dictionary"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1522 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1523 #ifdef FEAT_QUICKFIX
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1524 EXTERN char_u e_readerrf[] INIT(= N_("E47: Error while reading errorfile"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1525 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1526 #ifdef HAVE_SANDBOX
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1527 EXTERN char_u e_sandbox[] INIT(= N_("E48: Not allowed in sandbox"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1528 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1529 EXTERN char_u e_secure[] INIT(= N_("E523: Not allowed here"));
2823
8bd38abda314 updated for version 7.3.187
Bram Moolenaar <bram@vim.org>
parents: 2791
diff changeset
1530 #if defined(AMIGA) || defined(MACOS) || defined(MSWIN) \
7408
1886f2863437 commit https://github.com/vim/vim/commit/e7fedb6ebe72d9a475aa65109b77d5ed4667067a
Christian Brabandt <cb@256bit.org>
parents: 6777
diff changeset
1531 || defined(UNIX) || defined(VMS)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1532 EXTERN char_u e_screenmode[] INIT(= N_("E359: Screen mode setting not supported"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1533 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1534 EXTERN char_u e_scroll[] INIT(= N_("E49: Invalid scroll size"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1535 EXTERN char_u e_shellempty[] INIT(= N_("E91: 'shell' option is empty"));
2277
f42e0b5ff9e9 Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
Bram Moolenaar <bram@vim.org>
parents: 2275
diff changeset
1536 #if defined(FEAT_SIGN_ICONS) && !defined(FEAT_GUI_GTK)
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1537 EXTERN char_u e_signdata[] INIT(= N_("E255: Couldn't read in sign data!"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1538 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1539 EXTERN char_u e_swapclose[] INIT(= N_("E72: Close error on swap file"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1540 EXTERN char_u e_tagstack[] INIT(= N_("E73: tag stack empty"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1541 EXTERN char_u e_toocompl[] INIT(= N_("E74: Command too complex"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1542 EXTERN char_u e_longname[] INIT(= N_("E75: Name too long"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1543 EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many ["));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1544 EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1545 EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1546 EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1547 EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1548 #ifdef FEAT_WINDOWS
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1549 EXTERN char_u e_winheight[] INIT(= N_("E591: 'winheight' cannot be smaller than 'winminheight'"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1550 EXTERN char_u e_winwidth[] INIT(= N_("E592: 'winwidth' cannot be smaller than 'winminwidth'"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1551 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1552 EXTERN char_u e_write[] INIT(= N_("E80: Error while writing"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1553 EXTERN char_u e_zerocount[] INIT(= N_("Zero count"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1554 #ifdef FEAT_EVAL
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1555 EXTERN char_u e_usingsid[] INIT(= N_("E81: Using <SID> not in a script context"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1556 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1557 #ifdef FEAT_CLIENTSERVER
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1558 EXTERN char_u e_invexprmsg[] INIT(= N_("E449: Invalid expression received"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1559 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1560 #ifdef FEAT_NETBEANS_INTG
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1561 EXTERN char_u e_guarded[] INIT(= N_("E463: Region is guarded, cannot modify"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1562 EXTERN char_u e_nbreadonly[] INIT(= N_("E744: NetBeans does not allow changes in read-only files"));
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1563 #endif
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1564 EXTERN char_u e_intern2[] INIT(= N_("E685: Internal error: %s"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1565 EXTERN char_u e_maxmempat[] INIT(= N_("E363: pattern uses more memory than 'maxmempattern'"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1566 EXTERN char_u e_emptybuf[] INIT(= N_("E749: empty buffer"));
6557
c1ed973fb58f updated for version 7.4.605
Bram Moolenaar <bram@vim.org>
parents: 6482
diff changeset
1567 EXTERN char_u e_nobufnr[] INIT(= N_("E86: Buffer %ld does not exist"));
119
e8f07016e34d updated for version 7.0042
vimboss
parents: 98
diff changeset
1568
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1569 EXTERN char_u e_invalpat[] INIT(= N_("E682: Invalid search pattern or delimiter"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1570 EXTERN char_u e_bufloaded[] INIT(= N_("E139: File is loaded in another buffer"));
527
93a822c9e3d2 updated for version 7.0147
vimboss
parents: 523
diff changeset
1571 #if defined(FEAT_SYN_HL) || \
93a822c9e3d2 updated for version 7.0147
vimboss
parents: 523
diff changeset
1572 (defined(FEAT_INS_EXPAND) && defined(FEAT_COMPL_FUNC))
523
a7ae7e043e43 updated for version 7.0146
vimboss
parents: 504
diff changeset
1573 EXTERN char_u e_notset[] INIT(= N_("E764: Option '%s' is not set"));
527
93a822c9e3d2 updated for version 7.0147
vimboss
parents: 523
diff changeset
1574 #endif
2791
1bd8af13fb43 updated for version 7.3.171
Bram Moolenaar <bram@vim.org>
parents: 2707
diff changeset
1575 #ifndef FEAT_CLIPBOARD
1bd8af13fb43 updated for version 7.3.171
Bram Moolenaar <bram@vim.org>
parents: 2707
diff changeset
1576 EXTERN char_u e_invalidreg[] INIT(= N_("E850: Invalid register name"));
1bd8af13fb43 updated for version 7.3.171
Bram Moolenaar <bram@vim.org>
parents: 2707
diff changeset
1577 #endif
8416
1a6527cce675 commit https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
Christian Brabandt <cb@256bit.org>
parents: 8212
diff changeset
1578 EXTERN char_u e_dirnotf[] INIT(= N_("E919: Directory not found in '%s': \"%s\""));
283
a2ff714de3db updated for version 7.0075
vimboss
parents: 242
diff changeset
1579
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1580 #ifdef MACOS_X_UNIX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1581 EXTERN short disallow_gui INIT(= FALSE);
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1582 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1583
504
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1584 EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1585 EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP"));
35cde31bdcbd updated for version 7.0141
vimboss
parents: 493
diff changeset
1586
2267
c08f91142c41 Crypt the swapfile.
Bram Moolenaar <bram@vim.org>
parents: 2250
diff changeset
1587 #ifdef FEAT_CRYPT
c08f91142c41 Crypt the swapfile.
Bram Moolenaar <bram@vim.org>
parents: 2250
diff changeset
1588 EXTERN char need_key_msg[] INIT(= N_("Need encryption key for \"%s\""));
c08f91142c41 Crypt the swapfile.
Bram Moolenaar <bram@vim.org>
parents: 2250
diff changeset
1589 #endif
c08f91142c41 Crypt the swapfile.
Bram Moolenaar <bram@vim.org>
parents: 2250
diff changeset
1590
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1591 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1592 * Comms. with the session manager (XSMP)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1593 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1594 #ifdef USE_XSMP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1595 EXTERN int xsmp_icefd INIT(= -1); /* The actual connection */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1596 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1597
777
f664cc974a7a updated for version 7.0227
vimboss
parents: 767
diff changeset
1598 /* For undo we need to know the lowest time possible. */
f664cc974a7a updated for version 7.0227
vimboss
parents: 767
diff changeset
1599 EXTERN time_t starttime;
f664cc974a7a updated for version 7.0227
vimboss
parents: 767
diff changeset
1600
1972
82f866f19e91 updated for version 7.2-269
vimboss
parents: 1944
diff changeset
1601 #ifdef STARTUPTIME
82f866f19e91 updated for version 7.2-269
vimboss
parents: 1944
diff changeset
1602 EXTERN FILE *time_fd INIT(= NULL); /* where to write startup timing */
82f866f19e91 updated for version 7.2-269
vimboss
parents: 1944
diff changeset
1603 #endif
82f866f19e91 updated for version 7.2-269
vimboss
parents: 1944
diff changeset
1604
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1605 /*
1757
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1606 * Some compilers warn for not using a return value, but in some situations we
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1607 * can't do anything useful with the value. Assign to this variable to avoid
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1608 * the warning.
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1609 */
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1610 EXTERN int ignored;
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1611 EXTERN char *ignoredp;
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1612
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1613 #ifdef FEAT_EVAL
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1614 /* set by alloc_fail(): ID */
7545
4c922651fd78 commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents: 7513
diff changeset
1615 EXTERN alloc_id_T alloc_fail_id INIT(= aid_none);
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1616 /* set by alloc_fail(), when zero alloc() returns NULL */
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1617 EXTERN int alloc_fail_countdown INIT(= -1);
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1618 /* set by alloc_fail(), number of times alloc() returns NULL */
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1619 EXTERN int alloc_fail_repeat INIT(= 0);
8011
26f555e9aab1 commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents: 7850
diff changeset
1620
26f555e9aab1 commit https://github.com/vim/vim/commit/2ab375e54ef4eac438d1aef8b99d9e71f2fa0c63
Christian Brabandt <cb@256bit.org>
parents: 7850
diff changeset
1621 EXTERN int disable_char_avail_for_testing INIT(= 0);
8863
e1b84109506a commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents: 8643
diff changeset
1622
e1b84109506a commit https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
Christian Brabandt <cb@256bit.org>
parents: 8643
diff changeset
1623 EXTERN int in_free_unref_items INIT(= FALSE);
7513
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1624 #endif
37e061ec063c commit https://github.com/vim/vim/commit/75bdf6aa30a5c99d67c42886cf7a4a000bbaa422
Christian Brabandt <cb@256bit.org>
parents: 7408
diff changeset
1625
1757
f10fe14748e2 updated for version 7.2-055
vimboss
parents: 1723
diff changeset
1626 /*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1627 * Optional Farsi support. Include it here, so EXTERN and INIT are defined.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1628 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1629 #ifdef FEAT_FKMAP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1630 # include "farsi.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1631 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1632
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1633 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1634 * Optional Arabic support. Include it here, so EXTERN and INIT are defined.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1635 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1636 #ifdef FEAT_ARABIC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1637 # include "arabic.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1638 #endif