Mercurial > vim
annotate runtime/doc/version5.txt @ 9068:0a3bc9fdea20 v7.4.1819
commit https://github.com/vim/vim/commit/827b165b2aebad2cfe98cc6d5804c6c0fe8afd89
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 5 18:14:03 2016 +0200
patch 7.4.1819
Problem: Compiler warnings when sprintf() is a macro.
Solution: Don't interrupt sprintf() with an #ifdef. (Michael Jarvis,
closes https://github.com/vim/vim/issues/788)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 05 May 2016 18:15:05 +0200 |
parents | 88207f4b861a |
children | 9f48eab77d62 |
rev | line source |
---|---|
8303
88207f4b861a
commit https://github.com/vim/vim/commit/dae8d21dd291df6a6679a00be64e18bca0156576
Christian Brabandt <cb@256bit.org>
parents:
7477
diff
changeset
|
1 *version5.txt* For Vim version 7.4. Last change: 2016 Feb 27 |
7 | 2 |
3 | |
4 VIM REFERENCE MANUAL by Bram Moolenaar | |
5 | |
6 Welcome to Vim Version 5.0! | |
7 | |
8 This document lists the differences between Vim 4.x and Vim 5.0. | |
3750 | 9 Although 5.0 is mentioned here, this is also for version 5.1, 5.2, etc. |
7 | 10 See |vi_diff.txt| for an overview of differences between Vi and Vim 5.0. |
11 See |version4.txt| for differences between Vim 3.0 and Vim 4.0. | |
12 | |
13 INCOMPATIBLE: |incompatible-5| | |
14 | |
15 Default value for 'compatible' changed |cp-default| | |
16 Text formatting command "Q" changed |Q-command-changed| | |
17 Command-line arguments changed |cmdline-changed| | |
18 Autocommands are kept |autocmds-kept| | |
19 Use of 'hidden' changed |hidden-changed| | |
20 Text object commands changed |text-objects-changed| | |
21 X-Windows Resources removed |x-resources| | |
22 Use of $VIM |$VIM-use| | |
23 Use of $HOME for MS-DOS and Win32 |$HOME-use| | |
24 Tags file format changed |tags-file-changed| | |
25 Options changed |options-changed| | |
26 CTRL-B in Insert mode gone |i_CTRL-B-gone| | |
27 | |
28 NEW FEATURES: |new-5| | |
29 | |
30 Syntax highlighting |new-highlighting| | |
31 Built-in script language |new-script| | |
32 Perl and Python support |new-perl-python| | |
33 Win32 GUI version |added-win32-GUI| | |
34 VMS version |added-VMS| | |
35 BeOS version |added-BeOS| | |
36 Macintosh GUI version |added-Mac| | |
37 More Vi compatible |more-compatible| | |
38 Read input from stdin |read-stdin| | |
39 Regular expression patterns |added-regexp| | |
40 Overloaded tags |tag-overloaded| | |
41 New commands |new-commands| | |
42 New options |added-options| | |
43 New command-line arguments |added-cmdline-args| | |
44 Various additions |added-various| | |
45 | |
46 IMPROVEMENTS |improvements-5| | |
47 | |
48 COMPILE TIME CHANGES |compile-changes-5| | |
49 | |
50 BUG FIXES |bug-fixes-5| | |
51 | |
52 VERSION 5.1 |version-5.1| | |
53 Changed |changed-5.1| | |
54 Added |added-5.1| | |
55 Fixed |fixed-5.1| | |
56 | |
57 VERSION 5.2 |version-5.2| | |
58 Long lines editable |long-lines| | |
59 File browser added |file-browser-5.2| | |
60 Dialogs added |dialogs-added| | |
61 Popup menu added |popup-menu-added| | |
62 Select mode added |new-Select-mode| | |
63 Session files added |new-session-files| | |
64 User defined functions and commands |new-user-defined| | |
65 New interfaces |interfaces-5.2| | |
66 New ports |ports-5.2| | |
67 Multi-byte support |new-multi-byte| | |
68 New functions |new-functions-5.2| | |
69 New options |new-options-5.2| | |
70 New Ex commands |new-ex-commands-5.2| | |
71 Changed |changed-5.2| | |
72 Added |added-5.2| | |
73 Fixed |fixed-5.2| | |
74 | |
75 VERSION 5.3 |version-5.3| | |
76 Changed |changed-5.3| | |
77 Added |added-5.3| | |
78 Fixed |fixed-5.3| | |
79 | |
80 VERSION 5.4 |version-5.4| | |
81 Runtime directory introduced |new-runtime-dir| | |
82 Filetype introduced |new-filetype-5.4| | |
83 Vim script line continuation |new-line-continuation| | |
84 Improved session files |improved-sessions| | |
85 Autocommands improved |improved-autocmds-5.4| | |
86 Encryption |new-encryption| | |
87 GTK GUI port |new-GTK-GUI| | |
88 Menu changes |menu-changes-5.4| | |
89 Viminfo improved |improved-viminfo| | |
90 Various new commands |new-commands-5.4| | |
91 Various new options |new-options-5.4| | |
92 Vim scripts |new-script-5.4| | |
93 Avoid hit-enter prompt |avoid-hit-enter| | |
94 Improved quickfix |improved-quickfix| | |
95 Regular expressions |regexp-changes-5.4| | |
96 Changed |changed-5.4| | |
97 Added |added-5.4| | |
98 Fixed |fixed-5.4| | |
99 | |
100 VERSION 5.5 |version-5.5| | |
101 Changed |changed-5.5| | |
102 Added |added-5.5| | |
103 Fixed |fixed-5.5| | |
104 | |
105 VERSION 5.6 |version-5.6| | |
106 Changed |changed-5.6| | |
107 Added |added-5.6| | |
108 Fixed |fixed-5.6| | |
109 | |
110 VERSION 5.7 |version-5.7| | |
111 Changed |changed-5.7| | |
112 Added |added-5.7| | |
113 Fixed |fixed-5.7| | |
114 | |
115 VERSION 5.8 |version-5.8| | |
116 Changed |changed-5.8| | |
117 Added |added-5.8| | |
118 Fixed |fixed-5.8| | |
119 | |
120 ============================================================================== | |
121 INCOMPATIBLE *incompatible-5* | |
122 | |
123 Default value for 'compatible' changed *cp-default* | |
124 -------------------------------------- | |
125 | |
126 Vim version 5.0 tries to be more Vi compatible. This helps people who use Vim | |
127 as a drop-in replacement for Vi, but causes some things to be incompatible | |
128 with version 4.x. | |
129 | |
130 In version 4.x the default value for the 'compatible' option was off. Now the | |
131 default is on. The first thing you will notice is that the "u" command undoes | |
132 itself. Other side effects will be that mappings may work differently or not | |
133 work at all. | |
134 | |
135 Since a lot of people switching from Vim 4.x to 5.0 will find this annoying, | |
136 the 'compatible' option is switched off if Vim finds a vimrc file. This is a | |
137 bit of magic to make sure that 90% of the Vim users will not be bitten by | |
138 this change. | |
139 | |
140 What does this mean? | |
141 - If you prefer to run in 'compatible' mode and don't have a vimrc file, you | |
142 don't have to do anything. | |
143 - If you prefer to run in 'nocompatible' mode and do have a vimrc file, you | |
144 don't have to do anything. | |
145 - If you prefer to run in 'compatible' mode and do have a vimrc file, you | |
146 should put this line first in your vimrc file: > | |
147 :set compatible | |
148 - If you prefer to run in 'nocompatible' mode and don't have a vimrc file, | |
149 you can do one of the following: | |
150 - Create an empty vimrc file (e.g.: "~/.vimrc" for Unix). | |
151 - Put this command in your .exrc file or $EXINIT: > | |
152 :set nocompatible | |
153 < - Start Vim with the "-N" argument. | |
154 | |
155 If you are new to Vi and Vim, using 'nocompatible' is strongly recommended, | |
156 because Vi has a lot of unexpected side effects, which are avoided by this | |
157 setting. See 'compatible'. | |
158 | |
159 If you like some things from 'compatible' and some not, you can tune the | |
160 compatibility with 'cpoptions'. | |
161 | |
162 When you invoke Vim as "ex" or "gex", Vim always starts in compatible mode. | |
163 | |
164 | |
165 Text formatting command "Q" changed *Q-command-changed* | |
166 ----------------------------------- | |
167 | |
168 The "Q" command formerly formatted lines to the width the 'textwidth' option | |
169 specifies. The command for this is now "gq" (see |gq| for more info). The | |
170 reason for this change is that "Q" is the standard Vi command to enter "Ex" | |
171 mode, and Vim now does in fact have an "Ex" mode (see |Q| for more info). | |
172 | |
173 If you still want to use "Q" for formatting, use this mapping: > | |
174 :noremap Q gq | |
175 And if you also want to use the functionality of "Q": > | |
176 :noremap gQ Q | |
177 | |
178 | |
179 Command-line arguments changed *cmdline-changed* | |
180 ------------------------------ | |
181 | |
182 Command-line file-arguments and option-arguments can now be mixed. You can | |
183 give options after the file names. Example: > | |
184 vim main.c -g | |
185 | |
186 This is not possible when editing a file that starts with a '-'. Use the "--" | |
187 argument then |---|: > | |
188 vim -g -- -main.c | |
189 | |
190 "-v" now means to start Ex in Vi mode, use "-R" for read-only mode. | |
191 old: "vim -v file" |-v| | |
192 new: "vim -R file" |-R| | |
193 | |
194 "-e" now means to start Vi in Ex mode, use "-q" for quickfix. | |
195 old: "vim -e errorfile" |-e| | |
196 new: "vim -q errorfile" |-q| | |
197 | |
198 "-s" in Ex mode now means to run in silent (batch) mode. |-s-ex| | |
199 | |
200 "-x" reserved for crypt, use "-f" to avoid starting a new CLI (Amiga). | |
201 old: "vim -x file" |-x| | |
202 new: "vim -f file" |-f| | |
203 | |
204 Vim allows up to ten "+cmd" and "-c cmd" arguments. Previously Vim executed | |
205 only the last one. | |
206 | |
207 "-n" now overrides any setting for 'updatecount' in a vimrc file, but not in | |
208 a gvimrc file. | |
209 | |
210 | |
211 Autocommands are kept *autocmds-kept* | |
212 --------------------- | |
213 | |
214 Before version 5.0, autocommands with the same event, file name pattern, and | |
215 command could appear only once. This was fine for simple autocommands (like | |
216 setting option values), but for more complicated autocommands, where the same | |
217 command might appear twice, this restriction caused problems. Therefore | |
218 Vim stores all autocommands and keeps them in the order that they are defined. | |
219 | |
220 The most obvious side effect of this change is that when you source a vimrc | |
221 file twice, the autocommands in it will be defined twice. To avoid this, do | |
222 one of these: | |
223 | |
224 - Remove any autocommands that might potentially defined twice before | |
225 defining them. Example: > | |
226 :au! * *.ext | |
227 :au BufEnter *.ext ... | |
228 | |
229 - Put the autocommands inside an ":if" command. Example: > | |
230 if !exists("did_ext_autocmds") | |
231 let did_ext_autocmds = 1 | |
232 autocmd BufEnter *.ext ... | |
233 endif | |
234 | |
235 - Put your autocommands in a different autocommand group so you can remove | |
236 them before defining them |:augroup|: > | |
237 augroup uncompress | |
238 au! | |
239 au BufReadPost *.gz ... | |
240 augroup END | |
241 | |
242 | |
243 Use of 'hidden' changed *hidden-changed* | |
244 ----------------------- | |
245 | |
246 In version 4.x, only some commands used the 'hidden' option. Now all commands | |
247 uses it whenever a buffer disappears from a window. | |
248 | |
249 Previously you could do ":buf xxx" in a changed buffer and that buffer would | |
250 then become hidden. Now you must set the 'hidden' option for this to work. | |
251 | |
252 The new behavior is simpler: whether Vim hides buffers no longer depends on | |
253 the specific command that you use. | |
254 - with 'hidden' not set, you never get hidden buffers. Exceptions are the | |
255 ":hide" and ":close!" commands and, in rare cases, where you would otherwise | |
256 lose changes to the buffer. | |
257 - With 'hidden' set, you almost never unload a buffer. Exceptions are the | |
258 ":bunload" or ":bdel" commands. | |
259 | |
260 ":buffer" now supports a "!": abandon changes in current buffer. So do | |
261 ":bnext", ":brewind", etc. | |
262 | |
263 | |
264 Text object commands changed *text-objects-changed* | |
265 ---------------------------- | |
266 | |
267 Text object commands have new names. This allows more text objects and makes | |
268 characters available for other Visual mode commands. Since no more single | |
269 characters were available, text objects names now require two characters. | |
270 The first one is always 'i' or 'a'. | |
271 OLD NEW ~ | |
272 a aw a word |v_aw| | |
273 A aW a WORD |v_aW| | |
274 s as a sentence |v_as| | |
275 p ap a paragraph |v_ap| | |
276 S ab a () block |v_ab| | |
277 P aB a {} block |v_aB| | |
278 | |
279 There is another set of text objects that starts with "i", for "inner". These | |
280 select the same objects, but exclude white space. | |
281 | |
282 | |
283 X-Windows Resources removed *x-resources* | |
284 -------------------------- | |
285 | |
286 Vim no longer supports the following X resources: | |
287 - boldColor | |
288 - italicColor | |
289 - underlineColor | |
290 - cursorColor | |
291 | |
292 Vim now uses highlight groups to set colors. This avoids the confusion of | |
293 using a bold Font, which would imply a certain color. See |:highlight| and | |
294 |gui-resources|. | |
295 | |
296 | |
297 Use of $VIM *$VIM-use* | |
298 ----------- | |
299 | |
300 Vim now uses the VIM environment variable to find all Vim system files. This | |
301 includes the global vimrc, gvimrc, and menu.vim files and all on-line help | |
302 and syntax files. See |$VIM|. Starting with version 5.4, |$VIMRUNTIME| can | |
303 also be used. | |
304 For Unix, Vim sets a default value for $VIM when doing "make install". | |
305 When $VIM is not set, its default value is the directory from 'helpfile', | |
306 excluding "/doc/help.txt". | |
307 | |
308 | |
309 Use of $HOME for MS-DOS and Win32 *$HOME-use* | |
310 --------------------------------- | |
311 | |
312 The MS-DOS and Win32 versions of Vim now first check $HOME when searching for | |
313 a vimrc or exrc file and for reading/storing the viminfo file. Previously Vim | |
314 used $VIM for these systems, but this causes trouble on a system with several | |
315 users. Now Vim uses $VIM only when $HOME is not set or the file is not found | |
316 in $HOME. See |_vimrc|. | |
317 | |
318 | |
319 Tags file format changed *tags-file-changed* | |
320 ------------------------ | |
321 | |
1236 | 322 Only tabs are allowed to separate fields in a tags file. This allows for |
7 | 323 spaces in a file name and is still Vi compatible. In previous versions of |
324 Vim, any white space was allowed to separate the fields. If you have a file | |
1236 | 325 which doesn't use a single tab between fields, edit the tags file and execute |
7 | 326 this command: > |
327 :%s/\(\S*\)\s\+\(\S*\)\s\+\(.*\)/\1\t\2\t\3/ | |
328 | |
329 | |
330 Options changed *options-changed* | |
331 --------------- | |
332 | |
333 The default value of 'errorfile' has changed from "errors.vim" to "errors.err". | |
334 The reason is that only Vim scripts should have the ".vim" extensions. | |
335 | |
336 The ":make" command no longer uses the 'errorfile' option. This prevents the | |
337 output of the ":make" command from overwriting a manually saved error file. | |
338 ":make" uses the 'makeef' option instead. This also allows for generating a | |
339 unique name, to prevent concurrently running ":make" commands from overwriting | |
340 each other's files. | |
341 | |
342 With 'insertmode' set, a few more things change: | |
343 - <Esc> in Normal mode goes to Insert mode. | |
344 - <Esc> in Insert mode doesn't leave Insert mode. | |
345 - When doing ":set im", go to Insert mode immediately. | |
346 | |
347 Vim considers a buffer to be changed when the 'fileformat' (formerly the | |
348 'textmode' option) is different from the buffer's initial format. | |
349 | |
350 | |
351 CTRL-B in Insert mode gone *i_CTRL-B-gone* | |
352 -------------------------- | |
353 | |
354 When Vim was compiled with the |+rightleft| feature, you could use CTRL-B to | |
355 toggle the 'revins' option. Unfortunately, some people hit the 'B' key | |
356 accidentally when trying to type CTRL-V or CTRL-N and then didn't know how to | |
357 undo this. Since toggling the 'revins' option can easily be done with the | |
358 mapping below, this use of the CTRL-B key is disabled. You can still use the | |
359 CTRL-_ key for this |i_CTRL-_|. > | |
360 :imap <C-B> <C-O>:set revins!<CR> | |
361 | |
362 ============================================================================== | |
363 NEW FEATURES *new-5* | |
364 | |
365 Syntax highlighting *new-highlighting* | |
366 ------------------- | |
367 | |
368 Vim now has a very flexible way to highlighting just about any type of file. | |
369 See |syntax|. Summary: > | |
370 :syntax on | |
371 | |
372 Colors and attributes can be set for the syntax highlighting, and also for | |
373 other highlighted items with the ':' flag in the 'highlight' option. All | |
374 highlighted items are assigned a highlight group which specifies their | |
375 highlighting. See |:highlight|. The default colors have been improved. | |
376 | |
377 You can use the "Normal" group to set the default fore/background colors for a | |
378 color terminal. For the GUI, you can use this group to specify the font, too. | |
379 | |
380 The "2html.vim" script can be used to convert any file that has syntax | |
381 highlighting to HTML. The colors will be exactly the same as how you see them | |
382 in Vim. With a HTML viewer you can also print the file with colors. | |
383 | |
384 | |
385 Built-in script language *new-script* | |
386 ------------------------ | |
387 | |
388 A few extra commands and an expression evaluator enable you to write simple | |
389 but powerful scripts. Commands include ":if" and ":while". Expressions can | |
390 manipulate numbers and strings. You can use the '=' register to insert | |
391 directly the result of an expression. See |expression|. | |
392 | |
393 | |
394 Perl and Python support *new-perl-python* | |
395 ----------------------- | |
396 | |
397 Vim can call Perl commands with ":perldo", ":perl", etc. See |perl|. | |
398 Patches made by Sven Verdoolaege and Matt Gerassimoff. | |
399 | |
400 Vim can call Python commands with ":python" and ":pyfile". See |python|. | |
401 | |
402 Both of these are only available when enabled at compile time. | |
403 | |
404 | |
405 Win32 GUI version *added-win32-GUI* | |
406 ----------------- | |
407 | |
408 The GUI has been ported to MS Windows 95 and NT. All the features of the X11 | |
409 GUI are available to Windows users now. |gui-w32| | |
410 This also fixes problems with running the Win32 console version under Windows | |
411 95, where console support has always been bad. | |
412 There is also a version that supports OLE automation interface. |if_ole.txt| | |
413 Vim can be integrated with Microsoft Developer Studio using the VisVim DLL. | |
414 It is possible to produce a DLL version of gvim with Borland C++ (Aaron). | |
415 | |
416 | |
417 VMS version *added-VMS* | |
418 ----------- | |
419 | |
420 Vim can now also be used on VMS systems. Port done by Henk Elbers. | |
421 This has not been tested much, but it should work. | |
422 Sorry, no documentation! | |
423 | |
424 | |
425 BeOS version *added-BeOS* | |
426 ------------ | |
427 | |
428 Vim can be used on BeOS systems (including the BeBox). (Olaf Seibert) | |
429 See |os_beos.txt|. | |
430 | |
431 | |
432 Macintosh GUI version *added-Mac* | |
433 --------------------- | |
434 | |
435 Vim can now be used on the Macintosh. (Dany St-Amant) | |
436 It has not been tested much yet, be careful! | |
437 See |os_mac.txt|. | |
438 | |
439 | |
440 More Vi compatible *more-compatible* | |
441 ------------------ | |
442 | |
443 There is now a real Ex mode. Started with the "Q" command, or by calling the | |
444 executable "ex" or "gex". |Ex-mode| | |
445 | |
446 Always allow multi-level undo, also in Vi compatible mode. When the 'u' flag | |
447 in 'cpoptions' is included, CTRL-R is used for repeating the undo or redo | |
448 (like "." in Nvi). | |
449 | |
450 | |
451 Read input from stdin *read-stdin* | |
452 --------------------- | |
453 | |
454 When using the "-" command-line argument, Vim reads its text input from stdin. | |
455 This can be used for putting Vim at the end of a pipe: > | |
456 grep "^a.*" *.c | vim - | |
457 See |--|. | |
458 | |
459 | |
460 Regular expression patterns *added-regexp* | |
461 --------------------------- | |
462 | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
463 Added specifying a range for the number of matches of an atom: "\{a,b}". |/\{| |
7 | 464 Added the "shortest match" regexp "\{-}" (Webb). |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
465 Added "\s", matches a white character. Can replace "[ \t]". |/\s| |
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
466 Added "\S", matches a non-white character. Can replace "[^ \t]". |/\S| |
7 | 467 |
468 | |
469 Overloaded tags *tag-overloaded* | |
470 --------------- | |
471 | |
472 When using a language like C++, there can be several tags for the same | |
473 tagname. Commands have been added to be able to jump to any of these | |
474 overloaded tags: | |
475 |:tselect| List matching tags, and jump to one of them. | |
476 |:stselect| Idem, and split window. | |
477 |g_CTRL-]| Do ":tselect" with the word under the cursor. | |
478 | |
479 After ":ta {tagname}" with multiple matches: | |
480 |:tnext| Go to next matching tag. | |
481 |:tprevious| Go to previous matching tag. | |
482 |:trewind| Go to first matching tag. | |
483 |:tlast| Go to last matching tag. | |
484 | |
485 The ":tag" command now also accepts wildcards. When doing command-line | |
486 completion on tags, case-insensitive matching is also available (at the end). | |
487 | |
488 | |
489 New commands *new-commands* | |
490 ------------ | |
491 | |
492 |:amenu| Define menus for all modes, inserting a CTRL-O for Insert | |
493 mode, ESC for Visual and CTRL-C for Cmdline mode. "amenu" is | |
494 used for the default menus and the Syntax menu. | |
495 | |
496 |:augroup| Set group to be used for following autocommands. Allows the | |
497 grouping of autocommands to enable deletion of a specific | |
498 group. | |
499 | |
500 |:crewind| Go to first error. | |
501 |:clast| Go to last error. | |
502 | |
503 |:doautoall| Execute autocommands for all loaded buffers. | |
504 | |
505 |:echo| Echo its argument, which is an expression. Can be used to | |
506 display messages which include variables. | |
507 | |
508 |:execute| Execute its argument, which is an expression. Can be used to | |
509 built up an Ex command with anything. | |
510 | |
511 |:hide| Works like ":close". | |
512 | |
513 |:if| Conditional execution, for built-in script language. | |
514 | |
515 |:intro| Show introductory message. This is always executed when Vim | |
516 is started without file arguments. | |
517 | |
518 |:let| Assign a value to an internal variable. | |
519 | |
520 |:omap| Map only in operator-pending mode. Makes it possible to map | |
521 text-object commands. | |
522 | |
523 |:redir| Redirect output of messages to a file. | |
524 | |
525 |:update| Write when buffer has changed. | |
526 | |
527 |:while| While-loop for built-in script language. | |
528 | |
529 Visual mode: | |
530 |v_O| "O" in Visual block mode, moves the cursor to the other corner | |
531 horizontally. | |
532 |v_D| "D" in Visual block mode deletes till end of line. | |
533 | |
534 Insert mode: | |
535 |i_CTRL-]| Triggers abbreviation, without inserting any character. | |
536 | |
537 | |
538 New options *added-options* | |
539 ----------- | |
540 | |
541 'background' Used for selecting highlight color defaults. Also used in | |
542 "syntax.vim" for selecting the syntax colors. Often set | |
543 automatically, depending on the terminal used. | |
544 | |
545 'complete' Specifies how Insert mode completion works. | |
546 | |
547 'eventignore' Makes it possible to ignore autocommands temporarily. | |
548 | |
549 'fileformat' Current file format. Replaces 'textmode'. | |
550 'fileformats' Possible file formats. Replaces 'textauto'. | |
551 New is that this also supports Macintosh format: A single <CR> | |
552 separates lines. | |
553 The default for 'fileformats' for MS-DOS, Win32 and OS/2 is | |
554 "dos,unix", also when 'compatible' set. Unix type files | |
555 didn't work anyway when 'fileformats' was empty. | |
556 | |
557 'guicursor' Set the cursor shape and blinking in various modes. | |
558 Default is to adjust the cursor for Insert and Replace mode, | |
559 and when an operator is pending. Blinking is default on. | |
560 | |
561 'fkmap' Farsi key mapping. | |
562 | |
563 'hlsearch' Highlight all matches with the last used search pattern. | |
564 | |
236 | 565 'hkmapp' Phonetic Hebrew mapping. (Ilya Dogolazky) |
566 | |
567 'iconstring' Define the name of the icon, when not empty. (Version 5.2: the | |
7 | 568 string is used literally, a newline can be used to make two |
236 | 569 lines.) |
7 | 570 |
571 'lazyredraw' Don't redraw the screen while executing macros, registers or | |
572 other not typed commands. | |
573 | |
574 'makeef' Errorfile to be used for ":make". "##" is replaced with a | |
575 unique number. Avoids that two Vim sessions overwrite each | |
576 others errorfile. The Unix default is "/tmp/vim##.err"; for | |
577 Amiga "t:vim##.Err, for others "vim##.err". | |
578 | |
579 'matchtime' 1/10s of a second to show a matching paren, when 'showmatch' | |
580 is set. Like Nvi. | |
581 | |
582 'mousehide' Hide mouse pointer in GUI when typing text. | |
583 | |
584 'nrformats' Defines what bases Vim will consider for numbers when using | |
585 the CTRL-A and CTRL-X commands. Default: "hex,octal". | |
586 | |
587 'shellxquote' Add extra quotes around the whole shell command, including | |
588 redirection. | |
589 | |
590 'softtabstop' Make typing behave like tabstop is set at this value, without | |
591 changing the value of 'tabstop'. Makes it more easy to keep | |
592 'ts' at 8, while still getting four spaces for a <Tab>. | |
593 | |
236 | 594 'titlestring' String for the window title, when not empty. (Version 5.2: |
7 | 595 this string is used literally, a newline can be used to make |
236 | 596 two lines.) |
7 | 597 |
598 'verbose' Level of verbosity. Makes it possible to show which .vimrc, | |
599 .exrc, .viminfo files etc. are used for initializing. Also | |
600 to show autocommands that are being executed. Can also be set | |
601 by using the "-V" command-line argument. | |
602 | |
603 | |
604 New command-line arguments *added-cmdline-args* | |
605 -------------------------- | |
606 | |
607 |-U| Set the gvimrc file to be used. Like "-u" for the vimrc. | |
608 | |
609 |-V| Set the 'verbose' option. E.g. "vim -V10". | |
610 | |
611 |-N| Start in non-compatible mode. | |
612 | |
613 |-C| Start in compatible mode. | |
614 | |
615 |-Z| Start in restricted mode, disallow shell commands. Can also | |
616 be done by calling the executable "rvim". | |
617 | |
618 |-h| Show usage information and exit. | |
619 | |
620 | |
621 Various additions *added-various* | |
622 ----------------- | |
623 | |
624 Added support for SNiFF+ connection (submitted by Toni Leherbauer). Vim can | |
625 be used as an editor for SNiFF. No documentation available... | |
626 | |
627 For producing a bug report, the bugreport.vim script has been included. | |
628 Can be used with ":so $VIMRUNTIME/bugreport.vim", which creates the file | |
629 "bugreport.txt" in the current directory. |bugs| | |
630 | |
631 Added range to ":normal" command. Now you can repeat the same command for | |
632 each line in the range. |:normal-range| | |
633 | |
634 Included support for the Farsi language (Shiran). Only when enabled at | |
635 compile time. See |farsi|. | |
636 | |
637 ============================================================================== | |
638 IMPROVEMENTS *improvements-5* | |
639 | |
640 Performance: | |
641 - When 'showcmd' was set, mappings would execute much more slowly because the | |
642 output would be flushed very often. Helps a lot when executing the "life" | |
643 macros with 'showcmd' set. | |
644 - Included patches for binary searching in tags file (David O'Neill). | |
645 Can be disabled by resetting the 'tagbsearch' option. | |
646 - Don't update the ruler when repeating insert (slowed it down a lot). | |
647 - For Unix, file name expansion is now done internally instead of starting a | |
648 shell for it. | |
649 - Expand environment variables with expand_env(), instead of calling the | |
650 shell. Makes ":so $VIMRUNTIME/syntax/syntax.vim" a LOT faster. | |
651 - Reduced output for cursor positioning: Use CR-LF for moving to first few | |
652 columns in next few lines; Don't output CR twice when using termios. | |
653 - Optimized cursor positioning. Use CR, BS and NL when it's shorter than | |
654 absolute cursor positioning. | |
655 - Disable redrawing while repeating insert "1000ii<Esc>". | |
656 - Made "d$" or "D" for long lines a lot faster (delete all characters at once, | |
657 instead of one by one). | |
658 - Access option table by first letter, instead of searching from start. | |
659 - Made setting special highlighting attributes a lot faster by using | |
660 highlight_attr[], instead of searching in the 'highlight' string. | |
661 - Don't show the mode when redrawing is disabled. | |
662 - When setting an option, only redraw the screen when required. | |
663 - Improved performance of Ex commands by using a lookup table for the first | |
664 character. | |
665 | |
666 Options: | |
667 'cinoptions' Added 'g' flag, for C++ scope declarations. | |
668 'cpoptions' Added 'E' flag: Disallow yanking, deleting, etc. empty text | |
669 area. Default is to allow empty yanks. When 'E' is included, | |
670 "y$" in an empty line now is handled as an error (Vi | |
671 compatible). | |
672 Added 'j' flag: Only add two spaces for a join after a '.', | |
673 not after a '?' or '!'. | |
674 Added 'A' flag: don't give ATTENTION message. | |
675 Added 'L' flag: When not included, and 'list' is set, | |
676 'textwidth' formatting works like 'list' is not set. | |
677 Added 'W' flag: Let ":w!" behave like Vi: don't overwrite | |
678 readonly files, or a file owned by someone else. | |
679 'highlight' Added '@' flag, for '@' characters after the last line on the | |
680 screen, and '$' at the end of the line when 'list' is set. | |
681 Added 'i' flag: Set highlighting for 'incsearch'. Default | |
682 uses "IncSearch" highlight group, which is linked to "Visual". | |
683 Disallow 'h' flag in 'highlight' (wasn't used anymore since | |
684 3.0). | |
685 'guifont' Win32 GUI only: When set to "*" brings up a font requester. | |
686 'guipty' Default on, because so many people need it. | |
687 'path' Can contain wildcards, and "**" for searching a whole tree. | |
688 'shortmess' Added 'I' flag to avoid the intro message. | |
689 'viminfo' Added '%' flag: Store buffer list in viminfo file. | |
690 | |
691 - Increased defaults for 'maxmem' and 'maxmemtot' for Unix and Win32. Most | |
692 machines have much more RAM now that prices have dropped. | |
693 - Implemented ":set all&", set all options to their default value. |:set| | |
694 | |
695 Swap file: | |
696 - Don't create a swap file for a readonly file. Then create one on the first | |
697 change. Also create a swapfile when the amount of memory used is getting | |
698 too high. |swap-file| | |
699 - Make swap file "hidden", if possible. On Unix this is done by prepending a | |
700 dot to the swap file name. When long file names are used, the DJGPP and | |
701 Win32 versions also prepend a dot, in case a file on a mounted Unix file | |
702 system is edited. |:swapname| On MSDOS the hidden file attribute is NOT | |
703 set, because this causes problems with share.exe. | |
704 - 'updatecount' always defaults to non-zero, also for Vi compatible mode. | |
705 This means there is a swap file, which can be used for recovery. | |
706 | |
707 Tags: | |
708 - Included ctags 2.0 (Darren Hiebert). The syntax for static tags changed | |
709 from | |
710 {tag}:{fname} {fname} {command} | |
711 to | |
712 {tag} {fname} {command};" file: | |
713 Which is both faster to parse, shorter and Vi compatible. The old format is | |
714 also still accepted, unless disabled in src/feature.h (see OLD_STATIC_TAGS). | |
715 |tags-file-format| | |
716 - Completion of tags now also includes static tags for other files, at the | |
717 end. | |
718 - Included "shtags" from Stephen Riehm. | |
719 - When finding a matching tag, but the file doesn't exist, continue searching | |
720 for another match. Helps when using the same tags file (with links) for | |
721 different versions of source code. | |
722 - Give a tag with a global match in the current file a higher priority than a | |
723 global match in another file. | |
724 | |
725 Included xxd version V1.8 (Juergen Weigert). | |
726 | |
727 Autocommands: | |
728 - VimLeave autocommands are executed after writing the viminfo file, instead | |
729 of before. |VimLeave| | |
730 - Allow changing autocommands while executing them. This allows for | |
236 | 731 self-modifying autocommands. (idea from Goldberg) |
7 | 732 - When using autocommands with two or more patterns, could not split |
733 ":if/:endif" over two lines. Now all matching autocommands are executed in | |
734 one do_cmdline(). | |
735 - Autocommands no longer change the command repeated with ".". | |
736 - Search patterns are restored after executing autocommands. This avoids | |
737 that the 'hlsearch' highlighting is messed up by autocommands. | |
738 - When trying to execute an autocommand, also try matching the pattern with | |
739 the short file name. Helps when short file name is different from full | |
740 file name (expanded symbolic links). |autocmd-patterns| | |
741 - Made the output of ":autocmd" shorter and look better. | |
742 - Expand <sfile> in an ":autocmd" when it is defined. |<sfile>| | |
743 - Added "nested" flag to ":autocmd", allows nesting. |autocmd-nested| | |
744 - Added [group] argument to ":autocmd". Overrides the currently set group. | |
745 |autocmd-groups| | |
746 - new events: | |
747 |BufUnload| before a buffer is unloaded | |
748 |BufDelete| before a buffer is deleted from the buffer list | |
749 |FileChangedShell| when a file's modification time has changed after | |
750 executing a shell command | |
751 |User| user-defined autocommand | |
752 - When 'modified' was set by a BufRead* autocommand, it was reset again | |
753 afterwards. Now the ":set modified" is remembered. | |
754 | |
755 GUI: | |
756 - Improved GUI scrollbar handling when redrawing is slower than the scrollbar | |
757 events are generated. | |
758 - "vim -u NONE" now also stops loading the .gvimrc and other GUI inits. |-u| | |
759 Use "-U" to use another gvimrc file. |-U| | |
760 - Handle CTRL-C for external command, also for systems where "setsid()" is | |
761 supported. | |
762 - When starting the GUI, restrict the window size to the screen size. | |
763 - The default menus are read from $VIMRUNTIME/menu.vim. This allows for a | |
764 customized default menu. |menu.vim| | |
765 - Improved the default menus. Added File/Print, a Window menu, Syntax menu, | |
766 etc. | |
767 - Added priority to the ":menu" command. Now each menu can be put in a place | |
768 where you want it, independent of the order in which the menus are defined. | |
769 |menu-priority| | |
770 | |
771 Give a warning in the intro screen when running the Win32 console version on | |
772 Windows 95 because there are problems using this version under Windows 95. | |
773 |win32-problems| | |
774 | |
775 Added 'e' flag for ":substitute" command: Don't complain when not finding a | |
776 match (Campbell). |:s| | |
777 | |
778 When using search commands in a mapping, only the last one is kept in the | |
779 history. Avoids that the history is trashed by long mappings. | |
780 | |
781 Ignore characters after "ex", "view" and "gvim" when checking startup mode. | |
782 Allows the use of "gvim5" et. al. |gvim| "gview" starts the GUI in readonly | |
783 mode. |gview| | |
784 | |
785 When resizing windows, the cursor is kept in the same relative position, if | |
786 possible. (Webb) | |
787 | |
788 ":all" and ":ball" no longer close and then open a window for the same buffer. | |
789 Avoids losing options, jumplist, and other info. | |
790 | |
791 "-f" command-line argument is now ignored if Vim was compiled without GUI. | |
792 |-f| | |
793 | |
794 In Visual block mode, the right mouse button picks up the nearest corner. | |
795 | |
796 Changed default mappings for DOS et al. Removed the DOS-specific mappings, | |
797 only use the Windows ones. Added Shift-Insert, Ctrl-Insert, Ctrl-Del and | |
798 Shift-Del. | |
799 | |
800 Changed the numbers in the output of ":jumps", so you can see where {count} | |
801 CTRL-O takes you. |:jumps| | |
802 | |
803 Using "~" for $HOME now works for all systems. |$HOME| | |
804 | |
805 Unix: Besides using CTRL-C, also use the INTR character from the tty settings. | |
806 Somebody has INTR set to DEL. | |
807 | |
808 Allow a <LF> in a ":help" command argument to end the help command, so another | |
809 command can follow. | |
810 | |
811 Doing "%" on a line that starts with " #if" didn't jump to matching "#else". | |
812 Don't recognize "#if", "#else" etc. for '%' when 'cpo' contains the '%' flag. | |
813 |%| | |
814 | |
815 Insert mode expansion with "CTRL-N", "CTRL-P" and "CTRL-X" improved | |
816 |ins-completion|: | |
817 - 'complete' option added. | |
818 - When 'nowrapscan' is set, and no match found, report the searched direction | |
819 in the error message. | |
820 - Repeating CTRL-X commands adds following words/lines after the match. | |
821 - When adding-expansions, accept single character matches. | |
822 - Made repeated CTRL-X CTRL-N not break undo, and "." repeats the whole | |
823 insertion. Also fixes not being able to backspace over a word that has been | |
824 inserted with CTRL-N. | |
825 | |
826 When copying characters in Insert mode from previous/next line, with CTRL-E or | |
827 CTRL-Y, 'textwidth' is no longer used. |i_CTRL-E| | |
828 | |
829 Commands that move in the arglist, like ":n" and ":rew", keep the old cursor | |
830 position of the file (this is mostly Vi compatible). | |
831 | |
832 Vim now remembers the '< and '> marks for each buffer. This fixes a problem | |
833 that a line-delete in one buffer invalidated the '< and '> marks in another | |
834 buffer. |'<| | |
835 | |
836 For MSDOS, Unix and OS/2: When $VIM not set, use the path from the executable. | |
837 When using the executable path for $VIM, remove "src/" when present. Should | |
838 make Vim find the docs and syntax files when it is run directly after | |
839 compiling. |$VIM| | |
840 | |
841 When quitting Visual mode with <Esc>, the cursor is put at start of the Visual | |
842 area (like after executing an operator). | |
843 | |
844 Win32 and Unix version: Removed 1100 character limit on external commands. | |
845 | |
846 Added possibility to include a space in a ":edit +command" argument, by | |
847 putting a backslash before it. |+cmd| | |
848 | |
849 After recovery, BufReadPost autocommands are applied. |:recover| | |
850 | |
7477
05cf4cc72a9f
commit https://github.com/vim/vim/commit/fa7353428f705f7a13465a1943dddeede4083023
Christian Brabandt <cb@256bit.org>
parents:
5362
diff
changeset
|
851 Added color support for "os2ansi", OS/2 console. (Slootman) |
7 | 852 |
853 Allow "%:p:h" when % is empty. |:_%| | |
854 | |
855 Included "<sfile>": file name from the ":source" command. |<sfile>| | |
856 | |
857 Added "<Bslash>" special character. Helps for avoiding multiple backslashes | |
858 in mappings and menus. | |
859 | |
860 In a help window, a double-click jumps to the tag under the cursor (like | |
861 CTRL-]). | |
862 | |
863 <C-Left> and <C-Right> now work like <S-Left> and <S-Right>, move a word | |
864 forward/backward (Windows compatible). |<C-Left>| | |
865 | |
866 Removed the requirement for a ":version" command in a .vimrc file. It wasn't | |
867 used for anything. You can use ":if" to handle differences between versions. | |
868 |:version| | |
869 | |
870 For MS-DOS, Win32 and OS/2: When comparing file names for autocommands, don't | |
871 make a difference between '/' and '\' for path separator. | |
872 | |
873 New termcap options: | |
874 "mb": blink. Can only be used by assigning it to one of the other highlight | |
875 options. |t_mb| | |
876 "bc": backspace character. |t_bc| | |
877 "nd": Used for moving the cursor right in the GUI, to avoid removing one line | |
878 of pixels from the last bold character. |t_nd| | |
879 "xs": highlighting not erased by overwriting, for hpterm. Combined with | |
880 'weirdinvert'. Visual mode works on hpterm now. |t_xs| | |
881 | |
882 Unix: Set time of patch and backup file same as original file. (Hiebert). | |
883 | |
884 Amiga: In QuickFix mode no longer opens another window. Shell commands can be | |
885 used now. | |
886 | |
887 Added decmouse patches from David Binette. Can now use Dec and Netterm mouse. | |
888 But only when enabled at compile time. | |
889 | |
890 Added '#' register: Alternate file name |quote#|. Display '#' register with | |
891 ":dis" command. |:display| | |
892 | |
893 Removed ':' from 'isfname' default for Unix. Check for "://" in a file name | |
894 anyway. Also check for ":\\", for MS-DOS. | |
895 | |
896 Added count to "K"eyword command, when 'keywordprg' is "man", is inserted in | |
897 the man command. "2K" results in "!man 2 <cword>". |K| | |
898 | |
899 When using "gf" on a relative path name, remove "../" from the file name, like | |
900 it's done for file names in the tags file. |gf| | |
901 | |
902 When finishing recording, don't make the recorded register the default put | |
903 register. | |
904 | |
905 When using "!!", don't put ":5,5!" on the command-line, but ":.!". And some | |
906 other enhancements to replace the line number with "." or "$" when possible. | |
907 | |
908 MSDOS et al.: Renamed $VIM/viminfo to $VIM/_viminfo. It's more consistent: | |
909 .vimrc/_vimrc and .viminfo/_viminfo | |
910 | |
911 For systems where case doesn't matter in file names (MSDOS, Amiga), ignore | |
912 case while sorting file names. For buffer names too. | |
913 | |
914 When reading from stdin doesn't work, read from stderr (helps for "foo | xargs | |
915 vim"). | |
916 | |
917 32 bit MS-DOS version: Replaced csdpmi3 by csdpmi4. | |
918 | |
919 Changed <C-Left> and <C-Right> to skip a WORD instead of a word. | |
920 | |
921 Warning for changed modified time when overwriting a file now also works on | |
922 other systems than Unix. | |
923 | |
924 Unix: Changed the defaults for configure to be the same as the defaults for | |
925 Makefile: include GUI, Perl, and Python. | |
926 | |
927 Some versions of Motif require "-lXpm". Added check for this in configure. | |
928 | |
929 Don't add "-L/usr/lib" to the link line, causes problems on a few systems. | |
930 | |
931 ============================================================================== | |
932 COMPILE TIME CHANGES *compile-changes-5* | |
933 | |
934 When compiling, allow a choice for minimal, normal or maximal features in an | |
935 easy way, by changing a single line in src/feature.h. | |
936 The DOS16 version has been compiled with minimal features to avoid running | |
8303
88207f4b861a
commit https://github.com/vim/vim/commit/dae8d21dd291df6a6679a00be64e18bca0156576
Christian Brabandt <cb@256bit.org>
parents:
7477
diff
changeset
|
937 out of memory too quickly. |
7 | 938 The Win32, DJGPP, and OS/2 versions use maximal features, because they have |
939 enough memory. | |
940 The Amiga version is available with normal and maximal features. | |
941 | |
942 Added "make test" to Unix version Makefile. Allows for a quick check if most | |
943 "normal" commands work properly. Also tests a few specific commands. | |
944 | |
945 Added setlocale() with codepage support for DJGPP version. | |
946 | |
947 autoconf: | |
948 - Added autoconf check for -lXdmcp. | |
949 - Included check for -lXmu, no longer needed to edit the Makefile for this. | |
950 - Switched to autoconf 2.12. | |
951 - Added configure check for <poll.h>. Seems to be needed when including | |
952 Perl on Linux? | |
953 - termlib is now checked before termcap. | |
954 - Added configure check for strncasecmp(), stricmp() and strnicmp(). Added | |
955 vim_stricmp() for when there's no library function for stricmp(). | |
956 - Use "datadir" in configure, instead of our own check for HELPDIR. | |
957 | |
958 Removed "make proto" from Makefile.manx. Could not make it work without a lot | |
959 of #ifdefs. | |
960 | |
961 Removed "proto/" from paths in proto.h. Needed for the Mac port. | |
962 | |
963 Drastically changed Makefile.mint. Now it includes the Unix Makefile. | |
964 | |
965 Added support for Dos16 in Makefile.b32 (renamed Makefile.b32 to Makefile.bor) | |
966 | |
967 All source files are now edited with a tabstop of 8 instead of 4, which is | |
968 better when debugging and using other tools. 'softtabstop' is set to 4, to | |
969 make editing easier. | |
970 | |
971 Unix: Added "link.sh" script, which removes a few unnecessary libraries from | |
972 the link command. | |
973 | |
974 Don't use HPUX digraphs by default, but only when HPUX_DIGRAPHS is defined. | |
975 |digraphs-default| | |
976 | |
977 ============================================================================== | |
978 BUG FIXES *bug-fixes-5* | |
979 | |
980 Note: Some of these fixes may only apply to test versions which were | |
981 created after version 4.6, but before 5.0. | |
982 | |
983 | |
984 When doing ":bdel", try going to the next loaded buffer. Don't rewind to the | |
985 start of the buffer list. | |
986 | |
987 mch_isdir() for Unix returned TRUE for "" on some systems. | |
988 | |
989 Win32: 'shell' set to "mksnt/sh.exe" breaks ":!" commands. Don't use | |
990 backslashes in the temp file names. | |
991 | |
992 On linux, with a FAT file system, could get spurious "file xxx changed since | |
993 editing started" messages, because the time is rounded off to two seconds | |
994 unexpectedly. | |
995 | |
996 Crash in GUI, when selecting a word (double click) and then extend until an | |
997 empty line. | |
998 | |
999 For systems where isdigit() can't handle characters > 255, get_number() caused | |
1000 a crash when moving the mouse during the prompt for recovery. | |
1001 | |
1002 In Insert mode, "CTRL-O P" left the cursor on the last inserted character. | |
1003 Now the cursor is left after the last putted character. | |
1004 | |
1005 When quickfix found an error type other than 'e' or 'w', it was never printed. | |
1006 | |
1007 A setting for 'errorfile' in a .vimrc overruled the "-q errorfile" argument. | |
1008 | |
1009 Some systems create a file when generating a temp file name. Filtering would | |
1010 then create a backup file for this, which was never deleted. Now no backup | |
1011 file is made when filtering. | |
1012 | |
1013 simplify_filename() could remove a ".." after a link, resulting in the wrong | |
1014 file name. Made simplify_filename also work for MSDOS. Don't use it for | |
1015 Amiga, since it doesn't have "../". | |
1016 | |
1017 otherfile() was unreliable when using links. Could think that reading/writing | |
1018 was for a different file, when it was the same. | |
1019 | |
1020 Pasting with mouse in Replace mode didn't replace anything. | |
1021 | |
1022 Window height computed wrong when resizing a window with an autocommand (could | |
1023 cause a crash). | |
1024 | |
1025 ":s!foo!bar!" wasn't possible (Vi compatible). | |
1026 | |
1027 do_bang() freed memory twice when called recursively, because of autocommands | |
1028 (test11). Thanks to Electric Fence! | |
1029 | |
1030 "v$d" on an empty line didn't remove the "-- VISUAL --" mode message from the | |
1031 command-line, and inverted the cursor. | |
1032 | |
1033 ":mkexrc" didn't check for failure to open the file, causing a crash. | |
1034 (Felderhoff). | |
1035 | |
1036 Win32 mch_write() wrote past fixed buffer, causing terminal keys no longer to | |
1037 be recognized. Both console and GUI version. | |
1038 | |
1039 Athena GUI: Crash when removing a menu item. Now Vim doesn't crash, but the | |
1040 reversing of the menu item is still wrong. | |
1041 | |
1042 Always reset 'list' option for the help window. | |
1043 | |
1044 When 'scrolloff' is non-zero, a 'showmatch' could cause the shown match to be | |
1045 in the wrong line and the window to be scrolled (Acevedo). | |
1046 | |
1047 After ":set all&", 'lines' and 'ttytype' were still non-default, because the | |
1048 defaults never got set. Now the defaults for 'lines' and 'columns' are set | |
236 | 1049 after detecting the window size. 'term' and 'ttytype' defaults are set when |
7 | 1050 detecting the terminal type. |
1051 | |
1052 For (most) non-Unix systems, don't add file names with illegal characters when | |
1053 expanding. Fixes "cannot open swapfile" error when doing ":e *.burp", when | |
1054 there is no match. | |
1055 | |
1056 In X11 GUI, drawing part of the cursor obscured the text. Now the text is | |
1057 drawn over the cursor, like when it fills the block. (Seibert) | |
1058 | |
1059 when started with "-c cmd -q errfile", the cursor would be left in line 1. | |
1060 Now a ":cc" is done after executing "cmd". | |
1061 | |
1062 ":ilist" never ignored case, even when 'ignorecase' set. | |
1063 | |
1064 "vim -r file" for a readonly file, then making a change, got ATTENTION message | |
1065 in insert mode, display mixed up until <Esc> typed. Also don't give ATTENTION | |
1066 message after recovering a file. | |
1067 | |
1068 The abbreviation ":ab #i #include" could not be removed. | |
1069 | |
1070 CTRL-L completion (longest common match) on command-line didn't work properly | |
1071 for case-insensitive systems (MS-DOS, Windows, etc.). (suggested by Richard | |
1072 Kilgore). | |
1073 | |
1074 For terminals that can hide the cursor ("vi" termcap entry), resizing the | |
1075 window caused the cursor to disappear. | |
1076 | |
1077 Using an invalid mark in an Ex address didn't abort the command. | |
1078 | |
1079 When 'smarttab' set, would use 'shiftround' when inserting a TAB after a | |
1080 space. Now it always rounds to a tabstop. | |
1081 | |
1082 Set '[ and '] marks for ":copy", ":move", ":append", ":insert", ":substitute" | |
1083 and ":change". (Acevedo). | |
1084 | |
1085 "d$" in an empty line still caused an error, even when 'E' is not in | |
1086 'cpoptions'. | |
1087 | |
1088 Help files were stored in the viminfo buffer list without a path. | |
1089 | |
1090 GUI: Displaying cursor was not synchronized with other displaying. Caused | |
1091 several display errors. For example, when the last two lines in the file | |
1092 start with spaces, "dd" on the last line copied text to the (then) last line. | |
1093 | |
1094 Win32: Needed to type CTRL-SHIFT-- to get CTRL-_. | |
1095 | |
1096 GUI: Moving the cursor forwards over bold text would remove one column of bold | |
1097 pixels. | |
1098 | |
1099 X11 GUI: When a bold character in the last column was scrolled up or down, one | |
1100 column of pixels would not be copied. | |
1101 | |
1102 Using <BS> to move the cursor left can sometimes erase a character. Now use | |
1103 "le" termcap entry for this. | |
1104 | |
1105 Keyword completion with regexp didn't work. e.g., for "b.*crat". | |
1106 | |
1107 Fixed: With CTRL-O that jumps to another file, cursor could end up just after | |
1108 the line. | |
1109 | |
1110 Amiga: '$' was missing from character recognized as wildcards, causing $VIM | |
1111 sometimes not to be expanded. | |
1112 | |
1113 ":change" didn't adjust marks for deleted lines. | |
1114 | |
1115 ":help [range]" didn't work. Also for [pattern], [count] and [quotex]. | |
1116 | |
1117 For 'cindent'ing, typing "class::method" doesn't align like a label when the | |
1118 second ':' is typed. | |
1119 When inserting a CR with 'cindent' set (and a bunch of other conditions) the | |
1120 cursor went to a wrong location. | |
1121 'cindent' was wrong for a line that ends in '}'. | |
1122 'cindent' was wrong after "else {". | |
1123 | |
1124 While editing the cmdline in the GUI, could not use the mouse to select text | |
1125 from the command-line itself. | |
1126 | |
1127 When deleting lines, marks in tag stack were only adjusted for the current | |
1128 window, not for other windows on the same buffer. | |
1129 | |
1130 Tag guessing could find a function "some_func" instead of the "func" we were | |
1131 looking for. | |
1132 | |
1133 Tags file name relative to the current file didn't work. | |
1134 | |
1135 ":g/pat2/s//pat2/g", causing the number of subs to be reported, used to cause | |
1136 a scroll up. Now you no longer have to hit <CR>. | |
1137 | |
1138 X11 GUI: Selecting text could cause a crash. | |
1139 | |
1140 32 bit DOS version: CTRL-C in external command killed Vim. When SHELL is set | |
1141 to "sh.exe", external commands didn't work. Removed using of command.com, no | |
1142 longer need to set 'shellquote'. | |
1143 | |
1144 Fixed crash when using ":g/pat/i". | |
1145 | |
1146 Fixed (potential) crash for X11 GUI, when using an X selection. Was giving a | |
1147 pointer on the stack to a callback function, now it's static. | |
1148 | |
1149 Using "#" and "*" with an operator didn't work. E.g. "c#". | |
1150 | |
1151 Command-line expansion didn't work properly after ":*". (Acevedo) | |
1152 | |
1153 Setting 'weirdinvert' caused highlighting to be wrong in the GUI. | |
1154 | |
1155 ":e +4 #" didn't work, because the "4" was in unallocated memory (could cause | |
1156 a crash). | |
1157 | |
1158 Cursor position was wrong for ":e #", after ":e #" failed, because of changes | |
1159 to the buffer. | |
1160 | |
1161 When doing ":buf N", going to a buffer that was edited with ":view", the | |
1162 readonly flag was reset. Now make a difference between ":e file" and ":buf | |
1163 file": Only set/reset 'ro' for the first one. | |
1164 | |
1165 Avoid |hit-enter| prompt when not able to write viminfo on exit. | |
1166 | |
1167 When giving error messages in the terminal where the GUI was started, GUI | |
1168 escape codes would be written to the terminal. In an xterm this could be seen | |
1169 as a '$' after the message. | |
1170 | |
1171 Mouse would not work directly after ":gui", because full_screen isn't set, | |
1172 which causes starttermcap() not to do its work. | |
1173 | |
1174 'incsearch' did not scroll the window in the same way as the actual search. | |
1175 When 'nowrap' set, incsearch didn't show a match when it was off the side of | |
1176 the screen. Now it also shows the whole match, instead of just the cursor | |
1177 position (if possible). | |
1178 | |
1179 ":unmap", ":unab" and ":unmenu" did not accept a double quote, it was seen as | |
1180 the start of a comment. Now it's Vi compatible. | |
1181 | |
1182 Using <Up><Left><Left><Up> in the command-line, when there is no previous | |
1183 cmdline in the history, inserted a NUL on the command-line. | |
1184 | |
1185 "i<Esc>" when on a <Tab> in column 0 left the cursor in the wrong place. | |
1186 | |
1187 GUI Motif: When adding a lot of menu items, the menu bar goes into two rows. | |
1188 Deleting menu items, reducing the number of rows, now also works. | |
1189 | |
1190 With ":g/pat/s//foo/c", a match in the first line was scrolled off of the | |
1191 screen, so you could not see it. | |
1192 When using ":s//c", with 'nowrap' set, a match could be off the side of the | |
1193 screen, so you could not see it. | |
1194 | |
1195 When 'helpfile' was set to a fixed, non-absolute path in feature.h, Vim would | |
1196 crash. mch_Fullname can now handle file names in read-only memory. (Lottem) | |
1197 | |
1198 When using CTRL-A or CTRL-@ in Insert mode, there could be strange effects | |
1199 when using CTRL-D next. Also, when repeating inserted text that included "0 | |
1200 CTRL-D" or "^ CTRL-D" this didn't work. (Acevedo) | |
1201 Using CTRL-D after using CTRL-E or CTRL-Y in Insert mode that inserted a '0' | |
1202 or '^', removed the '0' or '^' and more indent. | |
1203 | |
1204 The command "2".p" caused the last inserted text to be executed as commands. | |
1205 (Acevedo) | |
1206 | |
1207 Repeating the insert of "CTRL-V 048" resulted in "^@" to be inserted. | |
1208 | |
1209 Repeating Insert completion could fail if there are special characters in the | |
1210 text. (Acevedo) | |
1211 | |
1212 ":normal /string<CR>" caused the window to scroll. Now all ":normal" commands | |
1213 are executed without scrolling messages. | |
1214 | |
1215 Redo of CTRL-E or CTRL-Y in Insert mode interpreted special characters as | |
1216 commands. | |
1217 | |
1218 Line wrapping for 'tw' was done one character off for insert expansion | |
1219 inserts. | |
1220 | |
1221 buffer_exists() function didn't work properly for buffer names with a symbolic | |
1222 link in them (e.g. when using buffer_exists(#)). | |
1223 | |
1224 Removed the "MOTIF_COMMENT" construction from Makefile. It now works with | |
1225 FreeBSD make, and probably with NeXT make too. | |
1226 | |
1227 Matching the 'define' and 'include' arguments now honor the settings for | |
1228 'ignorecase'. (Acevedo) | |
1229 | |
1230 When one file shown in two windows, Visual selection mixed up cursor position | |
1231 in current window and other window. | |
1232 | |
1233 When doing ":e file" from a help file, the 'isk' option wasn't reset properly, | |
1234 because of a modeline in the help file. | |
1235 | |
1236 When doing ":e!", a cursor in another window on the same buffer could become | |
1237 invalid, leading to "ml_get: invalid lnum" errors. | |
1238 | |
1239 Matching buffer name for when expanded name has a different path from not | |
1240 expanded name (Brugnara). | |
1241 | |
1242 Normal mappings didn't work after an operator. For example, with ":map Q gq", | |
1243 "QQ" didn't work. | |
1244 | |
1245 When ":make" resulted in zero errors, a "No Errors" error message was given | |
1246 (which breaks mappings). | |
1247 | |
1248 When ":sourcing" a file, line length was limited to 1024 characters. CTRL-V | |
1249 before <EOL> was not handled Vi compatible. (Acevedo) | |
1250 | |
1251 Unexpected exit for X11 GUI, caused by SAVE_YOURSELF event. (Heimann) | |
1252 | |
1253 CTRL-X CTRL-I only found one match per line. (Acevedo) | |
1254 When using an illegal CTRL-X key in Insert mode, the CTRL-X mode message | |
1255 was stuck. | |
1256 | |
1257 Finally managed to ignore the "Quit" menu entry of the Window manager! Now | |
1258 Vim only exists when there are no changed buffers. | |
1259 | |
1260 Trying to start the GUI when $DISPLAY is not set resulted in a crash. | |
1261 When $DISPLAY is not set and gvim starts vim, title was restored to "Thanks | |
1262 for flying Vim". | |
1263 When $DISPLAY not set, starting "gvim" (dropping back to vim) and then | |
1264 selecting text with the mouse caused a crash. | |
1265 | |
1266 "J", with 'joinspaces' set, on a line ending in ". ", caused one space too | |
1267 many to be added. (Acevedo) | |
1268 | |
1269 In insert mode, a CTRL-R {regname} which didn't insert anything left the '"' | |
1270 on the screen. | |
1271 | |
1272 ":z10" didn't work. (Clapp) | |
1273 | |
1274 "Help "*" didn't work. | |
1275 | |
1276 Renamed a lot of functions, to avoid clashes with POSIX name space. | |
1277 | |
1278 When adding characters to a line, making it wrap, the following lines were | |
1279 sometimes not shifted down (e.g. after a tag jump). | |
1280 | |
1281 CTRL-E, with 'so' set and cursor on last line, now does not move cursor as | |
1282 long as the last line is on the screen. | |
1283 | |
1284 When there are two windows, doing "^W+^W-" in the bottom window could cause | |
1285 the status line to be doubled (not redrawn correctly). | |
1286 | |
1287 This command would hang: ":n `cat`". Now connect stdin of the external | |
1288 command to /dev/null, when expanding. | |
1289 | |
1290 Fixed lalloc(0,) error for ":echo %:e:r". (Acevedo) | |
1291 | |
1292 The "+command" argument to ":split" didn't work when there was no file name. | |
1293 | |
1294 When selecting text in the GUI, which is the output of a command-line command | |
1295 or an external command, the inversion would sometimes remain. | |
1296 | |
1297 GUI: "-mh 70" argument was broken. Now, when menuheight is specified, it is | |
1298 not changed anymore. | |
1299 | |
1300 GUI: When using the scrollbar or mouse while executing an external command, | |
1301 this caused garbage characters. | |
1302 | |
1303 Showmatch sometimes jumped to the wrong position. Was caused by a call to | |
1304 findmatch() when redrawing the display (when syntax highlighting is on). | |
1305 | |
1306 Search pattern "\(a *\)\{3} did not work correctly, also matched "a a". | |
1307 Problem with brace_count not being decremented. | |
1308 | |
1309 Wildcard expansion added too many non-matching file names. | |
1310 | |
1311 When 'iskeyword' contains characters like '~', "*" and "#" didn't work | |
1312 properly. (Acevedo) | |
1313 | |
1314 On Linux, on a FAT file system, modification time can change by one second. | |
1315 Avoid a "file has changed" warning for a one second difference. | |
1316 | |
1317 When using the page-switching in an xterm, Vim would position the cursor on | |
1318 the last line of the window on exit. Also removed the cursor positioning for | |
1319 ":!" commands. | |
1320 | |
1321 ":g/pat/p" command (partly) overwrote the command. Now the output is on a | |
1322 separate line. | |
1323 | |
1324 With 'ic' and 'scs' set, a search for "Keyword", ignore-case matches were | |
1325 highlighted too. | |
1326 | |
1327 "^" on a line with only white space, put cursor beyond the end of the line. | |
1328 | |
1329 When deleting characters before where insertion started ('bs' == 2), could not | |
1330 use abbreviations. | |
1331 | |
1332 CTRL-E at end of file puts cursor below the file, in Visual mode, when 'so' is | |
1333 non-zero. CTRL-E didn't work when 'so' is big and the line below the window | |
1334 wraps. CTRL-E, when 'so' is non-zero, at end of the file, caused jumping | |
1335 up-down. | |
1336 | |
1337 ":retab" didn't work well when 'list' is set. | |
1338 | |
1339 Amiga: When inserting characters at the last line on the screen, causing it | |
1340 to wrap, messed up the display. It appears that a '\n' on the last line | |
1341 doesn't always cause a scroll up. | |
1342 | |
1343 In Insert mode "0<C-D><C-D>" deleted an extra character, because Vim thought | |
1344 that the "0" was still there. (Acevedo) | |
1345 | |
1346 "z{count}l" ignored the count. Also for "zh" et. al. (Acevedo) | |
1347 | |
1348 "S" when 'autoindent' is off didn't delete leading white space. | |
1349 | |
1350 "/<Tab>" landed on the wrong character when 'incsearch' is set. | |
1351 | |
1352 Asking a yes/no question could cause a |hit-enter| prompt. | |
1353 | |
1354 When the file consists of one long line (>4100 characters), making changes | |
1355 caused various errors and a crash. | |
1356 | |
1357 DJGPP version could not save long lines (>64000) for undo. | |
1358 | |
1359 "yw" on the last char in the file didn't work. Also fixed "6x" at the end of | |
236 | 1360 the line. "6X" at the start of a line fails, but does not break a mapping. In |
7 | 1361 general, a movement for an operator doesn't beep or flush a mapping, but when |
1362 there is nothing to operate on it beeps (this is Vi compatible). | |
1363 | |
1364 "m'" and "m`" now set the '' mark at the cursor position. | |
1365 | |
1366 Unix: Resetting of signals for external program didn't work, because SIG_DFL | |
1367 and NULL are the same! For "!!yes|dd count=1|, the yes command kept on | |
1368 running. | |
1369 | |
1370 Partly fixed: Unix GUI: Typeahead while executing an external command was lost. | |
1371 Now it's not lost while the command is producing output. | |
1372 | |
1373 Typing <S-Tab> in Insert mode, when it isn't mapped, inserted "<S-Tab>". Now | |
1374 it works like a normal <Tab>, just like <C-Tab> and <M-Tab>. | |
1375 | |
1376 Redrawing ruler didn't check for old value correctly (caused UMR warnings in | |
1377 Purify). | |
1378 | |
1379 Negative array index in finish_viminfo_history(). | |
1380 | |
1381 ":g/^/d|mo $" deleted all the lines. The ":move" command now removes the | |
1382 :global mark from the moved lines. | |
1383 | |
1384 Using "vG" while the last line in the window is a "@" line, didn't update | |
1385 correctly. Just the "v" showed "~" lines. | |
1386 | |
1387 "daw" on the last char of the file, when it's a space, moved the cursor beyond | |
1388 the end of the line. | |
1389 | |
1390 When 'hlsearch' was set or reset, only the current buffer was redrawn, while | |
1391 this affects all windows. | |
1392 | |
1393 CTRL-^, positioning the cursor somewhere from 1/2 to 1 1/2 screen down the | |
1394 file, put the cursor at the bottom of the window, instead of halfway. | |
1395 | |
1396 When scrolling up for ":append" command, not all windows were updated | |
1397 correctly. | |
1398 | |
1399 When 'hlsearch' is set, and an auto-indent is highlighted, pressing <Esc> | |
1400 didn't remove the highlighting, although the indent was deleted. | |
1401 | |
1402 When 'ru' set and 'nosc', using "$j" showed a wrong ruler. | |
1403 | |
1404 Under Xfree 3.2, Shift-Tab didn't work (wrong keysym is used). | |
1405 | |
1406 Mapping <S-Tab> didn't work. Changed the key translations to use the shortest | |
1407 key code possible. This makes the termcode translations and mappings more | |
1408 consistent. Now all modifiers work in all combinations, not only with <Tab>, | |
1409 but also with <Space>, <CR>, etc. | |
1410 | |
1411 For Unix, restore three more signals. And Vim catches SIGINT now, so CTRL-C | |
1412 in Ex mode doesn't make Vim exit. | |
1413 | |
1414 ""a5Y" yanked 25 lines instead of 5. | |
1415 | |
1416 "vrxxx<Esc>" in an empty line could not be undone. | |
1417 | |
1418 A CTRL-C that breaks ":make" caused the errorfile not to be read (annoying | |
1419 when you want to handle what ":make" produced so far). | |
1420 | |
1421 ":0;/pat" didn't find "pat" in line 1. | |
1422 | |
1423 Search for "/test/s+1" at first char of file gave bottom-top message, or | |
1424 didn't work at all with 'nowrapscan'. | |
1425 | |
1426 Bug in viminfo history. Could cause a crash on exit. | |
1427 | |
1428 ":print" didn't put cursor on first non-blank in line. | |
1429 | |
1430 ":0r !cat </dev/null" left cursor in line zero, with very strange effects. | |
1431 | |
1432 With 'showcmd' set and 'timeoutlen' set to a few seconds, trick to position | |
1433 the cursor leftwards didn't work. | |
1434 | |
1435 AIX stty settings were restored to cs5 instead of cs8 (Winn). | |
1436 | |
1437 File name completion didn't work for "zsh" versions that put spaces between | |
1438 file names, instead of NULs. | |
1439 | |
1440 Changed "XawChain*" to "XtChain*", should work for more systems. | |
1441 | |
1442 Included quite a few fixes for rightleft mode (Lottem). | |
1443 | |
1444 Didn't ask to |hit-enter| when GUI is started and error messages are printed. | |
1445 | |
1446 When trying to edit a file in a non-existent directory, ended up with editing | |
1447 "No file". | |
1448 | |
1449 "gqap" to format a paragraph did too much redrawing. | |
1450 | |
1451 When 'hlsearch' set, only the current window was updated for a new search | |
1452 pattern. | |
1453 | |
1454 Sometimes error messages on startup didn't cause a |hit-enter| prompt, | |
1455 because of autocommands containing an empty line. | |
1456 | |
1457 Was possible to select part of the window in the border, below the command | |
1458 line. | |
1459 | |
1460 '< and '> marks were not at the correct position after linewise Visual | |
1461 selection. | |
1462 | |
1463 When translating a help argument to "CTRL-x", prepend or append a '_', when | |
1464 applicable. | |
1465 | |
1466 Blockwise visual mode wasn't correct when moving vertically over a special | |
1467 character (displayed as two screen characters). | |
1468 | |
1469 Renamed "struct option" to "struct vimoption" to avoid name clash with GNU | |
1470 getopt(). | |
1471 | |
1472 ":abclear" didn't work (but ":iabclear" and ":cabclear" did work). | |
1473 | |
1474 When 'nowrap' used, screen wasn't always updated correctly. | |
1475 | |
1476 "vim -c split file" displayed extra lines. | |
1477 | |
1478 After starting the GUI, searched the termcap for a "gui" term. | |
1479 | |
1480 When 'hls' used, search for "^$" caused a hang. | |
1481 When 'hls' was set, an error in the last regexp caused trouble. | |
1482 | |
1483 Unix: Only output an extra <EOL> on exit when outputted something in the | |
1484 alternate screen, or when there is a message that needs to be cleared. | |
1485 | |
1486 "/a\{" did strange things, depending on previous search. | |
1487 | |
1488 "c}" only redrew one line (with -u NONE). | |
1489 | |
1490 For mappings, CTRL-META-A was shown as <M-^A> instead of <MC-A>, while :map | |
1491 only accepts <MC-A>. Now <M-C-A> is shown. | |
1492 | |
1493 Unix: When using full path name in a tags file, which contains a link, and | |
1494 'hidden' set and jumping to a tag in the current file, would get bogus | |
1495 ATTENTION message. Solved by always expanding file names, even when starting | |
1496 with '/'. | |
1497 | |
1498 'hlsearch' highlighting of special characters (e.g., a TAB) didn't highlight | |
1499 the whole thing. | |
1500 | |
1501 "r<CR>" didn't work correctly on the last char of a line. | |
1502 | |
2283
7e1bd501306d
Mainly documentation updates.
Bram Moolenaar <bram@vim.org>
parents:
2207
diff
changeset
|
1503 Sometimes a window resize or other signal caused an endless loop, involving |
7 | 1504 set_winsize(). |
1505 | |
1506 "vim -r" didn't work, it would just hang (using tgetent() while 'term' is | |
1507 empty). | |
1508 | |
1509 "gk" while 'nowrap' set moved two lines up. | |
1510 | |
1511 When windows are split, a message that causes a scroll-up messed up one of the | |
1512 windows, which required a CTRL-L to be typed. | |
1513 | |
1514 Possible endless loop when using shell command in the GUI. | |
1515 | |
1516 Menus defined in the .vimrc were removed when GUI started. | |
1517 | |
1518 Crash when pasting with the mouse in insert mode. | |
1519 | |
9 | 1520 Crash with ":unmenu *" in .gvimrc for Athena. |
7 | 1521 |
1522 "5>>" shifted 5 lines 5 times, instead of 1 time. | |
1523 | |
1524 CTRL-C when getting a prompt in ":global" didn't interrupt. | |
1525 | |
1526 When 'so' is non-zero, and moving the scrollbar completely to the bottom, | |
1527 there was a lot of flashing. | |
1528 | |
1529 GUI: Scrollbar ident must be long for DEC Alpha. | |
1530 | |
1531 Some functions called vim_regcomp() without setting reg_magic, which could | |
1532 lead to unpredictable magicness. | |
1533 | |
1534 Crash when clicking around the status line, could get a selection with a | |
1535 backwards range. | |
1536 | |
1537 When deleting more than one line characterwise, the last character wasn't | |
1538 deleted. | |
1539 | |
1540 GUI: Status line could be overwritten when moving the scrollbar quickly (or | |
1541 when 'wd' is non-zero). | |
1542 | |
1543 An ESC at the end of a ":normal" command caused a wait for a terminal code to | |
1544 finish. Now, a terminal code is not recognized when its start comes from a | |
1545 mapping or ":normal" command. | |
1546 | |
1547 Included patches from Robert Webb for GUI. Layout of the windows is now done | |
1548 inside Vim, instead of letting the layout manager do this. Makes Vim work | |
1549 with Lesstif! | |
1550 | |
1551 UMR warning in set_expand_context(). | |
1552 | |
1553 Memory leak: b_winlnum list was never freed. | |
1554 | |
1555 Removed TIOCLSET/TIOCLGET code from os_unix.c. Was changing some of the | |
1556 terminal settings, and looked like it wasn't doing anything good. (suggested | |
1557 by Juergen Weigert). | |
1558 | |
1559 Ruler overwrote "is a directory" message. When starting up, and 'cmdheight' | |
1560 set to > 1, first message could still be in the last line. | |
1561 | |
1562 Removed prototype for putenv() from proto.h, it's already in osdef2.h.in. | |
1563 | |
1564 In replace mode, when moving the cursor and then backspacing, wrong characters | |
1565 were inserted. | |
1566 | |
1567 Win32 GUI was checking for a CTRL-C too often, making it slow. | |
1568 | |
1569 Removed mappings for MS-DOS that were already covered by commands. | |
1570 | |
1571 When visually selecting all lines in a file, cursor at last line, then "J". | |
1572 Gave ml_get errors. Was a problem with scrolling down during redrawing. | |
1573 | |
1574 When doing a linewise operator, and then an operator with a mouse click, it | |
1575 was also linewise, instead of characterwise. | |
1576 | |
1577 When 'list' is set, the column of the ruler was wrong. | |
1578 | |
1579 Spurious error message for "/\(b\+\)*". | |
1580 | |
1581 When visually selected many lines, message from ":w file" disappeared when | |
1582 redrawing the screen. | |
1583 | |
1584 ":set <M-b>=^[b", then insert "^[b", waited for another character. And then | |
1585 inserted "<M-b>" instead of the real <M-b> character. Was trying to insert | |
1586 K_SPECIAL x NUL. | |
1587 | |
1588 CTRL-W ] didn't use count to set window height. | |
1589 | |
1590 GUI: "-font" command-line argument didn't override 'guifont' setting from | |
1591 .gvimrc. (Acevedo) | |
1592 | |
1593 GUI: clipboard wasn't used for "*y". And some more Win32/X11 differences | |
1594 fixed for the clipboard (Webb). | |
1595 | |
1596 Jumping from one help file to another help file, with 'compatible' set, | |
1597 removed the 'help' flag from the buffer. | |
1598 | |
1599 File-writable bit could be reset when using ":w!" for a readonly file. | |
1600 | |
1601 There was a wait for CTRL-O n in Insert mode, because the search pattern was | |
1602 shown. | |
1603 Reduced wait, to allow reading a message, from 10 to 3 seconds. It seemed | |
1604 nothing was happening. | |
1605 | |
1606 ":recover" found same swap file twice. | |
1607 | |
1608 GUI: "*yy only worked the second time (when pasting to an xterm)." | |
1609 | |
1610 DJGPP version (dos32): The system flags were cleared. | |
1611 | |
1612 Dos32 version: Underscores were sometimes replaced with y-umlaut (Levin). | |
1613 | |
1614 Version 4.1 of ncurses can't handle tputs("", ..). Avoid calling tputs() with | |
1615 an empty string. | |
1616 | |
1617 <S-Tab> in the command-line worked like CTRL-P when no completion started yet. | |
1618 Now it does completion, last match first. | |
1619 | |
1620 Unix: Could get annoying "can't write viminfo" message after doing "su". Now | |
1621 the viminfo file is overwritten, and the user set back to the original one. | |
1622 | |
1623 ":set term=builtin_gui" started the GUI in a wrong way. Now it's not | |
1624 allowed anymore. But "vim -T gui" does start the GUI correctly now. | |
1625 | |
1626 GUI: Triple click after a line only put last char in selection, when it is a | |
1627 single character word. | |
1628 | |
1629 When the window is bigger than the screen, the scrolling up of messages was | |
1630 wrong (e.g. ":vers", ":hi"). Also when the bottom part of the window was | |
1631 obscured by another window. | |
1632 | |
1633 When using a wrong option only an error message is printed, to avoid that the | |
1634 usage information makes it scroll off the screen. | |
1635 | |
1636 When exiting because of not being able to read from stdin, didn't preserve the | |
1637 swap files properly. | |
1638 | |
1639 Visual selecting all chars in more than one line, then hit "x" didn't leave an | |
1640 empty line. For one line it did leave an empty line. | |
1641 | |
1642 Message for which autocommand is executing messed up file write message (for | |
1643 FileWritePost event). | |
1644 | |
1645 "vim -h" included "-U" even when GUI is not available, and "-l" when lisp is | |
1646 not available. | |
1647 | |
1648 Crash for ":he <C-A>" (command-line longer than screen). | |
1649 | |
1650 ":s/this/that/gc", type "y" two times, then undo, did reset the modified | |
1651 option, even though the file is still modified. | |
1652 | |
1653 Empty lines in a tags file caused a ":tag" to be aborted. | |
1654 | |
1655 When hitting 'q' at the more prompt for ":menu", still scrolled a few lines. | |
1656 | |
1657 In an xterm that uses the bold trick a single row of characters could remain | |
1658 after an erased bold character. Now erase one extra char after the bold char, | |
1659 like for the GUI. | |
1660 | |
1661 ":pop!" didn't work. | |
1662 | |
1663 When the reading a buffer was interrupted, ":w" should not be able to | |
1664 overwrite the file, ":w!" is required. | |
1665 | |
1666 ":cf%" caused a crash. | |
1667 | |
1668 ":gui longfilename", when forking is enabled, could leave part of the | |
1669 longfilename at the shell prompt. | |
1670 | |
1671 ============================================================================== | |
1672 VERSION 5.1 *version-5.1* | |
1673 | |
1674 Improvements made between version 5.0 and 5.1. | |
1675 | |
1676 This was mostly a bug-fix release, not many new features. | |
1677 | |
1678 | |
1679 Changed *changed-5.1* | |
1680 ------- | |
1681 | |
1682 The expand() function now separates file names with <NL> instead of a space. | |
1683 This avoids problems for file names with embedded spaces. To get the old | |
1684 result, use substitute(expand(foo), "\n", " ", "g"). | |
1685 | |
1686 For Insert-expanding dictionaries allow a backslash to be used for | |
1687 wildchars. Allows expanding "ze\kra", when 'isk' includes a backslash. | |
1688 | |
1689 New icon for the Win32 GUI. | |
1690 | |
1691 ":tag", ":tselect" etc. only use the argument as a regexp when it starts | |
1692 with '/'. Avoids that ":tag xx~" gives an error message: "No previous sub. | |
1693 regexp". Also, when the :tag argument contained wildcard characters, it was | |
1694 not Vi compatible. | |
1695 When using '/', the argument is taken literally too, with a higher priority, | |
1696 so it's found before wildcard matches. | |
1697 Only when the '/' is used are matches with different case found, even though | |
1698 'ignorecase' isn't set. | |
1699 Changed "g^]" to only do ":tselect" when there is more than on matching tag. | |
1700 | |
1701 Changed some of the default colors, because they were not very readable on a | |
1702 dark background. | |
1703 | |
1704 A character offset to a search pattern can move the cursor to the next or | |
1705 previous line. Also fixes that "/pattern/e+2" got stuck on "pattern" at the | |
1706 end of a line. | |
1707 | |
1708 Double-clicks in the status line do no longer start Visual mode. Dragging a | |
1709 status line no longer stops Visual mode. | |
1710 | |
1711 Perl interface: Buffers() and Windows() now use more logical arguments, like | |
1712 they are used in the rest of Vim (Moore). | |
1713 | |
1714 Init '" mark to the first character of the first line. Makes it possible to | |
1715 use '" in an autocommand without getting an error message. | |
1716 | |
1717 | |
1718 Added *added-5.1* | |
1719 ----- | |
1720 | |
1721 "shell_error" internal variable: result of last shell command. | |
1722 | |
1723 ":echohl" command: Set highlighting for ":echo". | |
1724 | |
1725 'S' flag in 'highlight' and StatusLineNC highlight group: highlighting for | |
1726 status line of not-current window. Default is to use bold for current | |
1727 window. | |
1728 | |
1729 Added buffer_name() and buffer_number() functions (Aaron). | |
1730 Added flags argument "g" to substitute() function (Aaron). | |
1731 Added winheight() function. | |
1732 | |
1733 Win32: When an external command starts with "start ", no console is opened | |
1734 for it (Aaron). | |
1735 | |
1736 Win32 console: Use termcap codes for bold/reverse based on the current | |
1737 console attributes. | |
1738 | |
1739 Configure check for "strip". (Napier) | |
1740 | |
1741 CTRL-R CTRL-R x in Insert mode: Insert the contents of a register literally, | |
1742 instead of as typed. | |
1743 | |
1744 Made a few "No match" error messages more informative by adding the pattern | |
1745 that didn't match. | |
1746 | |
1747 "make install" now also copies the macro files. | |
1748 | |
1749 tools/tcltags, a shell script to generate a tags file from a TCL file. | |
1750 | |
1751 "--with-tlib" setting for configure. Easy way to use termlib: "./configure | |
1752 --with-tlib=termlib". | |
1753 | |
1754 'u' flag in 'cino' for setting the indent for contained () parts. | |
1755 | |
1756 When Win32 OLE version can't load the registered type library, ask the user | |
1757 if he wants to register Vim now. (Erhardt) | |
1758 Win32 with OLE: When registered automatically, exit Vim. | |
1759 Included VisVim 1.1b, with a few enhancements and the new icon (Heiko | |
1760 Erhardt). | |
1761 | |
1762 Added patch from Vince Negri for Win32s support. Needs to be compiled with | |
1763 VC 4.1! | |
1764 | |
1765 Perl interface: Added $curbuf. Rationalized Buffers() and Windows(). | |
1766 (Moore) Added "group" argument to Msg(). | |
1767 | |
1768 Included Perl files in DOS source archive. Changed Makefile.bor and | |
1769 Makefile.w32 to support building a Win32 version with Perl included. | |
1770 | |
1771 Included new Makefile.w32 from Ken Scott. Now it's able to make all Win32 | |
1772 versions, including OLE, Perl and Python. | |
1773 | |
1774 Added CTRL-W g ] and CTRL-W g ^]: split window and do g] or g^]. | |
1775 | |
1776 Added "g]" to always do ":tselect" for the ident under the cursor. | |
1777 Added ":tjump" and ":stjump" commands. | |
1778 Improved listing of ":tselect" when tag names are a bit long. | |
1779 | |
236 | 1780 Included patches for the Macintosh version. Also for Python interface. |
7 | 1781 (St-Amant) |
1782 | |
1783 ":buf foo" now also restores cursor column, when the buffer was used before. | |
1784 | |
1785 Adjusted the Makefile for different final destinations for the syntax files | |
1786 and scripts (for Debian Linux). | |
1787 | |
1788 Amiga: $VIM can be used everywhere. When $VIM is not defined, "VIM:" is | |
1789 used. This fixes that "VIM:" had to be assigned for the help files, and | |
1790 $VIM set for the syntax files. Now either of these work. | |
1791 | |
1792 Some xterms send vt100 compatible function keys F1-F4. Since it's not | |
1793 possible to detect this, recognize both type of keys and translate them to | |
1794 <F1> - <F4>. | |
1795 | |
1796 Added "VimEnter" autocommand. Executed after loading all the startup stuff. | |
1797 | |
1798 BeOS version now also runs on Intel CPUs (Seibert). | |
1799 | |
1800 | |
1801 Fixed *fixed-5.1* | |
1802 ----- | |
1803 | |
1804 ":ts" changed position in the tag stack when cancelled with <CR>. | |
1805 ":ts" changed the cursor position for CTRL-T when cancelled with <CR>. | |
1806 ":tn" would always jump to the second match. Was using the wrong entry in | |
1807 the tag stack. | |
1808 Doing "tag foo", then ":tselect", overwrote the original cursor position in | |
1809 the tag stack. | |
1810 | |
1811 "make install" changed the vim.1 manpage in a wrong way, causing "doc/doc" | |
1812 to appear for the documentation files. | |
1813 | |
1814 When compiled with MAX_FEAT, xterm mouse handling failed. Was caused by DEC | |
1815 mouse handling interfering. | |
1816 | |
1817 Was leaking memory when using selection in X11. | |
1818 | |
1819 CTRL-D halfway a command-line left some characters behind the first line(s) | |
1820 of the listing. | |
1821 | |
1822 When expanding directories for ":set path=", put two extra backslashes | |
1823 before a space in a directory name. | |
1824 | |
1825 When 'lisp' set, first line of a function would be indented. Now its indent | |
1826 is set to zero. And use the indent of the first previous line that is at | |
1827 the same () level. Added test33. | |
1828 | |
1829 "so<Esc>u" in an empty file didn't work. | |
1830 | |
1831 DOS: "seek error in swap file write" errors, when using DOS 6.2 share.exe, | |
1832 because the swap file was made hidden. It's no longer hidden. | |
1833 | |
1834 ":global" command would sometimes not execute on a matching line. Happened | |
1835 when a data block is full in ml_replace(). | |
1836 | |
1837 For AIX use a tgetent buffer of 2048 bytes, instead of 1024. | |
1838 | |
1839 Win32 gvim now only sets the console size for external commands to 25x80 | |
1840 on Windows 95, not on NT. | |
1841 | |
1842 Win32 console: Dead key could cause a crash, because of a missing "WINAPI" | |
1843 (Deshpande). | |
1844 | |
1845 The right mouse button started Visual mode, even when 'mouse' is empty, and | |
1846 in the command-line, a left click moved the cursor when 'mouse' is empty. | |
1847 In Visual mode, 'n' in 'mouse' would be used instead of 'v'. | |
1848 | |
1849 A blinking cursor or focus change cleared a non-Visual selection. | |
1850 | |
1851 CTRL-Home and CTRL-End didn't work for MS-DOS versions. | |
1852 | |
1853 Could include NUL in 'iskeyword', causing a crash when doing insert mode | |
1854 completion. | |
1855 | |
1856 Use _dos_commit() to flush the swap file to disk for MSDOS 16 bit version. | |
1857 | |
1858 In mappings, CTRL-H was replaced by the backspace key code. This caused | |
1859 problems when it was used as text, e.g. ":map _U :%s/.^H//g<CR>". | |
1860 | |
1861 ":set t_Co=0" was not handled like a normal term. Now it's translated into | |
1862 ":set t_Co=", which works. | |
1863 | |
1864 For ":syntax keyword" the "transparent" option did work, although not | |
1865 mentioned in the help. But synID() returned wrong name. | |
1866 | |
1867 "gqG" in a file with one-word-per-line (e.g. a dictionary) was very slow and | |
1121 | 1868 not interruptible. |
7 | 1869 |
1870 "gq" operator inserted screen lines in the wrong situation. Now screen | |
1871 lines are inserted or deleted when this speeds up displaying. | |
1872 | |
1873 cindent was wrong when an "if" contained "((". | |
1874 | |
1875 'r' flag in 'viminfo' was not used for '%'. Could get files in the buffer | |
1876 list from removable media. | |
1877 | |
1878 Win32 GUI with OLE: if_ole_vc.mak could not be converted into a project. | |
1879 Hand-edited to fix this... | |
1880 | |
1881 With 'nosol' set, doing "$kdw" below an empty line positioned the cursor at | |
1882 the end of the line. | |
1883 | |
1884 Dos32 version changed "\dir\file" into "/dir/file", to work around a DJGPP | |
1885 bug. That bug appears to have been fixed, therefore this translation has | |
1886 been removed. | |
1887 | |
1888 "/^*" didn't work (find '*' in first column). | |
1889 | |
1890 "<afile>" was not always set for autocommands. E.g., for ":au BufEnter * | |
1891 let &tags = expand("<afile>:p:h") . "/tags". | |
1892 | |
1893 In an xterm, the window may be a child of the outer xterm window. Use the | |
1894 parent window when getting the title and icon names. (Smith) | |
1895 | |
1896 When starting with "gvim -bg black -fg white", the value of 'background' is | |
1897 only set after reading the .gvimrc file. This causes a ":syntax on" to use | |
1898 the wrong colors. Now allow using ":gui" to open the GUI window and set the | |
1899 colors. Previously ":gui" in a gvimrc crashed Vim. | |
1900 | |
1901 tempname() returned the same name all the time, unless the file was actually | |
1902 created. Now there are at least 26 different names. | |
1903 | |
1904 File name used for <afile> was sometimes full path, sometimes file name | |
1905 relative to current directory. | |
1906 | |
1907 When 'background' was set after the GUI window was opened, it could change | |
1908 colors that were set by the user in the .gvimrc file. Now it only changes | |
1909 colors that have not been set by the user. | |
1910 | |
1911 Ignore special characters after a CSI in the GUI version. These could be | |
1912 interpreted as special characters in a wrong way. (St-Amant) | |
1913 | |
1914 Memory leak in farsi code, when using search or ":s" command. | |
1915 Farsi string reversing for a mapping was only done for new mappings. Now it | |
1916 also works for replacing a mapping. | |
1917 | |
1918 Crash in Win32 when using a file name longer than _MAX_PATH. (Aaron) | |
1919 | |
1920 When BufDelete autocommands were executed, some things for the buffer were | |
1921 already deleted (esp. Perl stuff). | |
1922 | |
1923 Perl interface: Buffer specific items were deleted too soon; fixes "screen | |
1924 no longer exists" messages. (Moore) | |
1925 | |
1926 The Perl functions didn't set the 'modified' flag. | |
1927 | |
1928 link.sh did not return an error on exit, which may cause Vim to start | |
1929 installing, even though there is no executable to install. (Riehm) | |
1930 | |
1931 Vi incompatibility: In Vi "." redoes the "y" command. Added the 'y' flag to | |
1932 'cpoptions'. Only for 'compatible' mode. | |
1933 | |
1934 ":echohl" defined a new group, when the argument was not an existing group. | |
1935 | |
1936 "syn on" and ":syn off" could move the cursor, if there is a hidden buffer | |
1937 that is shorter that the current cursor position. | |
1938 | |
1939 The " mark was not set when doing ":b file". | |
1940 | |
1941 When a "nextgroup" is used with "skipwhite" in syntax highlighting, space at | |
1942 the end of the line made the nextgroup also be found in the next line. | |
1943 | |
1944 ":he g<CTRL-D>", then ":" and backspace to the start didn't redraw. | |
1945 | |
1946 X11 GUI: "gvim -rv" reversed the colors twice on Sun. Now Vim checks if the | |
1947 result is really reverse video (background darker than foreground). | |
1948 | |
1949 "cat link.sh | vim -" didn't set syntax highlighting. | |
1950 | |
1951 Win32: Expanding "file.sw?" matched ".file.swp". This is an error of | |
1952 FindnextFile() that we need to work around. (Kilgore) | |
1953 | |
1954 "gqgq" gave an "Invalid lnum" error on the last line. | |
1955 Formatting with "gq" didn't format the first line after a change of comment | |
1956 leader. | |
1957 | |
1958 There was no check for out-of-memory in win_alloc(). | |
1959 | |
1960 "vim -h" didn't mention "-register" and "-unregister" for the OLE version. | |
1961 | |
1962 Could not increase 'cmdheight' when the last window is only one line. Now | |
1963 other windows are also made smaller, when necessary. | |
1964 | |
1965 Added a few {} to avoid "suggest braces around" warnings from gcc 2.8.x. | |
1966 Changed return type of main() from void to int. (Nam) | |
1967 | |
1968 Using '~' twice in a substitute pattern caused a crash. | |
1969 | |
1970 "syn on" and ":syn off" could scroll the window, if there is a hidden buffer | |
1971 that is shorter that the current cursor position. | |
1972 | |
1973 ":if 0 | if 1 | endif | endif" didn't work. Same for ":while" and "elseif". | |
1974 | |
1975 With two windows on modified files, with 'autowrite' set, cursor in second | |
1976 window, ":qa" gave a warning for the file in the first window, but then | |
1977 auto-wrote the file in the second window. (Webb) | |
1978 | |
1979 Win32 GUI scrollbar could only handle 32767 lines. Also makes the | |
1980 intellimouse wheel use the configurable number of scrolls. (Robinson) | |
1981 | |
1982 When using 'patchmode', and the backup file is on another partition, the file | |
1983 copying messed up the write-file message. | |
1984 | |
1985 GUI X11: Alt-Backspace and Alt-Delete didn't work. | |
1986 | |
1987 "`0" could put the cursor after the last character in the line, causing | |
1988 trouble for other commands, like "i". | |
1989 | |
1990 When completing tags in insert mode with ^X^], some matches were skipped, | |
1991 because the compare with other tags was wrong. E.g., when "mnuFileSave" was | |
1992 already there, "mnuFile" would be skipped. (Negri) | |
1993 | |
1994 When scrolling up/down, a syntax item with "keepend" didn't work properly. | |
1668 | 1995 Now the flags are also stored for the syntax state at the start of each line. |
7 | 1996 |
1997 When 'ic' was changed while 'hlsearch' is on, there was no redraw to show the | |
1998 effect. | |
1999 | |
2000 Win32 GUI: Don't display "No write since last chance" in a message box, but in | |
2001 the Vim window. | |
2002 | |
2003 ============================================================================== | |
2004 VERSION 5.2 *version-5.2* | |
2005 | |
2006 Improvements made between version 5.1 and 5.2. | |
2007 | |
2008 | |
2009 Long lines editable *long-lines* | |
2010 ------------------- | |
2011 | |
2012 A single long line that doesn't fit in the window doesn't show a line of @@@ | |
2013 anymore. Redrawing starts at a character further on in the line, such that | |
2014 the text around the cursor can be seen. This makes it possible to edit these | |
2015 long lines when wrapping is on. | |
2016 | |
2017 | |
2018 File browser added *file-browser-5.2* | |
2019 ------------------ | |
2020 | |
2021 The Win32, Athena and Motif GUI bring up a file requester if the user asks to | |
2022 ":browse" for the ":e", ":w", ":r", ":so", ":redirect" and | |
5362
ab1508486b12
Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
5294
diff
changeset
|
2023 ":mkexrc/vimrc/vsess" commands. ":browse e /foo/bar" opens the requester in |
7 | 2024 the /foo/bar directory, so you can have nice mapping rhs's like ":browse so |
2025 $vim/macros". If no initial dir specified for ":browse e", can be compiled to | |
2026 either begin in the current directory, or that of the current buffer. (Negri | |
2027 and Kahn) | |
2028 Added the 'browsedir' option, with value "current", "last" or "buffer". Tells | |
9 | 2029 whether a browse dialog starts in last used dir, dir of current buffer, or |
7 | 2030 current dir. ":browse w" is unaffected. |
2031 The default menus have been changed to use the ":browse" command. | |
2032 | |
2033 | |
2034 Dialogs added *dialogs-added* | |
2035 ------------- | |
2036 | |
2037 Added the ":confirm" command. Works on ":e", ":q", ":w", ":cl". Win32, | |
2038 Athena and Motif GUI uses a window-dialog. All other platforms can use | |
2039 prompt in command-line. ":confirm qa" offers a choice to save all modified | |
2040 files. | |
2041 | |
2042 confirm() function: allows user access to the confirm engine. | |
2043 | |
2044 Added 'v' flag to 'guioptions'. When included, a vertical button layout is | |
2045 always used for the Win32 GUI dialog. Otherwise, a horizontal layout is | |
2046 preferred. | |
2047 | |
2048 Win32 GUI: ":promptfind" and ":promptrepl" pop up a dialog to find/replace. | |
2049 To be used from a menu entry. (Negri) | |
2050 | |
2051 | |
2052 Popup menu added *popup-menu-added* | |
2053 ---------------- | |
2054 | |
2055 When the 'mousemodel' option is set to "popup", the right mouse button | |
2056 displays the top level menu headed with "PopUp" as pop-up context menu. The | |
2057 "PopUp" menu is not displayed in the normal menu bar. This currently only | |
2058 works for Win32 and Athena GUI. | |
2059 | |
2060 | |
2061 Select mode added *new-Select-mode* | |
2062 ----------------- | |
2063 | |
2064 A new mode has been added: "Select mode". It is like Visual mode, but typing | |
2065 a printable character replaces the selection. | |
2066 - CTRL-G can be used to toggle between Visual mode and Select mode. | |
2067 - CTRL-O can be used to switch from Select mode to Visual mode for one command. | |
2068 - Added 'selectmode' option: tells when to start Select mode instead of Visual | |
2069 mode. | |
2070 - Added 'mousemodel' option: Change use of mouse buttons. | |
2071 - Added 'keymodel' option: tells to use shifted special keys to start a | |
2072 Visual or Select mode selection. | |
236 | 2073 - Added ":behave". Can be used to quickly set 'selectmode', 'mousemodel' |
7 | 2074 and 'keymodel' for MS-Windows and xterm behavior. |
2075 - The xterm-like selection is now called modeless selection. | |
2076 - Visual mode mappings and menus are used in Select mode. They automatically | |
2077 switch to Visual mode first. Afterwards, reselect the area, unless it was | |
2078 deleted. The "gV" command can be used in a mapping to skip the reselection. | |
2079 - Added the "gh", "gH" and "g^H" commands: start Select (highlight) mode. | |
2080 - Backspace in Select mode deletes the selected area. | |
2081 | |
2082 "mswin.vim" script. Sets behavior mostly like MS-Windows. | |
2083 | |
2084 | |
2085 Session files added *new-session-files* | |
2086 ------------------- | |
2087 | |
2088 ":mks[ession]" acts like "mkvimrc", but also writes the full filenames of the | |
2089 currently loaded buffers and current directory, so that :so'ing the file | |
2090 re-loads those files and cd's to that directory. Also stores and restores | |
2091 windows. File names are made relative to session file. | |
2092 The 'sessionoptions' option sets behavior of ":mksession". (Negri) | |
2093 | |
2094 | |
2095 User defined functions and commands *new-user-defined* | |
2096 ----------------------------------- | |
2097 | |
2098 Added user defined functions. Defined with ":function" until ":endfunction". | |
2099 Called with "Func()". Allows the use of a variable number of arguments. | |
2100 Included support for local variables "l:name". Return a value with ":return". | |
2101 See |:function|. | |
2102 Call a function with ":call". When using a range, the function is called for | |
2103 each line in the range. |:call| | |
2104 "macros/justify.vim" is an example of using user defined functions. | |
2105 User functions do not change the last used search pattern or the command to be | |
2106 redone with ".". | |
2107 'maxfuncdepth' option. Restricts the depth of function calls. Avoids trouble | |
2108 (crash because of out-of-memory) when a function uses endless recursion. | |
2109 | |
2110 User definable Ex commands: ":command", ":delcommand" and ":comclear". | |
2111 (Moore) See |user-commands|. | |
2112 | |
2113 | |
2114 New interfaces *interfaces-5.2* | |
2115 -------------- | |
2116 | |
2117 Tcl interface. (Wilken) See |tcl|. | |
2118 Uses the ":tcl", ":tcldo" and "tclfile" commands. | |
2119 | |
2120 Cscope support. (Kahn) (Sekera) See |cscope|. | |
2121 Uses the ":cscope" and ":cstag" commands. Uses the options 'cscopeprg', | |
2122 'cscopetag', 'cscopetagorder' and 'cscopeverbose'. | |
2123 | |
2124 | |
2125 New ports *ports-5.2* | |
2126 --------- | |
2127 | |
2128 Amiga GUI port. (Nielsen) Not tested much yet! | |
2129 | |
2130 RISC OS version. (Thomas Leonard) See |riscos|. | |
2131 This version can run either with a GUI or in text mode, depending upon where | |
2132 it is invoked. | |
2133 Deleted the "os_archie" files, they were not working anyway. | |
2134 | |
2135 | |
2136 Multi-byte support *new-multi-byte* | |
2137 ------------------ | |
2138 | |
2139 MultiByte support for Win32 GUI. (Baek) | |
2140 The 'fileencoding' option decides how the text in the file is encoded. | |
2141 ":ascii" works for multi-byte characters. Multi-byte characters work on | |
2142 Windows 95, even when using the US version. (Aaron) | |
2143 Needs to be enabled in feature.h. | |
2144 This has not been tested much yet! | |
2145 | |
2146 | |
2147 New functions *new-functions-5.2* | |
2148 ------------- | |
2149 | |
2150 |browse()| puts up a file requester when available. (Negri) | |
2151 |escape()| escapes characters in a string with a backslash. | |
2152 |fnamemodify()| modifies a file name. | |
236 | 2153 |input()| asks the user to enter a line. (Aaron) There is a separate |
7 | 2154 history for lines typed for the input() function. |
2155 |argc()| | |
2156 |argv()| can be used to access the argument list. | |
2157 |winbufnr()| buffer number of a window. (Aaron) | |
2158 |winnr()| window number. (Aaron) | |
2159 |matchstr()| Return matched string. | |
2160 |setline()| Set a line to a string value. | |
2161 | |
2162 | |
2163 New options *new-options-5.2* | |
2164 ----------- | |
2165 | |
2166 'allowrevins' Enable the CTRL-_ command in Insert and Command-line mode. | |
2167 'browsedir' Tells in which directory a browse dialog starts. | |
2168 'confirm' when set, :q :w and :e commands always act as if ":confirm" | |
2169 is used. (Negri) | |
2170 'cscopeprg' | |
2171 'cscopetag' | |
2172 'cscopetagorder' | |
2173 'cscopeverbose' Set the |cscope| behavior. | |
2174 'filetype' RISC-OS specific type of file. | |
2175 'grepformat' | |
2176 'grepprg' For the |:grep| command. | |
2177 'keymodel' Tells to use shifted special keys to start a Visual or Select | |
2178 mode selection. | |
2179 'listchars' Set character to show in 'list' mode for end-of-line, tabs and | |
2180 trailing spaces. (partly by Smith) Also sets character to | |
2181 display if a line doesn't fit when 'nowrap' is set. | |
2182 'matchpairs' Allows matching '<' with '>', and other single character | |
2183 pairs. | |
2184 'mousefocus' Window focus follows mouse (partly by Terhaar). Changing the | |
2185 focus with a keyboard command moves the pointer to that | |
2186 window. Also move the pointer when changing the window layout | |
2187 (split window, change window height, etc.). | |
2188 'mousemodel' Change use of mouse buttons. | |
2189 'selection' When set to "inclusive" or "exclusive", the cursor can go one | |
2190 character past the end of the line in Visual or Select mode. | |
2191 When set to "old" the old behavior is used. When | |
2192 "inclusive", the character under the cursor is included in the | |
2193 operation. When using "exclusive", the new "ve" entry of | |
2194 'guicursor' is used. The default is a vertical bar. | |
2195 'selectmode' Tells when to start Select mode instead of Visual mode. | |
2196 'sessionoptions' Sets behavior of ":mksession". (Negri) | |
2197 'showfulltag' When completing a tag in Insert mode, show the tag search | |
2198 pattern (tidied up) as a choice as well (if there is one). | |
2199 'swapfile' Whether to use a swap file for a buffer. | |
2200 'syntax' When it is set, the syntax by that name is loaded. Allows for | |
2201 setting a specific syntax from a modeline. | |
2202 'ttymouse' Allows using xterm mouse codes for terminals which name | |
2203 doesn't start with "xterm". | |
2204 'wildignore' List of patterns for files that should not be completed at | |
2205 all. | |
2206 'wildmode' Can be used to set the type of expansion for 'wildchar'. | |
2207 Replaces the CTRL-T command for command line completion. | |
2208 Don't beep when listing all matches. | |
2209 'winaltkeys' Win32 and Motif GUI. When "yes", ALT keys are handled | |
2210 entirely by the window system. When "no", ALT keys are never | |
2211 used by the window system. When "menu" it depends on whether | |
2212 a key is a menu shortcut. | |
2213 'winminheight' Minimal height for each window. Default is 1. Set to 0 if | |
2214 you want zero-line windows. Scrollbar is removed for | |
2215 zero-height windows. (Negri) | |
2216 | |
2217 | |
2218 | |
2219 New Ex commands *new-ex-commands-5.2* | |
2220 --------------- | |
2221 | |
2222 |:badd| Add file name to buffer list without side effects. (Negri) | |
2223 |:behave| Quickly set MS-Windows or xterm behavior. | |
2224 |:browse| Use file selection dialog. | |
2225 |:call| Call a function, optionally with a range. | |
2226 |:cnewer| | |
2227 |:colder| To access a stack of quickfix error lists. | |
2228 |:comclear| Clear all user-defined commands. | |
2229 |:command| Define a user command. | |
2230 |:continue| Go back to ":while". | |
2231 |:confirm| Ask confirmation if something unexpected happens. | |
2232 |:cscope| Execute cscope command. | |
2233 |:cstag| Use cscope to jump to a tag. | |
2234 |:delcommand| Delete a user-defined command. | |
2235 |:delfunction| Delete a user-defined function. | |
2236 |:endfunction| End of user-defined function. | |
2237 |:function| Define a user function. | |
2238 |:grep| Works similar to ":make". (Negri) | |
2239 |:mksession| Create a session file. | |
2240 |:nohlsearch| Stop 'hlsearch' highlighting for a moment. | |
2241 |:Print| This is Vi compatible. Does the same as ":print". | |
2242 |:promptfind| Search dialog (Win32 GUI). | |
2243 |:promptrepl| Search/replace dialog (Win32 GUI). | |
2244 |:return| Return from a user-defined function. | |
2245 |:simalt| Win32 GUI: Simulate alt-key pressed. (Negri) | |
2246 |:smagic| Like ":substitute", but always use 'magic'. | |
2247 |:snomagic| Like ":substitute", but always use 'nomagic'. | |
2248 |:tcl| Execute TCL command. | |
2249 |:tcldo| Execute TCL command for a range of lines. | |
2250 |:tclfile| Execute a TCL script file. | |
2251 |:tearoff| Tear-off a menu (Win32 GUI). | |
2252 |:tmenu| | |
2253 |:tunmenu| Win32 GUI: menu tooltips. (Negri) | |
2254 |:star| :* Execute a register. | |
2255 | |
2256 | |
2257 Changed *changed-5.2* | |
2258 ------- | |
2259 | |
2260 Renamed functions: | |
2261 buffer_exists() -> bufexists() | |
2262 buffer_name() -> bufname() | |
2263 buffer_number() -> bufnr() | |
2264 file_readable() -> filereadable() | |
2265 highlight_exists() -> hlexists() | |
2266 highlightID() -> hlID() | |
2267 last_buffer_nr() -> bufnr("$") | |
2268 The old ones are still there, for backwards compatibility. | |
2269 | |
2270 The CTRL-_ command in Insert and Command-line mode is only available when the | |
2271 new 'allowrevins' option is set. Avoids that people who want to type SHIFT-_ | |
2272 accidentally enter reverse Insert mode, and don't know how to get out. | |
2273 | |
2274 When a file name path in ":tselect" listing is too long, remove a part in the | |
2275 middle and put "..." there. | |
2276 | |
2277 Win32 GUI: Made font selector appear inside Vim window, not just any odd | |
2278 place. (Negri) | |
2279 | |
2280 ":bn" skips help buffers, unless currently in a help buffer. (Negri) | |
2281 | |
2282 When there is a status line and only one window, don't show '^' in the status | |
2283 line of the current window. | |
2284 | |
2285 ":*" used to be used for "'<,'>", the Visual area. But in Vi it's used as an | |
2286 alternative for ":@". When 'cpoptions' includes '*' this is Vi compatible. | |
2287 | |
2288 When 'insertmode' is set, using CTRL-O to execute a mapping will work like | |
2289 'insertmode' was not set. This allows "normal" mappings to be used even when | |
2290 'insertmode' is set. | |
2291 | |
2292 When 'mouse' was set already (e.g., in the .vimrc file), don't automatically | |
2293 set 'mouse' when the GUI starts. | |
2294 | |
2295 Removed the 'N', 'I' and 'A' flags from the 'mouse' option. | |
2296 | |
2297 Renamed "toggle option" to "boolean option". Some people thought that ":set | |
2298 xyz" would toggle 'xyz' on/off each time. | |
2299 | |
2300 The internal variable "shell_error" contains the error code from the shell, | |
2301 instead of just 0 or 1. | |
2302 | |
2303 When inserting or replacing, typing CTRL-V CTRL-<CR> used to insert "<C-CR>". | |
2304 That is not very useful. Now the CTRL key is ignored and a <CR> is inserted. | |
2305 Same for all other "normal" keys with modifiers. Mapping these modified key | |
2306 combinations is still possible. | |
2307 In Insert mode, <C-CR> and <S-Space> can be inserted by using CTRL-K and then | |
2308 the special character. | |
2309 | |
2310 Moved "quotes" file to doc/quotes.txt, and "todo" file to doc/todo.txt. They | |
2311 are now installed like other documentation files. | |
2312 | |
2313 winheight() function returns -1 for a non-existing window. It used to be | |
2314 zero, but that is a valid height now. | |
2315 | |
2316 The default for 'selection' is "inclusive", which makes a difference when | |
2317 using "$" or the mouse to move the cursor in Visual mode. | |
2318 | |
2319 ":q!" does not exit when there are changed buffers which are hidden. Use | |
2320 ":qa!" to exit anyway. | |
2321 | |
2322 Disabled the Perl/Python/Tcl interfaces by default. Not many people use them | |
2323 and they make the executable a lot bigger. The internal scripting language is | |
2324 now powerful enough for most tasks. | |
2325 | |
2326 The strings from the 'titlestring' and 'iconstring' options are used | |
2327 untranslated for the Window title and icon. This allows for including a <CR>. | |
2328 Previously a <CR> would be shown as "^M" (two characters). | |
2329 | |
2330 When a mapping is started in Visual or Select mode which was started from | |
2331 Insert mode (the mode shows "(insert) Visual"), don't return to Insert mode | |
2332 until the mapping has ended. Makes it possible to use a mapping in Visual | |
2333 mode that also works when the Visual mode was started from Select mode. | |
2334 | |
2335 Menus in $VIMRUNTIME/menu.vim no longer overrule existing menus. This helps | |
2336 when defining menus in the .vimrc file, or when sourcing mswin.vim. | |
2337 | |
2338 Unix: Use /var/tmp for .swp files, if it exists. Files there survive a | |
2339 reboot (at least on Linux). | |
2340 | |
2341 | |
2342 Added *added-5.2* | |
2343 ----- | |
2344 | |
2345 --with-motif-lib configure argument. Allows for using a static Motif library. | |
2346 | |
2347 Support for mapping numeric keypad +,-,*,/ keys. (Negri) | |
2348 When not mapped, they produce the normal character. | |
2349 | |
2350 Win32 GUI: When directory dropped on Gvim, cd there and edit new buffer. | |
2351 (Negri) | |
2352 | |
2353 Win32 GUI: Made CTRL-Break work as interrupt, so that CTRL-C can be | |
2354 used for mappings. | |
2355 | |
2356 In the output of ":map", highlight the "*" to make clear it's not part of the | |
2357 rhs. (Roemer) | |
2358 | |
2359 When showing the Visual area, the cursor is not switched off, so that it can | |
2360 be located. The Visual area is now highlighted with a grey background in the | |
2361 GUI. This makes the cursor visible when it's also reversed. | |
2362 | |
2363 Win32: When started with single full pathname (e.g. via double-clicked file), | |
2364 cd to that file's directory. (Negri) | |
2365 | |
2366 Win32 GUI: Tear-off menus, with ":tearoff <menu-name>" command. (Negri) | |
2367 't' option to 'guioptions': Add tearoff menu items for Win32 GUI and Motif. | |
2368 It's included by default. | |
2369 Win32 GUI: tearoff menu with submenus is indicated with a ">>". (Negri) | |
2370 | |
2371 Added ^Kaa and ^KAA digraphs. | |
2372 Added "euro" symbol to digraph.c. (Corry) | |
2373 | |
2374 Support for Motif menu shortcut keys, using '&' like MS-Windows (Ollis). | |
2375 Other GUIs ignore '&' in a menu name. | |
2376 | |
2377 DJGPP: Faster screen updating (John Lange). | |
2378 | |
2379 Clustering of syntax groups ":syntax cluster" (Bigham). | |
2380 Including syntax files: ":syntax include" (Bigham). | |
2381 | |
2382 Keep column when switching buffers, when 'nosol' is set (Radics). | |
2383 | |
2384 Number function for Perl interface. | |
2385 | |
2386 Support for Intellimouse in Athena GUI. (Jensen) | |
2387 | |
2388 ":sleep" also accepts an argument in milliseconds, when "m" is used. | |
2389 | |
2390 Added 'p' flag in 'guioptions': Install callbacks for enter/leave window | |
2391 events. Makes cursor blinking work for Terhaar, breaks it for me. | |
2392 | |
2393 "--help" and "--version" command-line arguments. | |
2394 | |
2395 Non-text in ":list" output is highlighted with NonText. | |
2396 | |
236 | 2397 Added text objects: "i(" and "i)" as synonym for "ib". "i{" and "i}" as |
7 | 2398 synonym for "iB". New: "i<" and "i>", to select <thing>. All this also for |
2399 "a" objects. | |
2400 | |
2401 'O' flag in 'shortmess': message for reading a file overwrites any previous | |
2402 message. (Negri) | |
2403 | |
2404 Win32 GUI: 'T' flag in 'guioptions': switch toolbar on/off. | |
2405 Included a list with self-made toolbar bitmaps. (Negri) | |
2406 | |
2407 Added menu priority for sub-menus. Implemented for Win32 and Motif GUI. | |
2408 Display menu priority with ":menu" command. | |
2409 Default and Syntax menus now include priority for items. Allows inserting | |
2410 menu items in between the default ones. | |
2411 | |
2412 When the 'number' option is on, highlight line numbers with the LineNr group. | |
2413 | |
2414 "Ignore" highlight group: Text highlighted with this is made blank. It is | |
2415 used to hide special characters in the help text. | |
2416 | |
2417 Included Exuberant Ctags version 2.3, with C++ support, Java support and | |
2418 recurse into directories. (Hiebert) | |
2419 | |
2420 When a tags file is not sorted, and this is detected (in a simplistic way), an | |
2421 error message is given. | |
2422 | |
2423 ":unlet" accepts a "!", to ignore non-existing variables, and accepts more | |
2424 than one argument. (Roemer) | |
2425 Completion of variable names for ":unlet". (Roemer) | |
2426 | |
2427 When there is an error in a function which is called by another function, show | |
2428 the call stack in the error message. | |
2429 | |
2430 New file name modifiers: | |
2431 ":.": reduce file name to be relative to current dir. | |
2432 ":~": reduce file name to be relative to home dir. | |
2433 ":s?pat?sub?": substitute "pat" with "sub" once. | |
2434 ":gs?pat?sub?": substitute "pat" with "sub" globally. | |
2435 | |
2436 New configure arguments: --enable-min-features and --enable-max-features. | |
2437 Easy way to switch to minimum or maximum features. | |
2438 | |
2439 New compile-time feature: modify_fname. For file name modifiers, e.g, | |
2440 "%:p:h". Can be disabled to save some code (16 bit DOS). | |
2441 | |
2442 When using whole-line completion in Insert mode, and 'cindent' is set, indent | |
2443 the line properly. | |
2444 | |
2445 MSDOS and Win32 console: 'guicursor' sets cursor thickness. (Negri) | |
2446 | |
2447 Included new set of Farsi fonts. (Shiran) | |
2448 | |
2449 Accelerator text now also works in Motif. All menus can be defined with & for | |
2450 mnemonic and TAB for accelerator text. They are ignored on systems that don't | |
2451 support them. | |
2452 When removing or replacing a menu, compare the menu name only up to the <Tab> | |
2453 before the mnemonic. | |
2454 | |
2455 'i' and 'I' flags after ":substitute": ignore case or not. | |
2456 | |
2457 "make install" complains if the runtime files are missing. | |
2458 | |
2459 Unix: When finding an existing swap file that can't be opened, mention the | |
2460 owner of the file in the ATTENTION message. | |
2461 | |
2462 The 'i', 't' and 'k' options in 'complete' now also print the place where they | |
2463 are looking for matches. (Acevedo) | |
2464 | |
2465 "gJ" command: Join lines without inserting a space. | |
2466 | |
2467 Setting 'keywordprg' to "man -s" is handled specifically. The "-s" is removed | |
2468 when no count given, the count is added otherwise. Configure checks if "man | |
2469 -s 2 read" works, and sets the default for 'keywordprg' accordingly. | |
2470 | |
2471 If you do a ":bd" and there is only one window open, Vim tries to move to a | |
2472 buffer of the same type (i.e. non-help to non-help, help to help), for | |
2473 consistent behavior to :bnext/:bprev. (Negri) | |
2474 | |
2475 Allow "<Nop>" to be used as the rhs of a mapping. ":map xx <Nop>", maps "xx" | |
2476 to nothing at all. | |
2477 | |
2478 In a ":menu" command, "<Tab>" can be used instead of a real tab, in the menu | |
2479 path. This makes it more easy to type, no backslash needed. | |
2480 | |
2481 POSIX compatible character classes for regexp patterns: [:alnum:], [:alpha:], | |
2482 [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], | |
2483 [:space:], [:upper:] and [:xdigit:]. (Briscoe) | |
2484 | |
2485 regexp character classes (for fast syntax highlight matching): | |
2486 digits: \d [0-9] \D not digit (Roemer) | |
2487 hex: \x [0-9a-fA-F] \X not hex | |
2488 octal: \o [0-7] \O not octal | |
2489 word: \w [a-zA-Z0-9_] \W not word | |
2490 head: \h [a-zA-Z_] \H not head | |
2491 alphabetic: \a [a-zA-Z] \A not alphabetic | |
2492 lowercase: \l [a-z] \L not lowercase | |
2493 uppercase: \u [A-Z] \U not uppercase | |
2494 | |
2495 ":set" now accepts "+=", |^=" and "-=": add or remove parts of a string | |
2496 option, add or subtract a number from a number option. A comma is | |
2497 automagically inserted or deleted for options that are a comma separated list. | |
2498 | |
2499 Filetype feature, for autocommands. Uses a file type instead of a pattern to | |
2500 match a file. Currently only used for RISC OS. (Leonard) | |
2501 | |
2502 In a pattern for an autocommand, environment variables can be used. They are | |
2503 expanded when the autocommand is defined. | |
2504 | |
2505 "BufFilePre" and "BufFilePost" autocommand evens: Before and after applying | |
2506 the ":file" command to change the name of a buffer. | |
2507 "VimLeavePre" autocommand event: before writing the .viminfo file. | |
2508 | |
2509 For autocommands argument: <abuf> is buffer number, like <afile>. | |
2510 | |
2511 Made syntax highlighting a bit faster when scrolling backwards, by keeping | |
2512 more syncing context. | |
2513 | |
2514 Win32 GUI: Made scrolling faster by avoiding a redraw when deleting or | |
2515 inserting screen lines. | |
2516 | |
2517 GUI: Made scrolling faster by not redrawing the scrollbar when the thumb moved | |
2518 less than a pixel. | |
2519 | |
2520 Included ":highlight" in bugreport.vim. | |
2521 | |
2522 Created install.exe program, for simplistic installation on DOS and | |
2523 MS-Windows. | |
2524 | |
2525 New register: '_', the black hole. When writing to it, nothing happens. When | |
2526 reading from it, it's always empty. Can be used to avoid a delete or change | |
2527 command to modify the registers, or reduce memory use for big changes. | |
2528 | |
2529 CTRL-V xff enters character by hex number. CTRL-V o123 enters character by | |
2530 octal number. (Aaron) | |
2531 | |
2532 Improved performance of syntax highlighting by skipping check for "keepend" | |
2533 when there isn't any. | |
2534 | |
2535 Moved the mode message ("-- INSERT --") to the last line of the screen. When | |
2536 'cmdheight' is more than one, messages will remain readable. | |
2537 | |
2538 When listing matching files, they are also sorted on 'suffixes', such that | |
2539 they are listed in the same order as CTRL-N retrieves them. | |
2540 | |
2541 synIDattr() takes a third argument (optionally), which tells for which | |
2542 terminal type to get the attributes for. This makes it possible to run | |
2543 2html.vim outside of gvim (using color names instead of #RRGGBB). | |
2544 | |
2545 Memory profiling, only for debugging. Prints at exit, and with "g^A" command. | |
2546 (Kahn) | |
2547 | |
2548 DOS: When using a file in the current drive, remove the drive name: | |
2549 "A:\dir\file" -> "\dir\file". This helps when moving a session file on a | |
2550 floppy from "A:\dir" to "B:\dir". | |
2551 | |
2552 Increased number of remembered jumps from 30 to 50 per window. | |
2553 | |
2554 Command to temporarily disable 'hls' highlighting until the next search: | |
2555 ":nohlsearch". | |
2556 | |
2557 "gp" and "gP" commands: like "p" and "P", but leave the cursor just after the | |
2558 inserted text. Used for the CTRL-V command in MS-Windows mode. | |
2559 | |
2560 | |
2561 Fixed *fixed-5.2* | |
2562 ----- | |
2563 | |
2564 Win32 GUI: Could draw text twice in one place, for fake-bold text. Removed | |
2565 this, Windows will handle the bold text anyway. (Negri) | |
2566 | |
2567 patch 5.1.1: Win32s GUI: pasting caused a crash (Negri) | |
2568 | |
2569 patch 5.1.2: When entering another window, where characters before the cursor | |
2570 have been deleted, could have a cursor beyond the end of the line. | |
2571 | |
2572 patch 5.1.3: Win32s GUI: Didn't wait for external command to finish. (Negri) | |
2573 | |
2574 patch 5.1.4: Makefile.w32 can now also be used to generate the OLE version | |
2575 (Scott). | |
2576 | |
2577 patch 5.1.5: Crashed when using syntax highlighting: cursor on a line that | |
2578 doesn't fit in the window, and splitting that line in two. | |
2579 | |
2580 patch 5.1.6: Visual highlighting bug: After ":set nowrap", go to end of line | |
2581 (so that the window scrolls horizontally), ":set wrap". Following Visual | |
2582 selection was wrong. | |
2583 | |
2584 patch 5.1.7: When 'tagbsearch' off, and 'ignorecase' off, still could do | |
2585 binary searching. | |
2586 | |
2587 patch 5.1.8: Win32 GUI: dragging the scrollbar didn't update the ruler. | |
2588 | |
2589 patch 5.1.9: Using ":gui" in .vimrc, caused xterm cursor to disappear. | |
2590 | |
2591 patch 5.1.10: A CTRL-N in Insert mode could cause a crash, when a buffer | |
2592 without a name exists. | |
2593 | |
2594 patch 5.1.11: "make test" didn't work in the shadow directory. Also adjusted | |
2595 "make shadow" for the links in the ctags directory. | |
2596 | |
2597 patch 5.1.12: "buf 123foo" used "123" as a count, instead as the start of a | |
2598 buffer name. | |
2599 | |
2600 patch 5.1.13: When completing file names on the command-line, reallocating the | |
2601 command-line may go wrong. | |
2602 | |
2603 patch 5.1.14: ":[nvci]unmenu" removed menu for all modes, when full menu patch | |
2604 specified. | |
2605 | |
2606 Graceful handling of NULLs in drag-dropped file list. Handle passing NULL to | |
2607 Fullname_save(). (Negri) | |
2608 | |
2609 Win32: ":!start" to invoke a program without opening a console, swapping | |
236 | 2610 screens, or waiting for completion in either console or gui version, e.g. you |
7 | 2611 can type ":!start winfile". ALSO fixes "can't delete swapfile after spawning |
2612 a shell" bug. (enhancement of Aaron patch) (Negri) | |
2613 | |
2614 Win32 GUI: Fix CTRL-X default keymapping to be more Windows-like. (Negri) | |
2615 | |
2616 Shorten filenames on startup. If in /foo/bar, entering "vim ../bar/bang.c" | |
2617 displays "bang.c" in status bar, not "/foo/bar/bang.c" (Negri) | |
2618 | |
2619 Win32 GUI: No copy to Windows clipboard when it's not desired. | |
2620 | |
2621 Win32s: Fix pasting from clipboard - made an assumption not valid under | |
2622 Win32s. (Negri) | |
2623 | |
2624 Win32 GUI: Speed up calls to gui_mch_draw_string() and cursor drawing | |
2625 functions. (Negri) | |
2626 | |
2627 Win32 GUI: Middle mouse button emulation now works in GUI! (Negri) | |
2628 | |
2629 Could skip messages when combining commands in one line, e.g.: | |
2630 ":echo "hello" | write". | |
2631 | |
2632 Perl interpreter was disabled before executing VimLeave autocommands. Could | |
2633 not use ":perl" in them. (Aaron) | |
2634 | |
2635 Included patch for the Intellimouse (Aaron/Robinson). | |
2636 | |
2637 Could not set 'ls' to one, when last window has only one line. (Mitterand) | |
2638 | |
2639 Fixed a memory leak when removing menus. | |
2640 | |
2641 After ":only" the ruler could overwrite a message. | |
2642 | |
2643 Dos32: removed changing of __system_flags. It appears to work better when | |
2644 it's left at the default value. | |
2645 | |
2646 p_aleph was an int instead of along, caused trouble on systems where | |
2647 sizeof(int) != sizeof(long). (Schmidt) | |
2648 | |
2649 Fixed enum problems for Ultrix. (Seibert) | |
2650 | |
2651 Small redraw problem: "dd" on last line in file cleared wrong line. | |
2652 | |
2653 Didn't interpret "cmd | endif" when "cmd" starts with a range. E.g. "if 0 | | |
2654 .d | endif". | |
2655 | |
2656 Command "+|" on the last line of the file caused ml_get errors. | |
2657 | |
2658 Memory underrun in eval_vars(). (Aaron) | |
2659 | |
2660 Don't rename files in a difficult way, except on Windows 95 (was also done on | |
2661 Windows NT). | |
2662 | |
2663 Win32 GUI: An external command that produces an error code put the error | |
2664 message in a dialog box. had to close the window and close the dialog. Now | |
2665 the error code is displayed in the console. (Negri) | |
2666 | |
2667 "comctl32.lib" was missing from the GUI libraries in Makefile.w32. (Battle) | |
2668 | |
2669 In Insert mode, when entering a window in Insert mode, allow the cursor to be | |
2670 one char beyond the text. | |
2671 | |
2672 Renamed machine dependent rename() to mch_rename(). Define mch_rename() to | |
2673 rename() when it works properly. | |
2674 | |
2675 Rename vim_chdir() to mch_chdir(), because it's machine dependent. | |
2676 | |
2677 When using an arglist, and editing file 5 of 4, ":q" could cause "-1 more | |
2678 files to edit" error. | |
2679 | |
2680 In if_python.c, VimCommand() caused an assertion when a do_cmdline() failed. | |
2681 Moved the Python_Release_Vim() to before the VimErrorCheck(). (Harkins) | |
2682 | |
2683 Give an error message for an unknown argument after "--". E.g. for "vim | |
2684 --xyz". | |
2685 | |
2686 The FileChangedShell autocommand didn't set <afile> to the name of the changed | |
2687 file. | |
2688 | |
2689 When doing ":e file", causing the attention message, there sometimes was no | |
2690 hit-enter prompt. Caused by empty line or "endif" at end of sourced file. | |
2691 | |
2692 A large number of patches for the VMS version. (Hunsaker) | |
2693 | |
2694 When CTRL-L completion (find longest match) results in a shorter string, no | |
2695 completion is done (happens with ":help"). | |
2696 | |
2697 Crash in Win32 GUI version, when using an Ex "@" command, because | |
2698 LinePointers[] was used while not initialized. | |
2699 | |
2700 Win32 GUI: allow mapping of Alt-Space. | |
2701 | |
2702 Output from "vim -h" was sent to stderr. Sending it to stdout is better, so | |
2703 one can use "vim -h | more". | |
2704 | |
2705 In command-line mode, ":vi[!]" should reload the file, just like ":e[!]". | |
2706 In Ex mode, ":vi" stops Ex mode, but doesn't reload the file. This is Vi | |
2707 compatible. | |
2708 | |
2709 When using a ":set ls=1" in the .gvimrc file, would get a status line for a | |
2710 single window. (Robinson) | |
2711 | |
2712 Didn't give an error message for ":set ai,xx". (Roemer) | |
2713 Didn't give an error message for ":set ai?xx", ":set ai&xx", ":set ai!xx". | |
2714 | |
2715 Non-Unix systems: That a file exists but is unreadable is recognized as "new | |
2716 file". Now check for existence when file can't be opened (like Unix). | |
2717 | |
2718 Unix: osdef.sh didn't handle declarations where the function name is at the | |
2719 first column of the line. | |
2720 | |
2721 DJGPP: Shortening of file names didn't work properly, because get_cwd() | |
2722 returned a path with backslashes. (Negri) | |
2723 | |
2724 When using a 'comments' part where a space is required after the middle part, | |
2725 always insert a space when starting a new line. Helps for C comments, below a | |
2726 line with "/****". | |
2727 | |
2728 Replacing path of home directory with "~/" could be wrong for file names | |
2729 with embedded spaces or commas. | |
2730 | |
2731 A few fixes for the Sniff interface. (Leherbauer) | |
2732 | |
2733 When asking to hit 'y' or 'n' (e.g. for ":3,1d"), using the mouse caused | |
2734 trouble. Same for ":s/x/y/c" prompt. | |
2735 | |
2736 With 'nowrap' and 'list', a Tab halfway on the screen was displayed as blanks, | |
2737 instead of the characters specified with 'listchars'. Also for other | |
2738 characters that take more than one screen character. | |
2739 | |
2740 When setting 'guifont' to an unknown font name, the previous font was lost and | |
2741 a default font would be used. (Steed) | |
2742 | |
2743 DOS: Filenames in the root directory didn't get shortened properly. (Negri) | |
2744 | |
2745 DJGPP: making a full path name out of a file name didn't work properly when | |
2746 there is no _fullpath() function. (Negri) | |
2747 | |
2748 Win32 console: ":sh" caused a crash. (Negri) | |
2749 | |
2750 Win32 console: Setting 'lines' and/or 'columns' in the _vimrc failed miserably | |
2751 (could hang Windows 95). (Negri) | |
2752 | |
2753 Win32: The change-drive function was not correct, went to the wrong drive. | |
2754 (Tsindlekht) | |
2755 | |
2756 GUI: When editing a command line in Ex mode, Tabs were sometimes not | |
2757 backspaced properly, and unprintable characters were displayed directly. | |
2758 non-GUI can still be wrong, because a system function is called for this. | |
2759 | |
2760 ":set" didn't stop after an error. For example ":set no ai" gave an error for | |
2761 "no", but still set "ai". Now ":set" stops after the first error. | |
2762 | |
2763 When running configure for ctags, $LDFLAGS wasn't passed to it, causing | |
2764 trouble for IRIX. | |
2765 | |
2766 "@%" and "@#" when file name not set gave an error message. Now they just | |
2767 return an empty string. (Steed) | |
2768 | |
2769 CTRL-X and CTRL-A didn't work correctly with negative hex and octal numbers. | |
2770 (Steed) | |
2771 | |
2772 ":echo" always started with a blank. | |
2773 | |
2774 Updating GUI cursor shape didn't always work (e.g., when blinking is off). | |
2775 | |
2776 In silent Ex mode ("ex -s" or "ex <file") ":s///p" didn't print a line. Also | |
2777 a few other commands that explicitly print a text line didn't work. Made this | |
2778 Vi compatible. | |
2779 | |
2780 Win32 version of _chdrive() didn't return correct value. (Tsindlekht) | |
2781 | |
2782 When using 't' in 'complete' option, no longer give an error message for a | |
2783 missing tags file. | |
2784 | |
2785 Unix: tgoto() can return NULL, which was not handled correctly in configure. | |
2786 | |
2787 When doing ":help" from a buffer where 'binary' is set, also edited the help | |
2788 file in binary mode. Caused extra ^Ms for DOS systems. | |
2789 | |
2790 Cursor position in a file was reset to 1 when closing a window. | |
2791 | |
2792 ":!ls" in Ex mode switched off echo. | |
2793 | |
2794 When doing a double click in window A, while currently in window B, first | |
2795 click would reset double click time, had to click three times to select a | |
2796 word. | |
2797 | |
2798 When using <F11> in mappings, ":mkexrc" produced an exrc file that can't be | |
2799 used in Vi compatible mode. Added setting of 'cpo' to avoid this. Also, add | |
2800 a CTRL-V in front of a '<', to avoid a normal string to be interpreted as a | |
2801 special key name. | |
2802 | |
2803 Gave confusing error message for ":set guifont=-*-lucida-*": first "font is | |
2804 not fixed width", then "Unknown font". | |
2805 | |
2806 Some options were still completely left out, instead of included as hidden | |
2807 options. | |
2808 | |
2809 While running the X11 GUI, ignore SIGHUP signals. Avoids a crash after | |
2810 executing an external command (in rare cases). | |
2811 | |
2812 In os_unixx.h, signal() was defined to sigset(), while it already was. | |
2813 | |
2814 Memory leak when executing autocommands (was reported as a memory leak in | |
2815 syntax highlighting). | |
2816 | |
2817 Didn't print source of error sometimes, because pointers were the same, | |
2818 although names were different. | |
2819 | |
2820 Avoid a number of UMR errors from Purify (third argument to open()). | |
2821 | |
2822 A swap file could still be created just after setting 'updatecount' to zero, | |
2823 when there is an empty buffer and doing ":e file". (Kutschera) | |
2824 | |
2825 Test 35 failed on 64 bit machines. (Schild) | |
2826 | |
2827 With "p" and "P" commands, redrawing was slow. | |
2828 | |
2829 Awk script for html documentation didn't work correctly with AIX awk. | |
2830 Replaced "[ ,.);\] ]" with "[] ,.); ]". (Briscoe) | |
2831 The makehtml.awk script had a small problem, causing extra lines to be | |
2832 inserted. (Briscoe) | |
2833 | |
2834 "gqgq" could not be repeated. Repeating for "gugu" and "gUgU" worked in a | |
2835 wrong way. Also made "gqq" work to be consistent with "guu". | |
2836 | |
2837 C indent was wrong after "case ':':". | |
2838 | |
2839 ":au BufReadPre *.c put": Line from put text was deleted, because the buffer | |
2840 was still assumed to be empty. | |
2841 | |
2842 Text pasted with the Edit/Paste menu was subject to 'textwidth' and | |
2843 'autoindent'. That was inconsistent with using the mouse to paste. Now "*p | |
2844 is used. | |
2845 | |
2846 When using CTRL-W CTRL-] on a word that's not a tag, and then CTRL-] on a tag, | |
2847 window was split. | |
2848 | |
2849 ":ts" got stuck on a tags line that has two extra fields. | |
2850 | |
2851 In Insert mode, with 'showmode' on, <C-O><C-G> message was directly | |
2852 overwritten by mode message, if preceded with search command warning message. | |
2853 | |
2854 When putting the result of an expression with "=<expr>p, newlines were | |
2855 inserted like ^@ (NUL in the file). Now the string is split up in lines at | |
2856 the newline. | |
2857 | |
2858 putenv() was declared with "const char *" in pty.c, but with "char *" in | |
2859 osdef2.h.in. Made the last one also "const char *". | |
2860 | |
2861 ":help {word}", where +{word} is a feature, jumped to the feature list instead | |
2862 of where the command was explained. E.g., ":help browse", ":help autocmd". | |
2863 | |
2864 Using the "\<xx>" form in an expression only got one byte, even when using a | |
2865 special character that uses several bytes (e.g., "\<F9>"). | |
2866 Changed "\<BS>" to produce CTRL-H instead of the special key code for the | |
2867 backspace key. "\<Del>" produces 0x7f. | |
2868 | |
2869 ":mkvimrc" didn't write a command to set 'compatible' or 'nocompatible'. | |
2870 | |
2871 The shell syntax didn't contain a "syn sync maxlines" setting. In a long file | |
2872 without recognizable items, syncing took so long it looked like Vim hangs. | |
1121 | 2873 Added a maxlines setting, and made syncing interruptible. |
7 | 2874 |
2875 The "gs" command didn't flush output before waiting. | |
2876 | |
2877 Memory leaks for: | |
2878 ":if 0 | let a = b . c | endif" | |
2879 "let a = b[c]" | |
2880 ":so {file}" where {file} contains a ":while" | |
2881 | |
2882 GUI: allocated fonts were never released. (Leonard) | |
2883 | |
2884 Makefile.bor: | |
2885 - Changed $(DEFINES) into a list of "-D" options, so that it can also be used | |
2886 for the resource compiler. (not tested!) | |
2887 - "bcc.cfg" was used for all configurations. When building for another | |
2888 configuration, the settings for the previous one would be used. Moved | |
2889 "bcc.cfg" to the object directory. (Geddes) | |
2890 - Included targets for vimrun, install, ctags and xxd. Changed the default to | |
2891 use the Borland DLL Runtime Library, makes Vim.exe a log smaller. (Aaron) | |
2892 | |
2893 "2*" search for the word under the cursor with "2" prepended. (Leonard) | |
2894 | |
2895 When deleting into a specific register, would still overwrite the non-Win32 | |
2896 GUI selection. Now ""x"*P works. | |
2897 | |
2898 When deleting into the "" register, would write to the last used register. | |
2899 Now ""x always writes to the unnamed register. | |
2900 | |
2901 GUI Athena: A submenu with a '.' in it didn't work. E.g., | |
2902 ":amenu Syntax.XY\.Z.foo lll". | |
2903 | |
2904 When first doing ":tag foo" and then ":tnext" and/or ":tselect" the order of | |
2905 matching tags could change, because the current file is different. Now the | |
2906 existing matches are kept in the same order, newly found matches are added | |
2907 after them, not matter what the current file is. | |
2908 | |
2909 ":ta" didn't find the second entry in a tags file, if the second entry was | |
2910 longer than the first one. | |
2911 | |
2912 When using ":set si tw=7" inserting "foo {^P}" made the "}" inserted at the | |
2913 wrong position. can_si was still TRUE when the cursor is not in the indent of | |
2914 the line. | |
2915 | |
2916 Running an external command in Win32 version had the problem that Vim exits | |
2917 when the X on the console is hit (and confirmed). Now use the "vimrun" | |
2918 command to start the external command indirectly. (Negri) | |
2919 | |
2920 Win32 GUI: When running an external filter, do it in a minimized DOS box. | |
2921 (Negri) | |
2922 | |
2923 ":let" listed variables without translation into printable characters. | |
2924 | |
2925 Win32 console: When resizing the window, switching back to the old size | |
2926 (when exiting or executing an external command) sometimes failed. (Negri) | |
2927 This appears to also fix a "non fixable" problem: | |
2928 Win32 console in NT 4.0: When running Vim in a cmd window with a scrollbar, | |
2929 the scrollbar disappeared and was not restored when Vim exits. This does work | |
2930 under NT 3.51, it appears not to be a Vim problem. | |
2931 | |
2932 When executing BufDelete and BufUnload autocommands for a buffer without a | |
2933 name, the name of the current buffer was used for <afile>. | |
2934 | |
2935 When jumping to a tag it reported "tag 1 of >2", while in fact there could be | |
2936 only two matches. Changed to "tag 1 of 2 or more". | |
2937 | |
2938 ":tjump tag" did a linear search in the tags file, which can be slow. | |
2939 | |
2940 Configure didn't find "LibXm.so.2.0", a Xm library with a version number. | |
2941 | |
2942 Win32 GUI: When using a shifted key with ALT, the shift modifier would remain | |
2943 set, even when it was already used by changing the used key. E.g., "<M-S-9>" | |
2944 resulted in "<M-S-(>", but it should be "<M-(>". (Negri) | |
2945 | |
2946 A call to ga_init() was often followed by setting growsize and itemsize. | |
2947 Created ga_init2() for this, which looks better. (Aaron) | |
2948 | |
2949 Function filereadable() could call fopen() with an empty string, which might | |
2950 be illegal. | |
2951 | |
2952 X Windows GUI: When executing an external command that outputs text, could | |
2953 write one character beyond the end of a buffer, which caused a crash. (Kohan) | |
2954 | |
2955 When using "*" or "#" on a string that includes '/' or '?' (when these are | |
2956 included in 'isk'), they were not escaped. (Parmelan) | |
2957 | |
2958 When adding a ToolBar menu in the Motif GUI, the submenu_id field was not | |
2959 cleared, causing random problems. | |
2960 | |
2961 When adding a menu, the check if this menu (or submenu) name already exists | |
2962 didn't compare with the simplified version (no mnemonic or accelerator) of the | |
2963 new menu. Could get two menus with the same name, e.g., "File" and "&File". | |
2964 | |
2965 Breaking a line because of 'textwidth' at the last line in the window caused a | |
2966 redraw of the whole window instead of a scroll. Speeds up normal typing with | |
2967 'textwidth' a lot for slow terminals. | |
2968 | |
2969 An invalid line number produced an "invalid range" error, even when it wasn't | |
2970 to be executed (inside "if 0"). | |
2971 | |
2972 When the unnamed, first buffer is re-used, the "BufDelete" autocommand was | |
2973 not called. It would stick in a buffer list menu. | |
2974 | |
2975 When doing "%" on the NUL after the line, a "{" or "}" in the last character | |
2976 of the line was not found. | |
2977 | |
2978 The Insert mode menu was not used for the "s" command, the Operator-pending | |
2979 menu was used instead. | |
2980 | |
2981 With 'compatible' set, some syntax highlighting was not correct, because of | |
2982 using "[\t]" for a search pattern. Now use the regexps for syntax | |
2983 highlighting like the 'cpoptions' option is empty (as was documented already). | |
2984 | |
2985 When using "map <M-Space> ms" or "map <Space> sss" the output of ":map" didn't | |
2986 show any lhs for the mapping (if 'isprint' includes 160). Now always use | |
2987 <Space> and <M-Space>, even when they are printable. | |
2988 | |
2989 Adjusted the Syntax menu, so that the lowest entry fits on a small screen (for | |
2990 Athena, where menus don't wrap). | |
2991 | |
2992 When using CTRL-E or CTRL-Y in Insert mode for characters like 'o', 'x' and | |
2993 digits, repeating the insert didn't work. | |
2994 | |
2995 The file "tools/ccfilter.README.txt" could not be unpacked when using short | |
2996 file names, because of the two dots. Renamed it to | |
2997 "tools/ccfilter_README.txt". | |
2998 | |
2999 For a dark 'background', using Blue for Directory and SpecialKey highlight | |
3000 groups is not very readable. Use Cyan instead. | |
3001 | |
3002 In the function uc_scan_attr() in ex_docmd.c there was a goto that jumped into | |
3003 a block with a local variable. That's illegal for some compilers. | |
3004 | |
3005 Win32 GUI: There was a row of pixels at the bottom of the window which was not | |
3006 drawn. (Aaron) | |
3007 | |
3008 Under DOS, editing "filename/" created a swap file of "filename/.swp". Should | |
3009 be "filename/_swp". | |
3010 | |
3011 Win32 GUI: pointer was hidden when executing an external command. | |
3012 | |
3013 When 'so' is 999, "J" near the end of the file didn't redisplay correctly. | |
3014 | |
3015 ":0a" inserted after the first line, instead of before the first line. | |
3016 | |
3017 Unix: Wildcard expansion didn't handle single quotes and {} patterns. Now | |
3018 ":file 'window.c'" removes the quotes and ":e 'main*.c'" works (literal '*'). | |
3019 ":file {o}{n}{e}" now results in file name "one". | |
3020 | |
3021 Memory leak when setting a string option back to its default value. | |
3022 | |
3023 ============================================================================== | |
3024 VERSION 5.3 *version-5.3* | |
3025 | |
3026 Version 5.3 was a bug-fix version of 5.2. There are not many changes. | |
3027 Improvements made between version 5.2 and 5.3: | |
3028 | |
3029 Changed *changed-5.3* | |
3030 ------- | |
3031 | |
3032 Renamed "IDE" menu to "Tools" menu. | |
3033 | |
3034 | |
3035 Added *added-5.3* | |
3036 ----- | |
3037 | |
3038 Win32 GUI: Give a warning when Vim is activated, and one of the files changed | |
3039 since editing started. (Negri) | |
3040 | |
3041 | |
3042 Fixed *fixed-5.3* | |
3043 ----- | |
3044 | |
3045 5.2.1: Win32 GUI: space for external command was not properly allocated, could | |
3046 cause a crash. (Aaron) This was the reason to bring out 5.3 quickly after | |
3047 5.2. | |
3048 | |
3049 5.2.2: Some commands didn't complain when used without an argument, although | |
3050 they need one: ":badd", ":browse", ":call", ":confirm", ":behave", | |
3051 ":delfunction", ":delcommand" and ":tearoff". | |
3052 ":endfunction" outside of a function gave wrong error message: "Command not | |
3053 implemented". Should be ":endfunction not inside a function". | |
3054 | |
3055 5.2.3: Win32 GUI: When gvim was installed in "Program files", or another path | |
3056 with a space in it, executing external commands with vimrun didn't work. | |
3057 | |
3058 5.2.4: Pasting with the mouse in Insert mode left the cursor on the last | |
3059 pasted character, instead of behind it. | |
3060 | |
3061 5.2.5: In Insert mode, cursor after the end of the line, a shift-cursor-left | |
3062 didn't include the last character in the selection. | |
3063 | |
3064 5.2.6: When deleting text from Insert mode (with "<C-O>D" or the mouse), which | |
3065 includes the last character in the line, the cursor could be left on the last | |
3066 character in the line, instead of just after it. | |
3067 | |
3068 5.2.7: Win32 GUI: scrollbar was one pixel too big. | |
3069 | |
1668 | 3070 5.2.8: Completion of "PopUp" menu showed the derivatives "PopUpc", "PopUPi", |
7 | 3071 etc. ":menu" also showed these. |
3072 | |
3073 5.2.9: When using two input() functions on a row, the prompt would not be | |
3074 drawn in column 0. | |
3075 | |
3076 5.2.10: A loop with input() could not be broken with CTRL-C. | |
3077 | |
3078 5.2.11: ":call asdf" and ":call asdf(" didn't give an error message. | |
3079 | |
3080 5.2.12: Recursively using ":normal" crashes Vim after a while. E.g.: | |
3081 ":map gq :normal gq<CR>" | |
3082 | |
3083 5.2.13: Syntax highlighting used 'iskeyword' from wrong buffer. When using | |
3084 ":help", then "/\k*" in another window with 'hlsearch' set. | |
3085 | |
3086 5.2.14: When using ":source" from a function, global variables would not be | |
3087 available unless "g:" was used. | |
3088 | |
3089 5.2.15: XPM files can have the extension ".pm", which is the same as for Perl | |
3090 modules. Added "syntax/pmfile.vim" to handle this. | |
3091 | |
3092 5.2.16: On Win32 and Amiga, "echo expand("%:p:h")" removed one dirname in an | |
3093 empty buffer. mch_Fullname() didn't append a slash at the end of a directory | |
3094 name. | |
3095 | |
3096 Should include the character under the cursor in the Visual area when using | |
3097 'selection' "exclusive". This wasn't done for "%", "e", "E", "t" and "f". | |
3098 | |
3099 ""p would always put register 0, instead of the unnamed (last used) register. | |
3100 Reverse the change that ""x doesn't write in the unnamed (last used) register. | |
3101 It would always write in register 0, which isn't very useful. Use "-x for the | |
3102 paste mappings in Visual mode. | |
3103 | |
3104 When there is one long line on the screen, and 'showcmd' is off, "0$" didn't | |
3105 redraw the screen. | |
3106 | |
3107 Win32 GUI: When using 'mousehide', the pointer would flicker when the cursor | |
3108 shape is changed. (Negri) | |
3109 | |
3110 When cancelling Visual mode, and the cursor moves to the start, the wanted | |
3111 column wasn't set, "k" or "j" moved to the wrong column. | |
3112 | |
3113 When using ":browse" or ":confirm", was checking for a comment and separating | |
3114 bar, which can break some commands. | |
3115 | |
3116 Included fixes for Macintosh. (Kielhorn) | |
3117 | |
3118 ============================================================================== | |
3119 VERSION 5.4 *version-5.4* | |
3120 | |
3121 Version 5.4 adds new features, useful changes and a lot of bug fixes. | |
3122 | |
3123 | |
3124 Runtime directory introduced *new-runtime-dir* | |
3125 ---------------------------- | |
3126 | |
3127 The distributed runtime files are now in $VIMRUNTIME, the user files in $VIM. | |
3128 You normally don't set $VIMRUNTIME but let Vim find it, by using | |
3129 $VIM/vim{version}, or use $VIM when that doesn't exist. This allows for | |
3130 separating the user files from the distributed files and makes it more easy to | |
3131 upgrade to another version. It also makes it possible to keep two versions of | |
3132 Vim around, each with their own runtime files. | |
3133 | |
3134 In the Unix distribution the runtime files have been moved to the "runtime" | |
3135 directory. This makes it possible to copy all the runtime files at once, | |
3136 without the need to know what needs to be copied. | |
3137 | |
3138 The archives for DOS, Windows, Amiga and OS/2 now have an extra top-level | |
3139 "vim" directory. This is to make clear that user-modified files should be put | |
3140 here. The directory that contains the executables doesn't have '-' or '.' | |
3141 characters. This avoids strange extensions. | |
3142 | |
3143 The $VIM and $VIMRUNTIME variables are set when they are first used. This | |
3144 allows them to be used by Perl, for example. | |
3145 | |
3146 The runtime files are also found in a directory called "$VIM/runtime". This | |
3147 helps when running Vim after just unpacking the runtime archive. When using | |
3148 an executable in the "src" directory, Vim checks if "vim54" or "runtime" can | |
3149 be added after removing it. This make the runtime files be found just after | |
3150 compiling. | |
3151 | |
3152 A default for $VIMRUNTIME can be given in the Unix Makefile. This is useful | |
3153 if $VIM doesn't point to above the runtime directory but to e.g., "/etc/". | |
3154 | |
3155 | |
3156 Filetype introduced *new-filetype-5.4* | |
3157 ------------------- | |
3158 | |
3159 Syntax files are now loaded with the new FileType autocommand. Old | |
3160 "mysyntaxfile" files will no longer work. |filetypes| | |
3161 | |
3162 The scripts for loading syntax highlighting have been changed to use the | |
3163 new Syntax autocommand event. | |
3164 | |
3165 This combination of Filetype and Syntax events allows tuning the syntax | |
3166 highlighting a bit more, also when selected from the Syntax menu. The | |
3167 FileType autocommand can also be used to set options and mappings specifically | |
3168 for that type of file. | |
3169 | |
3170 The "$VIMRUNTIME/filetype.vim" file is not loaded automatically. The | |
3171 ":filetype on" command has been added for this. ":syntax on" also loads it. | |
3172 | |
3173 The 'filetype' option has been added. It is used to trigger the FileType | |
3174 autocommand event, like the 'syntax' option does for the Syntax event. | |
3175 | |
3176 ":set syntax=OFF" and ":set syntax=ON" can be used (in a modeline) to switch | |
3177 syntax highlighting on/off for the current file. | |
3178 | |
3179 The Syntax menu commands have been moved to $VIMRUNTIME/menu.vim. The Syntax | |
3180 menu is included both when ":filetype on" and when ":syntax manual" is used. | |
3181 | |
3182 Renamed the old 'filetype' option to 'osfiletype'. It was only used for | |
3183 RISCOS. 'filetype' is now used for the common file type. | |
3184 | |
3185 Added the ":syntax manual" command. Allows manual selection of the syntax to | |
3186 be used, e.g., from a modeline. | |
3187 | |
3188 | |
3189 Vim script line continuation *new-line-continuation* | |
3190 ---------------------------- | |
3191 | |
3192 When an Ex line starts with a backslash, it is concatenated to the previous | |
3193 line. This avoids the need for long lines. |line-continuation| (Roemer) | |
3194 Example: > | |
3195 if has("dialog_con") || | |
3196 \ has("dialog_gui") | |
3197 :let result = confirm("Enter your choice", | |
3198 \ "&Yes\n&No\n&Maybe", | |
3199 \ 2) | |
3200 endif | |
3201 | |
3202 | |
3203 Improved session files *improved-sessions* | |
3204 ---------------------- | |
3205 | |
3206 New words for 'sessionoptions': | |
3207 - "help" Restore the help window. | |
3208 - "blank" Restore empty windows. | |
3209 - "winpos" Restore the Vim window position. Uses the new ":winpos" | |
3210 command | |
3211 - "buffers" Restore hidden and unloaded buffers. Without it only the | |
3212 buffers in windows are restored. | |
3213 - "slash" Replace backward by forward slashes in file names. | |
3214 - "globals" Store global variables. | |
3215 - "unix" Use unix file format (<NL> instead of <CR><NL>) | |
3216 | |
3217 The ":mksession" and 'sessionoptions' are now in the +mksession feature. | |
3218 | |
3219 The top line of the window is also restored when using a session file. | |
3220 | |
3221 ":mksession" and ":mkvimrc" don't store 'fileformat', it should be detected | |
3222 when loading a file. | |
3223 | |
3224 (Most of this was done by Vince Negri and Robert Webb) | |
3225 | |
3226 | |
3227 Autocommands improved *improved-autocmds-5.4* | |
3228 --------------------- | |
3229 | |
3230 New events: | |
3231 |FileType| When the file type has been detected. | |
3232 |FocusGained| When Vim got input focus. (Negri) | |
3233 |FocusLost| When Vim lost input focus. (Negri) | |
3234 |BufCreate| Called just after a new buffer has been created or has been | |
3235 renamed. (Madsen) | |
3236 |CursorHold| Triggered when no key has been typed for 'updatetime'. Can be | |
3237 used to do something with the word under the cursor. (Negri) | |
3238 Implemented CursorHold autocommand event for Unix. (Zellner) | |
3239 Also for Amiga and MS-DOS. | |
3240 |GUIEnter| Can be used to do something with the GUI window after it has | |
3241 been created (e.g., a ":winpos 100 50"). | |
3242 |BufHidden| When a buffer becomes hidden. Used to delete the | |
3243 option-window when it becomes hidden. | |
3244 | |
3245 Also trigger |BufDelete| just before a buffer is going to be renamed. (Madsen) | |
3246 | |
3247 The "<amatch>" pattern can be used like "<afile>" for autocommands, except | |
3248 that it is the matching value for the FileType and Syntax events. | |
3249 | |
3250 When ":let @/ = <string>" is used in an autocommand, this last search pattern | |
3251 will be used after the autocommand finishes. | |
3252 | |
3253 Made loading autocommands a bit faster. Avoid doing strlen() on each exiting | |
3254 pattern for each new pattern by remembering the length. | |
3255 | |
3256 | |
3257 Encryption *new-encryption* | |
3258 ---------- | |
3259 | |
3260 Files can be encrypted when writing and decrypted when reading. Added the | |
3261 'key' option, "-x" command line argument and ":X" command. |encryption| (based | |
3262 on patch from Mohsin Ahmed) | |
3263 | |
3264 When reading a file, there is an automatic detection whether it has been | |
3265 crypted. Vim will then prompt for the key. | |
3266 | |
3267 Note that the encryption method is not compatible with Vi. The encryption is | |
3268 not unbreakable. This allows it to be exported from the US. | |
3269 | |
3270 | |
3271 GTK GUI port *new-GTK-GUI* | |
3272 ------------ | |
3273 | |
3274 New GUI port for GTK+. Includes a toolbar, menu tearoffs, etc. |gui-gtk| | |
3275 Added the |:helpfind| command. (Kahn and Dalecki) | |
3276 | |
3277 | |
3278 Menu changes *menu-changes-5.4* | |
3279 ------------ | |
3280 | |
3281 Menus can now also be used in the console. It is enabled by the new | |
3282 'wildmenu' option. This shows matches for command-line completion like a | |
3283 menu. This works as a minimal file browser. | |
3284 | |
3285 The new |:emenu| command can be used to execute a menu item. | |
3286 | |
3287 Uses the last status line to list items, or inserts a line just above the | |
3288 command line. (Negri) | |
3289 | |
3290 The 'wildcharx' option can be used to trigger 'wildmenu' completion from a | |
3291 mapping. | |
3292 | |
3293 When compiled without menus, this can be detected with has("menu"). Also show | |
3294 this in the ":version" output. Allow compiling GUI versions without menu | |
3295 support. Only include toolbar support when there is menu support. | |
3296 | |
3297 Moved the "Window" menu all the way to the right (priority 70). Looks more | |
3298 familiar for people working with MS-Windows, shouldn't matter for others. | |
3299 | |
3300 Included "Buffers" menu. Works with existing autocommands and functions. It | |
3301 can be disabled by setting the "no_buffers_menu" variable. (Aaron and Madsen) | |
3302 | |
3303 Win32 supports separators in a menu: "-.*-". (Geddes) | |
3304 Menu separators for Motif now work too. | |
3305 | |
3306 Made Popup menu for Motif GUI work. (Madsen) | |
3307 | |
3308 'M' flag in 'guioptions': Don't source the system menu. | |
3309 | |
3310 All the menu code has been moved from gui.c to menu.c. | |
3311 | |
3312 | |
3313 Viminfo improved *improved-viminfo* | |
3314 ---------------- | |
3315 | |
3316 New flags for 'viminfo': | |
3317 '!' Store global variables in the viminfo file if they are in uppercase | |
3318 letters. (Negri) | |
3319 'h' Do ":nohlsearch" when loading a viminfo file. | |
3320 | |
3321 Store search patterns in the viminfo file with their offset, magic, etc. Also | |
3322 store the flag whether 'hlsearch' highlighting is on or off (which is not used | |
3323 if the 'h' flag is in 'viminfo'). | |
3324 | |
3325 Give an error message when setting 'viminfo' without commas. | |
3326 | |
3327 | |
3328 Various new commands *new-commands-5.4* | |
3329 -------------------- | |
3330 | |
3331 Operator |g?|: rot13 encoding. (Negri) | |
3332 | |
3333 |zH| and |zL| commands: Horizontal scrolling by half a page. | |
3334 |gm| move cursor to middle of screen line. (Ideas by Campbell) | |
3335 | |
3336 Operations on Visual blocks: |v_b_I|, |v_b_A|, |v_b_c|, |v_b_C|, |v_b_r|, | |
3337 |v_b_<| and |v_b_>|. (Kelly) | |
3338 | |
3339 New command: CTRL-\ CTRL-N, which does nothing in Normal mode, and goes to | |
3340 Normal mode when in Insert or Command-line mode. Can be used by VisVim or | |
3341 other OLE programs to make sure Vim is in Normal mode, without causing a beep. | |
3342 |CTRL-\_CTRL-N| | |
3343 | |
3344 ":cscope kill" command to use the connection filename. |:cscope| (Kahn) | |
3345 | |
3346 |:startinsert| command: Start Insert mode next. | |
3347 | |
3348 |:history| command, to show all four types of histories. (Roemer) | |
3349 | |
3350 |[m|, |[M|, |]m| and |]M| commands, for jumping backward/forward to start/end | |
3351 of method in a (Java) class. | |
3352 | |
3353 ":@*" executes the * register. |:@| (Acevedo) | |
3354 | |
3355 |go| and |:goto| commands: Jump to byte offset in the file. | |
3356 | |
3357 |gR| and |gr| command: Virtual Replace mode. Replace characters without | |
3358 changing the layout. (Webb) | |
3359 | |
3360 ":cd -" changes to the directory from before the previous ":cd" command. | |
3361 |:cd-| (Webb) | |
3362 | |
3363 Tag preview commands |:ptag|. Shows the result of a ":tag" in a dedicated | |
3364 window. Can be used to see the context of the tag (e.g., function arguments). | |
3365 (Negri) | |
3366 |:pclose| command, and CTRL-W CTRL-Z: Close preview window. (Moore) | |
3367 'previewheight' option, height for the preview window. | |
3368 Also |:ppop|, |:ptnext|, |:ptprevious|, |:ptNext|, |:ptrewind|, |:ptlast|. | |
3369 | |
3370 |:find| and |:sfind| commands: Find a file in 'path', (split window) and edit | |
3371 it. | |
3372 | |
3373 The |:options| command opens an option window that shows the current option | |
3374 values. Or use ":browse set" to open it. Options are grouped by function. | |
3375 Offers short help on each option. Hit <CR> to jump to more help. Edit the | |
3376 option value and hit <CR> on a "set" line to set a new value. | |
3377 | |
3378 | |
3379 Various new options *new-options-5.4* | |
3380 ------------------- | |
3381 | |
3382 Scroll-binding: 'scrollbind' and 'scrollopt' options. Added |:syncbind| | |
3383 command. Makes windows scroll the same amount (horizontally and/or | |
3384 vertically). (Ralston) | |
3385 | |
3386 'conskey' option for MS-DOS. Use direct console I/O. This should work with | |
3387 telnet (untested!). | |
3388 | |
3389 'statusline' option: Configurable contents of the status line. Also allows | |
3390 showing the byte offset in the file. Highlighting with %1* to %9*, using the | |
3391 new highlight groups User1 to User9. (Madsen) | |
3392 | |
3393 'rulerformat' option: Configurable contents of the ruler, like 'statusline'. | |
3394 (Madsen) | |
3395 | |
3396 'write' option: When off, writing files is not allowed. Avoids overwriting a | |
3397 file even with ":w!". The |-m| command line option resets 'write'. | |
3398 | |
3399 'clipboard' option: How the clipboard is used. Value "unnamed": Use unnamed | |
3400 register like "*. (Cortopassi) Value "autoselect": Like what 'a' in | |
3401 'guioptions' does but works in the terminal. | |
3402 | |
3403 'guifontset' option: Specify fonts for the +fontset feature, for the X11 GUI | |
3404 versions. Allows using normal fonts when vim is compiled with this feature. | |
3405 (Nam) | |
3406 | |
3407 'guiheadroom' option: How much room to allow above/below the GUI window. | |
3408 Used for Motif, Athena and GTK. | |
3409 | |
3410 Implemented 'tagstack' option: When off, pushing tags onto the stack is | |
3411 disabled (Vi compatible). Useful for mappings. | |
3412 | |
3413 'shellslash' option. Only for systems that use a backslash as a file | |
3414 separator. This option will use a forward slash in file names when expanding | |
3415 it. Useful when 'shell' is sh or csh. | |
3416 | |
3417 'pastetoggle' option: Key sequence that toggles 'paste'. Works around the | |
3418 problem that mappings don't work in Insert mode when 'paste' is set. | |
3419 | |
3420 'display' option: When set to "lastline", the last line fills the window, | |
3421 instead of being replaced with "@" lines. Only the last three characters are | |
3422 replaced with "@@@", to indicate that the line has not finished yet. | |
3423 | |
3424 'switchbuf' option: Allows re-using existing windows on a buffer that is being | |
3425 jumped to, or split the window to open a new buffer. (Roemer) | |
3426 | |
3427 'titleold' option. Replaces the fixed string "Thanks for flying Vim", which | |
3428 is used to set the title when exiting. (Schild) | |
3429 | |
3430 | |
3431 Vim scripts *new-script-5.4* | |
3432 ----------- | |
3433 | |
3434 The |exists()| function can also check for existence of a function. (Roemer) | |
3435 An internal function is now found with a binary search, should be a bit | |
3436 faster. (Roemer) | |
3437 | |
3438 New functions: | |
3439 - |getwinposx()| and |getwinposy()|: get Vim window position. (Webb) | |
3440 - |histnr()|, |histadd()|, |histget()| and |histdel()|: Make history | |
3441 available. (Roemer) | |
3442 - |maparg()|: Returns rhs of a mapping. Based on a patch from Vikas. | |
3443 - |mapcheck()|: Check if a map name matches with an existing one. | |
3444 - |visualmode()|: Return type of last Visual mode. (Webb) | |
3445 - |libcall()|: Call a function in a library. Currently only for Win32. (Negri) | |
3446 - |bufwinnr()|: find window that contains the specified buffer. (Roemer) | |
3447 - |bufloaded()|: Whether a buffer exists and is loaded. | |
3448 - |localtime()| and |getftime()|: wall clock time and last modification time | |
3449 of a file (Webb) | |
3450 - |glob()|: expand file name wildcards only. | |
3451 - |system()|: get the raw output of an external command. (based on a patch | |
3452 from Aaron). | |
3453 - |strtrans()|: Translate String into printable characters. Used for | |
3454 2html.vim script. | |
3455 - |append()|: easy way to append a line of text in a buffer. | |
3456 | |
3457 Changed functions: | |
3458 - Optional argument to |strftime()| to give the time in seconds. (Webb) | |
3459 - |expand()| now also returns names for files that don't exist. | |
3460 | |
3461 Allow numbers in the name of a user command. (Webb) | |
3462 | |
3463 Use "v:" for internal Vim variables: "v:errmsg", "v:shell_error", etc. The | |
3464 ones from version 5.3 can be used without "v:" too, for backwards | |
3465 compatibility. | |
3466 | |
3467 New variables: | |
3468 "v:warningmsg" and "v:statusmsg" internal variables. Contain the last given | |
3469 warning and status message. |v:warningmsg| |v:statusmsg| (Madsen) | |
3470 "v:count1" variable: like "v:count", but defaults to one when no count is | |
3471 used. |v:count1| | |
3472 | |
3473 When compiling without expression evaluation, "if 1" can be used around the | |
3474 not supported commands to avoid it being executed. Works like in Vim 4.x. | |
3475 Some of the runtime scripts gave errors when used with a Vim that was compiled | |
3476 with minimal features. Now "if 1" is used around code that is not always | |
3477 supported. | |
3478 | |
3479 When evaluating an expression with && and ||, skip the parts that will not | |
3480 influence the outcome. This makes it faster and avoids error messages. (Webb) | |
3481 Also optimized the skipping of expressions inside an "if 0". | |
3482 | |
3483 | |
3484 Avoid hit-enter prompt *avoid-hit-enter* | |
3485 ----------------------- | |
3486 | |
3487 Added 'T' flag to 'shortmess': Truncate all messages that would cause the | |
3488 hit-enter prompt (unless that would happen anyway). | |
3489 The 'O' flag in 'shortmess' now also applies to quickfix messages, e.g., from | |
3490 the ":cn" command. | |
3491 | |
3492 The default for 'shortmess' is now "filnxtToO", to make most messages fit on | |
3493 the command line, and not cause the hit-enter prompt. | |
3494 | |
3495 Previous messages can be viewed with the new |:messages| command. | |
3496 | |
3497 Some messages are shown fully, even when 'shortmess' tells to shorten | |
3498 messages, because the user is expected to want to see them in full: CTRL-G and | |
3499 some quickfix commands. | |
3500 | |
3501 | |
3502 Improved quickfix *improved-quickfix* | |
3503 ----------------- | |
3504 | |
3505 Parse change-directory lines for gmake: "make[1]: Entering directory 'name'". | |
3506 Uses "%D" and "%X" in 'errorformat'. | |
3507 Also parse "Making {target} in {dir}" messages from make. Helps when not | |
3508 using GNU make. (Schandl) | |
3509 | |
3510 Use 'isfname' for "%f" in 'errorformat'. | |
3511 | |
3512 Parsing of multi-line messages. |errorformat-multi-line| | |
3513 | |
3514 Allow a range for the |:clist| command. (Roemer) | |
3515 | |
3516 Support for "global" file names, for error formats that output the file name | |
3517 once for several errors. (Roemer) | |
3518 | |
3519 |:cnfile| jumps to first error in next file. | |
3520 | |
3521 "$*" in 'makeprg' is replaced by arguments to ":make". (Roemer) | |
3522 | |
3523 | |
3524 Regular expressions *regexp-changes-5.4* | |
3525 ------------------- | |
3526 | |
3527 In a regexp, a '$' before "\)" is also considered to be an end-of-line. |/$| | |
3528 In patterns "^" after "\|" or "\(" is a start-of-line. |/^| (Robinson) | |
3529 | |
3530 In a regexp, in front of "\)" and "\|" both "$" and "\$" were considered | |
3531 end-of-line. Now use "$" as end-of-line and "\$" for a literal dollar. Same | |
3532 for '^' after "\(" and "\|". |/\$| |/\^| | |
3533 | |
3534 Some search patterns can be extremely slow, even though they are not really | |
3535 illegal. For example: "\([^a-z]\+\)\+Q". Allow interrupting any regexp | |
3536 search with CTRL-C. | |
3537 | |
3538 Register "/: last search string (read-only). (Kohan) Changed to use last used | |
3539 search pattern (like what 'hlsearch' uses). Can set the search pattern with | |
3540 ":let @/ = {expr}". | |
3541 | |
3542 Added character classes to search patterns, to avoid the need for removing the | |
3543 'l' flag from 'cpoptions': |[:tab:]|, |[:return:]|, |[:backspace:]| and | |
3544 |[:escape:]|. | |
3545 | |
3546 By adding a '?' after a comparative operator in an expression, the comparison | |
3547 is done by ignoring case. |expr-==?| | |
3548 | |
3549 | |
3550 Other improvements made between version 5.3 and 5.4 | |
3551 --------------------------------------------------- | |
3552 | |
3553 Changed *changed-5.4* | |
3554 ------- | |
3555 | |
3556 Unix: Use $TMPDIR for temporary files, if it is set and exists. | |
3557 | |
3558 Removed "Empty buffer" message. It isn't useful and can cause a hit-enter | |
3559 prompt. (Negri) | |
3560 | |
3561 "ex -" now reads commands from stdin and works in silent mode. This is to be | |
3562 compatible with the original "ex" command that is used for scripts. | |
3563 | |
3564 Default range for ":tcldo" is the whole file. | |
3565 | |
3566 Cancelling Visual mode with ESC moved the cursor. There appears to be no | |
3567 reason for this. Now leave the cursor where it is. | |
3568 | |
3569 The ":grep" and ":make" commands see " as part of the arguments, instead of | |
3570 the start of a comment. | |
3571 | |
3572 In expressions the "=~" and "!~" operators no longer are affected by | |
3573 'ignorecase'. | |
3574 | |
3575 Renamed vimrc_example to vimrc_example.vim and gvimrc_example to | |
3576 gvimrc_example.vim. Makes them being recognized as vim scripts. | |
3577 | |
3578 "gd" no longer starts searching at the end of the previous function, but at | |
3579 the first blank line above the start of the current function. Avoids that | |
3580 using "gd" in the first function finds global a variable. | |
3581 | |
3582 Default for 'complete' changed from ".,b" to ".,w,b,u,t,i". Many more matches | |
3583 will be found, at the cost of time (the search can be interrupted). | |
3584 | |
3585 It is no longer possible to set 'shell*' options from a modeline. Previously | |
3586 only a warning message was given. This reduces security risks. | |
3587 | |
3588 The ordering of the index of documentation files was changed to make it more | |
3589 easy to find a subject. | |
3590 | |
3591 On MS-DOS and win32, when $VIM was not set, $HOME was used. This caused | |
3592 trouble if $HOME was set to e.g., "C:\" for some other tool, the runtime files | |
3593 would not be found. Now use $HOME only for _vimrc, _gvimrc, etc., not to find | |
3594 the runtime file. | |
3595 | |
3596 When 'tags' is "./{fname}" and there is no file name for the current buffer, | |
3597 just use it. Previously it was skipped, causing "vim -t {tag}" not to find | |
3598 many tags. | |
3599 | |
3600 When trying to select text in the 'scrolloff' area by mouse dragging, the | |
3601 resulting scrolling made this difficult. Now 'scrolloff' is temporarily set | |
3602 to 0 or 1 to avoid this. But still allow scrolling in the top line to extend | |
3603 to above the displayed text. | |
3604 | |
3605 Default for 'comments' now includes "sl:/*,mb: *,ex:*/", to make javadoc | |
3606 comments work. Also helps for C comments that start with "/*******". | |
3607 | |
3608 CTRL-X CTRL-] Insert mode tag expansion tried to expand to all tags when used | |
3609 after a non-ID character, which can take a very long time. Now limit this to | |
3610 200 matches. Also used for command-line tag completion. | |
3611 | |
3612 The OS/2 distribution has been split in two files. It was too big to fit on a | |
3613 floppy. The same runtime archive as for the PC is now used. | |
3614 | |
3615 In the documentation, items like <a-z> have been replaced with {a-z} for | |
3616 non-optional arguments. This avoids confusion with key names: <C-Z> is a | |
3617 CTRL-Z, not a character between C and Z, that is {C-Z}. | |
3618 | |
3619 | |
3620 Added *added-5.4* | |
3621 ----- | |
3622 | |
3623 Color support for the iris-ansi builtin termcap entry. (Tubman) | |
3624 | |
3625 Included VisVim version 1.3a. (Erhardt) | |
3626 | |
3627 Win32 port for SNiFF+ interface. (Leherbauer) | |
3628 Documentation file for sniff interface: if_sniff.txt. (Leherbauer) | |
3629 | |
3630 Included the "SendToVim" and "OpenWithVim" programs in the OleVim directory. | |
3631 To be used with the OLE version of gvim under MS-Windows. (Schaller) | |
3632 | |
3633 Included Exuberant Ctags version 3.2.4 with Eiffel support. (Hiebert) | |
3634 | |
3635 When a file that is being edited is deleted, give a warning (like when the | |
3636 time stamp changed). | |
3637 | |
3638 Included newer versions of the HTML-generating Awk and Perl scripts. (Colombo) | |
3639 | |
3640 Linux console mouse support through "gpm". (Tsindlekht) | |
3641 | |
3642 Security fix: Disallow changing 'secure' and 'exrc' from a modeline. When | |
3643 'secure' is set, give a warning for changing options that contain a program | |
3644 name. | |
3645 | |
3646 Made the Perl interface work with Perl 5.005 and threads. (Verdoolaege) | |
3647 | |
3648 When giving an error message for an ambiguous mapping, include the offending | |
3649 mapping. (Roemer) | |
3650 | |
3651 Command line editing: | |
3652 - Command line completion of mappings. (Roemer) | |
3653 - Command line completion for ":function", ":delfunction", ":let", ":call", | |
3654 ":if", etc. (Roemer) | |
3655 - When using CTRL-D completion for user commands that have | |
3656 "-complete=tag_listfiles" also list the file names. (Madsen) | |
3657 - Complete the arguments of the ":command" command. (Webb) | |
3658 - CTRL-R . in command line inserts last inserted text. CTRL-F, CTRL-P, CTRL-W | |
3659 and CTRL-A after CTRL-R are used to insert an object from under the cursor. | |
3660 (Madsen) | |
3661 | |
3662 Made the text in uganda.txt about copying Vim a bit more clear. | |
3663 | |
3664 Updated the Vim tutor. Added the "vimtutor" command, which copies the tutor | |
3665 and starts Vim on it. "make install" now also copies the tutor. | |
3666 | |
3667 In the output of ":clist" the current entry is highlighted, with the 'i' | |
3668 highlighting (same as used for 'incsearch'). | |
3669 | |
9 | 3670 For the ":clist" command, you can scroll backwards with "b" (one screenful), |
3671 "u" (half a screenful) and "k" (one line). | |
7 | 3672 |
3673 Multi-byte support: | |
3674 - X-input method for multi-byte characters. And various fixes for multi-byte | |
3675 support. (Nam) | |
3676 - Hangul input method feature: |hangul|. (Nam) | |
3677 - Cleaned up configuration of multi-byte support, XIM, fontset and Hangul | |
3678 input. Each is now configurable separately. | |
3679 - Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam) | |
3680 - Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam) | |
3681 - XIM support for GTK+. (Nam) | |
3682 - First attempt to include support for SJIS encoding. (Nagano) | |
3683 - When a double-byte character doesn't fit at the end of the line, put a "~" | |
3684 there and print it on the next line. | |
3685 - Optimize output of multi-byte text. (Park) | |
3686 - Win32 IME: preedit style is like over-the-spot. (Nagano) | |
3687 - Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano) | |
3688 - GUI Athena: file selection dialog can display multi-byte characters. | |
3689 (Nagano) | |
3690 - Selection reply for XA_TEXT as XA_STRING. (Nagano) | |
3691 | |
3692 "runtime/macros/diffwin.vim". Mappings to make a diff window. (Campbell) | |
3693 | |
3694 Added ".obj" to the 'suffixes' option. | |
3695 | |
3696 Reduced size of syntax/synload.vim by using the ":SynAu" user command. | |
3697 Automated numbering of Syntax menu entries in menu.vim. | |
3698 In the Syntax menu, insert separators between syntax names that start with | |
3699 a different letter. (Geddes) | |
3700 | |
3701 Xterm: | |
3702 - Clipboard support when using the mouse in an xterm. (Madsen) | |
3703 - When using the xterm mouse, track dragging of the mouse. Use xterm escape | |
3704 sequences when possible. It is more precise than other methods, but | |
3705 requires a fairly recent xterm version. It is enabled with "xterm2" in | |
3706 'ttymouse'. (Madsen) | |
3707 - Check xterm patch level, to set the value of 'ttymouse'. Has only been | |
3708 added to xterm recently (patch level > 95). Uses the new 't_RV' termcap | |
3709 option. Set 'ttymouse' to "xterm2" when a correct response is recognized. | |
3710 Will make xterm mouse dragging work better. | |
3711 - Support for shifted function keys on xterm. Changed codes for shifted | |
3712 cursor keys to what the xterm actually produces. Added codes for shifted | |
3713 <End> and <Home>. | |
3714 - Added 't_WP' to set the window position in pixels and 't_WS' to set the | |
3715 window size in characters. Xterm can now move (used for ":winpos") and | |
3716 resize (use for ":set lines=" and ":set columns="). | |
3717 | |
3718 X11: | |
3719 - When in Visual mode but not owning the selection, display the Visual area | |
3720 with the VisualNOS group to show this. (Madsen) | |
3721 - Support for requesting the type of clipboard support. Used for AIX and | |
3722 dtterm. (Wittig) | |
3723 - Support compound_text selection (even when compiled without multi-byte). | |
3724 | |
3725 Swap file: | |
3726 - New variation for naming swap files: Replace path separators into %, place | |
3727 all swap files in one directory. Used when a name in 'dir' ends in two path | |
3728 separators. (Madsen) | |
3729 - When a swap file is found, show whether it contains modifications or not in | |
3730 the informative message. (Madsen) | |
3731 - When dialogs are supported, use a dialog to ask the user what to do when a | |
3732 swapfile already exists. | |
3733 | |
3734 "popup_setpos" in 'mousemodel' option. Allows for moving the cursor when | |
3735 using the right mouse button. | |
3736 | |
3737 When a buffer is deleted, the selection for which buffer to display instead | |
3738 now uses the most recent entry from the jump list. (Madsen) | |
3739 | |
3740 When using CTRL-O/CTRL-I, skip deleted buffers. | |
3741 | |
3742 A percentage is shown in the ruler, when there is room. | |
3743 | |
3744 Used autoconf 1.13 to generate configure. | |
3745 | |
3746 Included get_lisp_indent() from Dirk van Deun. Does better Lisp indenting | |
3747 when 'p' flag in 'cpoptions' is not included. | |
3748 | |
3749 Made the 2html.vim script quite a bit faster. (based on ideas from Geddes) | |
3750 | |
3751 Unix: | |
3752 - Included the name of the user that compiled Vim and the system name it was | |
3753 compiled on in the version message. | |
3754 - "make install" now also installs the "tools" directory. Makes them | |
3755 available for everybody. | |
3756 - "make check" now does the same as "make test". "make test" checks for | |
3757 Visual block mode shift, insert, replace and change. | |
3758 - Speed up comparing a file name with existing buffers by storing the | |
3759 device/inode number with the buffer. | |
3760 - Added configure arguments "--disable-gtk", "--disable-motif" and | |
3761 "--disable-athena", to be able to disable a specific GUI (when it doesn't | |
3762 work). | |
3763 - Renamed the configure arguments for disabling the check for specific GUIs. | |
3764 Should be clearer now. (Kahn) | |
3765 - On a Digital Unix system ("OSF1") check for the curses library before | |
3766 termlib and termcap. (Schild) | |
3767 - "make uninstall_runtime" will only delete the version-specific files. Can | |
3768 be used to delete the runtime files of a previous version. | |
3769 | |
3770 Macintosh: (St-Amant) | |
3771 - Dragging the scrollbar, like it's done for the Win32 GUI. Moved common code | |
3772 from gui_w32.c to gui.c | |
3773 - Added dialogs and file browsing. | |
3774 - Resource fork preserved, warning when it will be lost. | |
3775 - Copy original file attributes to newly written file. | |
3776 - Set title/notitle bug solved. | |
3777 - Filename completion improved. | |
3778 - Grow box limit resize to a char by char size. | |
3779 - Use of rgb.txt for more colors (but give back bad color). | |
3780 - Apple menu works (beside the about...). | |
3781 - Internal border now vim compliant. | |
3782 - Removing a menu doesn't crash anymore. | |
3783 - Weak-linking of Python 1.5.1 (only on PPC). Python is supported when the | |
3784 library is available. | |
3785 - If an error is encountered when sourcing the users .vimrc, the alert box now | |
236 | 3786 shows right away with the OK button defaulted. There's no more "Delete"-key |
7 | 3787 sign at the start of each line |
3788 - Better management of environment variables. Now $VIM is calculated only | |
3789 once, not regenerated every time it is used. | |
3790 - No more CPU hog when in background. | |
3791 - In a sourced Vim script the Mac file format can be recognized, just like DOS | |
3792 file format is. | |
3793 | |
3794 When both "unix" and "mac" are present in 'fileformats', prefer "mac" format | |
3795 when there are more CR than NL characters. | |
3796 When using "mac" fileformat, use CR instead of a NL, because NL is used for | |
3797 NUL. Will preserve all characters in a file. (Madsen) | |
3798 | |
3799 The DOS install.exe now contains checks for an existing installation. It | |
3800 avoids setting $VIM and $PATH again. | |
3801 The install program for Dos/Windows can now install Vim in the popup menu, by | |
3802 adding two registry keys. | |
3803 | |
3804 Port to EGCS/mingw32. New Makefile.ming. (Aaron) | |
3805 | |
3806 DOS 16 bit: Don't include cursor shape stuff. Save some bytes. | |
3807 | |
3808 TCL support to Makefile.w32. (Duperval) | |
3809 | |
3810 OS/2: Use argv[0] to find runtime files. | |
3811 | |
3812 When using "gf" to go to a buffer that has already been used, jump to the | |
3813 line where the cursor last was. | |
3814 | |
3815 Colored the output of ":tselect" a bit more. Different highlighting between | |
3816 tag name and file name. Highlight field name ("struct:") separately from | |
3817 argument. | |
3818 | |
3819 Backtick expansion for non-Unix systems. Based on a patch from Aaron. | |
3820 Allows the use of things like ":n `grep -l test *.c`" and | |
3821 "echo expand('`ls m*`')". | |
3822 | |
3823 Check for the 'complete' option when it is set. (Acevedo) | |
3824 'd' flag in 'complete' searches for defined names or macros. | |
3825 While searching for Insert mode completions in include files and tags files, | |
3826 check for typeahead, so that you can use matches early. (Webb) | |
3827 The '.' flag in 'complete' now scans the current buffer completely, ignoring | |
3828 'nowrapscan'. (Webb) | |
3829 | |
3830 Added '~' flag to 'whichwrap'. (Acevedo) | |
3831 | |
3832 When ending the Visual mode (e.g., with ESC) don't grab ownership of the | |
3833 selection. | |
3834 | |
3835 In a color terminal, "fg" and "bg" can be used as color names. They stand for | |
3836 the "Normal" colors. | |
3837 | |
3838 A few cscope cleanups. (Kahn) | |
3839 | |
3840 Included changed vimspell.sh from Schemenauer. | |
3841 | |
3842 Concatenation of strings in an expression with "." is a bit faster. (Roemer) | |
3843 | |
3844 The ":redir" command can now redirect to a register: ":redir @r". (Roemer) | |
3845 | |
3846 Made the output of ":marks" and ":jumps" look similar. When the mark is in | |
3847 the current file, show the text at the mark. Also for ":tags". | |
3848 | |
3849 When configure finds ftello() and fseeko(), they are used in tag.c (for when | |
3850 you have extremely big tags files). | |
3851 | |
3852 Configure check for "-FOlimit,2000" argument for the compiler. (Borsenkow) | |
3853 | |
3854 GUI: | |
3855 - When using ":gui" in a non-GUI Vim, give a clear error message. | |
3856 - "gvim -v" doesn't start the GUI (if console support is present). | |
3857 - When in Ex mode, use non-Visual selection for the whole screen. | |
3858 - When starting with "gvim -f" and using ":gui" in the .gvimrc file, Vim | |
3859 forked anyway. Now the "-f" flag is remembered for ":gui". Added "gui -b" | |
3860 to run gvim in the background anyway. | |
3861 | |
3862 Motif GUI: | |
3863 - Check for "-lXp" library in configure (but it doesn't work yet...). | |
3864 - Let configure check for Lesstif in "/usr/local/Lesstif/Motif*". Changed the | |
3865 order to let a local Motif version override a system standard version. | |
3866 | |
3867 Win32 GUI: | |
3868 - When using "-register" or "-unregister" in the non-OLE version, give an | |
3869 error message. | |
3870 - Use GTK toolbar icons. Make window border look better. Use sizing handles | |
3871 on the lower left&right corners of the window. (Negri) | |
3872 - When starting an external command with ":!start" and the command can not be | |
3873 executed, give an error message. (Webb) | |
3874 - Use sizing handles for the grey rectangles below the scrollbars. Can draw | |
3875 toolbar in flat mode now, looks better. (Negri) | |
3876 - Preparations for MS-Windows 3.1 addition. Mostly changing WIN32 to MSWIN | |
3877 and USE_GUI_WIN32 to USE_GUI_MSWIN. (Negri) | |
3878 | |
3879 Avoid allocating the same string four times in buflist_findpat(). (Williams) | |
3880 | |
3881 Set title and icon text with termcap options 't_ts', 't_fs', 't_IS' and | |
3882 't_IE'. Allows doing this on any terminal that supports setting the title | |
3883 and/or icon text. (Schild) | |
3884 | |
3885 New 'x' flag in 'comments': Automatically insert the end part when its last | |
3886 character is typed. Helps to close a /* */ comment in C. (Webb) | |
3887 | |
3888 When expand() has a second argument which is non-zero, don't use 'suffixes' | |
3889 and 'wildignore', return all matches. | |
3890 | |
3750 | 3891 'O' flag in 'cpoptions' When not included, Vim will not overwrite a file, if |
7 | 3892 it didn't exist when editing started but it does exist when the buffer is |
3893 written to the file. The file must have been created outside of Vim, possibly | |
3894 without the user knowing it. When this is detected after a shell command, | |
3895 give a warning message. | |
3896 | |
3897 When editing a new file, CTRL-G will show [New file]. When there were errors | |
3898 while reading the file, CTRL-G will show [Read errors]. | |
3899 | |
3900 ":wall" can now use a dialog and file-browsing when needed. | |
3901 | |
3902 Grouped functionality into new features, mainly to reduce the size of the | |
3903 minimal version: | |
3904 +linebreak: 'showbreak', 'breakat' and 'linebreak' | |
3905 +visualextra: "I"nsert and "A"ppend in Visual block mode, "c"hange all lines | |
3906 in a block, ">" and "<": Shifting a block, "r": Replacing a | |
3907 Visual area with one character. | |
3908 +comments: 'comments' | |
3909 +cmdline_info: 'ruler' and 'showcmd'. Replaces +showcmd. | |
3910 "+title" Don't add code to set title or icon for MSDOS, this was not | |
3911 possible anyway. | |
3912 +cmdline_compl Disable commandline completion at compile time, except for | |
3913 files, directories and help items. | |
3914 | |
3915 Moved features from a list of function calls into an array. Should save a bit | |
3916 of space. | |
3917 | |
3918 While entering the body of a function, adjust indent according to "if" and | |
3919 "while" commands. | |
3920 | |
3921 VMS: Adjusted os_vms.mms a bit according to suggestions from Arpadffy. | |
3922 | |
3923 The flags in the 'comments' option can now include an offset. This makes it | |
3924 possible to align "/*****", "/* xxx" and "/*" comments with the same | |
3925 'comments' setting. The default value for 'comments' uses this. | |
3926 Added 'O' flag: Don't use this part for the "O" command. Useful for "set | |
3927 com=sO:*\ -,mO:*\ \ ,exO:*/" | |
3928 | |
3929 FileType autocommands recognize ".bak", ".orig" and "~" extensions and remove | |
3930 them to find the relevant extension. | |
3931 | |
3932 The tutorial for writing a Vim script file has been extended. | |
3933 | |
3934 Some more highlighting in help files, for items that are not typed literally. | |
3935 | |
3936 Can use "CTRL-W CTRL-G" like "CTRL-W g". | |
3937 | |
3938 "make test" for OS/2. | |
3939 | |
3940 Adjusted configure to automatically use the GUI for BeOS. | |
3941 | |
3942 | |
3943 Fixed *fixed-5.4* | |
3944 ----- | |
3945 | |
3946 5.3.1: When using an autocommand for BufWritePre that changes the name of the | |
3947 buffer, freed memory would be used. (Geddes) | |
3948 | |
3949 Mac: Compiler didn't understand start of skip_class_name(). | |
3950 | |
3951 Win32 GUI: | |
3952 - When cancelling the font requester, don't give an error message. | |
3953 - When a tearoff-menu is open and its menu is deleted, Vim could crash. | |
3954 (Negri) | |
3955 - There was a problem on Windows 95 with (un)maximizing the window. | |
3956 (Williams) | |
3957 - when 'mousehide' is set, the mouse would stay hidden when a menu is dropped | |
3958 with the keyboard. (Ralston) | |
3959 - The tempname() function already created the file. Caused problems when | |
3960 using ":w". Now the file is deleted. | |
3961 - Cursor disappeared when ending up in the top-left character on the screen | |
3962 after scrolling. (Webb) | |
3963 - When adding a submenu for a torn-off menu, it was not updated. | |
3964 - Menu tooltip was using the toolbar tooltip. (Negri) | |
3965 - Setting 'notitle' didn't remove the title. (Steed) | |
3966 - Using ":!start cmd" scrolled the screen one line up, and didn't wait for | |
3967 return when the command wasn't found. | |
3968 | |
3969 Cscope interface: Sorting of matches was wrong. Starting the interface could | |
3970 fail. (Kahn) | |
3971 | |
3972 Motif GUI: Could not compile with Motif 1.1, because some tear-off | |
3973 functionality was not in #ifdefs. | |
3974 | |
3975 Configure could sometimes not compile or link the test program for sizeof(int) | |
3976 properly. This caused alignment problems for the undo structure allocations. | |
3977 Added a safety check that SIZEOF_INT is not zero. | |
3978 | |
3979 Added configure check to test if strings.h can be included after string.h. | |
3980 Some systems can't handle it. | |
3981 Some systems need both string.h and strings.h included. Adjusted vim.h for | |
3982 that. Removed including string.h from os_unixx.h, since it's already in | |
3983 vim.h. (Savage) | |
3984 AIX: defining _NO_PROTO in os_unix.h causes a conflict between string.h and | |
3985 strings.h, but after the configure check said it was OK. Also define | |
3986 _NO_PROTO for AIX in the configure check. (Winn) | |
3987 | |
3988 When closing a window with CTRL-W c, the value of 'hidden' was not taken into | |
3989 account, the buffer was always unloaded. (Negri) | |
3990 | |
3991 Unix Makefile: "make install" always tried to rename an older executable and | |
3992 remove it. This caused an error message when it didn't exit. Added a check | |
3993 for the existence of an old executable. | |
3994 The command line for "make install" could get too long, because of the many | |
3995 syntax files. Now first do a "cd" to reduce the length. | |
3996 | |
3997 On RISCOS and MSDOS, reading a file could fail, because the short filename was | |
3998 used, which can be wrong after a ":!cd". | |
3999 | |
4000 In the DOS versions, the wrong install.exe was included (required Windows). | |
4001 Now the install.exe version is included that is the same as the Vim version. | |
4002 This also supports long file names where possible. | |
4003 | |
4004 When recording, and stopping while in Insert mode with CTRL-O q, the CTRL-O | |
4005 would also be recorded. | |
4006 | |
4007 32bit DOS version: "vim \file", while in a subdirectory, resulted in "new | |
4008 file" for "file" in the local directory, while "\file" did exist. When | |
4009 "file" in the current directory existed, this didn't happen. | |
4010 | |
4011 MSDOS: Mouse could not go beyond 80 columns in 132 columns mode. (Young) | |
4012 | |
4013 "make test" failed in the RedHat RPM, because compatible is off by default. | |
4014 | |
4015 In Insert mode <C-O><C-W><C-W> changes to other window, but the status bars | |
4016 were not updated until another character was typed. | |
4017 | |
4018 MSDOS: environment options in lowercase didn't work, although they did in the | |
4019 Win32 versions. (Negri) | |
4020 | |
4021 After ":nohlsearch", a tag command switched highlighting back on. | |
4022 | |
4023 When using "append" command as the last line in an autocommand, Vim would | |
4024 crash. | |
4025 | |
4026 RISCOS: The scroll bumpers (?) were not working properly. (Leonard) | |
4027 | |
4028 "zl" and "zh" could move the cursor, but this didn't set the column in which | |
4029 e.g., "k" would move the cursor. | |
4030 | |
4031 When doing ":set all&" the value of 'scroll' was not set correctly. This | |
4032 caused an error message when later setting any other number option. | |
4033 | |
4034 When 'hlsearch' highlighting has been disabled with ":nohlsearch", | |
4035 incremental searching would switch it back on too early. | |
4036 | |
4037 When listing tags for ":tselect", and using a non-search command, and the last | |
4038 character was equal to the first (e.g., "99"), the last char would not be | |
4039 shown. | |
4040 | |
4041 When searching for tags with ":tag" Vim would assume that all matches had been | |
4042 found when there were still more (e.g. from another tags file). | |
4043 | |
4044 Win32: Didn't recognize "c:\" (e.g., in tags file) as absolute path when | |
4045 upper/lowercase was different. | |
4046 | |
4047 Some xterms (Debian) send <Esc>OH for HOME and <Esc>OF for END. Added these | |
4048 to the builtin-xterm. | |
4049 | |
4050 In ex mode, any CR was seen as the end of the line. Only a NL should be | |
4051 handled that way. broke ":s/foo/some^Mtext/". | |
4052 | |
4053 In menu.vim, a vmenu was used to override an amenu. That didn't work, because | |
4054 the system menu file doesn't overwrite existing menus. Added explicit vunmenu | |
4055 to solve this. | |
4056 | |
4057 Configure check for terminal library could find a library that doesn't work at | |
4058 runtime (Solaris: shared library not found). Added a check that a program | |
4059 with tgoto() can run correctly. | |
4060 | |
4061 Unix: "echo -n" in the Makefile doesn't work on all systems, causing errors | |
4062 compiling pathdef.c. Replaced it with "tr". | |
4063 | |
4064 Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files. | |
4065 | |
4066 Various XIM and multi-byte fixes: | |
4067 - Fix user cannot see his language while he is typing his language with | |
4068 off-the-spot method. (Nagano) | |
4069 - Fix preedit position using text/edit area (using gui.wid). (Nagano) | |
236 | 4070 - remove 'fix dead key' codes. It was needed since XNFocusWindow was |
7 | 4071 "x11_window", XNFocusWindow is now gui.wid. (Nagano) |
4072 - Remove some compile warnings and fix typos. (Namsh) | |
4073 - For status area, check the gtk+ version while Vim runs. I believe it is | |
4074 better than compile time check. (Namsh) | |
4075 - Remove one FIXME for gtk+-xim. (Namsh) | |
4076 - XIM: Dead keys didn't work for Czech. (Vyskovsky) | |
4077 - Multibyte: If user input only 3byte such as mb1_mb2_eng or eng_mb1_mb2 VIM | |
4078 could convert it to special character. (Nam) | |
4079 - Athena/Motif with XIM: fix preedit area. (Nam) | |
4080 - XIM: Composed strings were sometimes ignored. Vim crashed when compose | |
4081 string was longer than 256 bytes. IM's geometry control is fixed. (Nam, | |
4082 Nagano) | |
4083 - Win32 multi-byte: hollowed cursor width on a double byte char was wrong. | |
4084 (Nagano) | |
4085 - When there is no GUI, selecting XIM caused compilation problems. | |
4086 Automatically disable XIM when there is no GUI in configure. | |
4087 - Motif and Athena: When compiled with XIM, but the input method was not | |
4088 enabled, there would still be a status line. Now the status line is gone if | |
4089 the input method doesn't work. (Nam) | |
4090 | |
4091 Win32: tooltip was not removed when selecting a parent menu (it was when | |
4092 selecting a menu entry). (Negri) | |
4093 | |
4094 Unix with X: Some systems crash on exit, because of the XtCloseDisplay() call. | |
4095 Removed it, it should not be necessary when exiting. | |
4096 | |
4097 Win32: Crash on keypress when compiled with Borland C++. (Aaron) | |
4098 | |
4099 When checking for Motif library files, prefer the same location as the include | |
4100 files (with "include" replaced with "lib") above another entry. | |
4101 | |
4102 Athena GUI: Changed "XtOffset()" in gui_at_fs.c to "XtOffsetOf()", like it's | |
4103 used in gui_x11.c. | |
4104 | |
4105 Win32: When testing for a timestamp of a file on floppy, would get a dialog | |
4106 box when the floppy has been removed. Now return with an error. (Negri) | |
4107 | |
4108 Win32 OLE: When forced to come to the foreground, a minimized window was still | |
4109 minimized, now it's restored. (Zivkov) | |
4110 | |
4111 There was no check for a positive 'shiftwidth'. A negative value could cause | |
4112 a hangup, a zero value a crash. | |
4113 | |
4114 Athena GUI: horizontal scrollbar wasn't updated correctly when clicking right | |
4115 or left of the thumb. | |
4116 | |
4117 When making a Visual-block selection in one window, and trying to scroll | |
4118 another, could cause errors for accessing non-existent line numbers. | |
4119 | |
4120 When 'matchpairs' contains "`:'", jumping from the ` to the ' didn't work | |
4121 properly. | |
4122 | |
4123 Changed '\"' to '"' to make it compatible with old C compilers. | |
4124 | |
4125 The command line expansion for mappings caused a script with a TAB between lhs | |
4126 and rhs of a map command to fail. Assume the TAB is to separate lhs and rhs | |
4127 when there are no mappings to expand. | |
4128 | |
4129 When editing a file with very long lines with 'scrolloff' set, "j" would | |
4130 sometimes end up in a line which wasn't displayed. | |
4131 | |
4132 When editing a read-only file, it was completely read into memory, even when | |
4133 it would not fit. Now create a swap file for a read-only file when running | |
4134 out of memory while reading the file. | |
4135 | |
4136 When using ":set cino={s,e-s", a line after "} else {" was not indented | |
4137 properly. Also added a check for this in test3.in. | |
4138 | |
4139 The Hebrew mapping for the command line was remembered for the next command | |
4140 line. That isn't very useful, a command is not Hebrew. (Kol) | |
4141 | |
4142 When completing file names with embedded spaces, like "Program\ files", this | |
4143 didn't work. Also for user commands. Moved backslash_halve() down to | |
4144 mch_expandpath(). | |
4145 | |
4146 When using "set mouse=a" in Ex mode, mouse events were handled like typed | |
4147 text. Then typing "quit" screwed up the mouse behavior of the xterm. | |
4148 | |
4149 When repeating an insert with "." that contains a CTRL-Y, a number 5 was | |
4150 inserted as "053". | |
4151 | |
4152 Yanking a Visual area, with the cursor past the line, didn't move the cursor | |
4153 back onto the line. Same for "~", "u", "U" and "g?" | |
4154 | |
4155 Win32: Default for 'grepprg' could be "findstr /n" even though there is no | |
4156 findstr.exe (Windows 95). Check if it exists, and fall back to "grep -n" if | |
4157 it doesn't. | |
4158 | |
4159 Because gui_mouse_moved() inserted a leftmouse click in the input buffer, | |
4160 remapping a leftmouse click caused strange effects. Now Insert another code | |
4161 in the input buffer. Also insert a leftmouse release, to avoid the problem | |
4162 with ":map <LeftMouse> l" that the next release is seen as the release for the | |
4163 focus click. | |
4164 | |
4165 With 'wrap' on, when using a line that doesn't fit on the screen, if the start | |
4166 of the Visual area is before the start of the screen, there was no | |
4167 highlighting. Also, 'showbreak' doesn't work properly. | |
4168 | |
4169 DOS, Win32: A pattern "[0-9]\+" didn't work in autocommands. | |
4170 | |
4171 When creating a swap file for a buffer which isn't the current buffer, could | |
4172 get a mixup of short file name, resulting in a long file name when a short | |
4173 file name was required. makeswapname() was calling modname() instead of | |
4174 buf_modname(). | |
4175 | |
4176 When a function caused an error, and the error message was very long because | |
4177 of recursiveness, this would cause a crash. | |
4178 | |
4179 'suffixes' were always compared with matching case. For MS-DOS, Win32 and | |
4180 OS/2 case is now ignored. | |
4181 | |
4182 The use of CHARBITS in regexp.c didn't work on some Linux. Don't use it. | |
4183 | |
4184 When generating a script file, 'cpo' was made empty. This caused backslashes | |
4185 to disappear from mappings. Set it to "B" to avoid that. | |
4186 | |
4187 Lots of typos in the documentation. (Campbell) | |
4188 | |
4189 When editing an existing (hidden) buffer, jump to the last used cursor | |
4190 position. (Madsen) | |
4191 | |
4192 On a Sun the xterm screen was not restored properly when suspending. (Madsen) | |
4193 | |
4194 When $VIMINIT is processed, 'nocompatible' was only set after processing it. | |
4195 | |
4196 Unix: Polling for a character wasn't done for GPM, Sniff and Xterm clipboard | |
4197 all together. Cleaned up the code for using select() too. | |
4198 | |
4199 When executing external commands from the GUI, some typeahead was lost. Added | |
4200 some code to regain as much typeahead as possible. | |
4201 | |
4202 When the window height is 5 lines or fewer, <PageDown> didn't use a one-line | |
4203 overlap, while <PageUp> does. Made sure that <PageUp> uses the same overlap | |
4204 as <PageDown>, so that using them both always displays the same lines. | |
4205 | |
4206 Removed a few unused functions and variables (found with lint). | |
4207 | |
4208 Dictionary completion didn't use 'infercase'. (Raul) | |
4209 | |
4210 Configure tests failed when the Perl library was not in LD_LIBRARY_PATH. | |
4211 Don't use the Perl library for configure tests, add it to the linker line only | |
4212 when linking Vim. | |
4213 | |
4214 When using ncurses/terminfo, could get a 't_Sf' and 't_Sb' termcap entry that | |
4215 has "%d" instead of "%p1%d". The light background colors didn't work then. | |
4216 | |
4217 GTK GUI with ncurses: Crashed when starting up in tputs(). Don't use tputs() | |
4218 when the GUI is active. | |
4219 | |
4220 Could use the ":let" command to set the "count", "shell_error" and "version" | |
4221 variables, but that didn't work. Give an error message when trying to set | |
4222 them. | |
4223 | |
4224 On FreeBSD 3.0, tclsh is called tclsh8.0. Adjusted configure.in to find it. | |
4225 | |
4226 When Vim is linked with -lncurses, but python uses -ltermcap, this causes | |
4227 trouble: "OOPS". Configure now removes the -ltermcap. | |
4228 | |
4229 :@" and :*" didn't work properly, because the " was recognized as the start of | |
4230 a comment. | |
4231 | |
4232 Win32s GUI: Minimizing the console where a filter command runs in caused | |
4233 trouble for detecting that the filter command has finished. (Negri) | |
4234 | |
4235 After executing a filter command from an xterm, the mouse would be disabled. | |
4236 It would work again after changing the mode. | |
4237 | |
4238 Mac GUI: Crashed in newenv(). (St-Amant) | |
4239 | |
4240 The menus and mappings in mswin.vim didn't handle text ending in a NL | |
4241 correctly. (Acevedo) | |
4242 | |
4243 The ":k" command didn't check if it had a valid argument or extra characters. | |
4244 Now give a meaningful error message. (Webb) | |
4245 | |
4246 On SGI, the signal function doesn't always have three arguments. Check for | |
4247 struct sigcontext to find out. Might still be wrong... | |
4248 | |
4249 Could crash when using 'hlsearch' and search pattern is "^". | |
4250 | |
4251 When search patterns were saved and restored, status of no_hlsearch was not | |
4252 also saved and restored (from ":nohlsearch" command). | |
4253 | |
4254 When using setline() to make a line shorter, the cursor position was not | |
4255 adjusted. | |
4256 | |
4257 MS-DOS and Win95: When trying to edit a file and accidentally adding a slash | |
4258 or backslash at the end, the file was deleted. Probably when trying to create | |
4259 the swap file. Explicitly check for a trailing slash or backslash before | |
4260 trying to read a file. | |
4261 | |
4262 X11 GUI: When starting the GUI failed and received a deadly signal while | |
4263 setting the title, would lock up when trying to exit, because the title is | |
4264 reset again. Avoid using mch_settitle() recursively. | |
4265 | |
4266 X11 GUI: When starting the GUI fails, and then trying it again, would crash, | |
4267 because argv[] has been freed and x11_display was reset to NULL. | |
4268 | |
4269 Win32: When $HOME was set, would put "~user" in the swap file, which would | |
4270 never compare with a file name, and never cause the attention message. Put | |
4271 the full path in the swap file instead. | |
4272 | |
4273 Win32 console: There were funny characters at the end of the "vim -r" swap | |
4274 files message (direct output of CR CR LF). | |
4275 | |
4276 DOS 32 bit: "vim -r" put the text at the top of the window. | |
4277 | |
4278 GUI: With 'mousefocus' set, got mouse codes as text with "!sleep 100" or "Q". | |
4279 | |
4280 Motif and Win32 GUI: When changing 'guifont' to a font of the same size the | |
4281 screen wasn't redrawn. | |
4282 | |
4283 Unix: When using ":make", jumping to a file b.c, which is already open as a | |
4284 symbolic link a.c, opened a new buffer instead of using the existing one. | |
4285 | |
4286 Inserting text in the current buffer while sourcing the .vimrc file would | |
4287 cause a crash or hang. The memfile for the current buffer was never | |
4288 allocated. Now it's allocated as soon as something is written in the buffer. | |
4289 | |
4290 DOS 32 bit: "lightblue" background worked for text, but not drawn parts were | |
4291 black. | |
4292 | |
4293 DOS: Colors of console were not restored upon exiting. | |
4294 | |
4295 When recording, with 'cmdheight' set to 2 and typing Esc> in Insert mode | |
4296 caused the "recording" message to be doubled. | |
4297 | |
4298 Spurious "file changed" messages could happen on Windows. Now tolerate a one | |
4299 second difference, like for Linux. | |
4300 | |
4301 GUI: When returning from Ex mode, scrollbars were not updated. | |
4302 | |
4303 Win32: Copying text to the clipboard containing a <CR>, pasting it would | |
4304 replace it with a <NL> and drop the next character. | |
4305 | |
4306 Entering a double byte character didn't work if the second byte is in [xXoO]. | |
4307 (Eric Lee) | |
4308 | |
4309 vim_realloc was both defined and had a prototype in proto/misc2.pro. Caused | |
4310 conflicts on Solaris. | |
4311 | |
4312 A pattern in an autocommand was treated differently on DOS et al. than on | |
4313 Unix. Now it's the same, also when using backslashes. | |
4314 | |
4315 When using <Tab> twice for command line completion, without a match, the <Tab> | |
4316 would be inserted. (Negri) | |
4317 | |
4318 Bug in MS-Visual C++ 6.0 when compiling ex_docmd.c with optimization. (Negri) | |
4319 | |
4320 Testing the result of mktemp() for failure was wrong. Could cause a crash. | |
4321 (Peters) | |
4322 | |
4323 GUI: When checking for a ".gvimrc" file in the current directory, didn't check | |
4324 for a "_gvimrc" file too. | |
4325 | |
4326 Motif GUI: When using the popup menu and then adding an item to the menu bar, | |
4327 the menu bar would get very high. | |
4328 | |
4329 Mouse clicks and special keys (e.g. cursor keys) quit the more prompt and | |
4330 dialogs. Now they are ignored. | |
4331 | |
4332 When at the more-prompt, xterm selection didn't work. Now use the 'r' flag in | |
4333 'mouse' also for the more-prompt. | |
4334 | |
4335 When selecting a Visual area of more than 1023 lines, with 'guioptions' set to | |
4336 "a", could mess up the display because of a message in free_yank(). Removed | |
4337 that message, except for the Amiga. | |
4338 | |
4339 Moved auto-selection from ui_write() to the screen update functions. Avoids | |
4340 unexpected behavior from a low-level function. Also makes the different | |
4341 feedback of owning the selection possible. | |
4342 | |
4343 Vi incompatibility: Using "i<CR>" in an indent, with 'ai' set, used the | |
4344 original indent instead of truncating it at the cursor. (Webb) | |
4345 | |
4346 ":echo x" didn't stop at "q" for the more prompt. | |
4347 | |
4348 Various fixes for Macintosh. (St-Amant) | |
4349 | |
4350 When using 'selectmode' set to "exclusive", selecting a word and then using | |
4351 CTRL-] included the character under the cursor. | |
4352 | |
4353 Using ":let a:name" in a function caused a crash. (Webb) | |
4354 | |
4355 When using ":append", an empty line didn't scroll up. | |
4356 | |
4357 DOS etc.: A file name starting with '!' didn't work. Added '!' to default for | |
4358 'isfname'. | |
4359 | |
4360 BeOS: Compilation problem with prototype of skip_class_name(). (Price) | |
4361 | |
4362 When deleting more than one line, e.g., with "de", could still use "U" | |
4363 command, which didn't work properly then. | |
4364 | |
4365 Amiga: Could not compile ex_docmd.c, it was getting too big. Moved some | |
4366 functions to ex_cmds.c. | |
4367 | |
4368 The expand() function would add a trailing slash for directories. | |
4369 | |
4370 Didn't give an error message when trying to assign a value to an argument of a | |
4371 function. (Webb) | |
4372 | |
4373 Moved including sys/ptem.h to after termios.h. Needed for Sinix. | |
4374 | |
4375 OLE interface: Don't delete the object in CVimCF::Release() when the reference | |
4376 count becomes zero. (Cordell) | |
4377 VisVim could still crash on exit. (Erhardt) | |
4378 | |
4379 "case a: case b:" (two case statements in one line) aligned with the second | |
4380 case. Now it uses one 'sw' for indent. (Webb) | |
4381 | |
4382 Font initialisation wasn't right for Athena/Motif GUI. Moved the call to | |
4383 highlight_gui_started() gui_mch_init() to gui_mch_open(). (Nam) | |
4384 | |
4385 In Replace mode, backspacing over a TAB before where the replace mode started | |
4386 while 'sts' is different from 'ts', would delete the TAB. | |
4387 | |
4388 Win32 console: When executing external commands and switching between the two | |
4389 console screens, Vim would copy the text between the buffers. That caused the | |
4390 screen to be messed up for backtick expansion. | |
4391 | |
4392 ":winpos -1" then ":winpos" gave wrong error message. | |
4393 | |
4394 Windows commander creates files called c:\tmp\$wc\abc.txt. Don't remove the | |
4395 backslash before the $. Environment variables were not expanded anyway, | |
4396 because of the backslash before the dollar. | |
4397 | |
4398 Using "-=" with ":set" could remove half a part when it contains a "\,". | |
4399 E.g., ":set path+=a\\,b" and then "set path-=b" removed ",b". | |
4400 | |
4401 When Visually selecting lines, with 'selection' set to "inclusive", including | |
4402 the last char of the line, "<<" moved an extra line. Also for other operators | |
4403 that always work on lines. | |
4404 | |
4405 link.sh changed "-lnsl_s" to "_s" when looking for "nsl" to be removed. | |
4406 Now it only remove whole words. | |
4407 | |
4408 When jumped to a mark or using "fz", and there is an error, the current column | |
4409 was lost. E.g. when using "$fzj". | |
4410 | |
4411 The "g CTRL-G" command could not be interrupted, even though it can take a | |
4412 long time. | |
4413 | |
4414 Some terminals do have <F4> and <xF4>. <xF4> was always interpreted as <F4>. | |
4415 Now map <xF4> to <F4>, so that the user can override this. | |
4416 | |
4417 When compiling os_win32.c with MIN_FEAT the apply_autocmds() should not be | |
4418 used. (Aaron) | |
4419 | |
4420 This autocommand looped forever: ":au FileChangedShell * nested e <afile>" | |
4421 Now FileChangeShell never nests. (Roemer) | |
4422 | |
4423 When evaluating an ":elseif" that was not going to matter anyway, ignore | |
4424 errors. (Roemer) | |
4425 | |
4426 GUI Lesstif: Tearoff bar was the last item, instead of the first. | |
4427 | |
4428 GUI Motif: Colors of tear-off widgets was wrong when 't' flag added to | |
4429 'guioptions' afterwards. When 't' flag in 'guioptions' is excluded, would | |
4430 still get a tearoff item in a new menu. | |
4431 | |
4432 An inode number can be "long long". Use ino_t instead of long. Added | |
4433 configure check for ino_t. | |
4434 | |
4435 Binary search for tags was using a file offset "long" instead of "off_t". | |
4436 | |
4437 Insert mode completion of tags was not using 'ignorecase' properly. | |
4438 | |
4439 In Insert mode, the <xFn> keys were not properly mapped to <Fn> for the | |
4440 default mappings. Also caused errors for ":mkvimrc" and ":mksession". | |
4441 | |
4442 When jumping to another window while in Insert mode, would get the "warning: | |
4443 changing readonly file" even when not making a change. | |
4444 | |
4445 A '(' or '{' inside a trailing "//" comment would disturb C-indenting. | |
4446 When using two labels below each other, the second one was not indented | |
4447 properly. Comments could mess up C-indenting in many places. (Roemer) | |
4448 | |
4449 Could delete or redefine a function while it was being used. Could cause a | |
4450 crash. | |
4451 In a function it's logical to prepend "g:" to a system variable, but this | |
4452 didn't work. (Roemer) | |
4453 | |
4454 Hangul input: Buffer would overflow when user inputs invalid key sequence. | |
4455 (Nam) | |
4456 | |
4457 When BufLoad or BufEnter autocommands change the topline of the buffer in the | |
4458 window, it was overruled and the cursor put halfway the window. Now only put | |
4459 the cursor halfway if the autocommands didn't change the topline. | |
4460 | |
4461 Calling exists("&option") always returned 1. (Roemer) | |
4462 | |
4463 Win32: Didn't take actually available memory into account. (Williams) | |
4464 | |
4465 White space after an automatically inserted comment leader was not removed | |
4466 when 'ai' is not set and <CR> hit just after inserting it. (Webb) | |
4467 | |
4468 A few menus had duplicated accelerators. (Roemer) | |
4469 | |
4470 Spelling errors in documentation, quite a few "the the". (Roemer) | |
4471 | |
4472 Missing prototypes for Macintosh. (Kielhorn) | |
4473 | |
4474 Win32: When using 'shellquote' or 'shellxquote', the "!start cmd" wasn't | |
4475 executed in a disconnected process. | |
4476 | |
4477 When resizing the window, causing a line before the cursor to wrap or unwrap, | |
4478 the cursor was displayed in the wrong position. | |
4479 | |
4480 There was quite a bit of dead code when compiling with minimal features. | |
4481 | |
4482 When doing a ":%s///" command that makes lines shorter, such that lines above | |
4483 the final cursor position no longer wrap, the cursor position was not updated. | |
4484 | |
4485 get_id_list() could allocate an array one too small, when a "contains=" item | |
4486 has a wildcard that matches a group name that is added just after it. E.g.: | |
4487 "contains=a.*b,axb". Give an error message for it. | |
4488 | |
4489 When yanking a Visual area and using the middle mouse button -> crash. When | |
4490 clipboard doesn't work, now make "* always use "". | |
4491 | |
4492 Win32: Using ":buf a\ b\file" didn't work, it was interpreted as "ab\file". | |
4493 | |
4494 Using ":ts ident", then hit <CR>, with 'cmdheight' set to 2: command line was | |
4495 not cleared, the tselect prompt was on the last but one line. | |
4496 | |
4497 mksession didn't restore the cursor column properly when it was after a tab. | |
4498 Could not get all windows back when using a smaller terminal screen. Didn't | |
4499 restore all windows when "winsize" was not in 'sessionoptions'. (Webb) | |
4500 | |
4501 Command line completion for ":buffer" depended on 'ignorecase' for Unix, but | |
3750 | 4502 not for DOS et al. Now don't use 'ignorecase', but let it depend on whether |
7 | 4503 file names are case sensitive or not (like when expanding file names). |
4504 | |
4505 Win32 GUI: (Negri) | |
4506 - Redrawing the background caused flicker when resizing the window. Removed | |
4507 _OnEraseBG(). Removed CS_HREDRAW and CS_VREDRAW flags from the | |
4508 sndclass.style. | |
4509 - Some parts of the window were drawn in grey, instead of using the color from | |
4510 the user color scheme. | |
4511 - Dropping a file on gvim didn't activate the window. | |
4512 - When there is no menu ('guioptions' excludes 'm'), never use the ALT key for | |
4513 it. | |
4514 | |
4515 GUI: When resizing the window, would make the window height a bit smaller. | |
4516 Now round off to the nearest char cell size. (Negri) | |
4517 | |
4518 In Vi the ")" and "(" commands don't stop at a single space after a dot. | |
4519 Added 'J' flag in 'cpoptions' to make this behave Vi compatible. (Roemer) | |
4520 | |
4521 When saving a session without any buffers loaded, there would be a ":normal" | |
4522 command without arguments in it. (Webb) | |
4523 | |
4524 Memory leaks fixed: (Madsen) | |
4525 - eval.c: forgot to release func structure when func deleted | |
4526 - ex_docmd.c: forgot to release string after "<sfile>" | |
4527 - misc1.c: leak when completion pattern had no matches. | |
4528 - os_unix.c: forgot to release regexp after file completions | |
4529 | |
4530 Could crash when using a buffer without a name. (Madsen) | |
4531 Could crash when doing file name completion, because of backslash_halve(). | |
4532 (Madsen) | |
4533 | |
4534 ":@a" would do mappings on register a, which is not Vi compatible. (Roemer) | |
4535 | |
4536 ":g/foo.*()/s/foobar/_&/gc" worked fine, but then "n" searched for "foobar" | |
4537 and displayed "/foo.*()". (Roemer) | |
4538 | |
4539 OS/2: get_cmd_output() was not included. Didn't check for $VIM/.vimrc file. | |
4540 | |
4541 Command line completion of options didn't work after "+=" and "-=". | |
4542 | |
4543 Unix configure: Test for memmove()/bcopy()/memcpy() tried redefining these | |
4544 functions, which could fail if they are defined already. Use mch_memmove() to | |
4545 redefine. | |
4546 | |
4547 Unix: ":let a = expand("`xterm`&")" started an xterm asynchronously, but | |
4548 ":let a = expand("`xterm&`")" generated an error message, because the | |
4549 redirection was put after the '&'. | |
4550 | |
4551 Win32 GUI: Dialog buttons could not be selected properly with cursor keys, | |
4552 when the default is not the first button. (Webb) | |
4553 | |
4554 The "File has changed since editing started" (when regaining focus) could not | |
4555 always be seen. (Webb) | |
4556 | |
4557 When starting with "ex filename", the file message was overwritten with | |
4558 the "entering Ex mode" message. | |
4559 | |
4560 Output of ":tselect" listed name of file directly from the tags file. Now it | |
4561 is corrected for the position of the tags file. | |
4562 | |
4563 When 'backspace' is 0, could backspace over autoindent. Now it is no longer | |
4564 allowed (Vi compatible). | |
4565 | |
4566 In Replace mode, when 'noexpandtab' and 'smarttab' were set, and inserting | |
4567 Tabs, backspacing didn't work correctly for Tabs inserted at the start of the | |
4568 line (unless 'sts' was set too). Also, when replacing the first non-blank | |
4569 after which is a space, rounding the indent was done on the first non-blank | |
4570 instead of on the character under the cursor. | |
4571 | |
4572 When 'sw' at 4, 'ts' at 8 and 'smarttab' set: When a tab was appended after | |
4573 four spaces (they are replaced with a tab) couldn't backspace over the tab. | |
4574 | |
4575 In Insert mode, with 'bs' set to 0, couldn't backspace to before autoindent, | |
4576 even when it was removed with CTRL-D. | |
4577 | |
4578 When repeating an insert command where a <BS>, <Left> or other key causes an | |
4579 error, would flush buffers and remain in Insert mode. No longer flush | |
4580 buffers, only beep and continue with the insert command. | |
4581 | |
4582 Dos and Win32 console: Setting t_me didn't work to get another color. Made | |
4583 this works backwards compatible. | |
4584 | |
9 | 4585 For Turkish (LANG = "tr") uppercase 'i' is not an 'I'. Use ASCII uppercase |
7 | 4586 translation in vim_strup() to avoid language problems. (Komur) |
4587 | |
4588 Unix: Use usleep() or nanosleep() for mch_delay() when available. Hopefully | |
4589 this avoids a hangup in select(0, ..) for Solaris 2.6. | |
4590 | |
4591 Vim would crash when using a script file with 'let &sp = "| tee"', starting | |
4592 vim with "vim -u test", then doing ":set sp=". The P_WAS_SET flag wasn't set | |
4593 for a string option, could cause problems with any string option. | |
4594 | |
4595 When using "cmd | vim -", stdin is not a terminal. This gave problems with | |
4596 GPM (Linux console mouse) and when executing external commands. Now close | |
4597 stdin and re-open it as a copy of stderr. | |
4598 | |
4599 Syntax highlighting: A "nextgroup" item was not properly stored in the state | |
4600 list. This caused missing of next groups when not redrawing from start to | |
4601 end, but starting halfway. | |
4602 | |
4603 Didn't check for valid values of 'ttymouse'. | |
4604 | |
4605 When executing an external command from the GUI, waiting for the child to | |
4606 terminate might not work, causing a hang. (Parmelan) | |
4607 | |
4608 "make uninstall" didn't delete the vimrc_example.vim and gvimrc_example.vim | |
4609 files and the vimtutor. | |
4610 | |
4611 Win32: "expand("%:p:h")" with no buffer name removed the directory name. | |
4612 "fnamemodify("", ":p")" did not add a trailing slash, fname_case() removed it. | |
4613 | |
4614 Fixed: When 'hlsearch' was set and the 'c' flag was not in 'cpoptions': | |
4615 highlighting was not correct. Now overlapping matches are handled correctly. | |
4616 | |
4617 Athena, Motif and GTK GUI: When started without focus, cursor was shown as if | |
4618 with focus. | |
4619 | |
4620 Don't include 'shellpipe' when compiled without quickfix, it's not used. | |
4621 Don't include 'dictionary' option when compiled without the +insert_expand | |
4622 feature. | |
4623 Only include the 'shelltype' option for the Amiga. | |
4624 | |
4625 When making a change to a line, with 'hlsearch' on, causing it to wrap, while | |
4626 executing a register, the screen would not be updated correctly. This was a | |
4627 generic problem in update_screenline() being called while must_redraw is | |
4628 VALID. | |
4629 | |
4630 Using ":bdelete" in a BufUnload autocommand could cause a crash. The window | |
4631 height was added to another window twice in close_window(). | |
4632 | |
4633 Win32 GUI: When removing a menu item, the tearoff wasn't updated. (Negri) | |
4634 | |
4635 Some performance bottlenecks removed. Allocating memory was not efficient. | |
4636 For Win32 checking for available memory was slow, don't check it every time | |
4637 now. On NT obtaining the user name takes a long time, cache the result (for | |
4638 all systems). | |
4639 | |
4640 fnamemodify() with an argument ":~:." or ":.:~" didn't work properly. | |
4641 | |
4642 When editing a new file and exiting, the marks for the buffer were not saved | |
4643 in the viminfo file. | |
4644 | |
4645 ":confirm only" didn't put up a dialog. | |
4646 | |
4647 These text objects didn't work when 'selection' was "exclusive": va( vi( va{ | |
4648 vi{ va< vi< vi[ va[. | |
4649 | |
4650 The dialog for writing a readonly file didn't have a valid default. (Negri) | |
4651 | |
4652 The line number used for error messages when sourcing a file was reset when | |
4653 modelines were inspected. It was wrong when executing a function. | |
4654 | |
4655 The file name and line number for an error message wasn't displayed when it | |
4656 was the same as for the last error, even when this was long ago. Now reset | |
4657 the name/lnum after a hit-enter prompt. | |
4658 | |
4659 In a session file, a "%" in a file name caused trouble, because fprintf() was | |
4660 used to write it to the file. | |
4661 | |
4662 When skipping statements, a mark in an address wasn't skipped correctly: | |
4663 "ka|if 0|'ad|else|echo|endif". (Roemer) | |
4664 | |
4665 ":wall" could overwrite a not-edited file without asking. | |
4666 | |
4667 GUI: When $DISPLAY was not set or starting the GUI failed in another way, the | |
4668 console mode then started with wrong colors and skipped initializations. Now | |
4669 do an early check if the GUI can be started. Don't source the menu.vim or | |
4670 gvimrc when it will not. Also do normal terminal initializations if the GUI | |
4671 might not start. | |
4672 | |
4673 When using a BufEnter autocommand to position the cursor and scroll the | |
4674 window, the cursor was always put at the last used line and halfway the window | |
4675 anyhow. | |
4676 | |
4677 When 'wildmode' was set to "longest,list:full", ":e *.c<Tab><Tab>" didn't list | |
4678 the matches. Also avoid that listing after a "longest" lists the wrong | |
4679 matches when the first expansion changed the string in front of the cursor. | |
4680 | |
4681 When using ":insert", ":append" or ":change" inside a while loop, was not able | |
4682 to break out of it with a CTRL-C. | |
4683 | |
4684 Win32: ":e ." took an awful long time before an error message when used in | |
4685 "C:\". Was caused by adding another backslash and then trying to get the full | |
4686 name for "C:\\". | |
4687 | |
4688 ":winpos -10 100" was working like ":winpos -10 -10", because a pointer was | |
4689 not advanced past the '-' sign. | |
4690 | |
4691 When obtaining the value of a hidden option, would give an error message. Now | |
4692 just use a zero value. | |
4693 | |
4694 OS/2: Was using argv[0], even though it was not a useful name. It could be | |
4695 just "vim", found in the search path. | |
4696 | |
4697 Xterm: ":set columns=78" didn't redraw properly (when lines wrap/unwrap) until | |
4698 after a delay of 'updatetime'. Didn't check for the size-changed signal. | |
4699 | |
4700 'scrollbind' didn't work in Insert mode. | |
4701 Horizontal scrollbinding didn't always work for "0" and "$" commands (e.g., | |
4702 when 'showcmd' was off). | |
4703 | |
4704 When compiled with minimal features but with GUI, switching on the mouse in an | |
4705 xterm caused garbage, because the mouse codes were not recognized. Don't | |
4706 enable the mouse when it can't be recognized. In the GUI it also didn't work, | |
4707 the arguments to the mouse code were not interpreted. | |
4708 | |
4709 When 'showbreak' used, in Insert mode, when the cursor is just after the last | |
4710 character in the line, which is also the in the rightmost column, the cursor | |
4711 position would be like the 'showbreak' string is shown, but it wasn't. | |
4712 | |
4713 Autocommands could move the cursor in a new file, so that CTRL-W i didn't show | |
4714 the right line. Same for when using a filemark to jump to another file. | |
4715 | |
4716 When redefining the argument list, the title used for other windows could be | |
4717 showing the wrong info about the position in the argument list. Also update | |
4718 this for a ":split" command without arguments. | |
4719 | |
4720 When editing file 97 of 13, ":Next" didn't work. Now it goes to the last | |
4721 file in the argument list. | |
4722 | |
4723 Insert mode completion (for dictionaries or included files) could not be | |
4724 interrupted by typing an <Esc>. Could get hit-enter prompt after line | |
4725 completion, or whenever the informative message would get too long. | |
4726 | |
4727 When using the ":edit" command to re-edit the same file, an autocommand to | |
4728 jump to the last cursor position caused the cursor to move. Now set the last | |
4729 used cursor position to avoid this. | |
4730 | |
4731 When 'comments' has a part that starts with white space, formatting the | |
4732 comment didn't work. | |
4733 | |
4734 At the ":tselect" prompt Normal mode mappings were used. That has been | |
4735 disabled. | |
4736 | |
4737 When 'selection' is not "old", some commands still didn't allow the cursor | |
4738 past the end-of-line in Visual mode. | |
4739 | |
4740 Athena: When a menu was deleted, it would appear again (but not functional) | |
4741 when adding another menu. Now they don't reappear anymore (although they are | |
4742 not really deleted either). | |
4743 | |
4744 Borland C++ 4.x had an optimizer problem in fill_breakat_flags(). (Negri) | |
4745 | |
4746 "ze" didn't work when 'number' was on. (Davis) | |
4747 | |
4748 Win32 GUI: Intellimouse code didn't work properly on Windows 98. (Robinson) | |
4749 | |
4750 A few files were including proto.h a second time, after vim.h had already done | |
4751 that, which could cause problems with the vim_realloc() macro. | |
4752 | |
4753 Win32 console: <M-x> or ALT-x was not recognized. Also keypad '+', '-' and | |
4754 '*'. (Negri) | |
4755 MS-DOS: <M-x> didn't work, produced a two-byte code. Now the alphabetic and | |
4756 number keys work. (Negri) | |
4757 | |
4758 When finding a lot of matches for a tag completion, the check for avoiding | |
4759 double matches could take a lot of time. Add a line_breakcheck() to be able | |
4760 to interrupt this. (Deshpande) | |
4761 | |
4762 When the command line was getting longer than the screen, the more-prompt | |
4763 would be given regularly, and the cursor position would be wrong. Now only | |
4764 show the part of the command line that fits on the screen and force the cursor | |
4765 to be positioned on the visible part. There can be text after the cursor | |
4766 which isn't editable. | |
4767 | |
4768 At the more prompt and with the console dialog, a cursor key was interpreted | |
4769 as <Esc> and OA. Now recognize special keys in get_keystroke(). Ignore mouse | |
4770 and scrollbar events. | |
4771 | |
4772 When typing a BS after inserting a middle comment leader, typing the last char | |
4773 of the end comment leader still changed it into the end comment leader. (Webb) | |
4774 | |
4775 When a file system is full, writing to a swap file failed. Now first try to | |
4776 write one block to the file. Try next entry in 'dir' if it fails. | |
4777 | |
4778 When "~" is in 'whichwrap', doing "~" on last char of a line didn't update the | |
4779 display. | |
4780 | |
4781 Unix: Expanding wildcards for ":file {\\}" didn't work, because "\}" was | |
4782 translated to "}" before the shell got it. Now don't remove backslashes when | |
4783 wildcards are going to be expanded. | |
4784 | |
4785 Unix: ":e /tmp/$uid" didn't work. When expanding environment variables in a | |
236 | 4786 file name doesn't work, use the shell to expand the file name. ":e /tmp/$tty" |
7 | 4787 still doesn't work though. |
4788 | |
4789 "make test" didn't always work on DOS/Windows for test30, because it depended | |
4790 on the external "echo" command. | |
4791 | |
4792 The link.sh script used "make" instead of $MAKE from the Makefile. Caused | |
4793 problems for generating pathdef.c when "make" doesn't work properly. | |
4794 | |
4795 On versions that can do console and GUI: In the console a typed CSI code could | |
4796 cause trouble. | |
4797 | |
4798 The patterns in expression evaluation didn't ignore the 'l' flag in | |
4799 'cpoptions'. This broke the working of <CR> in the options window. | |
4800 | |
4801 When 'hls' off and 'ai' on, "O<Esc>" did remove the indent, but it was still | |
4802 highlighted red for trailing space. | |
4803 | |
4804 Win32 GUI: Dropping an encrypted file on a running gvim didn't work right. Vim | |
4805 would loop while outputting "*" characters. vgetc() was called recursively, | |
4806 thus it returns NUL. Added safe_vgetc(), which reads input directly from the | |
4807 user in this situation. | |
4808 | |
4809 While reading text from stdin, only an empty screen was shown. Now show that | |
4810 Vim is reading from stdin. | |
4811 | |
4812 The cursor shape wasn't set properly when returning to Insert mode, after | |
4813 using a CTRL-O /asdf command which fails. It would be OK after a few seconds. | |
4814 Now it's OK right away. | |
4815 | |
4816 The 'isfname' default for DOS/Windows didn't include the '@' character. File | |
4817 names that contained "dir\@file" could not be edited. | |
4818 | |
4819 Win32 console: <C-S-Left> could cause a crash when compiled with Borland or | |
4820 egcs. (Aaron) | |
4821 | |
4822 Unix and VMS: "#if HAVE_DIRENT_H" caused problems for some compilers. Use | |
4823 "#ifdef HAVE_DIRENT_H" instead. (Jones) | |
4824 | |
4825 When a matching tag is in the current file but has a search pattern that | |
4826 doesn't match, the cursor would jump to the first line. | |
4827 | |
4828 Unix: Dependencies for pty.c were not included in Makefile. Dependency of | |
4829 ctags/config.h was not included (only matters for parallel make). | |
4830 | |
4831 Removed a few Uninitialized Memory Reads (potential crashes). In do_call() | |
4832 calling clear_var() when not evaluating. In win32_expandpath() and | |
4833 dos_expandpath() calling backslash_halve() past the end of a file name. | |
4834 | |
4835 Removed memory leaks: Set_vim_var_string() never freed the value. The | |
4836 next_list for a syntax keyword was never freed. | |
4837 | |
4838 On non-Unix systems, using a file name with wildcards without a match would | |
4839 silently fail. E.g., ":e *.sh". Now give a "No match" error message. | |
4840 | |
4841 The life/life.mac, urm/urm.mac and hanoi/hanoi.mac files were not recognized | |
4842 as Vim scripts. Renamed them to *.vim. | |
4843 | |
4844 [Note: some numbered patches are not relevant when upgrading from version 5.3, | |
4845 they have been removed] | |
4846 | |
4847 Patch 5.4m.1 | |
4848 Problem: When editing a file with a long name, would get the hit-enter | |
4849 prompt, even though all settings are such that the name should be | |
4850 truncated to avoid that. filemess() was printing the file name | |
4851 without truncating it. | |
4852 Solution: Truncate the message in filemess(). Use the same code as for | |
4853 msg_trunc_attr(), which is moved to the new function | |
4854 msg_may_trunc(). | |
4855 Files: src/message.c, src/proto/message.pro, src/fileio.c | |
4856 | |
4857 Patch 5.4m.3 | |
4858 Problem: The Motif libraries were not found by configure for Digital Unix. | |
4859 Solution: Add "/usr/shlib" to the search path. (Andy Kahn) | |
4860 Files: src/configure.in, src/configure | |
4861 | |
4862 Patch 5.4m.5 | |
4863 Problem: Win32 GUI: When using the Save-As menu entry and selecting an | |
4864 existing file in the file browser, would get a dialog to confirm | |
4865 overwriting twice. (Ed Krall) | |
4866 Solution: Removed the dialog from the file browser. It would be nicer to | |
4867 set the "forceit" flag and skip Vim's ":confirm" dialog, but it | |
4868 requires quite a few changes to do that. | |
4869 Files: src/gui_w32.c | |
4870 | |
4871 Patch 5.4m.6 | |
4872 Problem: Win32 GUI: When reading text from stdin, e.g., "cat foo | gvim -", | |
4873 a message box would pop up with "-stdin-" (when exiting). (Michael | |
4874 Schaap) | |
4875 Solution: Don't switch off termcap mode for versions that are GUI-only. | |
4876 They use another terminal to read from stdin. | |
4877 Files: src/main.c, src/fileio.c | |
4878 | |
4879 Patch 5.4m.7 | |
4880 Problem: Unix: running configure with --enable-gtk-check, | |
4881 --enable-motif-check, --enable-athena-check or --enable-gtktest | |
4882 had the reverse effect. (Thomas Koehler) | |
4883 Solution: Use $enable_gtk_check variable correctly in AC_ARG_ENABLE(). | |
4884 Files: src/configure.in, src/configure | |
4885 | |
4886 Patch 5.4m.9 | |
4887 Problem: Multi-byte: With wrapping lines, the cursor was sometimes 2 | |
4888 characters to the left. Syntax highlighting was wrong when a | |
4889 double-byte character was split for a wrapping line. When | |
4890 'showbreak' was on the splitting also didn't work. | |
4891 Solution: Adjust getvcol() and win_line(). (Chong-Dae Park) | |
4892 Files: src/charset.c, src/screen.c | |
4893 | |
4894 Patch 5.4m.11 | |
4895 Problem: The ":call" command didn't check for illegal trailing characters. | |
4896 (Stefan Roemer) | |
4897 Solution: Add the check in do_call(). | |
4898 Files: src/eval.c | |
4899 | |
4900 Patch 5.4m.13 | |
4901 Problem: With the ":s" command: | |
4902 1. When performing a substitute command, the mouse would be | |
4903 disabled and enabled for every substitution. | |
4904 2. The cursor position could be beyond the end of the line. | |
4905 Calling line_breakcheck() could try to position the cursor, | |
4906 which causes a crash in the Win32 GUI. | |
4907 3. When using ":s" in a ":g" command, the cursor was not put on | |
4908 the first non-white in the line. | |
4909 4. There was a hit-enter prompt when confirming the substitution | |
4910 and the replacement was a bit longer. | |
4911 Solution: 1. Only disable/enable the mouse when asking for confirmation. | |
4912 2. Always put the cursor on the first character, it is going to be | |
4913 moved to the first non-blank anyway. | |
4914 Don't use the cursor position in gui_mch_draw_hollow_cursor(), | |
4915 get the character from the screen buffer. | |
4916 3. Added global_need_beginline flag to call beginline() after ":g" | |
4917 has finished all substitutions. | |
4918 4. Clear the need_wait_return flag after prompting the user. | |
4919 Files: src/ex_cmds.c, src/gui_w32.c | |
4920 | |
4921 Patch 5.4m.14 | |
4922 Problem: When doing "vim xxx", ":opt", ":only" and then ":e xxx" we end | |
4923 up with two swapfiles for "xxx". That is caused by the ":bdel" | |
4924 command which is executed when unloading the option-window. | |
4925 Also, there was no check if closing a buffer made the new one | |
4926 invalid, this could cause a crash. | |
4927 Solution: When closing a buffer causes the current buffer to be deleted, | |
4928 use the new buffer to replace it. Also detect that the new buffer | |
4929 has become invalid as a side effect of closing the current one. | |
4930 Make autocommand that calls ":bdel" in optwin.vim nested, so that | |
4931 the buffer loading it triggers also executes autocommands. | |
4932 Also added a test for this in test13. | |
4933 Files: runtime/optwin.vim, src/buffer.c, src/ex_cmds.c, src/globals.h | |
4934 src/testdir/test13.in, src/testdir/test13.ok | |
4935 | |
4936 Patch 5.4m.15 | |
4937 Problem: When using a BufEnter autocommand to reload the syntax file, | |
4938 conversion to HTML caused a crash. (Sung-Hyun Nam) | |
4939 Solution: When using ":syntax clear" the current stack of syntax items was | |
4940 not cleared. This will cause memory to be used that has already | |
4941 been freed. Added call to invalidate_current_state() in | |
4942 syntax_clear(). | |
4943 Files: src/syntax.c | |
4944 | |
4945 Patch 5.4m.17 | |
4946 Problem: When omitting a ')' in an expression it would not be seen as a | |
4947 failure. | |
4948 When detecting an error inside (), there would be an error message | |
4949 for a missing ')' too. | |
4950 When using ":echo 1+|echo 2" there was no error message. (Roemer) | |
4951 When using ":exe 1+" there was no error message. | |
4952 When using ":return 1+" there was no error message. | |
4953 Solution: Fix do_echo(), do_execute() and do_return() to give an error | |
4954 message when eval1() returns FAIL. | |
4955 Fix eval6() to handle trailing ')' correctly and return FAIL when | |
4956 it's missing. | |
4957 Files: src/eval.c | |
4958 | |
4959 Patch 5.4m.18 | |
4960 Problem: When using input() from inside an expression entered with | |
4961 "CTRL-R =" on the command line, there could be a crash. And the | |
4962 resulting command line was wrong. | |
4963 Solution: Added getcmdline_prompt(), which handles recursive use of | |
4964 getcmdline() correctly. It also sets the command line prompt. | |
4965 Removed cmdline_prompt(). Also use getcmdline_prompt() for | |
4966 getting the crypt key in get_crypt_key(). | |
4967 Files: src/proto/ex_getln.pro, src/ex_getln.c, src/eval.c, src/misc2.c | |
4968 | |
4969 Patch 5.4m.21 | |
4970 Problem: When starting up, the screen structures were first allocated at | |
4971 the minimal size, then initializations were done with Rows | |
4972 possibly different from screen_Rows. Caused a crash in rare | |
4973 situations (GTK with XIM and fontset). | |
4974 Solution: Call screenalloc() in main() only after calling ui_get_winsize(). | |
4975 Also avoids a potential delay because of calling screenclear() | |
4976 while "starting" is non-zero. | |
4977 Files: src/main.c | |
4978 | |
4979 Patch 5.4m.22 | |
4980 Problem: In the GUI it was possible that the screen was resized and the | |
4981 screen structures re-allocated while redrawing the screen. This | |
4982 could cause a crash (hard to reproduce). The call sequence goes | |
4983 through update_screen() .. syntax_start() .. ui_breakcheck() .. | |
4984 gui_resize_window() .. screenalloc(). | |
4985 Solution: Set updating_screen while redrawing. If the window is resized | |
4986 remember the new size and handle it only after redrawing is | |
4987 finished. | |
4988 This also fixes that resizing the screen while still redrawing | |
4989 (slow syntax highlighting) would not work properly. | |
4990 Also disable display_hint, it was never used. | |
4991 Files: src/globals.h, src/gui.c, src/screen.c, src/proto/gui.pro | |
4992 | |
4993 Patch 5.4m.23 | |
4994 Problem: When using expand("<cword>") when there was no word under the | |
4995 cursor, would get an error message. Same for <cWORD> and <cfile>. | |
4996 Solution: Don't give an error message, return an empty string. | |
4997 Files: src/eval.c | |
4998 | |
4999 Patch 5.4m.24 | |
5000 Problem: ":help \|" didn't find anything. It was translated to "/\\|". | |
5001 Solution: Translate "\|" into "\\bar". First check the table for specific | |
5002 translations before checking for "\x". | |
5003 Files: src/ex_cmds.c | |
5004 | |
5005 Patch 5.4m.25 | |
5006 Problem: Unix: When using command line completion on files that contain | |
5007 ''', '"' or '|' the file name could not be used. | |
5008 Adding this file name to the Buffers menu caused an error message. | |
5009 Solution: Insert a backslash before these three characters. | |
5010 Adjust Mungename() function to insert a backslash before '|'. | |
5011 Files: src/ex_getln.c, runtime/menu.vim | |
5012 | |
5013 Patch 5.4m.26 | |
5014 Problem: When using a mapping of two function keys, e.g., <F1><F1>, and | |
5015 only the first char of the second key has been read, the mapping | |
5016 would not be recognized. Noticed on some Unix systems with xterm. | |
5017 Solution: Add 'K' flag to 'cpoptions' to wait for the whole key code, even | |
5018 when halfway a mapping. | |
5019 Files: src/option.h, src/term.c | |
5020 | |
5021 Patch 5.4m.27 | |
5022 Problem: When making test33 without the lisp feature it hangs. Interrupting | |
5023 the execution of the script then might cause a crash. | |
5024 Solution: In inchar(), after closing a script, don't use buf[] anymore. | |
5025 closescript() has freed typebuf[] and buf[] might be pointing | |
5026 inside typebuf[]. | |
5027 Avoid that test33 hangs when the lisp feature is missing. | |
5028 Files: src/getchar.c src/testdir/test33.in | |
5029 | |
5030 "os2" was missing from the feature list. Useful for has("os2"). | |
5031 | |
5032 BeOS: | |
5033 - Included patches from Richard Offer for BeOS R4.5. | |
5034 - menu code didn't work right. Crashed in the Buffers menu. The window title | |
5035 wasn't set. (Offer) | |
5036 | |
5037 Patch 5.4n.3 | |
5038 Problem: C-indenting was wrong after " } else". The white space was not | |
5039 skipped. Visible when 'cino' has "+10". | |
5040 Solution: Skip white space before calling cin_iselse(). (Norbert Zeh) | |
5041 Files: src/misc1.c | |
5042 | |
5043 Patch 5.4n.4 | |
5044 Problem: When the 't' flag in 'cpoptions' is included, after a | |
5045 ":nohlsearch" the search highlighting would not be enabled again | |
5046 after a tag search. (Norbert Zeh) | |
5047 Solution: When setting the new search pattern in jumpto_tag(), don't restore | |
5048 no_hlsearch. | |
5049 Files: src/tag.c | |
5050 | |
5051 Patch 5.4n.5 | |
5052 Problem: When using ":normal" from a CursorHold autocommand Vim hangs. The | |
5053 autocommand is executed down from vgetc(). Calling vgetc() | |
5054 recursively to execute the command doesn't work then. | |
5055 Solution: Forbid the use of ":normal" when vgetc_busy is set. Give an error | |
5056 message when this happens. | |
5057 Files: src/ex_docmd.c, runtime/doc/autocmd.txt | |
5058 | |
5059 Patch 5.4n.6 | |
5060 Problem: "gv" could reselect a Visual that starts and/or ends past the end | |
5061 of a line. (Robert Webb) | |
5062 Solution: Check that the start and end of the Visual area are on a valid | |
5063 character by calling adjust_cursor(). | |
5064 Files: src/normal.c | |
5065 | |
5066 Patch 5.4n.8 | |
5067 Problem: When a mark was on a non existing line (e.g., when the .viminfo | |
5068 was edited), jumping to it caused ml_get errors. (Alexey | |
5069 Marinichev). | |
5070 Solution: Added check_cursor_lnum() in nv_gomark(). | |
5071 Files: src/normal.c | |
5072 | |
5073 Patch 5.4n.9 | |
5074 Problem: ":-2" moved the cursor to a negative line number. (Ralf Schandl) | |
5075 Solution: Give an error message for a negative line number. | |
5076 Files: src/ex_docmd.c | |
5077 | |
5078 Patch 5.4n.10 | |
5079 Problem: Win32 GUI: At the hit-enter prompt, it was possible to scroll the | |
5080 text. This erased the prompt and made Vim look like it is in | |
5081 Normal mode, while it is actually still waiting for a <CR>. | |
5082 Solution: Disallow scrolling at the hit-enter prompt for systems that use | |
5083 on the fly scrolling. | |
5084 Files: src/message.c | |
5085 | |
5086 Patch 5.4n.14 | |
5087 Problem: Win32 GUI: When using ":winsize 80 46" and the height is more than | |
5088 what fits on the screen, the window size was made smaller than | |
5089 asked for (that's OK) and Vim crashed (that's not OK)> | |
5090 Solution: Call check_winsize() from gui_set_winsize() to resize the windows. | |
5091 Files: src/gui.c | |
5092 | |
5093 Patch 5.4n.16 | |
5094 Problem: Win32 GUI: The <F10> key both selected the menu and was handled as | |
5095 a key hit. | |
5096 Solution: Apply 'winaltkeys' to <F10>, like it is used for Alt keys. | |
5097 Files: src/gui_w32.c | |
5098 | |
5099 Patch 5.4n.17 | |
5100 Problem: Local buffer variables were freed when the buffer is unloaded. | |
5101 That's not logical, since options are not freed. (Ron Aaron) | |
5102 Solution: Free local buffer variables only when deleting the buffer. | |
5103 Files: src/buffer.c | |
5104 | |
5105 Patch 5.4n.19 | |
5106 Problem: Doing ":e" (without argument) in an option-window causes trouble. | |
5107 The mappings for <CR> and <Space> are not removed. When there is | |
5108 another buffer loaded, the swap file for it gets mixed up. | |
5109 (Steve Mueller) | |
5110 Solution: Also remove the mappings at the BufUnload event, if they are still | |
5111 present. | |
5112 When re-editing the same file causes the current buffer to be | |
5113 deleted, don't try editing it. | |
5114 Also added a test for this situation. | |
5115 Files: runtime/optwin.vim, src/ex_cmds.c, src/testdir/test13.in, | |
5116 src/testdir/test13.ok | |
5117 | |
5118 Patch 5.4n.24 | |
5119 Problem: BeOS: configure never enabled the GUI, because $with_x was "no". | |
5120 Unix prototypes caused problems, because Display and Widget are | |
5121 undefined. | |
5122 Freeing fonts on exit caused a crash. | |
5123 Solution: Only disable the GUI when $with_x is "no" and $BEOS is not "yes". | |
5124 Add dummy defines for Display and Widget in proto.h. | |
5125 Don't free the fonts in gui_exit() for BeOS. | |
5126 Files: src/configure.in, src/configure, src/proto.h, src/gui.c. | |
5127 | |
5128 | |
5129 The runtime/vim48x48.xpm icon didn't have a transparent background. (Schild) | |
5130 | |
5131 Some versions of the mingw32/egcs compiler didn't have WINBASEAPI defined. | |
5132 (Aaron) | |
5133 | |
5134 VMS: | |
5135 - mch_setenv() had two arguments instead of three. | |
5136 - The system vimrc and gvimrc files were called ".vimrc" and ".gvimrc". | |
5137 Removed the dot. | |
5138 - call to RealWaitForChar() had one argument too many. (Campbell) | |
5139 - WaitForChar() is static, removed the prototype from proto/os_vms.pro. | |
5140 - Many file accesses failed, because Unix style file names were used. | |
5141 Translate file names to VMS style by using vim_fopen(). | |
5142 - Filtering didn't work, because the temporary file name was generated wrong. | |
5143 - There was an extra newline every 9192 characters when writing a file. Work | |
5144 around it by writing line by line. (Campbell) | |
5145 - os_vms.c contained "# typedef int DESC". Should be "typedef int DESC;". | |
5146 Only mattered for generating prototypes. | |
5147 - Added file name translation to many places. Made easy by defining macros | |
5148 mch_access(), mch_fopen(), mch_fstat(), mch_lstat() and mch_stat(). | |
5149 - Set default for 'tagbsearch' to off, because binary tag searching apparently | |
5150 doesn't work for VMS. | |
5151 - make mch_get_host_name() work with /dec and /standard=vaxc. (Campbell) | |
5152 | |
5153 | |
5154 Patch 5.4o.2 | |
5155 Problem: Crash when using "gf" on "file.c://comment here". (Scott Graham) | |
5156 Solution: Fix wrong use of pointers in get_file_name_in_path(). | |
5157 Files: src/window.c | |
5158 | |
5159 Patch 5.4o.3 | |
5160 Problem: The horizontal scrollbar was not sized correctly when 'number' is | |
5161 set and 'wrap' not set. | |
5162 Athena: Horizontal scrollbar wasn't updated when the cursor was | |
5163 positioned with a mouse click just after dragging. | |
5164 Solution: Subtract 8 from the size when 'number' set and 'wrap' not set. | |
5165 Reset gui.dragged_sb when a mouse click is received. | |
5166 Files: src/gui.c | |
5167 | |
5168 Patch 5.4o.4 | |
5169 Problem: When running in an xterm and $WINDOWID is set to an illegal value, | |
5170 Vim would exit with "Vim: Got X error". | |
5171 Solution: When using the display which was opened for the xterm clipboard, | |
5172 check if x11_window is valid by trying to obtain the window title. | |
5173 Also add a check in setup_xterm_clip(), for when using X calls to | |
5174 get the pointer position in an xterm. | |
5175 Files: src/os_unix.c | |
5176 | |
5177 Patch 5.4o.5 | |
5178 Problem: Motif version with Lesstif: When removing the menubar and then | |
5179 using a menu shortcut key, Vim would crash. (raf) | |
5180 Solution: Disable the menu mnemonics when the menu bar is removed. | |
5181 Files: src/gui_motif.c | |
5182 | |
5183 Patch 5.4o.9 | |
5184 Problem: The DOS install.exe program used the "move" program. That doesn't | |
5185 work on Windows NT, where "move" is internal to cmd.exe. | |
5186 Solution: Don't use an external program for moving the executables. Use C | |
5187 functions to copy the file and delete the original. | |
5188 Files: src/dosinst.c | |
5189 | |
5190 Motif and Athena obtained the status area height differently from GTK. Moved | |
5191 status_area_enabled from global.h to gui_x11.c and call | |
5192 xim_get_status_area_height() to get the status area height. | |
5193 | |
5194 Patch 5.4p.1 | |
5195 Problem: When using auto-select, and the "gv" command is used, would not | |
5196 always obtain ownership of the selection. Caused by the Visual | |
5197 area still being the same, but ownership taken away by another | |
5198 program. | |
5199 Solution: Reset the clipboard Visual mode to force updating the selection. | |
5200 Files: src/normal.c | |
5201 | |
5202 Patch 5.4p.2 | |
5203 Problem: Motif and Athena with XIM: Typing 3-byte | |
5204 <multibyte><multibyte><space> doesn't work correctly with Ami XIM. | |
5205 Solution: Avoid using key_sym XK_VoidSymbol. (Nam) | |
5206 Files: src/multbyte.c, src/gui_x11.c | |
5207 | |
5208 Patch 5.4p.4 | |
5209 Problem: Win32 GUI: The scrollbar values were reduced for a file with more | |
5210 than 32767 lines. But this info was kept global for all | |
5211 scrollbars, causing a mixup between the windows. | |
5212 Using the down arrow of a scrollbar in a large file didn't work. | |
5213 Because of round-off errors there is no scroll at all. | |
5214 Solution: Give each scrollbar its own scroll_shift field. When the down | |
5215 arrow is used, scroll several lines. | |
5216 Files: src/gui.h, src/gui_w32.c | |
5217 | |
5218 Patch 5.4p.5 | |
5219 Problem: When changing buffers in a BufDelete autocommand, there could be | |
5220 ml_line errors and/or a crash. (Schandl) Was caused by deleting | |
5221 the current buffer. | |
5222 Solution: When the buffer to be deleted unexpectedly becomes the current | |
5223 buffer, don't delete it. | |
5224 Also added a check for this in test13. | |
5225 Files: src/buffer.c, src/testdir/test13.in, src/testdir/test13.ok | |
5226 | |
5227 Patch 5.4p.7 | |
5228 Problem: Win32 GUI: When using 'mousemodel' set to "popup_setpos" and | |
5229 clicking the right mouse button outside of the selected area, the | |
5230 selected area wasn't removed until the popup menu has gone. | |
5231 (Aaron) | |
5232 Solution: Set the cursor and update the display before showing the popup | |
5233 menu. | |
5234 Files: src/normal.c | |
5235 | |
5236 Patch 5.4p.8 | |
5237 Problem: The generated bugreport didn't contain information about | |
5238 $VIMRUNTIME and whether runtime files actually exist. | |
5239 Solution: Added a few checks to the bugreport script. | |
5240 Files: runtime/bugreport.vim | |
5241 | |
5242 Patch 5.4p.9 | |
5243 Problem: The windows install.exe created a wrong entry in the popup menu. | |
5244 The "%1" was "". The full directory was included, even when the | |
5245 executable had been moved elsewhere. (Ott) | |
5246 Solution: Double the '%' to get one from printf. Only include the path to | |
5247 gvim.exe when it wasn't moved and it's not in $PATH. | |
5248 Files: src/dosinst.c | |
5249 | |
5250 Patch 5.4p.10 | |
5251 Problem: Win32: On top of 5.4p.9: The "Edit with Vim" entry sometimes used | |
5252 a short file name for a directory. | |
5253 Solution: Change the "%1" to "%L" in the registry entry. | |
5254 Files: src/dosinst.c | |
5255 | |
5256 Patch 5.4p.11 | |
5257 Problem: Motif, Athena and GTK: When closing the GUI window when there is a | |
5258 changed buffer, there was only an error message and Vim would not | |
5259 exit. | |
5260 Solution: Put up a dialog, like for ":confirm qa". Uses the code that was | |
5261 already used for MS-Windows. | |
5262 Files: src/gui.c, src/gui_w32.c | |
5263 | |
5264 Patch 5.4p.12 | |
5265 Problem: Win32: Trying to expand a string that is longer than 256 | |
5266 characters could cause a crash. (Steed) | |
5267 Solution: For the buffer in win32_expandpath() don't use a fixed size array, | |
5268 allocate it. | |
5269 Files: src/os_win32.c | |
5270 | |
5271 MSDOS: Added "-Wall" to Makefile.djg compile flags. Function prototypes for | |
5272 fname_case() and mch_update_cursor() were missing. "fd" was unused in | |
5273 mf_sync(). "puiLocation" was unused in myputch(). "newcmd" unused in | |
5274 mch_call_shell() for DJGPP version. | |
5275 | |
5276 ============================================================================== | |
5277 VERSION 5.5 *version-5.5* | |
5278 | |
5279 Version 5.5 is a bug-fix version of 5.4. | |
5280 | |
5281 | |
5282 Changed *changed-5.5* | |
5283 ------- | |
5284 | |
5285 The DJGPP version is now compiled with "-O2" instead of "-O4" to reduce the | |
5286 size of the executables. | |
5287 | |
5288 Moved the src/STYLE file to runtime/doc/develop.txt. Added the design goals | |
5289 to it. | |
5290 | |
5291 'backspace' is now a string option. See patch 5.4.15. | |
5292 | |
5293 | |
5294 Added *added-5.5* | |
5295 ----- | |
5296 | |
5297 Included Exuberant Ctags version 3.3. (Darren Hiebert) | |
5298 | |
5299 In runtime/mswin.vim, map CTRL-Q to CTRL-V, so that CTRL-Q can be used | |
5300 everywhere to do what CTRL-V used to do. | |
5301 | |
5302 Support for decompression of bzip2 files in vimrc_example.vim. | |
5303 | |
5304 When a patch is included, the patch number is entered in a table in version.c. | |
5305 This allows skipping a patch without breaking a next one. | |
5306 | |
5307 Support for mouse scroll wheel in X11. See patch 5.5a.14. | |
5308 | |
5309 line2byte() can be used to get the size of the buffer. See patch 5.4.35. | |
5310 | |
5311 The CTRL-R CTRL-O r and CTRL-R CTRL-P r commands in Insert mode are used to | |
5312 insert a register literally. See patch 5.4.48. | |
5313 | |
5314 Uninstall program for MS-Windows. To be able to remove the registry entries | |
5315 for "Edit with Vim". It is registered to be run from the "Add/Remove | |
5316 programs" application. See patch 5.4.x7. | |
5317 | |
5318 | |
5319 Fixed *fixed-5.5* | |
5320 ----- | |
5321 | |
5322 When using vimrc_example.vim: An error message when the cursor is on a line | |
5323 higher than the number of lines in the compressed file. Move the autocommand | |
5324 for jumping to the last known cursor position to after the decompressing | |
5325 autocommands. | |
5326 | |
5327 ":mkexrc" and ":mksession" wrote the current value of 'textmode'. That may | |
5328 mark a file as modified, which causes problems. This is a buffer-specific | |
5329 setting, it should not affect all files. | |
5330 | |
5331 "vim --version" wrote two empty lines. | |
5332 | |
5333 Unix: The alarm signal could kill Vim. It is generated by the Perl alarm() | |
5334 function. Ignore SIGALRM. | |
5335 | |
5336 Win32 GUI: Toolbar still had the yellow bitmap for running a Vim script. | |
5337 | |
5338 BeOS: "tmo" must be bigtime_t, instead of double. (Seibert) | |
5339 | |
5340 Patch 5.4.1 | |
5341 Problem: Test11 fails when $GZIP is set to "-v". (Matthew Jackson) | |
5342 Solution: Set $GZIP to an empty string. | |
5343 Files: src/testdir/test11.in | |
5344 | |
5345 Patch 5.4.2 | |
5346 Problem: Typing <Esc> at the crypt key prompt caused a crash. (Kallingal) | |
5347 Solution: Check for a NULL pointer returned from get_crypt_key(). | |
5348 Files: src/fileio.c | |
5349 | |
5350 Patch 5.4.3 | |
5351 Problem: Python: Trying to use the name of an unnamed buffer caused a | |
5352 crash. (Daniel Burrows) | |
5353 Solution: Check for b_fname being a NULL pointer. | |
5354 Files: src/if_python.c | |
5355 | |
5356 Patch 5.4.4 | |
5357 Problem: Win32: When compiled without toolbar, but the 'T' flag is in | |
5358 'guioptions', there would be an empty space for the toolbar. | |
5359 Solution: Add two #ifdefs where checking for the 'T' flag. (Vince Negri) | |
5360 Files: src/gui.c | |
5361 | |
5362 Patch 5.4.5 | |
5363 Problem: Athena GUI: Using the Buffers.Refresh menu entry caused a crash. | |
5364 Looks like any ":unmenu" command may cause trouble. | |
5365 Solution: Disallow ":unmenu" in the Athena version. Disable the Buffers | |
5366 menu, because the Refresh item would not work. | |
5367 Files: src/menu.c, runtime/menu.vim | |
5368 | |
5369 Patch 5.4.6 | |
5370 Problem: GTK GUI: Using ":gui" in the .gvimrc file caused an error. Only | |
5371 happens when the GUI forks. | |
5372 Solution: Don't fork in a recursive call of gui_start(). | |
5373 Files: src/gui.c | |
5374 | |
5375 Patch 5.4.7 | |
5376 Problem: Typing 'q' at the more prompt for the ATTENTION message causes the | |
5377 file loading to be interrupted. (Will Day) | |
5378 Solution: Reset got_int after showing the ATTENTION message. | |
5379 Files: src/memline.c | |
5380 | |
5381 Patch 5.4.8 | |
5382 Problem: Edit some file, ":he", ":opt": options from help window are shown, | |
5383 but pressing space updates from the other window. (Phillipps) | |
5384 Also: When there are changes in the option-window, ":q!" gives an | |
5385 error message. | |
5386 Solution: Before creating the option-window, go to a non-help window. | |
5387 Use ":bdel!" to delete the buffer. | |
5388 Files: runtime/optwin.vim | |
5389 | |
5390 Patch 5.4.9 | |
5391 Just updates version.h. The real patch has been moved to 5.4.x1. | |
5392 This patch is just to keep the version number correct. | |
5393 | |
5394 Patch 5.4.10 | |
5395 Problem: GTK GUI: When $DISPLAY is invalid, "gvim -f" just exits. It | |
5396 should run in the terminal. | |
5397 Solution: Use gtk_init_check() instead of gtk_init(). | |
5398 Files: src/gui_gtk_x11.c | |
5399 | |
5400 Patch 5.4.11 | |
5401 Problem: When using the 'S' flag in 'cpoptions', 'tabstop' is not copied to | |
5402 the next buffer for some commands, e.g., ":buffer". | |
5403 Solution: When the BCO_NOHELP flag is given to buf_copy_options(), still | |
5404 copy the options used by do_help() when neither the "from" or "to" | |
5405 buffer is a help buffer. | |
5406 Files: src/option.c | |
5407 | |
5408 Patch 5.4.12 | |
5409 Problem: When using 'smartindent', there would be no extra indent if the | |
5410 current line did not have any indent already. (Hanus Adler) | |
5411 Solution: There was a wrongly placed "else", that previously matched with | |
5412 the "if" that set trunc_line. Removed the "else" and added a | |
5413 check for trunc_line to be false. | |
5414 Files: src/misc1.c | |
5415 | |
5416 Patch 5.4.13 | |
5417 Problem: New SGI C compilers need another option for optimisation. | |
5418 Solution: Add a check in configure for "-OPT:Olimit". (Chin A Young) | |
5419 Files: src/configure.in, src/configure | |
5420 | |
5421 Patch 5.4.14 | |
5422 Problem: Motif GUI: When the popup menu is present, a tiny window appears | |
5423 on the desktop for some users. | |
5424 Solution: Set the menu widget ID for a popup menu to 0. (Thomas Koehler) | |
5425 Files: src/gui_motif.c | |
5426 | |
5427 Patch 5.4.15 | |
5428 Problem: Since 'backspace' set to 0 has been made Vi compatible, it is no | |
5429 longer possible to only allow deleting autoindent. | |
5430 Solution: Make 'backspace' a list of parts, to allow each kind of | |
5431 backspacing separately. | |
5432 Files: src/edit.c, src/option.c, src/option.h, src/proto/option.pro, | |
5433 runtime/doc/option.txt, runtime/doc/insert.txt | |
5434 | |
5435 Patch 5.4.16 | |
5436 Problem: Multibyte: Locale zh_TW.Big5 was not checked for in configure. | |
5437 Solution: Add zh_TW.Big5 to configure check. (Chih-Tsun Huang) | |
5438 Files: src/configure.in, src/configure | |
5439 | |
5440 Patch 5.4.17 | |
5441 Problem: GUI: When started from inside gvim with ":!gvim", Vim would not | |
5442 start. ":!gvim -f" works fine. | |
5443 Solution: After forking, wait a moment in the parent process, to give the | |
5444 child a chance to set its process group. | |
5445 Files: src/gui.c | |
5446 | |
5447 Patch 5.4.18 | |
5448 Problem: Python: The clear_history() function also exists in a library. | |
5449 Solution: Rename clear_history() to clear_hist(). | |
5450 Files: src/ex_getln.c, src/eval.c, src/proto/ex_getln.pro | |
5451 | |
5452 Patch 5.4.19 | |
5453 Problem: In a terminal with 25 lines, there is a more prompt after the | |
5454 ATTENTION message. When hitting 'q' here the dialog prompt | |
5455 doesn't appear and file loading is interrupted. (Will Day) | |
5456 Solution: Don't allow quitting the printing of a message for the dialog | |
5457 prompt. Added the msg_noquit_more flag for this. | |
5458 Files: src/message.c | |
5459 | |
5460 Patch 5.4.20 | |
5461 Problem: GTK: When starting gvim, would send escape sequences to the | |
5462 terminal to switch the cursor off and on. | |
5463 Solution: Don't call msg_start() if the GUI is expected to start. | |
5464 Files: src/main.c | |
5465 | |
5466 Patch 5.4.21 | |
5467 Problem: Motif: Toplevel menu ordering was wrong when using tear-off items. | |
5468 Solution: Don't add one to the index for a toplevel menu. | |
5469 Files: src/gui_motif.c | |
5470 | |
5471 Patch 5.4.22 | |
5472 Problem: In Insert mode, <C-Left>, <S-Left>, <C-Right> and <S-Right> didn't | |
5473 update the column used for vertical movement. | |
5474 Solution: Set curwin->w_set_curswant for those commands. | |
5475 Files: src/edit.c | |
5476 | |
5477 Patch 5.4.23 | |
5478 Problem: When a Visual selection is lost to another program, and then the | |
5479 same text is Visually selected again, the clipboard ownership | |
5480 wasn't regained. | |
5481 Solution: Set clipboard.vmode to NUL to force regaining the clipboard. | |
5482 Files: src/normal.c | |
5483 | |
5484 Patch 5.4.24 | |
5485 Problem: Encryption: When using ":r file" while 'key' has already entered, | |
5486 the 'key' option would be messed up. When writing the file it | |
5487 would be encrypted with an unknown key and lost! (Brad Despres) | |
5488 Solution: Don't free cryptkey when it is equal to the 'key' option. | |
5489 Files: src/fileio.c | |
5490 | |
5491 Patch 5.4.25 | |
5492 Problem: When 'cindent' is set, but 'autoindent' isn't, comments are not | |
5493 properly indented when starting a new line. (Mitterand) | |
5494 Solution: When there is a comment leader for the new line, but 'autoindent' | |
5495 isn't set, do C-indenting. | |
5496 Files: src/misc1.c | |
5497 | |
5498 Patch 5.4.26 | |
5499 Problem: Multi-byte: a multi-byte character is never recognized in a file | |
5500 name, causing a backslash before it to be removed on Windows. | |
5501 Solution: Assume that a leading-byte character is a file name character in | |
5502 vim_isfilec(). | |
5503 Files: src/charset.c | |
5504 | |
5505 Patch 5.4.27 | |
5506 Problem: Entries in the PopUp[nvic] menus were added for several modes, but | |
5507 only deleted for the mode they were used for. This resulted in | |
5508 the entry remaining in the PopUp menu. | |
5509 When removing a PopUp[nvic] menu, the name had been truncated, | |
5510 could result in greying-out the whole PopUp menu. | |
5511 Solution: Remove entries for all modes from the PopUp[nvic] menus. Remove | |
5512 the PopUp[nvic] menu entries first, before the name is changed. | |
5513 Files: src/menu.c | |
5514 | |
5515 Patch 5.4.28 | |
5516 Problem: When using a BufWritePre autocommand to change 'fileformat', the | |
5517 new value would not be used for writing the file. | |
5518 Solution: Check 'fileformat' after executing the autocommands instead of | |
5519 before. | |
5520 Files: src/fileio.c | |
5521 | |
5522 Patch 5.4.29 | |
5523 Problem: Athena GUI: When removing the 'g' flag from 'guioptions', using a | |
5524 menu can result in a crash. | |
5525 Solution: Always grey-out menus for Athena, don't hide them. | |
5526 Files: src/menu.c | |
5527 | |
5528 Patch 5.4.30 | |
5529 Problem: BeOS: Suspending Vim with CTRL-Z didn't work (killed Vim). The | |
5530 first character typed after ":sh" goes to Vim, instead of the | |
5531 started shell. | |
5532 Solution: Don't suspend Vim, start a new shell. Kill the async read thread | |
5533 when starting a new shell. It will be restarted later. (Will Day) | |
5534 Files: src/os_unix.c, src/ui.c | |
5535 | |
5536 Patch 5.4.31 | |
5537 Problem: GUI: When 'mousefocus' is set, moving the mouse over where a | |
5538 window boundary was, causes a hit-enter prompt to be finished. | |
5539 (Jeff Walker) | |
5540 Solution: Don't use 'mousefocus' at the hit-enter prompt. Also ignore it | |
5541 for the more prompt and a few other situations. When an operator | |
5542 is pending, abort it first. | |
5543 Files: src/gui.c | |
5544 | |
5545 Patch 5.4.32 | |
5546 Problem: Unix: $LDFLAGS was not passed to configure. | |
5547 Solution: Pass $LDFLAGS to configure just like $CFLAGS. (Jon Miner) | |
5548 Files: src/Makefile | |
5549 | |
5550 Patch 5.4.33 | |
5551 Problem: Unix: After expanding an environment variable with the shell, the | |
5552 next expansion would also use the shell, even though it is not | |
5553 needed. | |
5554 Solution: Reset "recursive" before returning from gen_expand_wildcards(). | |
5555 Files: src/misc1.c | |
5556 | |
5557 Patch 5.4.34 (also see 5.4.x5) | |
5558 Problem: When editing a file, and the file name is relative to a directory | |
5559 above the current directory, the file name was made absolute. | |
5560 (Gregory Margo) | |
5561 Solution: Add an argument to shorten_fnames() which indicates if all file | |
5562 names should be shortened, or only absolute names. In main() only | |
5563 use shorten_fnames() to shorten absolute names. | |
5564 Files: src/ex_docmd.c, src/fileio.c, src/main.c, src/proto/fileio.pro | |
5565 | |
5566 Patch 5.4.35 | |
5567 Problem: There is no function to get the current file size. | |
5568 Solution: Allow using line2byte() with the number of lines in the file plus | |
5569 one. This returns the offset of the line past the end of the | |
5570 file, which is the file size plus one. | |
5571 Files: src/eval.c, runtime/doc/eval.txt | |
5572 | |
5573 Patch 5.4.36 | |
5574 Problem: Comparing strings while ignoring case didn't work correctly for | |
5575 some machines. (Mide Steed) | |
5576 Solution: vim_stricmp() and vim_strnicmp() only returned 0 or 1. Changed | |
5577 them to return -1 when the first argument is smaller. | |
5578 Files: src/misc2.c | |
5579 | |
5580 Patch 5.4.37 (also see 5.4.40 and 5.4.43) | |
5581 Problem: Long strings from the viminfo file are truncated. | |
5582 Solution: When writing a long string to the viminfo file, first write a line | |
5583 with the length, then the string itself in a second line. | |
5584 Files: src/eval.c, src/ex_cmds.c, src/ex_getln.c, src/mark.c, src/ops.c, | |
5585 src/search.c, src/proto/ex_cmds.pro, runtime/syntax/viminfo.vim | |
5586 | |
5587 Patch 5.4.38 | |
5588 Problem: In the option-window, ":set go&" resulted in 'go' being handled | |
5589 like a boolean option. | |
5590 Mappings for <Space> and <CR> were overruled by the option-window. | |
5591 Solution: When the value of an option isn't 0 or 1, don't handle it like a | |
5592 boolean option. | |
5593 Save and restore mappings for <Space> and <CR> when entering and | |
5594 leaving the option-window. | |
5595 Files: runtime/optwin.vim | |
5596 | |
5597 Patch 5.4.39 | |
5598 Problem: When setting a hidden option, spaces before the equal sign were | |
5599 not skipped and cause an error message. E.g., ":set csprg =cmd". | |
5600 Solution: When skipping over a hidden option, check for a following "=val" | |
5601 and skip it too. | |
5602 Files: src/option.c | |
5603 | |
5604 Patch 5.4.40 (depends on 5.4.37) | |
5605 Problem: Compiler error for "atol(p + 1)". (Axel Kielhorn) | |
5606 Solution: Add a typecast: "atol((char *)p + 1)". | |
5607 Files: src/ex_cmds.c | |
5608 | |
5609 Patch 5.4.41 | |
5610 Problem: Some commands that were not included would give an error message, | |
5611 even when after "if 0". | |
5612 Solution: Don't give an error message for an unsupported command when not | |
5613 executing the command. | |
5614 Files: src/ex_docmd.c | |
5615 | |
5616 Patch 5.4.42 | |
5617 Problem: ":w" would also cause a truncated message to appear in the message | |
5618 history. | |
5619 Solution: Don't put a kept message in the message history when it starts | |
5620 with "<". | |
5621 Files: src/message.c | |
5622 | |
5623 Patch 5.4.43 (depends on 5.4.37) | |
5624 Problem: Mixing long lines with multiple lines in a register causes errors | |
5625 when writing the viminfo file. (Robinson) | |
5626 Solution: When reading the viminfo file to skip register contents, skip | |
5627 lines that start with "<". | |
5628 Files: src/ops.c | |
5629 | |
5630 Patch 5.4.44 | |
5631 Problem: When 'whichwrap' includes '~', a "~" command that goes on to the | |
5632 next line cannot be properly undone. (Zellner) | |
5633 Solution: Save each line for undo in n_swapchar(). | |
5634 Files: src/normal.c | |
5635 | |
5636 Patch 5.4.45 (also see 5.4.x8) | |
5637 Problem: When expand("$ASDF") fails, there is an error message. | |
5638 Solution: Remove the global expand_interactively. Pass a flag down to skip | |
5639 the error message. | |
5640 Also: expand("$ASDF") returns an empty string if $ASDF isn't set. | |
5641 Previously it returned "$ASDF" when 'shell' is "sh". | |
5642 Also: system() doesn't print an error when the command returns an | |
5643 error code. | |
5644 Files: many | |
5645 | |
5646 Patch 5.4.46 | |
5647 Problem: Backspacing did not always use 'softtabstop' after hitting <CR>, | |
5648 inserting a register, moving the cursor, etc. | |
5649 Solution: Reset inserted_space much more often in edit(). | |
5650 Files: src/edit.c | |
5651 | |
5652 Patch 5.4.47 | |
5653 Problem: When executing BufWritePre or BufWritePost autocommands for a | |
5654 hidden buffer, the cursor could be moved to a non-existing | |
5655 position. (Vince Negri) | |
5656 Solution: Save and restore the cursor and topline for the current window | |
5657 when it is going to be used to execute autocommands for a hidden | |
5658 buffer. Use an existing window for the buffer when it's not | |
5659 hidden. | |
5660 Files: src/fileio.c | |
5661 | |
5662 Patch 5.4.48 | |
5663 Problem: A paste with the mouse in Insert mode was not repeated exactly the | |
5664 same with ".". For example, when 'autoindent' is set and pasting | |
5665 text with leading indent. (Perry) | |
5666 Solution: Add the CTRL-R CTRL-O r and CTRL-R CTRL-P r commands in Insert | |
5667 mode, which insert the contents of a register literally. | |
5668 Files: src/edit.c, src/normal.c, runtime/doc/insert.txt | |
5669 | |
5670 Patch 5.4.49 | |
5671 Problem: When pasting text with [ <MiddleMouse>, the cursor could end up | |
5672 after the last character of the line. | |
5673 Solution: Correct the cursor position for the change in indent. | |
5674 Files: src/ops.c | |
5675 | |
5676 Patch 5.4.x1 (note: Replaces patch 5.4.9) | |
5677 Problem: Win32 GUI: menu hints were never used, because WANT_MENU is not | |
5678 defined until vim.h is included. | |
5679 Solution: Move the #ifdef WANT_MENU from where MENUHINTS is defined to where | |
5680 it is used. | |
5681 Files: src/gui_w32.c | |
5682 | |
5683 Patch 5.4.x2 | |
5684 Problem: BeOS: When pasting text, one character was moved to the end. | |
5685 Solution: Re-enable the BeOS code in fill_input_buf(), and fix timing out | |
5686 with acquire_sem_etc(). (Will Day) | |
5687 Files: src/os_beos.c, src/ui.c | |
5688 | |
5689 Patch 5.4.x3 | |
5690 Problem: Win32 GUI: When dropping a directory on a running gvim it crashes. | |
5691 Solution: Avoid using a NULL file name. Also display a message to indicate | |
5692 that the current directory was changed. | |
5693 Files: src/gui_w32.c | |
5694 | |
5695 Patch 5.4.x4 | |
5696 Problem: Win32 GUI: Removing an item from the popup menu doesn't work. | |
5697 Solution: Don't remove the item from the menubar, but from the parent popup | |
5698 menu. | |
5699 Files: src/gui_w32.c | |
5700 | |
5701 Patch 5.4.x5 (addition to 5.4.34) | |
5702 Files: src/gui_w32.c | |
5703 | |
5704 Patch 5.4.x6 | |
5705 Problem: Win32: Expanding (dir)name starting with a dot doesn't work. | |
5706 (McCormack) Only when there is a path before it. | |
5707 Solution: Fix the check, done before expansion, if the file name pattern | |
5708 starts with a dot. | |
5709 Files: src/os_win32.c | |
5710 | |
5711 Patch 5.4.x7 | |
5712 Problem: Win32 GUI: Removing "Edit with Vim" from registry is difficult. | |
5713 Solution: Add uninstall program to remove the registry keys. It is installed | |
5714 in the "Add/Remove programs" list for ease of use. | |
5715 Also: don't set $VIM when the executable is with the runtime files. | |
5716 Also: Add a text file with a step-by-step description of how to | |
5717 uninstall Vim for DOS and Windows. | |
5718 Files: src/uninstal.c, src/dosinst.c, src/Makefile.w32, uninstal.txt | |
5719 | |
5720 Patch 5.4.x8 (addition to 5.4.45) | |
5721 Files: many | |
5722 | |
5723 Patch 5.4.x9 | |
5724 Problem: Win32 GUI: After executing an external command, focus is not | |
5725 always regained (when using focus-follows-mouse). | |
5726 Solution: Add SetFocus() in mch_system(). (Mike Steed) | |
5727 Files: src/os_win32.c | |
5728 | |
5729 | |
5730 Patch 5.5a.1 | |
5731 Problem: ":let @* = @:" did not work. The text was not put on the | |
5732 I clipboard. (Fisher) | |
5733 Solution: Own the clipboard and put the text on it. | |
5734 Files: src/ops.c | |
5735 | |
5736 Patch 5.5a.2 | |
5737 Problem: append() did not mark the buffer modified. Marks below the | |
5738 new line were not adjusted. | |
5739 Solution: Fix the f_append() function. | |
5740 Files: src/eval.c | |
5741 | |
5742 Patch 5.5a.3 | |
5743 Problem: Editing compressed ".gz" files doesn't work on non-Unix systems, | |
5744 because there is no "mv" command. | |
5745 Solution: Add the rename() function and use it instead of ":!mv". | |
5746 Also: Disable the automatic jump to the last position, because it | |
5747 changes the jumplist. | |
5748 Files: src/eval.c, runtime/doc/eval.txt, runtime/vimrc_example.vim | |
5749 | |
5750 Patch 5.5a.4 | |
5751 Problem: When using whole-line completion in insert mode while the cursor | |
5752 is in the indent, get "out of memory" error. (Stekrt) | |
5753 Solution: Don't allocate a negative amount of memory in ins_complete(). | |
5754 Files: src/edit.c | |
5755 | |
5756 Patch 5.5a.5 | |
5757 Problem: Win32: The 'path' option can hold only up to 256 characters, | |
5758 because _MAX_PATH is 256. (Robert Webb) | |
5759 Solution: Use a fixed path length of 1024. | |
5760 Files: src/os_win32.h | |
5761 | |
5762 Patch 5.5a.6 | |
5763 Problem: Compiling with gcc on Win32, using the Unix Makefile, didn't work. | |
5764 Solution: Add $(SUFFIX) to all places where an executable is used. Also | |
5765 pass it to ctags. (Reynolds) | |
5766 Files: src/Makefile | |
5767 | |
5768 Patch 5.5a.7 | |
5769 Problem: When using "cat | vim -" in an xterm, the xterm version reply | |
5770 would end up in the file. | |
5771 Solution: Read the file from stdin before switching the terminal to RAW | |
5772 mode. Should also avoid problems with programs that use a | |
5773 specific terminal setting. | |
5774 Also: when using the GUI, print "Reading from stdin..." in the GUI | |
5775 window, to give a hint why it doesn't do anything. | |
5776 Files: src/main.c, src/fileio.c | |
5777 | |
5778 Patch 5.5a.8 | |
5779 Problem: On multi-threaded Solaris, suspending doesn't work. | |
5780 Solution: Call pause() when the SIGCONT signal was not received after | |
5781 sending the SIGTSTP signal. (Nagano) | |
5782 Files: src/os_unix.c | |
5783 | |
5784 Patch 5.5a.9 | |
5785 Problem: 'winaltkeys' could be set to an empty argument, which is illegal. | |
5786 Solution: Give an error message when doing ":set winaltkeys=". | |
5787 Files: src/option.c | |
5788 | |
5789 Patch 5.5a.10 | |
5790 Problem: Win32 console: Using ALTGR on a German keyboard to produce "}" | |
5791 doesn't work, because the 8th bit is set when ALT is pressed. | |
5792 Solution: Don't set the 8th bit when ALT and CTRL are used. (Leipert) | |
5793 Files: src/os_win32.c | |
5794 | |
5795 Patch 5.5a.11 | |
5796 Problem: Tcl: Configure always uses tclsh8.0. | |
5797 Also: Loading a library doesn't work. | |
5798 Solution: Add "--with-tclsh" configure argument to allow specifying another | |
5799 name for the tcl shell. | |
5800 Call Tcl_Init() in tclinit() to make loading libraries work. | |
5801 (Johannes Zellner) | |
5802 Files: src/configure.in, src/configure, src/if_tcl.c | |
5803 | |
5804 Patch 5.5a.12 | |
5805 Problem: The "user_commands" feature is called "user-commands". | |
5806 Solution: Replace "user-commands" with "user_commands". (Kim Sung-bom) | |
5807 Keep "user-commands" for the has() function, to remain backwards | |
5808 compatible with 5.4. | |
5809 Files: src/eval.c, src/version.c | |
5810 | |
5811 Patch 5.5a.13 | |
5812 Problem: OS/2: When $HOME is not defined, "C:/" is used for the viminfo | |
5813 file. That is very wrong when OS/2 is on another partition. | |
5814 Solution: Use $VIM for the viminfo file when it is defined, like for MSDOS. | |
5815 Also: Makefile.os2 didn't depend on os_unix.h. | |
5816 Files: src/os_unix.h, src/Makefile.os2 | |
5817 | |
5818 Patch 5.5a.14 | |
5819 Problem: Athena, Motif and GTK: The Mouse scroll wheel doesn't work. | |
5820 Solution: Interpret a click of the wheel as a key press of the <MouseDown> | |
5821 or <MouseUp> keys. Default behavior is to scroll three lines, or | |
5822 a full page when Shift is used. | |
5823 Files: src/edit.c, src/ex_getln.c, src/gui.c, src/gui_gtk_x11.c, | |
5824 src/gui_x11.c, src/keymap.h, src/message.c, src/misc1.c, | |
5825 src/misc2.c, src/normal.c, src/proto/normal.pro, src/vim.h, | |
5826 runtime/doc/scroll.txt | |
5827 | |
5828 Patch 5.5a.15 | |
5829 Problem: Using CTRL-A in Insert mode doesn't work correctly when the insert | |
5830 started with the <Insert> key. (Andreas Rohrschneider) | |
5831 Solution: Replace <Insert> with "i" before setting up the redo buffer. | |
5832 Files: src/normal.c | |
5833 | |
5834 Patch 5.5a.16 | |
5835 Problem: VMS: GUI does not compile and run. | |
5836 Solution: Various fixes. (Zoltan Arpadffy) | |
5837 Moved functions from os_unix.c to ui.c, so that VMS can use them | |
5838 too: open_app_context(), x11_setup_atoms() and clip_x11* functions. | |
5839 Made xterm_dpy global, it's now used by ui.c and os_unix.c. | |
5840 Use gethostname() always, sys_hostname doesn't exist. | |
5841 Files: src/globals.h, src/gui_x11.c, src/os_vms.mms, src/os_unix.c, | |
5842 src/os_vms.c, src/ui.c, src/proto/os_unix.pro, src/proto/ui.pro | |
5843 | |
5844 Renamed AdjustCursorForMultiByteCharacter() to AdjustCursorForMultiByteChar() | |
5845 to avoid symbol length limit of 31 characters. (Steve P. Wall) | |
5846 | |
5847 Patch 5.5b.1 | |
5848 Problem: SASC complains about dead assignments and implicit type casts. | |
5849 Solution: Removed the dead assignments. Added explicit type casts. | |
5850 Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds.c, | |
5851 src/ex_getln.c, src/fileio.c, src/getchar.c, src/memline.c, | |
5852 src/menu.c, src/misc1.c, src/normal.c, src/ops.c, src/quickfix.c, | |
5853 src/screen.c | |
5854 | |
5855 Patch 5.5b.2 | |
5856 Problem: When using "CTRL-O O" in Insert mode, hit <Esc> and then "o" in | |
5857 another line truncates that line. (Devin Weaver) | |
5858 Solution: When using a command that starts Insert mode from CTRL-O, reset | |
5859 "restart_edit" first. This avoids that edit() is called with a | |
5860 mix of starting a new edit command and restarting a previous one. | |
5861 Files: src/normal.c | |
5862 | |
5863 ============================================================================== | |
5864 VERSION 5.6 *version-5.6* | |
5865 | |
5866 Version 5.6 is a bug-fix version of 5.5. | |
5867 | |
5868 | |
5869 Changed *changed-5.6* | |
5870 ------- | |
5871 | |
5872 Small changes to OleVim files. (Christian Schaller) | |
5873 | |
5874 Inserted "/**/" between patch numbers in src/version.c. This allows for one | |
5875 line of context, which some versions of patch need. | |
5876 | |
5877 Reordered the Syntax menu to avoid long submenus. Removed keyboard shortcuts | |
5878 for alphabetical items to avoid a clash with fixed items. | |
5879 | |
5880 | |
5881 Added *added-5.6* | |
5882 ----- | |
5883 | |
5884 Included Exuberant Ctags version 3.4. (Darren Hiebert) | |
5885 | |
5886 OpenWithVim in Python. (Christian Schaller) | |
5887 | |
5888 Win32 GUI: gvimext.dll, for the context menu "Edit with Vim" entry. Avoids | |
5889 the reported problems with the MS Office taskbar. Now it's a Shell Extension. | |
5890 (Tianmiao Hu) | |
5891 | |
5892 New syntax files: | |
5893 abel Abel (John Cook) | |
5894 aml Arc Macro Language (Nikki Knuit) | |
5895 apachestyle Apache-style config file (Christian Hammers) | |
5896 cf Cold Fusion (Jeff Lanzarotta) | |
5897 ctrlh files with CTRL-H sequences (Bram Moolenaar) | |
5898 cupl CUPL (John Cook) | |
5899 cuplsim CUPL simulation (John Cook) | |
5900 erlang Erlang (Kresimir Marzic) | |
5901 gedcom Gedcom (Paul Johnson) | |
5902 icon Icon (Wendell Turner) | |
5903 ist MakeIndex style (Peter Meszaros) | |
5904 jsp Java Server Pages (Rafael Garcia-Suarez) | |
5905 rcslog Rcslog (Joe Karthauser) | |
5906 remind Remind (Davide Alberani) | |
5907 sqr Structured Query Report Writer (Paul Moore) | |
5908 tads TADS (Amir Karger) | |
5909 texinfo Texinfo (Sandor Kopanyi) | |
5910 xpm2 X Pixmap v2 (Steve Wall) | |
5911 | |
5912 The 'C' flag in 'cpoptions' can be used to switch off concatenation for | |
5913 sourced lines. See patch 5.5.013 below. |line-continuation| | |
5914 | |
5915 "excludenl" argument for the ":syntax" command. See patch 5.5.032 below. | |
5916 |:syn-excludenl| | |
5917 | |
5918 Implemented |z+| and |z^| commands. See patch 5.5.050 below. | |
5919 | |
5920 Vim logo in Corel Draw format. Can be scaled to any resolution. | |
5921 | |
5922 | |
5923 Fixed *fixed-5.6* | |
5924 ----- | |
5925 | |
5926 Using this mapping in Select mode, terminated completion: | |
5927 ":vnoremap <C-N> <Esc>a<C-N>" (Benji Fisher) | |
5928 Ignore K_SELECT in ins_compl_prep(). | |
5929 | |
5930 VMS (Zoltan Arpadffy, David Elins): | |
5931 - ioctl() in pty.c caused trouble, #ifndef VMS added. | |
5932 - Cut & paste mismatch corrected. | |
5933 - Popup menu line crash corrected. (Patch 5.5.047) | |
5934 - Motif directories during open and save as corrected. | |
5935 - Handle full file names with version numbers. (Patch 5.5.046) | |
5936 - Directory handling (CD command etc.) | |
5937 - Corrected file name conversion VMS to Unix and v.v. | |
5938 - Recovery was not working. | |
5939 - Terminal and signal handling was outdated compared to os_unix.c. | |
5940 - Improved os_vms.txt. | |
5941 | |
5942 Configure used fprintf() instead of printf() to check for __DATE__ and | |
5943 __TIME__. (John Card II) | |
5944 | |
5945 BeOS: Adjust computing the char_height and char_ascent. Round them up | |
5946 separately, avoids redrawing artifacts. (Mike Steed) | |
5947 | |
5948 Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and | |
5949 findmatchlimit(). (Taro Muraoka) | |
5950 | |
5951 GTK GUI: | |
5952 - With GTK 1.2.5 and later the scrollbars were not redrawn correctly. | |
5953 - Adjusted the gtk_form_draw() function. | |
5954 - SNiFF connection didn't work. | |
5955 - 'mousefocus' was not working. (Dalecki) | |
5956 - Some keys were not working with modifiers: Shift-Tab, Ctrl-Space and CTRL-@. | |
5957 | |
5958 | |
5959 Patch 5.5.001 | |
5960 Problem: Configure in the top directory did not pass on an argument with a | |
5961 space correctly. For example "./configure --previs="/My home". | |
5962 (Stephane Chazelas) | |
5963 Solution: Use '"$@"' instead of '$*' to pass on the arguments. | |
5964 Files: configure | |
5965 | |
5966 Patch 5.5.002 | |
5967 Problem: Compilation error for using "fds[] & POLLIN". (Jeff Walker) | |
5968 Solution: Use "fds[].revents & POLLIN". | |
5969 Files: src/os_unix.c | |
5970 | |
5971 Patch 5.5.003 | |
5972 Problem: The autoconf check for sizeof(int) is wrong on machines where | |
5973 sizeof(size_t) != sizeof(int). | |
5974 Solution: Use our own configure check. Also fixes the warning for | |
5975 cross-compiling. | |
5976 Files: src/configure.in, src/configure | |
5977 | |
5978 Patch 5.5.004 | |
5979 Problem: On Unix it's not possible to interrupt ":sleep 100". | |
5980 Solution: Switch terminal to cooked mode while asleep, to allow a SIGINT to | |
5981 wake us up. But switch off echo, added TMODE_SLEEP. | |
5982 Files: src/term.h, src/os_unix.c | |
5983 | |
5984 Patch 5.5.005 | |
5985 Problem: When using <f-args> with a user command, an empty argument to the | |
5986 command resulted in one empty string, while no string was | |
5987 expected. | |
5988 Solution: Catch an empty argument and pass no argument to the function. | |
5989 (Paul Moore) | |
5990 Files: src/ex_docmd.c | |
5991 | |
5992 Patch 5.5.006 | |
5993 Problem: Python: When platform-dependent files are in another directory | |
5994 than the platform-independent files it doesn't work. | |
5995 Solution: Also check the executable directory, and add it to CFLAGS. (Tessa | |
5996 Lau) | |
5997 Files: src/configure.in, src/configure | |
5998 | |
5999 Patch 5.5.007 (extra) | |
6000 Problem: Win32 OLE: Occasional crash when exiting while still being used | |
6001 via OLE. | |
6002 Solution: Move OleUninitialize() to before deleting the application object. | |
6003 (Vince Negri) | |
6004 Files: src/if_ole.cpp | |
6005 | |
6006 Patch 5.5.008 | |
6007 Problem: 10000@@ takes a long time and cannot be interrupted. | |
6008 Solution: Check for CTRL-C typed while in the loop to push the register. | |
6009 Files: src/normal.c | |
6010 | |
6011 Patch 5.5.009 | |
6012 Problem: Recent Sequent machines don't link with "-linet". (Kurtis Rader) | |
6013 Solution: Remove configure check for Sequent. | |
6014 Files: src/configure.in, src/configure | |
6015 | |
6016 Patch 5.5.010 | |
6017 Problem: Ctags freed a memory block twice when exiting. When out of | |
6018 memory, a misleading error message was given. | |
6019 Solution: Update to ctags 3.3.2. Also fixes a few other problems. (Darren | |
6020 Hiebert) | |
6021 Files: src/ctags/* | |
6022 | |
6023 Patch 5.5.011 | |
6024 Problem: After "CTRL-V s", the cursor jumps back to the start, while all | |
6025 other operators leave the cursor on the last changed character. | |
6026 (Xiangjiang Ma) | |
6027 Solution: Position cursor on last changed character, if possible. | |
6028 Files: src/ops.c | |
6029 | |
6030 Patch 5.5.012 | |
6031 Problem: Using CTRL-] in Visual mode doesn't work when the text includes a | |
6032 space (just where it's useful). (Stefan Bittner) | |
6033 Solution: Don't escape special characters in a tag name with a backslash. | |
6034 Files: src/normal.c | |
6035 | |
6036 Patch 5.5.013 | |
6037 Problem: The ":append" and ":insert" commands allow using a leading | |
6038 backslash in a line. The ":source" command concatenates those | |
6039 lines. (Heinlein) | |
6040 Solution: Add the 'C' flag in 'cpoptions' to switch off concatenation. | |
6041 Files: src/ex_docmd.c, src/option.h, runtime/doc/options.txt, | |
6042 runtime/filetype.vim, runtime/scripts.vim | |
6043 | |
6044 Patch 5.5.014 | |
6045 Problem: When executing a register with ":@", the ":append" command would | |
6046 get text lines with a ':' prepended. (Heinlein) | |
6047 Solution: Remove the ':' characters. | |
6048 Files: src/ex_docmd.c, src/ex_getln.c, src/globals.h | |
6049 | |
6050 Patch 5.5.015 | |
6051 Problem: When using ":g/pat/p", it's hard to see where the output starts, | |
6052 the ":g" command is overwritten. Vi keeps the ":g" command. | |
6053 Solution: Keep the ":g" command, but allow overwriting it with the report | |
6054 for the number of changes. | |
6055 Files: src/ex_cmds.c | |
6056 | |
6057 Patch 5.5.016 (extra) | |
6058 Problem: Win32: Using regedit to install Vim in the popup menu requires the | |
6059 user to confirm this in a dialog. | |
6060 Solution: Use "regedit /s" to avoid the dialog | |
6061 Files: src/dosinst.c | |
6062 | |
6063 Patch 5.5.017 | |
6064 Problem: If an error occurs when closing the current window, Vim could get | |
6065 stuck in the error handling. | |
6066 Solution: Don't set curwin to NULL when closing the current window. | |
6067 Files: src/window.c | |
6068 | |
6069 Patch 5.5.018 | |
6070 Problem: Absolute paths in shell scripts do not always work. | |
6071 Solution: Use /usr/bin/env to find out the path. | |
6072 Files: runtime/doc/vim2html.pl, runtime/tools/efm_filter.pl, | |
6073 runtime/tools/shtags.pl | |
6074 | |
6075 Patch 5.5.019 | |
6076 Problem: A function call in 'statusline' stops using ":q" twice from | |
6077 exiting, when the last argument hasn't been edited. | |
6078 Solution: Don't decrement quitmore when executing a function. (Madsen) | |
6079 Files: src/ex_docmd.c | |
6080 | |
6081 Patch 5.5.020 | |
6082 Problem: When the output of CTRL-D completion in the commandline goes all | |
6083 the way to the last column, there is an empty line. | |
6084 Solution: Don't add a newline when the cursor wrapped already. (Madsen) | |
6085 Files: src/ex_getln.c | |
6086 | |
6087 Patch 5.5.021 | |
6088 Problem: When checking if a file name in the tags file is relative, | |
6089 environment variables were not expanded. | |
6090 Solution: Expand the file name before checking if it is relative. (Madsen) | |
6091 Files: src/tag.c | |
6092 | |
6093 Patch 5.5.022 | |
6094 Problem: When setting or resetting 'paste' the ruler wasn't updated. | |
6095 Solution: Update the status lines when 'ruler' changes because of 'paste'. | |
6096 Files: src/option.c | |
6097 | |
6098 Patch 5.5.023 | |
6099 Problem: When editing a new file and autocommands change the cursor | |
6100 position, the cursor was moved back to the first non-white, unless | |
6101 'startofline' was reset. | |
6102 Solution: Keep the new column, just like the line number. | |
6103 Files: src/ex_cmds.c | |
6104 | |
6105 Patch 5.5.024 (extra) | |
6106 Problem: Win32 GUI: When using confirm() to put up a dialog without a | |
6107 default button, the dialog would not have keyboard focus. | |
6108 (Krishna) | |
6109 Solution: Always set focus to the dialog window. Only set focus to a button | |
6110 when a default one is specified. | |
6111 Files: src/gui_w32.c | |
6112 | |
6113 Patch 5.5.025 | |
6114 Problem: When using "keepend" in a syntax region, a contained match that | |
6115 includes the end-of-line could still force that region to | |
6116 continue, if there is another contained match in between. | |
6117 Solution: Check the keepend_level in check_state_ends(). | |
6118 Files: src/syntax.c | |
6119 | |
6120 Patch 5.5.026 | |
6121 Problem: When starting Vim in a white-on-black xterm, with 'bg' set to | |
6122 "dark", and then starting the GUI with ":gui", setting 'bg' to | |
6123 "light" in the gvimrc, the highlighting isn't set. (Tsjokwing) | |
6124 Solution: Set the highlighting when 'bg' is changed in the gvimrc, even | |
6125 though full_screen isn't set. | |
6126 Files: src/option.c | |
6127 | |
6128 Patch 5.5.027 | |
6129 Problem: Unix: os_unix.c doesn't compile when XTERM_CLIP is used but | |
6130 WANT_TITLE isn't. (Barnum) | |
6131 Solution: Move a few functions that are used by the X11 title and clipboard | |
6132 and put another "#if" around it. | |
6133 Files: src/os_unix.c | |
6134 | |
6135 Patch 5.5.028 (extra) | |
6136 Problem: Win32 GUI: When a file is dropped on Win32 gvim while at the ":" | |
6137 prompt, the file is edited but the command line is actually still | |
6138 there, the cursor goes back to command line on the next command. | |
6139 (Krishna) | |
6140 Solution: When dropping a file or directory on gvim while at the ":" prompt, | |
6141 insert the name of the file/directory. Allows using the | |
6142 file/directory name for any Ex command. | |
6143 Files: src/gui_w32.c | |
6144 | |
6145 Patch 5.5.029 | |
6146 Problem: "das" at the end of the file didn't delete the last character of | |
6147 the sentence. | |
6148 Solution: When there is no character after the sentence, make the operation | |
6149 inclusive in current_sent(). | |
6150 Files: src/search.c | |
6151 | |
6152 Patch 5.5.030 | |
6153 Problem: Unix: in os_unix.c, "term_str" is used, which is also defined in | |
6154 vim.h as a macro. (wuxin) | |
6155 Solution: Renamed "term_str" to "buf" in do_xterm_trace(). | |
6156 Files: src/os_unix.c | |
6157 | |
6158 Patch 5.5.031 (extra) | |
6159 Problem: Win32 GUI: When exiting Windows, gvim will leave swap files behind | |
6160 and will be killed ungracefully. (Krishna) | |
6161 Solution: Catch the WM_QUERYENDSESSION and WM_ENDSESSION messages and try to | |
6162 exit gracefully. Allow the user to cancel the shutdown if there | |
6163 is a changed buffer. | |
6164 Files: src/gui_w32.c | |
6165 | |
6166 Patch 5.5.032 | |
6167 Problem: Patch 5.5.025 wasn't right. And C highlighting was still not | |
6168 working correctly for a #define. | |
6169 Solution: Added "excludenl" argument to ":syntax", to be able not to extend | |
6170 a containing item when there is a match with the end-of-line. | |
6171 Files: src/syntax.c, runtime/doc/syntax.txt, runtime/syntax/c.vim | |
6172 | |
6173 Patch 5.5.033 | |
6174 Problem: When reading from stdin, a long line in viminfo would mess up the | |
6175 file message. readfile() uses IObuff for keep_msg, which could be | |
6176 overwritten by anyone. | |
6177 Solution: Copy the message from IObuff to msg_buf and set keep_msg to that. | |
6178 Also change vim_fgets() to not use IObuff any longer. | |
6179 Files: src/fileio.c | |
6180 | |
6181 Patch 5.5.034 | |
6182 Problem: "gvim -rv" caused a crash. Using 't_Co' before it's set. | |
6183 Solution: Don't try to initialize the highlighting before it has been | |
6184 initialized from main(). | |
6185 Files: src/syntax.c | |
6186 | |
6187 Patch 5.5.035 | |
6188 Problem: GTK with XIM: Resizing with status area was messy, and | |
6189 ":set guioptions+=b" didn't work. | |
6190 Solution: Make status area a separate widget, but not a separate window. | |
6191 (Chi-Deok Hwang) | |
6192 Files: src/gui_gtk_f.c, src/gui_gtk_x11.c, src/multbyte.c | |
6193 | |
6194 Patch 5.5.036 | |
6195 Problem: The GZIP_read() function in $VIMRUNTIME/vimrc_example.vim to | |
6196 uncompress a file did not do detection for 'fileformat'. This is | |
6197 because the filtering is done with 'binary' set. | |
6198 Solution: Split the filtering into separate write, filter and read commands. | |
6199 Files: runtime/vimrc_example.vim | |
6200 | |
6201 Patch 5.5.037 | |
6202 Problem: The "U" command didn't mark the buffer as changed. (McCormack) | |
6203 Solution: Set the 'modified' flag when using "U". | |
6204 Files: src/undo.c | |
6205 | |
6206 Patch 5.5.038 | |
6207 Problem: When typing a long ":" command, so that the screen scrolls up, | |
6208 causes the hit-enter prompt, even though the user just typed | |
6209 return to execute the command. | |
6210 Solution: Reset need_wait_return if (part of) the command was typed in | |
6211 getcmdline(). | |
6212 Files: src/ex_getln.c | |
6213 | |
6214 Patch 5.5.039 | |
6215 Problem: When using a custom status line, "%a" (file # of #) reports the | |
6216 index of the current window for all windows. | |
6217 Solution: Pass a window pointer to append_arg_number(), and pass the window | |
6218 being updated from build_stl_str_hl(). (Stephen P. Wall) | |
6219 Files: src/buffer.c, src/screen.c, src/proto/buffer.pro | |
6220 | |
6221 Patch 5.5.040 | |
6222 Problem: Multi-byte: When there is some error in xim_real_init(), it can | |
6223 close XIM and return. After this there can be a segv. | |
6224 Solution: Test "xic" for being non-NULL, don't set "xim" to NULL. Also try | |
6225 to find more matches for supported styles. (Sung-Hyun Nam) | |
6226 Files: src/multbyte.c | |
6227 | |
6228 Patch 5.5.041 | |
6229 Problem: X11 GUI: CTRL-_ requires the SHIFT key only on some machines. | |
6230 Solution: Translate CTRL-- to CTRL-_. (Robert Webb) | |
6231 Files: src/gui_x11.c | |
6232 | |
6233 Patch 5.5.042 | |
6234 Problem: X11 GUI: keys with ALT were assumed to be used for the menu, even | |
6235 when the menu has been disabled by removing 'm' from 'guioptions'. | |
6236 Solution: Ignore keys with ALT only when gui.menu_is_active is set. (Raf) | |
6237 Files: src/gui_x11.c | |
6238 | |
6239 Patch 5.5.043 | |
6240 Problem: GTK: Handling of fontset fonts was not right when 'guifontset' | |
6241 contains exactly 14 times '-'. | |
6242 Solution: Avoid setting fonts when working with a fontset. (Sung-Hyun Nam) | |
6243 Files: src/gui_gtk_x11.c | |
6244 | |
6245 Patch 5.5.044 | |
6246 Problem: pltags.pl contains an absolute path "/usr/local/bin/perl". That | |
6247 might not work everywhere. | |
6248 Solution: Use "/usr/bin/env perl" instead. | |
6249 Files: runtime/tools/pltags.pl | |
6250 | |
6251 Patch 5.5.045 | |
6252 Problem: Using "this_session" variable does not work, requires preceding it | |
6253 with "v:". Default filename for ":mksession" isn't mentioned | |
6254 in the docs. (Fisher) | |
6255 Solution: Support using "this_session" to be backwards compatible. | |
6256 Files: src/eval.c, runtime/doc/options.txt | |
6257 | |
6258 Patch 5.5.046 (extra) | |
6259 Problem: VMS: problems with path and filename. | |
6260 Solution: Truncate file name at last ';', etc. (Zoltan Arpadffy) | |
6261 Files: src/buffer.c, src/fileio.c, src/gui_motif.c, src/os_vms.c, | |
6262 src/proto/os_vms.pro | |
6263 | |
6264 Patch 5.5.047 | |
6265 Problem: VMS: Crash when using the popup menu | |
6266 Solution: Turn the #define MENU_MODE_CHARS into an array. (Arpadffy) | |
6267 Files: src/structs.h, src/menu.c | |
6268 | |
6269 Patch 5.5.048 | |
6270 Problem: HP-UX 11: Compiling doesn't work, because both string.h and | |
6271 strings.h are included. (Squassabia) | |
6272 Solution: The configure test for including both string.h and strings.h | |
6273 must include <Xm/Xm.h> first, because it causes problems. | |
6274 Files: src/configure.in, src/configure, src/config.h.in | |
6275 | |
6276 Patch 5.5.049 | |
6277 Problem: Unix: When installing Vim, the protection bits of files might be | |
6278 influenced by the umask. | |
6279 Solution: Add $(FILEMOD) to Makefile. (Shetye) | |
6280 Files: src/Makefile | |
6281 | |
6282 Patch 5.5.050 | |
6283 Problem: "z+" and "z^" commands are missing. | |
6284 Solution: Implemented "z+" and "z^". | |
6285 Files: src/normal.c, runtime/doc/scroll.txt, runtime/doc/index.txt | |
6286 | |
6287 Patch 5.5.051 | |
6288 Problem: Several Unix systems have a problem with the optimization limits | |
6289 check in configure. | |
6290 Solution: Removed the configure check, let the user add it manually in | |
6291 Makefile or the environment. | |
6292 Files: src/configure.in, src/configure, src/Makefile | |
6293 | |
6294 Patch 5.5.052 | |
6295 Problem: Crash when using a cursor key at the ATTENTION prompt. (Alberani) | |
6296 Solution: Ignore special keys at the console dialog. Also ignore characters | |
6297 > 255 for other uses of tolower() and toupper(). | |
6298 Files: src/menu.c, src/message.c, src/misc2.c | |
6299 | |
6300 Patch 5.5.053 | |
6301 Problem: Indenting is wrong after a function when 'cino' has "fs". Another | |
6302 problem when 'cino' has "{s". | |
6303 Solution: Put line after closing "}" of a function at the left margin. | |
6304 Apply ind_open_extra in the right way after a '{'. | |
6305 Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok | |
6306 | |
6307 Patch 5.5.054 | |
6308 Problem: Unix: ":e #" doesn't work if the alternate file name contains a | |
6309 space or backslash. (Hudacek) | |
6310 Solution: When replacing "#", "%" or other items that stand for a file name, | |
6311 prepend a backslash before special characters. | |
6312 Files: src/ex_docmd.c | |
6313 | |
6314 Patch 5.5.055 | |
6315 Problem: Using "<C-V>$r-" in blockwise Visual mode replaces one character | |
6316 beyond the end of the line. (Zivkov) | |
6317 Solution: Only replace existing characters. | |
6318 Files: src/ops.c | |
6319 | |
6320 Patch 5.5.056 | |
6321 Problem: After "z20<CR>" messages were printed at the old command line | |
6322 position once. (Veselinovic) | |
6323 Solution: Set msg_row and msg_col when changing cmdline_row in | |
6324 win_setheight(). | |
6325 Files: src/window.c | |
6326 | |
6327 Patch 5.5.057 | |
6328 Problem: After "S<Esc>" it should be possible to restore the line with "U". | |
6329 (Veselinovic) | |
6330 Solution: Don't call u_clearline() in op_delete() when changing only one | |
6331 line. | |
6332 Files: src/ops.c | |
6333 | |
6334 Patch 5.5.058 | |
6335 Problem: Using a long search pattern and then "n" causes the hit-enter | |
6336 prompt. (Krishna) | |
6337 Solution: Truncate the echoed pattern, like other messages. Moved code for | |
6338 truncating from msg_attr() to msg_strtrunc(). | |
6339 Files: src/message.c, src/proto/message.pro, src/search.c | |
6340 | |
6341 Patch 5.5.059 | |
6342 Problem: GTK GUI: When $term is invalid, using "gvim" gives an error | |
6343 message, even though $term isn't really used. (Robbins) | |
6344 Solution: When the GUI is about to start, skip the error messages for a | |
6345 wrong $term. | |
6346 Files: src/term.c | |
6347 | |
6348 Patch 5.5.060 (extra) | |
6349 Problem: Dos 32 bit: When a directory in 'backupdir' doesn't exist, ":w" | |
6350 causes the file to be renamed to "axlqwqhy.ba~". (Matzdorf) | |
6351 Solution: The code to work around a LFN bug in Windows 95 doesn't handle a | |
6352 non-existing target name correctly. When renaming fails, make | |
6353 sure the file has its original name. Also do this for the Win32 | |
6354 version, although it's unlikely that it runs into this problem. | |
6355 Files: src/os_msdos.c, src/os_win32.c | |
6356 | |
6357 Patch 5.5.061 | |
6358 Problem: When using "\:" in a modeline, the backslash is included in the | |
6359 option value. (Mohsin) | |
6360 Solution: Remove one backslash before the ':' in a modeline. | |
6361 Files: src/buffer.c, runtime/doc/options.txt | |
6362 | |
6363 Patch 5.5.062 (extra) | |
6364 Problem: Win32 console: Temp files are created in the root of the current | |
6365 drive, which may be read-only. (Peterson) | |
6366 Solution: Use the same mechanism of the GUI version: Use $TMP, $TEMP or the | |
6367 current directory. Cleaned up vim_tempname() a bit. | |
6368 Files: src/fileio.c, src/os_win32.h, runtime/doc/os_dos.txt | |
6369 | |
6370 Patch 5.5.063 | |
6371 Problem: When using whole-line completion in Insert mode, 'cindent' is | |
6372 applied, even after changing the indent of the line. | |
6373 Solution: Don't reindent the completed line after inserting/removing indent. | |
6374 (Robert Webb) | |
6375 Files: src/edit.c | |
6376 | |
6377 Patch 5.5.064 | |
6378 Problem: has("sniff") doesn't work correctly. | |
6379 Solution: Return 1 when Vim was compiled with the +sniff feature. (Pruemmer) | |
6380 Files: src/eval.c | |
6381 | |
6382 Patch 5.5.065 | |
6383 Problem: When dropping a file on Vim, the 'shellslash' option is not | |
6384 effective. (Krishna) | |
6385 Solution: Fix the slashes in the dropped file names according to | |
6386 'shellslash'. | |
6387 Files: src/ex_docmd.c, runtime/doc/options.txt | |
6388 | |
6389 Patch 5.5.066 | |
6390 Problem: For systems with backslash in file name: Setting a file name | |
6391 option to a value starting with "\\machine" removed a backslash. | |
6392 Solution: Keep the double backslash for "\\machine", but do change | |
6393 "\\\\machine" to "\\machine" for backwards compatibility. | |
6394 Files: src/option.c, runtime/doc/options.txt | |
6395 | |
6396 Patch 5.5.067 | |
6397 Problem: With 'hlsearch' set, the pattern "\>" doesn't highlight the first | |
6398 match in a line. (Benji Fisher) | |
6399 Solution: Fix highlighting an empty match. Also highlight the first | |
6400 character in an empty line for "$". | |
6401 Files: src/screen.c | |
6402 | |
6403 Patch 5.5.068 | |
6404 Problem: Crash when a ":while" is used with an argument that has an error. | |
6405 (Sylvain Viart) | |
6406 Solution: Was using an uninitialized index in the cs_line[] array. The | |
6407 crash only happened when the index was far off. Made sure the | |
6408 uninitialized index isn't used. | |
6409 Files: src/ex_docmd.c | |
6410 | |
6411 Patch 5.5.069 | |
6412 Problem: Shifting lines in blockwise Visual mode didn't set the 'modified' | |
6413 flag. | |
6414 Solution: Do set the 'modified' flag. | |
6415 Files: src/ops.c | |
6416 | |
6417 Patch 5.5.070 | |
6418 Problem: When editing a new file, creating that file outside of Vim, then | |
6419 editing it again, ":w" still warns for overwriting an existing | |
6420 file. (Nam) | |
6421 Solution: The BF_NEW flag in the "b_flags" field wasn't cleared properly. | |
6422 Files: src/buffer.c, src/fileio.c | |
6423 | |
6424 Patch 5.5.071 | |
6425 Problem: Using a matchgroup in a ":syn region", which is the same syntax | |
6426 group as the region, didn't stop a contained item from matching in | |
6427 the start pattern. | |
6428 Solution: Also push an item on the stack when the syntax ID of the | |
6429 matchgroup is the same as the syntax ID of the region. | |
6430 Files: src/syntax.c | |
6431 | |
6432 Patch 5.5.072 (extra) | |
6433 Problem: Dos 32 bit: When setting 'columns' to a too large value, Vim may | |
6434 crash, and the DOS console too. | |
6435 Solution: Check that the value of 'columns' isn't larger than the number of | |
6436 columns that the BIOS reports. | |
6437 Files: src/os_msdos.c, src/proto/os_msdos.pro, src/option.c | |
6438 | |
6439 Patch 5.5.073 (extra) | |
6440 Problem: Win 32 GUI: The Find and Find/Replace dialogs didn't show the | |
6441 "match case" checkbox. The Find/Replace dialog didn't handle the | |
6442 "match whole word" checkbox. | |
6443 Solution: Support the "match case" and "match whole word" checkboxes. | |
6444 Files: src/gui_w32.c | |
6445 | |
6446 Patch 5.6a.001 | |
6447 Problem: Using <C-End> with a count doesn't work like it does with "G". | |
6448 (Benji Fisher) | |
6449 Solution: Accept a count for <C-End> and <C-Home>. | |
6450 Files: src/normal.c | |
6451 | |
6452 Patch 5.6a.002 | |
6453 Problem: The script for conversion to HTML was an older version. | |
6454 Solution: Add support for running 2html.vim on a color terminal. | |
6455 Files: runtime/syntax/2html.vim | |
6456 | |
6457 Patch 5.6a.003 | |
6458 Problem: Defining a function inside a function didn't give an error | |
6459 message. A missing ":endfunction" doesn't give an error message. | |
6460 Solution: Allow defining a function inside a function. | |
6461 Files: src/eval.c, runtime/doc/eval.txt | |
6462 | |
6463 Patch 5.6a.004 | |
6464 Problem: A missing ":endwhile" or ":endif" doesn't give an error message. | |
6465 (Johannes Zellner) | |
6466 Solution: Check for missing ":endwhile" and ":endif" in sourced files. | |
6467 Add missing ":endif" in file selection macros. | |
6468 Files: src/ex_docmd.c, runtime/macros/file_select.vim | |
6469 | |
6470 Patch 5.6a.005 | |
6471 Problem: 'hlsearch' was not listed alphabetically. The value of 'toolbar' | |
6472 was changed when 'compatible' is set. | |
6473 Solution: Moved entry of 'hlsearch' in options[] table down. | |
6474 Don't reset 'toolbar' option to the default value when | |
6475 'compatible' is set. | |
6476 Files: src/option.c | |
6477 | |
6478 Patch 5.6a.006 | |
6479 Problem: Using a backwards range inside ":if 0" gave an error message. | |
6480 Solution: Don't complain about a range when it is not going to be used. | |
6481 (Stefan Roemer) | |
6482 Files: src/ex_docmd.c | |
6483 | |
6484 Patch 5.6a.007 | |
6485 Problem: ":let" didn't show internal Vim variables. (Ron Aaron) | |
6486 Solution: Do show ":v" variables for ":let" and ":let v:name". | |
6487 Files: src/eval.c | |
6488 | |
6489 Patch 5.6a.008 | |
6490 Problem: Selecting a syntax from the Syntax menu gives an error message. | |
6491 Solution: Replace "else if" in SetSyn() with "elseif". (Ronald Schild) | |
6492 Files: runtime/menu.vim | |
6493 | |
6494 Patch 5.6a.009 | |
6495 Problem: When compiling with +extra_search but without +syntax, there is a | |
6496 compilation error in screen.c. (Axel Kielhorn) | |
6497 Solution: Adjust the #ifdef for declaring and initializing "line" in | |
6498 win_line(). Also solve compilation problem when +statusline is | |
6499 used without +eval. Another one when +cmdline_compl is used | |
6500 without +eval. | |
6501 Files: src/screen.c, src/misc2.c | |
6502 | |
6503 Patch 5.6a.010 | |
6504 Problem: In a function, ":startinsert!" does not append to the end of the | |
6505 line if a ":normal" command was used to move the cursor. (Fisher) | |
6506 Solution: Reset "w_set_curswant" to avoid that w_curswant is changed again. | |
6507 Files: src/ex_docmd.c | |
6508 | |
6509 Patch 5.6a.011 (depends on 5.6a.004) | |
6510 Problem: A missing ":endif" or ":endwhile" in a function doesn't give an | |
6511 error message. | |
6512 Solution: Give that error message. | |
6513 Files: src/ex_docmd.c | |
6514 | |
6515 Patch 5.6a.012 (depends on 5.6a.008) | |
6516 Problem: Some Syntax menu entries caused a hit-enter prompt. | |
6517 Solution: Call a function to make the command shorter. Also rename a few | |
6518 functions to avoid name clashes. | |
6519 Files: runtime/menu.vim | |
6520 | |
6521 Patch 5.6a.013 | |
6522 Problem: Command line completion works different when another completion | |
6523 was done earlier. (Johannes Zellner) | |
6524 Solution: Reset wim_index when starting a new completion. | |
6525 Files: src/ex_getln.c | |
6526 | |
6527 Patch 5.6a.014 | |
6528 Problem: Various warning messages when compiling and running lint with | |
6529 different combinations of features. | |
6530 Solution: Fix the warning messages. | |
6531 Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/gui_gtk_x11.c, | |
6532 src/option.c, src/screen.c, src/search.c, src/syntax.c, | |
6533 src/feature.h, src/globals.h | |
6534 | |
6535 Patch 5.6a.015 | |
6536 Problem: The vimtutor command doesn't always know the value of $VIMRUNTIME. | |
6537 Solution: Let Vim expand $VIMRUNTIME, instead of the shell. | |
6538 Files: src/vimtutor | |
6539 | |
6540 Patch 5.6a.016 (extra) | |
6541 Problem: Mac: Window size is restricted when starting. Cannot drag the | |
6542 window all over the desktop. | |
6543 Solution: Get real screen size instead of assuming 640x400. Do not use a | |
6544 fixed number for the drag limits. (Axel Kielhorn) | |
6545 Files: src/gui_mac.c | |
6546 | |
6547 Patch 5.6a.017 | |
6548 Problem: The "Paste" entry in popup menu for Visual, Insert and Cmdline | |
6549 mode is in the wrong position. (Stol) | |
6550 Solution: Add priority numbers for all Paste menu entries. | |
6551 Files: runtime/menu.vim | |
6552 | |
6553 Patch 5.6a.018 | |
6554 Problem: GTK GUI: submenu priority doesn't work. | |
6555 Help dialog could be destroyed too soon. | |
6556 When closing a dialog window (e.g. the "ATTENTION" one), Vim would | |
6557 just hang. | |
6558 When GTK theme is changed, Vim doesn't adjust to the new colors. | |
6559 Argument for ":promptfind" isn't used. | |
6560 Solution: Fixed the mentioned problems. | |
6561 Made the dialogs look&feel nicer. | |
6562 Moved functions to avoid the need for a forward declaration. | |
6563 Fixed reentrancy of the file browser dialog. | |
6564 Added drag&drop support for GNOME. | |
6565 Init the text for the Find/replace dialog from the last used | |
6566 search string. Set "match whole word" toggle button correctly. | |
6567 Made repeat rate for drag outside of window depend on the | |
6568 distance from the window. (Marcin Dalecki) | |
6569 Made the drag in Visual mode actually work. | |
6570 Removed recursiveness protection from gui_mch_get_rgb(), it might | |
6571 cause more trouble than it solves. | |
6572 Files: src/ex_docmd.c, src/gui_gtk.c, src/gui_gtk_x11.c, src/ui.c, | |
6573 src/proto/ui.pro, src/misc2.c | |
6574 | |
6575 Patch 5.6a.019 | |
6576 Problem: When trying to recover through NFS, which uses a large block size, | |
6577 Vim might think the swap file is empty, because mf_blocknr_max is | |
6578 zero. (Scott McDermott) | |
6579 Solution: When computing the number of blocks of the file in mf_open(), | |
6580 round up instead of down. | |
6581 Files: src/memfile.c | |
6582 | |
6583 Patch 5.6a.020 | |
6584 Problem: GUI GTK: Could not set display for gvim. | |
6585 Solution: Add "-display" and "--display" arguments. (Marcin Dalecki) | |
6586 Files: src/gui_gtk_x11.c | |
6587 | |
6588 Patch 5.6a.021 | |
6589 Problem: Recovering still may not work when the block size of the device | |
6590 where the swap file is located is larger than 4096. | |
6591 Solution: Read block 0 with the minimal block size. | |
6592 Files: src/memline.c, src/memfile.c, src/vim.h | |
6593 | |
6594 Patch 5.6a.022 (extra) | |
6595 Problem: Win32 GUI: When an error in the vimrc causes a dialog to pop up | |
6596 (e.g., for an existing swap file), Vim crashes. (David Elins) | |
6597 Solution: Before showing a dialog, open the main window. | |
6598 Files: src/gui_w32.c | |
6599 | |
6600 Patch 5.6a.023 | |
6601 Problem: Using expand("%:gs??/?") causes a crash. (Ron Aaron) | |
6602 Solution: Check for running into the end of the string in do_string_sub(). | |
6603 Files: src/eval.c | |
6604 | |
6605 Patch 5.6a.024 | |
6606 Problem: Using an autocommand to delete a buffer when leaving it can cause | |
6607 a crash when jumping to a tag. (Franz Gorkotte) | |
6608 Solution: In do_tag(), store tagstacklen before jumping to another buffer. | |
6609 Check tagstackidx after jumping to another buffer. | |
6610 Add extra check in win_split() if tagname isn't NULL. | |
6611 Files: src/tag.c, src/window.c | |
6612 | |
6613 Patch 5.6a.025 (extra) | |
6614 Problem: Win32 GUI: The tables for toupper() and tolower() are initialized | |
6615 too late. (Mike Steed) | |
6616 Solution: Move the initialization to win32_init() and call it from main(). | |
6617 Files: src/main.c, src/os_w32.c, src/proto/os_w32.pro | |
6618 | |
6619 Patch 5.6a.026 | |
6620 Problem: When the SNiFF connection is open, shell commands hang. (Pruemmer) | |
6621 Solution: Skip a second wait() call if waitpid() already detected that the | |
6622 child has exited. | |
6623 Files: src/os_unix.c | |
6624 | |
6625 Patch 5.6a.027 (extra) | |
6626 Problem: Win32 GUI: The "Edit with Vim" popup menu entry causes problems | |
6627 for the Office toolbar. | |
6628 Solution: Use a shell extension dll. (Tianmiao Hu) | |
6629 Added it to the install and uninstal programs, replaces the old | |
6630 "Edit with Vim" menu registry entries. | |
6631 Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt | |
6632 | |
6633 Patch 5.6a.028 (extra) | |
6634 Problem: Win32 GUI: Dialogs and tear-off menus can't handle multi-byte | |
6635 characters. | |
6636 Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters | |
6637 correctly. | |
6638 Files: src/gui_w32.c | |
6639 | |
6640 ============================================================================== | |
6641 VERSION 5.7 *version-5.7* | |
6642 | |
6643 Version 5.7 is a bug-fix version of 5.6. | |
6644 | |
6645 Changed *changed-5.7* | |
6646 ------- | |
6647 | |
6648 Renamed src/INSTALL.mac to INSTALL_mac.txt to avoid it being recognized with a | |
6649 wrong file type. Also renamed src/INSTALL.amiga to INSTALL_ami.txt. | |
6650 | |
6651 | |
6652 Added *added-5.7* | |
6653 ----- | |
6654 | |
6655 New syntax files: | |
6656 stp Stored Procedures (Jeff Lanzarotta) | |
6657 snnsnet, snnspat, snnsres SNNS (Davide Alberani) | |
6658 mel MEL (Robert Minsk) | |
6659 ruby Ruby (Mirko Nasato) | |
6660 tli TealInfo (Kurt W. Andrews) | |
6661 ora Oracle config file (Sandor Kopanyi) | |
6662 abaqus Abaqus (Carl Osterwisch) | |
6663 jproperties Java Properties (Simon Baldwin) | |
6664 apache Apache config (Allan Kelly) | |
6665 csp CSP (Jan Bredereke) | |
6666 samba Samba config (Rafael Garcia-Suarez) | |
6667 kscript KDE script (Thomas Capricelli) | |
6668 hb Hyper Builder (Alejandro Forero Cuervo) | |
6669 fortran Fortran (rewritten) (Ajit J. Thakkar) | |
6670 sml SML (Fabrizio Zeno Cornelli) | |
6671 cvs CVS commit (Matt Dunford) | |
6672 aspperl ASP Perl (Aaron Hope) | |
6673 bc BC calculator (Vladimir Scholtz) | |
6674 latte Latte (Nick Moffitt) | |
6675 wml WML (Gerfried Fuchs) | |
6676 | |
6677 Included Exuberant ctags 3.5.1. (Darren Hiebert) | |
6678 | |
6679 "display" and "fold" arguments for syntax items. For future extension, they | |
6680 are ignored now. | |
6681 | |
6682 strftime() function for the Macintosh. | |
6683 | |
6684 macros/explorer.vim: A file browser script (M A Aziz Ahmed) | |
6685 | |
6686 | |
6687 Fixed *fixed-5.7* | |
6688 ----- | |
6689 | |
6690 The 16 bit MS-DOS version is now compiled with Bcc 3.1 instead of 4.0. The | |
6691 executable is smaller. | |
6692 | |
6693 When a "make test" failed, the output file was lost. Rename it to | |
6694 test99.failed to be able to see what went wrong. | |
6695 | |
6696 After sourcing bugreport.vim, it's not clear that bugreport.txt has been | |
6697 written in the current directory. Edit bugreport.txt to avoid that. | |
6698 | |
6699 Adding IME support when using Makefile.w32 didn't work. (Taro Muraoka) | |
6700 | |
6701 Win32 console: Mouse drags were passed on even when the mouse didn't move. | |
6702 | |
6703 Perl interface: In Buffers(), type of argument to SvPV() was int, should be | |
6704 STRLEN. (Tony Leneis) | |
6705 | |
6706 Problem with prototype for index() on AIX 4.3.0. Added check for _AIX43 in | |
6707 os_unix.h. (Jake Hamby) | |
6708 | |
6709 Mappings in mswin.vim could break when some commands are mapped. Add "nore" | |
6710 to most mappings to avoid re-mapping. | |
6711 | |
6712 modify_fname() made a copy of a file name for ":p" when it already was a full | |
6713 path name, which is a bit slow. | |
6714 | |
6715 Win32 with Borland C++ 5.5: Pass the path to the compiler on to xxd and ctags, | |
6716 to avoid depending on $PATH. Fixed "make clean". | |
6717 | |
6718 Many fixes to Macintosh specific parts: (mostly by Dany StAmant) | |
6719 - Only one Help menu. | |
6720 - No more crash when removing a menu item. | |
6721 - Support as External Editor for Codewarrior (still some little glitches). | |
6722 - Popup menu support. | |
6723 - Fixed crash when pasting after application switch. | |
6724 - Color from rgb.txt properly displayed. | |
6725 - 'isprint' default includes all chars above '~'. (Axel Kielhorn) | |
6726 - mac_expandpath() was leaking memory. | |
6727 - Add digraphs table. (Axel Kielhorn) | |
6728 - Multi-byte support: (Kenichi Asai) | |
6729 Switch keyscript when going in/out of Insert mode. | |
6730 Draw multi-byte character correctly. | |
6731 Don't use mblen() but highest bit of char to detect multi-byte char. | |
6732 Display value of multi-byte in statusline (also for other systems). | |
6733 - mouse button was not initialized properly to MOUSE_LEFT when | |
6734 USE_CTRLCLICKMENU not defined. | |
6735 - With Japanese SJIS characters: Make "w", "b", and "e" work | |
6736 properly. (Kenichi Asai) | |
6737 - Replaced old CodeWarrior file os_mac.CW9.hqx with os_mac.cw5.sit.hqx. | |
6738 | |
6739 Fixes for VMS: (Zoltan Arpadffy) (also see patch 5.6.045 below) | |
6740 - Added Makefile_vms.mms and vimrc.vms to src/testdir to be able to run the | |
6741 tests. | |
6742 - Various fixes. | |
6743 - Set 'undolevels' to 1000 by default. | |
6744 - Made mch_settitle() equivalent to the one in os_unix.c. | |
6745 | |
6746 RiscOS: A few prototypes for os_riscos.c were outdated. Generate prototypes | |
6747 automatically. | |
6748 | |
6749 | |
6750 Previously released patches: | |
6751 | |
6752 Patch 5.6.001 | |
6753 Problem: When using "set bs=0 si cin", Inserting "#<BS>" or "}<BS>" which | |
6754 reduces the indent doesn't delete the "#" or "}". (Lorton) | |
6755 Solution: Adjust ai_col in ins_try_si(). | |
6756 Files: src/edit.c | |
6757 | |
6758 Patch 5.6.002 | |
6759 Problem: When using the vim.vim syntax file, a comment with all uppercase | |
6760 characters causes a hang. | |
6761 Solution: Adjust pattern for vimCommentTitle (Charles Campbell) | |
6762 Files: runtime/syntax/vim.vim | |
6763 | |
6764 Patch 5.6.003 | |
6765 Problem: GTK GUI: Loading a user defined toolbar bitmap gives a warning | |
6766 about the colormap. Probably because the window has not been | |
6767 opened yet. | |
6768 Solution: Use gdk_pixmap_colormap_create_from_xpm() to convert the xpm file. | |
6769 (Keith Radebaugh) | |
6770 Files: src/gui_gtk.c | |
6771 | |
6772 Patch 5.6.004 (extra) | |
6773 Problem: Win32 GUI with IME: When setting 'guifont' to "*", the font | |
6774 requester appears twice. | |
6775 Solution: In gui_mch_init_font() don't call get_logfont() but copy | |
6776 norm_logfont from fh. (Yasuhiro Matsumoto) | |
6777 Files: src/gui_w32.c | |
6778 | |
6779 Patch 5.6.005 | |
6780 Problem: When 'winminheight' is zero, CTRL-W - with a big number causes a | |
6781 crash. (David Kotchan) | |
6782 Solution: Check for negative window height in win_setheight(). | |
6783 Files: src/window.c | |
6784 | |
6785 Patch 5.6.006 | |
6786 Problem: GTK GUI: Bold font cannot always be used. Memory is freed too | |
6787 early in gui_mch_init_font(). | |
6788 Solution: Move call to g_free() to after where sdup is used. (Artem Hodyush) | |
6789 Files: src/gui_gtk_x11.c | |
6790 | |
6791 Patch 5.6.007 (extra) | |
6792 Problem: Win32 IME: Font is not changed when screen font is changed. And | |
6793 IME composition window does not trace the cursor. | |
6794 Solution: Initialize IME font. When cursor is moved, set IME composition | |
6795 window with ImeSetCompositionWindow(). Add call to | |
6796 ImmReleaseContext() in several places. (Taro Muraoka) | |
6797 Files: src/gui.c, src/gui_w32.c, src/proto/gui_w32.pro | |
6798 | |
6799 Patch 5.6.008 (extra) | |
6800 Problem: Win32: When two files exist with the same name but different case | |
6801 (through NFS or Samba), fixing the file name case could cause the | |
6802 wrong one to be edited. | |
6803 Solution: Prefer a perfect match above a match while ignoring case in | |
6804 fname_case(). (Flemming Madsen) | |
6805 Files: src/os_win32.c | |
6806 | |
6807 Patch 5.6.009 (extra) | |
6808 Problem: Win32 GUI: Garbage in Windows Explorer help line when selecting | |
6809 "Edit with Vim" popup menu entry. | |
6810 Solution: Only return the help line when called with the GCS_HELPTEXT flag. | |
6811 (Tianmiao Hu) | |
6812 Files: GvimExt/gvimext.cpp | |
6813 | |
6814 Patch 5.6.010 | |
6815 Problem: A file name which contains a TAB was not read correctly from the | |
6816 viminfo file and the ":ls" listing was not aligned properly. | |
6817 Solution: Parse the buffer list lines in the viminfo file from the end | |
6818 backwards. Count a Tab for two characters to align the ":ls" list. | |
6819 Files: src/buffer.c | |
6820 | |
6821 Patch 5.6.011 | |
6822 Problem: When 'columns' is huge (using a tiny font) and 'statusline' is | |
6823 used, Vim can crash. | |
6824 Solution: Limit maxlen to MAXPATHL in win_redr_custom(). (John Mullin) | |
6825 Files: src/screen.c | |
6826 | |
6827 Patch 5.6.012 | |
6828 Problem: When using "zsh" for /bin/sh, toolcheck may hang until "exit" is | |
6829 typed. (Kuratczyk) | |
6830 Solution: Add "-c exit" when checking for the shell version. | |
6831 Files: src/toolcheck | |
6832 | |
6833 Patch 5.6.013 | |
6834 Problem: Multibyte char in tooltip is broken. | |
6835 Solution: Consider multibyte char in replace_termcodes(). (Taro Muraoka) | |
6836 Files: src/term.c | |
6837 | |
6838 Patch 5.6.014 | |
6839 Problem: When cursor is at the end of line and the character under cursor | |
6840 is a multibyte character, "yl" doesn't yank 1 multibyte-char. | |
6841 (Takuhiro Nishioka) | |
6842 Solution: Recognize a multibyte-char at end-of-line correctly in oneright(). | |
6843 (Taro Muraoka) | |
6844 Also: make "+quickfix" in ":version" output appear alphabetically. | |
6845 Files: src/edit.c | |
6846 | |
6847 Patch 5.6.015 | |
6848 Problem: New xterm delete key sends <Esc>[3~ by default. | |
6849 Solution: Added <kDel> and <kIns> to make the set of keypad keys complete. | |
6850 Files: src/edit.c, src/ex_getln.c, src/keymap.h, src/misc1.c, | |
6851 src/misc2.c, src/normal.c, src/os_unix.c, src/term.c | |
6852 | |
6853 Patch 5.6.016 | |
6854 Problem: When deleting a search string from history from inside a mapping, | |
6855 another entry is deleted too. (Benji Fisher) | |
6856 Solution: Reset last_maptick when deleting the last entry of the search | |
6857 history. Also: Increment maptick when starting a mapping from | |
6858 typed characters to avoid a just added search string being | |
6859 overwritten or removed from history. | |
6860 Files: src/ex_getln.c, src/getchar.c | |
6861 | |
6862 Patch 5.6.017 | |
6863 Problem: ":s/e/\^M/" should replace an "e" with a CTRL-M, not split the | |
6864 line. (Calder) | |
6865 Solution: Replace the backslash with a CTRL-V internally. (Stephen P. Wall) | |
6866 Files: src/ex_cmds.c | |
6867 | |
6868 Patch 5.6.018 | |
6869 Problem: ":help [:digit:]" takes a long time to jump to the wrong place. | |
6870 Solution: Insert a backslash to avoid the special meaning of '[]'. | |
6871 Files: src/ex_cmds.c | |
6872 | |
6873 Patch 5.6.019 | |
6874 Problem: "snd.c", "snd.java", etc. were recognized as "mail" filetype. | |
6875 Solution: Make pattern for mail filetype more strict. | |
6876 Files: runtime/filetype.vim | |
6877 | |
6878 Patch 5.6.020 (extra) | |
6879 Problem: The DJGPP version eats processor time (Walter Briscoe). | |
6880 Solution: Call __dpmi_yield() in the busy-wait loop. | |
6881 Files: src/os_msdos.c | |
6882 | |
6883 Patch 5.6.021 | |
6884 Problem: When 'selection' is "exclusive", a double mouse click in Insert | |
6885 mode doesn't select last char in line. (Lutz) | |
6886 Solution: Allow leaving the cursor on the NUL past the line in this case. | |
6887 Files: src/edit.c | |
6888 | |
6889 Patch 5.6.022 | |
6890 Problem: ":e \~<Tab>" expands to ":e ~\$ceelen", which doesn't work. | |
6891 Solution: Re-insert the backslash before the '~'. | |
6892 Files: src/ex_getln.c | |
6893 | |
6894 Patch 5.6.023 (extra) | |
6895 Problem: Various warnings for the Ming compiler. | |
6896 Solution: Changes to avoid the warnings. (Bill McCarthy) | |
6897 Files: src/ex_cmds.c, src/gui_w32.c, src/os_w32exe.c, src/os_win32.c, | |
6898 src/syntax.c, src/vim.rc | |
6899 | |
6900 Patch 5.6.024 (extra) | |
6901 Problem: Win32 console: Entering CTRL-_ requires the shift key. (Kotchan) | |
6902 Solution: Specifically catch keycode 0xBD, like the GUI. | |
6903 Files: src/os_win32.c | |
6904 | |
6905 Patch 5.6.025 | |
6906 Problem: GTK GUI: Starting the GUI could be interrupted by a SIGWINCH. | |
6907 (Nils Lohner) | |
6908 Solution: Repeat the read() call to get the gui_in_use value when | |
6909 interrupted by a signal. | |
6910 Files: src/gui.c | |
6911 | |
6912 Patch 5.6.026 (extra) | |
6913 Problem: Win32 GUI: Toolbar bitmaps are searched for in | |
6914 $VIMRUNTIME/bitmaps, while GTK looks in $VIM/bitmaps. (Keith | |
6915 Radebaugh) | |
6916 Solution: Use $VIM/bitmaps for both, because these are not part of the | |
6917 distribution but defined by the user. | |
6918 Files: src/gui_w32.c, runtime/doc/gui.txt | |
6919 | |
6920 Patch 5.6.027 | |
6921 Problem: TCL: Crash when using a Tcl script (reported for Win32). | |
6922 Solution: Call Tcl_FindExecutable() in main(). (Brent Fulgham) | |
6923 Files: src/main.c | |
6924 | |
6925 Patch 5.6.028 | |
6926 Problem: Xterm patch level 126 sends codes for mouse scroll wheel. | |
6927 Fully works with xterm patch level 131. | |
6928 Solution: Recognize the codes for button 4 (0x60) and button 5 (0x61). | |
6929 Files: src/term.c | |
6930 | |
6931 Patch 5.6.029 | |
6932 Problem: GTK GUI: Shortcut keys cannot be used for a dialog. (Johannes | |
6933 Zellner) | |
6934 Solution: Add support for shortcut keys. (Marcin Dalecki) | |
6935 Files: src/gui_gtk.c | |
6936 | |
6937 Patch 5.6.030 | |
6938 Problem: When closing a window and 'ea' is set, Vim can crash. (Yasuhiro | |
6939 Matsumoto) | |
6940 Solution: Set "curbuf" to a valid value in win_close(). | |
6941 Files: src/window.c | |
6942 | |
6943 Patch 5.6.031 | |
6944 Problem: Multi-byte: When a double-byte character ends in CSI, Vim waits | |
6945 for another character to be typed. | |
6946 Solution: Recognize the CSI as the second byte of a character and don't wait | |
6947 for another one. (Yasuhiro Matsumoto) | |
6948 Files: src/getchar.c | |
6949 | |
6950 Patch 5.6.032 | |
6951 Problem: Functions with an argument that is a line number don't all accept | |
6952 ".", "$", etc. (Ralf Arens) | |
6953 Solution: Add get_art_lnum() and use it for setline(), line2byte() and | |
6954 synID(). | |
6955 Files: src/eval.c | |
6956 | |
6957 Patch 5.6.033 | |
6958 Problem: Multi-byte: "f " sometimes skips to the second space. (Sung-Hyun | |
6959 Nam) | |
6960 Solution: Change logic in searchc() to skip trailing byte of a double-byte | |
6961 character. | |
6962 Also: Ask for second byte when searching for double-byte | |
6963 character. (Park Chong-Dae) | |
6964 Files: src/search.c | |
6965 | |
6966 Patch 5.6.034 (extra) | |
6967 Problem: Compiling with Borland C++ 5.5 fails on tolower() and toupper(). | |
6968 Solution: Use TO_LOWER() and TO_UPPER() instead. Also adjust the Makefile | |
6969 to make using bcc 5.5 easier. | |
6970 Files: src/edit.c, src/ex_docmd.c, src/misc1.c, src/Makefile.bor | |
6971 | |
6972 Patch 5.6.035 | |
6973 Problem: Listing the"+comments" feature in the ":version" output depended | |
6974 on the wrong ID. (Stephen P. Wall) | |
6975 Solution: Change "CRYPTV" to "COMMENTS". | |
6976 Files: src/version.c | |
6977 | |
6978 Patch 5.6.036 | |
6979 Problem: GTK GUI: Copy/paste text doesn't work between gvim and Eterm. | |
6980 Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang) | |
6981 Files: src/gui_gtk_x11.c | |
6982 | |
6983 Patch 5.6.037 | |
6984 Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI. | |
6985 Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam) | |
6986 Files: src/gui_gtk_x11.c, src/multbyte.c | |
6987 | |
6988 Patch 5.6.038 | |
6989 Problem: Multi-clicks in GUI are interpreted as a mouse wheel click. When | |
6990 'ttymouse' is "xterm" a mouse click is interpreted as a mouse | |
6991 wheel click. | |
6992 Solution: Don't recognize the mouse wheel in check_termcode() in the GUI. | |
6993 Use 0x43 for a mouse drag in do_xterm_trace(), not 0x63. | |
6994 Files: src/term.c, src/os_unix.c | |
6995 | |
6996 Patch 5.6.039 | |
6997 Problem: Motif GUI under KDE: When trying to logout, Vim hangs up the | |
6998 system. (Hermann Rochholz) | |
6999 Solution: When handling the WM_SAVE_YOURSELF event, set the WM_COMMAND | |
7000 property of the window to let the session manager know we finished | |
7001 saving ourselves. | |
7002 Files: src/gui_x11.c | |
7003 | |
7004 Patch 5.6.040 | |
7005 Problem: When using ":s" command, matching the regexp is done twice. | |
7006 Solution: After copying the matched line, adjust the pointers instead of | |
7007 finding the match again. (Loic Grenie) Added vim_regnewptr(). | |
7008 Files: src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro | |
7009 | |
7010 Patch 5.6.041 | |
7011 Problem: GUI: Athena, Motif and GTK don't give more than 10 dialog buttons. | |
7012 Solution: Remove the limit on the number of buttons. | |
7013 Also support the 'v' flag in 'guioptions'. | |
7014 For GTK: Center the buttons. | |
7015 Files: src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c | |
7016 | |
7017 Patch 5.6.042 | |
7018 Problem: When doing "vim -u vimrc" and vimrc contains ":q", the cursor in | |
7019 the terminal can remain off. | |
7020 Solution: Call cursor_on() in mch_windexit(). | |
7021 Files: src/os_unix.c | |
7022 | |
7023 Patch 5.6.043 (extra) | |
7024 Problem: Win32 GUI: When selecting guifont with the dialog, 'guifont' | |
7025 doesn't include the bold or italic attributes. | |
7026 Solution: Append ":i" and/or ":b" to 'guifont' in gui_mch_init_font(). | |
7027 Files: src/gui_w32.c | |
7028 | |
7029 Patch 5.6.044 (extra) | |
7030 Problem: MS-DOS and Windows: The line that dosinst.exe appends to | |
7031 autoexec.bat to set PATH is wrong when Vim is in a directory with | |
7032 an embedded space. | |
7033 Solution: Use double quotes for the value when there is an embedded space. | |
7034 Files: src/dosinst.c | |
7035 | |
7036 Patch 5.6.045 (extra) (fixed version) | |
7037 Problem: VMS: Various small problems. | |
7038 Solution: Many small changes. (Zoltan Arpadffy) | |
7039 File name modifier ":h" keeps the path separator. | |
7040 File name modifier ":e" also removes version. | |
7041 Compile with MAX_FEAT by default. | |
7042 When checking for autocommands ignore version in file name. | |
7043 Be aware of file names being case insensitive. | |
7044 Added vt320 builtin termcap. | |
7045 Be prepared for an empty default_vim_dir. | |
7046 Files: runtime/gvimrc_example.vim, runtime/vimrc_example.vim, | |
7047 runtime/doc/os_vms.txt, src/eval.c, src/feature.h, src/fileio.c, | |
7048 src/gui_motif.c, src/gui_vms_conf.h, src/main.c, src/memline.c, | |
7049 src/misc1.c, src/option.c, src/os_vms_conf.h, src/os_vms.c, | |
7050 src/os_vms.h, src/os_vms.mms, src/tag.c, src/term.c, src/version.c | |
7051 | |
7052 Patch 5.6.046 | |
7053 Problem: Systems with backslash in file name: With 'shellslash' set, "vim | |
7054 */*.c" only uses a slash for the first file name. (Har'El) | |
7055 Solution: Fix slashes in file name arguments after reading the vimrc file. | |
7056 Files: src/option.c | |
7057 | |
7058 Patch 5.6.047 | |
7059 Problem: $CPPFLAGS is not passed on to ctags configure. | |
7060 Solution: Add it. (Walter Briscoe) | |
7061 Files: src/config.mk.in, src/Makefile | |
7062 | |
7063 Patch 5.6.048 | |
7064 Problem: CTRL-R in Command-line mode is documented to insert text as typed, | |
7065 but inserts text literally. | |
7066 Solution: Make CTRL-R insert text as typed, use CTRL-R CTRL-R to insert | |
7067 literally. This is consistent with Insert mode. But characters | |
7068 that end Command-line mode are inserted literally. | |
7069 Files: runtime/doc/index.txt, runtime/doc/cmdline.txt, src/ex_getln.c, | |
7070 src/ops.c, src/proto/ops.pro | |
7071 | |
7072 Patch 5.6.049 | |
7073 Problem: Documentation for [!] after ":ijump" is wrong way around. (Benji | |
7074 Fisher) | |
7075 Solution: Fix the documentation. Also improve the code to check for a match | |
7076 after a /* */ comment. | |
7077 Files: runtime/doc/tagsearch.txt, src/search.c | |
7078 | |
7079 Patch 5.6.050 | |
7080 Problem: Replacing is wrong when replacing a single-byte char with | |
7081 double-byte char or the other way around. | |
7082 Solution: Shift the text after the character when it is replaced. | |
7083 (Yasuhiro Matsumoto) | |
7084 Files: src/normal.c, src/misc1.c | |
7085 | |
7086 Patch 5.6.051 | |
7087 Problem: ":tprev" and ":tnext" don't give an error message when trying to | |
7088 go before the first or beyond the last tag. (Robert Webb) | |
7089 Solution: Added error messages. Also: Delay a second when a file-read | |
7090 message is going to overwrite an error message, otherwise it won't | |
7091 be seen. | |
7092 Files: src/fileio.c, src/tag.c | |
7093 | |
7094 Patch 5.6.052 | |
7095 Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte, | |
7096 it terminates the command. | |
7097 Solution: Skip second byte of multi-byte char when checking for '|' and '"'. | |
7098 (Asai Kenichi) | |
7099 Files: src/ex_docmd.c | |
7100 | |
7101 Patch 5.6.053 | |
7102 Problem: CTRL-] doesn't work on a tag that contains a '|'. (Cesar Crusius) | |
7103 Solution: Escape '|', '"' and '\' in tag names when using CTRL-] and also | |
7104 for command-line completion. | |
7105 Files: src/ex_getln.c, src/normal.c | |
7106 | |
7107 Patch 5.6.054 | |
7108 Problem: When using ":e" and ":e #" the cursor is put in the first column | |
7109 when 'startofline' is set. (Cordell) | |
7110 Solution: Use the last known column when 'startofline' is set. | |
7111 Also, use ECMD_LAST more often to simplify the code. | |
7112 Files: src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/buffer.pro | |
7113 | |
7114 Patch 5.6.055 | |
7115 Problem: When 'statusline' only contains a text without "%" and doesn't fit | |
7116 in the window, Vim crashes. (Ron Aaron) | |
7117 Solution: Don't use the pointer for the first item if there is no item. | |
7118 Files: src/screen.c | |
7119 | |
7120 Patch 5.6.056 (extra) | |
7121 Problem: MS-DOS: F11 and F12 don't work when 'bioskey' is set. | |
7122 Solution: Use enhanced keyboard functions. (Vince Negri) | |
7123 Detect presence of enhanced keyboard and set bioskey_read and | |
7124 bioskey_ready. | |
7125 Files: src/os_msdos.c | |
7126 | |
7127 Patch 5.6.057 (extra) | |
7128 Problem: Win32 GUI: Multi-byte characters are wrong in dialogs and tear-off | |
7129 menus. | |
7130 Solution: Use system font instead of a fixed font. (Matsumoto, Muraoka) | |
7131 Files: src/gui_w32.c | |
7132 | |
7133 Patch 5.6.058 | |
7134 Problem: When the 'a' flag is not in 'guioptions', non-Windows systems | |
7135 copy Visually selected text to the clipboard/selection on a yank | |
7136 or delete command anyway. On Windows it isn't done even when the | |
7137 'a' flag is included. | |
7138 Solution: Respect the 'a' flag in 'guioptions' on all systems. | |
7139 Files: src/normal.c | |
7140 | |
7141 Patch 5.6.059 (extra) | |
7142 Problem: When moving the cursor over italic text and the characters spill | |
7143 over to the cell on the right, that spill-over is deleted. | |
7144 Noticed in the Win32 GUI, can happen on other systems too. | |
7145 Solution: Redraw italic text starting from a blank, like this is already | |
7146 done for bold text. (Vince Negri) | |
7147 Files: src/gui.c, src/gui.h, src/gui_w32.c | |
7148 | |
7149 Patch 5.6.060 | |
7150 Problem: Some bold characters spill over to the cell on the left, that | |
7151 spill-over can remain sometimes. | |
2207
b17bbfa96fa0
Add the settabvar() and gettabvar() functions.
Bram Moolenaar <bram@vim.org>
parents:
2154
diff
changeset
|
7152 Solution: Redraw a character when the next character was bold and needs |
7 | 7153 redrawing. (Robert Webb) |
7154 Files: src/screen.c | |
7155 | |
7156 Patch 5.6.061 | |
7157 Problem: When xterm sends 8-bit controls, recognizing the version response | |
7158 doesn't work. | |
7159 When using CSI instead of <Esc>[ for the termcap color codes, | |
7160 using 16 colors doesn't work. (Neil Bird) | |
7161 Solution: Also accept CSI in place of <Esc>[ for the version string. | |
7162 Also check for CSI when handling colors 8-15 in term_color(). | |
7163 Use CSI for builtin xterm termcap entries when 'term' contains | |
7164 "8bit". | |
7165 Files: runtime/doc/term.txt, src/ex_cmds.c, src/option.c, src/term.c, | |
7166 src/os_unix.c, src/proto/option.pro, src/proto/term.pro | |
7167 | |
7168 Patch 5.6.062 | |
7169 Problem: The documentation says that setting 'smartindent' doesn't have an | |
7170 effect when 'cindent' is set, but it does make a difference for | |
7171 lines starting with "#". (Neil Bird) | |
7172 Solution: Really ignore 'smartindent' when 'cindent' is set. | |
7173 Files: src/misc1.c, src/ops.c | |
7174 | |
7175 Patch 5.6.063 | |
7176 Problem: Using "I" in Visual-block mode doesn't accept a count. (Johannes | |
7177 Zellner) | |
7178 Solution: Pass the count on to do_insert() and edit(). (Allan Kelly) | |
7179 Files: src/normal.c, src/ops.c, src/proto/ops.pro | |
7180 | |
7181 Patch 5.6.064 | |
7182 Problem: MS-DOS and Win32 console: Mouse doesn't work correctly after | |
7183 including patch 5.6.28. (Vince Negri) | |
7184 Solution: Don't check for mouse scroll wheel when the mouse code contains | |
7185 the number of clicks. | |
7186 Files: src/term.c | |
7187 | |
7188 Patch 5.6.065 | |
7189 Problem: After moving the cursor around in Insert mode, typing a space can | |
7190 still trigger an abbreviation. (Benji Fisher) | |
7191 Solution: Don't check for an abbreviation after moving around in Insert mode. | |
7192 Files: src/edit.c | |
7193 | |
7194 Patch 5.6.066 | |
7195 Problem: Still a few bold character spill-over remains after patch 60. | |
7196 Solution: Clear character just in front of blanking out rest of the line. | |
7197 (Robert Webb) | |
7198 Files: src/screen.c | |
7199 | |
7200 Patch 5.6.067 | |
7201 Problem: When a file name contains a NL, the viminfo file is corrupted. | |
7202 Solution: Use viminfo_writestring() to convert the NL to CTRL-V n. | |
7203 Also fix the Buffers menu and listing a menu name with a newline. | |
7204 Files: runtime/menu.vim, src/buffer.c, src/mark.c, src/menu.c | |
7205 | |
7206 Patch 5.6.068 | |
7207 Problem: Compiling the Perl interface doesn't work with Perl 5.6.0. | |
7208 (Bernhard Rosenkraenzer) | |
7209 Solution: Also check xs_apiversion for the version number when prepending | |
7210 defines for PL_*. | |
7211 Files: src/Makefile | |
7212 | |
7213 Patch 5.6.069 | |
7214 Problem: "go" doesn't always end up at the right character when | |
7215 'fileformat' is "dos". (Bruce DeVisser) | |
7216 Solution: Correct computations in ml_find_line_or_offset(). | |
7217 Files: src/memline. | |
7218 | |
7219 Patch 5.6.070 (depends on 5.6.068) | |
7220 Problem: Compiling the Perl interface doesn't work with Perl 5.6.0. | |
7221 (Bernhard Rosenkraenzer) | |
7222 Solution: Simpler check instead of the one from patch 68. | |
7223 Files: src/Makefile | |
7224 | |
7225 Patch 5.6.071 | |
7226 Problem: "A" in Visual block mode on a Tab positions the cursor one char to | |
7227 the right. (Michael Haumann) | |
7228 Solution: Correct the column computation in op_insert(). | |
7229 Files: src/ops.c | |
7230 | |
7231 Patch 5.6.072 | |
7232 Problem: When starting Vim with "vim +startinsert", it enters Insert mode | |
7233 only after typing the first command. (Andrew Pimlott) | |
7234 Solution: Insert a dummy command in the stuff buffer. | |
7235 Files: src/main.c | |
7236 | |
7237 Patch 5.6.073 (extra) (depends on 5.6.034) | |
7238 Problem: Win32 GUI: When compiled with Bcc 5.5 menus don't work. | |
7239 In dosinst.c toupper() and tolower() give an "internal compiler | |
7240 error" for Bcc 5.5. | |
7241 Solution: Define WINVER to 4 to avoid compiling for Windows 2000. (Dan | |
7242 Sharp) Also cleaned up compilation arguments. | |
7243 Use our own implementation of toupper() in dosinst.c. Use | |
7244 mytoupper() instead of tolower(). | |
7245 Files: src/Makefile.bor, src/dosinst.c | |
7246 | |
7247 Patch 5.6.074 (extra) | |
7248 Problem: Entering CSI directly doesn't always work, because it's recognized | |
7249 as the start of a special key. Mostly a problem with multi-byte | |
7250 in the GUI. | |
7251 Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI, | |
7252 <xCSI> for a CSI typed in the GUI. | |
7253 Files: runtime/doc/intro.txt, src/getchar.c, src/gui_amiga.c, | |
7254 src/gui_gtk_x11.c, src/gui_mac.c, src/gui_riscos.c, src/gui_w32.c, | |
7255 src/keymap.h, src/misc2.c | |
7256 | |
7257 Patch 5.6.075 | |
7258 Problem: When using "I" or "A" in Visual block mode while 'sts' is set may | |
7259 change spaces to a Tab the inserted text is not correct. (Mike | |
7260 Steed) And some other problems when using "A" to append after the | |
7261 end of the line. | |
7262 Solution: Check for change in spaces/tabs after inserting the text. Append | |
7263 spaces to fill the gap between the end-of-line and the right edge | |
7264 of the block. | |
7265 Files: src/ops.c | |
7266 | |
7267 Patch 5.6.076 | |
7268 Problem: GTK GUI: Mapping <M-Space> doesn't work. | |
7269 Solution: Don't use the "Alt" modifier twice in key_press_event(). | |
7270 Files: src/gui_gtk_x11.c | |
7271 | |
7272 Patch 5.6.077 | |
7273 Problem: GUI: When interrupting an external program with CTRL-C, gvim might | |
7274 crash. (Benjamin Korvemaker) | |
7275 Solution: Avoid using a NULL pointer in ui_inchar_undo(). | |
7276 Files: src/ui.c | |
7277 | |
7278 Patch 5.6.078 | |
7279 Problem: Locale doesn't always work on FreeBSD. (David O'Brien) | |
7280 Solution: Link with the "xpg4" library when available. | |
7281 Files: src/configure.in, src/configure | |
7282 | |
7283 Patch 5.6.079 | |
7284 Problem: Vim could crash when several Tcl interpreters are created and | |
7285 destroyed. | |
7286 Solution: handle the "exit" command and nested ":tcl" commands better. (Ingo | |
7287 Wilken) | |
7288 Files: runtime/doc/if_tcl.txt, src/if_tcl.c | |
7289 | |
7290 Patch 5.6.080 | |
7291 Problem: When jumping to a tag, generating the tags file and jumping to the | |
7292 same tag again uses the old search pattern. (Sung-Hyun Nam) | |
7293 Solution: Flush cached tag matches when executing an external command. | |
7294 Files: src/misc2.c, src/proto/tag.pro, src/tag.c | |
7295 | |
7296 Patch 5.6.081 | |
7297 Problem: ":syn include" uses a level for the included file, this confuses | |
7298 contained items included at the same level. | |
7299 Solution: Use a unique tag for each included file. Changed sp_syn_inc_lvl | |
7300 to sp_syn_inc_tag. (Scott Bigham) | |
7301 Files: src/syntax.c, src/structs.h | |
7302 | |
7303 Patch 5.6.082 | |
7304 Problem: When using cscope, Vim can crash. | |
7305 Solution: Initialize tag_fname in find_tags(). (Anton Blanchard) | |
7306 Files: src/tag.c | |
7307 | |
7308 Patch 5.6.083 (extra) | |
7309 Problem: Win32: The visual beep can't be seen. (Eric Roesinger) | |
7310 Solution: Flush the output before waiting with GdiFlush(). (Maurice S. Barnum) | |
7311 Also: Allow specifying the delay in t_vb for the GUI. | |
7312 Files: src/gui.c, src/gui_amiga.c, src/gui_gtk_x11.c, src/gui_mac.c, | |
7313 src/gui_riscos.c, src/gui_w32.c, src/gui_x11.c, src/gui_beos.cc, | |
7314 src/proto/gui_amiga.pro, src/proto/gui_gtk_x11.pro, | |
7315 src/proto/gui_mac.pro, src/proto/gui_riscos.pro, | |
7316 src/proto/gui_w32.pro, src/proto/gui_x11.pro, | |
7317 src/proto/gui_beos.pro | |
7318 | |
7319 Patch 5.6.084 (depends on 5.6.074) | |
7320 Problem: GUI: Entering CSI doesn't always work for Athena and Motif. | |
7321 Solution: Handle typed CSI as <xCSI> (forgot this bit in 5.6.074). | |
7322 Files: src/gui_x11.c | |
7323 | |
7324 Patch 5.6.085 | |
7325 Problem: Multi-byte: Using "r" to replace a double-byte char with a | |
7326 single-byte char moved the cursor one character. (Matsumoto) | |
7327 Also, using a count when replacing a single-byte char with a | |
7328 double-byte char didn't work. | |
7329 Solution: Don't use del_char() to delete the second byte. | |
7330 Get "ptr" again after calling ins_char(). | |
7331 Files: src/normal.c | |
7332 | |
7333 Patch 5.6.086 (extra) | |
7334 Problem: Win32: When using libcall() and the returned value is not a valid | |
7335 pointer, Vim crashes. | |
7336 Solution: Use IsBadStringPtr() to check if the pointer is valid. | |
7337 Files: src/os_win32.c | |
7338 | |
7339 Patch 5.6.087 | |
7340 Problem: Multi-byte: Commands and messages with multi-byte characters are | |
7341 displayed wrong. | |
7342 Solution: Detect double-byte characters. (Yasuhiro Matsumoto) | |
7343 Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c | |
7344 | |
7345 Patch 5.6.088 | |
7346 Problem: Multi-byte with Motif or Athena: The message "XIM requires | |
7347 fontset" is annoying when Vim was compiled with XIM support but it | |
7348 is not being used. | |
7349 Solution: Remove that message. | |
7350 Files: src/multbyte.c | |
7351 | |
7352 Patch 5.6.089 | |
7353 Problem: On non-Unix systems it's possible to overwrite a read-only file | |
7354 without using "!". | |
7355 Solution: Check if the file permissions allow overwriting before moving the | |
7356 file to become the backup file. | |
7357 Files: src/fileio.c | |
7358 | |
7359 Patch 5.6.090 | |
7360 Problem: When editing a file in "/home/dir/home/dir" this was replaced with | |
7361 "~~". (Andreas Jellinghaus) | |
7362 Solution: Replace the home directory only once in home_replace(). | |
7363 Files: src/misc1.c | |
7364 | |
7365 Patch 5.6.091 | |
7366 Problem: When editing many "no file" files, can't create swap file, because | |
7367 .sw[a-p] have all been used. (Neil Bird) | |
7368 Solution: Also use ".sv[a-z]", ".su[a-z]", etc. | |
7369 Files: src/memline.c | |
7370 | |
7371 Patch 5.6.092 | |
7372 Problem: FreeBSD: When setting $TERM to a non-valid terminal name, Vim | |
7373 hangs in tputs(). | |
7374 Solution: After tgetent() returns an error code, call it again with the | |
7375 terminal name "dumb". This apparently creates an environment in | |
7376 which tputs() doesn't fail. | |
7377 Files: src/term.c | |
7378 | |
7379 Patch 5.6.093 (extra) | |
7380 Problem: Win32 GUI: "ls | gvim -" will show a message box about reading | |
7381 stdin when Vim exits. (Donohue) | |
7382 Solution: Don't write a message about the file read from stdin until the GUI | |
7383 has started. | |
7384 Files: src/fileio.c | |
7385 | |
7386 Patch 5.6.094 | |
7387 Problem: Problem with multi-byte string for ":echo var". | |
7388 Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam) | |
7389 Also make do_echo() aware of multi-byte characters. | |
7390 Files: src/eval.c, src/message.c | |
7391 | |
7392 Patch 5.6.095 | |
7393 Problem: With an Emacs TAGS file that include another a relative path | |
7394 doesn't always work. | |
7395 Solution: Use expand_tag_fname() on the name of the included file. | |
7396 (Utz-Uwe Haus) | |
7397 Files: src/tag.c | |
7398 | |
7399 Patch 5.6.096 | |
7400 Problem: Unix: When editing many files, startup can be slow. (Paul | |
7401 Ackersviller) | |
7402 Solution: Halve the number of stat() calls used to add a file to the buffer | |
7403 list. | |
7404 Files: src/buffer.c | |
7405 | |
7406 Patch 5.7a.001 | |
7407 Problem: GTK doesn't respond on drag&drop from ROX-Filer. | |
7408 Solution: Add "text/uri-list" target. (Thomas Leonard) | |
7409 Also: fix problem with checking for trash arguments. | |
7410 Files: src/gui_gtk_x11.c | |
7411 | |
7412 Patch 5.7a.002 | |
7413 Problem: Multi-byte: 'showmatch' is performed when second byte of an | |
7414 inserted double-byte char is a paren or brace. | |
7415 Solution: Check IsTrailByte() before calling showmatch(). (Taro Muraoka) | |
7416 Files: src/misc1.c | |
7417 | |
7418 Patch 5.7a.003 | |
7419 Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at | |
7420 the end of the line on a multi-byte character the cursor moves to | |
7421 the left. | |
7422 Solution: Check for multi-byte character at end-of-line. (Taro Muraoka) | |
7423 Also: fix cls() to detect a double-byte character. (Chong-Dae Park) | |
7424 Files: src/edit.c, src/search.c | |
7425 | |
7426 Patch 5.7a.004 | |
7427 Problem: When reporting the search pattern offset, the string could be | |
7428 unterminated, which may cause a crash. | |
7429 Solution: Terminate the string for the search offset. (Stephen P. Wall) | |
7430 Files: src/search.c | |
7431 | |
7432 Patch 5.7a.005 | |
7433 Problem: When ":s//~/" doesn't find a match it reports "[NULL]" for the | |
7434 pattern. | |
7435 Solution: Use get_search_pat() to obtain the actually used pattern. | |
7436 Files: src/ex_cmds.c, src/proto/search.pro, src/search.c | |
7437 | |
7438 Patch 5.7a.006 (extra) | |
7439 Problem: VMS: Various problems, also with the VAXC compiler. | |
7440 Solution: In many places use the Unix code for VMS too. | |
7441 Added time, date and compiler version to version message. | |
7442 (Zoltan Arpadffy) | |
7443 Files: src/ex_cmds.c, src/ex_docmd.c, src/globals.h, src/gui_vms_conf.h, | |
7444 src/main.c, src/message.c, src/misc1.c, src/os_vms.c, | |
7445 src/os_vms.h, src/os_vms.mms, src/os_vms_conf.h, | |
7446 src/proto/os_vms.pro, src/proto/version.pro, src/term.c, | |
7447 src/version.c, src/xxd/os_vms.mms, src/xxd/xxd.c | |
7448 | |
7449 Patch 5.7a.007 | |
7450 Problem: Motif and Athena GUI: CTRL-@ is interpreted as CTRL-C. | |
7451 Solution: Only use "intr_char" when it has been set. | |
7452 Files: src/gui_x11.c | |
7453 | |
7454 Patch 5.7a.008 | |
7455 Problem: GTK GUI: When using CTRL-L the screen is redrawn twice, causing | |
7456 trouble for bold characters. Also happens when moving with the | |
7457 scrollbar. Best seen when 'writedelay' is non-zero. | |
7458 When starting the GUI with ":gui" the screen is redrawn once with | |
7459 the wrong colors. | |
7460 Solution: Only set the geometry hints when the window size really changed. | |
7461 This avoids setting it each time the scrollbar is forcefully | |
7462 redrawn. | |
7463 Don't redraw in expose_event() when gui.starting is still set. | |
7464 Files: src/gui_gtk_x11.c | |
7465 | |
7466 | |
7467 ============================================================================== | |
7468 VERSION 5.8 *version-5.8* | |
7469 | |
7470 Version 5.8 is a bug-fix version of 5.7. | |
7471 | |
7472 | |
7473 Changed *changed-5.8* | |
7474 ------- | |
7475 | |
7476 Ctags is no longer included with Vim. It has grown into a project of its own. | |
7477 You can find it here: http://ctags.sf.net. It is highly recommended as a Vim | |
7478 companion when you are writing programs. | |
7479 | |
7480 | |
7481 Added *added-5.8* | |
7482 ----- | |
7483 | |
7484 New syntax files: | |
7485 acedb AceDB (Stewart Morris) | |
7486 aflex Aflex (Mathieu Clabaut) | |
7487 antlr Antlr (Mathieu Clabaut) | |
7488 asm68k 68000 Assembly (Steve Wall) | |
7489 automake Automake (John Williams) | |
7490 ayacc Ayacc (Mathieu Clabaut) | |
7491 b B (Mathieu Clabaut) | |
7492 bindzone BIND zone (glory hump) | |
7493 blank Blank (Rafal Sulejman) | |
7494 cfg Configure files (Igor Prischepoff) | |
7495 changelog ChangeLog (Gediminas Paulauskas) | |
7496 cl Clever (Phil Uren) | |
7497 crontab Crontab (John Hoelzel) | |
7498 csc Essbase script (Raul Segura Acevedo) | |
7499 cynlib Cynlib(C++) (Phil Derrick) | |
7500 cynpp Cyn++ (Phil Derrick) | |
7501 debchangelog Debian Changelog (Wichert Akkerman) | |
7502 debcontrol Debian Control (Wichert Akkerman) | |
7503 dns DNS zone file (Jehsom) | |
7504 dtml Zope's DTML (Jean Jordaan) | |
7505 dylan Dylan, Dylan-intr and Dylan-lid (Brent Fulgham) | |
7506 ecd Embedix Component Description (John Beppu) | |
7507 fgl Informix 4GL (Rafal Sulejman) | |
7508 foxpro FoxPro (Powing Tse) | |
7509 gsp GNU Server Pages (Nathaniel Harward) | |
7510 gtkrc GTK rc (David Necas) | |
7511 hercules Hercules (Avant! Corporation) (Dana Edwards) | |
7512 htmlos HTML/OS by Aestiva (Jason Rust) | |
7513 inittab SysV process control (David Necas) | |
7514 iss Inno Setup (Dominique Stephan) | |
7515 jam Jam (Ralf Lemke) | |
7516 jess Jess (Paul Baleme) | |
7517 lprolog LambdaProlog (Markus Mottl) | |
7518 ia64 Intel Itanium (parth malwankar) | |
7519 kix Kixtart (Nigel Gibbs) | |
7520 mgp MaGic Point (Gerfried Fuchs) | |
7521 mason Mason (HTML with Perl) (Andrew Smith) | |
7522 mma Mathematica (Wolfgang Waltenberger) | |
7523 nqc Not Quite C (Stefan Scherer) | |
7524 omnimark Omnimark (Paul Terray) | |
7525 openroad OpenROAD (Luis Moreno Serrano) | |
7526 named BIND configuration (glory hump) | |
7527 papp PApp (Marc Lehmann) | |
7528 pfmain Postfix main config (Peter Kelemen) | |
7529 pic PIC assembly (Aleksandar Veselinovic) | |
7530 ppwiz PPWizard (Stefan Schwarzer) | |
7531 progress Progress (Phil Uren) | |
7532 psf Product Specification File (Rex Barzee) | |
7533 r R (Tom Payne) | |
7534 registry MS-Windows registry (Dominique Stephan) | |
7535 robots Robots.txt (Dominique Stephan) | |
7536 rtf Rich Text Format (Dominique Stephan) | |
7537 setl SETL (Alex Poylisher) | |
7538 sgmldecl SGML Declarations (Daniel A. Molina W.) | |
7539 sinda Sinda input (Adrian Nagle) | |
7540 sindacmp Sinda compare (Adrian Nagle) | |
7541 sindaout Sinda output (Adrian Nagle) | |
7542 smith SMITH (Rafal Sulejman) | |
7543 snobol4 Snobol 4 (Rafal Sulejman) | |
7544 strace Strace (David Necas) | |
7545 tak TAK input (Adrian Nagle) | |
7546 takcmp TAK compare (Adrian Nagle) | |
7547 takout TAK output (Adrian Nagle) | |
7548 tasm Turbo assembly (FooLman) | |
7549 texmf TeX configuration (David Necas) | |
7550 trasys Trasys input (Adrian Nagle) | |
7551 tssgm TSS Geometry (Adrian Nagle) | |
7552 tssop TSS Optics (Adrian Nagle) | |
7553 tsscl TSS Command line (Adrian Nagle) | |
7554 virata Virata Configuration Script (Manuel M.H. Stol) | |
7555 vsejcl VSE JCL (David Ondrejko) | |
7556 wdiff Wordwise diff (Gerfried Fuchs) | |
7557 wsh Windows Scripting Host (Paul Moore) | |
7558 xkb X Keyboard Extension (David Necas) | |
7559 | |
7560 Renamed php3 to php, it now also supports php4 (Lutz Eymers) | |
7561 | |
7562 Patch 5.7.015 | |
7563 Problem: Syntax files for Vim 6.0 can't be used with 5.x. | |
7564 Solution: Add the "default" argument to the ":highlight" command: Ignore the | |
7565 command if highlighting was already specified. | |
7566 Files: src/syntax.c | |
7567 | |
7568 Generate the Syntax menu with makemenu.vim, so that it doesn't have to be done | |
7569 when Vim is starting up. Reduces the startup time of the GUI. | |
7570 | |
7571 | |
7572 Fixed *fixed-5.8* | |
7573 ----- | |
7574 | |
7575 Conversion of docs to HTML didn't convert "|tag|s" to a hyperlink. | |
7576 | |
7577 Fixed compiling under NeXT. (Jeroen C.M. Goudswaard) | |
7578 | |
7579 optwin.vim gave an error when used in Vi compatible mode ('cpo' contains 'C'). | |
7580 | |
1121 | 7581 Tcl interpreter: "buffer" command didn't check for presence of an argument. |
7 | 7582 (Dave Bodenstab) |
7583 | |
7584 dosinst.c: Added checks for too long file name. | |
7585 | |
7586 Amiga: a file name starting with a colon was considered absolute but it isn't. | |
7587 Amiga: ":pwd" added a slash when in the root of a drive. | |
7588 | |
7589 Macintosh: Warnings for unused variables. (Bernhard Pruemmer) | |
7590 | |
7591 Unix: When catching a deadly signal, handle it in such a way that it's | |
7592 unlikely that Vim will hang. Call _exit() instead of exit() in case of a | |
7593 severe problem. | |
7594 | |
7595 Setting the window title from nothing to something didn't work after patch 29. | |
7596 | |
7597 Check for ownership of .exrc and .vimrc was done with stat(). Use lstat() as | |
7598 well for extra security. | |
7599 | |
7600 Win32 GUI: Printing a file with 'fileformat' "unix" didn't work. Set | |
7601 'fileformat' to "dos" before writing the temp file. | |
7602 | |
7603 Unix: Could start waiting for a character when checking for a CTRL-C typed | |
7604 when an X event is received. | |
7605 | |
7606 Could not use Perl and Python at the same time on FreeBSD, because Perl used | |
7607 "-lc" and Python used the threaded C library. | |
7608 | |
7609 Win32: The Mingw compiler gave a few warning messages. | |
7610 | |
7611 When using "ZZ" and an autocommand for writing uses an abbreviation it didn't | |
7612 work. Don't stuff the ":x" command but execute it directly. (Mikael Berthe) | |
7613 | |
7614 VMS doesn't always have lstat(), added an #ifdef around it. | |
7615 | |
7616 Added a few corrections for the Macintosh. (Axel Kielhorn) | |
7617 | |
7618 Win32: Gvimext could not edit more than a few files at once, the length of the | |
7619 argument was fixed. | |
7620 | |
7621 | |
7622 Previously released patches for Vim 5.7: | |
7623 | |
7624 Patch 5.7.001 | |
7625 Problem: When the current buffer is crypted, and another modified buffer | |
7626 isn't, ":wall" will encrypt the other buffer. | |
7627 Solution: In buf_write() use "buf" instead of "curbuf" to check for the | |
7628 crypt key. | |
7629 Files: src/fileio.c | |
7630 | |
7631 Patch 5.7.002 | |
7632 Problem: When 'showmode' is set, using "CTRL-O :r file" waits three seconds | |
7633 before displaying the read text. (Wichert Akkerman) | |
7634 Solution: Set "keep_msg" to the file message so that the screen is redrawn | |
7635 before the three seconds wait for displaying the mode message. | |
7636 Files: src/fileio.c | |
7637 | |
7638 Patch 5.7.003 | |
7639 Problem: Searching for "[[:cntrl:]]" doesn't work. | |
7640 Solution: Exclude NUL from the matching characters, it terminates the list. | |
7641 Files: src/regexp.c | |
7642 | |
7643 Patch 5.7.004 | |
7644 Problem: GTK: When selecting a new font, Vim can crash. | |
7645 Solution: In gui_mch_init_font() unreference the old font, not the new one. | |
7646 Files: src/gui_gtk_x11.c | |
7647 | |
7648 Patch 5.7.005 | |
7649 Problem: Multibyte: Inserting a wrapped line corrupts kterm screen. | |
7650 Pasting TEXT/COMPOUND_TEXT into Vim does not work. | |
7651 On Motif no XIM status line is displayed even though it is | |
7652 available. | |
7653 Solution: Don't use xterm trick for wrapping lines for multibyte mode. | |
7654 Correct a missing "break", added TEXT/COMPOUND_TEXT selection | |
7655 request. | |
7656 Add XIMStatusArea fallback code. | |
7657 (Katsuhito Nagano) | |
7658 Files: src/gui_gtk_x11.c, src/multbyte.c, src/screen.c, src/ui.c | |
7659 | |
7660 Patch 5.7.006 | |
7661 Problem: GUI: redrawing the non-Visual selection is wrong when the window | |
7662 is unobscured. (Jean-Pierre Etienne) | |
7663 Solution: Redraw the selection properly and don't clear it. Added "len" | |
7664 argument to clip_may_redraw_selection(). | |
7665 Files: src/gui.c, src/ui.c, src/proto/ui.pro | |
7666 | |
7667 Patch 5.7.007 | |
7668 Problem: Python: Crash when using the current buffer twice. | |
7669 Solution: Increase the reference count for buffer and window objects. | |
7670 (Johannes Zellner) | |
7671 Files: src/if_python.c | |
7672 | |
7673 Patch 5.7.008 | |
7674 Problem: In Ex mode, backspacing over the first TAB doesn't work properly. | |
7675 (Wichert Akkerman) | |
7676 Solution: Switch the cursor on before printing the newline. | |
7677 Files: src/ex_getln.c | |
7678 | |
7679 Patch 5.7.009 (extra) | |
7680 Problem: Mac: Crash when using a long file. | |
7681 Solution: Don't redefine malloc() and free(), because it will break using | |
7682 realloc(). | |
7683 Files: src/os_mac.h | |
7684 | |
7685 Patch 5.7.010 | |
7686 Problem: When using CTRL-A on a very long number Vim can crash. (Michael | |
7687 Naumann) | |
7688 Solution: Truncate the length of the new number to avoid a buffer overflow. | |
7689 Files: src/ops.c | |
7690 | |
7691 Patch 5.7.011 (extra) | |
7692 Problem: Win32 GUI on NT 5 and Win98: Displaying Hebrew is reversed. | |
7693 Solution: Output each character separately, to avoid that Windows reverses | |
7694 the text for some fonts. (Ron Aaron) | |
7695 Files: src/gui_w32.c | |
7696 | |
7697 Patch 5.7.012 | |
7698 Problem: When using "-complete=buffer" for ":command" the user command | |
7699 fails. | |
7700 Solution: In a user command don't replace the buffer name with a count for | |
7701 the buffer number. | |
7702 Files: src/ex_docmd.c | |
7703 | |
7704 Patch 5.7.013 | |
7705 Problem: "gD" didn't always find a match in the first line, depending on | |
7706 the column the search started at. | |
7707 Solution: Reset the column to zero before starting to search. | |
7708 Files: src/normal.c | |
7709 | |
7710 Patch 5.7.014 | |
7711 Problem: Rot13 encoding was done on characters with accents, which is | |
7712 wrong. (Sven Gottwald) | |
7713 Solution: Only do rot13 encoding on ASCII characters. | |
7714 Files: src/ops.c | |
7715 | |
7716 Patch 5.7.016 | |
7717 Problem: When hitting 'n' for a ":s///c" command, the ignore-case flag was | |
7718 not restored, some matches were skipped. (Daniel Blaustein) | |
7719 Solution: Restore the reg_ic variable when 'n' was hit. | |
7720 Files: src/ex_cmds.c | |
7721 | |
7722 Patch 5.7.017 | |
7723 Problem: When using a Vim script for Vim 6.0 with <SID> before a function | |
7724 name, it produces an error message even when inside an "if version | |
7725 >= 600". (Charles Campbell) | |
7726 Solution: Ignore errors in the function name when the function is not going | |
7727 to be defined. | |
7728 Files: src/eval.c | |
7729 | |
7730 Patch 5.7.018 | |
7731 Problem: When running "rvim" or "vim -Z" it was still possible to execute a | |
7732 shell command with system() and backtick-expansion. (Antonios A. | |
7733 Kavarnos) | |
7734 Solution: Disallow executing a shell command in get_cmd_output() and | |
7735 mch_expand_wildcards(). | |
7736 Files: src/misc1.c, src/os_unix.c | |
7737 | |
7738 Patch 5.7.019 | |
7739 Problem: Multibyte: In a substitute string, a multi-byte character isn't | |
7740 skipped properly, can be a problem when the second byte is a | |
7741 backslash. | |
7742 Solution: Skip an extra byte for a double-byte character. (Muraoka Taro) | |
7743 Files: src/ex_cmds.c | |
7744 | |
7745 Patch 5.7.020 | |
7746 Problem: Compilation doesn't work on MacOS-X. | |
7747 Solution: Add a couple of #ifdefs. (Jamie Curmi) | |
7748 Files: src/regexp.c, src/ctags/general.h | |
7749 | |
7750 Patch 5.7.021 | |
7751 Problem: Vim sometimes produces a beep when started in an xterm. Only | |
7752 happens when compiled without mouse support. | |
7753 Solution: Requesting the xterm version results in a K_IGNORE. This wasn't | |
7754 handled when mouse support is disabled. Accept K_IGNORE always. | |
7755 Files: src/normal.c | |
7756 | |
7757 Patch 5.7.022 | |
7758 Problem: %v in 'statusline' is not displayed when it's equal to %c. | |
7759 Solution: Check if %V or %v is used and handle them differently. | |
7760 Files: src/screen.c | |
7761 | |
7762 Patch 5.7.023 | |
7763 Problem: Crash when a WinLeave autocommand deletes the buffer in the other | |
7764 window. | |
7765 Solution: Check that after executing the WinLeave autocommands there still | |
7766 is a window to be closed. Also update the test that was supposed | |
7767 to check for this problem. | |
7768 Files: src/window.c, testdir/test13.in, testdir/test13.ok | |
7769 | |
7770 Patch 5.7.024 | |
7771 Problem: Evaluating an expression for 'statusline' can have side effects. | |
7772 Solution: Evaluate the expression in a sandbox. | |
7773 Files: src/edit.c, src/eval.c, src/proto/eval.pro, src/ex_cmds.c, | |
7774 src/ex_cmds.h, src/ex_docmd.c, src/globals.h, src/option.c, | |
7775 src/screen.c, src/undo.c | |
7776 | |
7777 Patch 5.7.025 (fixed) | |
7778 Problem: Creating a temp file has a race condition. | |
7779 Solution: Create a private directory to write the temp files in. | |
7780 Files: src/fileio.c, src/misc1.c, src/proto/misc1.pro, | |
7781 src/proto/fileio.pro, src/memline.c, src/os_unix.h | |
7782 | |
7783 Patch 5.7.026 (extra) | |
7784 Problem: Creating a temp file has a race condition. | |
7785 Solution: Create a private directory to write the temp files in. | |
7786 This is the extra part of patch 5.7.025. | |
7787 Files: src/os_msdos.h | |
7788 | |
7789 Patch 5.7.027 | |
7790 Problem: Starting to edit a file can cause a crash. For example when in | |
7791 Insert mode, using CTRL-O :help abbr<Tab> to scroll the screen and | |
7792 then <CR>, which edits a help file. (Robert Bogomip) | |
7793 Solution: Check if keep_msg is NULL before copying it. | |
7794 Files: src/fileio.c | |
7795 | |
7796 Patch 5.7.028 | |
7797 Problem: Creating a backup or swap file could fail in rare situations. | |
7798 Solution: Use O_EXCL for open(). | |
7799 Files: src/fileio.c, src/memfile.c | |
7800 | |
7801 Patch 5.7.029 | |
7802 Problem: Editing a file with an extremely long name crashed Vim. | |
7803 Solution: Check for length of the name when setting the window title. | |
7804 Files: src/buffer.c | |
7805 | |
7806 Patch 5.7.030 | |
7807 Problem: A ":make" or ":grep" command with a very long argument could cause | |
7808 a crash. | |
7809 Solution: Allocate the buffer for the shell command. | |
7810 Files: src/ex_docmd.c | |
7811 | |
7812 | |
7813 vim:tw=78:ts=8:ft=help:norl: |