Mercurial > vim
annotate src/vim.h @ 11416:32aed0993813 v8.0.0592
patch 8.0.0592: if a job writes to a buffer screen is not updated
commit https://github.com/vim/vim/commit/29ae377ea7039874337bc79ace9ab2b37b9056e5
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 30 19:39:39 2017 +0200
patch 8.0.0592: if a job writes to a buffer screen is not updated
Problem: If a job writes to a buffer and the user is typing a command, the
screen isn't updated. When a message is displayed the changed
buffer may cause it to be cleared. (Ramel Eshed)
Solution: Update the screen and then the command line if the screen didn't
scroll. Avoid inserting screen lines, as it clears any message.
Update the status line when the buffer changed.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 30 Apr 2017 19:45:03 +0200 |
parents | 71311d899b42 |
children | c45fb081391c |
rev | line source |
---|---|
10042
4aead6a9b7a9
commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents:
10025
diff
changeset
|
1 /* vi:set ts=8 sts=4 sw=4 noet: |
7 | 2 * |
3 * VIM - Vi IMproved by Bram Moolenaar | |
4 * | |
5 * Do ":help uganda" in Vim to read copying and usage conditions. | |
6 * Do ":help credits" in Vim to see a list of people who contributed. | |
7 */ | |
8 | |
9 #ifndef VIM__H | |
10 # define VIM__H | |
11 | |
9536
b2aada04d84e
commit https://github.com/vim/vim/commit/a06ecab7a5159e744448ace731036f0dc5f87dd4
Christian Brabandt <cb@256bit.org>
parents:
9473
diff
changeset
|
12 /* use fastcall for Borland, when compiling for Win32 */ |
7 | 13 #if defined(__BORLANDC__) && defined(WIN32) && !defined(DEBUG) |
14 #if defined(FEAT_PERL) || \ | |
15 defined(FEAT_PYTHON) || \ | |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2314
diff
changeset
|
16 defined(FEAT_PYTHON3) || \ |
7 | 17 defined(FEAT_RUBY) || \ |
18 defined(FEAT_TCL) || \ | |
14 | 19 defined(FEAT_MZSCHEME) || \ |
7 | 20 defined(DYNAMIC_GETTEXT) || \ |
21 defined(DYNAMIC_ICONV) || \ | |
22 defined(DYNAMIC_IME) || \ | |
23 defined(XPM) | |
127 | 24 #pragma option -pc |
7 | 25 # else |
127 | 26 #pragma option -pr |
7 | 27 # endif |
28 #endif | |
29 | |
9536
b2aada04d84e
commit https://github.com/vim/vim/commit/a06ecab7a5159e744448ace731036f0dc5f87dd4
Christian Brabandt <cb@256bit.org>
parents:
9473
diff
changeset
|
30 #if defined(WIN32) || defined(_WIN64) |
2666 | 31 # include "vimio.h" |
32 #endif | |
33 | |
7 | 34 /* ============ the header file puzzle (ca. 50-100 pieces) ========= */ |
35 | |
36 #ifdef HAVE_CONFIG_H /* GNU autoconf (or something else) was here */ | |
37 # include "auto/config.h" | |
38 # define HAVE_PATHDEF | |
39 | |
40 /* | |
1190 | 41 * Check if configure correctly managed to find sizeof(int). If this failed, |
7 | 42 * it becomes zero. This is likely a problem of not being able to run the |
43 * test program. Other items from configure may also be wrong then! | |
44 */ | |
5684 | 45 # if (VIM_SIZEOF_INT == 0) |
7 | 46 Error: configure did not run properly. Check auto/config.log. |
47 # endif | |
48 | |
49 /* | |
1190 | 50 * Cygwin may have fchdir() in a newer release, but in most versions it |
7 | 51 * doesn't work well and avoiding it keeps the binary backward compatible. |
52 */ | |
53 # if defined(__CYGWIN32__) && defined(HAVE_FCHDIR) | |
54 # undef HAVE_FCHDIR | |
55 # endif | |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
56 |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
57 /* We may need to define the uint32_t on non-Unix system, but using the same |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
58 * identifier causes conflicts. Therefore use UINT32_T. */ |
2215
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
59 # define UINT32_TYPEDEF uint32_t |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
60 #endif |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
61 |
2215
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
62 #if !defined(UINT32_TYPEDEF) |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
63 # if defined(uint32_t) /* this doesn't catch typedefs, unfortunately */ |
2215
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
64 # define UINT32_TYPEDEF uint32_t |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
65 # else |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
66 /* Fall back to assuming unsigned int is 32 bit. If this is wrong then the |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
67 * test in blowfish.c will fail. */ |
2215
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
68 # define UINT32_TYPEDEF unsigned int |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
69 # endif |
7 | 70 #endif |
71 | |
1076 | 72 /* user ID of root is usually zero, but not for everybody */ |
73 #ifdef __TANDEM | |
2087
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2068
diff
changeset
|
74 # ifndef _TANDEM_SOURCE |
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2068
diff
changeset
|
75 # define _TANDEM_SOURCE |
3112fcc89238
updated for version 7.2.371
Bram Moolenaar <bram@zimbu.org>
parents:
2068
diff
changeset
|
76 # endif |
1076 | 77 # include <floss.h> |
78 # define ROOT_UID 65535 | |
5739 | 79 # define OLDXAW |
80 # if (_TANDEM_ARCH_ == 2 && __H_Series_RVU >= 621) | |
81 # define SA_ONSTACK_COMPATIBILITY | |
82 # endif | |
1076 | 83 #else |
84 # define ROOT_UID 0 | |
85 #endif | |
86 | |
7 | 87 /* |
88 * MACOS_CLASSIC compiling for MacOS prior to MacOS X | |
89 * MACOS_X_UNIX compiling for MacOS X (using os_unix.c) | |
573 | 90 * MACOS_X compiling for MacOS X (using os_unix.c) |
7 | 91 * MACOS compiling for either one |
92 */ | |
93 #if defined(macintosh) && !defined(MACOS_CLASSIC) | |
1236 | 94 # define MACOS_CLASSIC |
7 | 95 #endif |
96 #if defined(MACOS_X_UNIX) | |
97 # define MACOS_X | |
98 # ifndef HAVE_CONFIG_H | |
99 # define UNIX | |
100 # endif | |
101 #endif | |
102 #if defined(MACOS_X) || defined(MACOS_CLASSIC) | |
4031 | 103 # define MACOS |
7 | 104 #endif |
105 #if defined(MACOS_X) && defined(MACOS_CLASSIC) | |
106 Error: To compile for both MACOS X and Classic use a Classic Carbon | |
107 #endif | |
108 /* Unless made through the Makefile enforce GUI on Mac */ | |
109 #if defined(MACOS) && !defined(HAVE_CONFIG_H) | |
110 # define FEAT_GUI_MAC | |
111 #endif | |
112 | |
113 #if defined(FEAT_GUI_MOTIF) \ | |
114 || defined(FEAT_GUI_GTK) \ | |
115 || defined(FEAT_GUI_ATHENA) \ | |
116 || defined(FEAT_GUI_MAC) \ | |
117 || defined(FEAT_GUI_W32) \ | |
573 | 118 || defined(FEAT_GUI_PHOTON) |
2891 | 119 # define FEAT_GUI_ENABLED /* also defined with NO_X11_INCLUDES */ |
18 | 120 # if !defined(FEAT_GUI) && !defined(NO_X11_INCLUDES) |
7 | 121 # define FEAT_GUI |
122 # endif | |
123 #endif | |
124 | |
6110 | 125 /* Check support for rendering options */ |
126 #ifdef FEAT_GUI | |
127 # if defined(FEAT_DIRECTX) | |
128 # define FEAT_RENDER_OPTIONS | |
129 # endif | |
130 #endif | |
131 | |
714 | 132 /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */ |
133 #if _MSC_VER >= 1400 | |
134 # define _CRT_SECURE_NO_DEPRECATE | |
135 # define _CRT_NONSTDC_NO_DEPRECATE | |
136 #endif | |
137 | |
8163
d8a8e86f39ad
commit https://github.com/vim/vim/commit/e89ff0472bc33779583d48e8d38a5e794d05613a
Christian Brabandt <cb@256bit.org>
parents:
8140
diff
changeset
|
138 #if defined(FEAT_GUI_W32) |
7 | 139 # define FEAT_GUI_MSWIN |
140 #endif | |
8140
563c923b1584
commit https://github.com/vim/vim/commit/cf7164a088664961e7d70dd100c5874dc5ceb293
Christian Brabandt <cb@256bit.org>
parents:
8059
diff
changeset
|
141 #if defined(WIN32) || defined(_WIN64) |
7 | 142 # define MSWIN |
143 #endif | |
144 /* Practically everything is common to both Win32 and Win64 */ | |
145 #if defined(WIN32) || defined(_WIN64) | |
146 # define WIN3264 | |
147 #endif | |
148 | |
149 /* | |
5684 | 150 * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files |
151 * need items from feature.h. Therefore define VIM_SIZEOF_INT here. | |
7 | 152 */ |
153 #ifdef WIN3264 | |
5684 | 154 # define VIM_SIZEOF_INT 4 |
7 | 155 #endif |
156 | |
157 #ifdef AMIGA | |
158 /* Be conservative about sizeof(int). It could be 4 too. */ | |
159 # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */ | |
160 # ifdef __GNUC__ | |
5684 | 161 # define VIM_SIZEOF_INT 4 |
7 | 162 # else |
5684 | 163 # define VIM_SIZEOF_INT 2 |
7 | 164 # endif |
165 # endif | |
166 #endif | |
167 #ifdef MACOS | |
675 | 168 # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \ |
7 | 169 || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */ |
5684 | 170 # define VIM_SIZEOF_INT 4 |
7 | 171 # else |
5684 | 172 # define VIM_SIZEOF_INT 2 |
7 | 173 # endif |
174 #endif | |
175 | |
176 | |
9692
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
177 /* |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
178 * #defines for optionals and features |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
179 * Also defines FEAT_TINY, FEAT_SMALL, etc. when FEAT_HUGE is defined. |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
180 */ |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
181 #include "feature.h" |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
182 |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
183 #if defined(MACOS_X_UNIX) |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
184 # if defined(FEAT_SMALL) && !defined(FEAT_CLIPBOARD) |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
185 # define FEAT_CLIPBOARD |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
186 # endif |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
187 # if defined(FEAT_SMALL) && !defined(FEAT_MOUSE) |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
188 # define FEAT_MOUSE |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
189 # endif |
02bed64bbd79
commit https://github.com/vim/vim/commit/b822cb0f93177bb045b221f607aee735f08ce428
Christian Brabandt <cb@256bit.org>
parents:
9684
diff
changeset
|
190 #endif |
7 | 191 |
192 /* +x11 is only enabled when it's both available and wanted. */ | |
193 #if defined(HAVE_X11) && defined(WANT_X11) | |
194 # define FEAT_X11 | |
195 #endif | |
196 | |
18 | 197 #ifdef NO_X11_INCLUDES |
2598 | 198 /* In os_mac_conv.c and os_macosx.m NO_X11_INCLUDES is defined to avoid |
199 * X11 headers. Disable all X11 related things to avoid conflicts. */ | |
18 | 200 # ifdef FEAT_X11 |
201 # undef FEAT_X11 | |
202 # endif | |
1702 | 203 # ifdef FEAT_GUI_X11 |
204 # undef FEAT_GUI_X11 | |
205 # endif | |
18 | 206 # ifdef FEAT_XCLIPBOARD |
207 # undef FEAT_XCLIPBOARD | |
208 # endif | |
209 # ifdef FEAT_GUI_MOTIF | |
210 # undef FEAT_GUI_MOTIF | |
211 # endif | |
212 # ifdef FEAT_GUI_ATHENA | |
213 # undef FEAT_GUI_ATHENA | |
214 # endif | |
215 # ifdef FEAT_GUI_GTK | |
216 # undef FEAT_GUI_GTK | |
217 # endif | |
218 # ifdef FEAT_BEVAL_TIP | |
219 # undef FEAT_BEVAL_TIP | |
220 # endif | |
221 # ifdef FEAT_XIM | |
222 # undef FEAT_XIM | |
223 # endif | |
224 # ifdef FEAT_CLIENTSERVER | |
225 # undef FEAT_CLIENTSERVER | |
226 # endif | |
227 #endif | |
228 | |
763 | 229 /* The Mac conversion stuff doesn't work under X11. */ |
230 #if defined(FEAT_MBYTE) && defined(MACOS_X) | |
231 # define MACOS_CONVERT | |
232 #endif | |
233 | |
7 | 234 /* Can't use "PACKAGE" here, conflicts with a Perl include file. */ |
235 #ifndef VIMPACKAGE | |
236 # define VIMPACKAGE "vim" | |
237 #endif | |
238 | |
239 /* | |
240 * Find out if function definitions should include argument types | |
241 */ | |
242 #ifdef AZTEC_C | |
243 # include <functions.h> | |
244 #endif | |
245 | |
246 #ifdef SASC | |
247 # include <clib/exec_protos.h> | |
248 #endif | |
249 | |
250 #ifdef _DCC | |
251 # include <clib/exec_protos.h> | |
252 #endif | |
253 | |
254 #ifdef __BEOS__ | |
255 # include "os_beos.h" | |
256 #endif | |
257 | |
9536
b2aada04d84e
commit https://github.com/vim/vim/commit/a06ecab7a5159e744448ace731036f0dc5f87dd4
Christian Brabandt <cb@256bit.org>
parents:
9473
diff
changeset
|
258 #if (defined(UNIX) || defined(VMS)) \ |
7 | 259 && (!defined(MACOS_X) || defined(HAVE_CONFIG_H)) |
260 # include "os_unix.h" /* bring lots of system header files */ | |
261 #endif | |
262 | |
1876 | 263 /* Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter |
264 * can be used to check for mistakes. */ | |
265 #ifdef HAVE_ATTRIBUTE_UNUSED | |
266 # define UNUSED __attribute__((unused)) | |
267 #else | |
268 # define UNUSED | |
269 #endif | |
270 | |
10460
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10430
diff
changeset
|
271 /* Used to check for "sun", "__sun" is used by newer compilers. */ |
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10430
diff
changeset
|
272 #if defined(__sun) |
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10430
diff
changeset
|
273 # define SUN_SYSTEM |
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10430
diff
changeset
|
274 #endif |
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10430
diff
changeset
|
275 |
11 | 276 /* if we're compiling in C++ (currently only KVim), the system |
277 * headers must have the correct prototypes or nothing will build. | |
278 * conversely, our prototypes might clash due to throw() specifiers and | |
856 | 279 * cause compilation failures even though the headers are correct. For |
11 | 280 * a concrete example, gcc-3.2 enforces exception specifications, and |
281 * glibc-2.2.5 has them in their system headers. | |
282 */ | |
283 #if !defined(__cplusplus) && defined(UNIX) \ | |
284 && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */ | |
7 | 285 # include "auto/osdef.h" /* bring missing declarations in */ |
286 #endif | |
287 | |
288 #ifdef AMIGA | |
289 # include "os_amiga.h" | |
290 #endif | |
291 | |
292 #ifdef WIN3264 | |
293 # include "os_win32.h" | |
294 #endif | |
295 | |
296 #ifdef __MINT__ | |
297 # include "os_mint.h" | |
298 #endif | |
299 | |
300 #if defined(MACOS) | |
301 # if defined(__MRC__) || defined(__SC__) /* MPW Compilers */ | |
302 # define HAVE_SETENV | |
303 # endif | |
304 # include "os_mac.h" | |
305 #endif | |
306 | |
307 #ifdef __QNX__ | |
308 # include "os_qnx.h" | |
309 #endif | |
310 | |
311 #ifdef FEAT_SUN_WORKSHOP | |
312 # include "workshop.h" | |
313 #endif | |
314 | |
315 #ifdef X_LOCALE | |
316 # include <X11/Xlocale.h> | |
317 #else | |
318 # ifdef HAVE_LOCALE_H | |
319 # include <locale.h> | |
320 # endif | |
321 #endif | |
322 | |
323 /* | |
324 * Maximum length of a path (for non-unix systems) Make it a bit long, to stay | |
325 * on the safe side. But not too long to put on the stack. | |
326 */ | |
327 #ifndef MAXPATHL | |
328 # ifdef MAXPATHLEN | |
329 # define MAXPATHL MAXPATHLEN | |
330 # else | |
331 # define MAXPATHL 256 | |
332 # endif | |
333 #endif | |
334 #ifdef BACKSLASH_IN_FILENAME | |
1586 | 335 # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<") |
7 | 336 #else |
1746 | 337 # ifdef VMS |
338 /* VMS allows a lot of characters in the file name */ | |
339 # define PATH_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'\"|!") | |
340 # define SHELL_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'|!()&") | |
341 # else | |
342 # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<") | |
343 # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&") | |
344 # endif | |
7 | 345 #endif |
346 | |
7447
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
347 /* length of a buffer to store a number in ASCII (64 bits binary + NUL) */ |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
348 #define NUMBUFLEN 65 |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
349 |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
350 /* flags for vim_str2nr() */ |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
351 #define STR2NR_BIN 1 |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
352 #define STR2NR_OCT 2 |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
353 #define STR2NR_HEX 4 |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
354 #define STR2NR_ALL (STR2NR_BIN + STR2NR_OCT + STR2NR_HEX) |
ad432f8f68fb
commit https://github.com/vim/vim/commit/887c1fea4a114e7170091942d0446c8882701b5b
Christian Brabandt <cb@256bit.org>
parents:
7408
diff
changeset
|
355 #define STR2NR_FORCE 8 /* only when ONE of the above is used */ |
7 | 356 |
357 /* | |
358 * Shorthand for unsigned variables. Many systems, but not all, have u_char | |
359 * already defined, so we use char_u to avoid trouble. | |
360 */ | |
361 typedef unsigned char char_u; | |
362 typedef unsigned short short_u; | |
363 typedef unsigned int int_u; | |
840 | 364 /* Make sure long_u is big enough to hold a pointer. |
1686 | 365 * On Win64, longs are 32 bits and pointers are 64 bits. |
366 * For printf() and scanf(), we need to take care of long_u specifically. */ | |
7 | 367 #ifdef _WIN64 |
2330 | 368 typedef unsigned __int64 long_u; |
369 typedef __int64 long_i; | |
1570 | 370 # define SCANF_HEX_LONG_U "%Ix" |
371 # define SCANF_DECIMAL_LONG_U "%Iu" | |
372 # define PRINTF_HEX_LONG_U "0x%Ix" | |
7 | 373 #else |
1686 | 374 /* Microsoft-specific. The __w64 keyword should be specified on any typedefs |
375 * that change size between 32-bit and 64-bit platforms. For any such type, | |
376 * __w64 should appear only on the 32-bit definition of the typedef. | |
377 * Define __w64 as an empty token for everything but MSVC 7.x or later. | |
378 */ | |
379 # if !defined(_MSC_VER) || (_MSC_VER < 1300) | |
1746 | 380 # define __w64 |
1686 | 381 # endif |
382 typedef unsigned long __w64 long_u; | |
383 typedef long __w64 long_i; | |
1570 | 384 # define SCANF_HEX_LONG_U "%lx" |
385 # define SCANF_DECIMAL_LONG_U "%lu" | |
386 # define PRINTF_HEX_LONG_U "0x%lx" | |
7 | 387 #endif |
1570 | 388 #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U |
7 | 389 |
390 /* | |
5684 | 391 * Only systems which use configure will have SIZEOF_OFF_T and VIM_SIZEOF_LONG |
2241
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
392 * defined, which is ok since those are the same systems which can have |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
393 * varying sizes for off_t. The other systems will continue to use "%ld" to |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
394 * print off_t since off_t is simply a typedef to long for them. |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
395 */ |
5684 | 396 #if defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T > VIM_SIZEOF_LONG) |
2241
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
397 # define LONG_LONG_OFF_T |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
398 #endif |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
399 |
60da25e3aab7
Correct use of long instead of off_t for file size. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2217
diff
changeset
|
400 /* |
9387
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
401 * We use 64-bit file functions here, if available. E.g. ftello() returns |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
402 * off_t instead of long, which helps if long is 32 bit and off_t is 64 bit. |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
403 * We assume that when fseeko() is available then ftello() is too. |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
404 * Note that Windows has different function names. |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
405 */ |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
406 #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__) |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
407 typedef __int64 off_T; |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
408 # ifdef __MINGW32__ |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
409 # define vim_lseek lseek64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
410 # define vim_fseek fseeko64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
411 # define vim_ftell ftello64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
412 # else |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
413 # define vim_lseek _lseeki64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
414 # define vim_fseek _fseeki64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
415 # define vim_ftell _ftelli64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
416 # endif |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
417 #else |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
418 # ifdef PROTO |
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
419 typedef long off_T; |
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
420 # else |
9387
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
421 typedef off_t off_T; |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
422 # endif |
9387
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
423 # ifdef HAVE_FSEEKO |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
424 # define vim_lseek lseek |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
425 # define vim_ftell ftello |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
426 # define vim_fseek fseeko |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
427 # else |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
428 # define vim_lseek lseek |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
429 # define vim_ftell ftell |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
430 # define vim_fseek(a, b, c) fseek(a, (long)b, c) |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
431 # endif |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
432 #endif |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
433 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
434 /* |
7 | 435 * The characters and attributes cached for the screen. |
436 */ | |
674 | 437 typedef char_u schar_T; |
203 | 438 #ifdef FEAT_SYN_HL |
439 typedef unsigned short sattr_T; | |
440 # define MAX_TYPENR 65535 | |
441 #else | |
442 typedef unsigned char sattr_T; | |
443 # define MAX_TYPENR 255 | |
444 #endif | |
7 | 445 |
446 /* | |
447 * The u8char_T can hold one decoded UTF-8 character. | |
714 | 448 * We normally use 32 bits now, since some Asian characters don't fit in 16 |
449 * bits. u8char_T is only used for displaying, it could be 16 bits to save | |
450 * memory. | |
7 | 451 */ |
452 #ifdef FEAT_MBYTE | |
714 | 453 # ifdef UNICODE16 |
454 typedef unsigned short u8char_T; /* short should be 16 bits */ | |
455 # else | |
5684 | 456 # if VIM_SIZEOF_INT >= 4 |
714 | 457 typedef unsigned int u8char_T; /* int is 32 bits */ |
458 # else | |
459 typedef unsigned long u8char_T; /* long should be 32 bits or more */ | |
460 # endif | |
461 # endif | |
7 | 462 #endif |
463 | |
464 #ifndef UNIX /* For Unix this is included in os_unix.h */ | |
465 # include <stdio.h> | |
466 # include <ctype.h> | |
467 #endif | |
468 | |
469 #include "ascii.h" | |
470 #include "keymap.h" | |
471 #include "term.h" | |
472 #include "macros.h" | |
473 | |
474 #ifdef LATTICE | |
475 # include <sys/types.h> | |
476 # include <sys/stat.h> | |
477 #endif | |
478 #ifdef _DCC | |
479 # include <sys/stat.h> | |
480 #endif | |
8212
05b88224cea1
commit https://github.com/vim/vim/commit/48e330aff911be1c798c88a973af6437a8141fce
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
481 #if defined(MSWIN) |
7 | 482 # include <sys/stat.h> |
483 #endif | |
484 | |
8212
05b88224cea1
commit https://github.com/vim/vim/commit/48e330aff911be1c798c88a973af6437a8141fce
Christian Brabandt <cb@256bit.org>
parents:
8163
diff
changeset
|
485 #if defined(HAVE_ERRNO_H) \ |
9536
b2aada04d84e
commit https://github.com/vim/vim/commit/a06ecab7a5159e744448ace731036f0dc5f87dd4
Christian Brabandt <cb@256bit.org>
parents:
9473
diff
changeset
|
486 || defined(WIN32) || defined(_WIN64) |
2668 | 487 # include <errno.h> |
488 #endif | |
489 | |
10914
3b0924353019
patch 8.0.0346: Vim relies on limits.h to be included indirectly
Christian Brabandt <cb@256bit.org>
parents:
10912
diff
changeset
|
490 /* for INT_MAX et al. */ |
3b0924353019
patch 8.0.0346: Vim relies on limits.h to be included indirectly
Christian Brabandt <cb@256bit.org>
parents:
10912
diff
changeset
|
491 #include <limits.h> |
3b0924353019
patch 8.0.0346: Vim relies on limits.h to be included indirectly
Christian Brabandt <cb@256bit.org>
parents:
10912
diff
changeset
|
492 |
7 | 493 /* |
494 * Allow other (non-unix) systems to configure themselves now | |
495 * These are also in os_unix.h, because osdef.sh needs them there. | |
496 */ | |
497 #ifndef UNIX | |
498 /* Note: Some systems need both string.h and strings.h (Savage). If the | |
499 * system can't handle this, define NO_STRINGS_WITH_STRING_H. */ | |
500 # ifdef HAVE_STRING_H | |
501 # include <string.h> | |
502 # endif | |
503 # if defined(HAVE_STRINGS_H) && !defined(NO_STRINGS_WITH_STRING_H) | |
4031 | 504 # include <strings.h> |
7 | 505 # endif |
506 # ifdef HAVE_STAT_H | |
507 # include <stat.h> | |
508 # endif | |
509 # ifdef HAVE_STDLIB_H | |
510 # include <stdlib.h> | |
511 # endif | |
512 #endif /* NON-UNIX */ | |
513 | |
514 #include <assert.h> | |
515 | |
2199
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
516 #ifdef HAVE_STDINT_H |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
517 # include <stdint.h> |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
518 #endif |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
519 #ifdef HAVE_INTTYPES_H |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
520 # include <inttypes.h> |
014a996ac896
Use UINT32_T in the code, define it to uint32_t or unsigned int.
Bram Moolenaar <bram@vim.org>
parents:
2197
diff
changeset
|
521 #endif |
255 | 522 #ifdef HAVE_WCTYPE_H |
523 # include <wctype.h> | |
524 #endif | |
7838
cfed0e9f0ca2
commit https://github.com/vim/vim/commit/ba4ef2757cfc126f342b710f1ad9ea39e6b56cec
Christian Brabandt <cb@256bit.org>
parents:
7813
diff
changeset
|
525 #include <stdarg.h> |
255 | 526 |
9570
695186e11daa
commit https://github.com/vim/vim/commit/840268400dc8fda62a14f8a084e8b1ea46619454
Christian Brabandt <cb@256bit.org>
parents:
9562
diff
changeset
|
527 /* for offsetof() */ |
695186e11daa
commit https://github.com/vim/vim/commit/840268400dc8fda62a14f8a084e8b1ea46619454
Christian Brabandt <cb@256bit.org>
parents:
9562
diff
changeset
|
528 #include <stddef.h> |
695186e11daa
commit https://github.com/vim/vim/commit/840268400dc8fda62a14f8a084e8b1ea46619454
Christian Brabandt <cb@256bit.org>
parents:
9562
diff
changeset
|
529 |
4031 | 530 #if defined(HAVE_SYS_SELECT_H) && \ |
2109
6c3c2e464a96
updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents:
2097
diff
changeset
|
531 (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) |
4031 | 532 # include <sys/select.h> |
533 #endif | |
2109
6c3c2e464a96
updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents:
2097
diff
changeset
|
534 |
4031 | 535 #ifndef HAVE_SELECT |
536 # ifdef HAVE_SYS_POLL_H | |
537 # include <sys/poll.h> | |
7929
e44240b5a6da
commit https://github.com/vim/vim/commit/a8343c1808f2f268282f3030ce4adaf22e8ade54
Christian Brabandt <cb@256bit.org>
parents:
7838
diff
changeset
|
538 # elif defined(WIN32) |
7797
0d46cea25641
commit https://github.com/vim/vim/commit/f12d983deab06b0408781d7a6c2f8970d765b723
Christian Brabandt <cb@256bit.org>
parents:
7743
diff
changeset
|
539 # define HAVE_SELECT |
4031 | 540 # else |
541 # ifdef HAVE_POLL_H | |
542 # include <poll.h> | |
2109
6c3c2e464a96
updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents:
2097
diff
changeset
|
543 # endif |
6c3c2e464a96
updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents:
2097
diff
changeset
|
544 # endif |
4031 | 545 #endif |
2109
6c3c2e464a96
updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents:
2097
diff
changeset
|
546 |
7 | 547 /* ================ end of the header file puzzle =============== */ |
548 | |
549 /* | |
550 * For dynamically loaded imm library. Currently, only for Win32. | |
551 */ | |
552 #ifdef DYNAMIC_IME | |
553 # ifndef FEAT_MBYTE_IME | |
554 # define FEAT_MBYTE_IME | |
555 # endif | |
556 #endif | |
557 | |
558 /* | |
559 * Check input method control. | |
560 */ | |
1562 | 561 #if defined(FEAT_XIM) \ |
562 || (defined(FEAT_GUI) && (defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))) \ | |
1567 | 563 || (defined(FEAT_GUI_MAC) && defined(FEAT_MBYTE)) |
7 | 564 # define USE_IM_CONTROL |
565 #endif | |
566 | |
567 /* | |
568 * For dynamically loaded gettext library. Currently, only for Win32. | |
569 */ | |
570 #ifdef DYNAMIC_GETTEXT | |
571 # ifndef FEAT_GETTEXT | |
572 # define FEAT_GETTEXT | |
573 # endif | |
574 /* These are in os_win32.c */ | |
36 | 575 extern char *(*dyn_libintl_gettext)(const char *msgid); |
9754
a990e7ed260b
commit https://github.com/vim/vim/commit/ee695f787ade7fd88fc5f5497553d95c0c3645b5
Christian Brabandt <cb@256bit.org>
parents:
9723
diff
changeset
|
576 extern char *(*dyn_libintl_ngettext)(const char *msgid, const char *msgid_plural, unsigned long n); |
36 | 577 extern char *(*dyn_libintl_bindtextdomain)(const char *domainname, const char *dirname); |
578 extern char *(*dyn_libintl_bind_textdomain_codeset)(const char *domainname, const char *codeset); | |
579 extern char *(*dyn_libintl_textdomain)(const char *domainname); | |
10571
b726d3ea70bc
patch 8.0.0175: setting language on MS-Windows does not always work
Christian Brabandt <cb@256bit.org>
parents:
10460
diff
changeset
|
580 extern int (*dyn_libintl_putenv)(const char *envstring); |
7 | 581 #endif |
582 | |
583 | |
584 /* | |
585 * The _() stuff is for using gettext(). It is a no-op when libintl.h is not | |
586 * found or the +multilang feature is disabled. | |
587 */ | |
588 #ifdef FEAT_GETTEXT | |
589 # ifdef DYNAMIC_GETTEXT | |
590 # define _(x) (*dyn_libintl_gettext)((char *)(x)) | |
11129
f4ea50924c6d
patch 8.0.0452: some macros are in lower case
Christian Brabandt <cb@256bit.org>
parents:
10914
diff
changeset
|
591 # define NGETTEXT(x, xs, n) (*dyn_libintl_ngettext)((char *)(x), (char *)(xs), (n)) |
7 | 592 # define N_(x) x |
36 | 593 # define bindtextdomain(domain, dir) (*dyn_libintl_bindtextdomain)((domain), (dir)) |
594 # define bind_textdomain_codeset(domain, codeset) (*dyn_libintl_bind_textdomain_codeset)((domain), (codeset)) | |
595 # if !defined(HAVE_BIND_TEXTDOMAIN_CODESET) | |
596 # define HAVE_BIND_TEXTDOMAIN_CODESET 1 | |
597 # endif | |
7 | 598 # define textdomain(domain) (*dyn_libintl_textdomain)(domain) |
10571
b726d3ea70bc
patch 8.0.0175: setting language on MS-Windows does not always work
Christian Brabandt <cb@256bit.org>
parents:
10460
diff
changeset
|
599 # define libintl_putenv(envstring) (*dyn_libintl_putenv)(envstring) |
10781
c96534dd2b2f
patch 8.0.0280: problem setting multi-byte environment var on MS-Windows
Christian Brabandt <cb@256bit.org>
parents:
10712
diff
changeset
|
600 # define libintl_wputenv(envstring) (*dyn_libintl_wputenv)(envstring) |
7 | 601 # else |
602 # include <libintl.h> | |
603 # define _(x) gettext((char *)(x)) | |
11129
f4ea50924c6d
patch 8.0.0452: some macros are in lower case
Christian Brabandt <cb@256bit.org>
parents:
10914
diff
changeset
|
604 # define NGETTEXT(x, xs, n) ngettext((x), (xs), (n)) |
7 | 605 # ifdef gettext_noop |
606 # define N_(x) gettext_noop(x) | |
607 # else | |
608 # define N_(x) x | |
609 # endif | |
610 # endif | |
611 #else | |
612 # define _(x) ((char *)(x)) | |
11129
f4ea50924c6d
patch 8.0.0452: some macros are in lower case
Christian Brabandt <cb@256bit.org>
parents:
10914
diff
changeset
|
613 # define NGETTEXT(x, xs, n) (((n) == 1) ? (char *)(x) : (char *)(xs)) |
7 | 614 # define N_(x) x |
615 # ifdef bindtextdomain | |
616 # undef bindtextdomain | |
617 # endif | |
618 # define bindtextdomain(x, y) /* empty */ | |
36 | 619 # ifdef bind_textdomain_codeset |
620 # undef bind_textdomain_codeset | |
621 # endif | |
622 # define bind_textdomain_codeset(x, y) /* empty */ | |
7 | 623 # ifdef textdomain |
624 # undef textdomain | |
625 # endif | |
626 # define textdomain(x) /* empty */ | |
627 #endif | |
628 | |
629 /* | |
630 * flags for update_screen() | |
631 * The higher the value, the higher the priority | |
632 */ | |
11416
32aed0993813
patch 8.0.0592: if a job writes to a buffer screen is not updated
Christian Brabandt <cb@256bit.org>
parents:
11211
diff
changeset
|
633 #define VALID_NO_UPDATE 5 /* no new changes, keep the command line if |
32aed0993813
patch 8.0.0592: if a job writes to a buffer screen is not updated
Christian Brabandt <cb@256bit.org>
parents:
11211
diff
changeset
|
634 possible */ |
7 | 635 #define VALID 10 /* buffer not changed, or changes marked |
636 with b_mod_* */ | |
637 #define INVERTED 20 /* redisplay inverted part that changed */ | |
638 #define INVERTED_ALL 25 /* redisplay whole inverted part */ | |
639 #define REDRAW_TOP 30 /* display first w_upd_rows screen lines */ | |
737 | 640 #define SOME_VALID 35 /* like NOT_VALID but may scroll */ |
7 | 641 #define NOT_VALID 40 /* buffer needs complete redraw */ |
642 #define CLEAR 50 /* screen messed up, clear it */ | |
643 | |
644 /* | |
645 * Flags for w_valid. | |
646 * These are set when something in a window structure becomes invalid, except | |
647 * when the cursor is moved. Call check_cursor_moved() before testing one of | |
648 * the flags. | |
649 * These are reset when that thing has been updated and is valid again. | |
650 * | |
651 * Every function that invalidates one of these must call one of the | |
652 * invalidate_* functions. | |
653 * | |
654 * w_valid is supposed to be used only in screen.c. From other files, use the | |
655 * functions that set or reset the flags. | |
656 * | |
657 * VALID_BOTLINE VALID_BOTLINE_AP | |
658 * on on w_botline valid | |
659 * off on w_botline approximated | |
660 * off off w_botline not valid | |
661 * on off not possible | |
662 */ | |
663 #define VALID_WROW 0x01 /* w_wrow (window row) is valid */ | |
664 #define VALID_WCOL 0x02 /* w_wcol (window col) is valid */ | |
665 #define VALID_VIRTCOL 0x04 /* w_virtcol (file col) is valid */ | |
666 #define VALID_CHEIGHT 0x08 /* w_cline_height and w_cline_folded valid */ | |
667 #define VALID_CROW 0x10 /* w_cline_row is valid */ | |
668 #define VALID_BOTLINE 0x20 /* w_botine and w_empty_rows are valid */ | |
669 #define VALID_BOTLINE_AP 0x40 /* w_botine is approximated */ | |
670 #define VALID_TOPLINE 0x80 /* w_topline is valid (for cursor position) */ | |
671 | |
672 /* | |
673 * Terminal highlighting attribute bits. | |
2097
8f72e3512b43
updated for version 7.2.381
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
674 * Attributes above HL_ALL are used for syntax highlighting. |
7 | 675 */ |
676 #define HL_NORMAL 0x00 | |
677 #define HL_INVERSE 0x01 | |
678 #define HL_BOLD 0x02 | |
679 #define HL_ITALIC 0x04 | |
680 #define HL_UNDERLINE 0x08 | |
203 | 681 #define HL_UNDERCURL 0x10 |
682 #define HL_STANDOUT 0x20 | |
683 #define HL_ALL 0x3f | |
7 | 684 |
685 /* special attribute addition: Put message in history */ | |
686 #define MSG_HIST 0x1000 | |
687 | |
688 /* | |
689 * values for State | |
690 * | |
691 * The lower bits up to 0x20 are used to distinguish normal/visual/op_pending | |
692 * and cmdline/insert+replace mode. This is used for mapping. If none of | |
693 * these bits are set, no mapping is done. | |
694 * The upper bits are used to distinguish between other states. | |
695 */ | |
696 #define NORMAL 0x01 /* Normal mode, command expected */ | |
697 #define VISUAL 0x02 /* Visual mode - use get_real_state() */ | |
698 #define OP_PENDING 0x04 /* Normal mode, operator is pending - use | |
699 get_real_state() */ | |
700 #define CMDLINE 0x08 /* Editing command line */ | |
701 #define INSERT 0x10 /* Insert mode */ | |
702 #define LANGMAP 0x20 /* Language mapping, can be combined with | |
703 INSERT and CMDLINE */ | |
704 | |
705 #define REPLACE_FLAG 0x40 /* Replace mode flag */ | |
706 #define REPLACE (REPLACE_FLAG + INSERT) | |
707 #ifdef FEAT_VREPLACE | |
708 # define VREPLACE_FLAG 0x80 /* Virtual-replace mode flag */ | |
709 # define VREPLACE (REPLACE_FLAG + VREPLACE_FLAG + INSERT) | |
710 #endif | |
711 #define LREPLACE (REPLACE_FLAG + LANGMAP) | |
712 | |
713 #define NORMAL_BUSY (0x100 + NORMAL) /* Normal mode, busy with a command */ | |
714 #define HITRETURN (0x200 + NORMAL) /* waiting for return or command */ | |
715 #define ASKMORE 0x300 /* Asking if you want --more-- */ | |
716 #define SETWSIZE 0x400 /* window size has changed */ | |
717 #define ABBREV 0x500 /* abbreviation instead of mapping */ | |
718 #define EXTERNCMD 0x600 /* executing an external command */ | |
719 #define SHOWMATCH (0x700 + INSERT) /* show matching paren */ | |
720 #define CONFIRM 0x800 /* ":confirm" prompt */ | |
788 | 721 #define SELECTMODE 0x1000 /* Select mode, only for mappings */ |
7 | 722 |
905 | 723 #define MAP_ALL_MODES (0x3f | SELECTMODE) /* all mode bits used for |
724 * mapping */ | |
725 | |
7 | 726 /* directions */ |
727 #define FORWARD 1 | |
728 #define BACKWARD (-1) | |
729 #define FORWARD_FILE 3 | |
730 #define BACKWARD_FILE (-3) | |
731 | |
732 /* return values for functions */ | |
733 #if !(defined(OK) && (OK == 1)) | |
734 /* OK already defined to 1 in MacOS X curses, skip this */ | |
735 # define OK 1 | |
736 #endif | |
737 #define FAIL 0 | |
98 | 738 #define NOTDONE 2 /* not OK or FAIL but skipped */ |
7 | 739 |
740 /* flags for b_flags */ | |
741 #define BF_RECOVERED 0x01 /* buffer has been recovered */ | |
742 #define BF_CHECK_RO 0x02 /* need to check readonly when loading file | |
743 into buffer (set by ":e", may be reset by | |
744 ":buf" */ | |
745 #define BF_NEVERLOADED 0x04 /* file has never been loaded into buffer, | |
746 many variables still need to be set */ | |
747 #define BF_NOTEDITED 0x08 /* Set when file name is changed after | |
748 starting to edit, reset when file is | |
749 written out. */ | |
750 #define BF_NEW 0x10 /* file didn't exist when editing started */ | |
751 #define BF_NEW_W 0x20 /* Warned for BF_NEW and file created */ | |
752 #define BF_READERR 0x40 /* got errors while reading the file */ | |
42 | 753 #define BF_DUMMY 0x80 /* dummy buffer, only used internally */ |
164 | 754 #define BF_PRESERVED 0x100 /* ":preserve" was used */ |
7 | 755 |
756 /* Mask to check for flags that prevent normal writing */ | |
757 #define BF_WRITE_MASK (BF_NOTEDITED + BF_NEW + BF_READERR) | |
758 | |
759 /* | |
760 * values for xp_context when doing command line completion | |
761 */ | |
762 #define EXPAND_UNSUCCESSFUL (-2) | |
763 #define EXPAND_OK (-1) | |
764 #define EXPAND_NOTHING 0 | |
765 #define EXPAND_COMMANDS 1 | |
766 #define EXPAND_FILES 2 | |
767 #define EXPAND_DIRECTORIES 3 | |
768 #define EXPAND_SETTINGS 4 | |
769 #define EXPAND_BOOL_SETTINGS 5 | |
770 #define EXPAND_TAGS 6 | |
771 #define EXPAND_OLD_SETTING 7 | |
772 #define EXPAND_HELP 8 | |
773 #define EXPAND_BUFFERS 9 | |
774 #define EXPAND_EVENTS 10 | |
775 #define EXPAND_MENUS 11 | |
776 #define EXPAND_SYNTAX 12 | |
777 #define EXPAND_HIGHLIGHT 13 | |
778 #define EXPAND_AUGROUP 14 | |
779 #define EXPAND_USER_VARS 15 | |
780 #define EXPAND_MAPPINGS 16 | |
781 #define EXPAND_TAGS_LISTFILES 17 | |
782 #define EXPAND_FUNCTIONS 18 | |
783 #define EXPAND_USER_FUNC 19 | |
784 #define EXPAND_EXPRESSION 20 | |
785 #define EXPAND_MENUNAMES 21 | |
786 #define EXPAND_USER_COMMANDS 22 | |
787 #define EXPAND_USER_CMD_FLAGS 23 | |
788 #define EXPAND_USER_NARGS 24 | |
789 #define EXPAND_USER_COMPLETE 25 | |
790 #define EXPAND_ENV_VARS 26 | |
791 #define EXPAND_LANGUAGE 27 | |
792 #define EXPAND_COLORS 28 | |
793 #define EXPAND_COMPILER 29 | |
794 #define EXPAND_USER_DEFINED 30 | |
406 | 795 #define EXPAND_USER_LIST 31 |
714 | 796 #define EXPAND_SHELLCMD 32 |
1845 | 797 #define EXPAND_CSCOPE 33 |
1868 | 798 #define EXPAND_SIGN 34 |
2068
98a2a6e6b966
updated for version 7.2.353
Bram Moolenaar <bram@zimbu.org>
parents:
1901
diff
changeset
|
799 #define EXPAND_PROFILE 35 |
2097
8f72e3512b43
updated for version 7.2.381
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
800 #define EXPAND_BEHAVE 36 |
2268
aafed4a4866f
Command line completion for :ownsyntax. (Dominique Pelle)
Bram Moolenaar <bram@vim.org>
parents:
2250
diff
changeset
|
801 #define EXPAND_FILETYPE 37 |
2433
98b9a6b9e7d5
Add completion for ":ownsyntax" and improve completion for ":filetype".
Bram Moolenaar <bram@vim.org>
parents:
2409
diff
changeset
|
802 #define EXPAND_FILES_IN_PATH 38 |
98b9a6b9e7d5
Add completion for ":ownsyntax" and improve completion for ":filetype".
Bram Moolenaar <bram@vim.org>
parents:
2409
diff
changeset
|
803 #define EXPAND_OWNSYNTAX 39 |
2849 | 804 #define EXPAND_LOCALES 40 |
3503 | 805 #define EXPAND_HISTORY 41 |
3744 | 806 #define EXPAND_USER 42 |
4803
220bdea4f579
updated for version 7.3.1148
Bram Moolenaar <bram@vim.org>
parents:
4641
diff
changeset
|
807 #define EXPAND_SYNTIME 43 |
6424 | 808 #define EXPAND_USER_ADDR_TYPE 44 |
8402
eed1ca42f9aa
commit https://github.com/vim/vim/commit/35ca0e7a1cb6e6daef8e0052a8437801226cef19
Christian Brabandt <cb@256bit.org>
parents:
8281
diff
changeset
|
809 #define EXPAND_PACKADD 45 |
10275
6d8b2da002e9
commit https://github.com/vim/vim/commit/9e507ca8a3e1535e62de4bd86374b0fcd18ef5b8
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
810 #define EXPAND_MESSAGES 46 |
7 | 811 |
812 /* Values for exmode_active (0 is no exmode) */ | |
813 #define EXMODE_NORMAL 1 | |
814 #define EXMODE_VIM 2 | |
815 | |
816 /* Values for nextwild() and ExpandOne(). See ExpandOne() for meaning. */ | |
817 #define WILD_FREE 1 | |
818 #define WILD_EXPAND_FREE 2 | |
819 #define WILD_EXPAND_KEEP 3 | |
820 #define WILD_NEXT 4 | |
821 #define WILD_PREV 5 | |
822 #define WILD_ALL 6 | |
823 #define WILD_LONGEST 7 | |
3398 | 824 #define WILD_ALL_KEEP 8 |
7 | 825 |
6659 | 826 #define WILD_LIST_NOTFOUND 0x01 |
827 #define WILD_HOME_REPLACE 0x02 | |
828 #define WILD_USE_NL 0x04 | |
829 #define WILD_NO_BEEP 0x08 | |
830 #define WILD_ADD_SLASH 0x10 | |
831 #define WILD_KEEP_ALL 0x20 | |
832 #define WILD_SILENT 0x40 | |
833 #define WILD_ESCAPE 0x80 | |
834 #define WILD_ICASE 0x100 | |
835 #define WILD_ALLLINKS 0x200 | |
7 | 836 |
837 /* Flags for expand_wildcards() */ | |
714 | 838 #define EW_DIR 0x01 /* include directory names */ |
839 #define EW_FILE 0x02 /* include file names */ | |
840 #define EW_NOTFOUND 0x04 /* include not found names */ | |
841 #define EW_ADDSLASH 0x08 /* append slash to directory name */ | |
842 #define EW_KEEPALL 0x10 /* keep all matches */ | |
843 #define EW_SILENT 0x20 /* don't print "1 returned" from shell */ | |
844 #define EW_EXEC 0x40 /* executable files */ | |
2311
ccda151dde4e
Support completion for ":find". (Nazri Ramliy)
Bram Moolenaar <bram@vim.org>
parents:
2309
diff
changeset
|
845 #define EW_PATH 0x80 /* search in 'path' too */ |
2652 | 846 #define EW_ICASE 0x100 /* ignore case */ |
2966 | 847 #define EW_NOERROR 0x200 /* no error for bad regexp */ |
2984 | 848 #define EW_NOTWILD 0x400 /* add match with literal name if exists */ |
6174 | 849 #define EW_KEEPDOLLAR 0x800 /* do not escape $, $var is expanded */ |
7 | 850 /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND |
851 * is used when executing commands and EW_SILENT for interactive expanding. */ | |
6659 | 852 #define EW_ALLLINKS 0x1000 /* also links not pointing to existing file */ |
6695 | 853 #define EW_SHELLCMD 0x2000 /* called from expand_shellcmd(), don't check |
854 * if executable is in $PATH */ | |
7633
2a280b8e7040
commit https://github.com/vim/vim/commit/b0967d587fc420fa02832533d4915c85d1a78c17
Christian Brabandt <cb@256bit.org>
parents:
7598
diff
changeset
|
855 #define EW_DODOT 0x4000 /* also files starting with a dot */ |
7641
b44fc33ef92a
commit https://github.com/vim/vim/commit/336bd622c31e1805495c034e1a8cfadcc0bbabc7
Christian Brabandt <cb@256bit.org>
parents:
7633
diff
changeset
|
856 #define EW_EMPTYOK 0x8000 /* no matches is not an error */ |
7 | 857 |
1541 | 858 /* Flags for find_file_*() functions. */ |
859 #define FINDFILE_FILE 0 /* only files */ | |
860 #define FINDFILE_DIR 1 /* only directories */ | |
861 #define FINDFILE_BOTH 2 /* files and directories */ | |
862 | |
8643
24b43dd167eb
commit https://github.com/vim/vim/commit/44a2f923c00f1384c9ecde12fb5b4711bc20702e
Christian Brabandt <cb@256bit.org>
parents:
8526
diff
changeset
|
863 #ifdef FEAT_WINDOWS |
7 | 864 # define W_WINCOL(wp) (wp->w_wincol) |
865 # define W_WIDTH(wp) (wp->w_width) | |
866 # define W_ENDCOL(wp) (wp->w_wincol + wp->w_width) | |
867 # define W_VSEP_WIDTH(wp) (wp->w_vsep_width) | |
868 #else | |
869 # define W_WINCOL(wp) 0 | |
870 # define W_WIDTH(wp) Columns | |
871 # define W_ENDCOL(wp) Columns | |
872 # define W_VSEP_WIDTH(wp) 0 | |
873 #endif | |
874 #ifdef FEAT_WINDOWS | |
875 # define W_STATUS_HEIGHT(wp) (wp->w_status_height) | |
876 # define W_WINROW(wp) (wp->w_winrow) | |
877 #else | |
878 # define W_STATUS_HEIGHT(wp) 0 | |
879 # define W_WINROW(wp) 0 | |
880 #endif | |
881 | |
882 #ifdef NO_EXPANDPATH | |
883 # define gen_expand_wildcards mch_expand_wildcards | |
884 #endif | |
885 | |
886 /* Values for the find_pattern_in_path() function args 'type' and 'action': */ | |
887 #define FIND_ANY 1 | |
888 #define FIND_DEFINE 2 | |
889 #define CHECK_PATH 3 | |
890 | |
891 #define ACTION_SHOW 1 | |
892 #define ACTION_GOTO 2 | |
893 #define ACTION_SPLIT 3 | |
894 #define ACTION_SHOW_ALL 4 | |
895 #ifdef FEAT_INS_EXPAND | |
896 # define ACTION_EXPAND 5 | |
897 #endif | |
898 | |
899 #ifdef FEAT_SYN_HL | |
900 # define SST_MIN_ENTRIES 150 /* minimal size for state stack array */ | |
8163
d8a8e86f39ad
commit https://github.com/vim/vim/commit/e89ff0472bc33779583d48e8d38a5e794d05613a
Christian Brabandt <cb@256bit.org>
parents:
8140
diff
changeset
|
901 # define SST_MAX_ENTRIES 1000 /* maximal size for state stack array */ |
7 | 902 # define SST_FIX_STATES 7 /* size of sst_stack[]. */ |
903 # define SST_DIST 16 /* normal distance between entries */ | |
2250
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
904 # define SST_INVALID (synstate_T *)-1 /* invalid syn_state pointer */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
905 |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
906 # define HL_CONTAINED 0x01 /* not used on toplevel */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
907 # define HL_TRANSP 0x02 /* has no highlighting */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
908 # define HL_ONELINE 0x04 /* match within one line only */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
909 # define HL_HAS_EOL 0x08 /* end pattern that matches with $ */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
910 # define HL_SYNC_HERE 0x10 /* sync point after this item (syncing only) */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
911 # define HL_SYNC_THERE 0x20 /* sync point at current line (syncing only) */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
912 # define HL_MATCH 0x40 /* use match ID instead of item ID */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
913 # define HL_SKIPNL 0x80 /* nextgroup can skip newlines */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
914 # define HL_SKIPWHITE 0x100 /* nextgroup can skip white space */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
915 # define HL_SKIPEMPTY 0x200 /* nextgroup can skip empty lines */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
916 # define HL_KEEPEND 0x400 /* end match always kept */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
917 # define HL_EXCLUDENL 0x800 /* exclude NL from match */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
918 # define HL_DISPLAY 0x1000 /* only used for displaying, not syncing */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
919 # define HL_FOLD 0x2000 /* define fold */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
920 # define HL_EXTEND 0x4000 /* ignore a keepend */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
921 # define HL_MATCHCONT 0x8000 /* match continued from previous line */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
922 # define HL_TRANS_CONT 0x10000 /* transparent item without contains arg */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
923 # define HL_CONCEAL 0x20000 /* can be concealed */ |
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
924 # define HL_CONCEALENDS 0x40000 /* can be concealed */ |
7 | 925 #endif |
926 | |
927 /* Values for 'options' argument in do_search() and searchit() */ | |
928 #define SEARCH_REV 0x01 /* go in reverse of previous dir. */ | |
929 #define SEARCH_ECHO 0x02 /* echo the search command and handle options */ | |
930 #define SEARCH_MSG 0x0c /* give messages (yes, it's not 0x04) */ | |
931 #define SEARCH_NFMSG 0x08 /* give all messages except not found */ | |
932 #define SEARCH_OPT 0x10 /* interpret optional flags */ | |
933 #define SEARCH_HIS 0x20 /* put search pattern in history */ | |
934 #define SEARCH_END 0x40 /* put cursor at end of match */ | |
935 #define SEARCH_NOOF 0x80 /* don't add offset to position */ | |
936 #define SEARCH_START 0x100 /* start search without col offset */ | |
937 #define SEARCH_MARK 0x200 /* set previous context mark */ | |
938 #define SEARCH_KEEP 0x400 /* keep previous search pattern */ | |
939 #define SEARCH_PEEK 0x800 /* peek for typed char, cancel search */ | |
7358
6fbeef3b65e6
commit https://github.com/vim/vim/commit/ad4d8a192abf44b89371af87d70b971cd654b799
Christian Brabandt <cb@256bit.org>
parents:
7277
diff
changeset
|
940 #define SEARCH_COL 0x1000 /* start at specified column instead of zero */ |
7 | 941 |
942 /* Values for find_ident_under_cursor() */ | |
943 #define FIND_IDENT 1 /* find identifier (word) */ | |
944 #define FIND_STRING 2 /* find any string (WORD) */ | |
945 #define FIND_EVAL 4 /* include "->", "[]" and "." */ | |
946 | |
947 /* Values for file_name_in_line() */ | |
948 #define FNAME_MESS 1 /* give error message */ | |
949 #define FNAME_EXP 2 /* expand to path */ | |
950 #define FNAME_HYP 4 /* check for hypertext link */ | |
951 #define FNAME_INCL 8 /* apply 'includeexpr' */ | |
952 #define FNAME_REL 16 /* ".." and "./" are relative to the (current) | |
953 file instead of the current directory */ | |
6633 | 954 #define FNAME_UNESC 32 /* remove backslashes used for escaping */ |
7 | 955 |
956 /* Values for buflist_getfile() */ | |
957 #define GETF_SETMARK 0x01 /* set pcmark before jumping */ | |
958 #define GETF_ALT 0x02 /* jumping to alternate file (not buf num) */ | |
959 #define GETF_SWITCH 0x04 /* respect 'switchbuf' settings when jumping */ | |
960 | |
961 /* Values for buflist_new() flags */ | |
9149
18bbf31015c2
commit https://github.com/vim/vim/commit/b127cfd75f59e82580df395b6e2c009774644b16
Christian Brabandt <cb@256bit.org>
parents:
9054
diff
changeset
|
962 #define BLN_CURBUF 1 /* may re-use curbuf for new buffer */ |
18bbf31015c2
commit https://github.com/vim/vim/commit/b127cfd75f59e82580df395b6e2c009774644b16
Christian Brabandt <cb@256bit.org>
parents:
9054
diff
changeset
|
963 #define BLN_LISTED 2 /* put new buffer in buffer list */ |
18bbf31015c2
commit https://github.com/vim/vim/commit/b127cfd75f59e82580df395b6e2c009774644b16
Christian Brabandt <cb@256bit.org>
parents:
9054
diff
changeset
|
964 #define BLN_DUMMY 4 /* allocating dummy buffer */ |
18bbf31015c2
commit https://github.com/vim/vim/commit/b127cfd75f59e82580df395b6e2c009774644b16
Christian Brabandt <cb@256bit.org>
parents:
9054
diff
changeset
|
965 #define BLN_NEW 8 /* create a new buffer */ |
9473
bdac1019552f
commit https://github.com/vim/vim/commit/8240433f48f7383c281ba2453cc55f10b8ec47d9
Christian Brabandt <cb@256bit.org>
parents:
9387
diff
changeset
|
966 #define BLN_NOOPT 16 /* don't copy options to existing buffer */ |
9556
afaff1d283d3
commit https://github.com/vim/vim/commit/cd52459c387785796713826c63174cdeed295dd4
Christian Brabandt <cb@256bit.org>
parents:
9536
diff
changeset
|
967 #define BLN_DUMMY_OK 32 /* also find an existing dummy buffer */ |
7 | 968 |
969 /* Values for in_cinkeys() */ | |
970 #define KEY_OPEN_FORW 0x101 | |
971 #define KEY_OPEN_BACK 0x102 | |
972 #define KEY_COMPLETE 0x103 /* end of completion */ | |
973 | |
974 /* Values for "noremap" argument of ins_typebuf(). Also used for | |
975 * map->m_noremap and menu->noremap[]. */ | |
976 #define REMAP_YES 0 /* allow remapping */ | |
977 #define REMAP_NONE -1 /* no remapping */ | |
978 #define REMAP_SCRIPT -2 /* remap script-local mappings only */ | |
10 | 979 #define REMAP_SKIP -3 /* no remapping for first char */ |
7 | 980 |
981 /* Values for mch_call_shell() second argument */ | |
982 #define SHELL_FILTER 1 /* filtering text */ | |
983 #define SHELL_EXPAND 2 /* expanding wildcards */ | |
984 #define SHELL_COOKED 4 /* set term to cooked mode */ | |
985 #define SHELL_DOOUT 8 /* redirecting output */ | |
986 #define SHELL_SILENT 16 /* don't print error returned by command */ | |
167 | 987 #define SHELL_READ 32 /* read lines and insert into buffer */ |
988 #define SHELL_WRITE 64 /* write lines from buffer */ | |
7 | 989 |
990 /* Values returned by mch_nodetype() */ | |
991 #define NODE_NORMAL 0 /* file or directory, check with mch_isdir()*/ | |
992 #define NODE_WRITABLE 1 /* something we can write to (character | |
993 device, fifo, socket, ..) */ | |
994 #define NODE_OTHER 2 /* non-writable thing (e.g., block device) */ | |
995 | |
996 /* Values for readfile() flags */ | |
997 #define READ_NEW 0x01 /* read a file into a new buffer */ | |
998 #define READ_FILTER 0x02 /* read filter output */ | |
999 #define READ_STDIN 0x04 /* read from stdin */ | |
1000 #define READ_BUFFER 0x08 /* read from curbuf (converting stdin) */ | |
1001 #define READ_DUMMY 0x10 /* reading into a dummy buffer */ | |
9828
e84e45786691
commit https://github.com/vim/vim/commit/f71d7b9ee5ceba75f70c30845332ddd728fd16c6
Christian Brabandt <cb@256bit.org>
parents:
9802
diff
changeset
|
1002 #define READ_KEEP_UNDO 0x20 /* keep undo info */ |
e84e45786691
commit https://github.com/vim/vim/commit/f71d7b9ee5ceba75f70c30845332ddd728fd16c6
Christian Brabandt <cb@256bit.org>
parents:
9802
diff
changeset
|
1003 #define READ_FIFO 0x40 /* read from fifo or socket */ |
7 | 1004 |
1005 /* Values for change_indent() */ | |
1006 #define INDENT_SET 1 /* set indent */ | |
1007 #define INDENT_INC 2 /* increase indent */ | |
1008 #define INDENT_DEC 3 /* decrease indent */ | |
1009 | |
1010 /* Values for flags argument for findmatchlimit() */ | |
1011 #define FM_BACKWARD 0x01 /* search backwards */ | |
1012 #define FM_FORWARD 0x02 /* search forwards */ | |
1013 #define FM_BLOCKSTOP 0x04 /* stop at start/end of block */ | |
1014 #define FM_SKIPCOMM 0x08 /* skip comments */ | |
1015 | |
1016 /* Values for action argument for do_buffer() */ | |
1017 #define DOBUF_GOTO 0 /* go to specified buffer */ | |
1018 #define DOBUF_SPLIT 1 /* split window and go to specified buffer */ | |
1019 #define DOBUF_UNLOAD 2 /* unload specified buffer(s) */ | |
1020 #define DOBUF_DEL 3 /* delete specified buffer(s) from buflist */ | |
1021 #define DOBUF_WIPE 4 /* delete specified buffer(s) really */ | |
1022 | |
1023 /* Values for start argument for do_buffer() */ | |
1024 #define DOBUF_CURRENT 0 /* "count" buffer from current buffer */ | |
1025 #define DOBUF_FIRST 1 /* "count" buffer from first buffer */ | |
1026 #define DOBUF_LAST 2 /* "count" buffer from last buffer */ | |
1027 #define DOBUF_MOD 3 /* "count" mod. buffer from current buffer */ | |
1028 | |
1029 /* Values for sub_cmd and which_pat argument for search_regcomp() */ | |
1030 /* Also used for which_pat argument for searchit() */ | |
1031 #define RE_SEARCH 0 /* save/use pat in/from search_pattern */ | |
1032 #define RE_SUBST 1 /* save/use pat in/from subst_pattern */ | |
1033 #define RE_BOTH 2 /* save pat in both patterns */ | |
1034 #define RE_LAST 2 /* use last used pattern if "pat" is NULL */ | |
1035 | |
1036 /* Second argument for vim_regcomp(). */ | |
1037 #define RE_MAGIC 1 /* 'magic' option */ | |
1038 #define RE_STRING 2 /* match in string instead of buffer text */ | |
481 | 1039 #define RE_STRICT 4 /* don't allow [abc] without ] */ |
6533 | 1040 #define RE_AUTO 8 /* automatic engine selection */ |
7 | 1041 |
1042 #ifdef FEAT_SYN_HL | |
1043 /* values for reg_do_extmatch */ | |
1044 # define REX_SET 1 /* to allow \z\(...\), */ | |
1045 # define REX_USE 2 /* to allow \z\1 et al. */ | |
1046 #endif | |
1047 | |
1048 /* Return values for fullpathcmp() */ | |
1049 /* Note: can use (fullpathcmp() & FPC_SAME) to check for equal files */ | |
1050 #define FPC_SAME 1 /* both exist and are the same file. */ | |
1051 #define FPC_DIFF 2 /* both exist and are different files. */ | |
1052 #define FPC_NOTX 4 /* both don't exist. */ | |
1053 #define FPC_DIFFX 6 /* one of them doesn't exist. */ | |
1054 #define FPC_SAMEX 7 /* both don't exist and file names are same. */ | |
1055 | |
1056 /* flags for do_ecmd() */ | |
1057 #define ECMD_HIDE 0x01 /* don't free the current buffer */ | |
1058 #define ECMD_SET_HELP 0x02 /* set b_help flag of (new) buffer before | |
1059 opening file */ | |
1060 #define ECMD_OLDBUF 0x04 /* use existing buffer if it exists */ | |
1061 #define ECMD_FORCEIT 0x08 /* ! used in Ex command */ | |
1062 #define ECMD_ADDBUF 0x10 /* don't edit, just add to buffer list */ | |
1063 | |
1064 /* for lnum argument in do_ecmd() */ | |
1065 #define ECMD_LASTL (linenr_T)0 /* use last position in loaded file */ | |
1066 #define ECMD_LAST (linenr_T)-1 /* use last position in all files */ | |
1067 #define ECMD_ONE (linenr_T)1 /* use first line */ | |
1068 | |
1069 /* flags for do_cmdline() */ | |
1070 #define DOCMD_VERBOSE 0x01 /* included command in error message */ | |
1071 #define DOCMD_NOWAIT 0x02 /* don't call wait_return() and friends */ | |
1072 #define DOCMD_REPEAT 0x04 /* repeat exec. until getline() returns NULL */ | |
1073 #define DOCMD_KEYTYPED 0x08 /* don't reset KeyTyped */ | |
1074 #define DOCMD_EXCRESET 0x10 /* reset exception environment (for debugging)*/ | |
1075 #define DOCMD_KEEPLINE 0x20 /* keep typed line for repeating with "." */ | |
1076 | |
1077 /* flags for beginline() */ | |
1078 #define BL_WHITE 1 /* cursor on first non-white in the line */ | |
1079 #define BL_SOL 2 /* use 'sol' option */ | |
1080 #define BL_FIX 4 /* don't leave cursor on a NUL */ | |
1081 | |
1082 /* flags for mf_sync() */ | |
1083 #define MFS_ALL 1 /* also sync blocks with negative numbers */ | |
1084 #define MFS_STOP 2 /* stop syncing when a character is available */ | |
1085 #define MFS_FLUSH 4 /* flushed file to disk */ | |
1086 #define MFS_ZERO 8 /* only write block 0 */ | |
1087 | |
1088 /* flags for buf_copy_options() */ | |
1089 #define BCO_ENTER 1 /* going to enter the buffer */ | |
1090 #define BCO_ALWAYS 2 /* always copy the options */ | |
1091 #define BCO_NOHELP 4 /* don't touch the help related options */ | |
1092 | |
1093 /* flags for do_put() */ | |
1094 #define PUT_FIXINDENT 1 /* make indent look nice */ | |
1095 #define PUT_CURSEND 2 /* leave cursor after end of new text */ | |
167 | 1096 #define PUT_CURSLINE 4 /* leave cursor on last line of new text */ |
1097 #define PUT_LINE 8 /* put register as lines */ | |
1098 #define PUT_LINE_SPLIT 16 /* split line for linewise register */ | |
1099 #define PUT_LINE_FORWARD 32 /* put linewise register below Visual sel. */ | |
7 | 1100 |
1101 /* flags for set_indent() */ | |
1102 #define SIN_CHANGED 1 /* call changed_bytes() when line changed */ | |
1103 #define SIN_INSERT 2 /* insert indent before existing text */ | |
1104 #define SIN_UNDO 4 /* save line for undo before changing it */ | |
1105 | |
1106 /* flags for insertchar() */ | |
1107 #define INSCHAR_FORMAT 1 /* force formatting */ | |
1108 #define INSCHAR_DO_COM 2 /* format comments */ | |
1109 #define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */ | |
1563 | 1110 #define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */ |
3584 | 1111 #define INSCHAR_COM_LIST 16 /* format comments with list/2nd line indent */ |
7 | 1112 |
1113 /* flags for open_line() */ | |
1114 #define OPENLINE_DELSPACES 1 /* delete spaces after cursor */ | |
1115 #define OPENLINE_DO_COM 2 /* format comments */ | |
1116 #define OPENLINE_KEEPTRAIL 4 /* keep trailing spaces */ | |
1117 #define OPENLINE_MARKFIX 8 /* fix mark positions */ | |
3584 | 1118 #define OPENLINE_COM_LIST 16 /* format comments with list/2nd line indent */ |
7 | 1119 |
1120 /* | |
9242
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1121 * There are five history tables: |
7 | 1122 */ |
1123 #define HIST_CMD 0 /* colon commands */ | |
1124 #define HIST_SEARCH 1 /* search commands */ | |
1125 #define HIST_EXPR 2 /* expressions (from entering = register) */ | |
1126 #define HIST_INPUT 3 /* input() lines */ | |
1127 #define HIST_DEBUG 4 /* debug commands */ | |
1128 #define HIST_COUNT 5 /* number of history tables */ | |
1129 | |
9242
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1130 /* The type numbers are fixed for backwards compatibility. */ |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1131 #define BARTYPE_VERSION 1 |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1132 #define BARTYPE_HISTORY 2 |
9272
f5d9eb512f8b
commit https://github.com/vim/vim/commit/46bbb0c4ba27395859dfeaa26938483946bb4ec2
Christian Brabandt <cb@256bit.org>
parents:
9256
diff
changeset
|
1133 #define BARTYPE_REGISTER 3 |
9284
78712a2f687a
commit https://github.com/vim/vim/commit/2d35899721da0e9359a9fe1059554f8c4ea7f0c1
Christian Brabandt <cb@256bit.org>
parents:
9272
diff
changeset
|
1134 #define BARTYPE_MARK 4 |
9242
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1135 |
9284
78712a2f687a
commit https://github.com/vim/vim/commit/2d35899721da0e9359a9fe1059554f8c4ea7f0c1
Christian Brabandt <cb@256bit.org>
parents:
9272
diff
changeset
|
1136 #define VIMINFO_VERSION 4 |
9256
26c7bf23ec1d
commit https://github.com/vim/vim/commit/1fd99c1ca89a3d13bb53aff4a5a8f5ee740713e5
Christian Brabandt <cb@256bit.org>
parents:
9242
diff
changeset
|
1137 #define VIMINFO_VERSION_WITH_HISTORY 2 |
9272
f5d9eb512f8b
commit https://github.com/vim/vim/commit/46bbb0c4ba27395859dfeaa26938483946bb4ec2
Christian Brabandt <cb@256bit.org>
parents:
9256
diff
changeset
|
1138 #define VIMINFO_VERSION_WITH_REGISTERS 3 |
9284
78712a2f687a
commit https://github.com/vim/vim/commit/2d35899721da0e9359a9fe1059554f8c4ea7f0c1
Christian Brabandt <cb@256bit.org>
parents:
9272
diff
changeset
|
1139 #define VIMINFO_VERSION_WITH_MARKS 4 |
9256
26c7bf23ec1d
commit https://github.com/vim/vim/commit/1fd99c1ca89a3d13bb53aff4a5a8f5ee740713e5
Christian Brabandt <cb@256bit.org>
parents:
9242
diff
changeset
|
1140 |
9242
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1141 typedef enum { |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1142 BVAL_NR, |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1143 BVAL_STRING, |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1144 BVAL_EMPTY |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1145 } btype_T; |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1146 |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1147 typedef struct { |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1148 btype_T bv_type; |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1149 long bv_nr; |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1150 char_u *bv_string; |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1151 int bv_len; /* length of bv_string */ |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1152 int bv_allocated; /* bv_string was allocated */ |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1153 } bval_T; |
f7e95dc00e5a
commit https://github.com/vim/vim/commit/c60954b48ec225c75558abee56c4a9cc89f84b7e
Christian Brabandt <cb@256bit.org>
parents:
9223
diff
changeset
|
1154 |
7 | 1155 /* |
1156 * Values for do_tag(). | |
1157 */ | |
1158 #define DT_TAG 1 /* jump to newer position or same tag again */ | |
1159 #define DT_POP 2 /* jump to older position */ | |
1160 #define DT_NEXT 3 /* jump to next match of same tag */ | |
1161 #define DT_PREV 4 /* jump to previous match of same tag */ | |
1162 #define DT_FIRST 5 /* jump to first match of same tag */ | |
1163 #define DT_LAST 6 /* jump to first match of same tag */ | |
1164 #define DT_SELECT 7 /* jump to selection from list */ | |
1165 #define DT_HELP 8 /* like DT_TAG, but no wildcards */ | |
1166 #define DT_JUMP 9 /* jump to new tag or selection from list */ | |
1167 #define DT_CSCOPE 10 /* cscope find command (like tjump) */ | |
649 | 1168 #define DT_LTAG 11 /* tag using location list */ |
358 | 1169 #define DT_FREE 99 /* free cached matches */ |
7 | 1170 |
1171 /* | |
1172 * flags for find_tags(). | |
1173 */ | |
1174 #define TAG_HELP 1 /* only search for help tags */ | |
1175 #define TAG_NAMES 2 /* only return name of tag */ | |
1176 #define TAG_REGEXP 4 /* use tag pattern as regexp */ | |
1177 #define TAG_NOIC 8 /* don't always ignore case */ | |
1178 #ifdef FEAT_CSCOPE | |
1179 # define TAG_CSCOPE 16 /* cscope tag */ | |
1180 #endif | |
1181 #define TAG_VERBOSE 32 /* message verbosity */ | |
1182 #define TAG_INS_COMP 64 /* Currently doing insert completion */ | |
1183 #define TAG_KEEP_LANG 128 /* keep current language */ | |
1184 | |
1668 | 1185 #define TAG_MANY 300 /* When finding many tags (for completion), |
7 | 1186 find up to this many tags */ |
1187 | |
1188 /* | |
1189 * Types of dialogs passed to do_vim_dialog(). | |
1190 */ | |
1191 #define VIM_GENERIC 0 | |
1192 #define VIM_ERROR 1 | |
1193 #define VIM_WARNING 2 | |
1194 #define VIM_INFO 3 | |
1195 #define VIM_QUESTION 4 | |
1196 #define VIM_LAST_TYPE 4 /* sentinel value */ | |
1197 | |
1198 /* | |
1199 * Return values for functions like gui_yesnocancel() | |
1200 */ | |
1201 #define VIM_YES 2 | |
1202 #define VIM_NO 3 | |
1203 #define VIM_CANCEL 4 | |
1204 #define VIM_ALL 5 | |
1205 #define VIM_DISCARDALL 6 | |
1206 | |
1207 /* | |
1208 * arguments for win_split() | |
1209 */ | |
1210 #define WSP_ROOM 1 /* require enough room */ | |
1211 #define WSP_VERT 2 /* split vertically */ | |
1212 #define WSP_TOP 4 /* window at top-left of shell */ | |
1213 #define WSP_BOT 8 /* window at bottom-right of shell */ | |
1214 #define WSP_HELP 16 /* creating the help window */ | |
1215 #define WSP_BELOW 32 /* put new window below/right */ | |
1216 #define WSP_ABOVE 64 /* put new window above/left */ | |
1822 | 1217 #define WSP_NEWLOC 128 /* don't copy location list */ |
7 | 1218 |
1219 /* | |
811 | 1220 * arguments for gui_set_shellsize() |
1221 */ | |
1222 #define RESIZE_VERT 1 /* resize vertically */ | |
1223 #define RESIZE_HOR 2 /* resize horizontally */ | |
1224 #define RESIZE_BOTH 15 /* resize in both directions */ | |
1225 | |
1226 /* | |
5464 | 1227 * flags for check_changed() |
1228 */ | |
1229 #define CCGD_AW 1 /* do autowrite if buffer was changed */ | |
1230 #define CCGD_MULTWIN 2 /* check also when several wins for the buf */ | |
1231 #define CCGD_FORCEIT 4 /* ! used */ | |
1232 #define CCGD_ALLBUF 8 /* may write all buffers */ | |
1233 #define CCGD_EXCMD 16 /* may suggest using ! */ | |
1234 | |
1235 /* | |
7 | 1236 * "flags" values for option-setting functions. |
1237 * When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global | |
1238 * values, get local value. | |
1239 */ | |
1240 #define OPT_FREE 1 /* free old value if it was allocated */ | |
1241 #define OPT_GLOBAL 2 /* use global value */ | |
1242 #define OPT_LOCAL 4 /* use local value */ | |
1243 #define OPT_MODELINE 8 /* option in modeline */ | |
23 | 1244 #define OPT_WINONLY 16 /* only set window-local options */ |
717 | 1245 #define OPT_NOWIN 32 /* don't set window-local options */ |
7 | 1246 |
1247 /* Magic chars used in confirm dialog strings */ | |
1248 #define DLG_BUTTON_SEP '\n' | |
1249 #define DLG_HOTKEY_CHAR '&' | |
1250 | |
1251 /* Values for "starting" */ | |
1252 #define NO_SCREEN 2 /* no screen updating yet */ | |
1253 #define NO_BUFFERS 1 /* not all buffers loaded yet */ | |
1254 /* 0 not starting anymore */ | |
1255 | |
1256 /* Values for swap_exists_action: what to do when swap file already exists */ | |
1257 #define SEA_NONE 0 /* don't use dialog */ | |
577 | 1258 #define SEA_DIALOG 1 /* use dialog when possible */ |
7 | 1259 #define SEA_QUIT 2 /* quit editing the file */ |
1260 #define SEA_RECOVER 3 /* recover the file */ | |
1261 | |
1262 /* | |
1263 * Minimal size for block 0 of a swap file. | |
1264 * NOTE: This depends on size of struct block0! It's not done with a sizeof(), | |
1265 * because struct block0 is defined in memline.c (Sorry). | |
1266 * The maximal block size is arbitrary. | |
1267 */ | |
1268 #define MIN_SWAP_PAGE_SIZE 1048 | |
1269 #define MAX_SWAP_PAGE_SIZE 50000 | |
1270 | |
1271 /* Special values for current_SID. */ | |
1272 #define SID_MODELINE -1 /* when using a modeline */ | |
1273 #define SID_CMDARG -2 /* for "--cmd" argument */ | |
1274 #define SID_CARG -3 /* for "-c" argument */ | |
1275 #define SID_ENV -4 /* for sourcing environment variable */ | |
681 | 1276 #define SID_ERROR -5 /* option was reset because of an error */ |
694 | 1277 #define SID_NONE -6 /* don't set scriptID */ |
7 | 1278 |
1279 /* | |
1280 * Events for autocommands. | |
1281 */ | |
1282 enum auto_event | |
1283 { | |
1284 EVENT_BUFADD = 0, /* after adding a buffer to the buffer list */ | |
1285 EVENT_BUFNEW, /* after creating any buffer */ | |
1286 EVENT_BUFDELETE, /* deleting a buffer from the buffer list */ | |
1287 EVENT_BUFWIPEOUT, /* just before really deleting a buffer */ | |
1288 EVENT_BUFENTER, /* after entering a buffer */ | |
1289 EVENT_BUFFILEPOST, /* after renaming a buffer */ | |
1290 EVENT_BUFFILEPRE, /* before renaming a buffer */ | |
1291 EVENT_BUFLEAVE, /* before leaving a buffer */ | |
1292 EVENT_BUFNEWFILE, /* when creating a buffer for a new file */ | |
1293 EVENT_BUFREADPOST, /* after reading a buffer */ | |
1294 EVENT_BUFREADPRE, /* before reading a buffer */ | |
1295 EVENT_BUFREADCMD, /* read buffer using command */ | |
1296 EVENT_BUFUNLOAD, /* just before unloading a buffer */ | |
1297 EVENT_BUFHIDDEN, /* just after buffer becomes hidden */ | |
1298 EVENT_BUFWINENTER, /* after showing a buffer in a window */ | |
1299 EVENT_BUFWINLEAVE, /* just after buffer removed from window */ | |
1300 EVENT_BUFWRITEPOST, /* after writing a buffer */ | |
1301 EVENT_BUFWRITEPRE, /* before writing a buffer */ | |
1302 EVENT_BUFWRITECMD, /* write buffer using command */ | |
1303 EVENT_CMDWINENTER, /* after entering the cmdline window */ | |
1304 EVENT_CMDWINLEAVE, /* before leaving the cmdline window */ | |
12 | 1305 EVENT_COLORSCHEME, /* after loading a colorscheme */ |
3676 | 1306 EVENT_COMPLETEDONE, /* after finishing insert complete */ |
7 | 1307 EVENT_FILEAPPENDPOST, /* after appending to a file */ |
1308 EVENT_FILEAPPENDPRE, /* before appending to a file */ | |
1061 | 1309 EVENT_FILEAPPENDCMD, /* append to a file using command */ |
7 | 1310 EVENT_FILECHANGEDSHELL, /* after shell command that changed file */ |
763 | 1311 EVENT_FILECHANGEDSHELLPOST, /* after (not) reloading changed file */ |
7 | 1312 EVENT_FILECHANGEDRO, /* before first change to read-only file */ |
1313 EVENT_FILEREADPOST, /* after reading a file */ | |
1314 EVENT_FILEREADPRE, /* before reading a file */ | |
1315 EVENT_FILEREADCMD, /* read from a file using command */ | |
1316 EVENT_FILETYPE, /* new file type detected (user defined) */ | |
1317 EVENT_FILEWRITEPOST, /* after writing a file */ | |
1318 EVENT_FILEWRITEPRE, /* before writing a file */ | |
1319 EVENT_FILEWRITECMD, /* write to a file using command */ | |
1320 EVENT_FILTERREADPOST, /* after reading from a filter */ | |
1321 EVENT_FILTERREADPRE, /* before reading from a filter */ | |
1322 EVENT_FILTERWRITEPOST, /* after writing to a filter */ | |
1323 EVENT_FILTERWRITEPRE, /* before writing to a filter */ | |
1324 EVENT_FOCUSGAINED, /* got the focus */ | |
1325 EVENT_FOCUSLOST, /* lost the focus to another app */ | |
1326 EVENT_GUIENTER, /* after starting the GUI */ | |
946 | 1327 EVENT_GUIFAILED, /* after starting the GUI failed */ |
11 | 1328 EVENT_INSERTCHANGE, /* when changing Insert/Replace mode */ |
1329 EVENT_INSERTENTER, /* when entering Insert mode */ | |
1330 EVENT_INSERTLEAVE, /* when leaving Insert mode */ | |
434 | 1331 EVENT_MENUPOPUP, /* just before popup menu is displayed */ |
3568 | 1332 EVENT_QUICKFIXCMDPOST, /* after :make, :grep etc. */ |
1333 EVENT_QUICKFIXCMDPRE, /* before :make, :grep etc. */ | |
1334 EVENT_QUITPRE, /* before :quit */ | |
573 | 1335 EVENT_SESSIONLOADPOST, /* after loading a session file */ |
7 | 1336 EVENT_STDINREADPOST, /* after reading from stdin */ |
1337 EVENT_STDINREADPRE, /* before reading from stdin */ | |
1338 EVENT_SYNTAX, /* syntax selected */ | |
1339 EVENT_TERMCHANGED, /* after changing 'term' */ | |
1340 EVENT_TERMRESPONSE, /* after setting "v:termresponse" */ | |
1341 EVENT_USER, /* user defined autocommand */ | |
1342 EVENT_VIMENTER, /* after starting Vim */ | |
1343 EVENT_VIMLEAVE, /* before exiting Vim */ | |
1344 EVENT_VIMLEAVEPRE, /* before exiting Vim and writing .viminfo */ | |
763 | 1345 EVENT_VIMRESIZED, /* after Vim window was resized */ |
7 | 1346 EVENT_WINENTER, /* after entering a window */ |
1347 EVENT_WINLEAVE, /* before leaving a window */ | |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9587
diff
changeset
|
1348 EVENT_WINNEW, /* when entering a new window */ |
7 | 1349 EVENT_ENCODINGCHANGED, /* after changing the 'encoding' option */ |
2845 | 1350 EVENT_INSERTCHARPRE, /* before inserting a char */ |
7 | 1351 EVENT_CURSORHOLD, /* cursor in same position for a while */ |
660 | 1352 EVENT_CURSORHOLDI, /* idem, in Insert mode */ |
7 | 1353 EVENT_FUNCUNDEFINED, /* if calling a function which doesn't exist */ |
1354 EVENT_REMOTEREPLY, /* upon string reception from a remote vim */ | |
577 | 1355 EVENT_SWAPEXISTS, /* found existing swap file */ |
715 | 1356 EVENT_SOURCEPRE, /* before sourcing a Vim script */ |
1061 | 1357 EVENT_SOURCECMD, /* sourcing a Vim script using command */ |
649 | 1358 EVENT_SPELLFILEMISSING, /* spell file missing */ |
660 | 1359 EVENT_CURSORMOVED, /* cursor was moved */ |
1360 EVENT_CURSORMOVEDI, /* cursor was moved in Insert mode */ | |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9587
diff
changeset
|
1361 EVENT_TABENTER, /* after entering a tab page */ |
675 | 1362 EVENT_TABLEAVE, /* before leaving a tab page */ |
9595
0190d5de215f
commit https://github.com/vim/vim/commit/c917da4b3e8801a255dbefea8e4ed19c1c716dd8
Christian Brabandt <cb@256bit.org>
parents:
9587
diff
changeset
|
1363 EVENT_TABNEW, /* when entering a new tab page */ |
9599
42a8a81decdf
commit https://github.com/vim/vim/commit/12c11d553053f5a9eae9eb3c518279b12fa928c2
Christian Brabandt <cb@256bit.org>
parents:
9595
diff
changeset
|
1364 EVENT_TABCLOSED, /* after closing a tab page */ |
721 | 1365 EVENT_SHELLCMDPOST, /* after ":!cmd" */ |
1366 EVENT_SHELLFILTERPOST, /* after ":1,2!cmd", ":w !cmd", ":r !cmd". */ | |
4232 | 1367 EVENT_TEXTCHANGED, /* text was modified */ |
1368 EVENT_TEXTCHANGEDI, /* text was modified in Insert mode*/ | |
6156 | 1369 EVENT_CMDUNDEFINED, /* command undefined */ |
6935 | 1370 EVENT_OPTIONSET, /* option was set */ |
7 | 1371 NUM_EVENTS /* MUST be the last one */ |
1372 }; | |
1373 | |
660 | 1374 typedef enum auto_event event_T; |
7 | 1375 |
1376 /* | |
1377 * Values for index in highlight_attr[]. | |
1378 * When making changes, also update HL_FLAGS below! And update the default | |
1379 * value of 'highlight' in option.c. | |
1380 */ | |
534 | 1381 typedef enum |
7 | 1382 { |
1383 HLF_8 = 0 /* Meta & special keys listed with ":map", text that is | |
1384 displayed different from what it is */ | |
9877
7da89d9c744b
commit https://github.com/vim/vim/commit/58b853460add42098ab08017df9e030fb14fd34b
Christian Brabandt <cb@256bit.org>
parents:
9834
diff
changeset
|
1385 , HLF_EOB /* after the last line in the buffer */ |
7da89d9c744b
commit https://github.com/vim/vim/commit/58b853460add42098ab08017df9e030fb14fd34b
Christian Brabandt <cb@256bit.org>
parents:
9834
diff
changeset
|
1386 , HLF_AT /* @ characters at end of screen, characters that |
7 | 1387 don't really exist in the text */ |
1388 , HLF_D /* directories in CTRL-D listing */ | |
1389 , HLF_E /* error messages */ | |
1390 , HLF_H /* obsolete, ignored */ | |
1391 , HLF_I /* incremental search */ | |
1392 , HLF_L /* last search string */ | |
1393 , HLF_M /* "--More--" message */ | |
1394 , HLF_CM /* Mode (e.g., "-- INSERT --") */ | |
1395 , HLF_N /* line number for ":number" and ":#" commands */ | |
3427 | 1396 , HLF_CLN /* current line number */ |
7 | 1397 , HLF_R /* return to continue message and yes/no questions */ |
1398 , HLF_S /* status lines */ | |
1399 , HLF_SNC /* status lines of not-current windows */ | |
1400 , HLF_C /* column to separate vertically split windows */ | |
1401 , HLF_T /* Titles for output from ":set all", ":autocmd" etc. */ | |
1402 , HLF_V /* Visual mode */ | |
1403 , HLF_VNC /* Visual mode, autoselecting and not clipboard owner */ | |
1404 , HLF_W /* warning messages */ | |
1405 , HLF_WM /* Wildmenu highlight */ | |
1406 , HLF_FL /* Folded line */ | |
1407 , HLF_FC /* Fold column */ | |
1408 , HLF_ADD /* Added diff line */ | |
1409 , HLF_CHD /* Changed diff line */ | |
1410 , HLF_DED /* Deleted diff line */ | |
1411 , HLF_TXD /* Text Changed in diff line */ | |
2250
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
1412 , HLF_CONCEAL /* Concealed text */ |
7 | 1413 , HLF_SC /* Sign column */ |
220 | 1414 , HLF_SPB /* SpellBad */ |
385 | 1415 , HLF_SPC /* SpellCap */ |
220 | 1416 , HLF_SPR /* SpellRare */ |
1417 , HLF_SPL /* SpellLocal */ | |
539 | 1418 , HLF_PNI /* popup menu normal item */ |
1419 , HLF_PSI /* popup menu selected item */ | |
1420 , HLF_PSB /* popup menu scrollbar */ | |
1421 , HLF_PST /* popup menu scrollbar thumb */ | |
667 | 1422 , HLF_TP /* tabpage line */ |
1423 , HLF_TPS /* tabpage line selected */ | |
1424 , HLF_TPF /* tabpage line filler */ | |
737 | 1425 , HLF_CUC /* 'cursurcolumn' */ |
1426 , HLF_CUL /* 'cursurline' */ | |
2314
233eb4412f5d
Added 'colorcolumn' option. Partly by Gregor Uhlenheuer.
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1427 , HLF_MC /* 'colorcolumn' */ |
7 | 1428 , HLF_COUNT /* MUST be the last one */ |
534 | 1429 } hlf_T; |
7 | 1430 |
737 | 1431 /* The HL_FLAGS must be in the same order as the HLF_ enums! |
2097
8f72e3512b43
updated for version 7.2.381
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
1432 * When changing this also adjust the default for 'highlight'. */ |
9877
7da89d9c744b
commit https://github.com/vim/vim/commit/58b853460add42098ab08017df9e030fb14fd34b
Christian Brabandt <cb@256bit.org>
parents:
9834
diff
changeset
|
1433 #define HL_FLAGS {'8', '~', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \ |
3427 | 1434 'n', 'N', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \ |
2250
1bac28a53fae
Add the conceal patch from Vince Negri.
Bram Moolenaar <bram@vim.org>
parents:
2241
diff
changeset
|
1435 'f', 'F', 'A', 'C', 'D', 'T', '-', '>', \ |
539 | 1436 'B', 'P', 'R', 'L', \ |
2314
233eb4412f5d
Added 'colorcolumn' option. Partly by Gregor Uhlenheuer.
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1437 '+', '=', 'x', 'X', '*', '#', '_', '!', '.', 'o'} |
7 | 1438 |
1439 /* | |
1440 * Boolean constants | |
1441 */ | |
1442 #ifndef TRUE | |
1443 # define FALSE 0 /* note: this is an int, not a long! */ | |
1444 # define TRUE 1 | |
1445 #endif | |
1446 | |
1447 #define MAYBE 2 /* sometimes used for a variant on TRUE */ | |
1448 | |
2215
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
1449 #ifndef UINT32_T |
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
1450 typedef UINT32_TYPEDEF UINT32_T; |
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
1451 #endif |
cccb71c2c5c1
Fix uninit memory read in undo code. Fix uint32_t in proto file.
Bram Moolenaar <bram@vim.org>
parents:
2214
diff
changeset
|
1452 |
7 | 1453 /* |
1454 * Operator IDs; The order must correspond to opchars[] in ops.c! | |
1455 */ | |
1456 #define OP_NOP 0 /* no pending operation */ | |
1457 #define OP_DELETE 1 /* "d" delete operator */ | |
1458 #define OP_YANK 2 /* "y" yank operator */ | |
1459 #define OP_CHANGE 3 /* "c" change operator */ | |
1460 #define OP_LSHIFT 4 /* "<" left shift operator */ | |
1461 #define OP_RSHIFT 5 /* ">" right shift operator */ | |
1462 #define OP_FILTER 6 /* "!" filter operator */ | |
1463 #define OP_TILDE 7 /* "g~" switch case operator */ | |
1464 #define OP_INDENT 8 /* "=" indent operator */ | |
1465 #define OP_FORMAT 9 /* "gq" format operator */ | |
1466 #define OP_COLON 10 /* ":" colon operator */ | |
1467 #define OP_UPPER 11 /* "gU" make upper case operator */ | |
1468 #define OP_LOWER 12 /* "gu" make lower case operator */ | |
1469 #define OP_JOIN 13 /* "J" join operator, only for Visual mode */ | |
1470 #define OP_JOIN_NS 14 /* "gJ" join operator, only for Visual mode */ | |
1471 #define OP_ROT13 15 /* "g?" rot-13 encoding */ | |
1472 #define OP_REPLACE 16 /* "r" replace chars, only for Visual mode */ | |
1473 #define OP_INSERT 17 /* "I" Insert column, only for Visual mode */ | |
1474 #define OP_APPEND 18 /* "A" Append column, only for Visual mode */ | |
1475 #define OP_FOLD 19 /* "zf" define a fold */ | |
1476 #define OP_FOLDOPEN 20 /* "zo" open folds */ | |
1477 #define OP_FOLDOPENREC 21 /* "zO" open folds recursively */ | |
1478 #define OP_FOLDCLOSE 22 /* "zc" close folds */ | |
1479 #define OP_FOLDCLOSEREC 23 /* "zC" close folds recursively */ | |
1480 #define OP_FOLDDEL 24 /* "zd" delete folds */ | |
1481 #define OP_FOLDDELREC 25 /* "zD" delete folds recursively */ | |
1482 #define OP_FORMAT2 26 /* "gw" format operator, keeps cursor pos */ | |
602 | 1483 #define OP_FUNCTION 27 /* "g@" call 'operatorfunc' */ |
7574
b872724c37db
commit https://github.com/vim/vim/commit/d79e55016cf8268cee935f1ac3b5b28712d1399e
Christian Brabandt <cb@256bit.org>
parents:
7545
diff
changeset
|
1484 #define OP_NR_ADD 28 /* "<C-A>" Add to the number or alphabetic |
b872724c37db
commit https://github.com/vim/vim/commit/d79e55016cf8268cee935f1ac3b5b28712d1399e
Christian Brabandt <cb@256bit.org>
parents:
7545
diff
changeset
|
1485 character (OP_ADD conflicts with Perl) */ |
b872724c37db
commit https://github.com/vim/vim/commit/d79e55016cf8268cee935f1ac3b5b28712d1399e
Christian Brabandt <cb@256bit.org>
parents:
7545
diff
changeset
|
1486 #define OP_NR_SUB 29 /* "<C-X>" Subtract from the number or |
b872724c37db
commit https://github.com/vim/vim/commit/d79e55016cf8268cee935f1ac3b5b28712d1399e
Christian Brabandt <cb@256bit.org>
parents:
7545
diff
changeset
|
1487 alphabetic character */ |
7 | 1488 |
1489 /* | |
1490 * Motion types, used for operators and for yank/delete registers. | |
1491 */ | |
1492 #define MCHAR 0 /* character-wise movement/register */ | |
1493 #define MLINE 1 /* line-wise movement/register */ | |
1494 #define MBLOCK 2 /* block-wise register */ | |
1495 | |
1496 #define MAUTO 0xff /* Decide between MLINE/MCHAR */ | |
1497 | |
1498 /* | |
1499 * Minimum screen size | |
1500 */ | |
1501 #define MIN_COLUMNS 12 /* minimal columns for screen */ | |
1502 #define MIN_LINES 2 /* minimal lines for screen */ | |
1503 #define STATUS_HEIGHT 1 /* height of a status line under a window */ | |
1504 #define QF_WINHEIGHT 10 /* default height for quickfix window */ | |
1505 | |
1506 /* | |
1507 * Buffer sizes | |
1508 */ | |
1509 #ifndef CMDBUFFSIZE | |
1510 # define CMDBUFFSIZE 256 /* size of the command processing buffer */ | |
1511 #endif | |
1512 | |
1513 #define LSIZE 512 /* max. size of a line in the tags file */ | |
1514 | |
1515 #define IOSIZE (1024+1) /* file i/o and sprintf buffer size */ | |
268 | 1516 |
2770 | 1517 #define DIALOG_MSG_SIZE 1000 /* buffer size for dialog_msg() */ |
1518 | |
268 | 1519 #ifdef FEAT_MBYTE |
1520 # define MSG_BUF_LEN 480 /* length of buffer for small messages */ | |
1521 # define MSG_BUF_CLEN (MSG_BUF_LEN / 6) /* cell length (worst case: utf-8 | |
1522 takes 6 bytes for one cell) */ | |
1523 #else | |
1524 # define MSG_BUF_LEN 80 /* length of buffer for small messages */ | |
1525 # define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */ | |
1526 #endif | |
7 | 1527 |
9754
a990e7ed260b
commit https://github.com/vim/vim/commit/ee695f787ade7fd88fc5f5497553d95c0c3645b5
Christian Brabandt <cb@256bit.org>
parents:
9723
diff
changeset
|
1528 #define FOLD_TEXT_LEN 51 /* buffer size for get_foldtext() */ |
a990e7ed260b
commit https://github.com/vim/vim/commit/ee695f787ade7fd88fc5f5497553d95c0c3645b5
Christian Brabandt <cb@256bit.org>
parents:
9723
diff
changeset
|
1529 |
1901 | 1530 /* Size of the buffer used for tgetent(). Unfortunately this is largely |
1531 * undocumented, some systems use 1024. Using a buffer that is too small | |
1532 * causes a buffer overrun and a crash. Use the maximum known value to stay | |
1533 * on the safe side. */ | |
1534 #define TBUFSZ 2048 /* buffer size for termcap entry */ | |
7 | 1535 |
1536 /* | |
1537 * Maximum length of key sequence to be mapped. | |
1538 * Must be able to hold an Amiga resize report. | |
1539 */ | |
1540 #define MAXMAPLEN 50 | |
1541 | |
2214
f8222d1f9a73
Included patch for persistent undo. Lots of changes and added test.
Bram Moolenaar <bram@vim.org>
parents:
2199
diff
changeset
|
1542 /* Size in bytes of the hash used in the undo file. */ |
f8222d1f9a73
Included patch for persistent undo. Lots of changes and added test.
Bram Moolenaar <bram@vim.org>
parents:
2199
diff
changeset
|
1543 #define UNDO_HASH_SIZE 32 |
f8222d1f9a73
Included patch for persistent undo. Lots of changes and added test.
Bram Moolenaar <bram@vim.org>
parents:
2199
diff
changeset
|
1544 |
1619 | 1545 #ifdef HAVE_FCNTL_H |
1546 # include <fcntl.h> | |
1547 #endif | |
1548 | |
7 | 1549 #ifdef BINARY_FILE_IO |
1550 # define WRITEBIN "wb" /* no CR-LF translation */ | |
1551 # define READBIN "rb" | |
1552 # define APPENDBIN "ab" | |
1553 #else | |
1554 # define WRITEBIN "w" | |
1555 # define READBIN "r" | |
1556 # define APPENDBIN "a" | |
1557 #endif | |
1558 | |
1559 /* | |
1560 * EMX doesn't have a global way of making open() use binary I/O. | |
1561 * Use O_BINARY for all open() calls. | |
1562 */ | |
9536
b2aada04d84e
commit https://github.com/vim/vim/commit/a06ecab7a5159e744448ace731036f0dc5f87dd4
Christian Brabandt <cb@256bit.org>
parents:
9473
diff
changeset
|
1563 #if defined(__CYGWIN32__) |
7 | 1564 # define O_EXTRA O_BINARY |
1565 #else | |
1566 # define O_EXTRA 0 | |
1567 #endif | |
1568 | |
557 | 1569 #ifndef O_NOFOLLOW |
1570 # define O_NOFOLLOW 0 | |
1571 #endif | |
1572 | |
7 | 1573 #ifndef W_OK |
1574 # define W_OK 2 /* for systems that don't have W_OK in unistd.h */ | |
1575 #endif | |
1576 #ifndef R_OK | |
1577 # define R_OK 4 /* for systems that don't have R_OK in unistd.h */ | |
1578 #endif | |
1579 | |
1580 /* | |
1581 * defines to avoid typecasts from (char_u *) to (char *) and back | |
1582 * (vim_strchr() and vim_strrchr() are now in alloc.c) | |
1583 */ | |
1584 #define STRLEN(s) strlen((char *)(s)) | |
1585 #define STRCPY(d, s) strcpy((char *)(d), (char *)(s)) | |
1586 #define STRNCPY(d, s, n) strncpy((char *)(d), (char *)(s), (size_t)(n)) | |
1587 #define STRCMP(d, s) strcmp((char *)(d), (char *)(s)) | |
1588 #define STRNCMP(d, s, n) strncmp((char *)(d), (char *)(s), (size_t)(n)) | |
1589 #ifdef HAVE_STRCASECMP | |
1590 # define STRICMP(d, s) strcasecmp((char *)(d), (char *)(s)) | |
1591 #else | |
1592 # ifdef HAVE_STRICMP | |
1593 # define STRICMP(d, s) stricmp((char *)(d), (char *)(s)) | |
1594 # else | |
1595 # define STRICMP(d, s) vim_stricmp((char *)(d), (char *)(s)) | |
1596 # endif | |
1597 #endif | |
1598 | |
1619 | 1599 /* Like strcpy() but allows overlapped source and destination. */ |
1600 #define STRMOVE(d, s) mch_memmove((d), (s), STRLEN(s) + 1) | |
1601 | |
7 | 1602 #ifdef HAVE_STRNCASECMP |
1603 # define STRNICMP(d, s, n) strncasecmp((char *)(d), (char *)(s), (size_t)(n)) | |
1604 #else | |
1605 # ifdef HAVE_STRNICMP | |
1606 # define STRNICMP(d, s, n) strnicmp((char *)(d), (char *)(s), (size_t)(n)) | |
1607 # else | |
1608 # define STRNICMP(d, s, n) vim_strnicmp((char *)(d), (char *)(s), (size_t)(n)) | |
1609 # endif | |
1610 #endif | |
1611 | |
1612 #ifdef FEAT_MBYTE | |
1347 | 1613 /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte |
1614 * encoding because mb_stricmp() takes care of all ascii and non-ascii | |
2097
8f72e3512b43
updated for version 7.2.381
Bram Moolenaar <bram@zimbu.org>
parents:
2087
diff
changeset
|
1615 * encodings, including characters with umlauts in latin1, etc., while |
1347 | 1616 * STRICMP() only handles the system locale version, which often does not |
1617 * handle non-ascii properly. */ | |
1618 | |
1619 # define MB_STRICMP(d, s) mb_strnicmp((char_u *)(d), (char_u *)(s), (int)MAXCOL) | |
1620 # define MB_STRNICMP(d, s, n) mb_strnicmp((char_u *)(d), (char_u *)(s), (int)(n)) | |
7 | 1621 #else |
1622 # define MB_STRICMP(d, s) STRICMP((d), (s)) | |
1623 # define MB_STRNICMP(d, s, n) STRNICMP((d), (s), (n)) | |
1624 #endif | |
1625 | |
1626 #define STRCAT(d, s) strcat((char *)(d), (char *)(s)) | |
1627 #define STRNCAT(d, s, n) strncat((char *)(d), (char *)(s), (size_t)(n)) | |
1628 | |
1629 #ifdef HAVE_STRPBRK | |
1630 # define vim_strpbrk(s, cs) (char_u *)strpbrk((char *)(s), (char *)(cs)) | |
1631 #endif | |
1632 | |
1633 #define MSG(s) msg((char_u *)(s)) | |
1634 #define MSG_ATTR(s, attr) msg_attr((char_u *)(s), (attr)) | |
1635 #define EMSG(s) emsg((char_u *)(s)) | |
1636 #define EMSG2(s, p) emsg2((char_u *)(s), (char_u *)(p)) | |
1637 #define EMSG3(s, p, q) emsg3((char_u *)(s), (char_u *)(p), (char_u *)(q)) | |
1638 #define EMSGN(s, n) emsgn((char_u *)(s), (long)(n)) | |
840 | 1639 #define EMSGU(s, n) emsgu((char_u *)(s), (long_u)(n)) |
10359
66f1b5bf3fa6
commit https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f
Christian Brabandt <cb@256bit.org>
parents:
10283
diff
changeset
|
1640 #define IEMSG(s) iemsg((char_u *)(s)) |
66f1b5bf3fa6
commit https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f
Christian Brabandt <cb@256bit.org>
parents:
10283
diff
changeset
|
1641 #define IEMSG2(s, p) iemsg2((char_u *)(s), (char_u *)(p)) |
66f1b5bf3fa6
commit https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f
Christian Brabandt <cb@256bit.org>
parents:
10283
diff
changeset
|
1642 #define IEMSGN(s, n) iemsgn((char_u *)(s), (long)(n)) |
7 | 1643 #define OUT_STR(s) out_str((char_u *)(s)) |
1644 #define OUT_STR_NF(s) out_str_nf((char_u *)(s)) | |
1645 #define MSG_PUTS(s) msg_puts((char_u *)(s)) | |
1646 #define MSG_PUTS_ATTR(s, a) msg_puts_attr((char_u *)(s), (a)) | |
1647 #define MSG_PUTS_TITLE(s) msg_puts_title((char_u *)(s)) | |
339 | 1648 #define MSG_PUTS_LONG(s) msg_puts_long_attr((char_u *)(s), 0) |
7 | 1649 #define MSG_PUTS_LONG_ATTR(s, a) msg_puts_long_attr((char_u *)(s), (a)) |
1650 | |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1651 #ifdef FEAT_GUI |
9027
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1652 # ifdef FEAT_TERMGUICOLORS |
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1653 # define GUI_FUNCTION(f) (gui.in_use ? gui_##f : termgui_##f) |
9054
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1654 # define GUI_FUNCTION2(f, pixel) (gui.in_use \ |
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1655 ? ((pixel) != INVALCOLOR \ |
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1656 ? gui_##f((pixel)) \ |
9957
c0cd95d2e9f9
commit https://github.com/vim/vim/commit/424d74bb20335940e938a5b4708fc0d6b73f0de3
Christian Brabandt <cb@256bit.org>
parents:
9911
diff
changeset
|
1657 : INVALCOLOR) \ |
9054
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1658 : termgui_##f((pixel))) |
9027
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1659 # define USE_24BIT (gui.in_use || p_tgc) |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1660 # else |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1661 # define GUI_FUNCTION(f) gui_##f |
9054
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1662 # define GUI_FUNCTION2(f,pixel) ((pixel) != INVALCOLOR \ |
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1663 ? gui_##f((pixel)) \ |
9957
c0cd95d2e9f9
commit https://github.com/vim/vim/commit/424d74bb20335940e938a5b4708fc0d6b73f0de3
Christian Brabandt <cb@256bit.org>
parents:
9911
diff
changeset
|
1664 : INVALCOLOR) |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1665 # define USE_24BIT gui.in_use |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1666 # endif |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1667 #else |
9027
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1668 # ifdef FEAT_TERMGUICOLORS |
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1669 # define GUI_FUNCTION(f) termgui_##f |
9054
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1670 # define GUI_FUNCTION2(f, pixel) termgui_##f((pixel)) |
9027
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1671 # define USE_24BIT p_tgc |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1672 # endif |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1673 #endif |
9027
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1674 #ifdef FEAT_TERMGUICOLORS |
773d627cac0b
commit https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1675 # define IS_CTERM (t_colors > 1 || p_tgc) |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1676 #else |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1677 # define IS_CTERM (t_colors > 1) |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1678 #endif |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1679 #ifdef GUI_FUNCTION |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1680 # define GUI_MCH_GET_RGB GUI_FUNCTION(mch_get_rgb) |
9054
f129fd3ebd98
commit https://github.com/vim/vim/commit/187147aedd588070d0676664d5076d046644094e
Christian Brabandt <cb@256bit.org>
parents:
9027
diff
changeset
|
1681 # define GUI_MCH_GET_RGB2(pixel) GUI_FUNCTION2(mch_get_rgb, (pixel)) |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1682 # define GUI_MCH_GET_COLOR GUI_FUNCTION(mch_get_color) |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1683 # define GUI_GET_COLOR GUI_FUNCTION(get_color) |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1684 #endif |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8881
diff
changeset
|
1685 |
7 | 1686 /* Prefer using emsg3(), because perror() may send the output to the wrong |
1687 * destination and mess up the screen. */ | |
1688 #ifdef HAVE_STRERROR | |
1689 # define PERROR(msg) (void)emsg3((char_u *)"%s: %s", (char_u *)msg, (char_u *)strerror(errno)) | |
1690 #else | |
9605
846d4bad2df7
commit https://github.com/vim/vim/commit/b869c0da31716ff14bbfd63346d140d0a1d68af7
Christian Brabandt <cb@256bit.org>
parents:
9599
diff
changeset
|
1691 # define PERROR(msg) do_perror(msg) |
7 | 1692 #endif |
1693 | |
1872 | 1694 typedef long linenr_T; /* line number type */ |
1695 typedef int colnr_T; /* column number type */ | |
7 | 1696 typedef unsigned short disptick_T; /* display tick type */ |
1697 | |
1698 #define MAXLNUM (0x7fffffffL) /* maximum (invalid) line number */ | |
1699 | |
1700 /* | |
1701 * Well, you won't believe it, but some S/390 machines ("host", now also known | |
2268
aafed4a4866f
Command line completion for :ownsyntax. (Dominique Pelle)
Bram Moolenaar <bram@vim.org>
parents:
2250
diff
changeset
|
1702 * as zServer) use 31 bit pointers. There are also some newer machines, that |
7 | 1703 * use 64 bit pointers. I don't know how to distinguish between 31 and 64 bit |
1704 * machines, so the best way is to assume 31 bits whenever we detect OS/390 | |
1705 * Unix. | |
1706 * With this we restrict the maximum line length to 1073741823. I guess this is | |
1707 * not a real problem. BTW: Longer lines are split. | |
1708 */ | |
5684 | 1709 #if VIM_SIZEOF_INT >= 4 |
7 | 1710 # ifdef __MVS__ |
1711 # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */ | |
1712 # else | |
1713 # define MAXCOL (0x7fffffffL) /* maximum column number, 31 bits */ | |
1714 # endif | |
1715 #else | |
1716 # define MAXCOL (0x7fff) /* maximum column number, 15 bits */ | |
1717 #endif | |
1718 | |
1719 #define SHOWCMD_COLS 10 /* columns needed by shown command */ | |
1720 #define STL_MAX_ITEM 80 /* max nr of %<flag> in statusline */ | |
1721 | |
1722 typedef void *vim_acl_T; /* dummy to pass an ACL to a function */ | |
1723 | |
10702
24a1fbd78b76
patch 8.0.0241: fallback implementation of mch_memmove is unused
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
1724 #ifndef mch_memmove |
10712
74f2182dc1d9
patch 8.0.0246: compiler warnings for int to pointer conversion
Christian Brabandt <cb@256bit.org>
parents:
10702
diff
changeset
|
1725 # define mch_memmove(to, from, len) memmove((char*)(to), (char*)(from), (size_t)(len)) |
7 | 1726 #endif |
1727 | |
1728 /* | |
1729 * fnamecmp() is used to compare file names. | |
1730 * On some systems case in a file name does not matter, on others it does. | |
1731 * (this does not account for maximum name lengths and things like "../dir", | |
1732 * thus it is not 100% accurate!) | |
1733 */ | |
4242 | 1734 #define fnamecmp(x, y) vim_fnamecmp((char_u *)(x), (char_u *)(y)) |
1735 #define fnamencmp(x, y, n) vim_fnamencmp((char_u *)(x), (char_u *)(y), (size_t)(n)) | |
7 | 1736 |
1737 #ifdef HAVE_MEMSET | |
1738 # define vim_memset(ptr, c, size) memset((ptr), (c), (size)) | |
1739 #else | |
7807
1a5d34492798
commit https://github.com/vim/vim/commit/d99df423c559d85c17779b3685426c489554908c
Christian Brabandt <cb@256bit.org>
parents:
7797
diff
changeset
|
1740 void *vim_memset(void *, int, size_t); |
7 | 1741 #endif |
1742 | |
7408
1886f2863437
commit https://github.com/vim/vim/commit/e7fedb6ebe72d9a475aa65109b77d5ed4667067a
Christian Brabandt <cb@256bit.org>
parents:
7358
diff
changeset
|
1743 #if defined(UNIX) || defined(FEAT_GUI) || defined(VMS) \ |
7 | 1744 || defined(FEAT_CLIENTSERVER) |
1745 # define USE_INPUT_BUF | |
1746 #endif | |
1747 | |
2664 | 1748 #ifndef EINTR |
1749 # define read_eintr(fd, buf, count) vim_read((fd), (buf), (count)) | |
1750 # define write_eintr(fd, buf, count) vim_write((fd), (buf), (count)) | |
1751 #endif | |
1752 | |
7 | 1753 #ifdef MSWIN |
1754 /* On MS-Windows the third argument isn't size_t. This matters for Win64, | |
1755 * where sizeof(size_t)==8, not 4 */ | |
1756 # define vim_read(fd, buf, count) read((fd), (char *)(buf), (unsigned int)(count)) | |
1757 # define vim_write(fd, buf, count) write((fd), (char *)(buf), (unsigned int)(count)) | |
1758 #else | |
1759 # define vim_read(fd, buf, count) read((fd), (char *)(buf), (size_t) (count)) | |
1760 # define vim_write(fd, buf, count) write((fd), (char *)(buf), (size_t) (count)) | |
1761 #endif | |
1762 | |
1763 /* | |
1764 * Enums need a typecast to be used as array index (for Ultrix). | |
1765 */ | |
11158
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
11129
diff
changeset
|
1766 #define HL_ATTR(n) highlight_attr[(int)(n)] |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
11129
diff
changeset
|
1767 #define TERM_STR(n) term_strings[(int)(n)] |
7 | 1768 |
1769 /* | |
690 | 1770 * EXTERN is only defined in main.c. That's where global variables are |
1771 * actually defined and initialized. | |
1772 */ | |
1773 #ifndef EXTERN | |
1774 # define EXTERN extern | |
1775 # define INIT(x) | |
1776 #else | |
1777 # ifndef INIT | |
1778 # define INIT(x) x | |
1779 # define DO_INIT | |
9659
08df6ad72c56
commit https://github.com/vim/vim/commit/ac77aec4daea8d73468fcf4690cb4ccab1d807ed
Christian Brabandt <cb@256bit.org>
parents:
9605
diff
changeset
|
1780 # define COMMA , |
690 | 1781 # endif |
1782 #endif | |
1783 | |
714 | 1784 #ifdef FEAT_MBYTE |
1785 # define MAX_MCO 6 /* maximum value for 'maxcombine' */ | |
1786 | |
1787 /* Maximum number of bytes in a multi-byte character. It can be one 32-bit | |
1788 * character of up to 6 bytes, or one 16-bit character of up to three bytes | |
1789 * plus six following composing characters of three bytes each. */ | |
1790 # define MB_MAXBYTES 21 | |
3549 | 1791 #else |
1792 # define MB_MAXBYTES 1 | |
714 | 1793 #endif |
1794 | |
1521 | 1795 #if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO) |
1796 # ifdef WIN3264 | |
1797 typedef LARGE_INTEGER proftime_T; | |
1798 # else | |
1799 typedef struct timeval proftime_T; | |
1800 # endif | |
1801 #else | |
1802 typedef int proftime_T; /* dummy for function prototypes */ | |
1803 #endif | |
1804 | |
9347
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1805 /* |
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1806 * When compiling with 32 bit Perl time_t is 32 bits in the Perl code but 64 |
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1807 * bits elsewhere. That causes memory corruption. Define time_T and use it |
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1808 * for global variables to avoid that. |
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1809 */ |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
1810 #ifdef PROTO |
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
1811 typedef long time_T; |
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
1812 #else |
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
1813 # ifdef WIN3264 |
9347
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1814 typedef __time64_t time_T; |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
1815 # else |
9347
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1816 typedef time_t time_T; |
10025
068f397d0da4
commit https://github.com/vim/vim/commit/d90b6c02e2900576fb37d95b5e4f4a32b2d7383f
Christian Brabandt <cb@256bit.org>
parents:
9969
diff
changeset
|
1817 # endif |
9347
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1818 #endif |
25c562442f8c
commit https://github.com/vim/vim/commit/f4fba6dcd508cb369ffa6916d9cb3fcf3d7ed548
Christian Brabandt <cb@256bit.org>
parents:
9284
diff
changeset
|
1819 |
8059
19304db153bc
commit https://github.com/vim/vim/commit/d807036d10615b960c814ef3890ecad335b57f56
Christian Brabandt <cb@256bit.org>
parents:
8035
diff
changeset
|
1820 #ifdef _WIN64 |
8033
a1b10634a28a
commit https://github.com/vim/vim/commit/d090d7bab5a0d96559579e078dfdcc6d7d4f4713
Christian Brabandt <cb@256bit.org>
parents:
7967
diff
changeset
|
1821 typedef __int64 sock_T; |
8035
f48041801aac
commit https://github.com/vim/vim/commit/f8b7d890f1d62f3ab101d2b02dd7716cb7f053cb
Christian Brabandt <cb@256bit.org>
parents:
8033
diff
changeset
|
1822 #else |
8033
a1b10634a28a
commit https://github.com/vim/vim/commit/d090d7bab5a0d96559579e078dfdcc6d7d4f4713
Christian Brabandt <cb@256bit.org>
parents:
7967
diff
changeset
|
1823 typedef int sock_T; |
a1b10634a28a
commit https://github.com/vim/vim/commit/d090d7bab5a0d96559579e078dfdcc6d7d4f4713
Christian Brabandt <cb@256bit.org>
parents:
7967
diff
changeset
|
1824 #endif |
a1b10634a28a
commit https://github.com/vim/vim/commit/d090d7bab5a0d96559579e078dfdcc6d7d4f4713
Christian Brabandt <cb@256bit.org>
parents:
7967
diff
changeset
|
1825 |
690 | 1826 /* Include option.h before structs.h, because the number of window-local and |
1827 * buffer-local options is used there. */ | |
1828 #include "option.h" /* options and default values */ | |
1829 | |
7 | 1830 /* Note that gui.h is included by structs.h */ |
1831 | |
1832 #include "structs.h" /* file that defines many structures */ | |
1833 | |
7545
4c922651fd78
commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents:
7447
diff
changeset
|
1834 #include "alloc.h" |
4c922651fd78
commit https://github.com/vim/vim/commit/28fb79db6b52d1154e8dc63d227673648c2fce15
Christian Brabandt <cb@256bit.org>
parents:
7447
diff
changeset
|
1835 |
788 | 1836 /* Values for "do_profiling". */ |
1837 #define PROF_NONE 0 /* profiling not started */ | |
1838 #define PROF_YES 1 /* profiling busy */ | |
1839 #define PROF_PAUSED 2 /* profiling paused */ | |
1840 | |
7 | 1841 #ifdef FEAT_MOUSE |
1842 | |
1843 /* Codes for mouse button events in lower three bits: */ | |
1844 # define MOUSE_LEFT 0x00 | |
1845 # define MOUSE_MIDDLE 0x01 | |
1846 # define MOUSE_RIGHT 0x02 | |
1847 # define MOUSE_RELEASE 0x03 | |
1848 | |
1849 /* bit masks for modifiers: */ | |
1850 # define MOUSE_SHIFT 0x04 | |
1851 # define MOUSE_ALT 0x08 | |
1852 # define MOUSE_CTRL 0x10 | |
1853 | |
1854 /* mouse buttons that are handled like a key press (GUI only) */ | |
2409
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
1855 /* Note that the scroll wheel keys are inverted: MOUSE_5 scrolls lines up but |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
1856 * the result of this is that the window moves down, similarly MOUSE_6 scrolls |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
1857 * columns left but the window moves right. */ |
7 | 1858 # define MOUSE_4 0x100 /* scroll wheel down */ |
1859 # define MOUSE_5 0x200 /* scroll wheel up */ | |
1860 | |
1861 # define MOUSE_X1 0x300 /* Mouse-button X1 (6th) */ | |
1862 # define MOUSE_X2 0x400 /* Mouse-button X2 */ | |
1863 | |
2409
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
1864 # define MOUSE_6 0x500 /* scroll wheel left */ |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
1865 # define MOUSE_7 0x600 /* scroll wheel right */ |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
1866 |
7 | 1867 /* 0x20 is reserved by xterm */ |
1868 # define MOUSE_DRAG_XTERM 0x40 | |
1869 | |
1870 # define MOUSE_DRAG (0x40 | MOUSE_RELEASE) | |
1871 | |
1872 /* Lowest button code for using the mouse wheel (xterm only) */ | |
1873 # define MOUSEWHEEL_LOW 0x60 | |
1874 | |
1875 # define MOUSE_CLICK_MASK 0x03 | |
1876 | |
1877 # define NUM_MOUSE_CLICKS(code) \ | |
1878 (((unsigned)((code) & 0xC0) >> 6) + 1) | |
1879 | |
1880 # define SET_NUM_MOUSE_CLICKS(code, num) \ | |
1881 (code) = ((code) & 0x3f) | ((((num) - 1) & 3) << 6) | |
1882 | |
260 | 1883 /* Added to mouse column for GUI when 'mousefocus' wants to give focus to a |
1884 * window by simulating a click on its status line. We could use up to 128 * | |
1885 * 128 = 16384 columns, now it's reduced to 10000. */ | |
1886 # define MOUSE_COLOFF 10000 | |
1887 | |
7 | 1888 /* |
1889 * jump_to_mouse() returns one of first four these values, possibly with | |
1890 * some of the other three added. | |
1891 */ | |
1892 # define IN_UNKNOWN 0 | |
1893 # define IN_BUFFER 1 | |
1894 # define IN_STATUS_LINE 2 /* on status or command line */ | |
1895 # define IN_SEP_LINE 4 /* on vertical separator line */ | |
1896 # define IN_OTHER_WIN 8 /* in other window but can't go there */ | |
1897 # define CURSOR_MOVED 0x100 | |
1898 # define MOUSE_FOLD_CLOSE 0x200 /* clicked on '-' in fold column */ | |
1899 # define MOUSE_FOLD_OPEN 0x400 /* clicked on '+' in fold column */ | |
1900 | |
1901 /* flags for jump_to_mouse() */ | |
1902 # define MOUSE_FOCUS 0x01 /* need to stay in this window */ | |
1903 # define MOUSE_MAY_VIS 0x02 /* may start Visual mode */ | |
1904 # define MOUSE_DID_MOVE 0x04 /* only act when mouse has moved */ | |
1905 # define MOUSE_SETPOS 0x08 /* only set current mouse position */ | |
1906 # define MOUSE_MAY_STOP_VIS 0x10 /* may stop Visual mode */ | |
1907 # define MOUSE_RELEASED 0x20 /* button was released */ | |
1908 | |
1909 # if defined(UNIX) && defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) | |
1910 # define CHECK_DOUBLE_CLICK 1 /* Checking for double clicks ourselves. */ | |
1911 # endif | |
1912 | |
1913 #endif /* FEAT_MOUSE */ | |
1914 | |
1915 /* defines for eval_vars() */ | |
1916 #define VALID_PATH 1 | |
1917 #define VALID_HEAD 2 | |
1918 | |
1919 /* Defines for Vim variables. These must match vimvars[] in eval.c! */ | |
1920 #define VV_COUNT 0 | |
1921 #define VV_COUNT1 1 | |
1922 #define VV_PREVCOUNT 2 | |
1923 #define VV_ERRMSG 3 | |
1924 #define VV_WARNINGMSG 4 | |
1925 #define VV_STATUSMSG 5 | |
1926 #define VV_SHELL_ERROR 6 | |
1927 #define VV_THIS_SESSION 7 | |
1928 #define VV_VERSION 8 | |
1929 #define VV_LNUM 9 | |
1930 #define VV_TERMRESPONSE 10 | |
1931 #define VV_FNAME 11 | |
1932 #define VV_LANG 12 | |
1933 #define VV_LC_TIME 13 | |
1934 #define VV_CTYPE 14 | |
1935 #define VV_CC_FROM 15 | |
1936 #define VV_CC_TO 16 | |
1937 #define VV_FNAME_IN 17 | |
1938 #define VV_FNAME_OUT 18 | |
1939 #define VV_FNAME_NEW 19 | |
1940 #define VV_FNAME_DIFF 20 | |
1941 #define VV_CMDARG 21 | |
1942 #define VV_FOLDSTART 22 | |
1943 #define VV_FOLDEND 23 | |
1944 #define VV_FOLDDASHES 24 | |
1945 #define VV_FOLDLEVEL 25 | |
1946 #define VV_PROGNAME 26 | |
1947 #define VV_SEND_SERVER 27 | |
1948 #define VV_DYING 28 | |
1949 #define VV_EXCEPTION 29 | |
1950 #define VV_THROWPOINT 30 | |
1951 #define VV_REG 31 | |
1952 #define VV_CMDBANG 32 | |
11 | 1953 #define VV_INSERTMODE 33 |
101 | 1954 #define VV_VAL 34 |
1955 #define VV_KEY 35 | |
170 | 1956 #define VV_PROFILING 36 |
179 | 1957 #define VV_FCS_REASON 37 |
1958 #define VV_FCS_CHOICE 38 | |
184 | 1959 #define VV_BEVAL_BUFNR 39 |
1960 #define VV_BEVAL_WINNR 40 | |
9217
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1961 #define VV_BEVAL_WINID 41 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1962 #define VV_BEVAL_LNUM 42 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1963 #define VV_BEVAL_COL 43 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1964 #define VV_BEVAL_TEXT 44 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1965 #define VV_SCROLLSTART 45 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1966 #define VV_SWAPNAME 46 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1967 #define VV_SWAPCHOICE 47 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1968 #define VV_SWAPCOMMAND 48 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1969 #define VV_CHAR 49 |
9495e43a800d
commit https://github.com/vim/vim/commit/c9721bdc63378cc6123e775ffe43e9cba30322b3
Christian Brabandt <cb@256bit.org>
parents:
9149
diff
changeset
|
1970 #define VV_MOUSE_WIN 50 |
9221
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1971 #define VV_MOUSE_WINID 51 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1972 #define VV_MOUSE_LNUM 52 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1973 #define VV_MOUSE_COL 53 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1974 #define VV_OP 54 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1975 #define VV_SEARCHFORWARD 55 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1976 #define VV_HLSEARCH 56 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1977 #define VV_OLDFILES 57 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1978 #define VV_WINDOWID 58 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1979 #define VV_PROGPATH 59 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1980 #define VV_COMPLETED_ITEM 60 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1981 #define VV_OPTION_NEW 61 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1982 #define VV_OPTION_OLD 62 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1983 #define VV_OPTION_TYPE 63 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1984 #define VV_ERRORS 64 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1985 #define VV_FALSE 65 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1986 #define VV_TRUE 66 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1987 #define VV_NULL 67 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1988 #define VV_NONE 68 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1989 #define VV_VIM_DID_ENTER 69 |
17fa362f10be
commit https://github.com/vim/vim/commit/511972d810ea490955161ff5097ec2f57919ceaf
Christian Brabandt <cb@256bit.org>
parents:
9217
diff
changeset
|
1990 #define VV_TESTING 70 |
9587
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1991 #define VV_TYPE_NUMBER 71 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1992 #define VV_TYPE_STRING 72 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1993 #define VV_TYPE_FUNC 73 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1994 #define VV_TYPE_LIST 74 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1995 #define VV_TYPE_DICT 75 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1996 #define VV_TYPE_FLOAT 76 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1997 #define VV_TYPE_BOOL 77 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1998 #define VV_TYPE_NONE 78 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
1999 #define VV_TYPE_JOB 79 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2000 #define VV_TYPE_CHANNEL 80 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2001 #define VV_LEN 81 /* number of v: vars */ |
7712
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7697
diff
changeset
|
2002 |
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7697
diff
changeset
|
2003 /* used for v_number in VAR_SPECIAL */ |
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7697
diff
changeset
|
2004 #define VVAL_FALSE 0L |
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7697
diff
changeset
|
2005 #define VVAL_TRUE 1L |
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7697
diff
changeset
|
2006 #define VVAL_NONE 2L |
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7697
diff
changeset
|
2007 #define VVAL_NULL 3L |
7 | 2008 |
9587
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2009 /* Type values for type(). */ |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2010 #define VAR_TYPE_NUMBER 0 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2011 #define VAR_TYPE_STRING 1 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2012 #define VAR_TYPE_FUNC 2 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2013 #define VAR_TYPE_LIST 3 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2014 #define VAR_TYPE_DICT 4 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2015 #define VAR_TYPE_FLOAT 5 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2016 #define VAR_TYPE_BOOL 6 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2017 #define VAR_TYPE_NONE 7 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2018 #define VAR_TYPE_JOB 8 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2019 #define VAR_TYPE_CHANNEL 9 |
05a56bbe34a1
commit https://github.com/vim/vim/commit/f562e72df726c6191fa305e1c0a113f1cfb87f76
Christian Brabandt <cb@256bit.org>
parents:
9585
diff
changeset
|
2020 |
7 | 2021 #ifdef FEAT_CLIPBOARD |
2022 | |
2023 /* VIM_ATOM_NAME is the older Vim-specific selection type for X11. Still | |
2024 * supported for when a mix of Vim versions is used. VIMENC_ATOM_NAME includes | |
2025 * the encoding to support Vims using different 'encoding' values. */ | |
4031 | 2026 # define VIM_ATOM_NAME "_VIM_TEXT" |
2027 # define VIMENC_ATOM_NAME "_VIMENC_TEXT" | |
7 | 2028 |
2029 /* Selection states for modeless selection */ | |
2030 # define SELECT_CLEARED 0 | |
2031 # define SELECT_IN_PROGRESS 1 | |
2032 # define SELECT_DONE 2 | |
2033 | |
2034 # define SELECT_MODE_CHAR 0 | |
2035 # define SELECT_MODE_WORD 1 | |
2036 # define SELECT_MODE_LINE 2 | |
2037 | |
2038 # ifdef FEAT_GUI_W32 | |
2039 # ifdef FEAT_OLE | |
2040 # define WM_OLE (WM_APP+0) | |
2041 # endif | |
2042 # endif | |
2043 | |
2044 /* Info about selected text */ | |
2045 typedef struct VimClipboard | |
2046 { | |
2047 int available; /* Is clipboard available? */ | |
2048 int owned; /* Flag: do we own the selection? */ | |
2049 pos_T start; /* Start of selected area */ | |
2050 pos_T end; /* End of selected area */ | |
2051 int vmode; /* Visual mode character */ | |
2052 | |
2053 /* Fields for selection that doesn't use Visual mode */ | |
2054 short_u origin_row; | |
2055 short_u origin_start_col; | |
2056 short_u origin_end_col; | |
2057 short_u word_start_col; | |
2058 short_u word_end_col; | |
2059 | |
2060 pos_T prev; /* Previous position */ | |
2061 short_u state; /* Current selection state */ | |
2062 short_u mode; /* Select by char, word, or line. */ | |
2063 | |
2064 # if defined(FEAT_GUI_X11) || defined(FEAT_XCLIPBOARD) | |
2065 Atom sel_atom; /* PRIMARY/CLIPBOARD selection ID */ | |
2066 # endif | |
2067 | |
2068 # ifdef FEAT_GUI_GTK | |
2069 GdkAtom gtk_sel_atom; /* PRIMARY/CLIPBOARD selection ID */ | |
2070 # endif | |
2071 | |
4168 | 2072 # if defined(MSWIN) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD) |
7 | 2073 int_u format; /* Vim's own special clipboard format */ |
2074 int_u format_raw; /* Vim's raw text clipboard format */ | |
2075 # endif | |
2076 } VimClipboard; | |
2077 #else | |
2078 typedef int VimClipboard; /* This is required for the prototypes. */ | |
2079 #endif | |
2080 | |
9387
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2081 /* Use 64-bit stat structure if available. */ |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2082 #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__) |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2083 # define HAVE_STAT64 |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2084 typedef struct _stat64 stat_T; |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2085 #else |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2086 typedef struct stat stat_T; |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2087 #endif |
f094d4085014
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Christian Brabandt <cb@256bit.org>
parents:
9347
diff
changeset
|
2088 |
9571
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2089 typedef enum |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2090 { |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2091 ASSERT_EQUAL, |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2092 ASSERT_NOTEQUAL, |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2093 ASSERT_MATCH, |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2094 ASSERT_NOTMATCH, |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2095 ASSERT_OTHER |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2096 } assert_type_T; |
5eaa708ab50d
commit https://github.com/vim/vim/commit/73dad1e64cb42842d8259cb1a255a6fa59822f76
Christian Brabandt <cb@256bit.org>
parents:
9570
diff
changeset
|
2097 |
10640
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2098 /* Mode for bracketed_paste(). */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2099 typedef enum { |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2100 PASTE_INSERT, /* insert mode */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2101 PASTE_CMDLINE, /* command line */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2102 PASTE_EX, /* ex mode line */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2103 PASTE_ONE_CHAR /* return first character */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2104 } paste_mode_T; |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10571
diff
changeset
|
2105 |
7 | 2106 #include "ex_cmds.h" /* Ex command defines */ |
9585
1fdd97be3967
commit https://github.com/vim/vim/commit/6cfdb2a3bad5a6049de22dcdd1da0f6666478398
Christian Brabandt <cb@256bit.org>
parents:
9571
diff
changeset
|
2107 #include "spell.h" /* spell checking stuff */ |
1fdd97be3967
commit https://github.com/vim/vim/commit/6cfdb2a3bad5a6049de22dcdd1da0f6666478398
Christian Brabandt <cb@256bit.org>
parents:
9571
diff
changeset
|
2108 |
7 | 2109 #include "proto.h" /* function prototypes */ |
2110 | |
2111 /* This has to go after the include of proto.h, as proto/gui.pro declares | |
2112 * functions of these names. The declarations would break if the defines had | |
2113 * been seen at that stage. But it must be before globals.h, where error_ga | |
2114 * is declared. */ | |
2115 #if !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_X11) \ | |
9834
80ace3687eec
commit https://github.com/vim/vim/commit/a6b7a08ae04a3cd4d9c45c906bb7a197e2135179
Christian Brabandt <cb@256bit.org>
parents:
9832
diff
changeset
|
2116 && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_MAC) && !defined(PROTO) |
7 | 2117 # define mch_errmsg(str) fprintf(stderr, "%s", (str)) |
2118 # define display_errors() fflush(stderr) | |
2119 # define mch_msg(str) printf("%s", (str)) | |
2120 #else | |
2121 # define USE_MCH_ERRMSG | |
2122 #endif | |
2123 | |
127 | 2124 #ifndef FEAT_MBYTE |
2125 # define after_pathsep(b, p) vim_ispathsep(*((p) - 1)) | |
2126 # define transchar_byte(c) transchar(c) | |
2127 #endif | |
2128 | |
2129 #ifndef FEAT_LINEBREAK | |
2130 /* Without the 'numberwidth' option line numbers are always 7 chars. */ | |
2131 # define number_width(x) 7 | |
2132 #endif | |
2133 | |
2134 | |
7 | 2135 #include "globals.h" /* global variables and messages */ |
2136 | |
2137 #ifndef FEAT_VIRTUALEDIT | |
11158
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
11129
diff
changeset
|
2138 # define getvvcol(w, p, s, c, e) getvcol((w), (p), (s), (c), (e)) |
6413 | 2139 # define virtual_active() FALSE |
7 | 2140 # define virtual_op FALSE |
2141 #endif | |
2142 | |
2143 /* | |
2144 * If console dialog not supported, but GUI dialog is, use the GUI one. | |
2145 */ | |
2146 #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG) | |
2147 # define do_dialog gui_mch_dialog | |
2148 #endif | |
2149 | |
2150 /* | |
2151 * Default filters for gui_mch_browse(). | |
2152 * The filters are almost system independent. Except for the difference | |
2153 * between "*" and "*.*" for MSDOS-like systems. | |
2154 * NOTE: Motif only uses the very first pattern. Therefore | |
2155 * BROWSE_FILTER_DEFAULT should start with a "*" pattern. | |
2156 */ | |
2157 #ifdef FEAT_BROWSE | |
2158 # ifdef BACKSLASH_IN_FILENAME | |
2159 # define BROWSE_FILTER_MACROS \ | |
2160 (char_u *)"Vim macro files (*.vim)\t*.vim\nAll Files (*.*)\t*.*\n" | |
2161 # define BROWSE_FILTER_ALL_FILES (char_u *)"All Files (*.*)\t*.*\n" | |
2162 # define BROWSE_FILTER_DEFAULT \ | |
2163 (char_u *)"All Files (*.*)\t*.*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVB code (*.bas, *.frm)\t*.bas;*.frm\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" | |
2164 # else | |
2165 # define BROWSE_FILTER_MACROS \ | |
2166 (char_u *)"Vim macro files (*.vim)\t*.vim\nAll Files (*)\t*\n" | |
2167 # define BROWSE_FILTER_ALL_FILES (char_u *)"All Files (*)\t*\n" | |
2168 # define BROWSE_FILTER_DEFAULT \ | |
2169 (char_u *)"All Files (*)\t*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" | |
2170 # endif | |
28 | 2171 # define BROWSE_SAVE 1 /* flag for do_browse() */ |
2172 # define BROWSE_DIR 2 /* flag for do_browse() */ | |
7 | 2173 #endif |
2174 | |
2175 /* stop using fastcall for Borland */ | |
2176 #if defined(__BORLANDC__) && defined(WIN32) && !defined(DEBUG) | |
127 | 2177 #pragma option -p. |
7 | 2178 #endif |
2179 | |
2217
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2215
diff
changeset
|
2180 #ifdef _MSC_VER |
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2215
diff
changeset
|
2181 /* Avoid useless warning "conversion from X to Y of greater size". */ |
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2215
diff
changeset
|
2182 #pragma warning(disable : 4312) |
6600 | 2183 /* Avoid warning for old style function declarators */ |
2184 #pragma warning(disable : 4131) | |
2185 /* Avoid warning for conversion to type with smaller range */ | |
2186 #pragma warning(disable : 4244) | |
2187 /* Avoid warning for conversion to larger size */ | |
2188 #pragma warning(disable : 4306) | |
2189 /* Avoid warning for unreferenced formal parameter */ | |
2190 #pragma warning(disable : 4100) | |
2191 /* Avoid warning for differs in indirection to slightly different base type */ | |
2192 #pragma warning(disable : 4057) | |
2193 /* Avoid warning for constant conditional expression */ | |
2194 #pragma warning(disable : 4127) | |
2195 /* Avoid warning for assignment within conditional */ | |
2196 #pragma warning(disable : 4706) | |
2217
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2215
diff
changeset
|
2197 #endif |
120502692d82
Improve the MS-Windows installer.
Bram Moolenaar <bram@vim.org>
parents:
2215
diff
changeset
|
2198 |
3549 | 2199 /* Note: a NULL argument for vim_realloc() is not portable, don't use it. */ |
7 | 2200 #if defined(MEM_PROFILE) |
2201 # define vim_realloc(ptr, size) mem_realloc((ptr), (size)) | |
2202 #else | |
2203 # define vim_realloc(ptr, size) realloc((ptr), (size)) | |
2204 #endif | |
2205 | |
2206 /* | |
1236 | 2207 * The following macros stop display/event loop nesting at the wrong time. |
7 | 2208 */ |
2209 #ifdef ALT_X_INPUT | |
2210 # define ALT_INPUT_LOCK_OFF suppress_alternate_input = FALSE | |
2211 # define ALT_INPUT_LOCK_ON suppress_alternate_input = TRUE | |
2212 #endif | |
2213 | |
2214 #ifdef FEAT_MBYTE | |
2215 /* | |
2216 * Return byte length of character that starts with byte "b". | |
2217 * Returns 1 for a single-byte character. | |
2218 * MB_BYTE2LEN_CHECK() can be used to count a special key as one byte. | |
2219 * Don't call MB_BYTE2LEN(b) with b < 0 or b > 255! | |
2220 */ | |
2221 # define MB_BYTE2LEN(b) mb_bytelen_tab[b] | |
2222 # define MB_BYTE2LEN_CHECK(b) (((b) < 0 || (b) > 255) ? 1 : mb_bytelen_tab[b]) | |
2223 #endif | |
2224 | |
2225 #if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT) | |
2226 /* properties used in enc_canon_table[] (first three mutually exclusive) */ | |
2227 # define ENC_8BIT 0x01 | |
2228 # define ENC_DBCS 0x02 | |
2229 # define ENC_UNICODE 0x04 | |
2230 | |
2231 # define ENC_ENDIAN_B 0x10 /* Unicode: Big endian */ | |
2232 # define ENC_ENDIAN_L 0x20 /* Unicode: Little endian */ | |
2233 | |
2234 # define ENC_2BYTE 0x40 /* Unicode: UCS-2 */ | |
2235 # define ENC_4BYTE 0x80 /* Unicode: UCS-4 */ | |
2236 # define ENC_2WORD 0x100 /* Unicode: UTF-16 */ | |
2237 | |
2238 # define ENC_LATIN1 0x200 /* Latin1 */ | |
26 | 2239 # define ENC_LATIN9 0x400 /* Latin9 */ |
2240 # define ENC_MACROMAN 0x800 /* Mac Roman (not Macro Man! :-) */ | |
7 | 2241 #endif |
2242 | |
2243 #ifdef FEAT_MBYTE | |
2244 # ifdef USE_ICONV | |
2245 # ifndef EILSEQ | |
2246 # define EILSEQ 123 | |
2247 # endif | |
2248 # ifdef DYNAMIC_ICONV | |
2249 /* On Win32 iconv.dll is dynamically loaded. */ | |
2250 # define ICONV_ERRNO (*iconv_errno()) | |
2251 # define ICONV_E2BIG 7 | |
2252 # define ICONV_EINVAL 22 | |
2253 # define ICONV_EILSEQ 42 | |
2254 # else | |
2255 # define ICONV_ERRNO errno | |
2256 # define ICONV_E2BIG E2BIG | |
2257 # define ICONV_EINVAL EINVAL | |
2258 # define ICONV_EILSEQ EILSEQ | |
2259 # endif | |
2260 # endif | |
2261 | |
2262 #endif | |
2263 | |
2264 /* ISSYMLINK(mode) tests if a file is a symbolic link. */ | |
2265 #if (defined(S_IFMT) && defined(S_IFLNK)) || defined(S_ISLNK) | |
2266 # define HAVE_ISSYMLINK | |
2267 # if defined(S_IFMT) && defined(S_IFLNK) | |
2268 # define ISSYMLINK(mode) (((mode) & S_IFMT) == S_IFLNK) | |
2269 # else | |
2270 # define ISSYMLINK(mode) S_ISLNK(mode) | |
2271 # endif | |
2272 #endif | |
2273 | |
2274 #define SIGN_BYTE 1 /* byte value used where sign is displayed; | |
2275 attribute value is sign type */ | |
2276 | |
2277 #ifdef FEAT_NETBEANS_INTG | |
2278 # define MULTISIGN_BYTE 2 /* byte value used where sign is displayed if | |
2279 multiple signs exist on the line */ | |
2280 #endif | |
2281 | |
2282 #if defined(FEAT_GUI) && defined(FEAT_XCLIPBOARD) | |
2283 # ifdef FEAT_GUI_GTK | |
2284 /* Avoid using a global variable for the X display. It's ugly | |
2285 * and is likely to cause trouble in multihead environments. */ | |
2286 # define X_DISPLAY ((gui.in_use) ? gui_mch_get_display() : xterm_dpy) | |
2287 # else | |
2288 # define X_DISPLAY (gui.in_use ? gui.dpy : xterm_dpy) | |
2289 # endif | |
2290 #else | |
2291 # ifdef FEAT_GUI | |
2292 # ifdef FEAT_GUI_GTK | |
2293 # define X_DISPLAY ((gui.in_use) ? gui_mch_get_display() : (Display *)NULL) | |
2294 # else | |
2295 # define X_DISPLAY gui.dpy | |
2296 # endif | |
2297 # else | |
2298 # define X_DISPLAY xterm_dpy | |
2299 # endif | |
2300 #endif | |
2301 | |
3666 | 2302 #if defined(FEAT_BROWSE) && defined(GTK_CHECK_VERSION) |
2303 # if GTK_CHECK_VERSION(2,4,0) | |
2304 # define USE_FILE_CHOOSER | |
2305 # endif | |
2306 #endif | |
2307 | |
1750 | 2308 #ifndef FEAT_NETBEANS_INTG |
2309 # undef NBDEBUG | |
2310 #endif | |
7 | 2311 #ifdef NBDEBUG /* Netbeans debugging. */ |
2312 # include "nbdebug.h" | |
2313 #else | |
2314 # define nbdebug(a) | |
2315 #endif | |
2316 | |
2317 #ifdef IN_PERL_FILE | |
2318 /* | |
2319 * Avoid clashes between Perl and Vim namespace. | |
2320 */ | |
2321 # undef NORMAL | |
2322 # undef STRLEN | |
2323 # undef FF | |
2324 # undef OP_DELETE | |
2325 # undef OP_JOIN | |
2326 # ifdef __BORLANDC__ | |
2327 # define NOPROTO 1 | |
2328 # endif | |
2329 /* remove MAX and MIN, included by glib.h, redefined by sys/param.h */ | |
2330 # ifdef MAX | |
2331 # undef MAX | |
2332 # endif | |
2333 # ifdef MIN | |
2334 # undef MIN | |
2335 # endif | |
2336 /* We use _() for gettext(), Perl uses it for function prototypes... */ | |
2337 # ifdef _ | |
2338 # undef _ | |
2339 # endif | |
2340 # ifdef DEBUG | |
2341 # undef DEBUG | |
2342 # endif | |
2343 # ifdef _DEBUG | |
2344 # undef _DEBUG | |
2345 # endif | |
2346 # ifdef instr | |
2347 # undef instr | |
2348 # endif | |
1702 | 2349 /* bool may cause trouble on MACOS but is required on a few other systems |
2350 * and for Perl */ | |
2351 # if defined(bool) && defined(MACOS) && !defined(FEAT_PERL) | |
7 | 2352 # undef bool |
2353 # endif | |
2354 | |
2355 # ifdef __BORLANDC__ | |
2356 /* Borland has the structure stati64 but not _stati64 */ | |
2357 # define _stati64 stati64 | |
2358 # endif | |
2359 #endif | |
2360 | |
412 | 2361 /* values for vim_handle_signal() that are not a signal */ |
37 | 2362 #define SIGNAL_BLOCK -1 |
2363 #define SIGNAL_UNBLOCK -2 | |
7408
1886f2863437
commit https://github.com/vim/vim/commit/e7fedb6ebe72d9a475aa65109b77d5ed4667067a
Christian Brabandt <cb@256bit.org>
parents:
7358
diff
changeset
|
2364 #if !defined(UNIX) && !defined(VMS) |
412 | 2365 # define vim_handle_signal(x) 0 |
36 | 2366 #endif |
2367 | |
170 | 2368 /* flags for skip_vimgrep_pat() */ |
2369 #define VGR_GLOBAL 1 | |
2370 #define VGR_NOJUMP 2 | |
2371 | |
595 | 2372 /* behavior for bad character, "++bad=" argument */ |
2373 #define BAD_REPLACE '?' /* replace it with '?' (default) */ | |
2374 #define BAD_KEEP -1 /* leave it */ | |
2375 #define BAD_DROP -2 /* erase it */ | |
2376 | |
819 | 2377 /* last argument for do_source() */ |
2378 #define DOSO_NONE 0 | |
2379 #define DOSO_VIMRC 1 /* loading vimrc file */ | |
2380 #define DOSO_GVIMRC 2 /* loading gvimrc file */ | |
788 | 2381 |
1733 | 2382 /* flags for read_viminfo() and children */ |
2383 #define VIF_WANT_INFO 1 /* load non-mark info */ | |
2384 #define VIF_WANT_MARKS 2 /* load file marks */ | |
2385 #define VIF_FORCEIT 4 /* overwrite info already read */ | |
2386 #define VIF_GET_OLDFILES 8 /* load v:oldfiles */ | |
2387 | |
2394
a3aca345aafa
Add the 'undoreload' option to be able to undo a file reload.
Bram Moolenaar <bram@vim.org>
parents:
2330
diff
changeset
|
2388 /* flags for buf_freeall() */ |
a3aca345aafa
Add the 'undoreload' option to be able to undo a file reload.
Bram Moolenaar <bram@vim.org>
parents:
2330
diff
changeset
|
2389 #define BFA_DEL 1 /* buffer is going to be deleted */ |
a3aca345aafa
Add the 'undoreload' option to be able to undo a file reload.
Bram Moolenaar <bram@vim.org>
parents:
2330
diff
changeset
|
2390 #define BFA_WIPE 2 /* buffer is going to be wiped out */ |
a3aca345aafa
Add the 'undoreload' option to be able to undo a file reload.
Bram Moolenaar <bram@vim.org>
parents:
2330
diff
changeset
|
2391 #define BFA_KEEP_UNDO 4 /* do not free undo information */ |
a3aca345aafa
Add the 'undoreload' option to be able to undo a file reload.
Bram Moolenaar <bram@vim.org>
parents:
2330
diff
changeset
|
2392 |
2409
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
2393 /* direction for nv_mousescroll() and ins_mousescroll() */ |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
2394 #define MSCR_DOWN 0 /* DOWN must be FALSE */ |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
2395 #define MSCR_UP 1 |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
2396 #define MSCR_LEFT -1 |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
2397 #define MSCR_RIGHT -2 |
0ca06a92adfb
Add support for horizontal scroll wheel. (Bjorn Winckler)
Bram Moolenaar <bram@vim.org>
parents:
2394
diff
changeset
|
2398 |
2672 | 2399 #define KEYLEN_PART_KEY -1 /* keylen value for incomplete key-code */ |
2400 #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */ | |
2401 #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */ | |
2402 | |
2793 | 2403 /* Return values from win32_fileinfo(). */ |
2404 #define FILEINFO_OK 0 | |
2405 #define FILEINFO_ENC_FAIL 1 /* enc_to_utf16() failed */ | |
2406 #define FILEINFO_READ_FAIL 2 /* CreateFile() failed */ | |
2407 #define FILEINFO_INFO_FAIL 3 /* GetFileInformationByHandle() failed */ | |
2408 | |
4350 | 2409 /* Return value from get_option_value_strict */ |
2410 #define SOPT_BOOL 0x01 /* Boolean option */ | |
2411 #define SOPT_NUM 0x02 /* Number option */ | |
2412 #define SOPT_STRING 0x04 /* String option */ | |
2413 #define SOPT_GLOBAL 0x08 /* Option has global value */ | |
2414 #define SOPT_WIN 0x10 /* Option has window-local value */ | |
2415 #define SOPT_BUF 0x20 /* Option has buffer-local value */ | |
2416 #define SOPT_UNSET 0x40 /* Option does not have local value set */ | |
2417 | |
5610 | 2418 /* Option types for various functions in option.c */ |
4350 | 2419 #define SREQ_GLOBAL 0 /* Request global option */ |
2420 #define SREQ_WIN 1 /* Request window-local option */ | |
2421 #define SREQ_BUF 2 /* Request buffer-local option */ | |
2422 | |
5796 | 2423 /* Flags for get_reg_contents */ |
2424 #define GREG_NO_EXPR 1 /* Do not allow expression register */ | |
2425 #define GREG_EXPR_SRC 2 /* Return expression itself for "=" register */ | |
2426 #define GREG_LIST 4 /* Return list */ | |
2427 | |
4641
59e6c2bd68e3
updated for version 7.3.1068
Bram Moolenaar <bram@vim.org>
parents:
4350
diff
changeset
|
2428 /* Character used as separated in autoload function/variable names. */ |
59e6c2bd68e3
updated for version 7.3.1068
Bram Moolenaar <bram@vim.org>
parents:
4350
diff
changeset
|
2429 #define AUTOLOAD_CHAR '#' |
59e6c2bd68e3
updated for version 7.3.1068
Bram Moolenaar <bram@vim.org>
parents:
4350
diff
changeset
|
2430 |
5458 | 2431 #ifdef FEAT_EVAL |
6413 | 2432 # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch && p_hls) |
5458 | 2433 #else |
2434 # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag) | |
2435 #endif | |
2436 | |
8493
caed4b2d305f
commit https://github.com/vim/vim/commit/509ce2a558e7e0c03242e32e844255af52f1c821
Christian Brabandt <cb@256bit.org>
parents:
8402
diff
changeset
|
2437 #ifdef FEAT_JOB_CHANNEL |
7743
6069f43cea4e
commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
7712
diff
changeset
|
2438 # define MAX_OPEN_CHANNELS 10 |
6069f43cea4e
commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
7712
diff
changeset
|
2439 #else |
6069f43cea4e
commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
7712
diff
changeset
|
2440 # define MAX_OPEN_CHANNELS 0 |
6069f43cea4e
commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
7712
diff
changeset
|
2441 #endif |
6069f43cea4e
commit https://github.com/vim/vim/commit/e0874f8cbcddfcf9965a85ba35199964efb1d01a
Christian Brabandt <cb@256bit.org>
parents:
7712
diff
changeset
|
2442 |
7967
45ea5ebf3a98
commit https://github.com/vim/vim/commit/595e64e259faefb330866852e1b9f6168544572a
Christian Brabandt <cb@256bit.org>
parents:
7929
diff
changeset
|
2443 /* Options for json_encode() and json_decode. */ |
45ea5ebf3a98
commit https://github.com/vim/vim/commit/595e64e259faefb330866852e1b9f6168544572a
Christian Brabandt <cb@256bit.org>
parents:
7929
diff
changeset
|
2444 #define JSON_JS 1 /* use JS instead of JSON */ |
45ea5ebf3a98
commit https://github.com/vim/vim/commit/595e64e259faefb330866852e1b9f6168544572a
Christian Brabandt <cb@256bit.org>
parents:
7929
diff
changeset
|
2445 #define JSON_NO_NONE 2 /* v:none item not allowed */ |
9969
176e34b0d678
commit https://github.com/vim/vim/commit/f1f0792e55e72cdc7c833b30f565a9b02f18bb1e
Christian Brabandt <cb@256bit.org>
parents:
9957
diff
changeset
|
2446 #define JSON_NL 4 /* append a NL */ |
7967
45ea5ebf3a98
commit https://github.com/vim/vim/commit/595e64e259faefb330866852e1b9f6168544572a
Christian Brabandt <cb@256bit.org>
parents:
7929
diff
changeset
|
2447 |
8522
721e8d6cb7b5
commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents:
8493
diff
changeset
|
2448 /* Used for flags of do_in_path() */ |
8524
2f57bbe870ea
commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents:
8522
diff
changeset
|
2449 #define DIP_ALL 0x01 /* all matches, not just the first one */ |
2f57bbe870ea
commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents:
8522
diff
changeset
|
2450 #define DIP_DIR 0x02 /* find directories instead of files. */ |
2f57bbe870ea
commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents:
8522
diff
changeset
|
2451 #define DIP_ERR 0x04 /* give an error message when none found. */ |
2f57bbe870ea
commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents:
8522
diff
changeset
|
2452 #define DIP_START 0x08 /* also use "start" directory in 'packpath' */ |
2f57bbe870ea
commit https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
Christian Brabandt <cb@256bit.org>
parents:
8522
diff
changeset
|
2453 #define DIP_OPT 0x10 /* also use "opt" directory in 'packpath' */ |
8526
981cc3bef9f3
commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
Christian Brabandt <cb@256bit.org>
parents:
8524
diff
changeset
|
2454 #define DIP_NORTP 0x20 /* do not use 'runtimepath' */ |
9778
4360b2b46125
commit https://github.com/vim/vim/commit/66459b7c98c67f8a9d39de8f08e8e8f1fca0e359
Christian Brabandt <cb@256bit.org>
parents:
9754
diff
changeset
|
2455 #define DIP_NOAFTER 0x40 /* skip "after" directories */ |
4360b2b46125
commit https://github.com/vim/vim/commit/66459b7c98c67f8a9d39de8f08e8e8f1fca0e359
Christian Brabandt <cb@256bit.org>
parents:
9754
diff
changeset
|
2456 #define DIP_AFTER 0x80 /* only use "after" directories */ |
8522
721e8d6cb7b5
commit https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
Christian Brabandt <cb@256bit.org>
parents:
8493
diff
changeset
|
2457 |
9223
6c4d610fce0a
commit https://github.com/vim/vim/commit/888ccac8902cee186fbd47e971881f6d9b19c068
Christian Brabandt <cb@256bit.org>
parents:
9221
diff
changeset
|
2458 /* Lowest number used for window ID. Cannot have this many windows. */ |
6c4d610fce0a
commit https://github.com/vim/vim/commit/888ccac8902cee186fbd47e971881f6d9b19c068
Christian Brabandt <cb@256bit.org>
parents:
9221
diff
changeset
|
2459 #define LOWEST_WIN_ID 1000 |
6c4d610fce0a
commit https://github.com/vim/vim/commit/888ccac8902cee186fbd47e971881f6d9b19c068
Christian Brabandt <cb@256bit.org>
parents:
9221
diff
changeset
|
2460 |
9556
afaff1d283d3
commit https://github.com/vim/vim/commit/cd52459c387785796713826c63174cdeed295dd4
Christian Brabandt <cb@256bit.org>
parents:
9536
diff
changeset
|
2461 /* Used by the garbage collector. */ |
afaff1d283d3
commit https://github.com/vim/vim/commit/cd52459c387785796713826c63174cdeed295dd4
Christian Brabandt <cb@256bit.org>
parents:
9536
diff
changeset
|
2462 #define COPYID_INC 2 |
afaff1d283d3
commit https://github.com/vim/vim/commit/cd52459c387785796713826c63174cdeed295dd4
Christian Brabandt <cb@256bit.org>
parents:
9536
diff
changeset
|
2463 #define COPYID_MASK (~0x1) |
afaff1d283d3
commit https://github.com/vim/vim/commit/cd52459c387785796713826c63174cdeed295dd4
Christian Brabandt <cb@256bit.org>
parents:
9536
diff
changeset
|
2464 |
9562
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2465 /* Values for trans_function_name() argument: */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2466 #define TFN_INT 1 /* internal function name OK */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2467 #define TFN_QUIET 2 /* no error messages */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2468 #define TFN_NO_AUTOLOAD 4 /* do not use script autoloading */ |
9717
6226de5f8137
commit https://github.com/vim/vim/commit/b54c3ff3174dbb5dfbfcabdf95200b047beaa644
Christian Brabandt <cb@256bit.org>
parents:
9692
diff
changeset
|
2469 #define TFN_NO_DEREF 8 /* do not dereference a Funcref */ |
10912
fd1760f8c215
patch 8.0.0345: islocked('d.changedtick') does not work
Christian Brabandt <cb@256bit.org>
parents:
10781
diff
changeset
|
2470 #define TFN_READ_ONLY 16 /* will not change the var */ |
9562
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2471 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2472 /* Values for get_lval() flags argument: */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2473 #define GLV_QUIET TFN_QUIET /* no error messages */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2474 #define GLV_NO_AUTOLOAD TFN_NO_AUTOLOAD /* do not use script autoloading */ |
10912
fd1760f8c215
patch 8.0.0345: islocked('d.changedtick') does not work
Christian Brabandt <cb@256bit.org>
parents:
10781
diff
changeset
|
2475 #define GLV_READ_ONLY TFN_READ_ONLY /* will not change the var */ |
9562
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2476 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2477 #define DO_NOT_FREE_CNT 99999 /* refcount for dict or list that should not |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2478 be freed. */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2479 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2480 /* errors for when calling a function */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2481 #define ERROR_UNKNOWN 0 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2482 #define ERROR_TOOMANY 1 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2483 #define ERROR_TOOFEW 2 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2484 #define ERROR_SCRIPT 3 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2485 #define ERROR_DICT 4 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2486 #define ERROR_NONE 5 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2487 #define ERROR_OTHER 6 |
9723
80ac9cf77c9b
commit https://github.com/vim/vim/commit/437bafe4c8a83ed71ee006eda7f54b65a90f0d4c
Christian Brabandt <cb@256bit.org>
parents:
9717
diff
changeset
|
2488 #define ERROR_DELETED 7 |
9562
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2489 |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2490 /* flags for find_name_end() */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2491 #define FNE_INCL_BR 1 /* include [] in name */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2492 #define FNE_CHECK_START 2 /* check name starts with valid character */ |
86af4a48c00a
commit https://github.com/vim/vim/commit/a9b579f3d7463720a316e11e77a7a9fbb9267986
Christian Brabandt <cb@256bit.org>
parents:
9556
diff
changeset
|
2493 |
10460
7fd589f46801
commit https://github.com/vim/vim/commit/a899e6ecc4523c7e411eaf6fbaa4197d70f6f39e
Christian Brabandt <cb@256bit.org>
parents:
10430
diff
changeset
|
2494 #if (defined(SUN_SYSTEM) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) \ |
10283
146abb526e82
commit https://github.com/vim/vim/commit/ca291aec99b60fe81eaab36aa718e51421bb88d5
Christian Brabandt <cb@256bit.org>
parents:
10275
diff
changeset
|
2495 && defined(S_ISCHR) |
9911
74e345d2878c
commit https://github.com/vim/vim/commit/f04507d132fbcb63999167ec006fc6e700b5af4f
Christian Brabandt <cb@256bit.org>
parents:
9877
diff
changeset
|
2496 # define OPEN_CHR_FILES |
74e345d2878c
commit https://github.com/vim/vim/commit/f04507d132fbcb63999167ec006fc6e700b5af4f
Christian Brabandt <cb@256bit.org>
parents:
9877
diff
changeset
|
2497 #endif |
74e345d2878c
commit https://github.com/vim/vim/commit/f04507d132fbcb63999167ec006fc6e700b5af4f
Christian Brabandt <cb@256bit.org>
parents:
9877
diff
changeset
|
2498 |
10406
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2499 #if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2500 # define ELAPSED_TIMEVAL |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2501 # define ELAPSED_INIT(v) gettimeofday(&v, NULL) |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2502 # define ELAPSED_FUNC(v) elapsed(&v) |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2503 # define ELAPSED_TYPE struct timeval |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2504 long elapsed(struct timeval *start_tv); |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2505 #else |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2506 # if defined(WIN32) |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2507 # define ELAPSED_TICKCOUNT |
10408
401dbd352fd6
commit https://github.com/vim/vim/commit/58c358753ef47e217e18c0bf8a2fca9d1ea23a8e
Christian Brabandt <cb@256bit.org>
parents:
10406
diff
changeset
|
2508 # define ELAPSED_INIT(v) v = GetTickCount() |
10406
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2509 # define ELAPSED_FUNC(v) elapsed(v) |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2510 # define ELAPSED_TYPE DWORD |
11211
71311d899b42
patch 8.0.0492: a failing client-server request can make Vim hang
Christian Brabandt <cb@256bit.org>
parents:
11158
diff
changeset
|
2511 # ifndef PROTO |
71311d899b42
patch 8.0.0492: a failing client-server request can make Vim hang
Christian Brabandt <cb@256bit.org>
parents:
11158
diff
changeset
|
2512 long elapsed(DWORD start_tick); |
71311d899b42
patch 8.0.0492: a failing client-server request can make Vim hang
Christian Brabandt <cb@256bit.org>
parents:
11158
diff
changeset
|
2513 # endif |
10406
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2514 # endif |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2515 #endif |
42911b233245
commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939
Christian Brabandt <cb@256bit.org>
parents:
10359
diff
changeset
|
2516 |
7 | 2517 #endif /* VIM__H */ |