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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 #ifndef VIM__H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 # define VIM__H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 #if defined(__BORLANDC__) && defined(WIN32) && !defined(DEBUG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 #if defined(FEAT_PERL) || \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 defined(FEAT_RUBY) || \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 defined(FEAT_TCL) || \
14
946da5994c01 updated for version 7.0006
vimboss
parents: 12
diff changeset
19 defined(FEAT_MZSCHEME) || \
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 defined(DYNAMIC_GETTEXT) || \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 defined(DYNAMIC_ICONV) || \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 defined(DYNAMIC_IME) || \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 defined(XPM)
127
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
24 #pragma option -pc
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 # else
127
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
26 #pragma option -pr
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
1a0d346695fa updated for version 7.3.085
Bram Moolenaar <bram@vim.org>
parents: 2664
diff changeset
31 # include "vimio.h"
1a0d346695fa updated for version 7.3.085
Bram Moolenaar <bram@vim.org>
parents: 2664
diff changeset
32 #endif
1a0d346695fa updated for version 7.3.085
Bram Moolenaar <bram@vim.org>
parents: 2664
diff changeset
33
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 /* ============ the header file puzzle (ca. 50-100 pieces) ========= */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 #ifdef HAVE_CONFIG_H /* GNU autoconf (or something else) was here */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 # include "auto/config.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 # define HAVE_PATHDEF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 /*
1190
4e90dc161511 updated for version 7.1b
vimboss
parents: 1076
diff changeset
41 * Check if configure correctly managed to find sizeof(int). If this failed,
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 * it becomes zero. This is likely a problem of not being able to run the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 * test program. Other items from configure may also be wrong then!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 */
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
45 # if (VIM_SIZEOF_INT == 0)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 Error: configure did not run properly. Check auto/config.log.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 /*
1190
4e90dc161511 updated for version 7.1b
vimboss
parents: 1076
diff changeset
50 * Cygwin may have fchdir() in a newer release, but in most versions it
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 * doesn't work well and avoiding it keeps the binary backward compatible.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 # if defined(__CYGWIN32__) && defined(HAVE_FCHDIR)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 # undef HAVE_FCHDIR
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
1076
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
72 /* user ID of root is usually zero, but not for everybody */
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
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
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
77 # include <floss.h>
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
78 # define ROOT_UID 65535
5739
fe02fdfbdec0 updated for version 7.4.214
Bram Moolenaar <bram@vim.org>
parents: 5684
diff changeset
79 # define OLDXAW
fe02fdfbdec0 updated for version 7.4.214
Bram Moolenaar <bram@vim.org>
parents: 5684
diff changeset
80 # if (_TANDEM_ARCH_ == 2 && __H_Series_RVU >= 621)
fe02fdfbdec0 updated for version 7.4.214
Bram Moolenaar <bram@vim.org>
parents: 5684
diff changeset
81 # define SA_ONSTACK_COMPATIBILITY
fe02fdfbdec0 updated for version 7.4.214
Bram Moolenaar <bram@vim.org>
parents: 5684
diff changeset
82 # endif
1076
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
83 #else
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
84 # define ROOT_UID 0
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
85 #endif
17b9587ff6d5 updated for version 7.0-202
vimboss
parents: 1061
diff changeset
86
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 * MACOS_CLASSIC compiling for MacOS prior to MacOS X
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 * MACOS_X_UNIX compiling for MacOS X (using os_unix.c)
573
c85bf6a4999b updated for version 7.0163
vimboss
parents: 557
diff changeset
90 * MACOS_X compiling for MacOS X (using os_unix.c)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 * MACOS compiling for either one
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 #if defined(macintosh) && !defined(MACOS_CLASSIC)
1236
2fdf3369a76d updated for version 7.1
vimboss
parents: 1190
diff changeset
94 # define MACOS_CLASSIC
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 #if defined(MACOS_X_UNIX)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 # define MACOS_X
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 # ifndef HAVE_CONFIG_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 # define UNIX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 #if defined(MACOS_X) || defined(MACOS_CLASSIC)
4031
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
103 # define MACOS
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 #if defined(MACOS_X) && defined(MACOS_CLASSIC)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 Error: To compile for both MACOS X and Classic use a Classic Carbon
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 /* Unless made through the Makefile enforce GUI on Mac */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 #if defined(MACOS) && !defined(HAVE_CONFIG_H)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 # define FEAT_GUI_MAC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 #if defined(FEAT_GUI_MOTIF) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 || defined(FEAT_GUI_GTK) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 || defined(FEAT_GUI_ATHENA) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 || defined(FEAT_GUI_MAC) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 || defined(FEAT_GUI_W32) \
573
c85bf6a4999b updated for version 7.0163
vimboss
parents: 557
diff changeset
118 || defined(FEAT_GUI_PHOTON)
2891
acda456c788a updated for version 7.3.219
Bram Moolenaar <bram@vim.org>
parents: 2849
diff changeset
119 # define FEAT_GUI_ENABLED /* also defined with NO_X11_INCLUDES */
18
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
120 # if !defined(FEAT_GUI) && !defined(NO_X11_INCLUDES)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 # define FEAT_GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124
6110
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
125 /* Check support for rendering options */
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
126 #ifdef FEAT_GUI
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
127 # if defined(FEAT_DIRECTX)
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
128 # define FEAT_RENDER_OPTIONS
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
129 # endif
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
130 #endif
1bff71d20262 updated for version 7.4.393
Bram Moolenaar <bram@vim.org>
parents: 5796
diff changeset
131
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
132 /* Visual Studio 2005 has 'deprecated' many of the standard CRT functions */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
133 #if _MSC_VER >= 1400
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
134 # define _CRT_SECURE_NO_DEPRECATE
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
135 # define _CRT_NONSTDC_NO_DEPRECATE
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
136 #endif
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 # define FEAT_GUI_MSWIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 # define MSWIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 /* Practically everything is common to both Win32 and Win64 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 #if defined(WIN32) || defined(_WIN64)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 # define WIN3264
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 /*
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
150 * VIM_SIZEOF_INT is used in feature.h, and the system-specific included files
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
151 * need items from feature.h. Therefore define VIM_SIZEOF_INT here.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 #ifdef WIN3264
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
154 # define VIM_SIZEOF_INT 4
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 #ifdef AMIGA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 /* Be conservative about sizeof(int). It could be 4 too. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 # ifdef __GNUC__
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
161 # define VIM_SIZEOF_INT 4
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 # else
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
163 # define VIM_SIZEOF_INT 2
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 #ifdef MACOS
675
51794dc170f7 updated for version 7.0202
vimboss
parents: 674
diff changeset
168 # if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
170 # define VIM_SIZEOF_INT 4
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 # else
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
172 # define VIM_SIZEOF_INT 2
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 /* +x11 is only enabled when it's both available and wanted. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 #if defined(HAVE_X11) && defined(WANT_X11)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 # define FEAT_X11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196
18
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
197 #ifdef NO_X11_INCLUDES
2598
10ce04af8c5b updated for version 7.3.021
Bram Moolenaar <bram@vim.org>
parents: 2433
diff changeset
198 /* In os_mac_conv.c and os_macosx.m NO_X11_INCLUDES is defined to avoid
10ce04af8c5b updated for version 7.3.021
Bram Moolenaar <bram@vim.org>
parents: 2433
diff changeset
199 * X11 headers. Disable all X11 related things to avoid conflicts. */
18
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
200 # ifdef FEAT_X11
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
201 # undef FEAT_X11
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
202 # endif
1702
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1686
diff changeset
203 # ifdef FEAT_GUI_X11
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1686
diff changeset
204 # undef FEAT_GUI_X11
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1686
diff changeset
205 # endif
18
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
206 # ifdef FEAT_XCLIPBOARD
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
207 # undef FEAT_XCLIPBOARD
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
208 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
209 # ifdef FEAT_GUI_MOTIF
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
210 # undef FEAT_GUI_MOTIF
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
211 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
212 # ifdef FEAT_GUI_ATHENA
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
213 # undef FEAT_GUI_ATHENA
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
214 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
215 # ifdef FEAT_GUI_GTK
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
216 # undef FEAT_GUI_GTK
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
217 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
218 # ifdef FEAT_BEVAL_TIP
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
219 # undef FEAT_BEVAL_TIP
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
220 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
221 # ifdef FEAT_XIM
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
222 # undef FEAT_XIM
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
223 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
224 # ifdef FEAT_CLIENTSERVER
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
225 # undef FEAT_CLIENTSERVER
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
226 # endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
227 #endif
293621502c4d updated for version 7.0010
vimboss
parents: 14
diff changeset
228
763
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
229 /* The Mac conversion stuff doesn't work under X11. */
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
230 #if defined(FEAT_MBYTE) && defined(MACOS_X)
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
231 # define MACOS_CONVERT
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
232 #endif
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
233
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 /* Can't use "PACKAGE" here, conflicts with a Perl include file. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 #ifndef VIMPACKAGE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 # define VIMPACKAGE "vim"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 * Find out if function definitions should include argument types
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 #ifdef AZTEC_C
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 # include <functions.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 #ifdef SASC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 # include <clib/exec_protos.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 #ifdef _DCC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 # include <clib/exec_protos.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 #ifdef __BEOS__
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 # include "os_beos.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 && (!defined(MACOS_X) || defined(HAVE_CONFIG_H))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 # include "os_unix.h" /* bring lots of system header files */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262
1876
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
263 /* Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
264 * can be used to check for mistakes. */
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
265 #ifdef HAVE_ATTRIBUTE_UNUSED
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
266 # define UNUSED __attribute__((unused))
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
267 #else
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
268 # define UNUSED
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
269 #endif
932ff0c0f57b updated for version 7.2-173
vimboss
parents: 1872
diff changeset
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
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
276 /* if we're compiling in C++ (currently only KVim), the system
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
277 * headers must have the correct prototypes or nothing will build.
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
278 * conversely, our prototypes might clash due to throw() specifiers and
856
8cd729851562 updated for version 7.0g
vimboss
parents: 844
diff changeset
279 * cause compilation failures even though the headers are correct. For
11
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
280 * a concrete example, gcc-3.2 enforces exception specifications, and
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
281 * glibc-2.2.5 has them in their system headers.
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
282 */
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
283 #if !defined(__cplusplus) && defined(UNIX) \
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
284 && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 # include "auto/osdef.h" /* bring missing declarations in */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 #ifdef AMIGA
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 # include "os_amiga.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 #ifdef WIN3264
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 # include "os_win32.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 #ifdef __MINT__
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 # include "os_mint.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 #if defined(MACOS)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 # if defined(__MRC__) || defined(__SC__) /* MPW Compilers */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 # define HAVE_SETENV
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 # include "os_mac.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 #ifdef __QNX__
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 # include "os_qnx.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 #ifdef FEAT_SUN_WORKSHOP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 # include "workshop.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 #ifdef X_LOCALE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316 # include <X11/Xlocale.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 # ifdef HAVE_LOCALE_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 # include <locale.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 * Maximum length of a path (for non-unix systems) Make it a bit long, to stay
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325 * on the safe side. But not too long to put on the stack.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327 #ifndef MAXPATHL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 # ifdef MAXPATHLEN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 # define MAXPATHL MAXPATHLEN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331 # define MAXPATHL 256
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 #ifdef BACKSLASH_IN_FILENAME
1586
fe7db192c7cc updated for version 7.1-299
vimboss
parents: 1570
diff changeset
335 # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 #else
1746
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
337 # ifdef VMS
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
338 /* VMS allows a lot of characters in the file name */
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
339 # define PATH_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'\"|!")
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
340 # define SHELL_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'|!()&")
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
341 # else
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
342 # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<")
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
343 # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&")
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
344 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 * Shorthand for unsigned variables. Many systems, but not all, have u_char
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359 * already defined, so we use char_u to avoid trouble.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 typedef unsigned char char_u;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 typedef unsigned short short_u;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363 typedef unsigned int int_u;
840
2c885fab04e3 updated for version 7.0e06
vimboss
parents: 836
diff changeset
364 /* Make sure long_u is big enough to hold a pointer.
1686
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
365 * On Win64, longs are 32 bits and pointers are 64 bits.
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
366 * For printf() and scanf(), we need to take care of long_u specifically. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 #ifdef _WIN64
2330
ea4bf6df1a8a Whitespace cleanup.
Bram Moolenaar <bram@vim.org>
parents: 2329
diff changeset
368 typedef unsigned __int64 long_u;
ea4bf6df1a8a Whitespace cleanup.
Bram Moolenaar <bram@vim.org>
parents: 2329
diff changeset
369 typedef __int64 long_i;
1570
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
370 # define SCANF_HEX_LONG_U "%Ix"
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
371 # define SCANF_DECIMAL_LONG_U "%Iu"
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
372 # define PRINTF_HEX_LONG_U "0x%Ix"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 #else
1686
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
374 /* Microsoft-specific. The __w64 keyword should be specified on any typedefs
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
375 * that change size between 32-bit and 64-bit platforms. For any such type,
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
376 * __w64 should appear only on the 32-bit definition of the typedef.
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
377 * Define __w64 as an empty token for everything but MSVC 7.x or later.
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
378 */
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
379 # if !defined(_MSC_VER) || (_MSC_VER < 1300)
1746
b7c22e343162 updated for version 7.2-043
vimboss
parents: 1733
diff changeset
380 # define __w64
1686
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
381 # endif
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
382 typedef unsigned long __w64 long_u;
c7c53db66b55 updated for version 7.2b-019
vimboss
parents: 1668
diff changeset
383 typedef long __w64 long_i;
1570
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
384 # define SCANF_HEX_LONG_U "%lx"
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
385 # define SCANF_DECIMAL_LONG_U "%lu"
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
386 # define PRINTF_HEX_LONG_U "0x%lx"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387 #endif
1570
f0cfff4dcc2f updated for version 7.1-283
vimboss
parents: 1567
diff changeset
388 #define PRINTF_DECIMAL_LONG_U SCANF_DECIMAL_LONG_U
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
390 /*
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
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
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435 * The characters and attributes cached for the screen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
436 */
674
4b8583e82cb8 updated for version 7.0201
vimboss
parents: 667
diff changeset
437 typedef char_u schar_T;
203
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
438 #ifdef FEAT_SYN_HL
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
439 typedef unsigned short sattr_T;
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
440 # define MAX_TYPENR 65535
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
441 #else
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
442 typedef unsigned char sattr_T;
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
443 # define MAX_TYPENR 255
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
444 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
446 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
447 * The u8char_T can hold one decoded UTF-8 character.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
448 * We normally use 32 bits now, since some Asian characters don't fit in 16
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
449 * bits. u8char_T is only used for displaying, it could be 16 bits to save
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
450 * memory.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 #ifdef FEAT_MBYTE
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
453 # ifdef UNICODE16
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
454 typedef unsigned short u8char_T; /* short should be 16 bits */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
455 # else
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
456 # if VIM_SIZEOF_INT >= 4
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
457 typedef unsigned int u8char_T; /* int is 32 bits */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
458 # else
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
459 typedef unsigned long u8char_T; /* long should be 32 bits or more */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
460 # endif
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
461 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
462 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
463
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 #ifndef UNIX /* For Unix this is included in os_unix.h */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 # include <stdio.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
466 # include <ctype.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
467 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
468
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469 #include "ascii.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 #include "keymap.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
471 #include "term.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
472 #include "macros.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
473
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
474 #ifdef LATTICE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
475 # include <sys/types.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
476 # include <sys/stat.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
477 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478 #ifdef _DCC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
479 # include <sys/stat.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
482 # include <sys/stat.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
bfade53bcafb updated for version 7.3.087
Bram Moolenaar <bram@vim.org>
parents: 2666
diff changeset
487 # include <errno.h>
bfade53bcafb updated for version 7.3.087
Bram Moolenaar <bram@vim.org>
parents: 2666
diff changeset
488 #endif
bfade53bcafb updated for version 7.3.087
Bram Moolenaar <bram@vim.org>
parents: 2666
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
493 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
494 * Allow other (non-unix) systems to configure themselves now
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
495 * These are also in os_unix.h, because osdef.sh needs them there.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
496 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
497 #ifndef UNIX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
498 /* Note: Some systems need both string.h and strings.h (Savage). If the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
499 * system can't handle this, define NO_STRINGS_WITH_STRING_H. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
500 # ifdef HAVE_STRING_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
501 # include <string.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
502 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
503 # if defined(HAVE_STRINGS_H) && !defined(NO_STRINGS_WITH_STRING_H)
4031
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
504 # include <strings.h>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
505 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
506 # ifdef HAVE_STAT_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
507 # include <stat.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
508 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
509 # ifdef HAVE_STDLIB_H
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
510 # include <stdlib.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
511 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
512 #endif /* NON-UNIX */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
513
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
514 #include <assert.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
c8742c8da9ab updated for version 7.0070
vimboss
parents: 220
diff changeset
522 #ifdef HAVE_WCTYPE_H
c8742c8da9ab updated for version 7.0070
vimboss
parents: 220
diff changeset
523 # include <wctype.h>
c8742c8da9ab updated for version 7.0070
vimboss
parents: 220
diff changeset
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
c8742c8da9ab updated for version 7.0070
vimboss
parents: 220
diff changeset
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
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
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
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
532 # include <sys/select.h>
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
533 #endif
2109
6c3c2e464a96 updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents: 2097
diff changeset
534
4031
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
535 #ifndef HAVE_SELECT
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
536 # ifdef HAVE_SYS_POLL_H
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
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
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
540 # else
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
541 # ifdef HAVE_POLL_H
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
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
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
545 #endif
2109
6c3c2e464a96 updated for version 7.2.392
Bram Moolenaar <bram@zimbu.org>
parents: 2097
diff changeset
546
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
547 /* ================ end of the header file puzzle =============== */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
548
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
549 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
550 * For dynamically loaded imm library. Currently, only for Win32.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
551 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
552 #ifdef DYNAMIC_IME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
553 # ifndef FEAT_MBYTE_IME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
554 # define FEAT_MBYTE_IME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
555 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
556 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
558 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 * Check input method control.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560 */
1562
437fb19625c9 updated for version 7.1-275
vimboss
parents: 1541
diff changeset
561 #if defined(FEAT_XIM) \
437fb19625c9 updated for version 7.1-275
vimboss
parents: 1541
diff changeset
562 || (defined(FEAT_GUI) && (defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME))) \
1567
38de872507e1 updated for version 7.1-280
vimboss
parents: 1563
diff changeset
563 || (defined(FEAT_GUI_MAC) && defined(FEAT_MBYTE))
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
564 # define USE_IM_CONTROL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
565 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
566
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
567 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
568 * For dynamically loaded gettext library. Currently, only for Win32.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
569 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
570 #ifdef DYNAMIC_GETTEXT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
571 # ifndef FEAT_GETTEXT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572 # define FEAT_GETTEXT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
574 /* These are in os_win32.c */
36
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
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
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
577 extern char *(*dyn_libintl_bindtextdomain)(const char *domainname, const char *dirname);
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
578 extern char *(*dyn_libintl_bind_textdomain_codeset)(const char *domainname, const char *codeset);
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
581 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
582
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
583
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
584 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
585 * The _() stuff is for using gettext(). It is a no-op when libintl.h is not
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
586 * found or the +multilang feature is disabled.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
587 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
588 #ifdef FEAT_GETTEXT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
589 # ifdef DYNAMIC_GETTEXT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
592 # define N_(x) x
36
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
593 # define bindtextdomain(domain, dir) (*dyn_libintl_bindtextdomain)((domain), (dir))
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
594 # define bind_textdomain_codeset(domain, codeset) (*dyn_libintl_bind_textdomain_codeset)((domain), (codeset))
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
595 # if !defined(HAVE_BIND_TEXTDOMAIN_CODESET)
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
596 # define HAVE_BIND_TEXTDOMAIN_CODESET 1
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
597 # endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
601 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
602 # include <libintl.h>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
605 # ifdef gettext_noop
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
606 # define N_(x) gettext_noop(x)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
607 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
608 # define N_(x) x
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
609 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
610 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
611 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
614 # define N_(x) x
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
615 # ifdef bindtextdomain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
616 # undef bindtextdomain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
617 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
618 # define bindtextdomain(x, y) /* empty */
36
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
619 # ifdef bind_textdomain_codeset
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
620 # undef bind_textdomain_codeset
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
621 # endif
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
622 # define bind_textdomain_codeset(x, y) /* empty */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
623 # ifdef textdomain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
624 # undef textdomain
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
625 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
626 # define textdomain(x) /* empty */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
627 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
628
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
629 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
630 * flags for update_screen()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
631 * The higher the value, the higher the priority
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
635 #define VALID 10 /* buffer not changed, or changes marked
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
636 with b_mod_* */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
637 #define INVERTED 20 /* redisplay inverted part that changed */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
638 #define INVERTED_ALL 25 /* redisplay whole inverted part */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
639 #define REDRAW_TOP 30 /* display first w_upd_rows screen lines */
737
59971e227f8c updated for version 7.0222
vimboss
parents: 721
diff changeset
640 #define SOME_VALID 35 /* like NOT_VALID but may scroll */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
641 #define NOT_VALID 40 /* buffer needs complete redraw */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
642 #define CLEAR 50 /* screen messed up, clear it */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
643
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
644 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
645 * Flags for w_valid.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
646 * These are set when something in a window structure becomes invalid, except
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
647 * when the cursor is moved. Call check_cursor_moved() before testing one of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
648 * the flags.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
649 * These are reset when that thing has been updated and is valid again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
650 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
651 * Every function that invalidates one of these must call one of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
652 * invalidate_* functions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
653 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
654 * w_valid is supposed to be used only in screen.c. From other files, use the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
655 * functions that set or reset the flags.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
656 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
657 * VALID_BOTLINE VALID_BOTLINE_AP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
658 * on on w_botline valid
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
659 * off on w_botline approximated
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
660 * off off w_botline not valid
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
661 * on off not possible
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
662 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
663 #define VALID_WROW 0x01 /* w_wrow (window row) is valid */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
664 #define VALID_WCOL 0x02 /* w_wcol (window col) is valid */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
665 #define VALID_VIRTCOL 0x04 /* w_virtcol (file col) is valid */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
666 #define VALID_CHEIGHT 0x08 /* w_cline_height and w_cline_folded valid */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
667 #define VALID_CROW 0x10 /* w_cline_row is valid */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
668 #define VALID_BOTLINE 0x20 /* w_botine and w_empty_rows are valid */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
669 #define VALID_BOTLINE_AP 0x40 /* w_botine is approximated */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
670 #define VALID_TOPLINE 0x80 /* w_topline is valid (for cursor position) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
671
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
672 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
675 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
676 #define HL_NORMAL 0x00
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
677 #define HL_INVERSE 0x01
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
678 #define HL_BOLD 0x02
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
679 #define HL_ITALIC 0x04
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
680 #define HL_UNDERLINE 0x08
203
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
681 #define HL_UNDERCURL 0x10
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
682 #define HL_STANDOUT 0x20
80000fb16feb updated for version 7.0060
vimboss
parents: 184
diff changeset
683 #define HL_ALL 0x3f
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
684
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
685 /* special attribute addition: Put message in history */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
686 #define MSG_HIST 0x1000
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
687
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
688 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
689 * values for State
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
690 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
691 * The lower bits up to 0x20 are used to distinguish normal/visual/op_pending
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
692 * and cmdline/insert+replace mode. This is used for mapping. If none of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
693 * these bits are set, no mapping is done.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
694 * The upper bits are used to distinguish between other states.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
695 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
696 #define NORMAL 0x01 /* Normal mode, command expected */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
697 #define VISUAL 0x02 /* Visual mode - use get_real_state() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
698 #define OP_PENDING 0x04 /* Normal mode, operator is pending - use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
699 get_real_state() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
700 #define CMDLINE 0x08 /* Editing command line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
701 #define INSERT 0x10 /* Insert mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
702 #define LANGMAP 0x20 /* Language mapping, can be combined with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
703 INSERT and CMDLINE */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
704
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
705 #define REPLACE_FLAG 0x40 /* Replace mode flag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
706 #define REPLACE (REPLACE_FLAG + INSERT)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
707 #ifdef FEAT_VREPLACE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
708 # define VREPLACE_FLAG 0x80 /* Virtual-replace mode flag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
709 # define VREPLACE (REPLACE_FLAG + VREPLACE_FLAG + INSERT)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
710 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
711 #define LREPLACE (REPLACE_FLAG + LANGMAP)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
712
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
713 #define NORMAL_BUSY (0x100 + NORMAL) /* Normal mode, busy with a command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
714 #define HITRETURN (0x200 + NORMAL) /* waiting for return or command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
715 #define ASKMORE 0x300 /* Asking if you want --more-- */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
716 #define SETWSIZE 0x400 /* window size has changed */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
717 #define ABBREV 0x500 /* abbreviation instead of mapping */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
718 #define EXTERNCMD 0x600 /* executing an external command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
719 #define SHOWMATCH (0x700 + INSERT) /* show matching paren */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
720 #define CONFIRM 0x800 /* ":confirm" prompt */
788
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
721 #define SELECTMODE 0x1000 /* Select mode, only for mappings */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
722
905
f099adbff887 updated for version 7.0-031
vimboss
parents: 902
diff changeset
723 #define MAP_ALL_MODES (0x3f | SELECTMODE) /* all mode bits used for
f099adbff887 updated for version 7.0-031
vimboss
parents: 902
diff changeset
724 * mapping */
f099adbff887 updated for version 7.0-031
vimboss
parents: 902
diff changeset
725
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
726 /* directions */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
727 #define FORWARD 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
728 #define BACKWARD (-1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
729 #define FORWARD_FILE 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
730 #define BACKWARD_FILE (-3)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
731
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
732 /* return values for functions */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
733 #if !(defined(OK) && (OK == 1))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
734 /* OK already defined to 1 in MacOS X curses, skip this */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
735 # define OK 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
736 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
737 #define FAIL 0
98
98435a8ddb09 updated for version 7.0038
vimboss
parents: 59
diff changeset
738 #define NOTDONE 2 /* not OK or FAIL but skipped */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
739
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
740 /* flags for b_flags */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
741 #define BF_RECOVERED 0x01 /* buffer has been recovered */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
742 #define BF_CHECK_RO 0x02 /* need to check readonly when loading file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
743 into buffer (set by ":e", may be reset by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
744 ":buf" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
745 #define BF_NEVERLOADED 0x04 /* file has never been loaded into buffer,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
746 many variables still need to be set */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
747 #define BF_NOTEDITED 0x08 /* Set when file name is changed after
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
748 starting to edit, reset when file is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
749 written out. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
750 #define BF_NEW 0x10 /* file didn't exist when editing started */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
751 #define BF_NEW_W 0x20 /* Warned for BF_NEW and file created */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
752 #define BF_READERR 0x40 /* got errors while reading the file */
42
c75153d791d0 updated for version 7.0026
vimboss
parents: 39
diff changeset
753 #define BF_DUMMY 0x80 /* dummy buffer, only used internally */
164
8b0ee9d57d7f updated for version 7.0050
vimboss
parents: 161
diff changeset
754 #define BF_PRESERVED 0x100 /* ":preserve" was used */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
755
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
756 /* Mask to check for flags that prevent normal writing */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
757 #define BF_WRITE_MASK (BF_NOTEDITED + BF_NEW + BF_READERR)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
758
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
759 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
760 * values for xp_context when doing command line completion
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
761 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
762 #define EXPAND_UNSUCCESSFUL (-2)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
763 #define EXPAND_OK (-1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
764 #define EXPAND_NOTHING 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
765 #define EXPAND_COMMANDS 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
766 #define EXPAND_FILES 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
767 #define EXPAND_DIRECTORIES 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
768 #define EXPAND_SETTINGS 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
769 #define EXPAND_BOOL_SETTINGS 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
770 #define EXPAND_TAGS 6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
771 #define EXPAND_OLD_SETTING 7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
772 #define EXPAND_HELP 8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
773 #define EXPAND_BUFFERS 9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
774 #define EXPAND_EVENTS 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
775 #define EXPAND_MENUS 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
776 #define EXPAND_SYNTAX 12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
777 #define EXPAND_HIGHLIGHT 13
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
778 #define EXPAND_AUGROUP 14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
779 #define EXPAND_USER_VARS 15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
780 #define EXPAND_MAPPINGS 16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
781 #define EXPAND_TAGS_LISTFILES 17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
782 #define EXPAND_FUNCTIONS 18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
783 #define EXPAND_USER_FUNC 19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
784 #define EXPAND_EXPRESSION 20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
785 #define EXPAND_MENUNAMES 21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
786 #define EXPAND_USER_COMMANDS 22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
787 #define EXPAND_USER_CMD_FLAGS 23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
788 #define EXPAND_USER_NARGS 24
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
789 #define EXPAND_USER_COMPLETE 25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
790 #define EXPAND_ENV_VARS 26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
791 #define EXPAND_LANGUAGE 27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
792 #define EXPAND_COLORS 28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
793 #define EXPAND_COMPILER 29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
794 #define EXPAND_USER_DEFINED 30
406
aa550d9d2403 updated for version 7.0106
vimboss
parents: 385
diff changeset
795 #define EXPAND_USER_LIST 31
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
796 #define EXPAND_SHELLCMD 32
1845
dc81a4fc6318 updated for version 7.2-143
vimboss
parents: 1822
diff changeset
797 #define EXPAND_CSCOPE 33
1868
954947a70580 updated for version 7.2-166
vimboss
parents: 1845
diff changeset
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
b0190e93e601 updated for version 7.3.198
Bram Moolenaar <bram@vim.org>
parents: 2845
diff changeset
804 #define EXPAND_LOCALES 40
3503
7e4428115d2c updated for version 7.3.514
Bram Moolenaar <bram@vim.org>
parents: 3427
diff changeset
805 #define EXPAND_HISTORY 41
3744
99f076ca8d84 updated for version 7.3.631
Bram Moolenaar <bram@vim.org>
parents: 3676
diff changeset
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
de877dab1c31 updated for version 7.4.542
Bram Moolenaar <bram@vim.org>
parents: 6413
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
811
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
812 /* Values for exmode_active (0 is no exmode) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
813 #define EXMODE_NORMAL 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
814 #define EXMODE_VIM 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
815
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
816 /* Values for nextwild() and ExpandOne(). See ExpandOne() for meaning. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
817 #define WILD_FREE 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
818 #define WILD_EXPAND_FREE 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
819 #define WILD_EXPAND_KEEP 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
820 #define WILD_NEXT 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
821 #define WILD_PREV 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
822 #define WILD_ALL 6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
823 #define WILD_LONGEST 7
3398
d1096a4e96bd updated for version 7.3.465
Bram Moolenaar <bram@vim.org>
parents: 2984
diff changeset
824 #define WILD_ALL_KEEP 8
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
825
6659
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
826 #define WILD_LIST_NOTFOUND 0x01
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
827 #define WILD_HOME_REPLACE 0x02
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
828 #define WILD_USE_NL 0x04
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
829 #define WILD_NO_BEEP 0x08
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
830 #define WILD_ADD_SLASH 0x10
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
831 #define WILD_KEEP_ALL 0x20
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
832 #define WILD_SILENT 0x40
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
833 #define WILD_ESCAPE 0x80
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
834 #define WILD_ICASE 0x100
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
835 #define WILD_ALLLINKS 0x200
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
836
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
837 /* Flags for expand_wildcards() */
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
838 #define EW_DIR 0x01 /* include directory names */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
839 #define EW_FILE 0x02 /* include file names */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
840 #define EW_NOTFOUND 0x04 /* include not found names */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
841 #define EW_ADDSLASH 0x08 /* append slash to directory name */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
842 #define EW_KEEPALL 0x10 /* keep all matches */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
843 #define EW_SILENT 0x20 /* don't print "1 returned" from shell */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
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
b2a7d143abe2 updated for version 7.3.072
Bram Moolenaar <bram@vim.org>
parents: 2609
diff changeset
846 #define EW_ICASE 0x100 /* ignore case */
2966
aa998de9f959 updated for version 7.3.255
Bram Moolenaar <bram@vim.org>
parents: 2891
diff changeset
847 #define EW_NOERROR 0x200 /* no error for bad regexp */
2984
aa40bddeea9a updated for version 7.3.264
Bram Moolenaar <bram@vim.org>
parents: 2966
diff changeset
848 #define EW_NOTWILD 0x400 /* add match with literal name if exists */
6174
96a4fa8e530c updated for version 7.4.423
Bram Moolenaar <bram@vim.org>
parents: 6156
diff changeset
849 #define EW_KEEPDOLLAR 0x800 /* do not escape $, $var is expanded */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
850 /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
851 * is used when executing commands and EW_SILENT for interactive expanding. */
6659
6f1e4b7942c3 updated for version 7.4.654
Bram Moolenaar <bram@vim.org>
parents: 6633
diff changeset
852 #define EW_ALLLINKS 0x1000 /* also links not pointing to existing file */
6695
6529590f6c43 updated for version 7.4.672
Bram Moolenaar <bram@vim.org>
parents: 6659
diff changeset
853 #define EW_SHELLCMD 0x2000 /* called from expand_shellcmd(), don't check
6529590f6c43 updated for version 7.4.672
Bram Moolenaar <bram@vim.org>
parents: 6659
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
857
1541
0d0bf7598dcb updated for version 7.1-256
vimboss
parents: 1521
diff changeset
858 /* Flags for find_file_*() functions. */
0d0bf7598dcb updated for version 7.1-256
vimboss
parents: 1521
diff changeset
859 #define FINDFILE_FILE 0 /* only files */
0d0bf7598dcb updated for version 7.1-256
vimboss
parents: 1521
diff changeset
860 #define FINDFILE_DIR 1 /* only directories */
0d0bf7598dcb updated for version 7.1-256
vimboss
parents: 1521
diff changeset
861 #define FINDFILE_BOTH 2 /* files and directories */
0d0bf7598dcb updated for version 7.1-256
vimboss
parents: 1521
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
864 # define W_WINCOL(wp) (wp->w_wincol)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
865 # define W_WIDTH(wp) (wp->w_width)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
866 # define W_ENDCOL(wp) (wp->w_wincol + wp->w_width)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
867 # define W_VSEP_WIDTH(wp) (wp->w_vsep_width)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
868 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
869 # define W_WINCOL(wp) 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
870 # define W_WIDTH(wp) Columns
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
871 # define W_ENDCOL(wp) Columns
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
872 # define W_VSEP_WIDTH(wp) 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
873 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
874 #ifdef FEAT_WINDOWS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
875 # define W_STATUS_HEIGHT(wp) (wp->w_status_height)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
876 # define W_WINROW(wp) (wp->w_winrow)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
877 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
878 # define W_STATUS_HEIGHT(wp) 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
879 # define W_WINROW(wp) 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
880 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
881
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
882 #ifdef NO_EXPANDPATH
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
883 # define gen_expand_wildcards mch_expand_wildcards
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
884 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
885
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
886 /* Values for the find_pattern_in_path() function args 'type' and 'action': */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
887 #define FIND_ANY 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
888 #define FIND_DEFINE 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
889 #define CHECK_PATH 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
890
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
891 #define ACTION_SHOW 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
892 #define ACTION_GOTO 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
893 #define ACTION_SPLIT 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
894 #define ACTION_SHOW_ALL 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
895 #ifdef FEAT_INS_EXPAND
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
896 # define ACTION_EXPAND 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
897 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
898
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
899 #ifdef FEAT_SYN_HL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902 # define SST_FIX_STATES 7 /* size of sst_stack[]. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
925 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
926
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
927 /* Values for 'options' argument in do_search() and searchit() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
928 #define SEARCH_REV 0x01 /* go in reverse of previous dir. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
929 #define SEARCH_ECHO 0x02 /* echo the search command and handle options */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
930 #define SEARCH_MSG 0x0c /* give messages (yes, it's not 0x04) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
931 #define SEARCH_NFMSG 0x08 /* give all messages except not found */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
932 #define SEARCH_OPT 0x10 /* interpret optional flags */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
933 #define SEARCH_HIS 0x20 /* put search pattern in history */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
934 #define SEARCH_END 0x40 /* put cursor at end of match */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
935 #define SEARCH_NOOF 0x80 /* don't add offset to position */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
936 #define SEARCH_START 0x100 /* start search without col offset */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
937 #define SEARCH_MARK 0x200 /* set previous context mark */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
938 #define SEARCH_KEEP 0x400 /* keep previous search pattern */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
941
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
942 /* Values for find_ident_under_cursor() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
943 #define FIND_IDENT 1 /* find identifier (word) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
944 #define FIND_STRING 2 /* find any string (WORD) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
945 #define FIND_EVAL 4 /* include "->", "[]" and "." */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
946
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
947 /* Values for file_name_in_line() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
948 #define FNAME_MESS 1 /* give error message */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
949 #define FNAME_EXP 2 /* expand to path */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
950 #define FNAME_HYP 4 /* check for hypertext link */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
951 #define FNAME_INCL 8 /* apply 'includeexpr' */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
952 #define FNAME_REL 16 /* ".." and "./" are relative to the (current)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
953 file instead of the current directory */
6633
75444015837a updated for version 7.4.642
Bram Moolenaar <bram@vim.org>
parents: 6600
diff changeset
954 #define FNAME_UNESC 32 /* remove backslashes used for escaping */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
955
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
956 /* Values for buflist_getfile() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
957 #define GETF_SETMARK 0x01 /* set pcmark before jumping */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
958 #define GETF_ALT 0x02 /* jumping to alternate file (not buf num) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
959 #define GETF_SWITCH 0x04 /* respect 'switchbuf' settings when jumping */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
960
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
968
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
969 /* Values for in_cinkeys() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
970 #define KEY_OPEN_FORW 0x101
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
971 #define KEY_OPEN_BACK 0x102
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
972 #define KEY_COMPLETE 0x103 /* end of completion */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
973
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
974 /* Values for "noremap" argument of ins_typebuf(). Also used for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
975 * map->m_noremap and menu->noremap[]. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
976 #define REMAP_YES 0 /* allow remapping */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
977 #define REMAP_NONE -1 /* no remapping */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
978 #define REMAP_SCRIPT -2 /* remap script-local mappings only */
10
4e2284e71352 updated for version 7.0002
vimboss
parents: 7
diff changeset
979 #define REMAP_SKIP -3 /* no remapping for first char */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
980
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
981 /* Values for mch_call_shell() second argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
982 #define SHELL_FILTER 1 /* filtering text */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
983 #define SHELL_EXPAND 2 /* expanding wildcards */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
984 #define SHELL_COOKED 4 /* set term to cooked mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
985 #define SHELL_DOOUT 8 /* redirecting output */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
986 #define SHELL_SILENT 16 /* don't print error returned by command */
167
c93c9cad9618 updated for version 7.0051
vimboss
parents: 164
diff changeset
987 #define SHELL_READ 32 /* read lines and insert into buffer */
c93c9cad9618 updated for version 7.0051
vimboss
parents: 164
diff changeset
988 #define SHELL_WRITE 64 /* write lines from buffer */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
989
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
990 /* Values returned by mch_nodetype() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
991 #define NODE_NORMAL 0 /* file or directory, check with mch_isdir()*/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
992 #define NODE_WRITABLE 1 /* something we can write to (character
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
993 device, fifo, socket, ..) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
994 #define NODE_OTHER 2 /* non-writable thing (e.g., block device) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
995
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
996 /* Values for readfile() flags */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
997 #define READ_NEW 0x01 /* read a file into a new buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
998 #define READ_FILTER 0x02 /* read filter output */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
999 #define READ_STDIN 0x04 /* read from stdin */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1000 #define READ_BUFFER 0x08 /* read from curbuf (converting stdin) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1004
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1005 /* Values for change_indent() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1006 #define INDENT_SET 1 /* set indent */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1007 #define INDENT_INC 2 /* increase indent */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1008 #define INDENT_DEC 3 /* decrease indent */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1009
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1010 /* Values for flags argument for findmatchlimit() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1011 #define FM_BACKWARD 0x01 /* search backwards */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1012 #define FM_FORWARD 0x02 /* search forwards */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1013 #define FM_BLOCKSTOP 0x04 /* stop at start/end of block */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1014 #define FM_SKIPCOMM 0x08 /* skip comments */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1015
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1016 /* Values for action argument for do_buffer() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1017 #define DOBUF_GOTO 0 /* go to specified buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1018 #define DOBUF_SPLIT 1 /* split window and go to specified buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1019 #define DOBUF_UNLOAD 2 /* unload specified buffer(s) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1020 #define DOBUF_DEL 3 /* delete specified buffer(s) from buflist */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1021 #define DOBUF_WIPE 4 /* delete specified buffer(s) really */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1022
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1023 /* Values for start argument for do_buffer() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1024 #define DOBUF_CURRENT 0 /* "count" buffer from current buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1025 #define DOBUF_FIRST 1 /* "count" buffer from first buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1026 #define DOBUF_LAST 2 /* "count" buffer from last buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1027 #define DOBUF_MOD 3 /* "count" mod. buffer from current buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1028
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1029 /* Values for sub_cmd and which_pat argument for search_regcomp() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1030 /* Also used for which_pat argument for searchit() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1031 #define RE_SEARCH 0 /* save/use pat in/from search_pattern */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1032 #define RE_SUBST 1 /* save/use pat in/from subst_pattern */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1033 #define RE_BOTH 2 /* save pat in both patterns */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1034 #define RE_LAST 2 /* use last used pattern if "pat" is NULL */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1035
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1036 /* Second argument for vim_regcomp(). */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1037 #define RE_MAGIC 1 /* 'magic' option */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1038 #define RE_STRING 2 /* match in string instead of buffer text */
481
66080ac5dab7 updated for version 7.0130
vimboss
parents: 463
diff changeset
1039 #define RE_STRICT 4 /* don't allow [abc] without ] */
6533
bdc8e71633e4 updated for version 7.4.593
Bram Moolenaar <bram@vim.org>
parents: 6424
diff changeset
1040 #define RE_AUTO 8 /* automatic engine selection */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1041
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1042 #ifdef FEAT_SYN_HL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1043 /* values for reg_do_extmatch */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1044 # define REX_SET 1 /* to allow \z\(...\), */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1045 # define REX_USE 2 /* to allow \z\1 et al. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1046 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1047
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1048 /* Return values for fullpathcmp() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1049 /* Note: can use (fullpathcmp() & FPC_SAME) to check for equal files */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1050 #define FPC_SAME 1 /* both exist and are the same file. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1051 #define FPC_DIFF 2 /* both exist and are different files. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1052 #define FPC_NOTX 4 /* both don't exist. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1053 #define FPC_DIFFX 6 /* one of them doesn't exist. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1054 #define FPC_SAMEX 7 /* both don't exist and file names are same. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1055
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1056 /* flags for do_ecmd() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1057 #define ECMD_HIDE 0x01 /* don't free the current buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1058 #define ECMD_SET_HELP 0x02 /* set b_help flag of (new) buffer before
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1059 opening file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1060 #define ECMD_OLDBUF 0x04 /* use existing buffer if it exists */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1061 #define ECMD_FORCEIT 0x08 /* ! used in Ex command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1062 #define ECMD_ADDBUF 0x10 /* don't edit, just add to buffer list */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1063
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1064 /* for lnum argument in do_ecmd() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1065 #define ECMD_LASTL (linenr_T)0 /* use last position in loaded file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1066 #define ECMD_LAST (linenr_T)-1 /* use last position in all files */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1067 #define ECMD_ONE (linenr_T)1 /* use first line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1068
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1069 /* flags for do_cmdline() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1070 #define DOCMD_VERBOSE 0x01 /* included command in error message */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1071 #define DOCMD_NOWAIT 0x02 /* don't call wait_return() and friends */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1072 #define DOCMD_REPEAT 0x04 /* repeat exec. until getline() returns NULL */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1073 #define DOCMD_KEYTYPED 0x08 /* don't reset KeyTyped */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1074 #define DOCMD_EXCRESET 0x10 /* reset exception environment (for debugging)*/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1075 #define DOCMD_KEEPLINE 0x20 /* keep typed line for repeating with "." */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1076
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1077 /* flags for beginline() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1078 #define BL_WHITE 1 /* cursor on first non-white in the line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1079 #define BL_SOL 2 /* use 'sol' option */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1080 #define BL_FIX 4 /* don't leave cursor on a NUL */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1081
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1082 /* flags for mf_sync() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1083 #define MFS_ALL 1 /* also sync blocks with negative numbers */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1084 #define MFS_STOP 2 /* stop syncing when a character is available */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1085 #define MFS_FLUSH 4 /* flushed file to disk */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1086 #define MFS_ZERO 8 /* only write block 0 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1087
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1088 /* flags for buf_copy_options() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1089 #define BCO_ENTER 1 /* going to enter the buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1090 #define BCO_ALWAYS 2 /* always copy the options */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1091 #define BCO_NOHELP 4 /* don't touch the help related options */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1092
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1093 /* flags for do_put() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1094 #define PUT_FIXINDENT 1 /* make indent look nice */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1095 #define PUT_CURSEND 2 /* leave cursor after end of new text */
167
c93c9cad9618 updated for version 7.0051
vimboss
parents: 164
diff changeset
1096 #define PUT_CURSLINE 4 /* leave cursor on last line of new text */
c93c9cad9618 updated for version 7.0051
vimboss
parents: 164
diff changeset
1097 #define PUT_LINE 8 /* put register as lines */
c93c9cad9618 updated for version 7.0051
vimboss
parents: 164
diff changeset
1098 #define PUT_LINE_SPLIT 16 /* split line for linewise register */
c93c9cad9618 updated for version 7.0051
vimboss
parents: 164
diff changeset
1099 #define PUT_LINE_FORWARD 32 /* put linewise register below Visual sel. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1101 /* flags for set_indent() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1102 #define SIN_CHANGED 1 /* call changed_bytes() when line changed */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1103 #define SIN_INSERT 2 /* insert indent before existing text */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1104 #define SIN_UNDO 4 /* save line for undo before changing it */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1105
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1106 /* flags for insertchar() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1107 #define INSCHAR_FORMAT 1 /* force formatting */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1108 #define INSCHAR_DO_COM 2 /* format comments */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1109 #define INSCHAR_CTRLV 4 /* char typed just after CTRL-V */
1563
ed7fefbef738 updated for version 7.1-276
vimboss
parents: 1562
diff changeset
1110 #define INSCHAR_NO_FEX 8 /* don't use 'formatexpr' */
3584
443c50cd3e88 updated for version 7.3.552
Bram Moolenaar <bram@vim.org>
parents: 3568
diff changeset
1111 #define INSCHAR_COM_LIST 16 /* format comments with list/2nd line indent */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1113 /* flags for open_line() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1114 #define OPENLINE_DELSPACES 1 /* delete spaces after cursor */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1115 #define OPENLINE_DO_COM 2 /* format comments */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1116 #define OPENLINE_KEEPTRAIL 4 /* keep trailing spaces */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1117 #define OPENLINE_MARKFIX 8 /* fix mark positions */
3584
443c50cd3e88 updated for version 7.3.552
Bram Moolenaar <bram@vim.org>
parents: 3568
diff changeset
1118 #define OPENLINE_COM_LIST 16 /* format comments with list/2nd line indent */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1122 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1123 #define HIST_CMD 0 /* colon commands */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1124 #define HIST_SEARCH 1 /* search commands */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1125 #define HIST_EXPR 2 /* expressions (from entering = register) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1126 #define HIST_INPUT 3 /* input() lines */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1127 #define HIST_DEBUG 4 /* debug commands */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1128 #define HIST_COUNT 5 /* number of history tables */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1155 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1156 * Values for do_tag().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1157 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1158 #define DT_TAG 1 /* jump to newer position or same tag again */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1159 #define DT_POP 2 /* jump to older position */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1160 #define DT_NEXT 3 /* jump to next match of same tag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1161 #define DT_PREV 4 /* jump to previous match of same tag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1162 #define DT_FIRST 5 /* jump to first match of same tag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1163 #define DT_LAST 6 /* jump to first match of same tag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1164 #define DT_SELECT 7 /* jump to selection from list */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1165 #define DT_HELP 8 /* like DT_TAG, but no wildcards */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1166 #define DT_JUMP 9 /* jump to new tag or selection from list */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1167 #define DT_CSCOPE 10 /* cscope find command (like tjump) */
649
8157079cea85 updated for version 7.0191
vimboss
parents: 631
diff changeset
1168 #define DT_LTAG 11 /* tag using location list */
358
e111db373ca4 updated for version 7.0093
vimboss
parents: 339
diff changeset
1169 #define DT_FREE 99 /* free cached matches */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1170
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1171 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1172 * flags for find_tags().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1173 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1174 #define TAG_HELP 1 /* only search for help tags */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1175 #define TAG_NAMES 2 /* only return name of tag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1176 #define TAG_REGEXP 4 /* use tag pattern as regexp */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1177 #define TAG_NOIC 8 /* don't always ignore case */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1178 #ifdef FEAT_CSCOPE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1179 # define TAG_CSCOPE 16 /* cscope tag */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1180 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1181 #define TAG_VERBOSE 32 /* message verbosity */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1182 #define TAG_INS_COMP 64 /* Currently doing insert completion */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1183 #define TAG_KEEP_LANG 128 /* keep current language */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1184
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1619
diff changeset
1185 #define TAG_MANY 300 /* When finding many tags (for completion),
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1186 find up to this many tags */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1187
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1188 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1189 * Types of dialogs passed to do_vim_dialog().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1190 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1191 #define VIM_GENERIC 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1192 #define VIM_ERROR 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1193 #define VIM_WARNING 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1194 #define VIM_INFO 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1195 #define VIM_QUESTION 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1196 #define VIM_LAST_TYPE 4 /* sentinel value */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1197
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1198 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1199 * Return values for functions like gui_yesnocancel()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1200 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1201 #define VIM_YES 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1202 #define VIM_NO 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1203 #define VIM_CANCEL 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1204 #define VIM_ALL 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1205 #define VIM_DISCARDALL 6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1206
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1207 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1208 * arguments for win_split()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1209 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1210 #define WSP_ROOM 1 /* require enough room */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1211 #define WSP_VERT 2 /* split vertically */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1212 #define WSP_TOP 4 /* window at top-left of shell */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1213 #define WSP_BOT 8 /* window at bottom-right of shell */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1214 #define WSP_HELP 16 /* creating the help window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1215 #define WSP_BELOW 32 /* put new window below/right */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1216 #define WSP_ABOVE 64 /* put new window above/left */
1822
cda8f3aceb85 updated for version 7.2-120
vimboss
parents: 1750
diff changeset
1217 #define WSP_NEWLOC 128 /* don't copy location list */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1218
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1219 /*
811
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1220 * arguments for gui_set_shellsize()
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1221 */
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1222 #define RESIZE_VERT 1 /* resize vertically */
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1223 #define RESIZE_HOR 2 /* resize horizontally */
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1224 #define RESIZE_BOTH 15 /* resize in both directions */
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1225
d2c169a725c8 updated for version 7.0c01
vimboss
parents: 799
diff changeset
1226 /*
5464
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1227 * flags for check_changed()
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1228 */
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1229 #define CCGD_AW 1 /* do autowrite if buffer was changed */
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1230 #define CCGD_MULTWIN 2 /* check also when several wins for the buf */
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1231 #define CCGD_FORCEIT 4 /* ! used */
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1232 #define CCGD_ALLBUF 8 /* may write all buffers */
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1233 #define CCGD_EXCMD 16 /* may suggest using ! */
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1234
9c777e2c7024 updated for version 7.4.082
Bram Moolenaar <bram@vim.org>
parents: 5458
diff changeset
1235 /*
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1236 * "flags" values for option-setting functions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1237 * When OPT_GLOBAL and OPT_LOCAL are both missing, set both local and global
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1238 * values, get local value.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1239 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1240 #define OPT_FREE 1 /* free old value if it was allocated */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1241 #define OPT_GLOBAL 2 /* use global value */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1242 #define OPT_LOCAL 4 /* use local value */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1243 #define OPT_MODELINE 8 /* option in modeline */
23
3f44e9abe4ec updated for version 7.0015
vimboss
parents: 18
diff changeset
1244 #define OPT_WINONLY 16 /* only set window-local options */
717
2fa8cb05b861 updated for version 7.0218
vimboss
parents: 715
diff changeset
1245 #define OPT_NOWIN 32 /* don't set window-local options */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1246
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1247 /* Magic chars used in confirm dialog strings */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1248 #define DLG_BUTTON_SEP '\n'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1249 #define DLG_HOTKEY_CHAR '&'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1250
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1251 /* Values for "starting" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1252 #define NO_SCREEN 2 /* no screen updating yet */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1253 #define NO_BUFFERS 1 /* not all buffers loaded yet */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1254 /* 0 not starting anymore */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1255
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1256 /* Values for swap_exists_action: what to do when swap file already exists */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1257 #define SEA_NONE 0 /* don't use dialog */
577
a8fe6f743558 updated for version 7.0164
vimboss
parents: 573
diff changeset
1258 #define SEA_DIALOG 1 /* use dialog when possible */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1259 #define SEA_QUIT 2 /* quit editing the file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1260 #define SEA_RECOVER 3 /* recover the file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1261
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1262 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1263 * Minimal size for block 0 of a swap file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1264 * NOTE: This depends on size of struct block0! It's not done with a sizeof(),
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1265 * because struct block0 is defined in memline.c (Sorry).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1266 * The maximal block size is arbitrary.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1267 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1268 #define MIN_SWAP_PAGE_SIZE 1048
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1269 #define MAX_SWAP_PAGE_SIZE 50000
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1270
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1271 /* Special values for current_SID. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1272 #define SID_MODELINE -1 /* when using a modeline */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1273 #define SID_CMDARG -2 /* for "--cmd" argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1274 #define SID_CARG -3 /* for "-c" argument */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1275 #define SID_ENV -4 /* for sourcing environment variable */
681
9364d114ed8d updated for version 7.0204
vimboss
parents: 675
diff changeset
1276 #define SID_ERROR -5 /* option was reset because of an error */
694
07d199fe02ed updated for version 7.0209
vimboss
parents: 690
diff changeset
1277 #define SID_NONE -6 /* don't set scriptID */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1278
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1279 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1280 * Events for autocommands.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1281 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1282 enum auto_event
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1283 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1284 EVENT_BUFADD = 0, /* after adding a buffer to the buffer list */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1285 EVENT_BUFNEW, /* after creating any buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1286 EVENT_BUFDELETE, /* deleting a buffer from the buffer list */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1287 EVENT_BUFWIPEOUT, /* just before really deleting a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1288 EVENT_BUFENTER, /* after entering a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1289 EVENT_BUFFILEPOST, /* after renaming a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1290 EVENT_BUFFILEPRE, /* before renaming a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1291 EVENT_BUFLEAVE, /* before leaving a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1292 EVENT_BUFNEWFILE, /* when creating a buffer for a new file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1293 EVENT_BUFREADPOST, /* after reading a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1294 EVENT_BUFREADPRE, /* before reading a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1295 EVENT_BUFREADCMD, /* read buffer using command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1296 EVENT_BUFUNLOAD, /* just before unloading a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1297 EVENT_BUFHIDDEN, /* just after buffer becomes hidden */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1298 EVENT_BUFWINENTER, /* after showing a buffer in a window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1299 EVENT_BUFWINLEAVE, /* just after buffer removed from window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1300 EVENT_BUFWRITEPOST, /* after writing a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1301 EVENT_BUFWRITEPRE, /* before writing a buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1302 EVENT_BUFWRITECMD, /* write buffer using command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1303 EVENT_CMDWINENTER, /* after entering the cmdline window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1304 EVENT_CMDWINLEAVE, /* before leaving the cmdline window */
12
bdeee1504ac1 updated for version 7.0004
vimboss
parents: 11
diff changeset
1305 EVENT_COLORSCHEME, /* after loading a colorscheme */
3676
f07475816079 updated for version 7.3.598
Bram Moolenaar <bram@vim.org>
parents: 3666
diff changeset
1306 EVENT_COMPLETEDONE, /* after finishing insert complete */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1307 EVENT_FILEAPPENDPOST, /* after appending to a file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1308 EVENT_FILEAPPENDPRE, /* before appending to a file */
1061
b4d11ddb7303 updated for version 7.0-187
vimboss
parents: 1029
diff changeset
1309 EVENT_FILEAPPENDCMD, /* append to a file using command */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1310 EVENT_FILECHANGEDSHELL, /* after shell command that changed file */
763
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
1311 EVENT_FILECHANGEDSHELLPOST, /* after (not) reloading changed file */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1312 EVENT_FILECHANGEDRO, /* before first change to read-only file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1313 EVENT_FILEREADPOST, /* after reading a file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1314 EVENT_FILEREADPRE, /* before reading a file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1315 EVENT_FILEREADCMD, /* read from a file using command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1316 EVENT_FILETYPE, /* new file type detected (user defined) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1317 EVENT_FILEWRITEPOST, /* after writing a file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1318 EVENT_FILEWRITEPRE, /* before writing a file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1319 EVENT_FILEWRITECMD, /* write to a file using command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1320 EVENT_FILTERREADPOST, /* after reading from a filter */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1321 EVENT_FILTERREADPRE, /* before reading from a filter */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1322 EVENT_FILTERWRITEPOST, /* after writing to a filter */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1323 EVENT_FILTERWRITEPRE, /* before writing to a filter */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1324 EVENT_FOCUSGAINED, /* got the focus */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1325 EVENT_FOCUSLOST, /* lost the focus to another app */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1326 EVENT_GUIENTER, /* after starting the GUI */
946
4fb859cd9ba9 updated for version 7.0-072
vimboss
parents: 905
diff changeset
1327 EVENT_GUIFAILED, /* after starting the GUI failed */
11
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
1328 EVENT_INSERTCHANGE, /* when changing Insert/Replace mode */
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
1329 EVENT_INSERTENTER, /* when entering Insert mode */
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
1330 EVENT_INSERTLEAVE, /* when leaving Insert mode */
434
9595cf1d80a7 updated for version 7.0112
vimboss
parents: 416
diff changeset
1331 EVENT_MENUPOPUP, /* just before popup menu is displayed */
3568
09d0bda69df0 updated for version 7.3.544
Bram Moolenaar <bram@vim.org>
parents: 3549
diff changeset
1332 EVENT_QUICKFIXCMDPOST, /* after :make, :grep etc. */
09d0bda69df0 updated for version 7.3.544
Bram Moolenaar <bram@vim.org>
parents: 3549
diff changeset
1333 EVENT_QUICKFIXCMDPRE, /* before :make, :grep etc. */
09d0bda69df0 updated for version 7.3.544
Bram Moolenaar <bram@vim.org>
parents: 3549
diff changeset
1334 EVENT_QUITPRE, /* before :quit */
573
c85bf6a4999b updated for version 7.0163
vimboss
parents: 557
diff changeset
1335 EVENT_SESSIONLOADPOST, /* after loading a session file */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1336 EVENT_STDINREADPOST, /* after reading from stdin */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1337 EVENT_STDINREADPRE, /* before reading from stdin */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1338 EVENT_SYNTAX, /* syntax selected */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1339 EVENT_TERMCHANGED, /* after changing 'term' */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1340 EVENT_TERMRESPONSE, /* after setting "v:termresponse" */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1341 EVENT_USER, /* user defined autocommand */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1342 EVENT_VIMENTER, /* after starting Vim */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1343 EVENT_VIMLEAVE, /* before exiting Vim */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1344 EVENT_VIMLEAVEPRE, /* before exiting Vim and writing .viminfo */
763
fa0447b7a8a0 updated for version 7.0225
vimboss
parents: 737
diff changeset
1345 EVENT_VIMRESIZED, /* after Vim window was resized */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1346 EVENT_WINENTER, /* after entering a window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1349 EVENT_ENCODINGCHANGED, /* after changing the 'encoding' option */
2845
d641f141f937 updated for version 7.3.196
Bram Moolenaar <bram@vim.org>
parents: 2823
diff changeset
1350 EVENT_INSERTCHARPRE, /* before inserting a char */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1351 EVENT_CURSORHOLD, /* cursor in same position for a while */
660
13296f8d1d3d updated for version 7.0195
vimboss
parents: 649
diff changeset
1352 EVENT_CURSORHOLDI, /* idem, in Insert mode */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1353 EVENT_FUNCUNDEFINED, /* if calling a function which doesn't exist */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1354 EVENT_REMOTEREPLY, /* upon string reception from a remote vim */
577
a8fe6f743558 updated for version 7.0164
vimboss
parents: 573
diff changeset
1355 EVENT_SWAPEXISTS, /* found existing swap file */
715
b526e10493b1 updated for version 7.0217
vimboss
parents: 714
diff changeset
1356 EVENT_SOURCEPRE, /* before sourcing a Vim script */
1061
b4d11ddb7303 updated for version 7.0-187
vimboss
parents: 1029
diff changeset
1357 EVENT_SOURCECMD, /* sourcing a Vim script using command */
649
8157079cea85 updated for version 7.0191
vimboss
parents: 631
diff changeset
1358 EVENT_SPELLFILEMISSING, /* spell file missing */
660
13296f8d1d3d updated for version 7.0195
vimboss
parents: 649
diff changeset
1359 EVENT_CURSORMOVED, /* cursor was moved */
13296f8d1d3d updated for version 7.0195
vimboss
parents: 649
diff changeset
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
51794dc170f7 updated for version 7.0202
vimboss
parents: 674
diff changeset
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
ebd1799949ff updated for version 7.0220
vimboss
parents: 718
diff changeset
1365 EVENT_SHELLCMDPOST, /* after ":!cmd" */
ebd1799949ff updated for version 7.0220
vimboss
parents: 718
diff changeset
1366 EVENT_SHELLFILTERPOST, /* after ":1,2!cmd", ":w !cmd", ":r !cmd". */
4232
0fcb050fd79d updated for version 7.3.867
Bram Moolenaar <bram@vim.org>
parents: 4168
diff changeset
1367 EVENT_TEXTCHANGED, /* text was modified */
0fcb050fd79d updated for version 7.3.867
Bram Moolenaar <bram@vim.org>
parents: 4168
diff changeset
1368 EVENT_TEXTCHANGEDI, /* text was modified in Insert mode*/
6156
20dbceb6f471 updated for version 7.4.415
Bram Moolenaar <bram@vim.org>
parents: 6110
diff changeset
1369 EVENT_CMDUNDEFINED, /* command undefined */
6935
4db70c94226b patch 7.4.786
Bram Moolenaar <bram@vim.org>
parents: 6909
diff changeset
1370 EVENT_OPTIONSET, /* option was set */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1371 NUM_EVENTS /* MUST be the last one */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1372 };
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1373
660
13296f8d1d3d updated for version 7.0195
vimboss
parents: 649
diff changeset
1374 typedef enum auto_event event_T;
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1375
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1376 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1377 * Values for index in highlight_attr[].
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1378 * When making changes, also update HL_FLAGS below! And update the default
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1379 * value of 'highlight' in option.c.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1380 */
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents: 502
diff changeset
1381 typedef enum
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1382 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1383 HLF_8 = 0 /* Meta & special keys listed with ":map", text that is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1387 don't really exist in the text */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1388 , HLF_D /* directories in CTRL-D listing */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1389 , HLF_E /* error messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1390 , HLF_H /* obsolete, ignored */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1391 , HLF_I /* incremental search */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1392 , HLF_L /* last search string */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1393 , HLF_M /* "--More--" message */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1394 , HLF_CM /* Mode (e.g., "-- INSERT --") */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1395 , HLF_N /* line number for ":number" and ":#" commands */
3427
3db4282d5e6b updated for version 7.3.479
Bram Moolenaar <bram@vim.org>
parents: 3398
diff changeset
1396 , HLF_CLN /* current line number */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1397 , HLF_R /* return to continue message and yes/no questions */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1398 , HLF_S /* status lines */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1399 , HLF_SNC /* status lines of not-current windows */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1400 , HLF_C /* column to separate vertically split windows */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1401 , HLF_T /* Titles for output from ":set all", ":autocmd" etc. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1402 , HLF_V /* Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1403 , HLF_VNC /* Visual mode, autoselecting and not clipboard owner */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1404 , HLF_W /* warning messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1405 , HLF_WM /* Wildmenu highlight */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1406 , HLF_FL /* Folded line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1407 , HLF_FC /* Fold column */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1408 , HLF_ADD /* Added diff line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1409 , HLF_CHD /* Changed diff line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1410 , HLF_DED /* Deleted diff line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1413 , HLF_SC /* Sign column */
220
01e77186b20a updated for version 7.0062
vimboss
parents: 203
diff changeset
1414 , HLF_SPB /* SpellBad */
385
bd4c7ce1da02 updated for version 7.0100
vimboss
parents: 376
diff changeset
1415 , HLF_SPC /* SpellCap */
220
01e77186b20a updated for version 7.0062
vimboss
parents: 203
diff changeset
1416 , HLF_SPR /* SpellRare */
01e77186b20a updated for version 7.0062
vimboss
parents: 203
diff changeset
1417 , HLF_SPL /* SpellLocal */
539
b13dbb7b797c updated for version 7.0153
vimboss
parents: 534
diff changeset
1418 , HLF_PNI /* popup menu normal item */
b13dbb7b797c updated for version 7.0153
vimboss
parents: 534
diff changeset
1419 , HLF_PSI /* popup menu selected item */
b13dbb7b797c updated for version 7.0153
vimboss
parents: 534
diff changeset
1420 , HLF_PSB /* popup menu scrollbar */
b13dbb7b797c updated for version 7.0153
vimboss
parents: 534
diff changeset
1421 , HLF_PST /* popup menu scrollbar thumb */
667
9090f866cd57 updated for version 7.0197
vimboss
parents: 660
diff changeset
1422 , HLF_TP /* tabpage line */
9090f866cd57 updated for version 7.0197
vimboss
parents: 660
diff changeset
1423 , HLF_TPS /* tabpage line selected */
9090f866cd57 updated for version 7.0197
vimboss
parents: 660
diff changeset
1424 , HLF_TPF /* tabpage line filler */
737
59971e227f8c updated for version 7.0222
vimboss
parents: 721
diff changeset
1425 , HLF_CUC /* 'cursurcolumn' */
59971e227f8c updated for version 7.0222
vimboss
parents: 721
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1428 , HLF_COUNT /* MUST be the last one */
534
c6296b0ad9ea updated for version 7.0151
vimboss
parents: 502
diff changeset
1429 } hlf_T;
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1430
737
59971e227f8c updated for version 7.0222
vimboss
parents: 721
diff changeset
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
3db4282d5e6b updated for version 7.3.479
Bram Moolenaar <bram@vim.org>
parents: 3398
diff changeset
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
b13dbb7b797c updated for version 7.0153
vimboss
parents: 534
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1438
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1439 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1440 * Boolean constants
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1441 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1442 #ifndef TRUE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1443 # define FALSE 0 /* note: this is an int, not a long! */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1444 # define TRUE 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1445 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1446
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1447 #define MAYBE 2 /* sometimes used for a variant on TRUE */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1453 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1454 * Operator IDs; The order must correspond to opchars[] in ops.c!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1455 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1456 #define OP_NOP 0 /* no pending operation */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1457 #define OP_DELETE 1 /* "d" delete operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1458 #define OP_YANK 2 /* "y" yank operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1459 #define OP_CHANGE 3 /* "c" change operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1460 #define OP_LSHIFT 4 /* "<" left shift operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1461 #define OP_RSHIFT 5 /* ">" right shift operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1462 #define OP_FILTER 6 /* "!" filter operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1463 #define OP_TILDE 7 /* "g~" switch case operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1464 #define OP_INDENT 8 /* "=" indent operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1465 #define OP_FORMAT 9 /* "gq" format operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1466 #define OP_COLON 10 /* ":" colon operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1467 #define OP_UPPER 11 /* "gU" make upper case operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1468 #define OP_LOWER 12 /* "gu" make lower case operator */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1469 #define OP_JOIN 13 /* "J" join operator, only for Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1470 #define OP_JOIN_NS 14 /* "gJ" join operator, only for Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1471 #define OP_ROT13 15 /* "g?" rot-13 encoding */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1472 #define OP_REPLACE 16 /* "r" replace chars, only for Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1473 #define OP_INSERT 17 /* "I" Insert column, only for Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1474 #define OP_APPEND 18 /* "A" Append column, only for Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1475 #define OP_FOLD 19 /* "zf" define a fold */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1476 #define OP_FOLDOPEN 20 /* "zo" open folds */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1477 #define OP_FOLDOPENREC 21 /* "zO" open folds recursively */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1478 #define OP_FOLDCLOSE 22 /* "zc" close folds */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1479 #define OP_FOLDCLOSEREC 23 /* "zC" close folds recursively */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1480 #define OP_FOLDDEL 24 /* "zd" delete folds */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1481 #define OP_FOLDDELREC 25 /* "zD" delete folds recursively */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1482 #define OP_FORMAT2 26 /* "gw" format operator, keeps cursor pos */
602
111509d2767a updated for version 7.0171
vimboss
parents: 595
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1488
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1489 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1490 * Motion types, used for operators and for yank/delete registers.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1491 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1492 #define MCHAR 0 /* character-wise movement/register */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1493 #define MLINE 1 /* line-wise movement/register */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1494 #define MBLOCK 2 /* block-wise register */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1495
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1496 #define MAUTO 0xff /* Decide between MLINE/MCHAR */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1497
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1498 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1499 * Minimum screen size
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1500 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1501 #define MIN_COLUMNS 12 /* minimal columns for screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1502 #define MIN_LINES 2 /* minimal lines for screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1503 #define STATUS_HEIGHT 1 /* height of a status line under a window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1504 #define QF_WINHEIGHT 10 /* default height for quickfix window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1505
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1506 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1507 * Buffer sizes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1508 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1509 #ifndef CMDBUFFSIZE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1510 # define CMDBUFFSIZE 256 /* size of the command processing buffer */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1511 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1512
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1513 #define LSIZE 512 /* max. size of a line in the tags file */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1514
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1515 #define IOSIZE (1024+1) /* file i/o and sprintf buffer size */
268
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1516
2770
25672ad7f377 updated for version 7.3.161
Bram Moolenaar <bram@vim.org>
parents: 2672
diff changeset
1517 #define DIALOG_MSG_SIZE 1000 /* buffer size for dialog_msg() */
25672ad7f377 updated for version 7.3.161
Bram Moolenaar <bram@vim.org>
parents: 2672
diff changeset
1518
268
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1519 #ifdef FEAT_MBYTE
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1520 # define MSG_BUF_LEN 480 /* length of buffer for small messages */
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1521 # define MSG_BUF_CLEN (MSG_BUF_LEN / 6) /* cell length (worst case: utf-8
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1522 takes 6 bytes for one cell) */
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1523 #else
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1524 # define MSG_BUF_LEN 80 /* length of buffer for small messages */
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1525 # define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */
8e3c690f1f3c updated for version 7.0072
vimboss
parents: 260
diff changeset
1526 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
1a8b518bb993 updated for version 7.2-198
vimboss
parents: 1876
diff changeset
1530 /* Size of the buffer used for tgetent(). Unfortunately this is largely
1a8b518bb993 updated for version 7.2-198
vimboss
parents: 1876
diff changeset
1531 * undocumented, some systems use 1024. Using a buffer that is too small
1a8b518bb993 updated for version 7.2-198
vimboss
parents: 1876
diff changeset
1532 * causes a buffer overrun and a crash. Use the maximum known value to stay
1a8b518bb993 updated for version 7.2-198
vimboss
parents: 1876
diff changeset
1533 * on the safe side. */
1a8b518bb993 updated for version 7.2-198
vimboss
parents: 1876
diff changeset
1534 #define TBUFSZ 2048 /* buffer size for termcap entry */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1535
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1536 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1537 * Maximum length of key sequence to be mapped.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1538 * Must be able to hold an Amiga resize report.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1539 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1540 #define MAXMAPLEN 50
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1545 #ifdef HAVE_FCNTL_H
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1546 # include <fcntl.h>
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1547 #endif
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1548
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1549 #ifdef BINARY_FILE_IO
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1550 # define WRITEBIN "wb" /* no CR-LF translation */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1551 # define READBIN "rb"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1552 # define APPENDBIN "ab"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1553 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1554 # define WRITEBIN "w"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1555 # define READBIN "r"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1556 # define APPENDBIN "a"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1557 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1558
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1559 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1560 * EMX doesn't have a global way of making open() use binary I/O.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1561 * Use O_BINARY for all open() calls.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1564 # define O_EXTRA O_BINARY
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1565 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1566 # define O_EXTRA 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1567 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1568
557
862863033fdd updated for version 7.0158
vimboss
parents: 539
diff changeset
1569 #ifndef O_NOFOLLOW
862863033fdd updated for version 7.0158
vimboss
parents: 539
diff changeset
1570 # define O_NOFOLLOW 0
862863033fdd updated for version 7.0158
vimboss
parents: 539
diff changeset
1571 #endif
862863033fdd updated for version 7.0158
vimboss
parents: 539
diff changeset
1572
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1573 #ifndef W_OK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1574 # define W_OK 2 /* for systems that don't have W_OK in unistd.h */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1575 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1576 #ifndef R_OK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1577 # define R_OK 4 /* for systems that don't have R_OK in unistd.h */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1578 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1579
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1580 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1581 * defines to avoid typecasts from (char_u *) to (char *) and back
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1582 * (vim_strchr() and vim_strrchr() are now in alloc.c)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1583 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1584 #define STRLEN(s) strlen((char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1585 #define STRCPY(d, s) strcpy((char *)(d), (char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1586 #define STRNCPY(d, s, n) strncpy((char *)(d), (char *)(s), (size_t)(n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1587 #define STRCMP(d, s) strcmp((char *)(d), (char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1588 #define STRNCMP(d, s, n) strncmp((char *)(d), (char *)(s), (size_t)(n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1589 #ifdef HAVE_STRCASECMP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1590 # define STRICMP(d, s) strcasecmp((char *)(d), (char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1591 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1592 # ifdef HAVE_STRICMP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1593 # define STRICMP(d, s) stricmp((char *)(d), (char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1594 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1595 # define STRICMP(d, s) vim_stricmp((char *)(d), (char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1596 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1597 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1598
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1599 /* Like strcpy() but allows overlapped source and destination. */
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1600 #define STRMOVE(d, s) mch_memmove((d), (s), STRLEN(s) + 1)
b9740fb41986 updated for version 7.2a
vimboss
parents: 1586
diff changeset
1601
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1602 #ifdef HAVE_STRNCASECMP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1603 # define STRNICMP(d, s, n) strncasecmp((char *)(d), (char *)(s), (size_t)(n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1604 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1605 # ifdef HAVE_STRNICMP
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1606 # define STRNICMP(d, s, n) strnicmp((char *)(d), (char *)(s), (size_t)(n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1607 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1608 # define STRNICMP(d, s, n) vim_strnicmp((char *)(d), (char *)(s), (size_t)(n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1609 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1610 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1611
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1612 #ifdef FEAT_MBYTE
1347
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
1613 /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
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
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
1616 * STRICMP() only handles the system locale version, which often does not
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
1617 * handle non-ascii properly. */
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
1618
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
1619 # define MB_STRICMP(d, s) mb_strnicmp((char_u *)(d), (char_u *)(s), (int)MAXCOL)
302a6aa7aca2 updated for version 7.1-061
vimboss
parents: 1236
diff changeset
1620 # define MB_STRNICMP(d, s, n) mb_strnicmp((char_u *)(d), (char_u *)(s), (int)(n))
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1621 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1622 # define MB_STRICMP(d, s) STRICMP((d), (s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1623 # define MB_STRNICMP(d, s, n) STRNICMP((d), (s), (n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1624 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1625
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1626 #define STRCAT(d, s) strcat((char *)(d), (char *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1627 #define STRNCAT(d, s, n) strncat((char *)(d), (char *)(s), (size_t)(n))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1628
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1629 #ifdef HAVE_STRPBRK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1630 # define vim_strpbrk(s, cs) (char_u *)strpbrk((char *)(s), (char *)(cs))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1631 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1632
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1633 #define MSG(s) msg((char_u *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1634 #define MSG_ATTR(s, attr) msg_attr((char_u *)(s), (attr))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1635 #define EMSG(s) emsg((char_u *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1636 #define EMSG2(s, p) emsg2((char_u *)(s), (char_u *)(p))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1637 #define EMSG3(s, p, q) emsg3((char_u *)(s), (char_u *)(p), (char_u *)(q))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1638 #define EMSGN(s, n) emsgn((char_u *)(s), (long)(n))
840
2c885fab04e3 updated for version 7.0e06
vimboss
parents: 836
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1643 #define OUT_STR(s) out_str((char_u *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1644 #define OUT_STR_NF(s) out_str_nf((char_u *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1645 #define MSG_PUTS(s) msg_puts((char_u *)(s))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1646 #define MSG_PUTS_ATTR(s, a) msg_puts_attr((char_u *)(s), (a))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1647 #define MSG_PUTS_TITLE(s) msg_puts_title((char_u *)(s))
339
64221fecdfa1 updated for version 7.0088
vimboss
parents: 268
diff changeset
1648 #define MSG_PUTS_LONG(s) msg_puts_long_attr((char_u *)(s), 0)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1649 #define MSG_PUTS_LONG_ATTR(s, a) msg_puts_long_attr((char_u *)(s), (a))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1686 /* Prefer using emsg3(), because perror() may send the output to the wrong
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1687 * destination and mess up the screen. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1688 #ifdef HAVE_STRERROR
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1689 # define PERROR(msg) (void)emsg3((char_u *)"%s: %s", (char_u *)msg, (char_u *)strerror(errno))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1692 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1693
1872
f13849167330 updated for version 7.2-169
vimboss
parents: 1868
diff changeset
1694 typedef long linenr_T; /* line number type */
f13849167330 updated for version 7.2-169
vimboss
parents: 1868
diff changeset
1695 typedef int colnr_T; /* column number type */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1696 typedef unsigned short disptick_T; /* display tick type */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1697
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1698 #define MAXLNUM (0x7fffffffL) /* maximum (invalid) line number */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1699
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1700 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1703 * use 64 bit pointers. I don't know how to distinguish between 31 and 64 bit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1704 * machines, so the best way is to assume 31 bits whenever we detect OS/390
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1705 * Unix.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1706 * With this we restrict the maximum line length to 1073741823. I guess this is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1707 * not a real problem. BTW: Longer lines are split.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1708 */
5684
136f05449f29 updated for version 7.4.188
Bram Moolenaar <bram@vim.org>
parents: 5610
diff changeset
1709 #if VIM_SIZEOF_INT >= 4
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1710 # ifdef __MVS__
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1711 # define MAXCOL (0x3fffffffL) /* maximum column number, 30 bits */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1712 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1713 # define MAXCOL (0x7fffffffL) /* maximum column number, 31 bits */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1714 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1715 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1716 # define MAXCOL (0x7fff) /* maximum column number, 15 bits */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1717 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1718
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1719 #define SHOWCMD_COLS 10 /* columns needed by shown command */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1720 #define STL_MAX_ITEM 80 /* max nr of %<flag> in statusline */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1721
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1722 typedef void *vim_acl_T; /* dummy to pass an ACL to a function */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1726 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1727
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1728 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1729 * fnamecmp() is used to compare file names.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1730 * On some systems case in a file name does not matter, on others it does.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1731 * (this does not account for maximum name lengths and things like "../dir",
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1732 * thus it is not 100% accurate!)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1733 */
4242
edd0bc1f26bd updated for version 7.3.872
Bram Moolenaar <bram@vim.org>
parents: 4232
diff changeset
1734 #define fnamecmp(x, y) vim_fnamecmp((char_u *)(x), (char_u *)(y))
edd0bc1f26bd updated for version 7.3.872
Bram Moolenaar <bram@vim.org>
parents: 4232
diff changeset
1735 #define fnamencmp(x, y, n) vim_fnamencmp((char_u *)(x), (char_u *)(y), (size_t)(n))
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1736
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1737 #ifdef HAVE_MEMSET
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1738 # define vim_memset(ptr, c, size) memset((ptr), (c), (size))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1741 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1744 || defined(FEAT_CLIENTSERVER)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1745 # define USE_INPUT_BUF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1746 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1747
2664
033e7b49356c updated for version 7.3.083
Bram Moolenaar <bram@vim.org>
parents: 2652
diff changeset
1748 #ifndef EINTR
033e7b49356c updated for version 7.3.083
Bram Moolenaar <bram@vim.org>
parents: 2652
diff changeset
1749 # define read_eintr(fd, buf, count) vim_read((fd), (buf), (count))
033e7b49356c updated for version 7.3.083
Bram Moolenaar <bram@vim.org>
parents: 2652
diff changeset
1750 # define write_eintr(fd, buf, count) vim_write((fd), (buf), (count))
033e7b49356c updated for version 7.3.083
Bram Moolenaar <bram@vim.org>
parents: 2652
diff changeset
1751 #endif
033e7b49356c updated for version 7.3.083
Bram Moolenaar <bram@vim.org>
parents: 2652
diff changeset
1752
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1753 #ifdef MSWIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1754 /* On MS-Windows the third argument isn't size_t. This matters for Win64,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1755 * where sizeof(size_t)==8, not 4 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1756 # define vim_read(fd, buf, count) read((fd), (char *)(buf), (unsigned int)(count))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1757 # define vim_write(fd, buf, count) write((fd), (char *)(buf), (unsigned int)(count))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1758 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1759 # define vim_read(fd, buf, count) read((fd), (char *)(buf), (size_t) (count))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1760 # define vim_write(fd, buf, count) write((fd), (char *)(buf), (size_t) (count))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1761 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1762
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1763 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1764 * Enums need a typecast to be used as array index (for Ultrix).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1768
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1769 /*
690
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1770 * EXTERN is only defined in main.c. That's where global variables are
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1771 * actually defined and initialized.
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1772 */
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1773 #ifndef EXTERN
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1774 # define EXTERN extern
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1775 # define INIT(x)
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1776 #else
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1777 # ifndef INIT
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1778 # define INIT(x) x
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
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
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1781 # endif
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1782 #endif
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1783
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1784 #ifdef FEAT_MBYTE
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1785 # define MAX_MCO 6 /* maximum value for 'maxcombine' */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1786
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1787 /* Maximum number of bytes in a multi-byte character. It can be one 32-bit
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1788 * character of up to 6 bytes, or one 16-bit character of up to three bytes
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1789 * plus six following composing characters of three bytes each. */
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1790 # define MB_MAXBYTES 21
3549
f52d2ea0f81c updated for version 7.3.535
Bram Moolenaar <bram@vim.org>
parents: 3503
diff changeset
1791 #else
f52d2ea0f81c updated for version 7.3.535
Bram Moolenaar <bram@vim.org>
parents: 3503
diff changeset
1792 # define MB_MAXBYTES 1
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1793 #endif
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 694
diff changeset
1794
1521
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1795 #if (defined(FEAT_PROFILE) || defined(FEAT_RELTIME)) && !defined(PROTO)
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1796 # ifdef WIN3264
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1797 typedef LARGE_INTEGER proftime_T;
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1798 # else
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1799 typedef struct timeval proftime_T;
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1800 # endif
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1801 #else
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1802 typedef int proftime_T; /* dummy for function prototypes */
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
1803 #endif
cc4fe241baa3 updated for version 7.1-236
vimboss
parents: 1490
diff changeset
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
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1826 /* Include option.h before structs.h, because the number of window-local and
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1827 * buffer-local options is used there. */
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1828 #include "option.h" /* options and default values */
0e922220d322 updated for version 7.0208
vimboss
parents: 681
diff changeset
1829
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1830 /* Note that gui.h is included by structs.h */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1831
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1832 #include "structs.h" /* file that defines many structures */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
1836 /* Values for "do_profiling". */
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
1837 #define PROF_NONE 0 /* profiling not started */
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
1838 #define PROF_YES 1 /* profiling busy */
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
1839 #define PROF_PAUSED 2 /* profiling paused */
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
1840
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1841 #ifdef FEAT_MOUSE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1842
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1843 /* Codes for mouse button events in lower three bits: */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1844 # define MOUSE_LEFT 0x00
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1845 # define MOUSE_MIDDLE 0x01
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1846 # define MOUSE_RIGHT 0x02
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1847 # define MOUSE_RELEASE 0x03
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1848
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1849 /* bit masks for modifiers: */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1850 # define MOUSE_SHIFT 0x04
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1851 # define MOUSE_ALT 0x08
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1852 # define MOUSE_CTRL 0x10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1853
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1858 # define MOUSE_4 0x100 /* scroll wheel down */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1859 # define MOUSE_5 0x200 /* scroll wheel up */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1860
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1861 # define MOUSE_X1 0x300 /* Mouse-button X1 (6th) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1862 # define MOUSE_X2 0x400 /* Mouse-button X2 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1867 /* 0x20 is reserved by xterm */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1868 # define MOUSE_DRAG_XTERM 0x40
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1869
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1870 # define MOUSE_DRAG (0x40 | MOUSE_RELEASE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1871
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1872 /* Lowest button code for using the mouse wheel (xterm only) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1873 # define MOUSEWHEEL_LOW 0x60
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1874
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1875 # define MOUSE_CLICK_MASK 0x03
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1876
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1877 # define NUM_MOUSE_CLICKS(code) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1878 (((unsigned)((code) & 0xC0) >> 6) + 1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1879
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1880 # define SET_NUM_MOUSE_CLICKS(code, num) \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1881 (code) = ((code) & 0x3f) | ((((num) - 1) & 3) << 6)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1882
260
ed33f83b42d8 updated for version 7.0071
vimboss
parents: 255
diff changeset
1883 /* Added to mouse column for GUI when 'mousefocus' wants to give focus to a
ed33f83b42d8 updated for version 7.0071
vimboss
parents: 255
diff changeset
1884 * window by simulating a click on its status line. We could use up to 128 *
ed33f83b42d8 updated for version 7.0071
vimboss
parents: 255
diff changeset
1885 * 128 = 16384 columns, now it's reduced to 10000. */
ed33f83b42d8 updated for version 7.0071
vimboss
parents: 255
diff changeset
1886 # define MOUSE_COLOFF 10000
ed33f83b42d8 updated for version 7.0071
vimboss
parents: 255
diff changeset
1887
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1888 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1889 * jump_to_mouse() returns one of first four these values, possibly with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1890 * some of the other three added.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1891 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1892 # define IN_UNKNOWN 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1893 # define IN_BUFFER 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1894 # define IN_STATUS_LINE 2 /* on status or command line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1895 # define IN_SEP_LINE 4 /* on vertical separator line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1896 # define IN_OTHER_WIN 8 /* in other window but can't go there */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1897 # define CURSOR_MOVED 0x100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1898 # define MOUSE_FOLD_CLOSE 0x200 /* clicked on '-' in fold column */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1899 # define MOUSE_FOLD_OPEN 0x400 /* clicked on '+' in fold column */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1900
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1901 /* flags for jump_to_mouse() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1902 # define MOUSE_FOCUS 0x01 /* need to stay in this window */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1903 # define MOUSE_MAY_VIS 0x02 /* may start Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1904 # define MOUSE_DID_MOVE 0x04 /* only act when mouse has moved */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1905 # define MOUSE_SETPOS 0x08 /* only set current mouse position */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1906 # define MOUSE_MAY_STOP_VIS 0x10 /* may stop Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1907 # define MOUSE_RELEASED 0x20 /* button was released */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1908
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1909 # if defined(UNIX) && defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1910 # define CHECK_DOUBLE_CLICK 1 /* Checking for double clicks ourselves. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1911 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1912
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1913 #endif /* FEAT_MOUSE */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1914
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1915 /* defines for eval_vars() */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1916 #define VALID_PATH 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1917 #define VALID_HEAD 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1918
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1919 /* Defines for Vim variables. These must match vimvars[] in eval.c! */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1920 #define VV_COUNT 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1921 #define VV_COUNT1 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1922 #define VV_PREVCOUNT 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1923 #define VV_ERRMSG 3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1924 #define VV_WARNINGMSG 4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1925 #define VV_STATUSMSG 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1926 #define VV_SHELL_ERROR 6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1927 #define VV_THIS_SESSION 7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1928 #define VV_VERSION 8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1929 #define VV_LNUM 9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1930 #define VV_TERMRESPONSE 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1931 #define VV_FNAME 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1932 #define VV_LANG 12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1933 #define VV_LC_TIME 13
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1934 #define VV_CTYPE 14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1935 #define VV_CC_FROM 15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1936 #define VV_CC_TO 16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1937 #define VV_FNAME_IN 17
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1938 #define VV_FNAME_OUT 18
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1939 #define VV_FNAME_NEW 19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1940 #define VV_FNAME_DIFF 20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1941 #define VV_CMDARG 21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1942 #define VV_FOLDSTART 22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1943 #define VV_FOLDEND 23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1944 #define VV_FOLDDASHES 24
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1945 #define VV_FOLDLEVEL 25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1946 #define VV_PROGNAME 26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1947 #define VV_SEND_SERVER 27
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1948 #define VV_DYING 28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1949 #define VV_EXCEPTION 29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1950 #define VV_THROWPOINT 30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1951 #define VV_REG 31
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1952 #define VV_CMDBANG 32
11
4424b47a0797 updated for version 7.0003
vimboss
parents: 10
diff changeset
1953 #define VV_INSERTMODE 33
101
1bba6641dd1e updated for version 7.0039
vimboss
parents: 98
diff changeset
1954 #define VV_VAL 34
1bba6641dd1e updated for version 7.0039
vimboss
parents: 98
diff changeset
1955 #define VV_KEY 35
170
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
1956 #define VV_PROFILING 36
179
7fd70926e2e1 updated for version 7.0055
vimboss
parents: 176
diff changeset
1957 #define VV_FCS_REASON 37
7fd70926e2e1 updated for version 7.0055
vimboss
parents: 176
diff changeset
1958 #define VV_FCS_CHOICE 38
184
476198990769 updated for version 7.0057
vimboss
parents: 179
diff changeset
1959 #define VV_BEVAL_BUFNR 39
476198990769 updated for version 7.0057
vimboss
parents: 179
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2021 #ifdef FEAT_CLIPBOARD
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2022
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2023 /* VIM_ATOM_NAME is the older Vim-specific selection type for X11. Still
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2024 * supported for when a mix of Vim versions is used. VIMENC_ATOM_NAME includes
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2025 * the encoding to support Vims using different 'encoding' values. */
4031
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
2026 # define VIM_ATOM_NAME "_VIM_TEXT"
da7a7ba36ed2 updated for version 7.3.770
Bram Moolenaar <bram@vim.org>
parents: 3744
diff changeset
2027 # define VIMENC_ATOM_NAME "_VIMENC_TEXT"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2028
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2029 /* Selection states for modeless selection */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2030 # define SELECT_CLEARED 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2031 # define SELECT_IN_PROGRESS 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2032 # define SELECT_DONE 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2033
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2034 # define SELECT_MODE_CHAR 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2035 # define SELECT_MODE_WORD 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2036 # define SELECT_MODE_LINE 2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2037
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2038 # ifdef FEAT_GUI_W32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2039 # ifdef FEAT_OLE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2040 # define WM_OLE (WM_APP+0)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2041 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2042 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2043
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2044 /* Info about selected text */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2045 typedef struct VimClipboard
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2046 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2047 int available; /* Is clipboard available? */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2048 int owned; /* Flag: do we own the selection? */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2049 pos_T start; /* Start of selected area */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2050 pos_T end; /* End of selected area */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2051 int vmode; /* Visual mode character */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2052
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2053 /* Fields for selection that doesn't use Visual mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2054 short_u origin_row;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2055 short_u origin_start_col;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2056 short_u origin_end_col;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2057 short_u word_start_col;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2058 short_u word_end_col;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2059
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2060 pos_T prev; /* Previous position */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2061 short_u state; /* Current selection state */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2062 short_u mode; /* Select by char, word, or line. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2063
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2064 # if defined(FEAT_GUI_X11) || defined(FEAT_XCLIPBOARD)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2065 Atom sel_atom; /* PRIMARY/CLIPBOARD selection ID */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2066 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2067
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2068 # ifdef FEAT_GUI_GTK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2069 GdkAtom gtk_sel_atom; /* PRIMARY/CLIPBOARD selection ID */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2070 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2071
4168
ff193256398a updated for version 7.3.836
Bram Moolenaar <bram@vim.org>
parents: 4031
diff changeset
2072 # if defined(MSWIN) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2073 int_u format; /* Vim's own special clipboard format */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2074 int_u format_raw; /* Vim's raw text clipboard format */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2075 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2076 } VimClipboard;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2077 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2078 typedef int VimClipboard; /* This is required for the prototypes. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2079 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2109 #include "proto.h" /* function prototypes */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2111 /* This has to go after the include of proto.h, as proto/gui.pro declares
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2112 * functions of these names. The declarations would break if the defines had
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2113 * been seen at that stage. But it must be before globals.h, where error_ga
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2114 * is declared. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2117 # define mch_errmsg(str) fprintf(stderr, "%s", (str))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2118 # define display_errors() fflush(stderr)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2119 # define mch_msg(str) printf("%s", (str))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2120 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2121 # define USE_MCH_ERRMSG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2122 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2123
127
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2124 #ifndef FEAT_MBYTE
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2125 # define after_pathsep(b, p) vim_ispathsep(*((p) - 1))
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2126 # define transchar_byte(c) transchar(c)
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2127 #endif
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2128
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2129 #ifndef FEAT_LINEBREAK
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2130 /* Without the 'numberwidth' option line numbers are always 7 chars. */
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2131 # define number_width(x) 7
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2132 #endif
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2133
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2134
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2135 #include "globals.h" /* global variables and messages */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2136
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
01c668384bcc updated for version 7.4.537
Bram Moolenaar <bram@vim.org>
parents: 6174
diff changeset
2139 # define virtual_active() FALSE
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2140 # define virtual_op FALSE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2141 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2142
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2143 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2144 * If console dialog not supported, but GUI dialog is, use the GUI one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2145 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2146 #if defined(FEAT_GUI_DIALOG) && !defined(FEAT_CON_DIALOG)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2147 # define do_dialog gui_mch_dialog
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2148 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2149
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2150 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2151 * Default filters for gui_mch_browse().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2152 * The filters are almost system independent. Except for the difference
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2153 * between "*" and "*.*" for MSDOS-like systems.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2154 * NOTE: Motif only uses the very first pattern. Therefore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2155 * BROWSE_FILTER_DEFAULT should start with a "*" pattern.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2156 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2157 #ifdef FEAT_BROWSE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2158 # ifdef BACKSLASH_IN_FILENAME
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2159 # define BROWSE_FILTER_MACROS \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2160 (char_u *)"Vim macro files (*.vim)\t*.vim\nAll Files (*.*)\t*.*\n"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2161 # define BROWSE_FILTER_ALL_FILES (char_u *)"All Files (*.*)\t*.*\n"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2162 # define BROWSE_FILTER_DEFAULT \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2164 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2165 # define BROWSE_FILTER_MACROS \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2166 (char_u *)"Vim macro files (*.vim)\t*.vim\nAll Files (*)\t*\n"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2167 # define BROWSE_FILTER_ALL_FILES (char_u *)"All Files (*)\t*\n"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2168 # define BROWSE_FILTER_DEFAULT \
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2170 # endif
28
726bdc53fa49 updated for version 7.0018
vimboss
parents: 26
diff changeset
2171 # define BROWSE_SAVE 1 /* flag for do_browse() */
726bdc53fa49 updated for version 7.0018
vimboss
parents: 26
diff changeset
2172 # define BROWSE_DIR 2 /* flag for do_browse() */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2173 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2174
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2175 /* stop using fastcall for Borland */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2176 #if defined(__BORLANDC__) && defined(WIN32) && !defined(DEBUG)
127
616289ecb7c8 updated for version 7.0044
vimboss
parents: 101
diff changeset
2177 #pragma option -p.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2178 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
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
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2183 /* Avoid warning for old style function declarators */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2184 #pragma warning(disable : 4131)
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2185 /* Avoid warning for conversion to type with smaller range */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2186 #pragma warning(disable : 4244)
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2187 /* Avoid warning for conversion to larger size */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2188 #pragma warning(disable : 4306)
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2189 /* Avoid warning for unreferenced formal parameter */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2190 #pragma warning(disable : 4100)
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2191 /* Avoid warning for differs in indirection to slightly different base type */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2192 #pragma warning(disable : 4057)
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2193 /* Avoid warning for constant conditional expression */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2194 #pragma warning(disable : 4127)
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
2195 /* Avoid warning for assignment within conditional */
68e0e6bb8250 updated for version 7.4.626
Bram Moolenaar <bram@vim.org>
parents: 6533
diff changeset
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
f52d2ea0f81c updated for version 7.3.535
Bram Moolenaar <bram@vim.org>
parents: 3503
diff changeset
2199 /* Note: a NULL argument for vim_realloc() is not portable, don't use it. */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2200 #if defined(MEM_PROFILE)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2201 # define vim_realloc(ptr, size) mem_realloc((ptr), (size))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2202 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2203 # define vim_realloc(ptr, size) realloc((ptr), (size))
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2204 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2205
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2206 /*
1236
2fdf3369a76d updated for version 7.1
vimboss
parents: 1190
diff changeset
2207 * The following macros stop display/event loop nesting at the wrong time.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2208 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2209 #ifdef ALT_X_INPUT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2210 # define ALT_INPUT_LOCK_OFF suppress_alternate_input = FALSE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2211 # define ALT_INPUT_LOCK_ON suppress_alternate_input = TRUE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2212 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2213
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2214 #ifdef FEAT_MBYTE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2215 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2216 * Return byte length of character that starts with byte "b".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2217 * Returns 1 for a single-byte character.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2218 * MB_BYTE2LEN_CHECK() can be used to count a special key as one byte.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2219 * Don't call MB_BYTE2LEN(b) with b < 0 or b > 255!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2220 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2221 # define MB_BYTE2LEN(b) mb_bytelen_tab[b]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2222 # define MB_BYTE2LEN_CHECK(b) (((b) < 0 || (b) > 255) ? 1 : mb_bytelen_tab[b])
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2223 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2224
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2225 #if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2226 /* properties used in enc_canon_table[] (first three mutually exclusive) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2227 # define ENC_8BIT 0x01
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2228 # define ENC_DBCS 0x02
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2229 # define ENC_UNICODE 0x04
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2230
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2231 # define ENC_ENDIAN_B 0x10 /* Unicode: Big endian */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2232 # define ENC_ENDIAN_L 0x20 /* Unicode: Little endian */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2233
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2234 # define ENC_2BYTE 0x40 /* Unicode: UCS-2 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2235 # define ENC_4BYTE 0x80 /* Unicode: UCS-4 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2236 # define ENC_2WORD 0x100 /* Unicode: UTF-16 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2237
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2238 # define ENC_LATIN1 0x200 /* Latin1 */
26
404aac550f35 updated for version 7.0017
vimboss
parents: 24
diff changeset
2239 # define ENC_LATIN9 0x400 /* Latin9 */
404aac550f35 updated for version 7.0017
vimboss
parents: 24
diff changeset
2240 # define ENC_MACROMAN 0x800 /* Mac Roman (not Macro Man! :-) */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2241 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2242
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2243 #ifdef FEAT_MBYTE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2244 # ifdef USE_ICONV
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2245 # ifndef EILSEQ
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2246 # define EILSEQ 123
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2247 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2248 # ifdef DYNAMIC_ICONV
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2249 /* On Win32 iconv.dll is dynamically loaded. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2250 # define ICONV_ERRNO (*iconv_errno())
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2251 # define ICONV_E2BIG 7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2252 # define ICONV_EINVAL 22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2253 # define ICONV_EILSEQ 42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2254 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2255 # define ICONV_ERRNO errno
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2256 # define ICONV_E2BIG E2BIG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2257 # define ICONV_EINVAL EINVAL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2258 # define ICONV_EILSEQ EILSEQ
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2259 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2260 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2261
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2262 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2263
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2264 /* ISSYMLINK(mode) tests if a file is a symbolic link. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2265 #if (defined(S_IFMT) && defined(S_IFLNK)) || defined(S_ISLNK)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2266 # define HAVE_ISSYMLINK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2267 # if defined(S_IFMT) && defined(S_IFLNK)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2268 # define ISSYMLINK(mode) (((mode) & S_IFMT) == S_IFLNK)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2269 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2270 # define ISSYMLINK(mode) S_ISLNK(mode)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2271 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2272 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2273
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2274 #define SIGN_BYTE 1 /* byte value used where sign is displayed;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2275 attribute value is sign type */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2276
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2277 #ifdef FEAT_NETBEANS_INTG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2278 # define MULTISIGN_BYTE 2 /* byte value used where sign is displayed if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2279 multiple signs exist on the line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2280 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2281
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2282 #if defined(FEAT_GUI) && defined(FEAT_XCLIPBOARD)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2283 # ifdef FEAT_GUI_GTK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2284 /* Avoid using a global variable for the X display. It's ugly
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2285 * and is likely to cause trouble in multihead environments. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2286 # define X_DISPLAY ((gui.in_use) ? gui_mch_get_display() : xterm_dpy)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2287 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2288 # define X_DISPLAY (gui.in_use ? gui.dpy : xterm_dpy)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2289 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2290 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2291 # ifdef FEAT_GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2292 # ifdef FEAT_GUI_GTK
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2293 # define X_DISPLAY ((gui.in_use) ? gui_mch_get_display() : (Display *)NULL)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2294 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2295 # define X_DISPLAY gui.dpy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2296 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2297 # else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2298 # define X_DISPLAY xterm_dpy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2299 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2300 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2301
3666
46896c29edd7 updated for version 7.3.593
Bram Moolenaar <bram@vim.org>
parents: 3584
diff changeset
2302 #if defined(FEAT_BROWSE) && defined(GTK_CHECK_VERSION)
46896c29edd7 updated for version 7.3.593
Bram Moolenaar <bram@vim.org>
parents: 3584
diff changeset
2303 # if GTK_CHECK_VERSION(2,4,0)
46896c29edd7 updated for version 7.3.593
Bram Moolenaar <bram@vim.org>
parents: 3584
diff changeset
2304 # define USE_FILE_CHOOSER
46896c29edd7 updated for version 7.3.593
Bram Moolenaar <bram@vim.org>
parents: 3584
diff changeset
2305 # endif
46896c29edd7 updated for version 7.3.593
Bram Moolenaar <bram@vim.org>
parents: 3584
diff changeset
2306 #endif
46896c29edd7 updated for version 7.3.593
Bram Moolenaar <bram@vim.org>
parents: 3584
diff changeset
2307
1750
c5e1b4b9016f updated for version 7.2-047
vimboss
parents: 1746
diff changeset
2308 #ifndef FEAT_NETBEANS_INTG
c5e1b4b9016f updated for version 7.2-047
vimboss
parents: 1746
diff changeset
2309 # undef NBDEBUG
c5e1b4b9016f updated for version 7.2-047
vimboss
parents: 1746
diff changeset
2310 #endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2311 #ifdef NBDEBUG /* Netbeans debugging. */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2312 # include "nbdebug.h"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2313 #else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2314 # define nbdebug(a)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2315 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2316
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2317 #ifdef IN_PERL_FILE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2318 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2319 * Avoid clashes between Perl and Vim namespace.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2320 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2321 # undef NORMAL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2322 # undef STRLEN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2323 # undef FF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2324 # undef OP_DELETE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2325 # undef OP_JOIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2326 # ifdef __BORLANDC__
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2327 # define NOPROTO 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2328 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2329 /* remove MAX and MIN, included by glib.h, redefined by sys/param.h */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2330 # ifdef MAX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2331 # undef MAX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2332 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2333 # ifdef MIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2334 # undef MIN
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2335 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2336 /* We use _() for gettext(), Perl uses it for function prototypes... */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2337 # ifdef _
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2338 # undef _
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2339 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2340 # ifdef DEBUG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2341 # undef DEBUG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2342 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2343 # ifdef _DEBUG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2344 # undef _DEBUG
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2345 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2346 # ifdef instr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2347 # undef instr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2348 # endif
1702
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1686
diff changeset
2349 /* bool may cause trouble on MACOS but is required on a few other systems
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1686
diff changeset
2350 * and for Perl */
5232b9862f23 updated for version 7.2-000
vimboss
parents: 1686
diff changeset
2351 # if defined(bool) && defined(MACOS) && !defined(FEAT_PERL)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2352 # undef bool
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2353 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2354
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2355 # ifdef __BORLANDC__
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2356 /* Borland has the structure stati64 but not _stati64 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2357 # define _stati64 stati64
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2358 # endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2359 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2360
412
53c36fa7dc29 updated for version 7.0108
vimboss
parents: 406
diff changeset
2361 /* values for vim_handle_signal() that are not a signal */
37
fdf55076c53f updated for version 7.0022
vimboss
parents: 36
diff changeset
2362 #define SIGNAL_BLOCK -1
fdf55076c53f updated for version 7.0022
vimboss
parents: 36
diff changeset
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
53c36fa7dc29 updated for version 7.0108
vimboss
parents: 406
diff changeset
2365 # define vim_handle_signal(x) 0
36
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
2366 #endif
125e80798a85 updated for version 7.0021
vimboss
parents: 33
diff changeset
2367
170
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
2368 /* flags for skip_vimgrep_pat() */
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
2369 #define VGR_GLOBAL 1
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
2370 #define VGR_NOJUMP 2
8c60f65311fa updated for version 7.0052
vimboss
parents: 167
diff changeset
2371
595
fea48f63efc8 updated for version 7.0169
vimboss
parents: 592
diff changeset
2372 /* behavior for bad character, "++bad=" argument */
fea48f63efc8 updated for version 7.0169
vimboss
parents: 592
diff changeset
2373 #define BAD_REPLACE '?' /* replace it with '?' (default) */
fea48f63efc8 updated for version 7.0169
vimboss
parents: 592
diff changeset
2374 #define BAD_KEEP -1 /* leave it */
fea48f63efc8 updated for version 7.0169
vimboss
parents: 592
diff changeset
2375 #define BAD_DROP -2 /* erase it */
fea48f63efc8 updated for version 7.0169
vimboss
parents: 592
diff changeset
2376
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 811
diff changeset
2377 /* last argument for do_source() */
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 811
diff changeset
2378 #define DOSO_NONE 0
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 811
diff changeset
2379 #define DOSO_VIMRC 1 /* loading vimrc file */
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 811
diff changeset
2380 #define DOSO_GVIMRC 2 /* loading gvimrc file */
788
b5aed52a4881 updated for version 7.0230
vimboss
parents: 763
diff changeset
2381
1733
5a7384b9ca66 updated for version 7.2-031
vimboss
parents: 1702
diff changeset
2382 /* flags for read_viminfo() and children */
5a7384b9ca66 updated for version 7.2-031
vimboss
parents: 1702
diff changeset
2383 #define VIF_WANT_INFO 1 /* load non-mark info */
5a7384b9ca66 updated for version 7.2-031
vimboss
parents: 1702
diff changeset
2384 #define VIF_WANT_MARKS 2 /* load file marks */
5a7384b9ca66 updated for version 7.2-031
vimboss
parents: 1702
diff changeset
2385 #define VIF_FORCEIT 4 /* overwrite info already read */
5a7384b9ca66 updated for version 7.2-031
vimboss
parents: 1702
diff changeset
2386 #define VIF_GET_OLDFILES 8 /* load v:oldfiles */
5a7384b9ca66 updated for version 7.2-031
vimboss
parents: 1702
diff changeset
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
6a2e4860134b updated for version 7.3.091
Bram Moolenaar <bram@vim.org>
parents: 2668
diff changeset
2399 #define KEYLEN_PART_KEY -1 /* keylen value for incomplete key-code */
6a2e4860134b updated for version 7.3.091
Bram Moolenaar <bram@vim.org>
parents: 2668
diff changeset
2400 #define KEYLEN_PART_MAP -2 /* keylen value for incomplete mapping */
6a2e4860134b updated for version 7.3.091
Bram Moolenaar <bram@vim.org>
parents: 2668
diff changeset
2401 #define KEYLEN_REMOVED 9999 /* keylen value for removed sequence */
6a2e4860134b updated for version 7.3.091
Bram Moolenaar <bram@vim.org>
parents: 2668
diff changeset
2402
2793
ee48b3da9d53 updated for version 7.3.172
Bram Moolenaar <bram@vim.org>
parents: 2770
diff changeset
2403 /* Return values from win32_fileinfo(). */
ee48b3da9d53 updated for version 7.3.172
Bram Moolenaar <bram@vim.org>
parents: 2770
diff changeset
2404 #define FILEINFO_OK 0
ee48b3da9d53 updated for version 7.3.172
Bram Moolenaar <bram@vim.org>
parents: 2770
diff changeset
2405 #define FILEINFO_ENC_FAIL 1 /* enc_to_utf16() failed */
ee48b3da9d53 updated for version 7.3.172
Bram Moolenaar <bram@vim.org>
parents: 2770
diff changeset
2406 #define FILEINFO_READ_FAIL 2 /* CreateFile() failed */
ee48b3da9d53 updated for version 7.3.172
Bram Moolenaar <bram@vim.org>
parents: 2770
diff changeset
2407 #define FILEINFO_INFO_FAIL 3 /* GetFileInformationByHandle() failed */
ee48b3da9d53 updated for version 7.3.172
Bram Moolenaar <bram@vim.org>
parents: 2770
diff changeset
2408
4350
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2409 /* Return value from get_option_value_strict */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2410 #define SOPT_BOOL 0x01 /* Boolean option */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2411 #define SOPT_NUM 0x02 /* Number option */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2412 #define SOPT_STRING 0x04 /* String option */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2413 #define SOPT_GLOBAL 0x08 /* Option has global value */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2414 #define SOPT_WIN 0x10 /* Option has window-local value */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2415 #define SOPT_BUF 0x20 /* Option has buffer-local value */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2416 #define SOPT_UNSET 0x40 /* Option does not have local value set */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2417
5610
2ace11abcfb5 updated for version 7.4.152
Bram Moolenaar <bram@vim.org>
parents: 5464
diff changeset
2418 /* Option types for various functions in option.c */
4350
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2419 #define SREQ_GLOBAL 0 /* Request global option */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2420 #define SREQ_WIN 1 /* Request window-local option */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2421 #define SREQ_BUF 2 /* Request buffer-local option */
7eaccdaa5304 updated for version 7.3.924
Bram Moolenaar <bram@vim.org>
parents: 4242
diff changeset
2422
5796
f084024c0ddb updated for version 7.4.242
Bram Moolenaar <bram@vim.org>
parents: 5780
diff changeset
2423 /* Flags for get_reg_contents */
f084024c0ddb updated for version 7.4.242
Bram Moolenaar <bram@vim.org>
parents: 5780
diff changeset
2424 #define GREG_NO_EXPR 1 /* Do not allow expression register */
f084024c0ddb updated for version 7.4.242
Bram Moolenaar <bram@vim.org>
parents: 5780
diff changeset
2425 #define GREG_EXPR_SRC 2 /* Return expression itself for "=" register */
f084024c0ddb updated for version 7.4.242
Bram Moolenaar <bram@vim.org>
parents: 5780
diff changeset
2426 #define GREG_LIST 4 /* Return list */
f084024c0ddb updated for version 7.4.242
Bram Moolenaar <bram@vim.org>
parents: 5780
diff changeset
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
6ae816249627 updated for version 7.4.079
Bram Moolenaar <bram@vim.org>
parents: 5261
diff changeset
2431 #ifdef FEAT_EVAL
6413
01c668384bcc updated for version 7.4.537
Bram Moolenaar <bram@vim.org>
parents: 6174
diff changeset
2432 # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag); set_vim_var_nr(VV_HLSEARCH, !no_hlsearch && p_hls)
5458
6ae816249627 updated for version 7.4.079
Bram Moolenaar <bram@vim.org>
parents: 5261
diff changeset
2433 #else
6ae816249627 updated for version 7.4.079
Bram Moolenaar <bram@vim.org>
parents: 5261
diff changeset
2434 # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
6ae816249627 updated for version 7.4.079
Bram Moolenaar <bram@vim.org>
parents: 5261
diff changeset
2435 #endif
6ae816249627 updated for version 7.4.079
Bram Moolenaar <bram@vim.org>
parents: 5261
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2517 #endif /* VIM__H */