Mercurial > vim
annotate src/INSTALLvms.txt @ 32838:eaf22d1df3c1 v9.0.1731
patch 9.0.1731: blockwise Visual highlight not working with virtual text
Commit: https://github.com/vim/vim/commit/6e940d9a1d4ff122aad1b0821c784a60b507d45c
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Aug 17 23:21:40 2023 +0200
patch 9.0.1731: blockwise Visual highlight not working with virtual text
Problem: blockwise Visual highlight not working with virtual text
Solution: Reset the correct variable at the end of virtual selection and
Check for double-width char inside virtual text.
closes: #12606
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Aug 2023 23:30:04 +0200 |
parents | 2295ee9c025d |
children | cb88e5c589d0 |
rev | line source |
---|---|
7 | 1 INSTALLvms.txt - Installation of Vim on OpenVMS |
2 | |
412 | 3 Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com> |
1619 | 4 Last change: 2008 Jan 06 |
7 | 5 |
6 This file contains instructions for compiling Vim on Openvms. | |
7 If you already have an executable version of Vim, you don't need this. | |
8 | |
9 If you skip settings described here, then you will get the default Vim | |
10 behavior as it is documented, which should be fine for most users. | |
11 | |
23047 | 12 The file "feature.h" can be edited to match your preferences, but this file |
7 | 13 does not describe possibilities hidden in feature.h acrobatics, however |
23047 | 14 parameters from MAKE_VMS.MMS actively use and set up parameters in relation |
7 | 15 with feature.h |
16 | |
23047 | 17 More information and case analysis you can find in os_vms.txt |
7 | 18 ([runtime.doc]os_vms.txt or :help vms from vim prompt) |
19 | |
20 Contents: | |
21 1. Download files | |
22 2. Configuration | |
23 3. Compilation DECC | |
24 4. Compilation VAXC | |
25 5. CTAGS, XXD | |
26 6. Deployment | |
27 7. GTK and other features | |
28 8. Notes | |
29 9. Authors | |
30 | |
31 ---------------------------------------------------------------------------- | |
32 1. Download files | |
33 | |
34 1.1. Visit the Vim ftp site (see ftp://ftp.vim.org/pub/vim/MIRRORS) | |
35 and obtain the following three files: | |
36 | |
37 unix/vim-X.X-src.tar.gz | |
38 unix/vim-X.X-rt.tar.gz | |
39 extra/vim-X.X-extra.tar.gz | |
40 | |
41 where X.X is the version number. | |
42 | |
43 1.2. Expand the three archives. | |
44 | |
45 1.3. Apply patches if they exist. (Patch files are found in the ftp | |
46 site in the "patches" directory.) | |
47 | |
48 1.4. You will need either the DECSET mms utility or the freely available clone | |
49 of it called mmk (VMS has no make utility in the standard distribution). | |
50 You can download mmk from http://www.openvms.digital.com/freeware/MMK/ | |
51 | |
52 1.5. If you want to have Perl, Python or Tcl support in Vim you will need VMS | |
53 distributions for them as well. | |
54 | |
55 1.6 If you want to have GTK executable, you need to have properly installed | |
56 GTK libraries. | |
57 | |
58 NOTE: procedure in chapter 1 describes source code preparation from multi OS | |
1188 | 59 code, however it is available OpenVMS optimized (and tested) source code from: |
7 | 60 ftp://ftp.polarhome.com/pub/vim/source/vms/ |
412 | 61 (http://www.polarhome.com/vim/files/source/vms/) |
7 | 62 |
63 Current OpenVMS source code as .zip or .tar.gz file is possible to download | |
64 from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/ | |
412 | 65 (http://www.polarhome.com/cvs/SOURCE/) |
7 | 66 |
67 2. Configuration | |
68 | |
69 2.1. Edit vim-X.X/src/feature.h for your preference. (You can skip | |
70 this, then you will get the default behavior as is documented, | |
71 which should be fine for most people.) | |
72 | |
73 For example, if you want to add the MULTI_BYTE feature, turn on | |
74 #define MULTI_BYTE | |
75 | |
76 2.2 Edit vim-X.X/src/Make_vms.mms to customize your Vim. Options are: | |
77 | |
78 Parameter name : MODEL | |
79 Description : Build model selection | |
30645
101f08b49ed3
patch 9.0.0657: too many #ifdefs
Bram Moolenaar <Bram@vim.org>
parents:
23047
diff
changeset
|
80 Options: : TINY - No optional features enabled |
7 | 81 NORMAL - A default selection of features enabled |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
82 (OpenVMS default) |
1619 | 83 HUGE - All possible features enabled. |
30731
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
84 Uncommented - will default to NORMAL |
2295ee9c025d
patch 9.0.0700: there is no real need for a "big" build
Bram Moolenaar <Bram@vim.org>
parents:
30645
diff
changeset
|
85 Default : MODEL = NORMAL |
7 | 86 |
87 Parameter name : GUI | |
88 Description : GUI or terminal mode executable | |
89 Options: : YES - GUI executable | |
90 Uncommented - char only | |
91 Default : GUI = YES | |
92 | |
93 Parameter name : GTK | |
94 Description : Enable GTK in GUI mode. | |
95 It enables features as toolbar etc. | |
96 Options: : YES - GTK executable | |
97 Uncommented - without GTK | |
98 Default : Uncommented | |
99 | |
412 | 100 Parameter name : XPM |
101 Description : Enable XPM libraries in GUI/Motif mode. | |
102 It enables features as toolbar etc. | |
103 Options: : YES - GUI executable | |
104 Uncommented - without XPM | |
105 Default : Uncommented | |
106 | |
7 | 107 Parameter name : DECC |
108 Description : Compiler selection | |
109 Options: : YES - DECC compiler | |
110 Uncommented - VAXC compiler | |
111 Default : DECC = YES | |
112 | |
113 Parameter name : CCVER | |
114 Description : Compiler version with :ver command | |
115 Options: : YES - Compiler version info will be added | |
116 Uncommented - will not be added | |
117 Default : CCVER = YES | |
118 | |
119 Parameter name : DEBUG | |
120 Description : Building a debug version | |
121 Options: : YES - debug version will be built | |
122 Uncommented - building normal executable | |
123 Default : Uncommented | |
124 | |
125 Parameter name : VIM_TCL | |
126 Description : Add Tcl support | |
127 Options: : YES - Build with support | |
128 Uncommented - build without support. | |
129 Default : Uncommented | |
130 | |
131 Parameter name : VIM_PERL | |
132 Description : Add Perl support | |
133 Options: : YES - Build with support | |
134 Uncommented - build without support. | |
135 Default : Uncommented | |
136 | |
137 Parameter name : VIM_PYTHON | |
138 Description : Add Python support | |
139 Options: : YES - Build with support | |
140 Uncommented - build without support. | |
141 Default : Uncommented | |
142 | |
143 Parameter name : VIM_XIM | |
144 Description : X Input Method. For entering special languages | |
23047 | 145 like Chinese and Japanese. Please define just |
7 | 146 one: VIM_XIM or VIM_HANGULIN |
147 Options: : YES - Build with support | |
148 Uncommented - build without support. | |
149 Default : Uncommented | |
150 | |
151 Parameter name : VIM_HANGULIN | |
152 Description : Internal Hangul input method. GUI only. | |
153 Please define just one: VIM_XIM or VIM_HANGULIN | |
154 Options: : YES - Build with support | |
155 Uncommented - build without support. | |
156 Default : Uncommented | |
157 | |
158 Parameter name : VIM_TAG_ANYWHITE | |
159 Description : Allow any white space to separate the fields in a | |
160 tags file | |
161 When not defined, only a TAB is allowed. | |
162 Options: : YES - Build with support | |
163 Uncommented - build without support. | |
164 Default : Uncommented | |
165 | |
166 You can edit the *_INC and *_LIB qualifiers, but it is really | |
167 not recommended for beginners. | |
168 | |
169 3. Compilation DECC | |
170 | |
171 3.1. If you have MSS on your system, the command | |
172 | |
173 mms /descrip=Make_vms.mms | |
174 | |
175 will start building your own customized version of Vim. | |
176 The adequate command for mmk is: | |
177 | |
178 mmk /descrip=Make_vms.mms | |
179 | |
180 NOTE: Because of empty /auto/config.h (needed for Unix configure) build | |
181 will fail with very strange messages. Therefore before building, it is | |
182 recommended to make one clean up, to prepare everything for OpenVMS | |
183 development. The command is: | |
184 | |
185 mms /descrip=Make_vms.mms clean | |
186 | |
187 4. Compilation VAXC | |
188 | |
189 4.1. VAXC compiler is not fully ANSI C compatible in pre-processor directives | |
190 semantics, therefore you have to use a converter program what will do the | |
191 lion part of the job. | |
192 | |
193 @os_vms_fix.com *.c *.h <.proto>*.pro | |
194 | |
195 more information can be found in os_vms_fix.com file itself. | |
196 | |
197 NOTE: even if os_vms_fix.com will fix all pre-processor directives it will | |
19195
2ef19eed524a
patch 8.2.0156: various typos in source files and tests
Bram Moolenaar <Bram@vim.org>
parents:
18456
diff
changeset
|
198 leave single (long) line directives. You have to fix them manually. |
7 | 199 Known problematic files are option.h and option.c |
200 | |
201 4.2. After the conversion you can continue building as it has been described | |
202 above. | |
203 | |
204 5. CTAGS, XXD | |
205 | |
206 5.1. MMS_VIM.EXE is building together with VIM.EXE, but for CTAGS.EXE and | |
207 XXD.EXE you should change to subdirectory <.CTAGS> or <.XXD> and build | |
208 them separately. | |
209 | |
23047 | 210 5.2. In these directories you can find one make file for VMS as well. |
7 | 211 Please read the detailed build instructions in the related *.MMS file. |
212 | |
213 6. Deployment | |
214 | |
215 6.1. Copy over all executables to the deployment directory. | |
216 | |
217 6.2. Vim uses a special directory structure to hold the document and runtime | |
218 files: | |
219 | |
220 vim (or wherever) | |
221 |-- doc | |
222 |-- syntax | |
223 vimrc (system rc files) | |
224 gvimrc | |
225 | |
226 6.3 Define logicals VIM | |
227 | |
228 define/nolog VIM device:[leading-path-here.vim] | |
229 | |
230 to get vim.exe to find its document, filetype, and syntax files. | |
231 | |
232 Now, if you are lucky you should have one own built, customized and | |
233 working Vim. | |
234 | |
235 7. GTK and other features | |
236 | |
237 7.1 General notes | |
238 | |
2453
1cd1c68045a2
Fix typos in README files. (Dominique Pelle)
Bram Moolenaar <bram@vim.org>
parents:
1619
diff
changeset
|
239 To be able to build external GUI or language support you have to enable |
18456 | 240 related feature in MAKE_VMS.MMS file. Usually it needs some extra tuning |
7 | 241 around include files, shared libraries etc. |
242 | |
243 Please note, that leading "," are valuable for MMS/MMK syntax. | |
244 | |
245 MAKE_VMS.MMS uses defines as described below: | |
246 | |
247 7.1.1 feature_DEF = ,"SOME_FEATURE" | |
248 | |
249 Submits definition to compiler preprocessor to enable code blocks | |
250 defined with | |
251 #ifdef SOME_FEATURE | |
252 {some code here} | |
253 #endif | |
254 | |
255 Example: TCL_DEF = ,"FEAT_TCL" | |
256 | |
257 | |
258 7.1.2 feature_SRC = code1.c code2.c | |
259 | |
260 Defines source code related with particular feature. | |
261 Example: TCL_SRC = if_tcl.c | |
262 | |
263 7.1.3 feature_OBJ = code1.obj code2.obj | |
264 | |
265 Lists objects created from source codes listed in feature_SRC | |
266 Example: PERL_OBJ = if_perlsfio.obj if_perl.obj | |
267 | |
268 7.1.4 feature_LIB = ,OS_VMS_TCL.OPT/OPT | |
269 | |
270 Defines the libraries that have to be used for build. | |
271 If it is an OPT file then MAKE_VMS.MMS creates OPT files | |
272 in gen_feature procedure. | |
273 | |
274 Example: | |
275 PERL_LIB = ,OS_VMS_PERL.OPT/OPT | |
276 | |
277 .IFDEF VIM_PERL | |
278 perl_env : | |
279 -@ write sys$output "creating OS_VMS_PERL.OPT file." | |
280 -@ open/write opt_file OS_VMS_PERL.OPT | |
281 -@ write opt_file "PERLSHR /share" | |
282 -@ close opt_file | |
283 .ELSE | |
284 perl_env : | |
285 -@ ! | |
286 .ENDIF | |
287 | |
288 | |
289 7.1.5 feature_INC = ,dka0:[tcl80.generic] | |
290 | |
291 Defines the directory where the necessary include files are. | |
292 Example: TCL_INC = ,dka0:[tcl80.generic] | |
293 | |
294 7.2 GTK | |
295 | |
296 To build VIM with GTK you have to install GTK on your OpenVMS. | |
412 | 297 So far it works just on Alpha and IA64. More information at: |
7 | 298 http://www.openvms.compaq.com/openvms/products/ips/gtk.html |
299 | |
23047 | 300 You also need the OpenVMS Porting Library: |
7 | 301 http://www.openvms.compaq.com/openvms/products/ips/porting.html |
302 | |
856 | 303 Source code for GTK and porting library that is used to build |
701 | 304 VMS executables at polarhome.com are at |
305 http://www.polarhome.com/vim/files/source/vms/ | |
306 | |
7 | 307 Enable GTK in make_vms.mms file with GTK = YES |
308 Define GTK_ROOT that points to your GTK root directory. | |
309 | |
701 | 310 You will need to edit GTKDIR variable in order to point |
311 to GTK header files and libraries. | |
312 | |
313 GTK_DIR = ALPHA$DKA0:[GTK128.] | |
314 | |
315 ".]" at the end is very important. | |
316 | |
7 | 317 Build it as normally. |
318 | |
19195
2ef19eed524a
patch 8.2.0156: various typos in source files and tests
Bram Moolenaar <Bram@vim.org>
parents:
18456
diff
changeset
|
319 Used shareable images are: |
7 | 320 gtk_root:[glib]libglib.exe /share,- |
321 gtk_root:[glib.gmodule]libgmodule.exe /share,- | |
322 gtk_root:[gtk.gdk]libgdk.exe /share,- | |
323 gtk_root:[gtk.gtk]libgtk.exe /share | |
324 | |
325 During runtime it is suggested to have all these files installed and | |
1188 | 326 copied to SYS$LIBRARY: to be able to use it without problems. |
7 | 327 Also VMS_JACKETS.EXE from OpenVMS Porting Library. |
328 | |
329 Please note, that GTK uses /name=(as_is,short)/float=ieee/ieee=denorm | |
4352 | 330 compiler directives that is not compatible with "standard" VMS usage, |
7 | 331 therefore other external features might fail as PERL, PYTHON and TCL |
332 support. | |
333 | |
334 7.3 PERL | |
335 | |
336 You have to install OpenVMS perl package from: | |
337 http://www.openvms.compaq.com/openvms/products/ips/apache/csws_perl_relnotes.html or build on your own from sources downloaded from http://www.perl.org | |
338 | |
339 You need defined PERLSHR logical that points to PERL shareable image | |
340 (or you can just copy over to SYS$LIBRARY:) | |
341 | |
342 Enable Perl feature at make_vms.mms with VIM_PERL = YES | |
343 | |
344 Edit PERL_INC = to point to perl includes directory where is extern.h | |
345 | |
23047 | 346 Build as usual. |
7 | 347 |
348 7.4 PYTHON | |
349 | |
350 You have to install an OpenVMS python package. | |
351 Set up the normal Python work environment. | |
352 | |
353 You have to have defined PYTHON_INCLUDE and PYTHON_OLB logicals. | |
354 PYTHON_INCLUDE should point to Python include files where for ex: | |
355 python.h is located. | |
356 Enable Python feature at make_vms.mms with VIM_PYTHON = YES | |
357 | |
23047 | 358 Build as usual. |
7 | 359 |
360 7.5 TCL | |
361 | |
362 You have to install an OpenVMS TCL package. | |
363 Set up the normal TCL work environment. | |
364 | |
365 You have to have defined TCLSHR logical that points to shareable image. | |
366 | |
367 Enable TCL feature at make_vms.mms with VIM_TCL = YES | |
368 | |
369 Edit TCL_INC = to point to TCL includes directory where is tcl.h | |
370 | |
23047 | 371 Build as usual. |
7 | 372 |
373 8. Notes | |
374 | |
375 8.1. New Compaq C compiler | |
376 | |
23047 | 377 If you are using Compaq C compiler V6.2 or newer, informational messages |
7 | 378 of the type QUESTCOMPARE will be displayed. You should ignore those |
379 messages ; they are generated only because some test comparisons are done | |
380 with variables which type vary depending on the OS. Under VMS, those are | |
381 "unsigned" and the compiler issue a message whenever the comparison is | |
382 done with '<=' to 0. However, the code is correct and will behave as | |
383 expected. | |
384 ( Jerome Lauret <JLAURET@mail.chem.sunysb.edu> Vim 6.0n ) | |
385 NOTE: from version 6.0ad Vim code has been reviewed and these warnings | |
386 have been corrected. | |
387 | |
388 9. Authors | |
389 | |
412 | 390 Initial version, 2000 Jul 19, Zoltan Arpadffy <arpadffy@polarhome.com> |