1 *version6.txt* For Vim version 7.2b. Last change: 2007 May 11
4 VIM REFERENCE MANUAL by Bram Moolenaar
7 Welcome to Vim Version 6.0! A large number of features has been added. This
8 file mentions all the new items that have been added, changes to existing
9 features and bug fixes compared to Vim 5.x.
11 See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0.
12 See |version4.txt| for differences between Vim 3.0 and Vim 4.0.
13 See |version5.txt| for differences between Vim 4.0 and Vim 5.0.
15 INCOMPATIBLE CHANGES |incompatible-6|
17 Cursor position in Visual mode |curpos-visual|
18 substitute command Vi compatible |substitute-CR|
19 global option values introduced |new-global-values|
20 'fileencoding' changed |fileencoding-changed|
21 Digraphs changed |digraphs-changed|
22 Filetype detection changed |filetypedetect-changed|
23 Unlisted buffers introduced |new-unlisted-buffers|
24 CTRL-U in Command-line mode changed |CTRL-U-changed|
25 Ctags gone |ctags-gone|
26 Documentation reorganized |documentation-6|
27 Modeless selection and clipboard |modeless-and-clipboard|
28 Small incompatibilities |incomp-small-6|
33 Vertically split windows |new-vertsplit|
34 Diff mode |new-diff-mode|
35 Easy Vim: click-and-type |new-evim|
36 User manual |new-user-manual|
37 Flexible indenting |new-indent-flex|
38 Extended search patterns |new-searchpat|
39 UTF-8 support |new-utf-8|
40 Multi-language support |new-multi-lang|
41 Plugin support |new-plugins|
42 Filetype plugins |new-filetype-plugins|
43 File browser |new-file-browser|
44 Editing files over a network |new-network-files|
45 Window for command-line editing |new-cmdwin|
46 Debugging mode |new-debug-mode|
47 Cursor in virtual position |new-virtedit|
48 Debugger interface |new-debug-itf|
49 Communication between Vims |new-vim-server|
50 Buffer type options |new-buftype|
51 Printing |new-printing|
53 Quickfix extended |quickfix-6|
54 Operator modifiers |new-operator-mod|
55 Search Path |new-search-path|
56 Writing files improved |new-file-writing|
57 Argument list |new-argument-list|
58 Restore a View |new-View|
59 Color schemes |new-color-schemes|
60 Various new items |new-items-6|
62 IMPROVEMENTS |improvements-6|
64 COMPILE TIME CHANGES |compile-changes-6|
66 BUG FIXES |bug-fixes-6|
68 VERSION 6.1 |version-6.1|
73 VERSION 6.2 |version-6.2|
78 VERSION 6.3 |version-6.3|
83 VERSION 6.4 |version-6.4|
88 ==============================================================================
89 INCOMPATIBLE CHANGES *incompatible-6*
91 These changes are incompatible with previous releases. Check this list if you
92 run into a problem when upgrading from Vim 5.x to 6.0
95 Cursor position in Visual mode *curpos-visual*
96 ------------------------------
98 When going from one window to another window on the same buffer while in
99 Visual mode, the cursor position of the other window is adjusted to keep the
100 same Visual area. This can be used to set the start of the Visual area in one
101 window and the end in another. In vim 5.x the cursor position of the other
102 window would be used, which could be anywhere and was not very useful.
105 Substitute command Vi compatible *substitute-CR*
106 --------------------------------
108 The substitute string (the "to" part of the substitute command) has been made
109 Vi compatible. Previously a CTRL-V had a special meaning and could be used to
110 prevent a <CR> to insert a line break. This made it impossible to insert a
111 CTRL-V before a line break. Now a backslash is used to prevent a <CR> to
112 cause a line break. Since the number of backslashes is halved, it is still
113 possible to insert a line break at the end of the line. This now works just
114 like Vi, but it's not compatible with Vim versions before 6.0.
116 When a ":s" command doesn't make any substitutions, it no longer sets the '[
117 and '] marks. This is not related to Vi, since it doesn't have these marks.
120 Global option values introduced *new-global-values*
121 -------------------------------
123 There are now global values for options which are local to a buffer or window.
124 Previously the local options were copied from one buffer to another. When
125 editing another file this could cause option values from a modeline to be used
126 for the wrong file. Now the global values are used when entering a buffer
127 that has not been used before. Also, when editing another buffer in a window,
128 the local window options are reset to their global values. The ":set" command
129 sets both the local and global values, this is still compatible. But a
130 modeline only sets the local value, this is not backwards compatible.
132 ":let &opt = val" now sets the local and global values, like ":set". New
133 commands have been added to set the global or local value:
134 :let &opt = val like ":set"
135 :let &g:opt = val like ":setglobal"
136 :let &l:opt = val like ":setlocal"
139 'fileencoding' changed *fileencoding-changed*
140 ----------------------
142 'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim.
143 This was a bit strange, because it was local to a buffer and worked for all
144 buffers. It could never be different between buffers, because it changed the
145 way text in all buffers was interpreted.
146 It is now used for the encoding of the file related to the buffer. If you
147 still set 'fileencoding' it is likely to be overwritten by the detected
148 encoding from 'fileencodings', thus it is "mostly harmless".
149 The old FileEncoding autocommand now does the same as the new EncodingChanged
153 Digraphs changed *digraphs-changed*
156 The default digraphs now correspond to RFC1345. This is very different from
157 what was used in Vim 5.x. |digraphs|
160 Filetype detection changed *filetypedetect-changed*
161 --------------------------
163 The filetype detection previously was using the "filetype" autocommand group.
164 This caused confusion with the FileType event name (case is ignored). The
165 group is now called "filetypedetect". It still works, but if the "filetype"
166 group is used the autocommands will not be removed by ":filetype off".
167 The support for 'runtimepath' has made the "myfiletypefile" and
168 "mysyntaxfile" mechanism obsolete. They are still used for backwards
171 The connection between the FileType event and setting the 'syntax' option was
172 previously in the "syntax" autocommand group. That caused confusion with the
173 Syntax event name. The group is now called "syntaxset".
175 The distributed syntax files no longer contain "syntax clear". That makes it
176 possible to include one in the other without tricks. The syntax is now
177 cleared when the 'syntax' option is set (by an autocommand added from
178 synload.vim). This makes the syntax cleared when the value of 'syntax' does
179 not correspond to a syntax file. Previously the existing highlighting was
183 Unlisted buffers introduced *new-unlisted-buffers*
184 ---------------------------
186 There is now a difference between buffers which don't appear in the buffer
187 list and buffers which are really not in the buffer list. Commands like
188 ":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the
189 buffer list. |unlisted-buffer|
190 The 'buflisted' option can be used to make a buffer appear in the buffer list
193 Several commands that previously added a buffer to the buffer list now create
194 an unlisted buffer. This means that a ":bnext" and ":ball" will not find these
195 files until they have actually been edited. For example, buffers used for the
196 alternative file by ":write file" and ":read file".
197 Other commands previously completely deleted a buffer and now only remove
198 the buffer from the buffer list. Commands relying on a buffer not to be
199 present might fail. For example, a ":bdelete" command in an autocommand that
200 relied on something following to fail (was used in the automatic tests).
201 |:bwipeout| can be used for the old meaning of ":bdelete".
203 The BufDelete autocommand event is now triggered when a buffer is removed from
204 the buffer list. The BufCreate event is only triggered when a buffer is
205 created that is added to the buffer list, or when an existing buffer is added
206 to the buffer list. BufAdd is a new name for BufCreate.
207 The new BufNew event is for creating any buffer and BufWipeout for really
210 When doing Insert mode completion, only buffers in the buffer list are
211 scanned. Added the 'U' flag to 'complete' to do completion from unlisted
214 Unlisted buffers are not stored in a viminfo file.
217 CTRL-U in Command-line mode changed *CTRL-U-changed*
218 -----------------------------------
220 Using CTRL-U when editing the command line cleared the whole line. Most
221 shells only delete the characters before the cursor. Made it work like that.
224 You can get the old behavior with CTRL-E CTRL-U: >
225 :cnoremap <C-U> <C-E><C-U>
228 Ctags gone *ctags-gone*
231 Ctags is no longer part of the Vim distribution. It's now a grown-up program
232 by itself, it deserves to be distributed separately.
233 Ctags can be found here: http://ctags.sf.net/.
236 Documentation reorganized *documentation-6*
237 -------------------------
239 The documentation has been reorganized, an item may not be where you found it
241 - The user manual was added, some items have been moved to it from the
243 - The quick reference is now in a separate file (so that it can be printed).
245 The examples in the documentation were previously marked with a ">" in the
246 first column. This made it difficult to copy/paste them. There is now a
247 single ">" before the example and it ends at a "<" or a non-blank in the first
248 column. This also looks better without highlighting.
250 'helpfile' is no longer used to find the help tags file. This allows a user
251 to add its own help files (e.g., for plugins).
254 Modeless selection and clipboard *modeless-and-clipboard*
255 --------------------------------
257 The modeless selection is used to select text when Visual mode can't be used,
258 for example when editing the command line or at the more prompt.
259 In Vim 5.x the modeless selection was always used. On MS-Windows this caused
260 the clipboard to be overwritten, with no way to avoid that. The modeless
261 selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and
262 "autoselectml" in 'clipboard'. By default there is no automatic copy on
263 MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection.
265 To get the old behavior back, do this: >
267 :set clipboard^=autoselectml guioptions+=A
270 Small incompatibilities *incomp-small-6*
271 -----------------------
273 'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg',
274 'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg',
275 'viminfo' and 'runtimepath' can no longer be set from a modeline, for better
278 Removed '_' from the 'breakat' default: It's commonly used in keywords.
280 The default for 'mousehide' is on, because this works well for most people.
282 The Amiga binary is now always compiled with "big" features. The "big" binary
283 archive no longer exists.
285 The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in
286 'statusline' no longer have a leading space.
288 Non-Unix systems: When expanding wildcards for the Vim arguments, don't use
289 'suffixes'. It now works as if the shell had expanded the arguments.
291 The 'lisp', 'smartindent' and 'cindent' options are not switched off when
292 'paste' is set. The auto-indenting is disabled when 'paste' is set, but
293 manual indenting with "=" still works.
295 When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there
296 is no change in indent, this is not counted as a change ('modified' isn't set
297 and there is nothing to undo).
299 Report 'modified' as changed when 'fileencoding' or 'fileformat' was set.
300 Thus it reflects the possibility to abandon the buffer without losing changes.
302 The "Save As" menu entry now edits the saved file. Most people expect it to
305 A buffer for a directory is no longer added to the Buffers menu.
307 Renamed <Return> to <Enter>, since that's what it's called on most keyboards.
308 Thus it's now the hit-enter prompt instead of the hit-return prompt.
309 Can map <Enter> just like <CR> or <Return>.
311 The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't
312 set. Most people will want to use it, including beginners, but it required
313 setting the option, which isn't that easy.
315 After using ":colder" the newer error lists are overwritten. This makes it
316 possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99"
317 to get the old behavior.
319 The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and
320 sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to
323 The 16 bit MS-DOS version is now compiled without the +listcmds feature
324 (buffer list manipulation commands). They are not often needed and this
325 executable needs to be smaller.
327 'sessionoptions' now includes "curdir" by default. This means that restoring
328 a session will result in the current directory being restored, instead of
329 going to the directory where the session file is located.
331 A session deleted all buffers, deleting all marks. Now keep the buffer list,
332 it shouldn't hurt for some existing buffers to remain present.
333 When the argument list is empty ":argdel *" caused an error message.
335 No longer put the search pattern from a tag jump in the history.
337 Use "SpecialKey" highlighting for unprintable characters instead of "NonText".
338 The idea is that unprintable text or any text that's displayed differently
339 from the characters in the file is using "SpecialKey", and "NonText" is used
340 for text that doesn't really exist in the file.
342 Motif now uses the system default colors for the menu and scrollbar. Used to
343 be grey. It's still possible to set the colors with ":highlight" commands and
346 Formatting text with "gq" breaks a paragraph at a non-empty blank line.
347 Previously the line would be removed, which wasn't very useful.
349 ":normal" does no longer hang when the argument ends in half a command.
350 Previously Vim would wait for more characters to be typed, without updating
351 the screen. Now it pretends an <Esc> was typed.
353 Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in
354 the "bitmaps" directories in 'runtimepath'.
356 Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal
357 mode menus. This generally works better and allows using the "Copy" menu to
358 produce CTRL-Y to copy the modeless selection.
360 Moved the font selection from the Window to the Edit menu, together with the
363 The default values for 'isfname' include more characters to make "gf" work
366 Changed the license for the documentation to the Open Publication License.
367 This seemed fair, considering the inclusion of parts of the Vim book, which is
368 also published under the OPL. The downside is that we can't force someone who
369 would sell copies of the manual to contribute to Uganda.
371 After "ayy don't let ""yy or :let @" = val overwrite the "a register.
372 Use the unnamed register instead.
374 MSDOS: A pattern "*.*" previously also matched a file name without a dot.
375 This was inconsistent with other versions.
377 In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously
378 it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N,
379 which is supposed to take us to Normal mode (especially in ":amenu").
381 Allow using ":" commands after an operator. Could be used to implement a new
382 movement command. Thus it no longer aborts a pending operator.
384 For the Amiga the "-d {device}" argument was possible. When compiled with the
385 diff feature, this no longer works. Use "-dev {device}" instead. |-dev|
387 Made the default mappings for <S-Insert> in Insert mode insert the text
388 literally, avoids that special characters like BS cause side effects.
390 Using ":confirm" applied to the rest of the line. Now it applies only to the
391 command right after it. Thus ":confirm if x | edit | endif" no longer works,
392 use ":if x | confirm edit | endif". This was the original intention, that it
393 worked differently was a bug.
395 ==============================================================================
398 Folding *new-folding*
401 Vim can now display a buffer with text folded. This allows overviewing the
402 structure of a file quickly. It is also possible to yank, delete and put
403 folded text, for example to move a function to another position.
405 There is a whole bunch of new commands and options related to folding.
409 Vertically split windows *new-vertsplit*
410 ------------------------
412 Windows can also be split vertically. This makes it possible to have windows
413 side by side. One nice use for this is to compare two similar files (see
414 |new-diff-mode|). The 'scrollbind' option can be used to synchronize
417 A vertical split can be created with the commands:
418 :vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit|
420 :vertical {cmd} |:vertical|
421 The last one is a modifier, which has a meaning for any command that splits a
422 window. For example: >
424 Will vertically split the window and jump to the tag "main" in the new window.
426 Moving from window to window horizontally can be done with the |CTRL-W_h| and
427 |CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed
428 to jump to the window above or below the cursor position.
430 The vertical and horizontal splits can be mixed as you like. Resizing windows
431 is easy when using the mouse, just position the pointer on a status line or
432 vertical separator and drag it. In the GUI a special mouse pointer shape
433 indicates where you can drag a status or separator line.
435 To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands.
436 To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|.
438 To force a new window to use the full width or height of the Vim window,
439 these two modifiers are available:
440 :topleft {cmd} New window appears at the top with full
441 width or at the left with full height.
442 :botright {cmd} New window appears at the bottom with full
443 width or at the right with full height.
444 This can be combined with ":vertical" to force a vertical split: >
445 :vert bot dsplit DEBUG
446 This will open a window at the far right, occupying the full height of the Vim
447 window, with the cursor on the first definition of "DEBUG".
448 The help window is opened at the top, like ":topleft" was used, if the current
449 window is fewer than 80 characters wide.
451 A few options can be used to set the preferences for vertically split windows.
452 They work similar to their existing horizontal equivalents:
453 horizontal vertical ~
454 'splitbelow' 'splitright'
455 'winheight' 'winwidth'
456 'winminheight' 'winminwidth'
457 It's possible to set 'winminwidth' to zero, so that temporarily unused windows
458 hardly take up space without closing them.
460 The new 'eadirection' option tells where 'equalalways' applies:
461 :set eadirection=both both directions
462 :set eadirection=ver equalize window heights
463 :set eadirection=hor equalize windows widths
464 This can be used to avoid changing window sizes when you want to keep them.
466 Since windows can become quite narrow with vertical splits, text lines will
467 often not fit. The 'sidescrolloff' has been added to keep some context left
468 and right of the cursor. The 'listchars' option has been extended with the
469 "precedes" item, to show a "<" for example, when there is text left off the
470 screen. (Utz-Uwe Haus)
472 "-O" command line argument: Like "-o" but split windows vertically. (Scott
475 Added commands to move the current window to the very top (CTRL-W K), bottom
476 (CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the
477 window uses the full width/height of the screen.
479 When there is not enough room in the status line for both the file name and
480 the ruler, use up to half the width for the ruler. Useful for narrow windows.
483 Diff mode *new-diff-mode*
486 In diff mode Vim shows the differences between two, three or four files.
487 Folding is used to hide the parts of the file that are equal.
488 Highlighting is used to show deleted and changed lines.
491 An easy way to start in diff mode is to start Vim as "vimdiff file1 file2".
492 Added the vimdiff manpage.
494 In a running Vim the |:diffsplit| command starts diff mode for the current
495 file and another file. The |:diffpatch| command starts diff mode using the
496 current file and a patch file. The |:diffthis| command starts diff mode for
499 Differences can be removed with the |:diffget| and |:diffput| commands.
501 - The 'diff' option switches diff mode on in a window.
502 - The |:diffupdate| command refreshes the diffs.
503 - The 'diffopt' option changes how diffs are displayed.
504 - The 'diffexpr' option can be set how a diff is to be created.
505 - The 'patchexpr' option can be set how patch is applied to a file.
506 - Added the "diff" folding method. When opening a window for diff-mode, set
507 'foldlevel' to zero and 'foldenable' on, to close the folds.
508 - Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to
509 specify the highlighting for differences. The defaults are ugly...
510 - Unix: make a vimdiff symbolic link for "make install".
511 - Removed the now obsolete "vimdiff.vim" script from the distribution.
512 - Added the "[c" and "]c" commands to move to the next/previous change in diff
516 Easy Vim: click-and-type *new-evim*
517 ------------------------
519 eVim stands for "Easy Vim". This is a separate program, but can also be
522 This starts Vim with 'insertmode' set to allow click-and-type editing. The
523 $VIMRUNTIME/evim.vim script is used to add mappings and set options to be able
524 to do most things like Notepad. This is only for people who can't stand two
527 eView does the same but in readonly mode.
529 In the GUI a CTRL-C now only interrupts when busy with something, not when
530 waiting for a character. Allows using CTRL-C to copy text to the clipboard.
533 User manual *new-user-manual*
536 The user manual has been added. It is organised around editing tasks. It
537 reads like a book, from start to end. It should allow beginners to start
538 learning Vim. It helps everybody to learn using the most useful Vim features.
539 It is much easier to read than the reference manual, but omits details. See
542 The user manual includes parts of the Vim book by Steve Oualline |frombook|.
543 It is published under the OPL |manual-copyright|.
545 When syntax highlighting is not enabled, the characters in the help file which
546 mark examples ('>' and '<') and header lines ('~') are replaced with a space.
548 When closing the help window, the window layout is restored from before
549 opening it, if the window layout didn't change since then.
550 When opening the help window, put it at the top of the Vim window if the
551 current window is fewer than 80 characters and not full width.
554 Flexible indenting *new-indent-flex*
557 Automatic indenting is now possible for any language. It works with a Vim
558 script, which makes it very flexible to compute the indent.
560 The ":filetype indent on" command enables using the provided indent scripts.
561 This is explained in the user manual: |30.3|.
563 The 'indentexpr' option is evaluated to get the indent for a line. The
564 'indentkeys' option tells when to trigger re-indenting. Normally these
565 options are set from an indent script. Like Syntax files, indent scripts will
566 be created and maintained by many people.
569 Extended search patterns *new-searchpat*
570 ------------------------
572 Added the possibility to match more than one line with a pattern. (partly by
574 New items in a search pattern for multi-line matches:
575 \n match end-of-line, also in []
576 \_[] match characters in range and end-of-line
577 \_x match character class and end-of-line
578 \_. match any character or end-of-line
579 \_^ match start-of-line, can be used anywhere in the regexp
580 \_$ match end-of-line, can be used anywhere in the regexp
582 Various other new items in search patterns:
583 \c ignore case for the whole pattern
584 \C match case for the whole pattern
585 \m magic on for the following
586 \M magic off for the following
587 \v make following characters "very magic"
588 \V make following characters "very nomagic"
590 \@! don't match atom before this.
591 Example: "foo\(bar\)\@!" matches "foo " but not "foobar".
592 \@= match atom, resulting in zero-width match
593 Example: "foo\(bar\)\@=" matches "foo" in "foobar".
594 \@<! don't match preceding atom before the current position
595 \@<= match preceding atom before the current position
596 \@> match preceding atom as a subexpression
598 \& match only when branch before and after it match
600 \%[] optionally match a list of atoms; "end\%[if]" matches "end",
602 \%(\) like \(\), but without creating a back-reference; there can be
603 any number of these, overcomes the limit of nine \( \) pairs
604 \%^ match start-of-file (Chase Tingley)
605 \%$ match end-of-file (Chase Tingley)
606 \%# Match with the cursor position. (Chase Tingley)
607 \? Just like "\=" but can't be used in a "?" command.
609 \%23l match in line 23
610 \%<23l match before line 23
611 \%>23l match after line 23
612 \%23c, \%<23c, \%>23c match in/before/after column 23
613 \%23v, \%<23v, \%>23v match in/before/after virtual column 23
617 \z(...\) external reference match set (in region start pattern)
618 \z1 - \z9 external reference match use (in region skip or end pattern)
621 \zs use position as start of match
622 \ze use position as end of match
624 Removed limit of matching only up to 32767 times with *, \+, etc.
626 Added support to match multi-byte characters. (partly by Muraoka Taro)
627 Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
630 UTF-8 support *new-utf-8*
633 Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be
634 used, but only 16 bit characters are displayed. Up to two combining
635 characters are supported, they overprint the preceding character.
636 Double-wide characters are also supported. See |UTF-8|.
638 UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to
639 UTF-8 internally. There is also support for editing Unicode files in a Latin1
640 environment. Other encodings are converted with iconv() or an external
641 converter specified with 'charconvert'.
643 Many new items for Multi-byte support:
644 - Added 'encoding' option: specifies character encoding used inside Vim. It
645 can be any 8-bit encoding, some double-byte encodings or Unicode.
646 It is initialized from the environment when a supported value is found.
647 - Added 'fileencoding' and 'fileencodings': specify character coding in a
648 file, similar to 'fileformat' and 'fileformats'.
649 When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will
650 automatically switch to latin1 if a file does not contain valid UTF-8.
651 - Added 'bomb' option and detection of a BOM at the start of a file. Can be
652 used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode
653 file if it starts with a BOM. Especially useful on MS-Windows (NT and
654 2000), which uses ucs-2le files with a BOM (e.g., when exporting the
656 - Added the 'termencoding' option: Specifies the encoding used for the
657 terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: >
658 :let &termencoding = &encoding
660 - When 'viminfo' contains the 'c' flag, the viminfo file is converted from the
661 'encoding' it was written with to the current 'encoding'.
662 - Added ":scriptencoding" command: convert lines in a sourced script to
663 'encoding'. Useful for menu files.
664 - Added 'guifontwide' to specify a font for double-wide characters.
665 - Added Korean support for character class detection. Also fix cls() in
666 search.c. (Chong-Dae Park)
667 - Win32: Typing multi-byte characters without IME. (Alexander Smishlajev)
668 - Win32 with Mingw: compile with iconv library. (Ron Aaron)
669 - Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
670 - Make it possible to build a version with multi-byte and iconv support with
671 Borland 5.5. (Yasuhiro Matsumoto)
672 - Added 'delcombine' option: Delete combining character separately. (Ron
674 - The "xfontset" feature isn't required for "xim". These are now two
675 independent features.
676 - XIM: enable XIM when typing a language character (Insert mode, Search
677 pattern, "f" or "r" command). Disable XIM when typing a Normal mode
679 - When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun)
680 - Support "CursorIM" for XIM. (Nam SungHyun)
681 - Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
682 each multibyte character, not only at a space.
683 - Made ":syntax keyword" work with multi-byte characters.
684 - Added support for Unicode upper/lowercase flipping and comparing. (based on
685 patch by Raphael Finkel)
686 Let "~" on multi-byte characters that have a third case ("title case")
687 switch between the three cases. (Raphael Finkel)
689 Allow defining digraphs for multi-byte characters.
690 Added RFC1345 digraphs for Unicode.
691 Most Normal mode commands that accept a character argument, like "r", "t" and
692 "f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
695 Added Language mapping and 'keymap' to be able to type multi-byte characters:
696 - Added the ":lmap" command and friends: Define mappings that are used when
697 typing characters in the language of the text. Also for "r", "t", etc. In
698 Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
699 CTRL-^ also toggles the use of an input method when no language mappings are
700 present. Allows switching the IM back on halfway typing.
701 - "<char-123>" argument to ":map", allows to specify the decimal, octal or
702 hexadecimal value of a character.
703 - Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to
704 define mappings for the keymap. The new ":loadkeymap" command is used in
706 - Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when
707 it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are
708 active. Show this text in the default statusline too.
709 - Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings
710 and Input Method with an option. (Muraoka Taro)
711 Added 'imcmdline' option: When set the input method is always enabled when
712 starting to edit a command line. Useful for a XIM that uses dead keys to
713 type accented characters.
714 Added 'imactivatekey' option to better control XIM. (Muraoka Taro)
715 - When typing a mapping that's not finished yet, display the last character
716 under the cursor in Insert mode and Command-line mode. Looks good for dead
718 - Made the 'langmap' option recognize multi-byte characters. But mapping only
719 works for 8-bit characters. Helps when using UTF-8.
720 - Use a different cursor for when ":lmap" mappings are active. Can specify
721 two highlight groups for an item in 'guicursor'. By default "lCursor" and
722 "Cursor" are equal, the user must set a color he likes.
723 Use the cursor color for hangul input as well. (Sung-Hyun Nam)
724 - Show "(lang)" for 'showmode' when language mapping is enabled.
725 - UTF-8: Made "r" work with a ":lmap" that includes a composing character.
726 Also works for "f", which now works to find a character that includes a
729 Other multi-byte character additions:
730 - Support double-byte single-width characters for euc-jp: Characters starting
731 with 0x8E. Added ScreenLines2[] to store the second byte.
734 Multi-language support *new-multi-lang*
735 ----------------------
737 The messages used in Vim can be translated. Several translations are
738 available. This uses the gettext mechanism. It allows adding a translation
739 without recompiling Vim. |multi-lang| (partly by Marcin Dalecki)
741 The translation files are in the src/po directory. The src/po/README.txt file
742 explains a few things about doing a translation.
744 Menu translations are available as well. This uses the new |:menutranslate|
745 command. The translations are found in the runtime directory "lang". This
746 allows a user to add a translation.
748 Added |:language| command to set the language (locale) for messages, time and
749 character type. This allows switching languages in Vim without changing the
750 locale outside of Vim.
752 Made it possible to have vimtutor use different languages. (Eduardo Fernandez)
753 Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro
754 Matsumoto) and French (Adrien Beau) translations are included.
755 Added "vimtutor.bat": script to start Vim on a copy of the tutor file for
756 MS-Windows. (Dan Sharp)
758 - Added v:lang variable to be able to get current language setting.
759 (Marcin Dalecki) Also v:lc_time and v:ctype.
760 - Make it possible to translate the dialogs used by the menus. Uses global
761 "menutrans_" variables. ":menutrans clear" deletes them.
762 - removed "broken locale" (Marcin Dalecki).
763 - Don't use color names in icons, use RGB values. The names could be
765 - Win32: Added global IME support (Muraoka)
766 - Win32: Added dynamic loading of IME support.
767 - ":messages" prints a message about who maintains the messages or the
768 translations. Useful to find out where to make a remark about a wrong
770 - --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun
772 - Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez)
773 - When available, call bind_textdomain_codeset() to have gettext() translate
774 messages to 'encoding'. This requires GNU gettext 0.10.36 or later.
775 - Added gettext support for Win32. This means messages will be translated
776 when the locale is set and libintl.dll can be found. (Muraoka Taro)
777 Also made it work with MingW compiler. (Eduardo Fernandez)
778 Detect the language and set $LANG to get the appropriate translated messages
779 (if supported). Also use $LANG to select a language, v:lang is a very
780 different kind of name.
781 - Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto)
784 Plugin support *new-plugins*
787 To make it really easy to load a Vim script when starting Vim, the "plugin"
788 runtime directory can be used. All "*.vim" files in it will be automatically
789 loaded. For Unix, the directory "~/.vim/plugin" is used by default. The
790 'runtimepath' option can be set to look in other directories for plugins.
791 |load-plugins| |add-plugin|
793 The |:runtime| command has been added to load one or more files in
797 netrw.vim - Edit files over a network |new-network-files|
798 gzip.vim - Edit compressed files
799 explorer.vim - Browse directories |new-file-browser|
801 Added support for local help files. |add-local-help|.
802 When searching for help tags, all "doc/tags" files in 'runtimepath' are used.
803 Added the ":helptags" command: Generate a tags file for a help directory.
804 The first line of each help file is automagically added to the "LOCAL
805 ADDITIONS" section in doc/help.txt.
807 Added the <unique> argument to ":map": only add a mapping when it wasn't
810 When displaying an option value with 'verbose' set will give a message about
811 where the option was last set. Very useful to find out which script did set
814 The new |:scriptnames| command displays a list of all scripts that have been
817 GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps"
818 directories in 'runtimepath'. Allows adding your own bitmaps.
821 Filetype plugins *new-filetype-plugins*
824 A new group of files has been added to do settings for specific file types.
825 These can be options and mappings which are specifically used for one value of
828 The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option
829 makes it possible to use several sets of plugins: Your own, system-wide,
830 included in the Vim distribution, etc.
832 To be able to make this work, several features were added:
833 - Added the "s:" variables, local to a script. Avoids name conflicts with
834 global variables. They can be used in the script and in functions,
835 autocommands and user commands defined in the script. They are kept between
836 invocations of the same script. |s:var|
837 - Added the global value for local options. This value is used when opening
838 a new buffer or editing another file. The option value specified in a
839 modeline or filetype setting is not carried over to another buffer.
840 ":set" sets both the local and the global value.
841 ":setlocal" sets the local option value only.
842 ":setglobal" sets or displays the global value for a local option.
843 ":setlocal name<" sets a local option to its global value.
844 - Added the buffer-local value for some global options: 'equalprg', 'makeprg',
845 'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags',
846 'include' and 'define'. This allows setting a local value for these global
847 options, without making it incompatible.
848 - Added mappings and abbreviations local to a buffer: ":map <buffer>".
849 - In a mapping "<Leader>" can be used to get the value of the "mapleader"
850 variable. This simplifies mappings that use "mapleader". "<Leader>"
851 defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This
852 is to be used for mappings local to a buffer.
853 - Added <SID> Script ID to define functions and mappings local to a script.
854 - Added <script> argument to ":noremap" and ":noremenu": Only remap
855 script-local mappings. Avoids that mappings from other scripts get in the
856 way, but does allow using mappings defined in the script.
857 - User commands can be local to a buffer: ":command -buffer".
859 The new ":setfiletype" command is used in the filetype detection autocommands,
860 to avoid that 'filetype' is set twice.
863 File browser *new-file-browser*
866 When editing a directory, the explorer plugin will list the files in the
867 directory. Pressing <Enter> on a file name edits that file. Pressing <Enter>
868 on a directory moves the browser to that directory.
870 There are several other possibilities, such as opening a file in the preview
871 window, renaming files and deleting files.
874 Editing files over a network *new-network-files*
875 ----------------------------
877 Files starting with scp://, rcp://, ftp:// and http:// are recognized as
878 remote files. An attempt is made to access these files with the indicated
879 method. For http:// only reading is possible, for the others writing is also
880 supported. Uses the netrw.vim script as a standard "plugin". |netrw|
882 Made "gf" work on a URL. It no longer assumes the file is local on the
883 computer (mostly didn't work anyway, because the full path was required).
884 Adjusted test2 for this.
886 Allow using a URL in 'path'. Makes ":find index.html" work.
888 GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes
889 care of downloading the file. (MiKael Berthe)
892 Window for command-line editing *new-cmdwin*
893 -------------------------------
895 The Command-line window can be used to edit a command-line with Normal and
896 Insert mode commands. When it is opened it contains the history. This allows
897 copying parts of previous command lines. |cmdwin|
899 The command-line window can be opened from the command-line with the key
900 specified by the 'cedit' option (like Nvi). It can also be opened directly
901 from Normal mode with "q:", "q/" and "q?".
903 The 'cmdwinheight' is used to specify the initial height of the window.
905 In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like
906 it's done on the command-line. This is also useful for writing Vim scripts!
908 Additionally, there is "improved Ex mode". Entered when Vim is started as
909 "exim" or "vim -E", and with the "gQ" command. Works like repeated use of
910 ":", with full command-line editing and completion. (Ulf Carlsson)
913 Debugging mode *new-debug-mode*
916 In debugging mode sourced scripts and user functions can be executed line by
917 line. There are commands to step over a command or step into it. |debug-mode|
919 Breakpoints can be set to run until a certain line in a script or user
920 function is executed. |:breakadd|
922 Debugging can be started with ":debug {cmd}" to debug what happens when a
923 command executes. The |-D| argument can be used to debug while starting up.
926 Cursor in virtual position *new-virtedit*
927 --------------------------
929 Added the 'virtualedit' option: Allow positioning the cursor where there is no
930 actual character in Insert mode, Visual mode or always. (Matthias Kramm)
931 This is especially useful in Visual-block mode. It allows positioning a
932 corner of the area where there is no text character. (Many improvements by
936 Debugger interface *new-debug-itf*
939 This was originally made to work with Sun Visual Workshop. (Gordon Prieur)
940 See |debugger.txt|, |sign.txt| and |workshop.txt|.
942 Added the ":sign" command to define and place signs. They can be displayed
943 with two ASCII characters or an icon. The line after it can be highlighted.
944 Useful to display breakpoints and the current PC position.
946 Added the |:wsverb| command to execute debugger commands.
948 Added balloon stuff: 'balloondelay' and 'ballooneval' options.
950 Added "icon=" argument for ":menu". Allows defining a specific icon for a
954 Communication between Vims *new-vim-server*
955 --------------------------
957 Added communication between two Vims. Makes it possible to send commands from
958 one Vim to another. Works for X-Windows and MS-Windows |clientserver|.
960 Use "--remote" to have files be edited in an already running Vim.
961 Use "--remote-wait" to do the same and wait for the editing to finish.
962 Use "--remote-send" to send commands from one Vim to another.
963 Use "--remote-expr" to have an expression evaluated in another Vim.
964 Use "--serverlist" to list the currently available Vim servers. (X only)
965 There are also functions to communicate between the server and the client.
966 |remote_send()| |remote_expr()|
968 (X-windows version implemented by Flemming Madsen, MS-Windows version by Paul
971 Added the command server name to the window title, so you can see which server
972 name belongs to which Vim.
974 Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the
975 distribution. Can now use "gvim --remote" and "gvim --remote-send", which is
978 GTK+: Support running Vim inside another window. Uses the --socketid argument
982 Buffer type options *new-buftype*
985 The 'buftype' and 'bufhidden' options have been added. They can be set to
986 have different kinds of buffers. For example:
987 - 'buftype' = "quickfix": buffer with error list
988 - 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be
989 deleted as soon as there is no window displaying it.
991 'bufhidden' can be used to overrule the 'hidden' option for one buffer.
993 In combination with 'buflisted' and 'swapfile' this offers the possibility to
994 use various kinds of special buffers. See |special-buffers|.
997 Printing *new-printing*
1000 Included first implementation of the ":hardcopy" command for printing
1001 to paper. For MS-Windows any installed printer can be used. For other
1002 systems a PostScript file is generated, which can be printed with the
1004 (MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
1007 Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
1010 Added options to tune the way printing works: (Vince Negri)
1011 - 'printoptions' defines various things.
1012 - 'printheader' specifies the header format. Added "N" field to 'statusline'
1013 for the page number.
1014 - 'printfont' specifies the font name and attributes.
1015 - 'printdevice' defines the default printer for ":hardcopy!".
1021 Port to OS/390 Unix (Ralf Schandl)
1022 - A lot of changes to handle EBCDIC encoding.
1023 - Changed Ctrl('x') to Ctrl_x define.
1025 Included jsbmouse support. (Darren Garth)
1026 Support for dec mouse in Unix. (Steve Wall)
1028 Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri)
1030 Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid)
1032 Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron)
1033 Added Python support for compiling with Mingw. (Ron Aaron)
1035 Dos 32 bit: Added support the Windows clipboard. (David Kotchan)
1037 Win32: Dynamically load Perl and Python. Allows compiling Vim with these
1038 interfaces and will try to find the DLLs at runtime. (Muraoka Taro)
1040 Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and
1041 uninstall. (Gerfried)
1043 Mac: Make Vim compile with the free MPW compiler supplied by Apple. And
1044 updates for CodeWarrior. (Axel Kielhorn)
1046 Added typecasts and ifdefs as a start to make Vim work on Win64 (George
1050 Quickfix extended *quickfix-6*
1053 Added the "error window". It contains all the errors of the current error
1054 list. Pressing <Enter> in a line makes Vim jump to that line (in another
1055 window). This makes it easy to navigate through the error list.
1058 - |:copen| opens the quickfix window.
1059 - |:cclose| closes the quickfix window.
1060 - |:cwindow| takes care that there is a quickfix window only when there are
1061 recognized errors. (Dan Sharp)
1063 - Quickfix also knows "info", next to "warning" and "error" types. "%I" can be
1064 used for the start of a multi-line informational message. (Tony Leneis)
1065 - The "%p" argument can be used in 'errorformat' to get the column number from
1066 a line where "^" points to the column. (Stefan Roemer)
1067 - When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:"
1068 in the filename, even when using "%f:".
1071 Operator modifiers *new-operator-mod*
1074 Insert "v", "V" or CTRL-V between an operator and a motion command to force
1075 the operator to work characterwise, linewise or blockwise. |o_v|
1078 Search Path *new-search-path*
1081 Vim can search in a directory tree not only in downwards but also upwards.
1082 Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl)
1084 Also use "**" for 'tags' option. (Ralf Schandl)
1086 Added 'includeexpr', can be used to modify file name found by 'include'
1088 Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found
1089 without modification. Useful for doing "gf" on the name after an include or
1092 Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf)
1094 Added the 'suffixesadd' option: Suffixes to be added to a file name when
1095 searching for a file for the "gf", "[I", etc. commands.
1098 Writing files improved *new-file-writing*
1099 ----------------------
1101 Added the 'backupcopy' option: Select whether a file is to be copied or
1102 renamed to make a backup file. Useful on Unix to speed up writing an ordinary
1103 file. Useful on other systems to preserve file attributes and when editing a
1104 file on a Unix filesystem.
1106 Added the 'autowriteall' option. Works like 'autowrite' but for more
1109 Added the 'backupskip' option: A list of file patterns to skip making a backup
1110 file when it matches. The default for Unix includes "/tmp/*", this makes
1113 Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL
1114 is copied from the original file to the new file (or the backup if it's
1116 ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren)
1120 Argument list *new-argument-list*
1123 The support for the argument list has been extended. It can now be
1124 manipulated to contain the files you want it to contain.
1126 The argument list can now be local to a window. It is created with the
1127 |:arglocal| command. The |:argglobal| command can be used to go back to the
1128 global argument list.
1130 The |:argdo| command executes a command on all files in the argument list.
1132 File names can be added to the argument list with |:argadd|. File names can
1133 be removed with |:argdelete|.
1135 "##" can be used like "#", it is replaced by all the names in the argument
1136 list concatenated. Useful for ":grep foo ##".
1138 The |:argedit| adds a file to the argument list and edits it. Like ":argadd"
1142 Restore a View *new-View*
1145 The ":mkview" command writes a Vim script with the settings and mappings for
1146 one window. When the created file is sourced, the view of the window is
1147 restored. It's like ":mksession" for one window.
1148 The View also contains the local argument list and manually created, opened
1151 Added the ":loadview" command and the 'viewdir' option: Allows for saving and
1152 restoring views of a file with simple commands. ":mkview 1" saves view 1 for
1153 the current file, ":loadview 1" loads it again. Also allows quickly switching
1154 between two views on one file. And saving and restoring manual folds and the
1157 Added 'viewoptions' to specify how ":mkview" works.
1159 ":mksession" now also works fine with vertical splits. It has been further
1160 improved and restores the view of each window. It also works properly with
1161 preview and quickfix windows.
1163 'sessionoptions' is used for ":mkview" as well.
1164 Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what
1165 the current directory will be restored to.
1167 The session file now also contains the argument list(s).
1170 Color schemes *new-color-schemes*
1173 Support for loading a color scheme. Added the ":colorscheme" command.
1174 Automatically add menu entries for available schemes.
1175 Should now properly reset the colors when 'background' or 't_Co' is changed.
1176 ":highlight clear" sets the default colors again.
1177 ":syntax reset" sets the syntax highlight colors back to the defaults.
1178 For ":set bg&" guess the value. This allows a color scheme to switch back to
1180 When syntax highlighting is switched on and a color scheme was defined, reload
1181 the color scheme to define the colors.
1184 Various new items *new-items-6*
1187 Normal mode commands: ~
1189 "gi" Jump to the ^ mark and start Insert mode. Also works when the
1190 mark is just after the line. |gi|
1193 Jump to a mark without changing the jumplist. Now you can use
1194 g`" to jump to the last known position in a file without side
1195 effects. Also useful in mappings.
1198 move the cursor to the next/previous lowercase mark.
1200 g_ Go to last non-blank in line. (Steve Wall)
1205 'autoread' When detected that a file changed outside of Vim,
1206 automatically read a buffer again when it's not changed.
1207 It has a global and a local value. Use ":setlocal autoread<"
1208 to go back to using the global value for 'autoread'.
1210 'debug' When set to "msg" it will print error messages that would
1211 otherwise be omitted. Useful for debugging 'indentexpr' and
1214 'lispwords' List of words used for lisp indenting. It was previously hard
1215 coded. Added a number of Lisp names to the default.
1217 'fold...' Many new options for folding.
1219 'modifiable' When off, it is impossible to make changes to a buffer.
1220 The %m and %M items in 'statusline' show a '-'.
1222 'previewwindow' Set in the preview window. Used in a session file to mark a
1223 window as the preview window.
1229 'printoptions' for ":hardcopy".
1231 'buflisted' Makes a buffer appear in the buffer list or not.
1233 Use "vim{version}:" for modelines, only to be executed when the version is
1234 >= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}".
1240 Works like ":w file" and ":e #", but without loading the file
1241 again and avoiding other side effects. |:saveas|
1244 Execute a command silently. Also don't use a delay that would
1245 come after the message. And don't do 'showmatch'.
1246 RISCOS: Removed that "!~cmd" didn't output anything, and
1247 didn't wait for <Enter> afterwards. Can use ":silent !cmd"
1249 :menu <silent> Add a menu that won't echo Ex commands.
1250 :map <silent> Add a mapping that won't echo Ex commands.
1252 :checktime Check for changed buffers.
1254 :verbose {cmd} Set 'verbose' for one command.
1257 :echoerr {expr} Like ":echo" but store the message in the history. (Mark
1260 :grepadd Works just like ":grep" but adds to the current error list
1261 instead of defining a new list. |:grepadd|
1263 :finish Finish sourcing a file. Can be used to skip the rest of a Vim
1267 :aboveleft Split left/above current window.
1270 :belowright Split right/below current window.
1272 :first, :bfirst, :ptfirst, etc.
1273 Alias for ":rewind". It's more logical compared to ":last".
1275 :enew Edit a new, unnamed buffer. This is needed, because ":edit"
1276 re-edits the same file. (Wall)
1278 :quitall Same as ":qall".
1280 :match Define match highlighting local to a window. Allows
1281 highlighting an item in the current window without interfering
1282 with syntax highlighting.
1285 :menu disable Commands to enable/disable menu entries without removing them.
1288 :windo Execute a command in all windows.
1289 :bufdo Execute a command in all buffers.
1291 :wincmd Window (CTRL-W) command. Useful when a Normal mode command
1292 can't be used (e.g., for a CursorHold autocommand). See
1293 |CursorHold-example| for a nice application with it.
1296 Set local directory for a window. (Benjie Chen)
1299 Execute {command} with 'hidden' set.
1301 :emenu in Visual mode to execute a ":vmenu" entry.
1303 :popup Pop up a popup menu.
1305 :redraw Redraw the screen even when busy with a script or function.
1307 :hardcopy Print to paper.
1309 :compiler Load a Vim script to do settings for a specific compiler.
1311 :z# List numbered lines. (Bohdan Vlasyuk)
1316 '( and ') Begin or end of current sentence. Useful in Ex commands.
1317 '{ and '} Begin or end of current paragraph. Useful in Ex commands.
1318 '. Position of the last change in the current buffer.
1319 '^ Position where Insert mode was stopped.
1321 Store the ^ and . marks in the viminfo file. Makes it possible to jump to the
1322 last insert position or changed text.
1326 argidx() Current index in argument list.
1327 buflisted() Checks if the buffer exists and has 'buflisted' set.
1328 cindent() Get indent according to 'cindent'.
1329 eventhandler() Returns 1 when inside an event handler and interactive
1330 commands can't be used.
1331 executable() Checks if a program or batch script can be executed.
1332 filewritable() Checks if a file can be written. (Ron Aaron)
1333 foldclosed() Find out if there is a closed fold. (Johannes Zellner).
1334 foldcloseend() Find the end of a closed fold.
1335 foldlevel() Find out the foldlevel. (Johannes Zellner)
1336 foreground() Move the GUI window to the foreground.
1337 getchar() Get one character from the user. Can be used to define a
1338 mapping that takes an argument.
1339 getcharmod() Get last used key modifier.
1340 getbufvar() gets the value of an option or local variable in a buffer (Ron
1342 getfsize() Return the size of a file.
1343 getwinvar() gets the value of an option or local variable in a window (Ron
1345 globpath() Find matching files in a list of directories.
1346 hasmapto() Detect if a mapping to a string is already present.
1347 iconv() Convert a string from one encoding to another.
1348 indent() gets the indent of a line (Ron Aaron)
1349 inputdialog() Like input() but use a GUI dialog when possible. Currently
1350 only works for Win32, Motif, Athena and GTK.
1351 Use inputdialog() for the Edit/Settings/Text Width menu. Also
1352 for the Help/Find.. and Toolbar FindHelp items.
1353 (Win32 support by Thore B. Karlsen)
1354 (Win16 support by Vince Negri)
1355 inputsecret() Ask the user to type a string without showing the typed keys.
1357 libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall)
1358 libcallnr() for Win32 and Unix
1359 lispindent() Get indent according to 'lisp'.
1360 mode() Return a string that indicates the current mode.
1361 nextnonblank() Skip blank lines forwards.
1362 prevnonblank() Skip blank lines backwards. Useful to for indent scripts.
1363 resolve() MS-Windows: resolve a shortcut to the file it points to.
1364 Unix: resolve a symbolic link.
1365 search() Search for a pattern.
1366 searchpair() Search for matching pair. Can be used in indent files to find
1367 the "if" matching an endif.
1368 setbufvar() sets an option or variable local to a buffer (Ron Aaron)
1369 setwinvar() sets an option or variable local to a window (Ron Aaron)
1370 stridx() Search for first occurrence of one string in another.
1371 strridx() Search for last occurrence of one string in another.
1372 tolower() Convert string to all-lowercase.
1373 toupper() Convert string to all-uppercase.
1374 type() Check the type of an expression.
1375 wincol() window column of the cursor
1376 winwidth() Width of a window. (Johannes Zellner)
1377 winline() window line of the cursor
1380 Added expansion of curly braces in variable and function names. This can be
1381 used for variable names that include the value of an option. Or a primitive
1382 form of arrays. (Vince Negri)
1385 New autocommand events: ~
1386 BufWinEnter Triggered when a buffer is displayed in a window, after using
1387 the modelines. Can be used to load a view.
1388 BufWinLeave Triggered when a buffer is no longer in a window. Also
1389 triggered when exiting Vim. Can be used to save views.
1390 FileChangedRO Triggered before making the first change to a read-only file.
1391 Can be used to check-out the file. (Scott Graham)
1392 TermResponse Triggered when the terminal replies to the version-request.
1393 The v:termresponse internal variable holds the result. Can be
1394 used to react to the version of the terminal. (Ronald Schild)
1395 FileReadCmd Triggered before reading a file.
1396 BufReadCmd Triggered before reading a file into a buffer.
1397 FileWriteCmd Triggered before writing a file.
1398 BufWriteCmd Triggered before writing a buffer into a file.
1399 FileAppendCmd Triggered before appending to a file.
1400 FuncUndefined Triggered when a user function is not defined. (Ron Aaron)
1402 The autocommands for the *Cmd events read or write the file instead of normal
1403 file read/write. Use this in netrw.vim to be able to edit files on a remote
1404 system. (Charles Campbell)
1409 bdf BDF font definition (Nikolai Weibull)
1410 catalog SGML catalog (Johannes Zellner)
1411 debchangelog Debian Changelog (Wichert Akkerman)
1412 debcontrol Debian Control (Wichert Akkerman)
1413 dot dot (Markus Mottl)
1414 dsl DSSSL syntax (Johannes Zellner)
1415 eterm Eterm configuration (Nikolai Weibull)
1416 indent Indent profile (Nikolai Weibull)
1417 lftp LFTP (Nikolai Weibull)
1418 lynx Lynx config (Doug Kearns)
1419 mush mush sourcecode (Bek Oberin)
1420 natural Natural (Marko Leipert)
1421 pilrc Pal resource compiler (Brian Schau)
1422 plm PL/M (Philippe Coulonges)
1423 povini Povray configuration (David Necas)
1424 ratpoison Ratpoison config/command (Doug Kearns)
1425 readline readline config (Nikolai Weibull)
1426 screen Screen RC (Nikolai Weibull)
1427 specman Specman (Or Freund)
1428 sqlforms SQL*Forms (Austin Ziegler)
1429 terminfo terminfo (Nikolai Weibull)
1430 tidy Tidy configuration (Doug Kearns)
1431 wget Wget configuration (Doug Kearns)
1434 Updated many syntax files to work both with Vim 5.7 and 6.0.
1436 Interface to Ruby. (Shugo Maeda)
1437 Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro)
1438 Support this for Mingw too. (Benoit Cerrina)
1440 Win32: Added possibility to load TCL dynamically. (Muraoka Taro)
1441 Also for Borland 5.5. (Dan Sharp)
1443 Win32: When editing a file that is a shortcut (*.lnk file), edit the file it
1444 links to. Unless 'binary' is set, then edit the shortcut file itself.
1445 (Yasuhiro Matsumoto)
1447 The ":command" command now accepts a "-bar" argument. This allows the user
1448 command to be followed by "| command".
1450 The preview window is now also used by these commands:
1451 - |:pedit| edits the specified file in the preview window
1452 - |:psearch| searches for a word in included files, like |:ijump|, and
1453 displays the found text in the preview window.
1454 Added the CTRL-W P command: go to preview window.
1456 MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly
1457 for NT systems with multiple users.
1459 A double-click of the mouse on a character that has a "%" match selects from
1460 that character to the match. Similar to "v%".
1462 "-S session.vim" argument: Source a script file when starting up. Convenient
1463 way to start Vim with a session file.
1465 Added "--cmd {command}" Vim argument to execute a command before a vimrc file
1466 is loaded. (Vince Negri)
1468 Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow
1469 making changes and writing files.
1471 Added runtime/delmenu.vim. Source this to remove all menus and prepare for
1472 loading new menus. Useful when changing 'langmenu'.
1474 Perl script to filter Perl error messages to quickfix usable format. (Joerg
1477 Added runtime/macros/less.vim: Vim script to simulate less, but with syntax
1480 MS-Windows install program: (Jon Merz)
1481 - The Win32 program can now create shortcuts on the desktop and install Vim in
1483 - Possibly remove old "Edit with Vim" entries.
1484 - The Vim executable is never moved or $PATH changed. A small batch file is
1485 created in a directory in $PATH. Fewer choices to be made.
1486 - Detect already installed Vim versions and offer to uninstall them first.
1488 Improved the MS-Windows uninstal program. It now also deletes the entries in
1489 the Start menu, icons from the desktop and the created batch files. (Jon Merz)
1490 Also made it possible to delete only some of these. Also unregister gvim for
1493 Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon
1496 Added ":filetype detect". Try detecting the filetype again. Helps when
1497 writing a new shell script, after adding "#!/bin/csh".
1499 Added ":augroup! name" to delete an autocommand group. Needed for the
1500 client-server "--remote-wait".
1502 Add the Vim version number to the viminfo file, useful for debugging.
1504 ==============================================================================
1505 IMPROVEMENTS *improvements-6*
1507 Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not
1508 put between line numbers from 'number' option. Makes it a lot easier to read
1511 When there is a format error in a tags file, the byte position is reported so
1512 that the error can be located.
1514 "gf" works in Visual mode: Use the selected text as the file name. (Chase
1517 Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest
1518 matching one is used. Especially useful for ":lmap" and 'keymap'.
1520 Encryption: Ask the key to be typed twice when crypting the first time.
1521 Otherwise a typo might cause the text to be lost forever. (Chase Tingley)
1523 The window title now has "VIM" on the end. The file name comes first, useful
1524 in the taskbar. A "+" is added when the file is modified. "=" is added for
1525 a read-only file. "-" is added for a file with 'modifiable' off.
1527 In Visual mode, mention the size of the selected area in the 'showcmd'
1530 Added the "b:changedtick" variable. Incremented at each change, also for
1531 undo. Can be used to take action only if the buffer has been changed.
1533 In the replacement string of a ":s" command "\=" can be used to replace with
1534 the result of an expression. From this expression the submatch() function can
1535 be used to access submatches.
1537 When doing ":qall" and there is a change in a buffer that is being edited in
1538 another window, jump to that window, instead of editing that buffer in the
1541 Added the "++enc=" and "++ff=" arguments to file read/write commands to force
1542 using the given 'encoding' or 'fileformat'. And added the "v:cmdarg"
1543 variable, to be used for FileReadCmd autocommands that read/write the file
1546 When reading stdin, first read the text in binary mode and then re-read it
1547 with automatic selection of 'fileformat' and 'fileencoding'. This avoids
1548 problems with not being able to rewind the file (e.g., when a line near the
1549 end of the file ends in LF instead of CR-LF).
1550 When reading text from stdin and the buffer is empty, don't mark it changed.
1551 Allows exiting without trouble.
1553 Added an ID to many error messages. This will make it easier to find help for
1557 - "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same
1558 column. Useful for editing a table.
1559 - Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri)
1560 - Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus
1561 completion. Added the 's' flag in 'complete'.
1562 - Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also
1563 scans other loaded buffers for matching lines.
1564 - CTRL-R now also works in Insert mode while doing completion with CTRL-X or
1566 - When doing Insert mode completion, when completion is finished check for a
1567 match with words from 'cinkeys' or 'indentkeys'.
1570 - Made display updating more efficient. Insert/delete lines may be used for
1571 all changes, also for undo/redo.
1572 - The display is not redrawn when there is typeahead in Insert mode. Speeds
1574 - Improved speed of screen output for 32 bit DOS version. (Vince Negri)
1575 - When dragging with the mouse, there is a lookahead to skip mouse codes when
1576 there is another one next. Makes dragging with the mouse a lot faster.
1577 - Also a memory usage improvement: When calling u_save with a single line,
1578 don't save it if the line was recently saved for the same undo already.
1579 - When using a script that appends one character at a time, the amount of
1580 allocated memory was growing steadily. Also when 'undolevels' is -1.
1581 Caused by the line saved for "U" never to be freed. Now free an undo block
1582 when it becomes empty.
1583 - GUI and Dos32: Use a vertical scroll region, to make scrolling in a
1584 vertically split window faster. No need to redraw the whole window.
1585 - When scrolling isn't possible with terminal codes (e.g., for a vertically
1586 split window) redraw from ScreenLines[]. That should be faster than going
1587 through the lines with win_line(), especially when using syntax
1589 - The Syntax menu is now pre-generated by a separate script. Makes loading
1590 the menu 70% faster. This can halve the startup time of gvim.
1591 - When doing ":help tag", don't open help.txt first, jump directly to the help
1592 tag. It's faster and avoids an extra message.
1593 - Win32: When a file name doesn't end in ".lnk" don't try resolving a
1594 shortcut, it takes quite a bit of time.
1595 - Don't update the mouse pointer shape while there are typeahead characters.
1596 - Change META[] from a string into an array, avoids using strchr() on it.
1597 - Don't clear the command line when adding characters, avoids that screen_fill
1598 is called but doesn't do anything.
1601 - Unix: Check for running out of stack space when executing a regexp. Avoids
1602 a nasty crash. Only works when the system supports running the signal
1603 function on another stack.
1604 - Disallow ":source <dirname>". On unix it's possible to read a directory,
1605 does not make sense to use it as Vim commands.
1608 - When reading from or writing to a temporary file, check that it isn't a
1609 symbolic link. Gives some protection against symlink attacks.
1610 - When creating a backup file copy or a swap file, check for it already
1611 existing to avoid a symlink attack. (Colin Phipps)
1612 - Evaluating options which are an expression is done in a |sandbox|. If the
1613 option was set by a modeline, it cannot cause damage.
1614 - Use a secure way to generate temp file names: Create a private directory for
1615 temp files. Used for Unix, MS-DOS and OS/2.
1616 - 'makeef' can be empty, which means that an internally generated file name is
1617 used. The old default was "/tmp/file", which is a security risk.
1618 Writing 'makeef' in the current directory fails in a read-only directory and
1619 causes trouble when using ":grep" on all files. Made the default empty for
1620 all systems, so that a temp file is used.
1621 - The command from a tags file is executed in the sandbox for better security.
1622 - The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They
1623 might do dangerous things. Perl is still possible, but limited to the Safe
1624 environment. (Donnie Smith)
1626 Syntax highlighting:
1627 - Optimized the speed by caching the state stack all over the file, not just
1628 the part being displayed. Required for folding.
1629 - Added ":syntax sync fromstart": Always parse from the start of the file.
1630 - Added the "display" argument for syntax items: use the item only when
1631 displaying the result. Can make parsing faster for text that isn't going to
1633 - When using CTRL-L, the cached states are deleted, to force parsing the text
1635 - Use elfhash algorithm for table of keywords. This should give a better
1636 distribution and speedup keyword lookup. (Campbell)
1637 - Also allow the "lc" leading context for skip and end patterns. (Scott
1639 - Syntax items can have the "extend" argument to undo the effect of a
1640 "keepend" argument of an item it is contained in. Makes it possible to have
1641 some contained items extend a region while others don't.
1642 - ":syntax clear" now deletes the b:current_syntax variable. That's logical,
1643 since no syntax is defined after this command.
1644 - Added ":syntax enable": switch on syntax highlighting without changing the
1645 colors. This allows specifying the colors in the .vimrc file without the
1646 need for a mysyntaxfile.
1647 - Added ":syntax reset": reset the colors to their defaults.
1648 - Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it
1649 possible to define a transparent item that doesn't contain itself.
1650 - Added a "containedin" argument to syntax items. Allows adding a contained
1651 item to an existing item (e.g., to highlight a name in a comment).
1654 - When in the command-line window, use modeless selection in the other
1655 windows. Makes it possible to copy visible text to the command-line window.
1656 - Support modeless selection on the cmdline in a terminal. Previously it was
1657 only possible for the GUI.
1658 - Make double-right-click in modeless selection select a whole word. Single
1659 right click doesn't use the word selection started by a double-left-click.
1660 Makes it work like in Visual mode.
1661 - The modeless selection no longer has an implied automatic copy to the
1662 clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or
1663 "autoselect" and "autoselectml" in 'clipboard'.
1664 - Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to
1665 the clipboard. Also works at the hit-enter prompt and the more prompt.
1666 Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in
1667 cmdline-mode to be able to use CTRL-Y in the new way.
1669 Reduced the amount of stack space used by regmatch() to allow it to handle
1670 complicated patterns on a longer text.
1672 'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS.
1674 Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave
1675 like the ASCII equivalent. (Ivan Wellesz and Vince Negri)
1676 Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home>
1678 Also trigger the BufUnload event when Vim is going to exit. Perhaps a script
1679 needs to do some cleaning up.
1681 Expand expression in backticks: `={expr}`. Can be used where backtick
1682 expansion is done. (Vince Negri)
1685 - Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only
1686 when there is a vertically split window.
1687 - X11: When a color can't be allocated, use the nearest match from the
1688 colormap. This avoids that black is used for many things. (Monish Shah)
1689 Also do this for the menu and scrollbar, to avoid that they become black.
1690 - Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to
1691 the current mode. (Vince Negri)
1692 - Added the 'linespace' option: Insert a pixel line between lines. (Nam)
1693 - Allow modeless selection (without moving the cursor) by keeping CTRL and
1694 SHIFT pressed. (Ivan Wellesz)
1695 - Motif: added toolbar. (Gordon Prieur) Also added tooltips.
1696 - Athena: added toolbar and tooltips. (David Harrison -- based on Gordon
1698 - Made the 'toolbar' option work for Athena and Motif. Can now switch between
1699 text and icons on the fly. (David Harrison)
1700 - Support menu separator lines for Athena. (David Harrison)
1701 - Athena: Adjust the arrow pixmap used in a pullright menu to the size of the
1702 font. (David Harrison)
1703 - Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
1705 - When no --enable-xim argument is given, automatically enable it when a X GUI
1706 is used. Required for dead key support (and multi-byte input).
1707 - After a file selection dialog, check that the edited files were not changed
1708 or deleted. The Win32 dialog allows deleting and renaming files.
1709 - Motif and Athena: Added support for "editres". (Marcin Dalecki)
1710 - Motif and Athena: Added "menuFont" to be able to specify a font or fontset
1711 for the menus. Can also be set with the "Menu" highlight group. Useful
1712 when the locale is different from 'encoding'. (David Harrison)
1713 When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should
1714 avoid trouble with changing from a font to a fontset. (David Harrison)
1715 - Highlighting and font for the tooltips can be specified with the "Tooltip"
1716 highlight group. (David Harrison)
1717 - The Cmdline-mode menus can be used at the more-prompt. This mostly works
1718 fine, because they start with a CTRL-C. The "Copy" menu works to copy the
1719 modeless selection. Allows copying the output of ":set all" or ":intro"
1720 without auto-selection.
1721 - When starting the GUI when there is no terminal connected to stdout and
1722 stderr, display error messages in a dialog. Previously they wouldn't be
1724 - Allow setting 'browsedir' to the name of a directory, to be used for the
1725 file dialog. (Dan Sharp)
1726 - b:browsefilter and g:browsefilter can be set to the filters used for the
1727 file dialog. Supported for Win32 and Motif GUI. (Dan Sharp)
1730 - Support for the clipboard selection as register "+. When exiting or
1731 suspending copy the selection to cut buffer 0. Should allow copy/paste with
1732 more applications in a X11-standard way. (Neil Bird)
1733 - Use the X clipboard in any terminal, not just in an xterm.
1734 Added "exclude:" in 'clipboard': Specify a pattern to match against terminal
1735 names for which no connection should be made to the X server. The default
1736 currently work for FreeBSD and Linux consoles.
1737 - Added a few messages for when 'verbose' is non-zero to show what happens
1738 when trying to connect to the X server. Should help when trying to find out
1739 why startup is slow.
1741 GTK GUI: (partly by Marcin Dalecki)
1742 - With some fonts the characters can be taller than ascent + descent. E.g.,
1743 "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character
1745 - Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut,
1746 when 'wak' changed after creating the menus.
1747 - Setting 'wak' after the GUI started works.
1748 - recycle text GC's to reduce communication.
1749 - Adjust icon size to window manager.
1750 - Cleanup in font handling.
1751 - Replace XQueryColor with GDK calls.
1752 - Gnome support. Detects Gnome in configure and uses different widgets.
1753 Otherwise it's much like GTK. (Andy Kahn)
1754 It is disabled by default, because it causes a few problems.
1755 - Removed the special code to fork first and then start the GUI. Now use
1756 _exit() instead of exit(), this works fine without special tricks.
1757 - Dialogs sometimes appeared a bit far away. Position the dialogs inside
1758 the gvim window. (Brent Verner)
1759 - When dropping a file on Vim, remove extra slashes from the start of the
1760 path. Also shorten the file name if possible.
1762 Motif: (Marcin Dalecki)
1763 - Made the dialog layout better.
1764 - Added find and find/replace dialogs.
1765 - For the menus, change "iso-8859" to "iso_8859", Linux appears to need this.
1766 - Added icon to dialogs, like for GTK.
1767 - Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include
1768 file when it's available.
1769 - Change the shadow of the toolbar items to get a visual feedback of it being
1770 pressed on non-LessTif.
1771 - Use gadgets instead of windows for some items for speed.
1773 Command line completion:
1774 - Complete environment variable names. (Mike Steed)
1775 - For ":command", added a few completion methods: "mapping", "function",
1776 "expression" and "environment".
1777 - When a function doesn't take arguments, let completion add () instead of (.
1779 For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR.
1782 Redirect messages to the clipboard ":redir @*" and to the unnamed register
1785 ":let @/ = ''" clears the search pattern, instead of setting it to an empty
1788 Expression evaluation:
1789 - "? :" can be used like in C.
1790 - col("$") returns the length of the cursor line plus one. (Stephen P. Wall)
1791 - Optional extra argument for match(), matchend() and matchstr(): Offset to
1792 start looking for a match.
1793 - Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera)
1794 - exists() can also be used to check for Ex commands and defined autocommands.
1795 - Added extra argument to input(): Default text.
1796 - Also set "v:errmsg" when using ":silent! cmd".
1797 - Added the v:prevcount variable: v:count for the previous command.
1798 - Added "v:progname", name with which Vim was started. (Vince Negri)
1799 - In the verbose message about returning from a function, also show the return
1803 - Added the cscope_connection() function. (Andy Kahn)
1804 - ":cscope kill -1" kills all cscope connections. (Andy Kahn)
1805 - Added the 'cscopepathcomp' option. (Scott Hauck)
1806 - Added ":scscope" command, split window and execute Cscope command. (Jason
1810 - Command line arguments are always uppercase. Interpret a "-X" argument as
1811 "-x" and "-/X" as "-X".
1812 - Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy)
1813 - Use the X-clipboard feature and the X command server. (Zoltan Arpadffy)
1815 Macintosh: (Dany St-Amant)
1816 - Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn)
1817 - Carbonized (while keeping non Carbon code)
1818 (Some work "stolen" from Ammon Skidmore)
1819 - Improved the menu item index handling (should be faster)
1820 - Runtime commands now handle / in file name (MacOS 9 version)
1821 - Added ":winpos" support.
1822 - Support using "~" in file names for home directory.
1825 - When using set += or ^= , check for items used twice. Duplicates are
1826 removed. (Vince Negri)
1827 - When setting an option that is a list of flags, remove duplicate flags.
1828 - If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina)
1829 - Added "alpha" to 'nrformats': increment or decrement an alphabetic character
1830 with CTRL-A and CTRL-X.
1831 - ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim
1832 default. Useful to set 'cpo' to its Vim default without knowing what flags
1834 - 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the
1836 - Added more option settings to the default menus.
1837 - Updated the option window with new options. Made it a bit easier to read.
1840 - Split line pointers in text part and attributes part. Allows for future
1841 change to make attribute more than one byte.
1842 - Provide a qsort() function for systems that don't have it.
1843 - Changed the big switch for Normal mode commands into a table. This cleans
1844 up the code considerably and avoids trouble for some optimizing compilers.
1845 - Assigned a negative value to special keys, to avoid them being mixed up with
1847 - Global variables expand_context and expand_pattern were not supposed to be
1848 global. Pass them to ExpandOne() and all functions called by it.
1849 - No longer use the global reg_ic flag. It caused trouble and in a few places
1851 - Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids
1852 problem with autocommands.
1853 - Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too
1854 big. Also moved some code from screen.c to move.c.
1855 - Don't include the CRC table for encryption, generate it. Saves quite a bit
1856 of space in the source code. (Matthias Kramm)
1857 - Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems.
1858 - Removed the GTK implementation of ":findhelp", it now uses the
1859 ToolBar.FindHelp menu entry.
1860 - Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and
1861 mch_shellinit() to mch_init().
1864 - In a ":highlight" listing, show "xxx" with the highlight color.
1865 - Added support for xterm with 88 or 256 colors. The right color numbers will
1866 be used for the name used in a ":highlight" command. (Steve Wall)
1867 - Added "default" argument for ":highlight". When included, the command is
1868 ignored if highlighting for the group was already defined.
1869 All syntax files now use ":hi default ..." to allow the user to specify
1870 colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed
1871 anymore. This greatly simplifies using non-default colors for a specific
1873 - Adjusted colortest.vim: Included colors on normal background and reduced the
1874 size by using a while loop. (Rafael Garcia-Suarez)
1875 - Added the "DarkYellow" color name. Just to make the list of standard colors
1876 consistent, it's not really a nice color to use.
1878 When an xterm is in 8-bit mode this is detected by the code returned for
1879 |t_RV|. All key codes are automatically converted to their 8-bit versions.
1881 The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the
1882 actual key codes used and the number of colors for t_Co. Only when |t_RV| is
1885 ":browse set" now also works in the console mode. ":browse edit" will give an
1888 ":bdelete" and ":bunload" only report the number of deleted/unloaded buffers
1889 when more than 'report'. The message was annoying when deleting a buffer in a
1893 - The number of marks kept in the jumplist has been increased from 50 to 100.
1894 - The jumplist is now stored in the viminfo file. CTRL-O can be used to jump
1895 to positions from a previous edit session.
1896 - When doing ":split" copy the jumplist to the new window.
1898 Also set the '[ and '] marks for the "~" and "r" commands. These marks are
1899 now always set when making a change with a Normal mode command.
1901 Python interface: Allow setting the width of a vertically split window. (John
1904 Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys').
1906 Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes
1908 Added the "l" flag in 'cinoptions'. (Anduin Withers)
1909 Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt)
1911 When doing ":wall" or ":wqall" and a modified buffer doesn't have a name,
1912 mention its buffer number in the error message.
1914 ":function Name" lists the function with line numbers. Makes it easier to
1915 find out where an error happened.
1917 In non-blockwise Visual mode, "r" replaces all selected characters with the
1918 typed one, like in blockwise Visual mode.
1920 When editing the last file in the argument list in any way, allow exiting.
1921 Previously this was only possible when getting to that file with ":next" or
1924 Added the '1' flag to 'formatoptions'. (Vit Stradal)
1925 Added 'n' flag in 'formatoptions': format a numbered list.
1928 - When a swap file already exists, and the user selects "Delete" at the
1929 ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo"
1930 file which won't always be found.
1931 - When giving the ATTENTION message and the date of the file is newer than the
1932 date of swap file, give a warning about this.
1933 - Made the info for an existing swap file a bit shorter, so that it still fits
1934 on a 24 line screen.
1935 - It was possible to make a symlink with the name of a swap file, linking to a
1936 file that doesn't exist. Vim would then silently use another file (if open
1937 with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do
1938 another check for an existing swap file just before creating it to catch a
1941 The g CTRL-G command also works in Visual mode and counts the number of words.
1944 Give an error message when using 'shell' and it's empty.
1946 Added the possibility to include "%s" in 'shellpipe'.
1948 Added "uhex" value for 'display': show non-printable characters as <xx>.
1949 Show unprintable characters with NonText highlighting, also in the command
1952 When asked to display the value of a hidden option, tell it's not supported.
1955 - When dropping a shortcut on gvim (.lnk file) edit the target, not the
1956 shortcut itself. (Yasuhiro Matsumoto)
1957 - Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe)
1958 - When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too.
1959 Also check for the Unix shell names.
1960 - When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig
1963 Win32 console version:
1964 - Includes the user and system name in the ":version" message, when available.
1965 It generates a pathdef.c file for this. (Jon Miner)
1966 - Set the window icon to Vim's icon (only for Windows 2000). While executing
1967 a shell command, modify the window title to show this. When exiting,
1968 restore the cursor position too. (Craig Barkhouse)
1969 - The Win32 console version can be compiled with OLE support. It can only
1970 function as a client, not as an OLE server.
1973 - Let "%p" in 'errorformat' (column of error indicated by a row of characters)
1974 also accept a line of dots.
1975 - Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp)
1976 - Added a default 'errorformat' value for VMS. (Jim Bush)
1978 The "p" command can now be used in Visual mode. It overwrites the selected
1979 text with the contents of a register.
1981 Highlight the <> items in the intro message to make clear they are special.
1983 When using the "c" flag for ":substitute", allow typing "l" for replacing this
1984 item and then stop: "last".
1986 When printing a verbose message about sourcing another file, print the line
1989 When resizing the Vim window, don't use 'equalalways'. Avoids that making the
1990 Vim window smaller makes split windows bigger. And it's what the docs say.
1992 When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR
1993 kept the remaining white space. Now made it work like BS: delete the
1994 autoindent to avoid a blank non-empty line results.
1996 Added a GetHwnd() call to the OLE interface. (Vince Negri)
1998 Made ":normal" work in an event handler. Useful when dropping a file on Vim
1999 and for CursorHold autocommands.
2001 For the MS-Windows version, don't change to the directory of the file when a
2002 slash is used instead of a backslash. Explorer should always use a backslash,
2003 the user can use a slash when typing the command.
2006 - When a buffer was changed outside of Vim and regaining focus, give a dialog
2007 to allow the user to reload the file. Now also for other GUIs than
2008 MS-Windows. And also used in the console, when compiled with dialog
2010 - Inspect the file contents to find out if it really changed, ignore
2011 situations where only the time stamp changed (e.g., checking the file out
2013 - When checking the timestamp, first check if the file size changed, to avoid
2014 a file compare then. Makes it quicker for large (log) files that are
2016 - Don't give a warning for a changed or deleted file when 'buftype' is set.
2017 - No longer warn for a changed directory. This avoids that the file explorer
2019 - Checking timestamps is only done for buffers that are not hidden. These
2020 will be checked when they become unhidden.
2021 - When checking for a file being changed outside of Vim, also check if the
2022 file permissions changed. When the file contents didn't change but the
2023 permissions did, give a warning.
2024 - Avoid checking too often, otherwise the dialog keeps popping up for a log
2025 file that steadily grows.
2027 Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
2028 "utf-8" causes the first byte of a multi-byte to be mapped. Can cause very
2029 hard to find problems. Disallow mapping part of a multi-byte character.
2031 For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
2032 Also for ":ruby" and ":perl". (Benoit Cerrina)
2034 Made ":syn include" use 'runtimepath' when the file name is not a full path.
2036 When 'switchbuf' contains "split" and the current window is empty, don't split
2039 Unix: Catch SIGPWR to preserve files when the power is about to go down.
2041 Sniff interface: (Anton Leherbauer)
2042 - fixed windows code, esp. the event handling stuff
2043 - adaptations for sniff 4.x ($SNIFF_DIR4)
2044 - support for adding sniff requests at runtime
2046 Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt
2049 ":find" accepts a count, which means that the count'th match in 'path' is
2052 ":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a
2053 buffer is active show "a" instead of nothing. When a buffer isn't loaded
2054 show nothing instead of "-".
2057 - When installing the tools, set absolute paths in tools scripts efm_perl.pl
2058 and mve.awk. Avoids that the user has to edit these files.
2059 - Install Icons for KDE when the directories exist and the icons do not exist
2062 Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and
2063 NT/2000/XP in a Vim script.
2065 When a ":cd" command was typed, echo the new current directory. (Dan Sharp)
2067 When using ":winpos" before the GUI window has been opened, remember the
2068 values until it is opened.
2070 In the ":version" output, add "/dyn" for features that are dynamically loaded.
2071 This indicates the feature may not always work.
2073 On Windows NT it is possible that a directory is read-only, but a file can be
2074 deleted. When making a backup by renaming the file and 'backupdir' doesn't
2075 use the current directory, this causes the original file to be deleted,
2076 without the possibility to create a new file. Give an extra error message
2077 then to warn to user about this.
2079 Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's
2080 consistent with Insert mode.
2082 ==============================================================================
2083 COMPILE TIME CHANGES *compile-changes-6*
2085 All generated files have been moved out of the "src" directory. This makes it
2086 easy to see which files are not edited by hand. The files generated by
2087 configure are now in the "src/auto" directory. For Unix, compiled object
2088 files go in the objects directory.
2090 The source archive was over the 1.4M floppy limit. The archives are now split
2091 up into two runtime and two source archives. Also provide a bzip2 compressed
2092 archive that contains all the sources and runtime files.
2094 Added "reconfig" as a target for make. Useful when changing some of the
2095 arguments that require flushing the cache, such as switching from GTK to
2096 Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent
2097 over different GUIs.
2099 Added src/README.txt to give an overview of the main parts of the source code.
2101 The Unix Makefile now fully supports using $(DESTDIR) to install to a specific
2102 location. Replaces the manual setting of *ENDLOC variables.
2104 Added the possibility for a maintainer of a binary version to include his
2105 e-mail address with the --with-compiledby configure argument.
2107 Included features are now grouped in "tiny", "small", "normal", "big" and
2108 "huge". This replaces "min-features" and "max-features". Using "tiny"
2109 disables multiple windows for a really small Vim.
2111 For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin
2112 are equal to curwin and don't use w_next and w_prev.
2114 Added the +listcmds feature. Can be used to compile without the Vim commands
2115 that manipulate the buffer list and argument list (the buffer list itself is
2116 still there, can't do without it).
2118 Added the +vreplace feature. It is disabled in the "small" version to avoid
2119 that the 16 bit DOS version runs out of memory.
2121 Removed GTK+ support for versions older than 1.1.16.
2123 The configure checks for using PTYs have been improved. Code taken from a
2124 recent version of screen.
2126 Added configure options to install Vim, Ex and View under another name (e.g.,
2127 vim6, ex6 and view6).
2129 Added "--with-global-runtime" configure argument. Allows specifying the
2130 global directory used in the 'runtimepath' default.
2132 Made enabling the SNiFF+ interface possible with a configure argument.
2134 Configure now always checks /usr/local/lib for libraries and
2135 /usr/local/include for include files. Helps finding the stuff for iconv() and
2138 Moved the command line history stuff into the +cmdline_hist feature, to
2139 exclude the command line history from the tiny version.
2141 MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids
2142 having to change two files for one problem. (Vince Negri)
2144 Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri)
2146 The jumplist is now a separate feature. It is disabled for the "small"
2147 version (16 bit MS-DOS).
2149 Renamed all types ending in _t to end in _T. Avoids potential problems with
2152 Added a configure check for X11 header files that implicitly define the return
2153 type to int. (Steve Wall)
2155 "make doslang" in the top directory makes an archive with the menu and .mo
2156 files for Windows. This uses the files generated on Unix, these should work
2157 on MS-Windows as well.
2159 Merged a large part of os_vms.c with os_unix.c. The code was duplicated in
2160 the past which made maintenance more work. (Zoltan Arpadffy)
2162 Updated the Borland C version 5 Makefile: (Dan Sharp)
2163 - Fixed the Perl build
2164 - Added python and tcl builds
2165 - Added dynamic perl and dynamic python builds
2166 - Added uninstal.exe build
2167 - Use "yes" and "no" for the options, like in Make_mvc.mak.
2169 Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's
2170 much smaller, many unnecessary text has been removed. (Walter Briscoe)
2171 Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in
2172 MS-Devstudio. (Walter Briscoe)
2174 MS-Windows: The big gvim.exe, which includes OLE, now also includes
2175 dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1,
2176 ActivePython 2.1.1 and ActiveTCL 8.3.3
2178 Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for
2179 Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile.
2181 Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6.
2184 Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto)
2186 Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro
2189 ==============================================================================
2190 BUG FIXES *bug-fixes-6*
2192 When checking the command name for "gvim", "ex", etc. ignore case. Required
2193 for systems where case is ignored in command names.
2195 Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'.
2197 When double-clicking in another window, wasn't recognized as double click,
2198 because topline is different. Added set_mouse_topline().
2200 The BROKEN_LOCALE check was broken. (Marcin Dalecki)
2202 When "t_Co" is set, the default colors remain the same, thus wrong. Reset the
2203 colors after changing "t_Co". (Steve Wall)
2205 When exiting with ":wqall" the messages about writing files could overwrite
2206 each other and be lost forever.
2208 When starting Vim with an extremely long file name (around 1024 characters) it
2209 would crash. Added a few checks to avoid buffer overflows.
2211 CTRL-E could get stuck in a file with very long lines.
2213 ":au syntax<Tab>" expanded event names while it should expand groups starting
2216 When expanding a file name caused an error (e.g., for <amatch>) it was
2217 produced even when inside an "if 0".
2219 'cindent' formatted C comments differently from what the 'comments' option
2220 specified. (Steve Wall)
2222 Default for 'grepprg' didn't include the file name when only grepping in one
2223 file. Now /dev/null has been added for Unix.
2225 Opening the option window twice caused trouble. Now the cursor goes to the
2226 existing option window.
2228 ":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set
2229 'readonly', unless the buffer is also edited in another window.
2231 GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar
2232 and menubar to disappear and resize the window (which clears the text).
2233 Now always grey-out the toplevel menus to avoid that the menubar changes size
2236 When re-using the current buffer for a new buffer, buffer-local variables were
2239 GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a
2240 down scroll. Now pass on a mouse event with mouse_row set to -1.
2242 Win32: Console version didn't work on telnet, because of switching between two
2243 console screens. Now use one console screen and save/restore the contents
2244 when needed. (Craig Barkhouse)
2246 When reading a file the magic number for encryption was included in the file
2247 length. (Antonio Colombo)
2249 The quickfix window contained leading whitespace and NULs for multi-line
2250 messages. (David Harrison)
2252 When using cscope, redundant tags were removed. This caused a numbering
2253 problem, because they were all listed. Don't remove redundant cscope tags.
2256 Cscope: Test for which matches are in the current buffer sometimes failed,
2257 causing a jump to another match than selected. (David Bustos)
2259 Win32: Buffer overflow when adding a charset name in a font.
2261 'titlestring' and 'iconstring' were evaluating an expression in the current
2262 context, which could be a user function, which is a problem for local
2263 variables vs global variables.
2265 Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in
2268 Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle.
2269 Could also happen for the ruler. screen_puts() didn't clear the right char in
2270 ScreenLines[] for the bold trick.
2272 Win32: ":%!sort|uniq" didn't work, because the input file name touches the
2273 "|". Insert a space before the "|".
2275 OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to
2276 fail, which caused syntax highlighting to fail.
2278 Pasting a register containing CTRL-R on the command line could cause an
2279 endless loop that can't be interrupted. Now it can be stopped with CTRL-C.
2281 When 'verbose' is set, a message for file read/write could overwrite the
2283 When 'verbose' is set, the header from ":select" was put after the last
2284 message. Now start a new line.
2286 The hit-enter prompt reacted to the response of the t_RV string, causing
2287 messages at startup to disappear.
2289 When t_Co was set to 1, colors were still used. Now only use color when t_Co
2292 Listing functions with ":function" didn't quit when 'q' or ':' was typed at
2295 Use mkstemp() instead of mktemp() when it's available, avoids a warning for
2298 When doing Insert mode completion it's possible that b_sfname is NULL. Don't
2299 give it to printf() for the "Scanning" message.
2301 ":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards
2302 was done after trying to remove the string. Now for ":set opt+=val" and ":set
2303 opt-=val" the expansion of wildcards is done before adding or removing "val".
2305 Using CTRL-V with the "r" command with a blockwise Visual selection inserted a
2306 CTRL-V instead of getting a special character.
2308 Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE
2309 after -lXdmcp. Should fix link problem on HP-UX 10.20.
2311 Don't remove the last "-lm" from the link line. Vim may link but fail later
2312 when the GUI starts.
2314 When the shell returns with an error when trying to expand wildcards, do
2315 include the pattern when the "EW_NOTFOUND" flag was set.
2316 When expanding wildcards with the shell fails, give a clear error message
2317 instead of just "1 returned".
2319 Selecting a Visual block, with the start partly on a Tab, deleting it leaves
2320 the cursor too far to the left. Causes "s" to work in the wrong position.
2322 Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead.
2324 Warning for changing a read-only file wasn't given when 'insertmode' was set.
2326 Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start
2327 notepad file" doesn't work. Remove the double quotes added by 'shellxquote'
2328 when using ":!start". (Pavol Juhas)
2330 The "<f-args>" argument of ":command" didn't accept Tabs for white space.
2331 Also, don't add an empty argument when there are trailing blanks.
2333 ":e test\\je" edited "test\je", but ":next test\\je" edited "testje".
2334 Backslashes were removed one time too many for ":next".
2336 VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file
2337 name. (Zoltan Arpadffy)
2339 After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all
2340 characters are redrawn with the right background.
2342 When doing "make test" without +eval or +windows feature, many tests failed.
2343 Now have test1 generate a script to copy the correct output, so that a test
2344 that doesn't work is skipped.
2346 On FreeBSD the Perl interface added "-lc" to the link command and Python added
2347 "-pthread". These two don't work together, because the libc_r library should
2348 be used. Removed "-lc" from Perl, it should not be needed.
2349 Also: Add "-pthread" to $LIBS, so that the checks for functions is done with
2350 libc_r. Sigaltstack() appears to be missing from libc_r.
2352 The Syntax sub-menus were getting too long, reorganized them and added another
2353 level for some languages.
2355 Visual block "r"eplace didn't work well when a Tab is partly included.
2358 When yanking a Visual block, where some lines end halfway the block, putting
2359 the text somewhere else doesn't insert a block. Padd with spaces for missing
2360 characters. Added "y_width" to struct yankreg. (Matthias Kramm)
2362 If a substitute string has a multibyte character after a backslash only the
2363 first byte of it was skipped. (Muraoka Taro)
2365 Win32: Numeric keypad keys were missing from the builtin termcap entry.
2367 When a file was read-only ":wa!" didn't force it to be written. (Vince Negri)
2369 Amiga: A file name starting with a colon was considered absolute but it isn't.
2370 Amiga: ":pwd" added a slash when in the root of a drive.
2372 Don't let 'ttymouse' default to "dec" when compiled with dec mouse support.
2373 It breaks the gpm mouse (Linux console).
2375 The prototypes for the Perl interface didn't work for threaded Perl. Added a
2376 sed command to remove the prototypes from proto/if_perl.pro and added them
2377 manually to if_perl.xs.
2379 When ":w!" resets the 'readonly' option the title and status lines were not
2382 ":args" showed the current file when the argument list was empty. Made this
2383 work like Vi: display nothing.
2385 "99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode.
2386 Don't set v:count when executing a stuffed command.
2388 Amiga: Got a requester for "home:" because it's in the default runtime path.
2389 Don't bring up a requester when searching for a file in 'path', sourcing the
2390 .vimrc file or using ":runtime".
2392 Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same
2393 file to appear as two different buffers.
2395 Win32: Renaming a file to an empty string crashed Vim. Happened when using
2396 explorer.vim and hitting ESC at the rename prompt.
2398 Win32: strftime() crashed when called with a "-1" value for the time.
2400 Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not
2403 Cscope sometimes jumped to the wrong tag. (David Bustos)
2405 OS/2: Could not find the tags file. mch_expand_wildcards() added another
2406 slash to a directory name.
2408 When using ">>" the `] mark was not in the last column.
2410 When Vim was compiled without menu support, filetype.vim was still trying to
2411 source the menu.vim script. (Rafael Garcia-Suarez)
2413 ":ptag" added an item to the tag stack.
2415 Win32 IME: "gr" didn't use IME mode.
2417 In the "vim --help" message the term "options" was used for arguments. That's
2418 confusing, call them "arguments".
2420 When there are two windows, and a BufUnload autocommand for closing window #1
2421 closed window #2, Vim would crash.
2423 When there is a preview window and only one other window, ":q" wouldn't exit.
2425 In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed.
2427 On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows
2428 glob("*") also returned files starting with a dot. Made this work like Unix
2431 Win32: Removed old code to open a console. Vimrun is now used and works fine.
2433 Compute the room needed by the intro message accurately, so that it also fits
2434 on a 25 line console. (Craig Barkhouse)
2436 ":ptnext" was broken. Now remember the last tag used in the preview window
2437 separately from the tagstack.
2439 Didn't check for "-display" being the last argument. (Wichert Akkerman)
2441 GTK GUI: When starting "gvim" under some conditions there would be an X error.
2442 Don't replace the error handler when creating the xterm clipboard. (Wichert
2445 Adding a space after a help tag caused the tag not to be found. E.g., ":he
2448 Was trying to expand a URL into a full path name. On Windows this resulted in
2449 the current directory to be prepended to the URL. Added vim_isAbsName() and
2450 vim_FullName() to avoid that various machine specific functions do it
2453 ":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only
2454 does it for the current file (looks like a bug). Now remember the buffer used
2455 for the entry in the argument list and use it's name (adjusted when doing
2456 ":cd"), unless it's deleted.
2458 When inserting a special key as its name ("<F8>" as four characters) after
2459 moving around in Insert mode, undo didn't work properly.
2461 Motif GUI: When using the right mouse button, for some people gvim froze for
2462 a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup
2463 menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or
2464 "popup_setpos". (David Harrison)
2466 Motif: When adding many menu items, the "Help" menu disappeared but the
2467 menubar didn't wrap. Now manually set the menubar height.
2469 When using <BS> in Insert mode to remove a line break, or using "J" to join
2470 lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro)
2472 Removed defining SVR4 in configure. It causes problems for some X header
2473 files and doesn't appear to be used anywhere.
2475 When 'wildignore' is used, 'ignorecase' for a tag match was not working.
2477 When 'wildignore' contains "*~" it was impossible to edit a file ending in a
2478 "~". Now don't recognize a file ending in "~" as containing wildcards.
2480 Disabled the mouse code for OS/2. It was not really used.
2482 ":mksession" always used the full path name for a buffer, also when the short
2484 ":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a
2485 way that they would be restored. Now use the key name if possible, this is
2488 After recovering a file and abandoning it, an ":edit" command didn't give the
2489 ATTENTION prompt again. Would be useful to be able to delete the file in an
2490 easy way. Reset the BF_RECOVERED flag when unloading the buffer.
2492 histdel() could match or ignore case, depending on what happened before it.
2493 Now always match case.
2495 When a window size was specified when splitting a window, it would still get
2496 the size from 'winheight' or 'winwidth' if it's larger.
2498 When using "append" or "insert" inside a function definition, a line starting
2499 with "function" or "endfunction" caused confusion. Now recognize the commands
2500 and skip lines until a ".".
2502 At the end of any function or sourced file need_wait_return could be reset,
2503 causing messages to disappear when redrawing.
2505 When in a while loop the line number for error messages stayed fixed. Now the
2506 line number is remembered in the while loop.
2508 "cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash.
2510 MS-Windows: getftime() didn't work when a directory had a trailing slash or
2511 backslash. Didn't show the time in the explorer because of this.
2513 When doing wildcard completion, a directory "a/" sorted after "a-b". Now
2514 recognize path separators when sorting files.
2516 Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were
2517 created as different buffers, although it's the same file. Expand to a full
2518 file name also when an absolute name contains "..".
2520 "g&" didn't repeat the last substitute properly.
2522 When 'clipboard' was set to "unnamed", a "Y" command would not write to "0.
2523 Now make a copy of register 0 to the clipboard register.
2525 When the search pattern matches in many ways, it could not always be
2526 interrupted with a CTRL-C. And CTRL-C would have to be hit once for every
2527 line when 'hlsearch' is on.
2528 When 'incsearch' is on and interrupting the search for a match, don't abandon
2531 When turning a directory name into a full path, e.g., with fnamemodify(),
2532 sometimes a slash was added. Make this consistent: Don't add a slash.
2534 When a file name contains a "!", using it in a shell command will cause
2535 trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time
2536 when 'shell' contains "sh".
2538 Completing a file name that has a tail that starts with a "~" didn't work:
2541 Using a ":command" argument that contains < and > but not for a special
2542 argument was not skipped properly.
2544 The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in
2545 $PATH didn't work, it always found it in the current directory.
2546 Rename the vim.exe in the current dir to avoid this. (Walter Briscoe)
2548 In the MS-DOS/Windows install program, use %VIM% instead of an absolute path,
2549 so that moving Vim requires only one change in the batch file.
2551 Mac: mch_FullName() changed the "fname" argument and didn't always initialize
2554 MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file
2557 "echo expand("%:p:h")" with an empty file name removed one directory name on
2558 MS-DOS. For Unix, when the file name is a directory, the directory name was
2559 removed. Now make it consistent: "%:p" adds a path separator for all systems,
2560 but no path separator is added in other situations.
2562 Unix: When checking for a CTRL-C (could happen any time) and there is an X
2563 event (e.g., clipboard updated) and there is typeahead, Vim would hang until a
2564 character was typed.
2566 MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon,
2567 had the slash removed.
2569 ":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even
2570 "he :set^=" didn't find it.
2572 A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work
2573 when the current path for D: isn't the root of the drive.
2575 Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary.
2577 When using a dtterm or various other color terminals, and the Normal group has
2578 been set to use a different background color, the background wouldn't always
2579 be displayed with that color. Added check for "ut" termcap entry: If it's
2580 missing, clearing the screen won't give us the current background color. Need
2581 to draw each character instead. Vim now also works when the "cl" (clear
2582 screen) termcap entry is missing.
2584 When repeating a "/" search command with a line offset, the "n" did use the
2585 offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the
2588 Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash.
2590 OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty().
2592 C-indenting: Indented a line starting with ")" with the matching "(", but not
2593 a line starting with "x)" looks strange. Also compute the indent for aligning
2594 with items inside the () and use the lowest indent.
2596 MS-DOS and Windows: ":n *.vim" also matched files ending in "~".
2597 Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are
2600 Macintosh: (Dany St-Amant)
2601 - In Vi-compatible mode didn't read files with CR line separators.
2602 - Fixed a bug in the handling of Activate/Deactivate Event
2603 - Fixed a bug in gui_mch_dialog (using wrong pointer)
2605 Multibyte GDK XIM: While composing a multibyte-word, if user presses a
2606 mouse button, then the word is removed. It should remain and composing end.
2609 MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF
2610 conversion by the C library got in the way of detecting a "dos" 'fileformat'.
2612 When 'smartcase' is set, patterns with "\S" would also make 'ignorecase'
2615 When clicking the mouse in a column larger than 222, it moved to the first
2616 column. Can't encode a larger number in a character. Now limit the number to
2617 222, don't jump back to the first column.
2619 GUI: In some versions CSI would cause trouble, either when typed directly or
2620 when part of a multi-byte sequence.
2622 When using multibyte characters in a ":normal" command, a trailing byte that
2623 is CSI or K_SPECIAL caused problems.
2625 Wildmenu didn't handle multi-byte characters.
2627 ":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
2630 Unix: When waiting for a character is interrupted by an X-windows event (e.g.,
2631 to obtain the contents of the selection), the wait time would not be honored.
2632 A message could be overwritten quickly. Now compute the remaining waiting
2635 Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then
2636 the name is invalid. Don't insert the backslash.
2638 When doing an auto-write before ":make", IObuff was overwritten and the wrong
2639 text displayed later.
2641 On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults
2642 for 'backupdir' and 'directory', they don't exist.
2644 The check for a new file not to be on an MS-DOS filesystem created the file
2645 temporarily, which can be slow. Don't do this if there is another check for
2646 the swap file being on an MS-DOS filesystem.
2648 Don't give the "Changing a readonly file" warning when reading from stdin.
2650 When using the "Save As" menu entry and not entering a file name, would get an
2651 error message for the trailing ":edit #". Now only do that when the
2652 alternate file name was changed.
2654 When Vim owns the X11 selection and is being suspended, an application that
2655 tries to use the selection hangs. When Vim continues it could no longer
2656 obtain the selection. Now give up the selection when suspending.
2658 option.h and globals.h were included in some files, while they were already
2659 included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it
2662 When repeating an operator that used a search pattern and the search pattern
2663 contained characters that have a special meaning on the cmdline (e.g., CTRL-U)
2666 Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in
2667 a (multibyte) character. For example, the "r" command could not be repeated.
2669 The DOS/Windows install program didn't always work from a directory with a
2670 long filename, because $VIM and the executable name would not have the same
2674 - Using an any-but character range [^x] in a regexp didn't work for UTF-8.
2676 - When backspacing over inserted characters in Replace mode multi-byte
2677 characters were not handled correctly. (Muraoka Taro)
2678 - Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
2680 - Word completion in Insert mode didn't work with multibyte characters.
2682 - Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too
2683 wide (number of bytes instead of cell width).
2684 - When changing 'encoding' to "euc-jp" and inserting a character Vim would
2686 - For euc-jp characters positioning the cursor would sometimes be wrong.
2687 Also, with two characters with 0x8e leading byte only the first one would be
2689 - When using DYNAMIC_ICONV on Win32 conversion might fail because of using the
2690 wrong error number. (Muraoka Taro)
2691 - Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
2692 the right character.
2693 - When using Visual block selection and only the left halve of a double-wide
2694 character is selected, the highlighting continued to the end of the line.
2695 - Visual-block delete didn't work properly when deleting the right halve of a
2696 double-wide character.
2697 - Overstrike mode for the cmdline replaced only the first byte of a multibyte
2699 - The cursor in Replace mode (also in the cmdline) was to small on a
2700 double-wide character.
2701 - When a multibyte character contained a 0x80 byte, it didn't work (was using
2702 a CSI byte instead). (Muraoka Taro)
2703 - Wordwise selection with the mouse didn't work.
2704 - Yanking a modeless selection of multi-byte characters didn't work.
2705 - When 'selection' is "exclusive", selecting a word that ends in a multi-byte
2706 character used wrong highlighting for the following character.
2708 Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
2710 Win32 GUI: When "vimrun.exe" is used to execute an external command, don't
2711 give a message box with the return value, it was already printed by vimrun.
2712 Also avoid printing the return value of the shell when ":silent!" is used.
2714 Win32: selecting a lot of text and using the "find/replace" dialog caused a
2717 X11 GUI: When typing a character with the 8th bit set and the Meta/Alt
2718 modifier, the modifier was removed without changing the character.
2720 Truncating a message to make it fit on the command line, using "..." for the
2721 middle, didn't always compute the space correctly.
2723 Could not imap <C-@>. Now it works like <Nul>.
2726 - Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M
2727 characters. (Zoltan Arpadffy and John W. Hamill)
2728 - Added VMS-specific defaults for the 'isfname' and 'isprint' options.
2730 - Removed os_vms_osdef.h, it's no longer used.
2732 The gzip plugin used a ":normal" command, this doesn't work when dropping a
2733 compressed file on Vim.
2735 In very rare situations a binary search for a tag would fail, because an
2736 uninitialized value happens to be half the size of the tag file. (Narendran)
2738 When using BufEnter and BufLeave autocommands to enable/disable a menu, it
2739 wasn't updated right away.
2741 When doing a replace with the "c"onfirm flag, the cursor was positioned after
2742 the ruler, instead of after the question. With a long replacement string the
2743 screen could scroll up and cause a "more" prompt. Now the message is
2744 truncated to make it fit.
2746 Motif: The autoconf check for the Xp library didn't work.
2748 When 'verbose' is set to list lines of a sourced file, defining a function
2749 would reset the counter used for the "more" prompt.
2751 In the Win32 find/replace dialog, a '/' character caused problems. Escape it
2754 Starting a shell with ":sh" was different from starting a shell for CTRL-Z
2755 when suspending doesn't work. They now work the same way.
2757 Jumping to a file mark while in a changed buffer gave a "mark not set" error.
2759 ":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch
2760 all commands that cause too much recursiveness.
2762 Removed "Failed to open input method" error message, too many people got this
2763 when they didn't want to use a XIM.
2765 GUI: When compiled without the +windows feature, the scrollbar would start
2768 Removed the trick with redefining character class functions from regexp.c.
2770 Win32 GUI: Find dialog gives focus back to main window, when typing a
2771 character mouse pointer is blanked, it didn't reappear when moving it in the
2772 dialog window. (Vince Negri)
2774 When recording and typing a CTRL-C, no character was recorded. When in Insert
2775 mode or cancelling half a command, playing back the recorded sequence wouldn't
2776 work. Now record the CTRL-C.
2778 When the GUI was started, mouse codes for DEC and netterm were still checked
2781 GUI: When scrolling and 'writedelay' is non-zero, the character under the
2782 cursor was displayed in the wrong position (one line above/below with
2785 A ":normal" command would reset the 'scrollbind' info. Causes problems when
2786 using a ":normal" command in an autocommand for opening a file.
2788 Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka
2791 When 'scrollbind' wasn't set would still remember the current position,
2794 GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of
2795 exit() when the child couldn't execute the shell.
2798 - GUI with double-byte encoding: a mouse click in left halve of double-wide
2799 character put the cursor in previous char.
2800 - Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
2801 included the character after the word.
2802 - When using a double-byte encoding and there is a lead byte at the end of the
2803 line, the preceding line would be displayed. "ga" also showed wrong info.
2804 - "gf" didn't include multi-byte characters before the cursor properly.
2807 GUI: The cursor was sometimes not removed when scrolling. Changed the policy
2808 from redrawing the cursor after each call to gui_write() to only update it at
2809 the end of update_screen() or when setting the cursor position. Also only
2810 update the scrollbars at the end of update_screen(), that's the only place
2811 where the window text may have been scrolled.
2813 Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now
2814 remove the space before the Tab.
2815 Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next
2816 line. Now keep the space after the Tab.
2818 In some places non-ASCII alphabetical characters were accepted, which could
2819 cause problems. For example, ":X" (X being such a character).
2821 When a pattern matches the end of the line, the last character in the line was
2822 highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the
2823 character just after the line.
2825 Motif: If a dialog was closed by clicking on the "X" of the window frame Vim
2826 would no longer respond.
2828 When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would
2831 When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in
2832 Select mode. Insert mode wasn't restarted after overwriting the text.
2833 Now allow nesting Insert mode with insert and change commands. CTRL-O
2834 cwfoo<Esc> now also works.
2836 Clicking with the right mouse button in another window started Visual mode,
2837 but used the start position of the current window. Caused ml_get errors when
2838 the line number was invalid. Now stay in the same window.
2840 When 'selection' is "exclusive", "gv" sometimes selected one character fewer.
2842 When 'comments' contains more than one start/middle/end triplet, the optional
2843 flags could be mixed up. Also didn't align the end with the middle part.
2845 Double-right-click in Visual mode didn't update the shown mode.
2847 When the Normal group has a font name, it was never used when starting up.
2848 Now use it when 'guifont' and 'guifontset' are empty.
2849 Setting a font name to a highlight group before the GUI was started didn't
2852 "make test" didn't use the name of the generated Vim executable.
2855 - Aligned with an "else" inside a do-while loop for a line below that loop.
2857 - A line before a function would be indented even when terminated with a
2858 semicolon. (Meikel Brandmeyer)
2859 - 'cindent' gave too much indent to a line after a "};" that ends an array
2861 - Support declaration lines ending in "," and "\". (Meikel Brandmeyer)
2862 - A case statement inside a do-while loop was used for indenting a line after
2863 the do-while loop. (Meikel Brandmeyer)
2864 - When skipping a string in a line with one double quote it could continue in
2865 the previous line. (Meikel Brandmeyer)
2867 When 'list' is set, 'hlsearch' didn't highlight a match at the end of the
2868 line. Now highlight the '$'.
2870 The Paste menu item in the menu bar, the popup menu and the toolbar were all
2871 different. Now made them all equal to how it was done in mswin.vim.
2873 st_dev can be smaller than "unsigned". The compiler may give an overflow
2874 warning. Added a configure check for dev_t.
2876 Athena: closing a confirm() dialog killed Vim.
2878 Various typos in the documentation. (Matt Dunford)
2880 Python interface: The definition of _DEBUG could cause trouble, undefine it.
2881 The error message for not being able to load the shared library wasn't
2882 translated. (Muraoka Taro)
2884 Mac: (Dany St-Amant and Axel Kielhorn)
2886 - Vim was eating 80% of the CPU time.
2887 - The project os_mac.pbxproj didn't work, Moved it to a subdirectory.
2888 - Made the menu priority work for the menubar.
2889 - Fixed a problem with dragging the scrollbar.
2890 - Cleaned up the various #ifdefs.
2892 Unix: When catching a deadly signal and we keep getting one use _exit() to
2893 exit in a quick and dirty way.
2895 Athena menu ordering didn't work correctly. (David Harrison)
2897 A ":make" or ":grep" command with a long argument could cause a crash.
2899 Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new
2902 GTK: When starting the GUI and there is an error in the .vimrc file, don't
2903 present the wait-return prompt, since the message was given in the terminal.
2905 When there was an error in a .vimrc file the terminal where gvim was started
2906 could be cleared. Set msg_row in main.c before writing any messages.
2908 GTK and X11 GUI: When trying to read characters from the user (e.g. with
2909 input()) before the Vim window was opened caused Vim to hang when it was
2910 started from the desktop.
2912 OS/390 uses 31 bit pointers. That broke some computations with MAX_COL.
2913 Reduce MAX_COL by one bit for OS/390. (Ralf Schandl)
2915 When defining a function and it already exists, Vim didn't say it existed
2916 until after typing it. Now do this right away when typing it.
2918 The message remembered for displaying later (keep_msg) was sometimes pointing
2919 into a generic buffer, which might be changed by the time the message is
2920 displayed. Now make a copy of the message.
2922 When using multi-byte characters in a menu and a trailing byte is a backslash,
2923 the menu would not be created correctly. (Muraoka Taro)
2924 Using a multibyte character in the substitute string where a trail byte is a
2925 backslash didn't work. (Muraoka Taro)
2927 When setting "t_Co" in a vimrc file, then setting it automatically from an
2928 xterm termresponse and then setting it again manually caused a crash.
2930 When getting the value of a string option that is not supported, the number
2931 zero was returned. This breaks a check like "&enc == "asdf". Now an empty
2932 string is returned for string options.
2934 Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting
2935 'title' in the gvimrc and starting the GUI with ":gui". Closed the connection
2936 to the X server accidentally.
2938 Had to hit return after selecting an entry for ":ts".
2940 The message from ":cn" message was sometimes cleared. Now display it after
2941 redrawing if it doesn't cause a scroll (truncated when necessary).
2943 hangulin.c didn't compile when the GUI was disabled. Disable it when it won't
2946 When setting a termcap option like "t_CO", the value could be displayed as
2947 being for a normal key with a modifier, like "<M-=>".
2949 When expanding the argument list, entries which are a directory name did not
2950 get included. This stopped "vim c:/" from opening the file explorer.
2952 ":syn match sd "^" nextgroup=asdf" skipped the first column and matched the
2953 nextgroup in the second column.
2955 GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing
2958 Don't define the <NetMouse> termcode in an xterm, reduces the problem when
2959 someone types <Esc> } in Insert mode.
2961 Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro
2963 Using a filename in Big5 encoding for autocommands didn't work (backslash in
2964 trailbyte). (Yasuhiro Matsumoto)
2966 DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like
2967 Unix to avoid problems with Windows dir functions. Merged the DOS and Win32
2970 Win32: Gvimext could not edit more than a few files at once, the length of the
2973 "ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to
2974 raw mode when needed. Use dup() to copy the stderr file descriptor to stdin
2975 to make shell commands work. No longer requires an external program to do
2978 When using ":filetype off", ftplugin and indent usage would be switched off at
2979 the same time. Don't do this, setting 'filetype' manually can still use them.
2981 GUI: When writing a double-byte character, it could be split up in two calls
2982 to gui_write(), which doesn't work. Now flush before the output buffer
2985 When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message
2986 would be written over the status line.
2987 The ":intro" command didn't work when there wasn't enough room.
2989 Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha)
2991 Athena: When deleting the directory in which Vim was started, using the file
2992 browser made Vim exit. Removed the use of XtAppError().
2994 When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef
2995 UNIX" to a separate line.
2997 Win32: Disabled _OnWindowPosChanging() to make maximize work better.
2999 Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe)
3002 - Finally fixed the problems with deleting a menu. (David Harrison)
3003 - Athena: When closing the confirm() dialog, worked like OK was pressed,
3006 The file explorer didn't work in compatible mode, because of line
3009 Didn't give an error message for ":digraph a".
3011 When using Ex mode in the GUI and typing a special key, <BS> didn't delete it
3012 correctly. Now display '?' for a special key.
3014 When an operator is pending, clicking in another window made it apply to that
3015 window, even though the line numbers could be beyond the end of the buffer.
3017 When a function call doesn't have a terminating ")" Vim could crash.
3019 Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers)
3021 Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin)
3023 Using a syntax cluster that includes itself made Vim crash.
3025 GUI: With 'ls' set to 2, dragging the status line all the way up, then making
3026 the Vim window smaller: Could not the drag status line anymore.
3028 "vim -c startinsert! file" placed cursor on last char of a line, instead of
3029 after it. A ":set" command in the buffer menu set w_set_curswant. Now don't
3030 do this when w_curswant is MAXCOL.
3032 Win32: When the gvim window was maximized and selecting another font, the
3033 window would no longer fill the screen.
3035 The line with 'pastetoggle' in ":options" didn't show the right value when it
3036 is a special key. Hitting <CR> didn't work either.
3038 Formatting text, resulting in a % landing in the first line, repeated the % in
3039 the following lines, like it's the start of a comment.
3041 GTK: When adding a toolbar item while gvim is already running, it wasn't
3042 possible to use the tooltip. Now it works by adding the tooltip first.
3044 The output of "g CTRL-G" mentioned "Char" but it's actually bytes.
3046 Searching for the end of a oneline region didn't work correctly when there is
3047 an offset for the highlighting.
3049 Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the
3052 Win32: Without scrollbars present, the MS mouse scroll wheel didn't work.
3053 Also handle the scrollbars when they are not visible.
3055 Motif: When there is no right scrollbar, the bottom scrollbar would still
3056 leave room for it. (Marcin Dalecki)
3058 When changing 'guicursor' and the value is invalid, some of the effects would
3059 still take place. Now first check for errors and only make the new value
3060 effective when it's OK.
3062 Using "A" In Visual block mode, appending to lines that don't extend into the
3063 block, padding was wrong.
3065 When pasting a block of text, a character that occupies more than one screen
3066 column could be deleted and spaces inserted instead. Now only do that with a
3069 Fixed conversion of documentation to HTML using Perl. (Dan Sharp)
3071 Give an error message when a menu name starts with a dot.
3073 Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem"
3074 even when sys/ptem.h isn't present.
3076 When creating the temp directory, make sure umask is 077, otherwise the
3077 directory is not accessible when it was set to 0177.
3079 Unix: When resizing the window and a redraw is a bit slow, could get a window
3080 resize event while redrawing, resulting in a messed up window. Any input
3081 (e.g., a mouse click) would redraw.
3083 The "%B" item in the status line became zero in Insert mode (that's normal)
3084 for another than the current window.
3086 The menu entries to convert to xxd and back didn't work in Insert mode.
3088 When ":vglobal" didn't find a line where the pattern doesn't match, the error
3089 message would be the wrong way around.
3091 When ignoring a multi-line error message with "%-A", the continuation lines
3092 would be used anyway. (Servatius Brandt)
3094 "grx" on a double-wide character inserted "x", instead of replacing the
3095 character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace
3096 at all. When doing "gRxx" on a control character the first "x" would be
3097 inserted, breaking the alignment.
3099 Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place
3100 as where "==" would put it.
3102 Win32: When maximized, adding/removing toolbar didn't resize the text area.
3104 When using <C-RightMouse> a count was discarded.
3106 When typing CTRL-V and <RightMouse> in the command line, would insert
3109 Using "vis" or "vas" when 'selection' is exclusive didn't include the last
3112 When adding to an option like 'grepprg', leading space would be lost. Don't
3113 expand environment variables when there is no comma separating the items.
3115 GUI: When using a bold-italic font, would still use the bold trick and
3118 Motif: The default button didn't work in dialogs, the first one was always
3119 used. Had to give input focus to the default button.
3121 When using CTRL-T to jump within the same file, the '' mark wasn't set.
3123 Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the
3124 whole ":s" command instead of each confirmed replacement.
3126 The Buffers menu, when torn-off, disappeared when being refreshed. Add a
3127 dummy item to avoid this.
3129 Removed calling msg_start() in main(), it should not be needed.
3131 vim_strpbrk() did not support multibyte characters. (Muraoka Taro)
3133 The Amiga version didn't compile, the code was too big for relative jumps.
3134 Moved a few files from ex_docmd.c to ex_cmds2.c
3136 When evaluating the "= register resulted in the "= register being changed, Vim
3139 When doing ":view file" and it fails, the current buffer was made read-only.
3141 Motif: For some people the separators in the toolbar disappeared when resizing
3142 the Vim window. (Marcin Dalecki)
3144 Win32 GUI: when setting 'lines' to a huge number, would not compute the
3145 available space correctly. Was counting the menu height twice.
3147 Conversion of the docs to HTML didn't handle the line with the +quickfix tag
3148 correctly. (Antonio Colombo)
3150 Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro
3153 The Cygwin version had trouble with fchdir(). Don't use that function for
3156 The generic check in scripts.vim for "conf" syntax was done before some checks
3157 in filetype.vim, resulting in "conf" syntax too often.
3159 Dos32: Typing lagged behind. Would wait for one biostick when checking if a
3160 character is available.
3162 GTK: When setting 'columns' while starting up "gvim", would set the width of
3163 the terminal it was started in.
3165 When using ESC in Insert mode, an autoindent that wraps to the next line
3166 caused the cursor to move to the end of the line temporarily. When the
3167 character before the cursor was a double-wide multi-byte character the cursor
3168 would be on the right halve, which causes problems with some terminals.
3170 Didn't handle multi-byte characters correctly when expanding a file name.
3171 (Yasuhiro Matsumoto)
3173 Win32 GUI: Errors generated before the GUI is decided to start were not
3176 globpath() didn't reserve enough room for concatenated results. (Anduin
3179 When expanding an option that is very long already, don't do the expansion, it
3180 would be truncated to MAXPATHL. (Anduin Withers)
3182 When 'selection' is "exclusive", using "Fx" in Visual mode only moved until
3183 just after the character.
3185 When using IME on the console to enter a file name, the screen may scroll up.
3186 Redraw the screen then. (Yasuhiro Matsumoto)
3188 Motif: In the find/replace dialog the "Replace" button didn't work first time,
3189 second time it replaced all matches. Removed the use of ":s///c".
3190 GTK: Similar problems with the find/replace dialog, moved the code to a common
3193 X11: Use shared GC's for text. (Marcin Dalecki)
3195 "]i" found the match under the cursor, instead of the first one below it.
3196 Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D".
3198 Win16: When maximized and the font is changed, don't change the window size.
3201 When 'lbr' is set, deleting a block of text could leave the cursor in the
3204 Win32: When opening a file with the "Edit with Vim" popup menu entry,
3205 wildcards would cause trouble. Added the "--literal" argument to avoid
3206 expanding file names.
3208 When using "gv", it didn't restore that "$" was used in Visual block mode.
3210 Win32 GUI: While waiting for a shell command to finish, the window wasn't
3211 redrawn at all. (Yasuhiro Matsumoto)
3213 Syntax highlighting: A match that continues on a next line because of a
3214 contained region didn't end when that region ended.
3216 The ":s" command didn't allow flags like 'e' and 'i' right after it.
3218 When using ":s" to split a line, marks were moved to the next line. Vi keeps
3219 them in the first line.
3221 When using ":n" ":rew", the previous context mark was at the top of the file,
3222 while Vi puts it in the same place as the cursor. Made it Vi compatible.
3224 Fixed Vi incompatibility: Text was not put in register 1 when using "c" and
3225 "d" with a motion character, when deleting within one line with one of the
3226 commands: % ( ) `<character> / ? N n { }
3228 Win32 GUI: The tooltip for tear-off items remained when the tear-off item was
3231 GUI: When typing ":" at the more prompt, would return to Normal mode and not
3234 When starting Vim with an argument "-c g/at/p" the printed lines would
3235 overwrite each other.
3237 BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check
3238 removed them. Various changes to os_beos.cc. (Joshua Haberman)
3239 Removed the check for the hardware platform, the BeBox has not been produced
3240 for a long time now.
3242 Win32 GUI: don't use a message box when the shell returns an error code,
3243 display the message in the Vim window.
3245 Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't
3246 work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp)
3248 When a line in the tags file ended in ;" (no TAB following) the command would
3249 not be recognized as a search command.
3251 X11: The inputMethod resource never worked. Don't use the "none" input method
3252 for SGI, it apparently makes the first character in Input method dropped.
3254 Fixed incorrect tests in os_mac.h. (Axel Kielhorn)
3256 Win32 console: When the console where Vim runs in is closed, Vim could hang in
3257 trying to restore the window icon. (Yasuhiro Matsumoto)
3259 When using ":3call func()" or ":3,3call func() the line number was ignored.
3261 When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes
3262 continued until the end of the line.
3264 GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't'
3267 MS-Windows: When the current directory includes a "~", searching files with
3268 "gf" or ":find" didn't work. A "$" in the directory had the same problem.
3269 Added mch_has_exp_wildcard() functions.
3271 When reducing the Vim window height while starting up, would get an
3272 out-of-memory error message.
3274 When editing a very long search pattern, 'incsearch' caused the redraw of the
3275 command line to fail.
3277 Motif GUI: On some systems the "Help" menu would not be on the far right, as
3278 it should be. On some other systems (esp. IRIX) the command line would not
3279 completely show. Solution is to only resize the menubar for Lesstif.
3281 Using "%" in a line that contains "\\" twice didn't take care of the quotes
3282 properly. Now make a difference between \" and \\".
3284 For non-Unix systems a dummy file is created when finding a swap name to
3285 detect a 8.3 filesystem. When there is an existing swap file, would get a
3286 warning for the file being created outside of Vim. Also, when closing the Vim
3287 window the file would remain.
3289 Motif: The menu height was always computed, using a "-menuheight" argument
3290 was setting the room for the command line. Now make clear the argument is not
3293 For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to
3294 avoid a duplicate case in a switch.
3296 The GUI may have problems when forking. Always call _exit() instead of exit()
3297 in the parent, the child will call exit().
3299 Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus.
3300 Now use CP_ACP instead of CP_OEMCP. (Vince Negri)
3302 When displaying text with syntax highlighting causes an error (e.g., running
3303 out of stack) the syntax highlighting is disabled to avoid further messages.
3305 When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was
3306 started from the desktop (no place to display messages) it would hang. Now
3307 open the GUI window early to be able to display the messages and pop up the
3310 "r<CR>" on a multi-byte character deleted only the first byte of the
3311 character. "3r<CR>" deleted three bytes instead of three characters.
3313 When interrupting reading a file, Vi considers the buffer modified. Added the
3314 'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to
3317 When using an item in 'guicursor' that starts with a colon, Vim would get
3320 When putting a file mark in a help file and later jumping back to it, the
3321 options would not be set. Extended the modeline in all help files to make
3324 When a modeline contained "::" the local option values would be printed. Now
3327 Some help files did not use a 8.3 names, which causes problems when using
3328 MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to
3329 "rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to
3332 When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That
3333 doesn't seem right, only do this when in linewise mode. But then do it
3334 always, not only when start and end of Visual mode are equal.
3336 When using "viw" on a single-letter word and 'selection' is exclusive, would
3337 not include the word.
3339 When formatting text from Insert mode, using CTRL-O, could mess up undo
3342 While writing a file (also for the backup file) there was no check for an
3343 interrupt (hitting CTRL-C). Vim could hang when writing a large file over a
3344 slow network, and moving the mouse didn't make it appear (when 'mousehide' is
3345 set) and the screen wasn't updated in the GUI. Also allow interrupting when
3346 syncing the swap file, it can take a long time.
3348 When using ":mksession" while there is help window, it would later be restored
3349 to the right file but not marked as a help buffer. ":help" would then open
3350 another window. Now use the value "help" for 'buftype' to mark a help buffer.
3352 The session file contained absolute path names in option values, that doesn't
3353 work when the home directory depends on the situation. Replace the home
3354 directory with ~/ when possible.
3356 When using 'showbreak' a TAB just after the shown break would not be counted
3357 correctly, the cursor would be positioned wrong.
3359 With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting
3360 tabs did not work right. Could cause a crash. Backspacing was also wrong,
3361 could get stuck at a line break.
3363 Win32: crashed when tearing off a menu with over 300 items.
3365 GUI: A menu or toolbar item would appear when only a tooltip was defined for
3368 When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the
3369 last line of the file is the first line on screen, the text wasn't displayed.
3371 When running "autoconf", delete the configure cache to force starting cleanly
3372 when configure is run again.
3374 When changing the Normal colors for cterm, the value of 'background' was
3375 changed even when the GUI was used.
3377 The warning for a missing vimrun.exe was always given on startup, but some
3378 people just editing a file don't need to be bothered by it. Only show it when
3379 vimrun would be used.
3381 When using "%" in a multibyte text it could get confused by trailbytes that
3382 match. (Muraoka Taro)
3384 Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes.
3386 Athena: The title of a dialog window and the file selector window were not
3387 set. (David Harrison)
3389 The "htmlLink" highlight group specified colors, which gives problems when
3390 using a color scheme. Added the "Underlined" highlight group for this.
3392 After using ":insert" or ":change" the '[ mark would be one line too low.
3394 When looking for the file name after a match with 'include' one character was
3395 skipped. Same for 'define'.
3397 Win32 and DJGPP: When editing a file with a short name in a directory, and
3398 editing the same file but using the long name, would end up with two buffers
3401 "gf" on a filename that starts with "../" only worked when the file being
3402 edited is in the current directory. An include file search didn't work
3403 properly for files starting with "../" or ".". Now search both relative to
3404 the file and to the current directory.
3406 When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline'
3407 contained "%{" but no following "}" memory was corrupted and a crash could
3410 ":0append" and then inserting two lines did not redraw the blank lines that
3411 were scrolled back down.
3413 When using insert mode completion in a narrow window, the message caused a
3414 scroll up. Now shorten the message if it doesn't fit and avoid writing the
3415 ruler over the message.
3417 XIM still didn't work correctly on some systems, especially SGI/IRIX. Added
3418 the 'imdisable' option, which is set by default for that system.
3421 Problem: When the first character of a file name is over 127, the Buffers
3422 menu entry would get a negative priority and cause problems.
3423 Solution: Reduce the multiplier for the first character when computing
3424 the hash value for a Buffers menu entry.
3425 Files: runtime/menu.vim
3428 Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas)
3429 Solution: Change slashes to backslashes in the directory passed to the file
3431 Files: src/gui_w48.c
3433 Athena file browser: On some systems wcstombs() can't be used to get the
3434 length of a multi-byte string. Use the maximum length then. (Yasuhiro
3438 Problem: When 'patchmode' is set, appending to a file gives an empty
3439 original file. (Ed Ralston)
3440 Solution: Also make a backup copy when appending and 'patchmode' is set.
3444 Problem: When 'patchmode' is set, appending to a compressed file gives an
3445 uncompressed original file. (Ed Ralston)
3446 Solution: Create the original file before decompressing.
3447 Files: runtime/plugin/gzip.vim
3450 Problem: Athena file selector keeps the title of the first invocation.
3451 Solution: Set the title each time the file selector is opened. (David
3453 Files: src/gui_at_fs.c
3456 Problem: When using GPM (mouse driver in a Linux console) a double click is
3457 interpreted as a scroll wheel click.
3458 Solution: Check if GPM is being used when deciding if a mouse event is for
3463 Problem: The Edit.Save menu and the Save toolbar button didn't work when
3464 the buffer has no file name.
3465 Solution: Use a file browser to ask for a file name. Also fix the toolbar
3466 Find item in Visual mode.
3467 Files: runtime/menu.vim
3470 Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth'
3471 doesn't redraw properly. (Stefan Schulze)
3472 Solution: Remove the dollar before breaking the line.
3476 Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is
3477 "command.com" and 'makeprg' is "nmake". The environment isn't
3478 passed on to "nmake".
3479 Solution: Also use vimrun.exe when redirecting the output of a command.
3480 Files: src/os_win32.c
3483 Problem: The version number was reported wrong in the intro screen.
3484 Solution: Check for a version number with two additional letters.
3485 Files: src/version.c
3488 Problem: When scrolling a window with folds upwards, switching to another
3489 vertically split window and back may not update the scrollbar.
3490 Solution: Limit w_botline to the number of lines in the buffer plus one.
3494 ==============================================================================
3495 VERSION 6.1 *version-6.1*
3497 This section is about improvements made between version 6.0 and 6.1.
3499 This is a bug-fix release, there are not really any new features.
3502 Changed *changed-6.1*
3505 'iminsert' and 'imsearch' are no longer set as a side effect of defining a
3506 language-mapping using ":lmap".
3513 ampl AMPL (David Krief)
3514 ant Ant (Johannes Zellner)
3515 baan Baan (Her van de Vliert)
3516 cs C# (Johannes Zellner)
3517 lifelines Lifelines (Patrick Texier)
3518 lscript LotusScript (Taryn East)
3519 moo MOO (Timo Frenay)
3520 nsis NSIS (Alex Jakushev)
3521 ppd Postscript Printer Description (Bjoern Jacke)
3522 rpl RPL/2 (Joel Bertrand)
3523 scilab Scilab (Benoit Hamelin)
3524 splint Splint (Ralf Wildenhues)
3525 sqlj SQLJ (Andreas Fischbach)
3526 wvdial WvDial (Prahlad Vaidyanathan)
3527 xf86conf XFree86 config (Nikolai Weibull)
3528 xmodmap Xmodmap (Nikolai Weibull)
3529 xslt Xslt (Johannes Zellner)
3530 monk Monk (Mike Litherland)
3531 xsd Xsd (Johannes Zellner)
3532 cdl CDL (Raul Segura Acevedo)
3533 sendpr Send-pr (Hendrik Scholz)
3535 Added indent file for Scheme. (Dorai Sitaram)
3536 Added indent file for Prolog. (Kontra Gergely)
3537 Added indent file for Povray (David Necas)
3538 Added indent file for IDL (Aleksandar Jelenak)
3539 Added C# indent and ftplugin scripts.
3541 Added Ukrainian menu translations. (Bohdan Vlasyuk)
3542 Added ASCII version of the Czech menus. (Jiri Brezina)
3544 Added Simplified Chinese translation of the tutor. (Mendel L Chan)
3546 Added Russian keymap for yawerty keyboard.
3548 Added an explanation of using the vimrc file in the tutor.
3549 Changed tutor.vim to get the right encoding for the Taiwainese tutor.
3551 Added Russian tutor. (Andrey Kiselev)
3552 Added Polish tutor. (Mikolaj Machowski)
3554 Added darkblue color scheme. (Bohdan Vlasyuk)
3556 When packing the dos language archive automatically generate the .mo files
3559 Improved NSIS script to support NSIS 180. Added icons for the
3560 enabled/disabled status. (Mirek Pruchnik)
3562 cp1250 version of the Slovak message translations.
3564 Compiler plugins for IRIX compilers. (David Harrison)
3570 The license text was updated to make the meaning clearer and make it
3571 compatible with the GNU GPL. Otherwise distributors have a problem when
3572 linking Vim with a GPL'ed library.
3574 When installing the "less.sh" script it was not made executable. (Chuck Berg)
3576 Win32: The "9" key on the numpad wasn't working. (Julian Kinraid)
3578 The NSIS install script didn't work with NSIS 1.80 or later. Also add
3579 Vim-specific icons. (Pruchnik)
3581 The script for conversion to HTML contained an "if" in the wrong place.
3584 Allow using ":ascii" in the sandbox, it's harmless.
3586 Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when
3587 it's redefined to creat64().
3589 The text files in the VisVim directory were in "dos" format. This caused
3590 problems when applying a patch. Now keep them in "unix" format and convert
3591 them to "dos" format only for the PC archives.
3593 Add ruby files to the dos source archive, they can be used by Make_mvc.mak.
3596 "cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm
3599 Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger)
3601 The GTK file selection dialog didn't include the "Create Dir", "Delete File"
3602 and "Rename File" buttons.
3604 When doing ":browse source" the dialog has the title "Run Macro". Better
3605 would be "Source Vim script". (Yegappan Lakshmanan)
3607 Win32: Don't use the printer font as default for the font dialog.
3609 "make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to
3610 "yes". (Mirek Pruchnik)
3612 The ToolBar TagJump item used "g]", which prompts for a selection even when
3613 there is only one matching tag. Use "g<C-]>" instead.
3615 The ming makefile for message translations didn't have the right list of
3618 The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile
3619 this version without message translations.
3621 The Borland 5 makefile contained a check for Ruby which is no longer needed.
3622 The URLs for the TCL library was outdated. (Dan Sharp)
3624 The eviso.ps file was missing from the DOS runtime archive, it's needed for
3625 printing PostScript in the 32bit DOS version.
3627 In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032
3628 Now use ":scriptencoding" in the file where the translations are given. Do
3629 the same for all menus in latin1 encoding.
3631 Included a lot of fixes for the Macintosh, mostly to make it work with Carbon.
3632 (Dany StAmant, Axel Kielhorn, Benji Fisher)
3634 Improved the vimtutor shell script to use $TMPDIR when it exists, and delete
3635 the copied file when exiting in an abnormal way. (Max Ischenko)
3637 When "iconv.dll" can't be found, try using "libiconv.dll".
3639 When encryption is used, filtering with a shell command wasn't possible.
3641 DJGPP: ":cd c:" always failed, can't get permissions for "c:".
3642 Win32: ":cd c:/" failed if the previous current directory on c: had become
3645 DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is
3648 Dependencies on header files in MingW makefile was wrong.
3650 Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe)
3652 Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a
3653 different argument to make didn't regenerate it.
3655 Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different
3656 directory, the if_ole.h in the src directory may be used instead. Delete the
3659 When a window is vertically split and then ":ball" is used, the window layout
3660 is messed up, can cause a crash. (Muraoka Taro)
3662 When 'insertmode' is set, using File/New menu and then double clicking, "i" is
3663 soon inserted. (Merlin Hansen)
3665 When Select mode is active and using the Buffers menu to switch to another
3666 buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer"
3669 When Select mode is active and 'insertmode' is set, using the Buffers menu to
3670 switch to another buffer, did not return to Insert mode. Make sure
3671 "restart_edit" is set.
3673 When double clicking on the first character of a word while 'selection' is
3674 "exclusive" didn't select that word.
3678 Problem: Loading the sh.vim syntax file causes error messages . (Corinna
3680 Solution: Add an "if". (Charles Campbell)
3681 Files: runtime/syntax/sh.vim
3684 Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert)
3685 Solution: Add '@' to the list of accepted items.
3689 Problem: The configure check for ACLs on AIX doesn't work.
3690 Solution: Fix the test program so that it compiles. (Tomas Ogren)
3691 Files: src/configure.in, src/auto/configure
3694 Problem: The find/replace dialog doesn't reuse a previous argument
3696 Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo)
3700 Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing.
3701 Solution: Don't delay just after wait_return() was called. Added the
3702 did_wait_return flag.
3703 Files: src/globals.h, src/message.c, src/normal.c, src/screen.c
3706 Problem: With a vertical split, 'number' set and 'scrolloff' non-zero,
3707 making the window width very small causes a crash. (Niklas
3709 Solution: Check for a zero width.
3713 Problem: When setting 'filetype' while there is no FileType autocommand, a
3714 following ":setfiletype" would set 'filetype' again. (Kobus
3716 Solution: Set did_filetype always when 'filetype' has been set.
3720 Problem: 'imdisable' is missing from the options window. (Michael Naumann)
3721 Solution: Add an entry for it.
3722 Files: runtime/optwin.vim
3725 Problem: Nextstep doesn't have S_ISBLK. (John Beppu)
3726 Solution: Define S_ISBLK using S_IFBLK.
3727 Files: src/os_unix.h
3730 Problem: Using "gf" on a file name starting with "./" or "../" in a buffer
3731 without a name causes a crash. (Roy Lewis)
3732 Solution: Check for a NULL file name.
3736 Problem: Python: After replacing or deleting lines get an ml_get error.
3738 Solution: Adjust the cursor position for deleted or added lines.
3739 Files: src/if_python.c
3742 Problem: Polish translations contain printf format errors, this can result
3743 in a crash when using one of them.
3744 Solution: Fix for translated messages. (Michal Politowski)
3748 Problem: Using ":silent! cmd" still gives some error messages, like for an
3749 invalid range. (Salman Halim)
3750 Solution: Reset emsg_silent after calling emsg() in do_one_cmd().
3751 Files: src/ex_docmd.c
3754 Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB
3755 still changes the buffer. (Muraoka Taro)
3756 Solution: Check if saving the line for undo fails.
3760 Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been
3761 used, can get an error for deleting the b:did_ftplugin variable.
3763 Solution: Only delete the variable when it exists.
3764 Files: runtime/ftplugin.vim
3767 Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when
3768 the argument is a string. (Hari Krishna Dara)
3769 Also for setbufvar() and getbufvar().
3770 Solution: Also find unlisted buffers.
3774 Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co
3775 and the external one doesn't, it gets reset to empty. (David
3777 Solution: Only set t_Co when it wasn't set yet.
3781 Problem: Initializing 'encoding' may cause a crash when setlocale() is not
3782 used. (Dany St-Amant)
3783 Solution: Check for a NULL pointer.
3787 Problem: Converting a string with multi-byte characters to a printable
3788 string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
3789 Solution: Correctly compute the length of the result in transstr().
3790 Files: src/charset.c
3793 Problem: When obtaining the value of a global variable internally, could
3794 get the function-local value instead. Applies to using <Leader>
3795 and <LocalLeader> and resetting highlighting in a function.
3796 Solution: Prepend "g:" to the variable name. (Aric Blumer)
3797 Files: src/syntax.c, src/term.c
3800 Problem: The 'cscopepathcomp' option didn't work.
3801 Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng)
3805 Problem: When using the 'langmap' option, the second character of a command
3806 starting with "g" isn't adjusted.
3807 Solution: Apply 'langmap' to the second character. (Alex Kapranoff)
3811 Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen)
3812 Solution: Use ":runtime" instead of "source" to load haskell.vim.
3813 Files: runtime/syntax/lhaskell.vim
3816 Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah
3818 Solution: Don't insert a NUL byte in the text, use a newline.
3822 Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line.
3823 (Preben Peppe Guldberg)
3824 Solution: Always see a "$" as end-of-line after "\v". Do the same for "^".
3828 Problem: GTK: When using arrow keys to navigate through the menus, the
3829 separators are selected.
3830 Solution: Set the separators "insensitive". (Pavel Kankovsky)
3831 Files: src/gui_gtk.c, src/gui_gtk_x11.c
3834 Problem: VMS: Printing doesn't work, the file is deleted too quickly.
3835 No longer need the VMS specific printing menu.
3836 gethostname() is not available with VAXC.
3837 The makefile was lacking selection of the tiny-huge feature set.
3838 Solution: Adjust the 'printexpr' option default. Fix the other problems and
3839 update the documentation. (Zoltan Arpadffy)
3840 Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt,
3841 src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h
3844 Problem: Can't compile without +virtualedit and with +visualextra. (Geza
3846 Solution: Add an #ifdef for +virtualedit.
3850 Problem: When making a change in line 1, then in line 2 and then deleting
3851 line 1, undo info could be wrong. Only when the changes are undone
3852 at once. (Gerhard Hochholzer)
3853 Solution: When not saving a line for undo because it was already done
3854 before, remember for which entry the last line must be computed.
3855 Added ue_getbot_entry pointer for this. When the number of lines
3856 changes, adjust the position of newer undo entries.
3857 Files: src/structs.h, src/undo.c
3860 Problem: Using ":source! file" doesn't work inside a loop or after
3861 ":argdo". (Pavol Juhas)
3862 Solution: Execute the commands in the file right away, do not let the main
3864 Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h,
3865 src/proto/ex_docmd.pro, src/proto/getchar.pro
3868 Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu)
3869 Solution: Move putenv() from pty.c to misc2.c
3870 Files: src/misc2.c, src/pty.c
3873 Problem: When changing a setting that affects all folds, they are not
3874 displayed immediately.
3875 Solution: Set the redraw flag in foldUpdateAll().
3879 Problem: Using 'wildmenu' on MS-Windows, file names that include a space
3880 are only displayed starting with that space. (Xie Yuheng)
3881 Solution: Don't recognize a backslash before a space as a path separator.
3885 Problem: Calling searchpair() with three arguments could result in a crash
3886 or strange error message. (Kalle Bjorklid)
3887 Solution: Don't use the fifth argument when there is no fourth argument.
3891 Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work
3892 when 'ignorecase' is set. (Allen Castaban)
3893 Solution: Always match case when checking if a flag is already present in
3895 Files: runtime/menu.vim
3898 Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a
3899 slash in 'tags' doesn't work as expected. (Mathias Koehrer)
3900 Solution: Only use the drive, not the whole path to the current directory.
3901 Also make it work for "c:dir/file".
3905 Problem: When the user has set "did_install_syntax_menu" to avoid the
3906 default Syntax menu it still appears. (Virgilio)
3907 Solution: Don't add the three default items when "did_install_syntax_menu"
3909 Files: runtime/menu.vim
3912 Problem: When 'selection' is "exclusive", deleting a block of text at the
3913 end of a line can leave the cursor beyond the end of the line.
3914 Solution: Correct the cursor position.
3918 Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is
3919 used. Using "c" in blockwise Visual mode leaves the cursor in a
3921 Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave
3922 the cursor on the last inserted character.
3926 Problem: When 'fileencoding' is invalid and writing fails because of
3927 this, the original file is gone. (Eric Carlier)
3928 Solution: Restore the original file from the backup.
3932 Problem: Using ":language messages en" when LC_MESSAGES is undefined
3933 results in setting LC_CTYPE. (Eric Carlier)
3934 Solution: Set $LC_MESSAGES instead.
3935 Files: src/ex_cmds2.c
3938 Problem: ":mksession" can't handle file names with a space.
3939 Solution: Escape special characters in file names with a backslash.
3940 Files: src/ex_docmd.c
3943 Problem: Patch 6.0.041 was wrong.
3944 Solution: Use mch_getenv() instead of vim_getenv().
3945 Files: src/ex_cmds2.c
3948 Problem: Using a "containedin" list for a syntax item doesn't work for an
3949 item that doesn't have a "contains" argument. Also, "containedin"
3950 doesn't ignore a transparent item. (Timo Frenay)
3951 Solution: When there is a "containedin" argument somewhere, always check for
3952 contained items. Don't check for the transparent item but the
3953 item it's contained in.
3954 Files: src/structs.h, src/syntax.c
3957 Problem: After creating a fold with a Visual selection, another window
3958 with the same buffer still has inverted text. (Sami Salonen)
3959 Solution: Redraw the inverted text.
3963 Problem: When getrlimit() returns an 8 byte number the check for running
3964 out of stack may fail. (Anthony Meijer)
3965 Solution: Skip the stack check if the limit doesn't fit in a long.
3966 Files: src/auto/configure, src/config.h.in, src/configure.in,
3970 Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash.
3972 Solution: Don't allow nested atoms inside "\%[]".
3976 Problem: Win32: In the console the mouse doesn't always work correctly.
3977 Sometimes after getting focus a mouse movement is interpreted like
3979 Solution: Use a different function to obtain the number of mouse buttons.
3980 Avoid recognizing a button press from undefined bits. (Vince Negri)
3981 Files: src/os_win32.c
3984 Problem: When using evim the intro screen is misleading. (Adrian Nagle)
3985 Solution: Mention whether 'insertmode' is set and the menus to be used.
3986 Files: runtime/menu.vim, src/version.c
3989 Problem: UTF-8: "viw" doesn't include non-ASCII characters before the
3990 cursor. (Bertilo Wennergren)
3991 Solution: Use dec_cursor() instead of decrementing the column number.
3995 Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing
3996 characters. (Ron Aaron)
3997 Solution: Also include the composing characters and fix redrawing them.
3998 Files: src/ex_getln.c, src/ops.c
4001 Problem: The check for rlim_t in patch 6.0.046 does not work on some
4002 systems. (Zdenek Sekera)
4003 Solution: Also look in sys/resource.h for rlim_t.
4004 Files: src/auto/configure, src/configure.in
4006 Patch 6.0.053 (extra)
4007 Problem: Various problems with QNX.
4008 Solution: Minor fix for configure. Switch on terminal clipboard support in
4009 main.c. Fix "pterm" mouse support. os_qnx.c didn't build without
4010 photon. (Julian Kinraid)
4011 Files: src/auto/configure, src/configure.in, src/gui_photon.c,
4012 src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h,
4016 Problem: When using mswin.vim, CTRL-V pastes a block of text like it is
4017 normal text. Using CTRL-V in blockwise Visual mode leaves "x"
4019 Solution: Make CTRL-V work as it should. Do the same for the Paste menu
4021 Files: runtime/menu.vim, runtime/mswin.vim
4024 Problem: GTK: The selection isn't copied the first time.
4025 Solution: Own the selection at the right moment.
4026 Files: src/gui_gtk_x11.c
4029 Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode.
4030 <Esc> doesn't leave Insert mode then.
4031 Solution: Only use nested Insert mode when 'insertmode' is set or when a
4036 Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway)
4037 Solution: Execute the command directly, instead of putting it in the
4039 Files: src/normal.c, src/proto/normal.pro, src/window.c
4042 Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't
4043 updated. (Bohdan Vlasyuk)
4044 Solution: Update the ruler after executing the autocommands.
4048 Problem: Highlighting for 'hlsearch' isn't visible in lines that are
4049 highlighted for diff highlighting. (Gary Holloway)
4050 Solution: Let 'hlsearch' highlighting overrule diff highlighting.
4054 Problem: Motif: When the tooltip is to be popped up, Vim crashes.
4056 Solution: Check for a NULL return value from gui_motif_fontset2fontlist().
4057 Files: src/gui_beval.c
4060 Problem: The toolbar buttons to load and save a session do not correctly
4062 Solution: Check for v:this_session to be empty instead of existing.
4063 Files: runtime/menu.vim
4066 Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan
4068 Solution: Avoid giving a NULL pointer to printf(). Also output a newline
4069 and switch the cursor on.
4073 Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of
4074 the "$" doesn't update syntax highlighting after it.
4075 Solution: Stop displaying the "$" when typing a ')' in its position.
4078 Patch 6.0.064 (extra)
4079 Problem: The NSIS install script doesn't work with newer versions of NSIS.
4080 The diff feature doesn't work when there isn't a good diff.exe on
4082 Solution: Replace the GetParentDir instruction by a user function.
4083 Fix a few cosmetic problems. Use defined constants for the
4084 version number, so that it's defined in one place only.
4085 Only accept the install directory when it ends in "vim".
4087 Add a diff.exe and use it from the default _vimrc.
4088 Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c
4091 Problem: When using ":normal" in 'indentexpr' it may use redo characters
4092 before its argument. (Neil Bird)
4093 Solution: Save and restore the stuff buffer in ex_normal().
4094 Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h
4097 Problem: Sometimes undo for one command is split into two undo actions.
4099 Solution: Don't set the undo-synced flag when reusing a line that was
4100 already saved for undo.
4104 Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined
4105 in the usual header file (e.g., AIX). (Mark Waggoner)
4106 Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it.
4107 Files: src/if_xcmdsrv.c
4110 Problem: When formatting a Visually selected area with "gq" and the number
4111 of lines increases the last line may not be redrawn correctly.
4112 (Yegappan Lakshmanan)
4113 Solution: Correct the area to be redrawn for inserted/deleted lines.
4117 Problem: Using "K" on a word that includes a "!" causes a "No previous
4118 command" error, because the "!" is expanded. (Craig Jeffries)
4119 Solution: Put a backslash before the "!".
4123 Problem: Win32: The error message for a failed dynamic linking of a Perl,
4124 Ruby, Tcl and Python library is unclear about what went wrong.
4125 Solution: Give the name of the library or function that could not be loaded.
4126 Also for the iconv and gettext libraries when 'verbose' is set.
4127 Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c,
4128 src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro,
4129 src/proto/if_python.pro, src/proto/if_ruby.pro,
4130 src/proto/if_tcl.pro, src/proto/mbyte.pro
4133 Problem: The "iris-ansi" builtin termcap isn't very good.
4134 Solution: Fix the wrong entries. (David Harrison)
4138 Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves
4139 the cursor and starts Visual mode again causes a redraw problem.
4141 Solution: Redraw both the old and the new Visual area when necessary.
4142 Files: src/normal.c, src/screen.c
4144 Patch 6.0.073 (extra)
4145 Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway
4146 the text. (Volker Kiefel)
4147 Solution: Position the system cursor before starting the shell.
4148 Files: src/os_msdos.c
4151 Problem: When using "&" in a substitute string a multi-byte character with
4152 a trailbyte 0x5c is not handled correctly.
4153 Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
4157 Problem: When closing a horizontally split window while 'eadirection' is
4158 "hor" another horizontally split window is still resized. (Aron
4160 Solution: Only resize windows in the same top frame as the window that is
4162 Files: src/main.c, src/proto/window.pro, src/window.c
4165 Problem: Warning for wrong pointer type when compiling.
4166 Solution: Use char instead of char_u pointer.
4167 Files: src/version.c
4170 Problem: Patch 6.0.075 was incomplete.
4171 Solution: Fix another call to win_equal().
4175 Problem: Using "daw" at the end of a line on a single-character word didn't
4176 include the white space before it. At the end of the file it
4177 didn't work at all. (Gavin Sinclair)
4178 Solution: Include the white space before the word.
4182 Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can
4183 still overwrite a read-only file, because it's renamed. (Gary
4185 Solution: Add a check for a read-only file before renaming the file to
4190 Problem: When using a session file that has the same file in two windows,
4191 the fileinfo() call in do_ecmd() causes a scroll and a hit-enter
4192 prompt. (Robert Webb)
4193 Solution: Don't scroll this message when 'shortmess' contains 'O'.
4194 Files: src/ex_cmds.c
4197 Problem: After using ":saveas" the new buffer name is added to the Buffers
4198 menu with a wrong number. (Chauk-Mean Proum)
4199 Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer
4200 and BufAdd for the old name (which is with a new buffer).
4201 Files: src/ex_cmds.c
4204 Problem: When swapping screens in an xterm and there is an (error) message
4205 from the vimrc script, the shell prompt is after the message.
4206 Solution: Output a newline when there was output on the alternate screen.
4207 Also when starting the GUI.
4211 Problem: GTK: When compiled without menu support the buttons in a dialog
4212 don't have any text. (Erik Edelmann)
4213 Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define
4214 GTK_USE_ACCEL also when not using menus.
4215 Files: src/gui_gtk.c
4218 Problem: UTF-8: a "r" command with an argument that is a keymap for a
4219 character with a composing character can't be repeated with ".".
4221 Solution: Add the composing characters to the redo buffer.
4225 Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then
4226 moving the mouse pointer to another window stops Insert mode,
4227 while this doesn't happen with "a" or "i". (Robert Webb)
4228 Solution: Reset finish_op before calling edit().
4232 Problem: When using "gu" the message says "~ed".
4233 Solution: Make the message say "changed".
4236 Patch 6.0.087 (lang)
4237 Problem: Message translations are incorrect, which may cause a crash.
4239 The Turkish translations needed more work and the maintainer
4241 Solution: Fix order of printf arguments. Remove %2$d constructs.
4242 Add "-v" to msgfmt to get a warning for wrong translations.
4243 Don't install the Turkish translations for now.
4244 Update a few more translations.
4245 Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po,
4246 src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po,
4247 src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po,
4248 src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po,
4249 src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po
4252 Problem: "." doesn't work after using "rx" in Visual mode. (Charles
4254 Solution: Also store the replacement character in the redo buffer.
4258 Problem: In a C file, using "==" to align a line starting with "* " after
4259 a line with "* -" indents one space too few. (Piet Delport)
4260 Solution: Align with the previous line if the comment-start-string matches
4265 Problem: When a wrapping line does not fit in a window and 'scrolloff' is
4266 bigger than half the window height, moving the cursor left or
4267 right causes the screen to flash badly. (Lubomir Host)
4268 Solution: When there is not enough room to show 'scrolloff' screen lines and
4269 near the end of the line, show the end of the line.
4273 Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the
4274 cursor is after the end-of-line, moves the cursor left. (Yegappan
4276 Solution: Keep the cursor in the same position.
4280 Problem: The explorer plugin doesn't ignore case of 'suffixes' on
4281 MS-Windows. (Mike Williams)
4282 Solution: Match or ignore case as appropriate for the OS.
4283 Files: runtime/plugin/explorer.vim
4286 Problem: When the Tcl library couldn't be loaded dynamically, get an error
4287 message when closing a buffer or window. (Muraoka Taro)
4288 Solution: Only free structures if already using the Tcl interpreter.
4292 Problem: Athena: When clicking in the horizontal scrollbar Vim crashes.
4294 Solution: Use the thumb size instead of the window pointer of the scrollbar
4295 (which is NULL). (David Harrison)
4296 Also avoid that scrolling goes the wrong way in a narrow window.
4297 Files: src/gui_athena.c
4300 Problem: Perl: Deleting lines may leave the cursor beyond the end of the
4302 Solution: Check the cursor position after deleting a line. (Serguei)
4303 Files: src/if_perl.xs
4306 Problem: When ":saveas fname" fails because the file already exists, the
4307 file name is changed anyway and a following ":w" will overwrite
4308 the file. (Eric Carlier)
4309 Solution: Don't change the file name if the file already exists.
4310 Files: src/ex_cmds.c
4313 Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
4314 multi-byte encoding.
4315 Solution: Avoid using a character before the start of a line. (Sergey
4320 Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog
4321 boxes are not translated.
4322 Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez)
4323 Files: src/gui_gtk.c, src/gui_gtk_x11.c
4326 Problem: Cygwin: When running Vi compatible MS-DOS line endings cause
4328 Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible
4329 mode. (Michael Schaap)
4333 Problem: ":badd +0 test%file" causes a crash.
4334 Solution: Take into account that the "+0" is NUL terminated when allocating
4335 room for replacing the "%".
4336 Files: src/ex_docmd.c
4339 Problem: ":mksession" doesn't restore editing a file that has a '#' or '%'
4340 in its name. (Wolfgang Blankenburg)
4341 Solution: Put a backslash before the '#' and '%'.
4342 Files: src/ex_docmd.c
4345 Problem: When changing folds the cursor may appear halfway a closed fold.
4347 Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto)
4351 Problem: When using 'scrollbind' a large value of 'scrolloff' will make the
4352 scroll binding stop near the end of the file. (Coen Engelbarts)
4353 Solution: Don't use 'scrolloff' when limiting the topline for scroll
4354 binding. (Dany StAmant)
4358 Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
4359 character that overwrites the left halve of an old double-wide
4360 character causes a redraw problem and the cursor stops blinking.
4361 Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
4362 Files: src/edit.c, src/screen.c
4365 Problem: Multi-byte: In a window of one column wide, with syntax
4366 highlighting enabled a crash might happen.
4367 Solution: Skip getting the syntax attribute when the character doesn't fit
4368 anyway. (Yasuhiro Matsumoto)
4371 Patch 6.0.106 (extra)
4372 Problem: Win32: When the printer font is wrong, there is no error message.
4373 Solution: Give an appropriate error message. (Yasuhiro Matsumoto)
4374 Files: src/os_mswin.c
4376 Patch 6.0.107 (extra)
4377 Problem: VisVim: When editing another file, a modified file may be written
4378 unexpectedly and without warning.
4379 Solution: Split the window if a file was modified.
4380 Files: VisVim/Commands.cpp
4383 Problem: When using folding could try displaying line zero, resulting in an
4384 error for a NULL pointer.
4385 Solution: Stop decrementing w_topline when the first line of a window is in
4390 Problem: XIM: When the input method is enabled, repeating an insertion with
4391 "." disables it. (Marcel Svitalsky)
4392 Solution: Don't store the input method status when a command comes from the
4397 Problem: Using undo after executing "Ox
\ejAx
\ekdd" from a register in
4398 an empty buffer gives an error message. (Gerhard Hochholzer)
4399 Solution: Don't adjust the bottom line number of an undo block when it's
4400 zero. Add a test for this problem.
4401 Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok
4404 Problem: The virtcol() function doesn't take care of 'virtualedit'.
4405 Solution: Add the column offset when needed. (Yegappan Lakshmanan)
4409 Problem: The explorer plugin doesn't sort directories with a space or
4410 special character after a directory with a shorter name.
4411 Solution: Ignore the trailing slash when comparing directory names. (Mike
4413 Files: runtime/plugin/explorer.vim
4416 Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also,
4417 expanding wildcards with the shell may fail. (John Daniel)
4418 Solution: Escape spaces with a backslash when needed.
4419 Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c
4422 Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a
4423 full path. For Win32 the current directory was prepended.
4425 Solution: Expand the home directory.
4428 Patch 6.0.115 (extra)
4429 Problem: Win32: When using a dialog with a textfield it cannot scroll the
4431 Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes)
4432 Files: src/gui_w32.c
4434 Patch 6.0.116 (extra)
4435 Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for
4436 filesystems that use ACLs.
4437 Solution: Use ACL functions to check if a file is writable. (Mike Williams)
4438 Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro
4440 Patch 6.0.117 (extra)
4441 Problem: Win32: when disabling the menu, "set lines=999" doesn't use all
4442 the available screen space.
4443 Solution: Don't subtract the fixed caption height but the real menu height
4444 from the available screen space. Also: Avoid recursion in
4445 gui_mswin_get_menu_height().
4446 Files: src/gui_w32.c, src/gui_w48.c
4449 Problem: When $TMPDIR is a relative path, the temp directory is missing a
4450 trailing slash and isn't deleted when Vim exits. (Peter Holm)
4451 Solution: Add the slash after expanding the directory to an absolute path.
4454 Patch 6.0.119 (depends on patch 6.0.116)
4455 Problem: VMS: filewritable() doesn't work properly.
4456 Solution: Use the same method as for Unix. (Zoltan Arpadffy)
4460 Problem: The conversion to html isn't compatible with XHTML.
4461 Solution: Quote the values. (Jess Thrysoee)
4462 Files: runtime/syntax/2html.vim
4464 Patch 6.0.121 (extra) (depends on patch 6.0.116)
4465 Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32.
4466 Solution: Add an #ifdef HAVE_ACL.
4467 Files: src/os_win32.c
4469 Patch 6.0.122 (extra)
4470 Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And
4471 dialog textfield problem from patch 6.0.115.
4472 Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag.
4474 Files: src/gui_w16.c
4476 Patch 6.0.123 (depends on patch 6.0.119)
4477 Problem: Win16: Compilation problems.
4478 Solution: Move "&&" to other lines. (Vince Negri)
4482 Problem: When using a ":substitute" command that starts with "\="
4483 (evaluated as an expression), "~" was still replaced with the
4484 previous substitute string.
4485 Solution: Skip the replacement when the substitute string starts with "\=".
4486 Also adjust the documentation about doubling backslashes.
4487 Files: src/ex_cmds.c, runtime/doc/change.txt
4489 Patch 6.0.125 (extra)
4490 Problem: Win32: When using the multi_byte_ime feature pressing the shift
4491 key would be handled as if a character was entered, thus mappings
4492 with a shifted key didn't work. (Charles Campbell)
4493 Solution: Ignore pressing the shift, control and alt keys.
4494 Files: src/os_win32.c
4497 Problem: The python library was always statically linked.
4498 Solution: Link the python library dynamically. (Matthias Klose)
4499 Files: src/auto/configure, src/configure.in
4502 Problem: When using a terminal that swaps screens and the Normal background
4503 color has a different background, using an external command may
4504 cause the color of the wrong screen to be changed. (Mark Waggoner)
4505 Solution: Don't call screen_stop_highlight() in stoptermcap().
4509 Problem: When moving a vertically split window to the far left or right,
4510 the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus'
4511 is set the mouse pointer wasn't adjusted.
4512 Solution: Adjust the scrollbars and the mouse pointer.
4516 Problem: When using a very long file name, ":ls" (repeated a few times)
4517 causes a crash. Test with "vim `perl -e 'print "A"x1000'`".
4519 Solution: Terminate a string before getting its length in buflist_list().
4523 Problem: When using ":cprev" while the error window is open, and the new
4524 line at the top wraps, the window isn't correctly drawn.
4525 (Yegappan Lakshmanan)
4526 Solution: When redrawing the topline don't scroll twice.
4530 Problem: When using bufname() and there are two matches for listed buffers
4531 and one match for an unlisted buffer, the unlisted buffer is used.
4533 Solution: When there is a match with a listed buffer, don't check for
4538 Problem: When setting 'iminsert' in the vimrc and using an xterm with two
4539 screens the ruler is drawn in the wrong screen. (Igor Goldenberg)
4540 Solution: Only draw the ruler when using the right screen.
4544 Problem: When opening another buffer while 'keymap' is set and 'iminsert'
4545 is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg)
4546 Solution: Don't set 'iminsert' as a side effect of defining a ":lmap"
4547 mapping. Only do that when 'keymap' is set.
4548 Files: src/getchar.c, src/option.c
4551 Problem: When completing ":set tags=" a path with an embedded space causes
4552 the completion to stop. (Sektor van Skijlen)
4553 Solution: Escape spaces with backslashes, like for ":set path=". Also take
4554 backslashes into account when searching for the start of the path
4555 to complete (e.g., for 'backupdir' and 'cscopeprg').
4556 Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h
4559 Problem: Menus that are not supposed to do anything used "<Nul>", which
4560 still produced an error beep.
4561 When CTRL-O is mapped for Insert mode, ":amenu" commands didn't
4562 work in Insert mode.
4563 Menu language falls back to English when $LANG ends in "@euro".
4564 Solution: Use "<Nop>" for a menu item that doesn't do anything, just like
4566 Use ":anoremenu" instead of ":amenu".
4567 Ignore "@euro" in the locale name.
4568 Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c
4571 Problem: When completing in Insert mode, a mapping could be unexpectedly
4573 Solution: Don't use mappings when checking for a typed character.
4577 Problem: GUI: When using the find or find/replace dialog from Insert mode,
4578 the input mode is stopped.
4579 Solution: Don't use the input method status when the main window doesn't
4584 Problem: GUI: When using the find or find/replace dialog from Insert mode,
4585 the text is inserted when CTRL-O is mapped. (Andre Pang)
4586 When opening the dialog again, a whole word search isn't
4588 When doing "replace all" a whole word search was never done.
4589 Solution: Don't put a search or replace command in the input buffer,
4590 execute it directly.
4591 Recognize "\<" and "\>" after removing "\V".
4592 Add "\<" and "\>" also for "replace all".
4596 Problem: When stopping 'wildmenu' completion, the statusline of the
4597 bottom-left vertically split window isn't redrawn. (Yegappan
4599 Solution: Redraw all the bottom statuslines.
4600 Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c
4603 Problem: Memory allocated for local mappings and abbreviations is leaked
4604 when the buffer is wiped out.
4605 Solution: Clear the local mappings when deleting a buffer.
4606 Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h
4609 Problem: When using ":enew" in an empty buffer, some buffer-local things
4610 are not cleared. b:keymap_name is not set.
4611 Solution: Clear user commands and mappings local to the buffer when re-using
4612 the current buffer. Reload the keymap.
4616 Problem: When Python is linked statically, loading dynamic extensions might
4618 Solution: Add an extra linking flag when needed. (Andrew Rodionoff)
4619 Files: src/configure.in, src/auto/configure
4622 Problem: When a syntax item includes a line break in a pattern, the syntax
4623 may not be updated properly when making a change.
4624 Solution: Add the "linebreaks" argument to ":syn sync".
4625 Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c
4628 Problem: After patch 6.0.088 redoing "veU" doesn't work.
4629 Solution: Don't add the "U" to the redo buffer, it will be used as an undo
4634 Problem: When Vim can't read any input it might get stuck. When
4635 redirecting stdin and stderr Vim would not read commands from a
4636 file. (Servatius Brandt)
4637 Solution: When repeatedly trying to read a character when it's not possible,
4638 exit Vim. When stdin and stderr are not a tty, still try reading
4639 from them, but don't do a blocking wait.
4643 Problem: When 'statusline' contains "%{'-'}" this results in a zero.
4645 Solution: Don't handle numbers with a minus as a number, they were not
4650 Problem: It's not easy to mark a Vim version as being modified. The new
4651 license requires this.
4652 Solution: Add the --modified-by argument to configure and the MODIFIED_BY
4653 define. It's used in the intro screen and the ":version" output.
4654 Files: src/auto/configure, src/configure.in, src/config.h.in,
4655 src/feature.h, src/version.c
4658 Problem: After "p" in an empty line, `[ goes to the second character.
4660 Solution: Don't increment the column number in an empty line.
4664 Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search
4665 pattern that causes a stack overflow to be detected Vim could
4667 Solution: Correctly report "operand could be empty" when using "\{-}".
4668 Check for "out_of_stack" inside loops to avoid a hang.
4672 Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work
4673 like "P". (Sung-Hyun Nam)
4674 Solution: Compute the byte length of a multi-byte character.
4678 Problem: Redrawing the status line and ruler can be wrong when it contains
4679 multi-byte characters.
4680 Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
4684 Problem: strtrans() could hang on an illegal UTF-8 byte sequence.
4685 Solution: Skip over illegal bytes. (Yasuhiro Matsumoto)
4686 Files: src/charset.c
4689 Problem: When using (illegal) double-byte characters and Vim syntax
4690 highlighting Vim can crash. (Yasuhiro Matsumoto)
4691 Solution: Increase a pointer over a character instead of a byte.
4695 Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when
4696 there is no xxd in the path.
4697 When converting back from Hex the filetype may remain "xxd" if it
4699 Solution: When xxd is not in the path use the one in the runtime directory,
4700 where the install program has put it.
4701 Clear the 'filetype' option before detecting the new value.
4702 Files: runtime/menu.vim
4705 Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel
4707 Solution: Don't call mch_inchar() when NO_CONSOLE is defined.
4711 Problem: Starting Vim with the -b argument and two files, ":next" doesn't
4712 set 'binary' in the second file, like Vim 5.7. (Norman Diamond)
4713 Solution: Set the global value for 'binary'.
4717 Problem: When defining a user command with "-complete=dir" files will also
4718 be expanded. Also, "-complete=mapping" doesn't appear to work.
4720 Solution: Use the expansion flags defined with the user command.
4721 Handle expanding mappings specifically.
4722 Files: src/ex_docmd.c
4725 Problem: When getting the warning for a file being changed outside of Vim
4726 and reloading the file, the 'readonly' option is reset, even when
4727 the permissions didn't change. (Marcel Svitalsky)
4728 Solution: Keep 'readonly' set when reloading a file and the permissions
4733 Problem: Wildcard expansion for ":emenu" also shows separators.
4734 Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff".
4735 Also, don't handle ":tmenu" as if it was ":tearoff". And leave
4736 out the alternatives with "&" included.
4740 Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the
4741 optimizer causes a problem that makes Vim crash.
4742 Solution: Add a configure check to avoid "-O2" for this version of gcc.
4743 Files: src/configure.in, src/auto/configure
4745 Patch 6.0.161 (extra)
4746 Problem: Win32: Bitmaps don't work with signs.
4747 Solution: Make it possible to use bitmaps with signs. (Muraoka Taro)
4748 Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c,
4749 src/proto/gui_w32.pro, src/proto/gui_x11.pro
4752 Problem: Client-server: An error message for a wrong expression appears in
4753 the server instead of the client.
4754 Solution: Pass the error message from the server to the client. Also
4755 adjust the example code. (Flemming Madsen)
4756 Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
4757 src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro,
4758 runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c
4761 Problem: When using a GUI dialog, a file name is sometimes used like it was
4763 Solution: Separate path and file name properly.
4764 For GTK, Motif and Athena concatenate directory and file name for
4765 the default selection.
4766 Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c,
4767 src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c
4770 Problem: After patch 6.0.135 the menu entries for pasting don't work in
4771 Insert and Visual mode. (Muraoka Taro)
4772 Solution: Add <script> to allow script-local mappings.
4773 Files: runtime/menu.vim
4776 Problem: Using --remote and executing locally gives unavoidable error
4778 Solution: Add --remote-silent and --remote-wait-silent to silently execute
4780 For Win32 there was no error message when a server didn't exist.
4781 Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c,
4782 src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro
4785 Problem: GUI: There is no way to avoid dialogs to pop up.
4786 Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan
4788 Files: runtime/doc/options.txt, src/option.h, src/message.c
4791 Problem: When 'fileencodings' is "latin2" some characters in the help files
4792 are displayed wrong.
4793 Solution: Force the 'fileencoding' for the help files to be "latin1".
4797 Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser)
4798 Solution: Don't skip matches after joining two lines.
4799 Files: src/ex_cmds.c
4802 Problem: When run as evim and the GUI can't be started we get stuck in a
4803 terminal without menus in Insert mode.
4804 Solution: Exit when using "evim" and "gvim -y" when the GUI can't be
4809 Problem: When printing double-width characters the size of tabs after them
4810 is wrong. (Muraoka Taro)
4811 Solution: Correctly compute the column after a double-width character.
4812 Files: src/ex_cmds2.c
4815 Problem: With 'keymodel' including "startsel", in Insert mode after the end
4816 of a line, shift-Left does not move the cursor. (Steve Hall)
4817 Solution: CTRL-O doesn't move the cursor left, need to do that explicitly.
4821 Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it
4822 does in most other situations.
4823 Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode.
4827 Problem: When using "P" to insert a line break the cursor remains past the
4829 Solution: Check for the cursor being beyond the end of the line.
4833 Problem: After using "gd" or "gD" the search direction for "n" may still be
4834 backwards. (Servatius Brandt)
4835 Solution: Reset the search direction to forward.
4836 Files: src/normal.c, src/search.c, src/proto/search.pro
4839 Problem: ":help /\z(\)" doesn't work. (Thomas Koehler)
4840 Solution: Double the backslashes.
4841 Files: src/ex_cmds.c
4844 Problem: When killed by a signal autocommands are still triggered as if
4846 Solution: Add the v:dying variable to allow autocommands to work differently
4847 when a deadly signal has been trapped.
4848 Files: src/eval.c, src/os_unix.c, src/vim.h
4851 Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf"
4852 doesn't work. (Thomas S. Urban)
4853 Solution: Add the marker even when 'commentstring' is empty.
4854 Files: src/fold.c, src/normal.c
4857 Problem: Uninitialized memory read from xp_backslash field.
4858 Solution: Initialize xp_backslash field properly.
4859 Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c
4862 Problem: Win32: When displaying UTF-8 characters may read uninitialized
4864 Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a
4866 Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c
4869 Problem: Expanding environment variables in a string that ends in a
4870 backslash could go past the end of the string.
4871 Solution: Detect the trailing backslash.
4875 Problem: When using ":cd dir" memory was leaked.
4876 Solution: Free the allocated memory. Also avoid an uninitialized memory
4881 Problem: When using a regexp on multi-byte characters, could try to read a
4882 character before the start of the line.
4883 Solution: Don't decrement a pointer to before the start of the line.
4887 Problem: Leaking memory when ":func!" redefines a function.
4888 Solution: Free the function name when it's not used.
4892 Problem: Leaking memory when expanding option values.
4893 Solution: Don't always copy the expanded option into allocated memory.
4897 Problem: Crash in Vim when pasting a selection in another application, on a
4899 Solution: Fix the format for an Atom to 32 bits. (Peter Derr)
4903 Problem: X11: Three warnings when compiling the client-server code.
4904 Solution: Add a typecast to unsigned char.
4905 Files: src/if_xcmdsrv.c
4908 Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew
4910 "I" in Visual linewise mode adjusts the indent for no apparent
4912 Solution: Only save those lines for undo that are changed.
4913 Don't change the indent after inserting in Visual linewise mode.
4917 Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't
4919 Solution: Initialize the sign icons after initializing the GUI. (Vince
4921 Files: src/gui.c, src/gui_x11.c
4924 Problem: The size of the Visual area isn't always displayed when scrolling
4925 ('ruler' off, 'showcmd' on). Also not when using a search
4926 command. (Sylvain Hitier)
4927 Solution: Redisplay the size of the selection after showing the mode.
4931 Problem: GUI: when 'mouse' is empty a click with the middle button still
4933 Solution: Paste at the cursor position instead of the mouse position.
4937 Problem: When no servers are available serverlist() gives an error instead
4938 of returning an empty string. (Hari Krishna)
4939 Solution: Don't give an error message.
4943 Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew
4945 Solution: Reset the flag that w_virtcol is valid when moving the cursor back
4946 to the start of the operated area.
4950 Problem: When 'virtualedit' is set, col(".") after the end of the line
4951 should return one extra.
4952 Solution: Add one to the column.
4956 Problem: "--remote-silent" tries to send a reply to the client, like it was
4958 Solution: Properly check for the argument.
4962 Problem: When 'virtualedit' is set and a search starts in virtual space
4963 ":call search('x')" goes to the wrong position. (Eric Long)
4964 Solution: Reset coladd when finding a match.
4968 Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually
4969 selecting part of a tab at the start of a line, "x" joins it with
4970 the previous line. Also, when the selection spans more than one
4971 line the whole tab is deleted.
4972 Solution: Take coladd into account when adjusting for 'selection' being
4973 "exclusive". Also expand a tab into spaces when deleting more
4975 Files: src/normal.c, src/ops.c
4978 Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x"
4979 doesn't delete the last character in the line. (Eric Long)
4980 Solution: Don't reset the inclusive flag. (Helmut Stiegler)
4984 Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the
4985 cursor over the line break doesn't work properly. (Eric Long)
4986 Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the
4987 virtual cursor position. Adjust coladvance() and oneleft() to
4988 skip over the 'showbreak' characters.
4989 Files: src/edit.c, src/misc2.c
4992 Problem: Multi-byte: could use iconv() after calling iconv_end().
4993 (Yasuhiro Matsumoto)
4994 Solution: Stop converting input and output stream after calling iconv_end().
4998 Problem: A script that starts with "#!perl" isn't recognized as a Perl
5000 Solution: Ignore a missing path in a script header. Also, speed up
5001 recognizing scripts by simplifying the patterns used.
5002 Files: runtime/scripts.vim
5005 Problem: When scrollbinding and doing a long jump, switching windows jumps
5006 to another position in the file. Scrolling a few lines at a time
5007 is OK. (Johannes Zellner)
5008 Solution: When setting w_topline reset the flag that indicates w_botline is
5013 Problem: The "icon=" argument for the menu command to define a toolbar icon
5014 with a file didn't work for GTK. (Christian J. Robinson)
5015 For Motif and Athena a full path was required.
5016 Solution: Search the icon file using the specified path. Expand environment
5017 variables in the file name.
5018 Files: src/gui_gtk.c, src/gui_x11.c
5021 Problem: Can change 'fileformat' even though 'modifiable' is off.
5023 Solution: Correct check for kind of set command.
5027 Problem: ":unlet" doesn't work for variables with curly braces. (Thomas
5029 Solution: Handle variable names with curly braces properly. (Vince Negri)
5032 Patch 6.0.205 (extra)
5033 Problem: "gvim -f" still forks when using the batch script to start Vim.
5034 Solution: Add an argument to "start" to use a foreground session (Michael
5036 Files: src/dosinst.c
5039 Problem: Unix: if expanding a wildcard in a file name results in a
5040 wildcard character and there are more parts in the path with a
5041 wildcard, it is expanded again.
5042 Windows: ":edit \[abc]" could never edit the file "[abc]".
5043 Solution: Don't expand wildcards in already expanded parts.
5044 Don't remove backslashes used to escape the special meaning of a
5045 wildcard; can edit "[abc]" if '[' is removed from 'isfname'.
5046 Files: src/misc1.c, src/os_unix.c
5048 Patch 6.0.207 (extra)
5049 Problem: Win32: The shortcuts and start menu entries let Vim startup in the
5050 desktop directory, which is not very useful.
5051 Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH.
5052 Files: src/dosinst.c
5055 Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in
5056 Insert mode doesn't directly change the cursor color. (Alex
5058 Solution: Force a redraw of the cursor after CTRL-^.
5062 Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
5063 are redraw problems for multi-byte characters.
5064 Solution: Separate the font dialog from setting the new font name to avoid
5065 that "*" is used to find wide and bold fonts.
5066 When redrawing extra characters for the bold trick, take care of
5068 Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro,
5069 src/proto/gui_gtk_x11.pro
5072 Problem: After patch 6.0.167 it's no longer possible to edit a help file in
5073 another encoding than latin1.
5074 Solution: Let the "++enc=" argument overrule the encoding.
5078 Problem: When reading a file fails, the buffer is empty, but it might still
5079 be possible to write it with ":w" later. The original file is
5080 lost then. (Steve Amerige)
5081 Solution: Set the 'readonly' option for the buffer.
5085 Problem: GUI GTK: confirm("foo", "") causes a crash.
5086 Solution: Don't make a non-existing button the default. Add a default "OK"
5087 button if none is specified.
5088 Files: src/eval.c, src/gui_gtk.c
5091 Problem: When a file name contains unprintable characters, CTRL-G and other
5092 commands don't work well.
5093 Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto)
5094 Files: src/buffer.c, src/charset.c
5097 Problem: When there is a buffer without a name, empty entries appear in the
5098 jumplist saved in the viminfo file.
5099 Solution: Don't write jumplist entries without a file name.
5103 Problem: After using "/" from Visual mode the Paste menu and Toolbar
5104 entries don't work. Pasting with the middle mouse doesn't work
5105 and modeless selection doesn't work.
5106 Solution: Use the command line mode menus and use the mouse like in the
5108 Files: src/gui.c, src/menu.c, src/ui.c
5111 Problem: After reloading a file, displayed in another window than the
5112 current one, which was changed outside of Vim the part of the file
5113 around the cursor set by autocommands may be displayed, but
5114 jumping back to the original cursor position when entering the
5116 Solution: Restore the topline of the window.
5120 Problem: When getting help from a help file that was used before, an empty
5121 unlisted buffer remains in the buffer list. (Eric Long)
5122 Solution: Wipe out the buffer used to do the tag jump from.
5123 Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
5126 Problem: With explorer plugin: "vim -o filename dirname" doesn't load the
5127 explorer window until entering the window.
5128 Solution: Call s:EditDir() for each window after starting up.
5129 Files: runtime/plugin/explorer.vim
5132 Problem: ":setlocal" and ":setglobal", without arguments, display terminal
5133 options. (Zdenek Sekera)
5134 Solution: Skip terminal options for these two commands.
5138 Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro)
5139 Solution: Don't try going to another window when there isn't one.
5140 Files: runtime/plugin/explorer.vim
5143 Problem: When using ":bdel" and all other buffers are unloaded the lowest
5144 numbered buffer is jumped to instead of the most recent one. (Dave
5146 Solution: Prefer an unloaded buffer from the jumplist.
5150 Problem: When 'virtualedit' is set and using autoindent, pressing Esc after
5151 starting a new line leaves behind part of the autoindent. (Helmut
5153 Solution: After deleting the last char in the line adjust the cursor
5154 position in del_bytes().
5155 Files: src/misc1.c, src/ops.c
5158 Problem: When splitting a window that contains the explorer, hitting CR on
5159 a file name gives error messages.
5160 Solution: Set the window variables after splitting the window.
5161 Files: runtime/plugin/explorer.vim
5164 Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window
5165 the text may jump left-right and the cursor is displayed in the
5166 wrong position. (Aric Blumer)
5167 Solution: When there is not enough room, compute the left column for the
5168 window to put the cursor in the middle.
5172 Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath
5174 Solution: Behave differently in a closed fold.
5178 Problem: When doing ":recover file" get the ATTENTION prompt.
5179 After recovering the same file five times get a read error or a
5181 Solution: Set the recoverymode flag before setting the file name.
5182 Correct the amount of used memory for the size of block zero.
5183 Files: src/ex_docmd.c
5185 Patch 6.0.227 (extra)
5186 Problem: The RISC OS port has several problems.
5187 Solution: Update the makefile and fix some of the problems. (Andy Wingate)
5188 Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h,
5189 src/proto/os_riscos.pro, src/search.c
5192 Problem: After putting text in Visual mode the '] mark is not at the end of
5194 Undo doesn't work properly when putting a word into a Visual
5195 selection that spans more than one line.
5196 Solution: Correct the '] mark for the deleting the Visually selected text.
5197 #ifdef code that depends on FEAT_VISUAL properly.
5198 Also fix that "d" crossing line boundary puts '[ just before
5200 Fix undo by saving all deleted lines at once.
5201 Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
5202 src/structs.h, src/vim.h
5205 Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
5206 at a multi-byte char followed by an ASCII char, and the other way
5207 around. (Muraoka Taro)
5208 When joining lines a space is inserted between multi-byte
5209 characters, which is not always wanted.
5210 Solution: Check for multi-byte character before and after the breakpoint.
5211 Don't insert a space before or after a multi-byte character when
5212 joining lines and the 'M' flag is in 'formatoptions'. Don't
5213 insert a space between multi-byte characters when the 'B' flag is
5215 Files: src/edit.c, src/ops.c, src/option.h
5218 Problem: The ":" used as a motion after an operator is exclusive, but
5219 sometimes it should be inclusive.
5220 Solution: Make the "v" in between an operator and motion toggle
5221 inclusive/exclusive. (Servatius Brandt)
5222 Files: runtime/doc/motion.txt, src/normal.c
5225 Problem: "gd" and "gD" don't work when the variable matches in a comment
5226 just above the match to be found. (Servatius Brandt)
5227 Solution: Continue searching in the first column below the comment.
5231 Problem: "vim --version" prints on stderr while "vim --help" prints on
5233 Solution: Make "vim --version" use stdout.
5234 Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c
5237 Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because
5238 there is an upper limit. (Jim Battle)
5239 Solution: Allow using "\{min,max}" after an atom that can be empty if there
5244 Problem: It's not easy to set the cursor position without modifying marks.
5245 Solution: Add the cursor() function. (Yegappan Lakshmanan)
5246 Files: runtime/doc/eval.txt, src/eval.c
5249 Problem: When writing a file and renaming the original file to make the
5250 backup, permissions could change when setting the owner.
5251 Solution: Only set the owner when it's needed and set the permissions again
5253 When 'backupcopy' is "auto" check that the owner and permissions
5254 of a newly created file can be set properly.
5258 Problem: ":edit" without argument should move cursor to line 1 in Vi
5260 Solution: Add 'g' flag to 'cpoptions'.
5261 Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h
5264 Problem: In a C file, using the filetype plugin, re-indenting a comment
5265 with two spaces after the middle "*" doesn't align properly.
5266 Solution: Don't use a middle entry from a start/middle/end to line up with
5267 the start of the comment when the start part doesn't match with
5268 the actual comment start.
5272 Problem: Using a ":substitute" command with a substitute() call in the
5273 substitution expression causes errors. (Srinath Avadhanula)
5274 Solution: Save and restore pointers when doing substitution recursively.
5278 Problem: Using "A" to append after a Visually selected block which is after
5279 the end of the line, spaces are inserted in the wrong line and
5280 other unexpected effects. (Michael Naumann)
5281 Solution: Don't advance the cursor to the next line.
5285 Problem: Win32: building with Python 2.2 doesn't work.
5286 Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore)
5287 Files: src/if_python.c
5290 Problem: Win32: Expanding the old value of an option that is a path that
5291 starts with a backslash, an extra backslash is inserted.
5292 Solution: Only insert backslashes where needed.
5293 Also handle multi-byte characters properly when removing
5298 Problem: GUI: On a system with an Exceed X server sometimes get a "Bad
5299 Window" error. (Tommi Maekitalo)
5300 Solution: When forking, use a pipe to wait in the parent for the child to
5301 have done the setsid() call.
5305 Problem: Unix: "vim --version" outputs a NL before the last line instead of
5306 after it. (Charles Campbell)
5307 Solution: Send the NL to the same output stream as the text.
5308 Files: src/message.c, src/os_unix.c, src/proto/message.pro
5311 Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
5312 file name (e.g., icon text, status line).
5313 Solution: Correctly handle unprintable characters. Catch illegal UTF-8
5314 characters and replace them with <xx>. Truncating the status line
5315 wasn't done correctly at a multi-byte character. (Yasuhiro
5317 Added correct_cmdspos() and transchar_byte().
5318 Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
5319 src/message.c, src/screen.c, src/vim.h
5322 Problem: After using a color scheme, setting the 'background' option might
5323 not work. (Peter Horst)
5324 Solution: Disable the color scheme if it switches 'background' back to the
5329 Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary
5331 Solution: Use the specified attributes for the message. (Yegappan
5336 Problem: GTK GUI: Can't use gvim in a kpart widget.
5337 Solution: Add the "--echo-wid" argument to let Vim echo the window ID on
5338 stdout. (Philippe Fremy)
5339 Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c,
5343 Problem: When using compressed help files and 'encoding' isn't "latin1",
5344 Vim converts the help file before decompressing. (David Reviejo)
5345 Solution: Don't convert a help file when 'binary' is set.
5349 Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit().
5350 Solution: Don't set the cursor on the first line for "-c" arguments when
5351 there also is a "-t" argument.
5354 Patch 6.0.250 (extra)
5355 Problem: Macintosh: Various problems when compiling.
5356 Solution: Various fixes, mostly #ifdefs. (Dany St. Amant)
5357 Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h,
5358 src/os_mac.pbproj/project.pbxproj, src/os_unix.c
5360 Patch 6.0.251 (extra)
5361 Problem: Macintosh: menu shortcuts are not very clear.
5362 Solution: Show the shortcut with the Mac clover symbol. (raindog)
5363 Files: src/gui_mac.c
5366 Problem: When a user function was defined with "abort", an error that is
5367 not inside if/endif or while/endwhile doesn't abort the function.
5369 Solution: Don't reset did_emsg when the function is to be aborted.
5370 Files: src/ex_docmd.c
5373 Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O>
5374 doesn't work. (Benji Fisher) <C-L> has the same problem.
5375 Solution: Reset need_start_insertmode once in edit().
5378 Patch 6.0.254 (extra)
5379 Problem: Borland C++ 5.5: Checking for stack overflow doesn't work
5380 correctly. Matters when using a complicated regexp.
5381 Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto)
5382 Files: src/Make_bc5.mak
5384 Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121)
5385 Problem: Win32: ACL support doesn't work well on Samba drives.
5386 Solution: Add a check for working ACL support. (Mike Williams)
5387 Files: src/os_win32.c
5389 Patch 6.0.256 (extra)
5390 Problem: Win32: ":highlight Comment guifg=asdf" does not give an error
5391 message. (Randall W. Morris) Also for other systems.
5392 Solution: Add gui_get_color() to give one error message for all systems.
5393 Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c,
5394 src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c,
5395 src/proto/gui.pro, src/syntax.c
5398 Problem: Win32: When 'mousefocus' is set and there is a BufRead
5399 autocommand, after the dialog for permissions changed outside of
5400 Vim: 'mousefocus' stops working. (Robert Webb)
5401 Solution: Reset need_mouse_correct after checking timestamps.
5405 Problem: When 'scrolloff' is 999 and there are folds, the text can jump up
5406 and down when moving the cursor down near the end of the file.
5408 Solution: When putting the cursor halfway the window start counting lines at
5413 Problem: MS-DOS: after editing the command line the cursor shape may remain
5414 like in Insert mode. (Volker Kiefel)
5415 Solution: Reset the cursor shape after editing the command line.
5416 Files: src/ex_getln.c
5419 Problem: GUI: May crash while starting up when giving an error message for
5420 missing color. (Servatius Brandt)
5421 Solution: Don't call gui_write() when still starting up. Don't give error
5422 message for empty color name. Don't use 't_vb' while the GUI is
5424 Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
5427 Problem: nr2char() and char2nr() don't work with multi-byte characters.
5428 Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
5429 Files: runtime/doc/eval.txt, src/eval.c
5431 Patch 6.0.262 (extra)
5432 Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used
5434 Solution: Adjust various things for IME.
5435 Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro,
5436 src/structs.h, src/ui.c
5439 Problem: GTK: When a dialog is closed by the window manager, Vim hangs.
5440 (Christian J. Robinson)
5441 Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE().
5442 Files: src/gui_gtk.c, src/gui_gtk_x11.c
5445 Problem: The amount of virtual memory is used to initialize 'maxmemtot',
5446 which may be much more than the amount of physical memory,
5447 resulting in a lot of swapping.
5448 Solution: Get the amount of physical memory with sysctl(), sysconf() or
5449 sysinfo() when possible.
5450 Files: src/auto/configure, src/configure.in, src/config.h.in,
5451 src/os_unix.c, src/os_unix.h
5454 Problem: Win32: Using backspace while 'fkmap' is set causes a crash.
5456 Solution: Don't try mapping special keys.
5460 Problem: The rename() function deletes the file if the old and the new name
5461 are the same. (Volker Kiefel)
5462 Solution: Don't do anything if the names are equal.
5466 Problem: UTF-8: Although 'isprint' says a character is printable,
5467 utf_char2cells() still considers it unprintable.
5468 Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto)
5471 Patch 6.0.268 (extra) (depends on patch 6.0.255)
5472 Problem: Win32: ACL check crashes when using forward slash in file name.
5473 Solution: Improve the check for the path in the file name.
5474 Files: src/os_win32.c
5477 Problem: Unprintable characters in a file name may cause problems when
5478 using the 'statusline' option or when 'buftype' is "nofile".
5479 Solution: call trans_characters() for the resulting statusline. (Yasuhiro
5481 Files: src/buffer.c, src/screen.c, src/charset.c
5483 Patch 6.0.270 (depends on patch 6.0.267)
5484 Problem: A tab causes UTF-8 text to be displayed in the wrong position.
5486 Solution: Correct utf_char2cells() again.
5489 Patch 6.1a.001 (extra)
5490 Problem: 32bit DOS: copying text to the clipboard may cause a crash.
5491 (Jonathan D Johnston)
5492 Solution: Don't copy one byte too much in SetClipboardData().
5493 Files: src/os_msdos.c
5496 Problem: GTK: On some configurations, when closing a dialog from the window
5498 Solution: Catch the "destroy" signal. (Aric Blumer)
5499 Files: src/gui_gtk.c
5502 Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set:
5503 yanking in Visual mode doesn't include the last byte. (Eric Long)
5504 Solution: Don't add a space for a double-wide character.
5507 Patch 6.1a.004 (extra)
5508 Problem: MINGW: undefined type. (Ron Aaron)
5509 Solution: Make GetCompositionString_inUCS2() static.
5510 Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro
5512 Patch 6.1a.005 (extra)
5513 Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan
5515 Solution: Don't keep the driver context when using ":hardcopy!". (Vince
5517 Files: src/os_mswin.c
5520 Problem: multi-byte: after setting 'encoding' the window title might be
5522 Solution: Force resetting the title. (Yasuhiro Matsumoto)
5526 Problem: Filetype detection for "*.inc" doesn't work.
5527 Solution: Use a ":let" command. (David Schweikert)
5528 Files: runtime/filetype.vim
5530 Patch 6.1a.008 (extra)
5531 Problem: Win32: ACL detection for network shares doesn't work.
5532 Solution: Include the trailing (back)slash in the root path. (Mike Williams)
5533 Files: src/os_win32.c
5536 Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a ()
5537 part that follows, but it generates an error message.
5538 Solution: Allow a forward reference when there is a following "\@<=" or
5540 Files: runtime/doc/pattern.txt, src/regexp.c
5543 Problem: When using ":help" and opening a new window, the alternate file
5545 Solution: Set the alternate file to the previously edited file.
5546 Files: src/ex_cmds.c
5549 Problem: GTK: ":set co=77", change width with the mouse, ":set co=77"
5550 doesn't resize the window. (Darren Hiebert)
5551 Solution: Set the form size after handling a resize event.
5552 Files: src/gui_gtk_x11.c
5555 Problem: GTK: The file browser always returns a full path. (Lohner)
5556 Solution: Shorten the file name if possible.
5557 Files: src/gui_gtk.c
5560 Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the
5561 last character of the word isn't ignored. (Raul Segura Acevedo)
5562 Solution: Ignore case when checking the last typed character.
5566 Problem: After patch 6.1a.006 can't compile without the title feature.
5567 Solution: Add an #ifdef.
5571 Problem: MS-Windows: When expanding a file name that contains a '[' or '{'
5572 an extra backslash is inserted. (Raul Segura Acevedo)
5573 Solution: Avoid adding the backslash.
5574 Files: src/ex_getln.c
5577 Problem: Completion after ":language" doesn't include "time". (Raul Segura
5579 Solution: Add the alternative to the completions.
5580 Files: src/ex_cmds2.c
5583 Problem: Clicking the mouse in the top row of a window where the first line
5584 doesn't fit moves the cursor to the wrong column.
5585 Solution: Add the skipcol also for the top row of a window.
5589 Problem: When 'scrolloff' is one and the window height is one, "gj" can put
5590 the cursor above the window. (Raul Segura Acevedo)
5591 Solution: Don't let skipcol become bigger than the cursor column.
5595 Problem: When using a composing character on top of an ASCII character, the
5596 "l" command clears the composing character. Only when 'ruler' and
5597 'showcmd' are off. (Raphael Finkel)
5598 Solution: Don't move the cursor by displaying characters when there are
5599 composing characters.
5603 Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always
5604 work well for small sizes. (Adrien Beau)
5605 Solution: Use another way to avoid the problem with ":set co=77".
5606 Files: src/gui_gtk_x11.c
5609 Problem: Several Syntax menu entries are wrong or confusing.
5610 Solution: Rephrase and correct the menu entries. (Adrien Beau)
5611 Files: runtime/makemenu.vim, runtime/menu.vim
5614 Problem: A tags file might be used twice on case insensitive systems.
5616 Solution: Don't use the same file name twice in the default for the 'tags'
5617 option. Ignore case when comparing names of already visited
5619 Files: src/misc2.c, src/option.c
5622 Problem: When starting the GUI get "C" characters echoed in the terminal.
5623 Solution: Don't try sending a clear-screen command while the GUI is starting
5628 Problem: In other editors CTRL-F is often used for a find dialog.
5629 Solution: In evim use CTRL-F for the find dialog.
5630 Files: runtime/evim.vim
5633 Problem: The choices for the fileformat dialog can't be translated.
5634 Solution: Add g:menutrans_fileformat_choices. (Adrien Beau)
5635 Files: runtime/menu.vim
5638 Problem: Indenting Java files is wrong with "throws", "extends" and
5639 "implements" clauses.
5640 Solution: Update the Java indent script.
5641 Files: runtime/indent/java.vim
5644 Problem: A few Syntax menu entries missing or incorrect.
5645 Solution: Add and correct the menu entries. (Adrien Beau)
5646 Shorten a few menus to avoid they become too long.
5647 Files: runtime/makemenu.vim, runtime/menu.vim
5650 Problem: XIM: problems with feedback and some input methods.
5651 Solution: Use iconv for calculating the cells. Remove the queue for
5652 key_press_event only when text was changed. (Yasuhiro Matsumoto)
5653 Files: src/globals.h, src/mbyte.c, src/screen.c
5656 Problem: After patch 6.1a.028 can't compile GTK version with XIM but
5657 without multi-byte chars.
5658 Solution: Add an #ifdef. (Aschwin Marsman)
5662 Problem: With double-byte encodings toupper() and tolower() may have wrong
5664 Solution: Skip double-byte characters. (Eric Long)
5668 Problem: Accessing the 'balloondelay' variable may cause a crash.
5669 Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert)
5672 Patch 6.1a.032 (extra)
5673 Problem: Some menu files used a wrong encoding name for "scriptencoding".
5674 Solution: Move the translations to a separate file, which is sourced after
5675 setting "scriptencoding".
5676 Also add Czech menu translations in ASCII and update the other
5678 Files: runtime/lang/menu_cs_cz.iso_8859-1.vim,
5679 runtime/lang/menu_cs_cz.iso_8859-2.vim,
5680 runtime/lang/menu_czech_czech_republic.1250.vim,
5681 runtime/lang/menu_czech_czech_republic.1252.vim,
5682 runtime/lang/menu_czech_czech_republic.ascii.vim,
5683 runtime/lang/menu_de_de.iso_8859-1.vim,
5684 runtime/lang/menu_de_de.latin1.vim,
5685 runtime/lang/menu_fr_fr.iso_8859-1.vim,
5686 runtime/lang/menu_fr_fr.latin1.vim,
5687 runtime/lang/menu_french_france.1252.vim,
5688 runtime/lang/menu_german_germany.1252.vim,
5689 runtime/lang/menu_ja_jp.euc-jp.vim,
5690 runtime/lang/menu_ja_jp.utf-8.vim,
5691 runtime/lang/menu_japanese_japan.932.vim
5694 Problem: XIM: doesn't reset input context.
5695 Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka)
5698 Patch 6.1a.034 (extra)
5699 Problem: Win32: The ACL checks for a readonly file still don't work well.
5700 Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
5701 Files: src/os_win32.c
5704 Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
5705 multi-byte characters are not handled correctly.
5706 Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
5707 Matsumoto) Also handle UTF-8 composing characters.
5708 Files: src/os_unix.c
5711 Problem: GTK: the save-yourself event was not handled.
5712 Solution: Catch the save-yourself event and preserve swap files. (Neil Bird)
5713 Files: src/gui_gtk_x11.c
5716 Problem: The MS-Windows key mapping doesn't include CTRL-S for saving.
5718 Solution: Map CTRL-S to ":update".
5719 Files: runtime/mswin.vim
5722 Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't
5723 work. (Antonio Colombo)
5724 Solution: Don't include sys/sysinfo.h when not calling sysinfo().
5725 Files: src/os_unix.c
5728 Problem: Not all visual basic files are recognized.
5729 Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo)
5730 Files: runtime/filetype.vim
5733 Problem: A *.pl file is recognized as Perl, but it could be a prolog file.
5734 Solution: Check the first non-empty line. (Kontra Gergely)
5735 Files: runtime/filetype.vim
5738 Problem: When pressing the left mouse button in the command line and them
5739 moving the mouse upwards, nearly all the text is selected.
5740 Solution: Don't try extending a modeless selection when there isn't one.
5744 Problem: When merging files, ":diffput" and ":diffget" are used a lot, but
5745 they require a lot of typing.
5746 Solution: Add "dp" for ":diffput" and "do" for ":diffget".
5747 Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
5750 Patch 6.1b.001 (extra)
5751 Problem: Checking for wildcards in a path does not handle multi-byte
5752 characters with a trail byte which is a wildcard.
5753 Solution: Handle multi-byte characters correctly. (Muraoka Taro)
5754 Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
5758 Problem: A regexp that ends in "\{" is not flagged as an error. May cause
5759 a stack overflow when 'incsearch' is set. (Gerhard Hochholzer)
5760 Solution: Handle a missing "}" as an error.
5763 Patch 6.1b.003 (extra)
5764 Problem: The RISC OS GUI doesn't compile.
5765 Solution: Include changes since Vim 5.7. (Andy Wingate)
5766 Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c,
5767 src/os_riscos.h, src/proto/gui_riscos.pro
5770 Problem: col("'>") returns a negative number for linewise selection. (Neil
5772 Solution: Don't add one to MAXCOL.
5776 Problem: Using a search pattern that causes an out-of-stack error while
5777 'hlsearch' is set keeps giving the hit-Enter prompt.
5778 A search pattern that takes a long time delays typing when
5780 Solution: Stop 'hlsearch' highlighting when the regexp causes an error.
5781 Stop searching for 'incsearch' when a character is typed.
5782 Files: src/globals.h, src/message.c, src/screen.c, src/search.c,
5786 Problem: When entering a composing character on the command line with
5787 CTRL-V, the text isn't redrawn correctly.
5788 Solution: Redraw the text under and after the cursor.
5789 Files: src/ex_getln.c
5792 Problem: When the cursor is in the white space between two sentences, "dis"
5793 deletes the first character of the following sentence, "das"
5794 deletes a space after the sentence.
5795 Solution: Backup the cursor one character in these situations.
5799 Problem: *.xsl files are not recognized as xslt but xml.
5800 Monk files are not recognized.
5801 Solution: Delete the duplicate line for *.xsl. (Johannes Zellner)
5802 Recognize monk files.
5803 Files: runtime/filetype.vim
5806 Problem: Can't always compile small features and then adding eval feature,
5807 "sandbox" is undefined. (Axel Kielhorn)
5808 Solution: Always define "sandbox" when the eval feature is used.
5809 Files: src/globals.h
5811 Patch 6.1b.010 (extra)
5812 Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings.
5813 Solution: Change "true" to "TRUE". (Walter Briscoe)
5814 Files: GvimExt/gvimext.cpp
5817 Problem: When using a very long string for confirm(), can't quit the
5818 displaying at the more prompt. (Hari Krishna Dara)
5819 Solution: Jump to the end of the message to show the choices.
5820 Files: src/message.c
5823 Problem: Multi-byte: When 'showbreak' is set and a double-wide character
5824 doesn't fit at the right window edge the cursor gets stuck there.
5825 Using cursor-left gets stuck when 'virtualedit' is set. (Eric
5827 Solution: Fix the way the extra ">" character is counted when 'showbreak' is
5828 set. Don't correct cursor for virtual editing on a double-wide
5830 Files: src/charset.c, src/edit.c
5833 Problem: A user command that partly matches with a buffer-local user
5834 command and matches full with a global user command unnecessarily
5835 gives an 'ambiguous command' error.
5836 Solution: Find the full global match even after a partly local match.
5837 Files: src/ex_docmd.c
5840 Problem: EBCDIC: switching mouse events off causes garbage on screen.
5841 Positioning the cursor in the GUI causes garbage.
5842 Solution: Insert an ESC in the terminal code. (Ralf Schandl)
5843 Use "\b" instead of "\010" for KS_LE.
5844 Files: src/os_unix.c, src/term.c
5847 Problem: Vimtutor has a typo. Get a warning for "tempfile" if it
5849 Solution: Move a quote to the end of a line. (Max Ischenko)
5850 Use "mktemp" first, more systems have it.
5854 Problem: GTK: loading a fontset that works partly, Vim might hang or crash.
5855 Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto)
5856 Files: src/gui_gtk_x11.c
5859 Problem: GUI: When using ":shell" and there is a beep, nothing happens.
5860 Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro
5862 Files: src/message.c
5864 Patch 6.1b.018 (depends on 6.1b.006)
5865 Problem: When entering the encryption key, special keys may still reveal
5866 the typed characters.
5867 Solution: Make sure stars are used or nothing is shown in all cases.
5868 Files: src/digraph.c, src/getchar.c, src/ex_getln.c
5870 Patch 6.1b.019 (depends on 6.1b.005)
5871 Problem: A search pattern that takes a long time slows down typing when
5873 Solution: Pass SEARCH_PEEK to dosearch().
5874 Files: src/ex_getln.c
5877 Problem: When using the matchit plugin, "%" finds a match on the "end" of a
5878 ":syntax region" command in Vim scripts.
5879 Solution: Skip over ":syntax region" commands by setting b:match_skip.
5880 Files: runtime/ftplugin/vim.vim
5883 Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the
5884 pointer to the new window. (Robert Webb)
5885 Solution: Don't reset need_mouse_correct when checking the timestamp of a
5890 Problem: With lots of folds "j" does not obey 'scrolloff' properly.
5891 (Srinath Avadhanula)
5892 Solution: Go to end of the fold before counting context lines.
5896 Problem: On MS-Windows system() may cause checking timestamps, because Vim
5897 looses and gains input focus, while this doesn't happen on Unix.
5898 Solution: Don't check timestamps while system() is busy.
5899 Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c
5901 Patch 6.1b.024 (extra)
5902 Problem: Gettext 0.11 complains that "sjis" is not a standard name.
5903 Solution: Use "cp932" instead.
5904 Files: src/po/sjiscorr.c
5906 Patch 6.1b.025 (extra)
5907 Problem: Win32: When closing gvim while it is minimized and has a changed
5908 file, the file-changed dialog pops up in a corner of the screen.
5909 Solution: Put the dialog in the middle of the screen.
5910 Files: src/gui_w48.c
5913 Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in
5914 case are not highlighted properly. (Gerhard Hochholzer)
5915 Solution: Don't ignore case when ignoring white space differences.
5919 Problem: "vim --remote +" may cause a crash.
5920 Solution: Check for missing file name argument. (Martin Kahlert)
5923 Patch 6.1b.028 (extra)
5924 Problem: Win16: Can't compile after patch 6.1b.025.
5925 Solution: Add code specifically for Win16. (Vince Negri)
5926 Files: src/gui_w48.c
5929 Problem: Win32: When a directory on an NTFS partition is read/execute (no
5930 delete,modify,write) and the file has modify rights, trying to
5931 write the file deletes it. Making the file read/write/execute
5932 (not delete) solves it. (Mark Canup)
5933 Solution: Use the Unix code to check for a writable directory. If not, then
5934 make a backup copy and overwrite the file.
5937 Patch 6.1b.030 (extra)
5938 Problem: Mac: small mistake in the build script and prototypes.
5939 Solution: Fix the build script and add the prototypes. (Axel Kielhorn)
5940 Files: src/os_mac.build, src/gui_mac.c
5942 Patch 6.1b.031 (extra)
5943 Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting
5944 font name. (Vlad Sandrini)
5945 Solution: Put the code back in gui_mch_init_font() to form the font name out
5947 Files: src/gui_w48.c
5950 Problem: Athena: Setting a color scheme before the GUI has started causes a
5951 crash. (Todd Blumer)
5952 Solution: Don't try using color names that haven't been set yet.
5953 Files: src/gui_athena.c
5956 Problem: When using a count after a ":s" command may get ml_get errors.
5958 Solution: Check that the resulting range does not go past the end of the
5960 Files: src/ex_cmds.c
5963 Problem: After sourcing mswin.vim, when using <C-S-Right> after
5964 auto-indenting and then <Del>, get warning for allocating
5965 ridiculous amount of memory. (Dave Delgreco)
5966 Solution: Adjust the start of the Visual area when deleting the auto-indent.
5970 Problem: When using evim, dropping a file on Vim and then double clicking
5971 on a word, it is changed to "i". (Merlin Hansen)
5972 Solution: Reset need_start_insertmode after editing the file.
5973 Files: src/ex_docmd.c
5976 ==============================================================================
5977 VERSION 6.2 *version-6.2*
5979 This section is about improvements made between version 6.1 and 6.2.
5981 This is mainly a bug-fix release. There are also a few new features.
5984 - Support for GTK 2. (Daniel Elstner)
5985 - Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi)
5986 - ":try" command and exception handling. (Servatius Brandt)
5987 - Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff)
5988 - Cscope support for Win32. (Khorev Sergey)
5989 - Support for PostScript printing in various 8-bit encodings. (Mike Williams)
5992 Changed *changed-6.2*
5995 Removed the scheme indent file, the internal Lisp indenting works well now.
5997 Moved the GvimEXt, OleVim and VisVim directories into the "src" directory.
5998 This is more consistent with how xxd is handled.
6000 The VisVim.dll file is installed in the top directory, next to gvimext.dll,
6001 instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it
6002 from the wrong directory.
6004 Removed the art indent file, it didn't do anything.
6006 submatch() returned line breaks with CR instead of LF.
6008 Changed the Win32 Makefiles to become more uniform and compile gvimext.dll.
6011 'cindent': Align a "//" comment with a "//" comment in a previous line.
6014 Previously only for xterm-like terminals parent widgets were followed to find
6015 the title and icon label. Now do this for all terminal emulators.
6017 Made it possible to recognize backslashes for "%" matching. The 'M' flag in
6018 'cpoptions' disables it. (Haakon Riiser)
6020 Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably
6021 can't make it work (the compiler runs out of memory).
6023 Even though the documentation refers to keywords, "[ CTRL-D" was using
6024 'isident' to find matches. Changed it to use 'iskeyword'. Also applies to
6025 other commands that search for defined words in included files such as
6026 ":dsearch", "[D" and "[d".
6028 Made 'keywordprg' global-local. (Christian Robinson)
6030 Enabled the Netbeans interface by default. Reversed the configure argument
6031 from "--enable-netbeans" to "--disable-netbeans".
6053 Serbian (Aleksandar Veselinovic)
6054 Chinese Pinyin (Fredrik Roubert)
6055 Esperanto (Antoine J. Mechelynck)
6058 Valgrind (Roger Luethi)
6059 Smarty template (Manfred Stienstra)
6060 MySQL (Kenneth Pronovici)
6061 RockLinux package description (Piotr Esden-Tempski)
6063 gkrellmrc (David Necas)
6064 Tilde (Tobias Rundtrom)
6065 Logtalk (Paulo Moura)
6066 PLP (Juerd Waalboer)
6067 fvwm2m4 (David Necas)
6068 IPfilter (Hendrik Scholz)
6070 Quake (Nikolai Weibull)
6071 Occam (Mario Schweigler)
6073 Exim conf (David Necas)
6074 EDIF (Artem Zankovich)
6075 .cvsrc (Nikolai Weibull)
6076 .fetchmailrc (Nikolai Weibull)
6077 GNU gpg (Nikolai Weibull)
6078 Grub (Nikolai Weibull)
6079 Modconf (Nikolai Weibull)
6080 RCS (Dmitry Vasiliev)
6082 Renderman Interface Bytestream (Andrew J Bromage)
6083 Mailcap (Doug Kearns)
6084 Subversion commit file (Dmitry Vasiliev)
6085 Microsoft IDL (Vadim Zeitlin)
6086 WildPackets EtherPeek Decoder (Christopher Shinn)
6088 Resolv.conf (Radu Dineiu)
6089 A65 (Clemens Kirchgatterer)
6090 sshconfig and sshdconfig (David Necas)
6091 Cheetah and HTMLCheetah (Max Ischenko)
6092 Packet filter (Camiel Dobbelaar)
6095 Eiffel (David Clarke)
6096 Tilde (Tobias Rundtrom)
6097 Occam (Mario Schweigler)
6100 Dylan (Brent Fulgham)
6102 New tutor translations:
6103 Slovak (Lubos Celko)
6104 Greek (Christos Kontas)
6105 German (Joachim Hofmann)
6106 Norwegian (Øyvind Holm)
6108 New filetype plugins:
6109 Occam (Mario Schweigler)
6111 ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim,
6112 jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim,
6113 xhtml.vim, xml.vim, xsd.vim. (Dan Sharp)
6115 New compiler plugins:
6116 Checkstyle (Doug Kearns)
6117 g77 (Ralf Wildenhues)
6118 fortran (Johann-Guenter Simon)
6119 Xmllint (Doug Kearns)
6120 Ruby (Tim Hammerquist)
6121 Modelsim vcom (Paul Baleme)
6123 New menu translations:
6124 Brazilian (José de Paula)
6125 British (Mike Williams)
6126 Korean in UTF-8. (Nam SungHyun)
6127 Norwegian (Øyvind Holm)
6128 Serbian (Aleksandar Jelenak)
6130 New message translation for Norwegian. (Øyvind Holm)
6135 Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and
6136 'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi)
6138 Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff)
6140 Win32: cscope support. (Khorev Sergey)
6142 VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy)
6144 Added "x" key to the explorer plugin: execute the default action. (Yasuhiro
6147 Compile gvimext.dll with MingW. (Rene de Zwart)
6149 Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy
6150 way to convert text to HTML.
6152 Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers
6153 to all error messages, so that they can be caught by the number.
6155 Moved part of ex_docmd.c to the new ex_eval.c source file.
6157 Include support for GTK+ 2.2.x (Daniel Elstner)
6158 Adds the "~" register: drag & drop text.
6159 Adds the 'toolbariconsize' option.
6160 Add -Dalloca when running lint to work around a problem with alloca()
6163 When selecting an item in the error window to jump to, take some effort to
6164 find an ordinary window to show the file in (not a preview window).
6166 Support for PostScript printing of various 8-bit encodings. (Mike Williams)
6168 inputdialog() accepts a third argument that is used when the dialog is
6169 cancelled. Makes it possible to see a difference between cancelling and
6172 Included Aap recipes. Can be used to update Vim to the latest version,
6173 building and installing.
6175 "/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler)
6177 Vim variable "v:register" and functions setreg(), getreg() and getregtype().
6180 "v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode.
6183 Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when
6184 running install in the "src" directory for testing.
6186 Support tag files that were sorted with case ignored. (Flemming Madsen)
6188 When completing a wildcard in a leading path element, as in "../*/Makefile",
6189 only the last part ("Makefile") was listed. Support custom defined
6190 command line completion. (Flemming Madsen)
6192 Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo)
6194 Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not
6195 used by popular desktops. (Neil Bird)
6196 Not used for Gnome 2, it has its own handling.
6198 Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter
6201 Support page breaks for printing. Adds the "formfeed" field in
6202 'printoptions'. (Mike Williams)
6204 Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel
6207 "\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron)
6209 Added 'preserveindent' and 'copyindent' options. They use existing white
6210 space characters instead of using Tabs as much as possible. (Chris Leishman)
6212 Updated Unicode tables to Unicode 4.0. (Raphael Finkel)
6214 Support for the mouse wheel in rxvt. (AIDA Shinra)
6216 Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8"
6217 expansion on Win32 systems. (Michael Geddes)
6219 'cscopequickfix' option: Open quickfix window for Cscope commands. Also
6220 cleanup the code for giving messages. (Khorev Sergey)
6222 GUI: Support more than 222 columns for mouse positions.
6224 ":stopinsert" command: Don't return to Insert mode.
6226 "interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius
6233 Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h.
6235 The Vim icons in PNG format didn't have a transparent background. (Greg
6238 Fixed a large number of spelling mistakes in the docs. (Adri Verhoef)
6240 The #defines for prototype generation were causing trouble. Changed them to
6243 A new version of libintl.h uses __asm__, which confuses cproto. Define a
6244 dummy __asm__ macro.
6246 When 'virtualedit' is set can't move to halfway an unprintable character.
6247 Cripples CTRL-V selection. (Taro Muraoka)
6248 Allow moving to halfway an unprintable character. Don't let getvvcol() change
6249 the pos->coladd argument.
6251 When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is
6252 non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro)
6254 When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto)
6255 When no argument given use the ".*" pattern.
6257 Win32: When gvim.exe is started from a shortcut with the window style property
6258 set to maximize Vim doesn't start with a maximized window. (Yasuhiro
6259 Matsumoto) Open the window with the default size and don't call ShowWindow()
6260 again when it's already visible. (Helmut Stiegler)
6262 gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header
6265 Win32: When closing a window from a mapping some pixels remain on the
6266 statusline. (Yasuhiro Matsumoto)
6268 A column number in an errorformat that goes beyond the end of the line may
6271 ":throw 'test'" crashes Vim. (Yasuhiro Matsumoto)
6273 The file selector's scrollbar colors are not set after doing a ":hi Scrollbar
6274 guifg=color". And the file selector's colors are not changed by the
6275 colorscheme command. (David Harrison)
6277 Motif: When compiling with FEAT_FOOTER defined, the text area gets a few
6278 pixels extra space on the right. Remove the special case in
6279 gui_get_base_width(). (David Harrison)
6281 Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position.
6284 When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted.
6286 Using a "--cmd" argument more than 10 times caused a crash.
6288 DEC style mouse support didn't work if the page field is not empty.
6291 "vim -l one two" did only set 'lisp' in the first file. Vi does it for every
6294 ":set tw<" didn't work. Was checking for '^' instead of '<'.
6296 In ":hardcopy > %.ps" the "%" was not expanded to the current filename.
6298 Made ":redraw" also update the Visual area.
6300 When a not implemented command, such as ":perl", has wrong arguments the less
6301 important error was reported, giving the user the idea the command could work.
6303 On non-Unix systems autocommands for writing did not attempt a match with the
6304 short file name, causing a pattern like "a/b" to fail.
6306 VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan
6309 redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter
6312 Various changes for the PC Makefiles. (Walter Briscoe)
6314 Use _truename() instead of our own code to expand a file name into a full
6315 path. (Walter Briscoe)
6317 Error in filetype check for /etc/modutils. (Lubomir Host)
6319 Cscope interface: allocated a buffer too small.
6321 Win16: remove a trailing backslash from a path when obtaining the permission
6322 flags. (Vince Negri)
6324 When searching for tags with case ignored Vim could hang.
6326 When searching directories with a stopdir could get a crash. Did not
6327 re-allocate enough memory. (Vince Negri)
6329 A user command may cause a crash. Don't use the command index when it's
6330 negative. (Vince Negri)
6332 putenv() didn't work for MingW and Cygwin. (Dan Sharp)
6334 Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c
6335 for compiling the Win16 version and remove the functions from os_win16.c.
6338 For terminals that behave like an xterm but didn't have a name that is
6339 recognized, the window title would not always be set.
6341 When syntax highlighting is off ":hardcopy" could still attempt printing
6344 Crash when using ":catch" without an argument. (Servatius Brandt)
6346 Win32: ":n #" doubled the backslashes.
6348 Fixed Arabic shaping for the command line. (Nadim Shaikli)
6350 Avoid splitting up a string displayed on the command line into individual
6351 characters, it breaks Arabic shaping.
6353 Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp)
6355 2html.vim didn't work with 'nomagic' set.
6357 When a local argument list is used and doing ":only" Vim could crash later.
6360 When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3%
6361 could result in "-3%". Also avoid changing a space inside a filename to the
6364 MSwin: Handling of backslashes and double quotes for command line arguments
6365 was not like what other applications do. (Walter Briscoe)
6367 Test32 sometimes didn't work, because test11.out was written as TEST11.OUT.
6369 Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and
6372 More improvements for Make_bc3.mak file. (Walter Briscoe)
6374 When ":syn sync linebreaks=1" is used, editing the first line caused a redraw
6375 of the whole screen.
6377 Making translated messages didn't work, if_perl.xs wasn't found. (Vlad
6380 Motif and Athena: moving Vim to the foreground didn't uniconify it. Use
6381 XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran)
6383 When using ":ptag" in a window where 'scrollbind' is set the preview window
6384 would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'.
6386 Various commands that split a window took over 'scrollbind', which is hardly
6387 ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when
6390 When 'shellslash' is set in the vimrc file the first entry of ":scriptnames"
6391 would still have backslashes. Entries in the quickfix list could also have
6392 wrong (back)slashes.
6394 Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
6396 When using a multi-byte character with a K_SPECIAL byte or a special key code
6397 with "--remote-send" the received byte sequence was mangled. Put it in the
6398 typeahead buffer instead of the input buffer.
6400 Win32: The cursor position was incorrect after changing cursor shape.
6401 (Yasuhiro Matsumoto).
6403 Win32: When 'encoding' is not the current codepage the title could not be set
6404 to non-ascii characters.
6406 "vim -d scp://machine/file1 scp://machine/file2" did not work, there was only
6407 one window. Fixed the netrw plugin not to wipe out the buffer if it is
6408 displayed in other windows.
6410 "/$" caused "e" in last column of screen to disappear, a highlighted blank was
6413 ":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was
6414 using the line count including what matched after the "\ze".
6416 Using the "c" flag with ":s" changed the behavior when a line break is
6417 replaced and "\@<=" is used. Without "c" a following match was not found.
6419 ":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n".
6421 VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy)
6423 When a delete prompts if a delete should continue when yanking is not
6424 possible, restore msg_silent afterwards.
6426 ":sign" did not complain about a missing argument.
6428 When adding or deleting a sign 'hlsearch' highlighting could disappear.
6429 Use the generic functions for updating signs.
6431 On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing.
6432 Makes the tests work on more systems.
6434 In the DOS tests don't create "/tmp" to avoid an error.
6436 Mac classic: Problems with reading files with CR vs CR/LF. Rely on the
6437 library version of fgets() to work correctly for Metrowerks 2.2. (Axel
6440 When typing a password a "*" was shown for each byte instead of for each
6441 character. Added multi-byte handling to displaying the stars. (Yasuhiro
6444 When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
6445 different code for 5.6 and 5.8. (Dan Sharp)
6447 MingW and Cygwin: Don't strip the debug executable. (Dan Sharp)
6449 An assignment to a variable with curlies that includes "==" doesn't work.
6450 Skip over the curlies before searching for an "=". (Vince Negri)
6452 When cancelling the selection of alternate matching tags the tag stack index
6453 could be advanced too far, resulting in an error message when using CTRL-T.
6457 Problem: When formatting UTF-8 text it might be wrapped at a space that is
6458 followed by a composing character. (Raphael Finkel)
6459 Also correct a display error for removing a composing char on top
6461 Solution: Check for a composing character on a space.
6462 Files: src/edit.c, src/misc1.c, src/screen.c
6464 Patch 6.1.002 (extra)
6465 Problem: Win32: after a ":popup" command the mouse pointer stays hidden.
6466 Solution: Unhide the mouse pointer before showing the menu.
6467 Files: src/gui_w48.c
6470 Problem: When 'laststatus' is zero and there is a vertical split, the
6471 vertical separator is drawn in the command line. (Srikant
6473 Solution: Don't draw the vertical separator where there is no statusline.
6477 Problem: Unicode 3.2 changes width and composing of a few characters.
6479 Solution: Adjust the Unicode functions for the character width and composing
6484 Problem: When using more than 50 items in 'statusline' Vim might crash.
6486 Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen)
6490 Problem: When using "P" in Visual mode to put linewise selected text, the
6491 wrong text is deleted. (Jakub Turski)
6492 Solution: Put the text before the Visual area and correct the text to be
6493 deleted for the inserted lines.
6494 Also fix that "p" of linewise text in Visual block mode doesn't
6496 Files: src/normal.c, src/ops.c
6499 Problem: Using ":filetype plugin off" when filetype plugins were never
6500 enabled causes an error message. (Yiu Wing)
6501 Solution: Use ":silent!" to avoid the error message.
6502 Files: runtime/ftplugof.vim
6505 Problem: The "%" command doesn't ignore \" inside a string, it's seen as
6506 the end of the string. (Ken Clark)
6507 Solution: Skip a double quote preceded by an odd number of backslashes.
6511 Problem: Vim crashes when using a huge number for the maxwid value in a
6512 statusline. (Robert M. Nowotniak)
6513 Solution: Check for an overflow that makes maxwid negative.
6517 Problem: Searching backwards for a question mark with "?\?" doesn't work.
6518 (Alan Isaac) Same problem in ":s?\??" and ":g?\??".
6519 Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter.
6520 Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c,
6521 src/search.c, src/syntax.c, src/tag.c
6524 Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus
6525 problem when selecting candidates.
6526 Solution: Fix the XIM problems. (Yasuhiro Matsumoto)
6527 Files: src/mbyte.c, src/screen.c
6530 Problem: A system() call might fail if fread() does CR-LF to LF
6532 Solution: Open the output file in binary mode. (Pavol Huhas)
6536 Problem: Win32: The default for 'printexpr' doesn't work when there are
6537 special characters in 'printdevice'.
6538 Solution: Add double quotes around the device name. (Mike Williams)
6539 Files: runtime/doc/option.txt, src/option.c
6542 Problem: An operator like "r" used in Visual block mode doesn't use
6543 'virtualedit' when it's set to "block".
6544 Solution: Check for 'virtualedit' being active in Visual block mode when the
6545 operator was started.
6546 Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c,
6547 src/ops.c, src/undo.c
6550 Problem: After patch 6.1.014 can't compile with tiny features. (Christian
6552 Solution: Add the missing define of virtual_op.
6555 Patch 6.1.016 (extra)
6556 Problem: Win32: Outputting Hebrew or Arabic text might have a problem with
6558 Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron)
6559 Files: src/gui_w32.c
6562 Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O.
6564 Solution: Define BINARY_FILE_IO for Cygwin.
6565 Files: src/os_unix.h
6568 Problem: Error message when using cterm highlighting. (Leonardo Di Lella)
6569 Solution: Remove a backslash before a question mark.
6570 Files: runtime/syntax/cterm.vim
6572 Patch 6.1.019 (extra)
6573 Problem: Win32: File name is messed up when editing just a drive name.
6575 Solution: Append a NUL after the drive name. (Vince Negri)
6576 Files: src/os_win32.c
6579 Problem: col("'>") returns a huge number after using Visual line mode.
6580 Solution: Return the length of the line instead.
6583 Patch 6.1.021 (depends on patch 6.1.009)
6584 Problem: Vim crashes when using a huge number for the minwid value in a
6585 statusline. (Robert M. Nowotniak)
6586 Solution: Check for an overflow that makes minwid negative.
6590 Problem: Grabbing the status line above the command-line window works like
6591 the bottom status line was grabbed. (Jim Battle)
6592 Solution: Make it possible to grab the status line above the command-line
6593 window, so that it can be resized.
6596 Patch 6.1.023 (extra)
6597 Problem: VMS: running tests doesn't work properly.
6598 Solution: Adjust the makefile. (Zoltan Arpadffy)
6599 Files: src/testdir/Make_vms.mms
6602 Problem: When header files use a new syntax for declaring functions, Vim
6603 can't figure out missing prototypes properly.
6604 Solution: Accept braces around a function name. (M. Warner Losh)
6608 Problem: Five messages for "vim --help" don't start with a capital. (Vlad
6610 Solution: Make the messages consistent.
6614 Problem: *.patch files are not recognized as diff files. In a script a
6615 "VAR=val" argument after "env" isn't ignored. PHP scripts are not
6617 Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP
6618 scripts. (Roman Neuhauser)
6619 Files: runtime/filetype.vim, runtime/scripts.vim
6622 Problem: When 'foldcolumn' is non-zero, a special character that wraps to
6623 the next line disturbs the foldcolumn highlighting. (Yasuhiro
6625 Solution: Only use the special highlighting when drawing text characters.
6629 Problem: Client-server: When a --remote-expr fails, Vim still exits with
6631 Solution: Exit Vim with a non-zero status to indicate the --remote-expr
6632 failed. (Thomas Scott Urban)
6636 Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing
6637 a utf-8 or other Unicode file uses the wrong conversion. (Jan
6639 Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other
6644 Problem: When CTRL-N is mapped in Insert mode, it is also mapped after
6645 CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F.
6647 Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P.
6648 Files: src/getchar.c
6651 Problem: Cygwin: Xxd could read a file in text mode instead of binary mode.
6652 Solution: Use "rb" or "rt" when needed. (Pavol Juhas)
6653 Files: src/xxd/xxd.c
6656 Problem: Can't specify a quickfix file without jumping to the first error.
6657 Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan)
6658 Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h,
6662 Problem: GUI: When the selection is lost and the Visual highlighting is
6663 changed to underlining, the cursor is left in a different
6664 position. (Christian Michon)
6665 Solution: Update the cursor position after redrawing the selection.
6669 Problem: A CVS diff file isn't recognized as diff filetype.
6670 Solution: Skip lines starting with "? " before checking for an "Index:" line.
6671 Files: runtime/scripts.vim
6673 Patch 6.1.035 (extra, depends on 6.1.016)
6674 Problem: Win32: Outputting Hebrew or Arabic text might have a problem with
6675 reversing on MS-Windows 95/98/ME.
6676 Solution: Restore the RevOut() function and use it in specific situations
6678 Files: src/gui_w32.c
6681 Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens)
6682 Solution: Compute the right length of the regexp when it's empty.
6686 Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt
6687 causes an incomplete redraw and the cursor isn't positioned.
6689 Solution: Overrule 'lazyredraw' when do_redraw is set.
6690 Files: src/main.c, src/screen.c
6693 Problem: Multi-byte: When a ":s" command contains a multi-byte character
6694 where the trail byte is '~' the text is messed up.
6695 Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro)
6699 Problem: When folds are defined and the file is changed outside of Vim,
6700 reloading the file doesn't update the folds. (Anders
6702 Solution: Recompute the folds after reloading the file.
6706 Problem: When changing directory for expanding a file name fails there is
6708 Solution: Give an error message for this situation. Don't change directory
6709 if we can't return to the original directory.
6710 Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c,
6714 Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in
6715 the rhs. (Davyd Ondrejko)
6716 Solution: Insert a CTRL-V before the leading space. Also display leading
6717 and trailing white space in <> form.
6718 Files: src/getchar.c, src/message.c
6721 Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap
6722 files. (Steve Talley)
6723 Solution: Keep all matching swap file names.
6724 Files: src/memline.c
6727 Problem: After patch 6.1.040 a few warnings are produced.
6728 Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn)
6729 Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c
6731 Patch 6.1.044 (extra)
6732 Problem: GUI: When using the find/replace dialog with text that contains a
6733 slash, an invalid substitute command is generated.
6734 On Win32 a find doesn't work when 'insertmode' is set.
6735 Solution: Escape slashes with a backslash.
6736 Make the Win32, Motif and GTK gui use common code for the
6737 find/replace dialog.
6738 Add the "match case" option for Motif and GTK.
6739 Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h,
6740 src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c
6743 Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999,
6744 moving the cursor down near the end of the file causes the text to
6745 jump up and down. (Lubomir Host)
6746 Solution: Take into account that the cursor may be on the last line of a
6751 Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black
6752 rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor
6753 disappear. (Nam SungHyun)
6754 Solution: Correctly compute the height of the horizontal cursor.
6755 Files: src/gui_gtk_x11.c, src/gui_x11.c
6758 Problem: When skipping commands after an error was encountered, expressions
6759 for ":if", ";elseif" and ":while" are still evaluated.
6760 Solution: Skip the expression after an error. (Servatius Brandt)
6761 Files: src/ex_docmd.c
6764 Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters.
6765 Solution: Recognize more characters as composing characters. (Jungshik Shin)
6768 Patch 6.1.049 (extra)
6769 Problem: On a 32 bit display a valid color may cause an error message,
6770 because its pixel value is negative. (Chris Paulson-Ellis)
6771 Solution: Check for -11111 instead of the color being negative.
6772 Don't add one to the pixel value, -1 may be used for white.
6773 Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c,
6774 src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c,
6775 src/gui_mac.c, src/gui_motif.c, src/gui_photon.c,
6776 src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c,
6777 src/gui_x11.c, src/mbyte.c, src/syntax.c
6779 Patch 6.1.050 (depends on 6.1.049)
6780 Problem: After patch 6.1.049 the non-GUI version doesn't compile.
6781 Solution: Add an #ifdef FEAT_GUI. (Robert Stanton)
6784 Patch 6.1.051 (depends on 6.1.044)
6785 Problem: Doesn't compile with GUI and small features.
6786 Solution: Adjust the #if for ga_append().
6790 Problem: Unix: The executable() function doesn't work when the "which"
6791 command isn't available.
6792 Solution: Go through $PATH manually. Also makes it work for VMS.
6793 Files: src/os_unix.c
6796 Problem: When 'sessionoptions' contains "globals", or "localoptions" and an
6797 option value contains a line break, the resulting script is wrong.
6798 Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula)
6802 Problem: GUI: A mouse click is not recognized at the more prompt, even when
6803 'mouse' includes 'r'.
6804 Solution: Recognize a mouse click at the more prompt.
6805 Also accept a mouse click in the last line in the GUI.
6806 Add "ml" entry in 'mouseshape'.
6807 Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c,
6811 Problem: When editing a compressed file, Vim will inspect the contents to
6813 Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files.
6814 Files: runtime/filetype.vim, runtime/plugin/gzip.vim
6817 Problem: Loading the Syntax menu can take quite a bit of time.
6818 Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the
6819 available syntax files are not in the Syntax menu.
6820 Files: runtime/doc/gui.txt, runtime/menu.vim
6823 Problem: An ESC inside a mapping doesn't work as documented when
6824 'insertmode' is set, it does go from Visual or Normal mode to
6825 Insert mode. (Benji Fisher)
6826 Solution: Make it work as documented.
6830 Problem: When there is a closed fold just above the first line in the
6831 window, using CTRL-X CTRL-Y in Insert mode will show only one line
6832 of the fold. (Alexey Marinichev)
6833 Solution: Correct the topline by putting it at the start of the fold.
6837 Problem: ":redir > ~/file" doesn't work. (Stephen Rasku)
6838 Solution: Expand environment variables in the ":redir >" argument.
6839 Files: src/ex_docmd.c
6842 Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting
6843 a character just before a tab changes the tab into spaces. Undo
6844 doesn't restore the tab. (Helmut Stiegler)
6845 Solution: Don't replace the tab by spaces when it's not needed. Correctly
6846 save the line before it's changed.
6850 Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual
6851 selection that ends just after a tab doesn't include that tab in
6852 the highlighting. (Helmut Stiegler)
6853 Solution: Use a different way to exclude the character under the cursor.
6857 Problem: The "man" filetype plugin doesn't work properly on Solaris 5.
6858 Solution: Use a different way to detect that "man -s" should be used. (Hugh
6860 Files: runtime/ftplugin/man.vim
6863 Problem: Java indenting doesn't work properly.
6864 Solution: Ignore comments when checking if the indent doesn't increase after
6866 Files: runtime/indent/java.vim
6869 Problem: The URLs that the netrw plugin recognized for ftp and rcp did not
6870 conform to the standard method://[user@]host[:port]/path.
6871 Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new
6872 and the previous style. Also added a bit of dav/cadaver support.
6874 Files: runtime/plugin/netrw.vim
6877 Problem: VMS: The colorscheme, keymap and compiler menus are not filled in.
6878 Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts)
6879 Files: runtime/menu.vim
6881 Patch 6.1.066 (extra)
6882 Problem: When calling system() in a plugin reading stdin hangs.
6883 Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode
6884 before the system() call.
6885 Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c,
6886 src/os_win16.c, src/os_win32.c
6889 Problem: ":set viminfo+=f0" is not working. (Benji Fisher)
6890 Solution: Check the "f" flag instead of "'" in 'viminfo'.
6894 Problem: When a file is reloaded after it was changed outside of Vim, diff
6895 mode isn't updated. (Michael Naumann)
6896 Solution: Invalidate the diff info so that it's updated when needed.
6900 Problem: When 'showmatch' is set and "$" is in 'cpoptions', using
6901 "C}<Esc>" may forget to remove the "$". (Preben Guldberg)
6902 Solution: Restore dollar_vcol after displaying the matching cursor position.
6905 Patch 6.1.070 (depends on 6.1.060)
6906 Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams)
6907 Solution: Add a typecast to int.
6911 Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one
6912 character too much. (David Necas)
6913 Solution: Subtract one from the end position.
6917 Problem: When a file name in a tags file starts with http:// or something
6918 else for which there is a BufReadCmd autocommand, the file isn't
6920 Solution: Check if there is a matching BufReadCmd autocommand and try to
6922 Files: src/fileio.c, src/proto/fileio.pro, src/tag.c
6924 Patch 6.1.073 (extra)
6925 Problem: BC5: Can't easily specify a tiny, small, normal, big or huge
6927 Solution: Allow selecting the version with the FEATURES variable. (Ajit
6929 Files: src/Make_bc5.mak
6932 Problem: When 'cdpath' includes "../..", changing to a directory in which
6933 we currently already are doesn't work. ff_check_visited() adds
6934 the directory both when using it as the root for searching and for
6935 the actual matches. (Stephen Rasku)
6936 Solution: Use a separate list for the already searched directories.
6939 Patch 6.1.075 (depends on 6.1.072)
6940 Problem: Can't compile fileio.c on MS-Windows.
6941 Solution: Add a declaration for the "p" pointer. (Madoka Machitani)
6944 Patch 6.1.076 (extra)
6945 Problem: Macintosh: explorer plugin doesn't work on Mac Classic.
6946 IME doesn't work. Dialog boxes don't work on Mac OS X
6947 Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn)
6948 Fix IME support. (Muraoka Taro)
6949 Disable dialog boxes. (Benji Fisher)
6950 Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c
6953 Problem: On a Debian system with ACL linking fails. (Lubomir Host)
6954 Solution: When the "acl" library is used, check if the "attr" library is
6956 Files: src/auto/configure, src/configure.in, src/link.sh
6959 Problem: When using 'foldmethod' "marker" and the end marker appears before
6960 the start marker in the file, no fold is found. (Nazri Ramliy)
6961 Solution: Don't let the fold depth go negative.
6965 Problem: When using "s" in Visual block mode with 'virtualedit' set, when
6966 the selected block is after the end of some lines the wrong text
6967 is inserted and some lines are skipped. (Servatius Brandt)
6968 Solution: Insert the right text and extend short lines.
6972 Problem: When using gcc with /usr/local already in the search path, adding
6973 it again causes problems.
6974 Solution: Adjust configure.in to avoid adding /usr/local/include and
6975 /usr/local/lib when using GCC and they are already used. (Johannes
6977 Files: src/auto/configure, src/configure.in
6980 Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson)
6981 Solution: Double the backslash to avoid the special meaning of "\_".
6982 Files: src/ex_cmds.c
6985 Problem: On MS-Windows the vimrc_example.vim script is sourced and then
6986 mswin.vim. This enables using select mode, but since "p" is
6987 mapped it doesn't replace the selection.
6988 Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete.
6990 Files: runtime/vimrc_example.vim
6993 Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found.
6995 Solution: Guess the right menu file based on the system.
6996 Files: runtime/lang/menu_sk_sk.vim
6998 Patch 6.1.084 (depends on 6.1.080)
6999 Problem: "include" and "lib" are mixed up when checking the directories gcc
7001 Solution: Swap the variable names. (SunHo Kim)
7002 Files: src/auto/configure, src/configure.in
7005 Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed
7006 mode "(insert)" isn't removed. (Benji Fisher)
7007 Solution: Clear the command line.
7010 Patch 6.1.086 (depends on 6.1.049)
7011 Problem: The guifg color for CursorIM doesn't take effect.
7012 Solution: Use the foreground color when it's defined. (Muraoka Taro)
7016 Problem: A thesaurus with Japanese characters has problems with characters
7017 in different word classes.
7018 Solution: Only separate words with single-byte non-word characters.
7022 Patch 6.1.088 (extra)
7023 Problem: Win32: no debugging info is generated. Tags file excludes .cpp
7025 Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command.
7027 Files: src/Make_mvc.mak
7030 Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan)
7031 Solution: Use ss_base instead.
7032 Files: src/auto/configure, src/configure.in, src/config.h.in,
7036 Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix
7037 of long wrapping lines and a non-wrapping line.
7038 Solution: Check that CTRL-F scrolls at least one line.
7042 Problem: GTK: Can't change preeditstate without setting 'imactivatekey'.
7043 Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro
7048 Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam)
7049 Solution: Allow an argument for ":mapclear".
7050 Files: src/ex_cmds.h
7052 Patch 6.1.093 (extra)
7053 Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the
7054 results can be messed up, because the cursor is moved.
7055 Solution: Disallow direct scrolling when not waiting for a character.
7056 Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
7059 Problem: Cygwin: Passing a file name that has backslashes isn't handled
7061 Solution: Convert file name arguments to Posix. (Chris Metcalf)
7065 Problem: When using signs can free an item on the stack.
7066 Overruling sign colors doesn't work. (Srikanth Sankaran)
7067 Solution: Don't free the item on the stack. Use NULL instead of "none" for
7068 the value of the color.
7069 Files: src/gui_x11.c
7072 Problem: When erasing the right halve of a double-byte character, it may
7073 cause further characters to be erased. (Yasuhiro Matsumoto)
7074 Solution: Make sure only one character is erased.
7077 Patch 6.1.097 (depends on 6.1.090)
7078 Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the
7079 file scrolls one line. (Lubomir Host)
7080 Solution: Don't scroll when CTRL-F detects the end-of-file.
7084 Problem: MS-Windows: When the xxd program is under "c:\program files" the
7085 "Convert to Hex" menu doesn't work. (Brian Mathis)
7086 Solution: Put the path to xxd in double quotes.
7087 Files: runtime/menu.vim
7090 Problem: Memory corrupted when closing a fold with more than 99999 lines.
7091 Solution: Allocate more space for the fold text. (Walter Briscoe)
7094 Patch 6.1.100 (extra, depends on 6.1.088)
7095 Problem: Win32: VC5 and earlier don't support the /mapinfo option.
7096 Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro)
7097 Files: src/Make_mvc.mak
7100 Problem: After using ":options" the tabstop of a new window is 15. Entry
7101 in ":options" window for 'autowriteall' is wrong. (Antoine J
7102 Mechelynck) Can't insert a space in an option value.
7103 Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
7104 Don't map space in Insert mode.
7105 Files: runtime/optwin.vim
7108 Problem: Unprintable and multi-byte characters in a statusline item are not
7109 truncated correctly. (Yasuhiro Matsumoto)
7110 Solution: Count the width of characters instead of the number of bytes.
7114 Problem: A function returning from a while loop, with 'verbose' set to 12
7115 or higher, doesn't mention the return value. A function with the
7116 'abort' attribute may return -1 while the verbose message says
7118 Solution: Move the verbose message about returning from a function to
7119 call_func(). (Servatius Brandt)
7123 Problem: GCC 3.1 appears to have an optimizer problem that makes test 3
7125 Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug.
7126 Filter out extra info from "gcc --version".
7127 Files: src/auto/configure, src/configure.in
7130 Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion
7132 Solution: Redirect stderr, depending on the shell (like for 'shellredir').
7136 Problem: The maze program crashes.
7137 Solution: Change "11" to "27" and it works. (Greg Roelofs)
7138 Files: runtime/macros/maze/mazeansi.c
7141 Problem: When 'list' is set the current line in the error window may be
7142 displayed wrong. (Muraoka Taro)
7143 Solution: Don't continue the line after the $ has been displayed and the
7144 rightmost column is reached.
7148 Problem: When interrupting a filter command such as "!!sleep 20" the file
7149 becomes read-only. (Mark Brader)
7150 Solution: Only set the read-only flag when opening a buffer is interrupted.
7151 When the shell command was interrupted, read the output that was
7153 Files: src/ex_cmds.c, src/fileio.c
7156 Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the
7157 window heights. (Roman Neuhauser)
7158 Solution: Ignore 'eadirection' for CTRL-W =
7162 Problem: When using ":badd file" when "file" is already present but not
7163 listed, it stays unlisted. (David Frey)
7164 Solution: Set 'buflisted'.
7168 Problem: It's not possible to detect using the Unix sources on Win32 or Mac.
7169 Solution: Add has("macunix") and has("win32unix").
7170 Files: runtime/doc/eval.txt, src/eval.c
7173 Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to
7174 the cursor position from before this command but every position
7175 where the argument was executed.
7176 Solution: Only remember the cursor position from before the ":argdo",
7177 ":bufdo" and ":windo".
7178 Files: src/ex_cmds2.c, src/mark.c
7181 Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser)
7182 Solution: Decide what buffer to go to next before executing the command.
7183 Files: src/ex_cmds2.c
7186 Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives
7187 a lalloc(0) error. (Chris Southern)
7188 Solution: Don't allocate an array when it's size is zero.
7189 Files: src/if_python.c
7192 Problem: "das" on the white space at the end of a paragraph does not delete
7193 the "." the sentence ends with.
7194 Solution: Don't exclude the last character when it is not white space.
7198 Problem: When 'endofline' is changed while 'binary' is set a file should be
7199 considered modified. (Olaf Buddenhagen)
7200 Solution: Remember the 'eol' value when editing started and consider the
7201 file changed when the current value is different and 'binary' is
7202 set. Also fix that the window title isn't updated when 'ff' or
7204 Files: src/option.c, src/structs.h
7207 Problem: Small problem with editing a file over ftp: and with Cygwin.
7208 Solution: Remove a dot from a ":normal" command. Use "cygdrive" where
7209 appropriate. (Charles Campbell)
7210 Files: runtime/plugin/netrw.vim
7213 Problem: When a file in diff mode is reloaded because it changed outside
7214 of Vim, other windows in diff mode are not always updated.
7216 Solution: After reloading a file in diff mode mark all windows in diff mode
7220 Patch 6.1.119 (extra)
7221 Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be
7222 a crash when connecting to Sniff.
7223 Solution: Initialize sniff_rq_sep such that its value can be changed.
7225 Files: src/if_sniff.c
7227 Patch 6.1.120 (depends on 6.1.097)
7228 Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the
7229 end of the file scrolls part of a closed fold. (Lubomir Host)
7230 Solution: Adjust the first line to the start of a fold.
7233 Patch 6.1.121 (depends on 6.1.098)
7234 Problem: When starting Select mode from Insert mode, then using the Paste
7235 menu entry, the cursor is left before the last pasted character.
7237 Solution: Set the cursor for Insert mode one character to the right.
7238 Files: runtime/menu.vim
7241 Problem: ":file name" creates a new buffer to hold the old buffer name,
7242 which becomes the alternate file. This buffer is unexpectedly
7244 Solution: Create the buffer for the alternate name unlisted.
7245 Files: src/ex_cmds.c
7248 Problem: A ":match" command with more than one argument doesn't report an
7250 Solution: Check for extra characters. (Servatius Brandt)
7251 Files: src/ex_docmd.c
7254 Problem: When trying to exit and there is a hidden buffer that had 'eol'
7255 off and 'bin' set exiting isn't possible. (John McGowan)
7256 Solution: Set b_start_eol when clearing the buffer.
7260 Problem: Explorer plugin asks for saving a modified buffer even when it's
7261 open in another window as well.
7262 Solution: Count the number of windows using the buffer.
7263 Files: runtime/plugin/explorer.vim
7266 Problem: Adding the choices in the syntax menu is consuming much of the
7267 startup time of the GUI while it's not often used.
7268 Solution: Only add the choices when the user wants to use them.
7269 Files: Makefile, runtime/makemenu.vim, runtime/menu.vim,
7270 runtime/synmenu.vim, src/Makefile
7273 Problem: When using "--remote file" and the server has 'insertmode' set,
7274 commands are inserted instead of being executed. (Niklas Volbers)
7275 Solution: Go to Normal mode again after the ":drop" command.
7279 Problem: The expression "input('very long prompt')" puts the cursor in the
7280 wrong line (column is OK).
7281 Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto)
7282 Files: src/ex_getln.c
7285 Problem: On Solaris editing "file/" and then "file" results in using the
7286 same buffer. (Jim Battle)
7287 Solution: Before using stat(), check that there is no illegal trailing
7289 Files: src/auto/configure, src/config.h.in, src/configure.in,
7290 src/macros.h src/misc2.c, src/proto/misc2.pro
7293 Problem: The documentation for some of the 'errorformat' items is unclear.
7294 Solution: Add more examples and explain hard to understand items. (Stefan
7296 Files: runtime/doc/quickfix.txt
7299 Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI,
7300 the CSI byte itself isn't copied.
7301 Solution: Copy the CSI byte.
7302 Files: src/gui_x11.c
7305 Problem: Executing a register in Ex mode may cause commands to be skipped.
7307 Solution: In Ex mode use an extra check if the register contents was
7308 consumed, to avoid input goes into the typeahead buffer.
7309 Files: src/ex_docmd.c
7312 Problem: When drawing double-wide characters in the statusline, may clear
7313 half of a character. (Yasuhiro Matsumoto)
7314 Solution: Force redraw of the next character by setting the attributes
7315 instead of putting a NUL in ScreenLines[]. Do put a NUL in
7316 ScreenLines[] when overwriting half of a double-wide character.
7320 Problem: An error for a trailing argument of ":match" should not be given
7321 after ":if 0". (Servatius Brandt)
7322 Solution: Only do the check when executing commands.
7323 Files: src/ex_docmd.c
7326 Problem: Passing a command to the shell that includes a newline always has
7327 a backslash before the newline.
7328 Solution: Remove one backslash before the newline. (Servatius Brandt)
7329 Files: src/ex_docmd.c
7332 Problem: When $TERM is "linux" the default for 'background' is "dark", even
7333 though the GUI uses a light background. (Hugh Allen)
7334 Solution: Don't mark the option as set when defaulting to "dark" for the
7335 linux console. Also reset 'background' to "light" when the GUI
7336 has a light background.
7340 Problem: Converting to HTML has a clumsy way of dealing with tabs which may
7341 change the highlighting.
7342 Solution: Replace tabs with spaces after converting a line to HTML. (Preben
7344 Files: runtime/syntax/2html.vim
7346 Patch 6.1.138 (depends on 6.1.126)
7347 Problem: Adding extra items to the Syntax menu can't be done when the "Show
7348 individual choices" menu is used.
7349 Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim
7350 files in the runtime path are loaded. (Servatius Brandt)
7351 Also fix that a translated menu can't be removed.
7352 Files: runtime/menu.vim
7355 Problem: Cygwin: PATH_MAX is not defined.
7356 Solution: Include limits.h. (Dan Sharp)
7360 Problem: Cygwin: ":args `ls *.c`" does not work if the shell command
7361 produces CR NL line separators.
7362 Solution: Remove the CR characters ourselves. (Pavol Juhas)
7363 Files: src/os_unix.c
7366 Problem: ":wincmd gx" may cause problems when mixed with other commands.
7367 ":wincmd c" doesn't close the window immediately. (Benji Fisher)
7368 Solution: Pass the extra command character directly instead of using the
7369 stuff buffer and call ex_close() directly.
7370 Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro,
7371 src/proto/window.pro, src/window.c
7374 Problem: Defining paragraphs without a separating blank line isn't
7375 possible. Paragraphs can't be formatted automatically.
7376 Solution: Allow defining paragraphs with lines that end in white space.
7377 Added the 'w' and 'a' flags in 'formatoptions'.
7378 Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c,
7379 src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro,
7382 Patch 6.1.143 (depends on 6.1.142)
7383 Problem: Auto formatting near the end of the file moves the cursor to a
7384 wrong position. In Insert mode some lines are made one char too
7385 narrow. When deleting a line undo might not always work properly.
7386 Solution: Don't always move to the end of the line in the last line. Don't
7387 position the cursor past the end of the line in Insert mode.
7388 After deleting a line save the cursor line for undo.
7389 Files: src/edit.c, src/ops.c, src/normal.c
7392 Problem: Obtaining the size of a line in screen characters can be wrong.
7393 A pointer may wrap around zero.
7394 Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim
7396 Files: src/charset.c
7399 Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael
7401 Solution: Rewrite the code that parses the received list of files to be more
7403 Files: src/charset.c, src/gui_gtk_x11.c
7406 Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and
7407 $HOMEPATH, it is not used for storing the _viminfo file. (Normal
7409 Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH.
7412 Patch 6.1.147 (extra)
7413 Problem: MS-Windows: When a dialog has no default button, pressing Enter
7414 ends it anyway and all buttons are selected.
7415 Solution: Don't end a dialog when there is no default button. Don't select
7416 all button when there is no default. (Vince Negri)
7417 Files: src/gui_w32.c
7419 Patch 6.1.148 (extra)
7420 Problem: MS-Windows: ACL is not properly supported.
7421 Solution: Add an access() replacement that also works for ACL. (Mike
7423 Files: runtime/doc/editing.txt, src/os_win32.c
7425 Patch 6.1.149 (extra)
7426 Problem: MS-Windows: Can't use diff mode from the file explorer.
7427 Solution: Add a "diff with Vim" context menu entry. (Dan Sharp)
7428 Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h
7431 Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd()
7432 still uses backslash. (Yegappan Lakshmanan)
7433 Solution: Adjust slashes in getcwd().
7436 Patch 6.1.151 (extra)
7437 Problem: Win32: The NTFS substream isn't copied.
7438 Solution: Copy the substream when making a backup copy. (Muraoka Taro)
7439 Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro
7442 Problem: When $LANG is iso8859-1 translated menus are not used.
7443 Solution: Change iso8859 to iso_8859.
7444 Files: runtime/menu.vim
7447 Problem: Searching in included files may search recursively when the path
7448 starts with "../". (Sven Berkvens-Matthijsse)
7449 Solution: Compare full file names, use inode/device when possible.
7452 Patch 6.1.154 (extra)
7453 Problem: DJGPP: "vim -h" leaves the cursor in a wrong position.
7454 Solution: Don't position the cursor using uninitialized variables. (Jim
7456 Files: src/os_msdos.c
7459 Problem: Win32: Cursor may sometimes disappear in Insert mode.
7460 Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe)
7464 Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly.
7465 Solution: Clean up a few things.
7466 Files: src/mbyte.c, src/structs.h
7469 Problem: 'hlsearch' highlights only the second comma in ",,,,," with
7470 "/,\@<=[^,]*". (Preben Guldberg)
7471 Solution: Also check for an empty match to start just after a previous
7476 Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1".
7478 Solution: Take 'siso' into account when computing the horizontal scroll
7479 position for "zs" and "ze".
7483 Problem: When expanding an abbreviation that includes a multi-byte
7484 character too many characters are deleted. (Andrey Urazov)
7485 Solution: Delete the abbreviation counting characters instead of bytes.
7486 Files: src/getchar.c
7489 Problem: ":$read file.gz" doesn't work. (Preben Guldberg)
7490 Solution: Don't use the '[ mark after it has become invalid.
7491 Files: runtime/plugin/gzip.vim
7493 Patch 6.1.161 (depends on 6.1.158)
7494 Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative
7495 value. (Mike Williams)
7496 Solution: Add a typecast. Add a check for 'siso' being negative.
7497 Files: src/normal.c, src/option.c
7500 Problem: Python interface: Didn't initialize threads properly.
7501 Solution: Call PyEval_InitThreads() when starting up.
7502 Files: src/if_python.c
7505 Problem: Win32: Can't compile with Python after 6.1.162.
7506 Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp)
7507 Files: src/if_python.c
7510 Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is
7511 changed to "xxd" anyway.
7512 Solution: Don't change 'filetype' when conversion failed.
7513 Files: runtime/menu.vim
7516 Problem: Making changes in several lines and then a change in one of these
7517 lines that splits it in two or more lines, undo information was
7518 corrupted. May cause a crash. (Dave Fishburn)
7519 Solution: When skipping to save a line for undo because it was already
7520 saved, move it to become the last saved line, so that when the
7521 command changes the line count other saved lines are not involved.
7525 Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting
7526 with CTRL-V just after auto-indenting removes the indent. (Shlomi
7528 Solution: First insert an "x" and delete it again, so that the auto-indent
7530 Files: runtime/mswin.vim
7533 Problem: When giving a negative argument to ":retab" strange things start
7534 happening. (Hans Ginzel)
7535 Solution: Check for a negative value.
7536 Files: src/ex_cmds.c
7539 Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt.
7540 Solution: Make CTRL-C stop the hit-enter prompt.
7541 Files: src/message.c
7544 Problem: bufexists() finds a buffer by using the name of a symbolic link to
7545 it, but bufnr() doesn't. (Yegappan Lakshmanan)
7546 Solution: When bufnr() can't find a buffer, try using the same method as
7551 Problem: Using ":mksession" uses the default session file name, but "vim
7552 -S" doesn't. (Hans Ginzel)
7553 Solution: Use the default session file name if "-S" is the last command
7554 line argument or another option follows.
7555 Files: runtime/doc/starting.txt, src/main.c
7558 Problem: When opening a line just above a closed fold with "O" and the
7559 comment leader is automatically inserted, the cursor is displayed
7560 in the first column. (Sung-Hyun Nam)
7561 Solution: Update the flag that indicates the cursor is in a closed fold.
7565 Problem: Command line completion of ":tag /pat" does not show the same
7566 results as the tags the command actually finds. (Gilles Roy)
7567 Solution: Don't modify the pattern to make it a regexp.
7568 Files: src/ex_getln.c, src/tag.c
7571 Problem: When using remote control to edit a position in a file and this
7572 file is the current buffer and it's modified, the window is split
7573 and the ":drop" command fails.
7574 Solution: Don't split the window, keep editing the same buffer.
7575 Use the ":drop" command in VisVim to avoid the problem there.
7576 Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
7580 Problem: It is difficult to know in a script whether an option not only
7581 exists but really works.
7582 Solution: Add "exists('+option')".
7583 Files: runtime/doc/eval.txt, src/eval.c
7586 Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim
7587 will hang. (Piet Delport)
7588 Solution: Don't keep reading characters to clear typeahead when an interrupt
7589 was detected, stop when a single CTRL-C is read.
7590 Files: src/getchar.c, src/ui.c
7593 Problem: When the stack limit is very big a false out-of-stack error may
7595 Solution: Add a check for overflow of the stack limit computation. (Jim
7597 Files: src/os_unix.c
7599 Patch 6.1.177 (depends on 6.1.141)
7600 Problem: ":wincmd" does not allow a following command. (Gary Johnson)
7601 Solution: Check for a following " | cmd". Also give an error for trailing
7603 Files: src/ex_docmd.c
7606 Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab.
7608 Solution: Replace with a literal Tab.
7611 Patch 6.1.179 (depends on 6.1.091)
7612 Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin)
7613 Solution: Include the missing definitions.
7617 Problem: Use of the GUI code for forking is inconsistent.
7618 Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer)
7622 Problem: If the terminal doesn't wrap from the last char in a line to the
7623 next line, the last column is blanked out. (Peter Karp)
7624 Solution: Don't output a space to mark the wrap, but the same character
7628 Patch 6.1.182 (depends on 6.1.142)
7629 Problem: It is not possible to auto-format comments only. (Moshe Kaminsky)
7630 Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format
7632 Files: runtime/doc/change.txt, src/edit.c
7635 Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with
7636 illegal bytes gives "CONVERSION ERROR" even though no conversion
7637 is done. 'readonly' is set, even though writing the file results
7638 in an unmodified file.
7639 Solution: For this specific error use "ILLEGAL BYTE" and don't set
7643 Patch 6.1.184 (extra)
7644 Problem: The extra mouse buttons found on some mice don't work.
7645 Solution: Support two extra buttons for MS-Windows. (Michael Geddes)
7646 Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c,
7647 src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c,
7648 src/misc1.c, src/misc2.c, src/normal.c, src/vim.h
7650 Patch 6.1.185 (depends on 6.1.182)
7651 Problem: Can't compile without +comments feature.
7652 Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson)
7655 Patch 6.1.186 (depends on 6.1.177)
7656 Problem: ":wincmd" does not allow a following comment. (Aric Blumer)
7657 Solution: Check for a following double quote.
7658 Files: src/ex_docmd.c
7661 Problem: Using ":doarg" with 'hidden' set and the current file is the only
7662 argument and was modified gives an error message. (Preben
7664 Solution: Don't try re-editing the same file.
7665 Files: src/ex_cmds2.c
7667 Patch 6.1.188 (depends on 6.1.173)
7668 Problem: Unused variable in the small version.
7669 Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS.
7670 Files: src/ex_cmds2.c
7673 Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric
7675 Solution: Fall back to the input() function in this situation.
7678 Patch 6.1.190 (extra)
7679 Problem: VMS: doesn't build with GTK GUI. Various other problems.
7680 Solution: Fix building for GTK. Improved Perl, Python and TCL support.
7681 Improved VMS documentation. (Zoltan Arpadffy)
7682 Added Vimtutor for VMS (T. R. Wyant)
7683 Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h,
7684 src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms,
7685 src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com,
7686 src/testdir/Make_vms.mms
7689 Problem: When using "vim -s script" and redirecting the output, the delay
7690 for the "Output is not to a terminal" warning slows Vim down too
7692 Solution: Don't delay when reading commands from a script.
7696 Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson)
7697 Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used.
7698 Files: src/diff.c, src/main.c
7701 Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave
7703 Solution: Check for a negative syntax id, used for keywords.
7707 Problem: When "t_ti" is set but it doesn't cause swapping terminal pages,
7708 "ZZ" may cause the shell prompt to appear on top of the file-write
7710 Solution: Scroll the text up in the Vim page before swapping to the terminal
7711 page. (Michael Schroeder)
7712 Files: src/os_unix.c
7715 Problem: The quickfix and preview windows always keep their height, while
7716 other windows can't fix their height.
7717 Solution: Add the 'winfixheight' option, so that a fixed height can be
7718 specified for any window. Also fix that the wildmenu may resize a
7719 one-line window to a two-line window if 'ls' is zero.
7720 Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c,
7721 src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c,
7722 src/screen.c, src/structs.h, src/window.c
7724 Patch 6.1.196 (depends on 6.1.084)
7725 Problem: On Mac OS X 10.2 generating osdef.h fails.
7726 Solution: Add -no-cpp-precomp to avoid using precompiled header files, which
7727 disables printing the search path. (Ben Fowler)
7728 Files: src/auto/configure, src/configure.in
7731 Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an
7732 error message. (Servatius Brandt)
7733 Solution: Double the backslash in "CTRL-\".
7734 Files: src/ex_cmds.c
7736 Patch 6.1.198 (extra) (depends on 6.1.076)
7737 Problem: Mac OS X: Dialogues don't work.
7738 Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when
7739 saving to a new file from the GUI. (Peter Cucka)
7740 Files: src/feature.h, src/gui_mac.c
7743 Problem: 'guifontwide' doesn't work on Win32.
7744 Solution: Output each wide character separately. (Michael Geddes)
7748 Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make
7749 syntax highlighting very slow.
7750 Solution: Check "eap->skip" appropriately. (Rob West)
7753 Patch 6.1.201 (depends on 6.1.192)
7754 Problem: Warning for illegal pointer combination. (Zoltan Arpadffy)
7755 Solution: Add a typecast.
7758 Patch 6.1.202 (extra)(depends on 6.1.148)
7759 Problem: Win32: filewritable() doesn't work properly on directories.
7760 Solution: fix filewritable(). (Mike Williams)
7761 Files: src/os_win32.c
7764 Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway)
7765 Solution: Avoid reading past the end of a line when "~" is empty.
7768 Patch 6.1.204 (depends on 6.1.129)
7769 Problem: Warning for an illegal pointer on Solaris.
7770 Solution: Add a typecast. (Derek Wyatt)
7774 Problem: The gzip plugin changes the alternate file when editing a
7775 compressed file. (Oliver Fuchs)
7776 Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'.
7777 Files: runtime/plugin/gzip.vim
7780 Problem: The script generated with ":mksession" doesn't work properly when
7781 some commands are mapped.
7782 Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where
7783 possible. (Muraoka Taro)
7784 Files: src/ex_docmd.c, src/fold.c
7787 Problem: Indenting a Java file hangs below a line with a comment after a
7789 Solution: Break out of a loop. (Andre Pang)
7790 Also line up } with matching {.
7791 Files: runtime/indent/java.vim
7794 Problem: Can't use the buffer number from the Python interface.
7795 Solution: Add buffer.number. (Michal Vitecek)
7796 Files: src/if_python.c
7799 Problem: Printing doesn't work on Mac OS classic.
7800 Solution: Use a ":" for path separator when opening the resource file. (Axel
7802 Files: src/ex_cmds2.c
7805 Problem: When there is an iconv() conversion error when reading a file
7806 there can be an error the next time iconv() is used.
7807 Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto)
7811 Problem: The message "use ! to override" is confusing.
7812 Solution: Make it "add ! to override".
7813 Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c,
7817 Problem: When Vim was started with "-R" ":new" creates a buffer
7818 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg)
7819 Solution: Don't set 'readonly in a new empty buffer for ":enew".
7820 Files: src/ex_docmd.c
7823 Problem: Using CTRL-W H may cause a big gap to appear below the last
7824 window. (Aric Blumer)
7825 Solution: Don't set the window height when there is a vertical split.
7826 (Yasuhiro Matsumoto)
7830 Problem: When installing Vim and the runtime files were checked out from
7831 CVS the CVS directories will also be installed.
7832 Solution: Avoid installing the CVS dirs and their contents.
7836 Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set.
7838 Solution: Adjust backslashes before printing the message.
7839 Files: src/ex_docmd.c
7842 Problem: When dynamically loading the iconv library, the error codes may be
7844 Solution: Use specific error codes for iconv and redefine them for dynamic
7845 loading. (Yasuhiro Matsumoto)
7846 Files: src/fileio.c, src/mbyte.c, src/vim.h
7849 Problem: When sourcing the same Vim script using a different name (symbolic
7850 link or MS-Windows 8.3 name) it is listed twice with
7851 ":scriptnames". (Tony Mechelynck)
7852 Solution: Turn the script name into a full path before using it. On Unix
7853 compare inode/device numbers.
7854 Files: src/ex_cmds2.c
7857 Problem: No error message for using the function argument "5+". (Servatius
7859 Solution: Give an error message if a function or variable is expected but is
7864 Problem: When using ":amenu :b 1<CR>" with a Visual selection and
7865 'insertmode' is set, Vim does not return to Insert mode. (Mickael
7867 Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if
7868 'insertmode' is set and to Normal mode otherwise. Append this to
7869 menus defined with ":amenu".
7870 Files: src/edit.c, src/ex_getln.c, src/normal.c
7873 Problem: When using a BufReadPost autocommand that changes the line count,
7874 e.g., "$-1join", reloading a file that was changed outside Vim
7875 does not work properly. (Alan G Isaac)
7876 Solution: Make the buffer empty before reading the new version of the file.
7877 Save the lines in a dummy buffer, so that they can be put back
7878 when reading the file fails.
7879 Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h,
7880 src/proto/buffer.pro
7883 Problem: Changing case may not work properly, depending on the current
7885 Solution: Add the 'casemap' option to let the user chose how changing case
7887 Also fix lowering case when an UTF-8 character doesn't keep the
7889 Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure,
7890 src/buffer.c, src/charset.c, src/config.h.in, src/configure.in,
7891 src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
7892 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c
7893 src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc,
7894 src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c,
7895 src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c,
7896 src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h,
7899 Patch 6.1.222 (depends on 6.1.219)
7900 Problem: Patch 6.1.219 was incomplete.
7901 Solution: Add the changes for ":amenu".
7904 Patch 6.1.223 (extra)
7905 Problem: Win32: When IME is activated 'iminsert' is set, but it might never
7906 be reset when IME is disabled. (Muraoka Taro)
7907 All systems: 'iminsert' is set to 2 when leaving Insert mode, even
7908 when langmap is being used. (Peter Valach)
7909 Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro)
7910 Don't store the status of the input method in 'iminsert' when
7911 'iminsert' is one. Also for editing the command line and for
7912 arguments to Normal mode commands.
7913 Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c
7916 Problem: "expand('$VAR')" returns an empty string when the expanded $VAR
7917 is not an existing file. (Aric Blumer)
7918 Solution: Included non-existing files, as documented.
7922 Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u
7923 NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses
7924 fileinfo(), the redraw is done after a delay to give the user time
7925 to read the message.
7926 Solution: Put the message from fileio() in "keep_msg", so that the redraw is
7927 done before the delay (still needed to avoid the mode message
7928 overwrites the fileinfo() message).
7932 Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin
7934 Solution: Save the typeahead buffer when obtaining a debug command.
7935 Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro
7938 Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf
7939 = 5" does not give an error message. (Mikolaj Machowski)
7940 Solution: Check for a ":" inside the variable name.
7943 Patch 6.1.228 (extra)
7944 Problem: Win32: The special output function for Hangul is used too often,
7945 causing special handling for other situations to be skipped.
7946 bInComposition is always FALSE, causing ImeGetTempComposition()
7947 always to return NULL.
7948 Solution: Remove HanExtTextOut(). Delete the dead code around
7949 bInComposition and ImeGetTempComposition().
7950 Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
7953 Problem: Win32: Conversion to/from often used codepages requires the iconv
7954 library, which is not always available.
7955 Solution: Use standard MS-Windows functions for the conversion when
7956 possible. (mostly by Glenn Maynard)
7957 Also fixes missing declaration for patch 6.1.220.
7960 Patch 6.1.230 (extra)
7961 Problem: Win16: building doesn't work.
7962 Solution: Exclude the XBUTTON handling. (Vince Negri)
7963 Files: src/gui_w48.c
7966 Problem: Double clicking with the mouse to select a word does not work for
7967 multi-byte characters.
7968 Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
7969 is used instead of 'isident'. Also fix that mixing ASCII with
7970 multi-byte word characters doesn't work, the mouse class for
7971 punctuation and word characters was mixed up.
7974 Patch 6.1.232 (depends on 6.1.226)
7975 Problem: Using ex_normal_busy while it might not be available. (Axel
7977 Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined.
7978 Files: src/ex_cmds2.c
7981 Problem: ":help expr-||" does not work.
7982 Solution: Don't use the '|' as a command separator
7983 Files: src/ex_cmds.c
7985 Patch 6.1.234 (depends on 6.1.217)
7986 Problem: Get a warning for using a negative value for st_dev.
7987 Solution: Don't assign a negative value to st_dev.
7988 Files: src/ex_cmds2.c
7990 Patch 6.1.235 (depends on 6.1.223)
7991 Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter
7993 Solution: Check "State" before resetting it to NORMAL.
7997 Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and
7998 when reloading a changed buffer.
7999 Solution: Free a line after calling ml_append().
8000 Files: src/diff.c, src/fileio.c
8003 Problem: Putting in Visual block mode does not work correctly when "$" was
8004 used or when the first line is short. (Christian Michon)
8005 Solution: First delete the selected text and then put the new text. Save
8006 and restore registers as necessary.
8007 Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro,
8010 Patch 6.1.238 (extra)
8011 Problem: Win32: The "icon=" argument for the ":menu" command does not
8012 search for the bitmap file.
8013 Solution: Expand environment variables and search for the bitmap file.
8015 Make it consistent, use the same mechanism for X11 and GTK.
8016 Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c,
8020 Problem: Giving an error for missing :endif or :endwhile when being
8022 Solution: Don't give these messages when interrupted.
8023 Files: src/ex_docmd.c, src/os_unix.c
8025 Patch 6.1.240 (extra)
8026 Problem: Win32 with BCC 5: CPU may be defined in the environment, which
8027 causes a wrong argument for the compiler. (Walter Briscoe)
8028 Solution: Use CPUNR instead of CPU.
8029 Files: src/Make_bc5.mak
8032 Problem: Something goes wrong when drawing or undrawing the cursor.
8033 Solution: Remember when the cursor invalid in a better way.
8037 Problem: When pasting a large number of lines on the command line it is not
8038 possible to interrupt. (Jean Jordaan)
8039 Solution: Check for an interrupt after each pasted line.
8042 Patch 6.1.243 (extra)
8043 Problem: Win32: When the OLE version is started and wasn't registered, a
8044 message pops up to suggest registering, even when this isn't
8045 possible (when the registry is not writable).
8046 Solution: Check if registering is possible before asking whether it should
8047 be done. (Walter Briscoe)
8048 Also avoid restarting Vim after registering.
8049 Files: src/if_ole.cpp
8052 Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg)
8053 Solution: Include it here.
8057 Problem: Comparing with ignored case does not work properly for Unicode
8058 with a locale where case folding an ASCII character results in a
8059 multi-byte character. (Glenn Maynard)
8060 Solution: Handle ignore-case compare for Unicode differently.
8064 Problem: ":blast" goes to the first buffer if the last one is unlisted.
8066 Solution: From the last buffer search backwards for the first listed buffer
8067 instead of forwards.
8068 Files: src/ex_docmd.c
8071 Problem: ACL support doesn't always work properly.
8072 Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry
8074 Files: src/auto/configure, src/configure.in
8077 Problem: Typing 'q' at the more-prompt for ":let" does not quit the
8078 listing. (Hari Krishna Dara)
8079 Solution: Quit the listing when got_int is set.
8083 Problem: Can't expand a path on the command line if it includes a "|" as a
8084 trail byte of a multi-byte character.
8085 Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
8086 Files: src/ex_docmd.c
8089 Problem: When changing the value of 'lines' inside the expression set with
8090 'diffexpr' Vim might crash. (Dave Fishburn)
8091 Solution: Don't allow changing the screen size while updating the screen.
8092 Files: src/globals.h, src/option.c, src/screen.c
8095 Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd".
8096 Solution: Expand directory names for these commands. (Servatius Brandt)
8097 Files: src/ex_docmd.c
8100 Problem: "vi}" does not include a line break when the "}" is at the start
8101 of a following line. (Kamil Burzynski)
8102 Solution: Include the line break.
8105 Patch 6.1.253 (extra)
8106 Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way.
8108 Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version.
8109 Update the Cygwin makefile to support more features. (Dan Sharp)
8110 Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c
8113 Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work.
8114 ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work.
8115 ":delfunc F{" does not give an error message. ':delfunc F{"F"}'
8117 Solution: Support magic braces for the exists() argument. (Vince Negri)
8118 Check for trailing comments explicitly for ":unlet". Add support
8119 for magic braces in further arguments of ":let". Look for a
8120 parenthesis only after the function name. (Servatius Brandt)
8121 Also expand magic braces for "exists('*expr')". Give an error
8122 message for an invalid ":delfunc" argument. Allow quotes in the
8123 ":delfunc" argument.
8124 Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c
8126 Patch 6.1.255 (depends on 6.1.254)
8127 Problem: Crash when loading menu.vim a second time. (Christian Robinson)
8128 ":unlet garbage foo" tries unletting "foo" after an error message.
8130 Very long function arguments cause very long messages when
8131 'verbose' is 14 or higher.
8132 Solution: Avoid reading from uninitialized memory.
8133 Break out of a loop after an invalid argument for ":unlet".
8134 Truncate long function arguments to 80 characters.
8137 Patch 6.1.256 (depends on 6.1.255)
8138 Problem: Defining a function after ":if 0" could still cause an error
8139 message for an existing function.
8140 Leaking memory when there are trailing characters for ":delfunc".
8141 Solution: Check the "skip" flag. Free the memory. (Servatius Brandt)
8145 Problem: ":cwindow" always sets the previous window to the last but one
8146 window. (Benji Fisher)
8147 Solution: Set the previous window properly.
8148 Files: src/globals.c, src/quickfix.c, src/window.c
8151 Problem: Buffers menu doesn't work properly for multibyte buffer names.
8152 Solution: Use a pattern to get the left and right part of the name.
8153 (Yasuhiro Matsumoto)
8154 Files: runtime/menu.vim
8156 Patch 6.1.259 (extra)
8157 Problem: Mac: with 'patchmode' is used filenames are truncated.
8158 Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston)
8161 Patch 6.1.260 (depends on 6.1.104)
8162 Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El)
8163 Solution: Use the same configure check as used for GCC 3.1.
8164 Files: src/auto/configure, src/configure.in
8167 Problem: When deleting a line in a buffer which is not the current buffer,
8168 using the Perl interface Delete(), the cursor in the current
8169 window may move. (Chris Houser)
8170 Solution: Don't adjust the cursor position when changing another buffer.
8171 Files: src/if_perl.xs
8174 Problem: When jumping over folds with "z[", "zj" and "zk" the previous
8175 position is not remembered. (Hari Krishna Dara)
8176 Solution: Set the previous context mark before jumping.
8180 Problem: When typing a multi-byte character that triggers an abbreviation
8181 it is not inserted properly.
8182 Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
8183 Files: src/getchar.c
8185 Patch 6.1.264 (depends on patch 6.1.254)
8186 Problem: exists() does not work for built-in functions. (Steve Wall)
8187 Solution: Don't check for the function name to start with a capital.
8191 Problem: libcall() can be used in 'foldexpr' to call any system function.
8192 rename(), delete() and remote_send() can also be used in
8193 'foldexpr'. These are security problems. (Georgi Guninski)
8194 Solution: Don't allow using libcall(), rename(), delete(), remote_send() and
8195 similar functions in the sandbox.
8198 Patch 6.1.266 (depends on 6.1.265)
8199 Problem: Win32: compile error in eval.c. (Bill McCarthy)
8200 Solution: Move a variable declaration.
8204 Problem: Using "p" to paste into a Visual selected area may cause a crash.
8205 Solution: Allocate enough memory for saving the register contents. (Muraoka
8210 Problem: When triggering an abbreviation with a multi-byte character, this
8211 character is not correctly inserted after expanding the
8212 abbreviation. (Taro Muraoka)
8213 Solution: Add ABBR_OFF to all characters above 0xff.
8214 Files: src/edit.c, src/ex_getln.c, src/getchar.c
8217 Problem: After using input() text written with ":redir" gets extra indent.
8219 Solution: Restore msg_col after using input().
8220 Files: src/ex_getln.c
8222 Patch 6.1.270 (depends on 6.1.260)
8223 Problem: GCC 3.2.1 still seems to have an optimizer problem.
8224 Solution: Use the same configure check as used for GCC 3.1.
8225 Files: src/auto/configure, src/configure.in
8228 Problem: When compiling without the +syntax feature there are errors.
8229 Solution: Don't use some code for syntax highlighting. (Roger Cornelius)
8230 Make test 45 work without syntax highlighting.
8231 Also fix an error in a pattern matching: "\%(" was not supported.
8232 Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in
8235 Problem: After using ":set define<" a crash may happen. (Christian Robinson)
8236 Solution: Make a copy of the option value in allocated memory.
8240 Problem: When the cursor doesn't blink, redrawing an exposed area may hide
8242 Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro)
8245 Patch 6.1.274 (depends on 6.1.210)
8246 Problem: Resetting the iconv() state after each error is wrong for an
8247 incomplete sequence.
8248 Solution: Don't reset the iconv() state.
8252 Problem: When using "v" in a startup script, get warning message that
8253 terminal cannot highlight. (Charles Campbell)
8254 Solution: Only give the message after the terminal has been initialized.
8258 Problem: "gvim --remote file" doesn't prompt for an encryption key.
8259 Solution: The further characters the client sends to the server are used.
8260 Added inputsave() and inputrestore() to allow prompting the
8261 user directly and not using typeahead.
8262 Also fix possible memory leak for ":normal".
8263 Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c,
8264 src/main.c, src/proto/getchar.pro, src/proto/ui.pro,
8265 src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h
8267 Patch 6.1.277 (depends on 6.1.276)
8268 Problem: Compilation error when building with small features.
8269 Solution: Define trash_input_buf() when needed. (Kelvin Lee)
8273 Problem: When using signs the line number of a closed fold doesn't line up
8274 with the other line numbers. (Kamil Burzynski)
8275 Solution: Insert two spaces for the sign column.
8279 Problem: The prototype for smsg() and smsg_attr() do not match the function
8280 definition. This may cause trouble for some compilers. (Nix)
8281 Solution: Use va_list for systems that have stdarg.h. Use "int" instead of
8282 "void" for the return type.
8283 Files: src/auto/configure, src/config.h.in, src/configure.in,
8284 src/proto.h, src/message.c
8287 Problem: It's possible to use an argument "firstline" or "lastline" for a
8288 function but using "a:firstline" or "a:lastline" in the function
8289 won't work. (Benji Fisher)
8290 Solution: Give an error message for these arguments.
8291 Also avoid that the following function body causes a whole row of
8292 errors, skip over it after an error in the first line.
8296 Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler.
8297 Solution: Set the cursor position before waiting for the argument of CTRL-G.
8298 (Yasuhiro Matsumoto)
8302 Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this.
8303 Solution: Also accept "se " where "set " is accepted in a modeline.
8304 (Yasuhiro Matsumoto)
8308 Problem: For ":sign" the icon file name cannot contain a space.
8309 Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto)
8310 Files: src/ex_cmds.c
8313 Problem: On Solaris there is a warning for "struct utimbuf".
8314 Solution: Move including "utime.h" to outside the function. (Derek Wyatt)
8318 Problem: Can't wipe out a buffer with 'bufhide' option.
8319 Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan)
8320 Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
8324 Problem: 'showbreak' cannot contain multi-byte characters.
8325 Solution: Allow using all printable characters for 'showbreak'.
8326 Files: src/charset.c, src/move.c, src/option.c
8328 Patch 6.1.287 (depends on 6.1.285)
8329 Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up.
8330 Solution: Wipe out when wiping out is asked for.
8334 Problem: ":silent function F" hangs. (Hari Krishna Dara)
8335 Solution: Don't use msg_col, it is not incremented when using ":silent".
8336 Also made the function output look a bit better. Don't translate
8340 Patch 6.1.289 (depends on 6.1.278)
8341 Problem: Compiler warning for pointer. (Axel Kielhorn)
8342 Solution: Add a typecast for " ".
8345 Patch 6.1.290 (extra)
8346 Problem: Truncating long text for message box may break multi-byte
8348 Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
8349 Files: src/os_mswin.c
8351 Patch 6.1.291 (extra)
8352 Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it.
8353 Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto)
8354 Files: src/gui_w48.c
8356 Patch 6.1.292 (extra, depends on 6.1.253)
8357 Problem: Win32: Can't compile with new MingW compiler.
8358 Borland 5 makefile doesn't generate pathdef.c.
8359 Solution: Remove -wwide-multiply argument. (Rene de Zwart)
8360 Various fixes for other problems in Win32 makefiles. (Dan Sharp)
8361 Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak,
8365 Problem: byte2line() returns a wrong result for some values.
8366 Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
8367 Add one to the line number when at the end of a block.
8368 Files: src/memline.c
8371 Problem: Can't include a multi-byte character in a string by its hex value.
8373 Solution: Add "\u....": a character specified with up to four hex numbers
8374 and stored according to the value of 'encoding'.
8377 Patch 6.1.295 (extra)
8378 Problem: Processing the cs.po file generates an error. (Rahul Agrawal)
8379 Solution: Fix the printf format characters in the translation.
8383 Problem: Win32: When cancelling the font dialog 'guifont' remains set to
8385 Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto)
8389 Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher)
8390 Solution: Before executing the BufReadPost autocommands save the current
8391 fileencoding, so that the file isn't marked changed.
8395 Problem: When using signs and the first line of a closed fold has a sign
8396 it can be redrawn as if the fold was open. (Kamil Burzynski)
8397 Solution: Don't redraw a sign inside a closed fold.
8401 Problem: ":edit +set\ ro file" doesn't work.
8402 Solution: Halve the number of backslashes in the "+cmd" argument.
8403 Files: src/ex_docmd.c
8405 Patch 6.1.300 (extra)
8406 Problem: Handling of ETO_IGNORELANGUAGE is confusing.
8407 Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard)
8408 Files: src/gui_w32.c
8410 Patch 6.1.301 (extra)
8411 Problem: French translation of file-save dialog doesn't show file name.
8412 Solution: Insert a star in the printf string. (Francois Terrot)
8416 Problem: Counting lines of the Visual area is incorrect for closed folds.
8418 Solution: Correct the start and end for the closed fold.
8421 Patch 6.1.303 (extra)
8422 Problem: The Top/Bottom/All text does not always fit in the ruler when
8423 translated to Japanese. Problem with a character being wider when
8425 Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro
8427 Files: src/gui_w32.c
8429 Patch 6.1.304 (extra, depends on 6.1.292)
8430 Problem: Win32: Postscript is always enabled in the MingW Makefile.
8431 Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro
8433 Solution: Change an ifdef to an ifeq. (Madoka Machitani)
8434 Use the Borland make redirection to generate pathdef.c. (Maurice
8436 Files: src/Make_bc5.mak, src/Make_ming.mak
8439 Problem: When 'verbose' is 14 or higher, a function call may cause reading
8440 uninitialized data. (Walter Briscoe)
8441 Solution: Check for end-of-string in trunc_string().
8442 Files: src/message.c
8445 Problem: The AIX VisualAge cc compiler doesn't define __STDC__.
8446 Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee)
8447 Files: src/os_unix.h
8450 Problem: When a double-byte character has an illegal tail byte the display
8451 is messed up. (Yasuhiro Matsumoto)
8452 Solution: Draw "XX" instead of the wrong character.
8456 Problem: Can't reset the Visual mode returned by visualmode().
8457 Solution: Use an optional argument to visualmode(). (Charles Campbell)
8458 Files: runtime/doc/eval.txt, src/eval.c, src/normal.c,
8462 Problem: The tutor doesn't select German if the locale name is
8463 "German_Germany.1252". (Joachim Hofmann)
8464 Solution: Check for "German" in the locale name. Also check for
8465 ".ge". And include the German and Greek tutors.
8466 Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim,
8467 runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737
8469 Patch 6.1.310 (depends on 6.1.307)
8470 Problem: All double-byte characters are displayed as "XX".
8471 Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto)
8474 Patch 6.1.311 (extra)
8475 Problem: VMS: path in window title doesn't include necessary separator.
8476 file version doesn't always work properly with Unix.
8477 Crashes because of memory overwrite in GUI.
8478 Didn't always handle files with lowercase and correct path.
8479 Solution: Fix the problems. Remove unnecessary file name translations.
8481 Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c,
8482 src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c
8485 Problem: When using ":silent" debugging is also done silently.
8486 Solution: Disable silence while at the debug prompt.
8487 Files: src/ex_cmds2.c
8490 Problem: When a ":drop fname" command is used and "fname" is open in
8491 another window, it is also opened in the current window.
8492 Solution: Change to the window with "fname" instead.
8493 Don't redefine the argument list when dropping only one file.
8494 Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c,
8495 src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro
8497 Patch 6.1.314 (depends on 6.1.126)
8498 Problem: Missing backslash in "Generic Config file" syntax menu.
8499 Solution: Insert the backslash. (Zak Beck)
8500 Files: runtime/makemenu.vim, runtime/synmenu.vim
8502 Patch 6.1.315 (extra)
8503 Problem: A very long hostname may lead to an unterminated string. Failing
8504 to obtain a hostname may result in garbage. (Walter Briscoe)
8505 Solution: Add a NUL at the end of the hostname buffer.
8506 Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c,
8510 Problem: When exiting with "wq" and there is a hidden buffer, after the
8511 "file changed" dialog there is a warning for a changed buffer.
8513 Solution: Do update the buffer timestamps when exiting.
8517 Problem: Closing a window may cause some of the remaining windows to be
8518 positioned wrong if there is a mix of horizontal and vertical
8519 splits. (Stefan Ingi Valdimarsson)
8520 Solution: Update the frame sizes before updating the window positions.
8524 Problem: auto/pathdef.c can include wrong quotes when a compiler flag
8526 Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida)
8529 Patch 6.1.319 (depends on 6.1.276)
8530 Problem: Using "--remote +cmd file" does not execute "cmd".
8531 Solution: Call inputrestore() in the same command line as inputsave(),
8532 otherwise it will never get executed.
8535 Patch 6.1.320 (depends on 6.1.313)
8536 Problem: When a ":drop one\ file" command is used the file "one\ file" is
8537 opened, the backslash is not removed. (Taro Muraoka)
8538 Solution: Handle backslashes correctly. Always set the argument list to
8540 Files: runtime/doc/windows.txt, src/ex_cmds.c
8543 Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual
8544 mode with the mouse.
8545 Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming
8549 Patch 6.1.322 (extra, depends on 6.1.315)
8550 Problem: Win32: The host name is always "PC " plus the real host name.
8551 Solution: Don't insert "PC " before the host name.
8552 Files: src/os_win32.c
8555 Problem: ":registers" doesn't stop listing for a "q" at the more prompt.
8557 Solution: Check for interrupt and got_int.
8558 Files: src/ops.c, src/proto/ops.pro
8561 Problem: Crash when dragging a vertical separator when <LeftMouse> is
8562 remapped to jump to another window.
8563 Solution: Pass the window pointer to the function doing the dragging instead
8564 of always using the current window. (Daniel Elstner)
8565 Also fix that starting a drag changes window focus.
8566 Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h,
8570 Problem: Shift-Tab is not automatically recognized in an xterm.
8571 Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott)
8575 Problem: Using a search pattern may read from uninitialized data (Yasuhiro
8577 Solution: Initialize pointers to NULL.
8581 Problem: When opening the "mbyte.txt" help file the utf-8 characters are
8582 unreadable, because the fileencoding is forced to be latin1.
8583 Solution: Check for utf-8 encoding first in help files. (Daniel Elstner)
8584 Files: runtime/doc/mbyte.txt, src/fileio.c
8587 Problem: Prototype for enc_canon_search() is missing.
8588 Solution: Add the prototype. (Walter Briscoe)
8592 Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %"
8593 does not work properly. (Hari Krishna Dara)
8594 Solution: Always escape spaces when expanding "%". Don't split argument for
8595 <f-args> in a user command when only one argument is used.
8596 Files: src/ex_docmd.c
8599 Problem: GTK, Motif and Athena: Keypad keys produce the same code as
8600 non-keypad keys, making it impossible to map them separately.
8601 Solution: Use different termcap codes for the keypad keys. (Neil Bird)
8602 Files: src/gui_gtk_x11.c, src/gui_x11.c
8605 Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks
8606 the spot where help files from plugins are to be listed.
8607 Solution: Add a "local-additions" tag and use that to find the right spot.
8608 Files: runtime/doc/help.txt, src/ex_cmds.c
8610 Patch 6.1.332 (extra)
8611 Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8.
8612 Perl 5.8 also does not work with Cygwin and Ming.
8613 Solution: Adjust the function calls. (Taro Muraoka)
8614 Adjust the cyg and ming makefiles. (Dan Sharp)
8615 Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
8618 Patch 6.1.333 (extra)
8619 Problem: Win32: Can't handle Unicode text on the clipboard.
8620 Can't pass NUL byte, it becomes a line break. (Bruce DeVisser)
8621 Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard)
8622 Also support copy/paste of NUL bytes.
8623 Files: src/os_mswin.c, src/os_win16.c src/os_win32.c
8625 Patch 6.1.334 (extra, depends on 6.1.303)
8626 Problem: Problem with drawing Hebrew characters.
8627 Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto)
8628 Files: src/gui_w32.c
8630 Patch 6.1.335 (extra)
8631 Problem: Failure of obtaining the cursor position and window size is
8633 Solution: Remove a semicolon after an "if". (Walter Briscoe)
8634 Files: src/gui_w32.c
8636 Patch 6.1.336 (extra)
8637 Problem: Warning for use of function prototypes of smsg().
8638 Solution: Define HAVE_STDARG_H. (Walter Briscoe)
8639 Files: src/os_win32.h
8642 Problem: When using "finish" in debug mode in function B() for ":call
8643 A(B())" does not stop after B() is finished.
8644 Solution: Increase debug_level while evaluating a function.
8645 Files: src/ex_docmd.c
8648 Problem: When using a menu that checks out the current file from Insert
8649 mode, there is no warning for the changed file until exiting
8650 Insert mode. (Srikanth Sankaran)
8651 Solution: Add a check for need_check_timestamps in the Insert mode loop.
8655 Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji
8657 Solution: Return "g:var" for global variables when that is what is being
8658 expanded. (Flemming Madsen)
8661 Patch 6.1.340 (extra, depends on 6.1.332)
8662 Problem: Win32: Can't compile the Perl interface with nmake.
8663 Solution: Don't compare the version number as a string but as a number.
8665 Files: src/Make_mvc.mak
8668 Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a
8669 double-wide character. For CTRL-R and CTRL-K in Insert mode the "
8670 or ? is not displayed.
8671 Solution: Draw the cursor in the next character cell. Display the " or ?
8672 over the right half of the double-wide character. (Yasuhiro
8673 Matsumoto) Also fix that cancelling a digraph doesn't redraw
8674 a double-byte character correctly.
8675 Files: src/edit.c, src/gui.c, src/mbyte.c
8677 Patch 6.1.342 (depends on 6.1.341)
8678 Problem: With 'rightleft' set typing "c" on a double-wide character causes
8679 the cursor to be displayed one cell to the left.
8680 Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto)
8683 Patch 6.1.343 (depends on 6.1.342)
8684 Problem: Cannot compile with the +multi_byte feature but without +rightleft.
8685 Cannot compile without the GUI.
8686 Solution: Fix the #ifdefs. (partly by Nam SungHyun)
8687 Files: src/gui.c, src/mbyte.c, src/ui.c
8690 Problem: When using ":silent filetype" the output is still put in the
8691 message history. (Hari Krishna Dara)
8692 Solution: Don't add messages in the history when ":silent" is used.
8693 Files: src/message.c
8695 Patch 6.1.345 (extra)
8696 Problem: Win32: 'imdisable' doesn't work.
8697 Solution: Make 'imdisable' work. (Yasuhiro Matsumoto)
8698 Files: src/gui_w32.c
8701 Problem: The scroll wheel can only scroll the current window.
8702 Solution: Make the scroll wheel scroll the window that the mouse points to.
8704 Files: src/edit.c, src/gui.c, src/normal.c, src/term.c
8707 Problem: When using cscope to list matching tags, the listed number is
8708 sometimes not equal to what cscope uses. (Vihren Milev)
8709 Solution: For cscope tags use only one table, don't give tags in the current
8710 file a higher priority.
8714 Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme
8715 <tab>" results in "zellner" instead of the first entry. (Anand
8717 Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen)
8718 Files: src/ex_getln.c
8721 Problem: "vim --serverlist" when no server was ever started gives an error
8722 message without "\n".
8723 "vim --serverlist" doesn't exit when the X server can't be
8724 contacted, it starts Vim unexpectedly. (Ricardo Signes)
8725 Solution: Don't give an error when no Vim server was ever started.
8726 Treat failing of opening the display equal to errors inside the
8727 remote*() functions. (Flemming Madsen)
8728 Files: src/if_xcmdsrv.c, src/main.c
8731 Problem: When entering a buffer with ":bnext" for the first time, using an
8732 autocommand to restore the last used cursor position doesn't work.
8734 Solution: Don't use the last known cursor position of the current Vim
8735 invocation if an autocommand changed the position.
8738 Patch 6.1.351 (depends on 6.1.349)
8739 Problem: Crash when starting Vim the first time in an X server. (John
8741 Solution: Don't call xFree() with a fixed string.
8742 Files: src/if_xcmdsrv.c
8744 Patch 6.1.352 (extra, depends on 6.1.345)
8745 Problem: Win32: Crash when setting "imdisable" in _vimrc.
8746 Solution: Don't call IME functions when imm32.dll was not loaded (yet).
8747 Also add typecasts to avoid Compiler warnings for
8748 ImmAssociateContext() argument.
8749 Files: src/gui_w32.c
8751 Patch 6.1.353 (extra, depends on 6.1.334)
8752 Problem: Problem with drawing Arabic characters.
8753 Solution: Don't use ETO_PDY, do use padding.
8754 Files: src/gui_w32.c
8756 Patch 6.1.354 (extra, depends on 6.1.333)
8757 Problem: MS-Windows 98: Notepad can't paste text copied from Vim when
8758 'encoding' is "utf-8".
8759 Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron)
8760 Files: src/os_mswin.c
8763 Problem: In a regexp '\n' will never match anything in a string.
8764 Solution: Make '\n' match a newline character.
8765 Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c,
8766 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c,
8767 src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c,
8768 src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h
8770 Patch 6.1.356 (extra, depends on, well, eh, several others)
8771 Problem: Compiler warnings for using convert_setup() and a few other
8773 Solution: Add typecasts.
8774 Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c
8777 Problem: CR in the quickfix window jumps to the error under the cursor, but
8778 this doesn't work in Insert mode. (Srikanth Sankaran)
8779 Solution: Handle CR in Insert mode in the quickfix window.
8783 Problem: The tutor doesn't select another locale version properly.
8784 Solution: Insert the "let" command. (Yasuhiro Matsumoto)
8785 Files: runtime/tutor/tutor.vim
8787 Patch 6.1.359 (extra)
8788 Problem: Mac Carbon: Vim doesn't get focus when started from the command
8789 line. Crash when using horizontal scroll bar.
8790 Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
8791 Files: src/gui_mac.c
8793 Patch 6.1.360 (depends on 6.1.341)
8794 Problem: In Insert mode CTRL-K ESC messes up a multi-byte character.
8796 Solution: Save all bytes of a character when displaying a character
8798 Files: src/edit.c, src/proto/screen.pro, src/screen.c
8801 Problem: Cannot jump to a file mark with ":'M".
8802 Solution: Allow jumping to another file for a mark in an Ex address when it
8803 is the only thing in the command line.
8804 Files: src/ex_docmd.c
8807 Problem: tgetent() may return zero for success. tgetflag() may return -1
8809 Solution: Check tgetflag() for returning a positive value. Add an autoconf
8810 check for the value that tgetent() returns.
8811 Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c
8814 Problem: byte2line() can return one more than the number of lines.
8815 Solution: Return -1 if the offset is one byte past the end.
8816 Files: src/memline.c
8819 Problem: That the FileChangedShell autocommand event never nests makes it
8820 difficult to reload a file in a normal way.
8821 Solution: Allow nesting for the FileChangedShell event but do not allow
8822 triggering itself again.
8823 Also avoid autocommands for the cmdline window in rare cases.
8824 Files: src/ex_getln.c, src/fileio.c, src/window.c
8826 Patch 6.1.365 (depends on 6.1.217)
8827 Problem: Setting a breakpoint in a sourced file with a relative path name
8828 doesn't work. (Servatius Brandt)
8829 Solution: Expand the file name to a full path.
8830 Files: src/ex_cmds2.c
8833 Problem: Can't use Vim with Netbeans.
8834 Solution: Add the Netbeans interface. Includes support for sign icons and
8835 "-fg" and "-bg" arguments for GTK. Add the 'autochdir'
8836 option. (Gordon Prieur, George Hernandez, Dave Weatherford)
8837 Make it possible to display both a sign with a text and one with
8838 line highlighting in the same line.
8839 Add support for Agide, interface version 2.1.
8840 Also fix that when 'iskeyword' includes '?' the "*" command
8841 doesn't work properly on a word that includes "?" (Bill McCarthy):
8842 Don't escape "?" to "\?" when searching forward.
8843 Files: runtime/doc/Makefile, runtime/doc/netbeans.txt,
8844 runtime/doc/options.txt, runtime/doc/various.txt,
8845 src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in,
8846 src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c,
8847 src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h,
8848 src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c,
8849 src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c,
8850 src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c,
8851 src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro,
8852 src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro,
8853 src/proto/gui_x11.pro, src/proto/misc2.pro,
8854 src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro,
8855 src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c,
8856 src/vim.h, src/window.c, src/workshop.c
8858 Patch 6.1.367 (depends on 6.1.365)
8859 Problem: Setting a breakpoint in a function doesn't work. For a sourced
8860 file it doesn't work when symbolic links are involved. (Servatius
8862 Solution: Expand the file name in the same way as do_source() does. Don't
8863 prepend the path to a function name.
8864 Files: src/ex_cmds2.c
8867 Problem: Completion for ":map" does not include <silent> and <script>.
8868 ":mkexrc" do not save the <silent> attribute of mappings.
8869 Solution: Add "<silent>" to the generated map commands when appropriate.
8871 Add <silent> and <script> to command line completion.
8872 Files: src/getchar.c
8874 Patch 6.1.369 (extra)
8875 Problem: VMS: Vim hangs when attempting to edit a read-only file in the
8876 terminal. Problem with VMS filenames for quickfix.
8877 Solution: Rewrite low level input. Remove version number from file name in
8878 a couple more places. Fix crash after patch 6.1.362. Correct
8879 return code for system(). (Zoltan Arpadffy, Tomas Stehlik)
8880 Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro,
8881 src/os_vms_conf.h, src/quickfix.c, src/ui.c
8884 Problem: #ifdef nesting is unclear.
8885 Solution: Insert spaces to indicate the nesting.
8886 Files: src/os_unix.c
8889 Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line.
8890 Solution: Add one to the column when comparing with virtual column (Andrew
8895 Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe)
8896 Solution: Change int into long.
8897 Files: src/structs.h, src/syntax.c
8900 Problem: The default page header for printing is not translated.
8901 Solution: Add _() around the two places where "Page" is used. (Mike
8902 Williams) Translate the default value of the 'titleold' and
8903 'printheader' options.
8904 Files: src/ex_cmds2.c, src/option.c
8906 Patch 6.1.374 (extra)
8907 Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin.
8908 Solution: Add makefile and modified resource files. (Rene de Zwart)
8909 Also support Cygwin. (Alejandro Lopez_Valencia)
8910 Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile,
8911 GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc
8914 Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces.
8916 Solution: Don't insert backslashes for spaces in a shell command.
8917 Files: src/ex_docmd.c
8920 Problem: "vim --version" and "vim --help" have a non-zero exit code.
8921 That is unusual. (Petesea)
8922 Solution: Use a zero exit code.
8926 Problem: Can't add words to 'lispwords' option.
8927 Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser)
8931 Problem: When two buffer-local user commands are ambiguous, a full match
8932 with a global user command isn't found. (Hari Krishna Dara)
8933 Solution: Detect this situation and accept the global command.
8934 Files: src/ex_docmd.c
8937 Problem: Linux with kernel 2.2 can't use the alternate stack in combination
8938 with threading, causes an infinite loop.
8939 Solution: Don't use the alternate stack in this situation.
8940 Files: src/os_unix.c
8943 Problem: When 'winminheight' is zero and the quickfix window is zero lines,
8944 entering the window doesn't make it higher. (Christian J.
8946 Solution: Make sure the current window is at least one line high.
8950 Problem: When a BufWriteCmd is used and it leaves the buffer modified, the
8951 window may still be closed. (Hari Krishna Dara)
8952 Solution: Return FAIL from buf_write() when the buffer is still modified
8953 after a BufWriteCmd autocommand was used.
8956 Patch 6.1.382 (extra)
8957 Problem: Win32 GUI: When using two monitors, the code that checks/fixes the
8958 window size and position (e.g. when a font changes) doesn't work
8959 properly. (George Reilly)
8960 Solution: Handle a double monitor situation. (Helmut Stiegler)
8961 Files: src/gui_w32.c
8964 Problem: The filling of the status line doesn't work properly for
8965 multi-byte characters. (Nam SungHyun)
8966 There is no check for going past the end of the buffer.
8967 Solution: Properly distinguish characters and bytes. Properly check for
8968 running out of buffer space.
8969 Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c
8972 Problem: It is not possible to find if a certain patch has been included.
8974 Solution: Support using has() to check if a patch was included.
8975 Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
8978 Patch 6.1.385 (depends on 6.1.383)
8979 Problem: Can't compile without the multi-byte feature.
8980 Solution: Move an #ifdef. (Christian J. Robinson)
8984 Problem: Get duplicate tags when running ":helptags".
8985 Solution: Do the other halve of moving a section to another help file.
8986 Files: runtime/tagsrch.txt
8988 Patch 6.1.387 (depends on 6.1.373)
8989 Problem: Compiler warning for pointer cast.
8990 Solution: Add (char_u *).
8993 Patch 6.1.388 (depends on 6.1.384)
8994 Problem: Compiler warning for pointer cast.
8995 Solution: Add (char *). Only include has_patch() when used.
8996 Files: src/eval.c, src/version.c
8998 Patch 6.1.389 (depends on 6.1.366)
8999 Problem: Balloon evaluation doesn't work for GTK.
9000 has("balloon_eval") doesn't work.
9001 Solution: Add balloon evaluation for GTK. Also improve displaying of signs.
9003 Also make ":gui" start the netbeans connection and avoid using
9004 netbeans functions when the connection is not open.
9005 Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h,
9006 src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c,
9007 src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c,
9008 src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro,
9009 src/structs.h, src/syntax.c, src/ui.c, src/workshop.c
9011 Patch 6.1.390 (depends on 6.1.389)
9012 Problem: It's not possible to tell Vim to save and exit through the
9013 Netbeans interface. Would still try to send balloon eval text
9014 after the connection is closed.
9015 Can't use Unicode characters for sign text.
9016 Solution: Add functions "saveAndExit" and "getModified". Check for a
9017 working connection before sending a balloonText event.
9018 various other cleanups.
9019 Support any character for sign text. (Daniel Elstner)
9020 Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c,
9021 src/netbeans.c, src/screen.c
9024 Problem: ml_get() error when using virtualedit. (Charles Campbell)
9025 Solution: Get a line from a specific window, not the current one.
9026 Files: src/charset.c
9028 Patch 6.1.392 (depends on 6.1.383)
9029 Problem: Highlighting in the 'statusline' is in the wrong position when an
9030 item is truncated. (Zak Beck)
9031 Solution: Correct the start of 'statusline' items properly for a truncated
9036 Problem: When compiled with Python and threads, detaching the terminal may
9037 cause Vim to loop forever.
9038 Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel
9040 Files: src/auto/configure,, src/configure.in
9042 Patch 6.1.394 (depends on 6.1.390)
9043 Problem: The netbeans interface doesn't recognize multibyte glyph names.
9044 Solution: Check the number of cells rather than bytes to decide
9045 whether a glyph name is not a filename. (Daniel Elstner)
9046 Files: src/netbeans.c
9048 Patch 6.1.395 (extra, depends on 6.1.369)
9049 Problem: VMS: OLD_VMS is never defined. Missing function prototype.
9050 Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to
9051 os_vms.pro. (Zoltan Arpadffy)
9052 Files: src/Make_vms.mms, src/proto/os_vms.pro
9054 Patch 6.1.396 (depends on 6.1.330)
9055 Problem: Compiler warnings for using enum.
9056 Solution: Add typecast to char_u.
9057 Files: src/gui_gtk_x11.c, src/gui_x11.c
9059 Patch 6.1.397 (extra)
9060 Problem: The install program may use a wrong path for the diff command if
9061 there is a space in the install directory path.
9062 Solution: Use double quotes around the path if necessary. (Alejandro
9063 Lopez-Valencia) Also use double quotes around the file name
9065 Files: src/dosinst.c
9068 Problem: Saving the typeahead for debug mode causes trouble for a test
9069 script. (Servatius Brandt)
9070 Solution: Add the ":debuggreedy" command to avoid saving the typeahead.
9071 Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c,
9072 src/ex_docmd.c, src/proto/ex_cmds2.pro
9075 Problem: Warning for unused variable.
9076 Solution: Remove the variable two_or_more.
9077 Files: src/ex_cmds.c
9079 Patch 6.1.400 (depends on 6.1.381)
9080 Problem: When a BufWriteCmd wipes out the buffer it may still be accessed.
9081 Solution: Don't try accessing a buffer that has been wiped out.
9084 Patch 6.1.401 (extra)
9085 Problem: Building the Win16 version with Borland 5.01 doesn't work.
9086 "make test" doesn't work with Make_dos.mak. (Walter Briscoe)
9087 Solution: Various fixes to the w16 makefile. (Walter Briscoe)
9088 Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp".
9089 Files: src/Make_w16.mak, src/testdir/Make_dos.mak
9092 Problem: When evaluating a function name with curly braces, an error
9093 is not handled consistently.
9094 Solution: Accept the result of an curly braces expression when an
9095 error was encountered. Skip evaluating an expression in curly
9096 braces when skipping. (Servatius Brandt)
9099 Patch 6.1.403 (extra)
9100 Problem: MS-Windows 16 bit: compiler warnings.
9101 Solution: Add typecasts. (Walter Briscoe)
9102 Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c,
9105 Patch 6.1.404 (extra)
9106 Problem: Various small problems.
9107 Solution: Fix comments. Various small additions, changes in indent, removal
9108 of unused items and fixes.
9109 Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim,
9110 src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak,
9111 src/Make_cyg.mak, src/Make_ming.mak, src/Makefile,
9112 src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c,
9113 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c,
9114 src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c,
9115 src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c,
9116 src/message.c, src/misc1.c, src/misc2.c, src/normal.c,
9117 src/option.c, src/os_os2_cfg.h, src/os_win32.c,
9118 src/proto/getchar.pro, src/proto/message.pro,
9119 src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c,
9120 src/term.c, src/testdir/test15.in, src/testdir/test15.ok,
9121 src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile
9124 Problem: A few files are missing from the toplevel Makefile.
9125 Solution: Add the missing files.
9128 Patch 6.1.406 (depends on 6.1.392)
9129 Problem: When a statusline item doesn't fit arbitrary text appears.
9130 (Christian J. Robinson)
9131 Solution: When there is just enough room but not for the "<" truncate the
9132 statusline item like there is no room.
9136 Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew
9138 Solution: Reset 'scrollbind' when opening a help window.
9139 Files: src/ex_cmds.c
9142 Problem: When 'rightleft' is set unprintable character 0x0c is displayed as
9144 Solution: Reverse the text of the hex character.
9148 Problem: Generating tags for the help doesn't work for some locales.
9149 Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel
9151 Files: runtime/doc/Makefile
9153 Patch 6.1.410 (depends on 6.1.390)
9154 Problem: Linking error when compiling with Netbeans but without sign icons.
9156 Solution: Don't define buf_signcount() when sign icons are unavailable.
9160 Problem: When 'virtualedit' is set, highlighting a Visual block beyond the
9161 end of a line may be wrong.
9162 Solution: Correct the virtual column when the end of the line is before the
9163 displayed part of the line. (Muraoka Taro)
9167 Problem: When swapping terminal screens and using ":gui" to start the GUI,
9168 the shell prompt may be after a hit-enter prompt.
9169 Solution: Output a newline in the terminal when starting the GUI and there
9170 was a hit-enter prompt..
9174 Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't
9176 Solution: Save the register before overwriting it and put the resulting text
9177 on the clipboard afterwards. (Muraoka Taro)
9178 Files: src/normal.c, src/ops.c
9180 Patch 6.1.414 (extra, depends on 6.1.369)
9181 Problem: VMS: Vim busy waits when waiting for input.
9182 Solution: Delay for a short while before getting another character. (Zoltan
9187 Problem: When there is a vertical split and a quickfix window, reducing the
9188 size of the Vim window may result in a wrong window layout and a
9190 Solution: When reducing the window size and there is not enough space for
9191 'winfixheight' set the frame height to the larger height, so that
9192 there is a retry while ignoring 'winfixheight'. (Yasuhiro
9196 Patch 6.1.416 (depends on 6.1.366)
9197 Problem: When using the Netbeans interface, a line with a sign cannot be
9199 Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
9201 Files: src/netbeans.c
9204 Problem: Unprintable multi-byte characters are not handled correctly.
9205 Multi-byte characters above 0xffff are displayed as another
9207 Solution: Handle unprintable multi-byte characters. Display multi-byte
9208 characters above 0xffff with a marker. Recognize UTF-16 words and
9209 BOM words as unprintable. (Daniel Elstner)
9210 Files: src/charset.c, src/mbyte.c, src/screen.c
9213 Problem: The result of strftime() is in the current locals. Need to
9214 convert it to 'encoding'.
9215 Solution: Obtain the current locale and convert the argument for strftime()
9216 to it and the result back to 'encoding'. (Daniel Elstner)
9217 Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c,
9218 src/proto/mbyte.pro, src/option.c, src/os_mswin.c
9221 Problem: Vim doesn't compile on AIX 5.1.
9222 Solution: Don't define _NO_PROTO on this system. (Uribarri)
9223 Files: src/auto/configure, src/configure.in
9225 Patch 6.1.420 (extra)
9226 Problem: convert_input() has an unnecessary STRLEN().
9227 Conversion from UCS-2 to a codepage uses word count instead of
9229 Solution: Remove the STRLEN() call. (Daniel Elstner)
9230 Always use byte count for string_convert().
9231 Files: src/gui_w32.c, src/mbyte.c
9233 Patch 6.1.421 (extra, depends on 6.1.354)
9234 Problem: MS-Windows 9x: When putting text on the clipboard it can be in
9236 Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard)
9237 Files: src/os_mswin.c
9240 Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping
9241 screens. (Neil Bird)
9242 Solution: Set msg_didany also when sending a message to the terminal
9244 Files: src/message.c
9247 Problem: Can't find arbitrary text in help files.
9248 Solution: Added the ":helpgrep" command.
9249 Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
9250 src/proto/quickfix.pro, src/quickfix.c
9252 Patch 6.1.424 (extra)
9253 Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show
9255 Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO.
9257 Files: src/Make_mvc.mak
9260 Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag.
9261 Solution: Do add the "help-tags" tag for that specific directory.
9262 Files: src/ex_cmds.c
9265 Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff)
9266 Solution: Don't wait for the "+cmd" argument to have been edited.
9270 Problem: Several error messages for regexp patterns are not translated.
9271 Solution: Use _() properly. (Muraoka Taro)
9275 Problem: FreeBSD: wait() may hang when compiled with Python support and
9276 doing a system() call in a startup script.
9277 Solution: Use waitpid() instead of wait() and poll every 10 msec, just like
9278 what is done in the GUI.
9279 Files: src/os_unix.c
9281 Patch 6.1.429 (depends on 6.1.390)
9282 Problem: Crash when using showmarks.vim plugin. (Charles Campbell)
9283 Solution: Check for sign_get_text() returning a NULL pointer.
9287 Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai)
9288 Solution: Skip over backslashed parens.
9292 Problem: Debug commands end up in redirected text.
9293 Solution: Disable redirection while handling debug commands.
9294 Files: src/ex_cmds2.c
9296 Patch 6.1.432 (depends on 6.1.375)
9297 Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls)
9298 Solution: Don't add backslashes, handle it like ":!cmd".
9299 Files: src/ex_docmd.c
9302 Problem: ":popup" only works for Win32.
9303 Solution: Add ":popup" support for GTK. (Daniel Elstner)
9304 Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c,
9305 src/proto/gui_gtk.pro
9307 Patch 6.1.434 (extra)
9308 Problem: Win32: When there are more than 32767 lines, the scrollbar has a
9310 Solution: Make a click on an arrow move one line. Also move the code to
9311 gui_w48.c, there is hardly any difference between the 16 bit and
9312 32 bit versions. (Walter Briscoe)
9313 Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
9316 Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew
9318 Solution: Give an error message for wrong arguments of ":winsize" and
9320 Files: src/ex_docmd.c
9323 Problem: When a long UTF-8 file contains an illegal byte it's hard to find
9324 out where it is. (Ron Aaron)
9325 Solution: Add the line number to the error message.
9328 Patch 6.1.437 (extra, depends on 6.1.421)
9329 Problem: Using multi-byte functions when they are not available.
9330 Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
9331 Also fix a pointer type mistake. (Walter Briscoe)
9332 Files: src/os_mswin.c
9335 Problem: When Perl has thread support Vim cannot use the Perl interface.
9336 Solution: Add a configure check and disable Perl when it will not work.
9338 Files: src/auto/configure, src/configure.in
9341 Problem: Netbeans: A "create" function doesn't actually create a buffer,
9342 following functions may fail.
9343 Solution: Create a Vim buffer without a name when "create" is called.
9345 Files: runtime/doc/netbeans.txt, src/netbeans.c
9348 Problem: The "@*" command doesn't obtain the actual contents of the
9349 clipboard. (Hari Krishna Dara)
9350 Solution: Obtain the clipboard text before executing the command.
9354 Problem: "zj" and "zk" cannot be used as a motion command after an
9355 operator. (Ralf Hetzel)
9356 Solution: Accept these commands as motion commands.
9360 Problem: Unicode 3.2 defines more space and punctuation characters.
9361 Solution: Add the new characters to the Unicode tables. (Raphael Finkel)
9364 Patch 6.1.443 (extra)
9365 Problem: Win32: The gvimext.dll build with Borland 5.5 requires another
9367 Solution: Build a statically linked version by default. (Dan Sharp)
9368 Files: GvimExt/Make_bc5.mak
9370 Patch 6.1.444 (extra)
9371 Problem: Win32: Enabling a build with gettext support is not consistent.
9372 Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp)
9373 Files: src/Make_bc5.mak, src/Make_mvc.mak
9375 Patch 6.1.445 (extra)
9376 Problem: DJGPP: get warning for argument of putenv()
9377 Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe)
9378 Files: src/os_msdos.h
9380 Patch 6.1.446 (extra)
9381 Problem: Win32: The MingW makefile uses a different style of arguments than
9383 Dynamic IME is not supported for Cygwin.
9384 Solution: Use "no" and "yes" style arguments. Remove the use of the
9385 dyn-ming.h include file. (Dan Sharp)
9386 Do not include the ime.h file and adjust the makefile. (Alejandro
9388 Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c,
9389 src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c
9392 Problem: "make install" uses "make" directly for generating help tags.
9393 Solution: Use $(MAKE) instead of "make". (Tim Mooney)
9397 Problem: 'titlestring' has a default maximum width of 50 chars per item.
9398 Solution: Remove the default maximum (also for 'statusline').
9402 Problem: When "1" and "a" are in 'formatoptions', auto-formatting always
9403 moves a newly added character to the next line. (Servatius Brandt)
9404 Solution: Don't move a single character to the next line when it was just
9409 Problem: Termcap entry "kB" for back-tab is not recognized.
9410 Solution: Use back-tab as the shift-tab code.
9411 Files: src/keymap.h, src/misc2.c, src/term.c
9414 Problem: GUI: When text in the find dialog contains a slash, a backslash is
9415 inserted the next time it is opened. (Mezz)
9416 Solution: Remove escaped backslashes and question marks. (Daniel Elstner)
9419 Patch 6.1.452 (extra, after 6.1.446)
9420 Problem: Win32: IME support doesn't work for MSVC.
9421 Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia)
9422 Files: src/gui_w32.c
9424 Patch 6.1.453 (after 6.1.429)
9425 Problem: When compiled without sign icons but with sign support, adding a
9426 sign may cause a crash.
9427 Solution: Check for the text sign to exist before using it. (Kamil
9431 Patch 6.1.454 (extra)
9432 Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251
9433 results in utf-8 bytes. (Perelyubskiy)
9434 Conversion from DBCS to UCS2 does not work when 'encoding' is not
9435 the active codepage.
9436 Solution: Introduce enc_codepage and use it for conversion to 'encoding'
9438 Use MultiByteToWideChar() and WideCharToMultiByte() instead of
9439 iconv(). Should do most needed conversions without iconv.dll.
9440 Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c,
9441 src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h
9444 Problem: Some Unicode characters can be one or two character cells wide.
9445 Solution: Add the 'ambiwidth' option to tell Vim how to display these
9446 characters. (Jungshik Shin)
9447 Also reset the script ID when setting an option to its default
9448 value, so that ":verbose set" won't give wrong info.
9449 Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h
9451 Patch 6.1.456 (extra, after 6.1.454)
9452 Problem: Win32: IME doesn't work.
9453 Solution: ImmGetCompositionStringW() returns the size in bytes, not words.
9454 (Yasuhiro Matsumoto) Also fix typecast problem.
9455 Files: src/gui_w32.c, src/os_mswin.c
9458 Problem: An empty register in viminfo causes conversion to fail.
9459 Solution: Don't convert an empty string. (Yasuhiro Matsumoto)
9460 Files: src/ex_cmds.c, src/mbyte.c
9463 Problem: Compiler warning for pointer.
9464 Solution: Add a typecast.
9465 Files: src/ex_cmds.c
9467 Patch 6.1.459 (extra)
9468 Problem: Win32: libcall() may return an invalid pointer and cause Vim to
9470 Solution: Add a strict check for the returned pointer. (Bruce Mellows)
9471 Files: src/os_mswin.c
9474 Problem: GTK: after scrolling the text one line with a key, clicking the
9475 arrow of the scrollbar does not always work. (Nam SungHyun)
9476 Solution: Always update the scrollbar thumb when the value changed, even
9477 when it would not move, like for RISCOS. (Daniel Elstner)
9478 Files: src/gui.c, src/gui.h
9481 Problem: When a keymap is active, typing a character in Select mode does
9482 not use it. (Benji Fisher)
9483 Solution: Apply Insert mode mapping to the character typed in Select mode.
9487 Problem: When autocommands wipe out a buffer, a crash may happen. (Hari
9489 Solution: Don't decrement the window count of a buffer before calling the
9490 autocommands for it. When re-using the current buffer, watch out
9491 for autocommands changing the current buffer.
9492 Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro
9495 Problem: When writing a compressed file, the file name that gzip stores in
9496 the file is the weird temporary file name. (David Rennalls)
9497 Solution: Use the real file name when possible.
9498 Files: runtime/plugin/gzip.vim
9501 Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer)
9502 Solution: Check for a negative index.
9505 Patch 6.1.465 (after 6.1.454)
9506 Problem: Compile error when using cygwin.
9507 Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia)
9508 Undefine WIN32 after including windows.h
9512 Problem: The "-f" argument is a bit obscure.
9513 Solution: Add the "--nofork" argument. Improve the help text a bit.
9514 Files: runtime/doc/starting.txt, src/main.c
9517 Problem: Setting the window title doesn't work for Chinese.
9518 Solution: Use an X11 function to convert text to a text property. (Kentaro
9520 Files: src/os_unix.c
9523 Problem: ":mksession" also stores folds for buffers which will not be
9525 Solution: Only store folds for a buffer with 'buftype' empty and help files.
9526 Files: src/ex_docmd.c
9529 Problem: 'listchars' cannot contain multi-byte characters.
9530 Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
9531 Files: src/message.c, src/option.c, src/screen.c
9533 Patch 6.1.470 (lang)
9534 Problem: Polish messages don't show up correctly on MS-Windows.
9535 Solution: Convert messages to cp1250. (Mikolaj Machowski)
9536 Also add English message translations, because it got in the way
9538 Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po
9541 Problem: ":jumps" output continues after pressing "q" at the more-prompt.
9543 Solution: Check for "got_int" being set.
9547 Problem: When there is an authentication error when connecting to the X
9549 Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid
9550 the exit. Also do this in the main loop, so that when the X
9551 server exits a Vim running in a console isn't killed.
9552 Files: src/globals.h, src/main.c, src/os_unix.c
9555 Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash.
9556 Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto)
9557 Files: src/if_perl.xs
9560 Problem: When opening the command-line window in Ex mode it's impossible to
9561 go back. (Pavol Juhas)
9562 Solution: Reset "exmode_active" and restore it when the command-line window
9564 Files: src/ex_getln.c
9568 Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0.
9569 Solution: Change the way the Ruby check is done. (Aron Griffis)
9570 Files: src/auto/configure, src/configure.in
9573 Problem: The output of ":ls" doesn't show whether a buffer had read errors.
9574 Solution: Add the "x" flag in the ":ls" output.
9575 Files: runtime/doc/windows.txt, src/buffer.c
9578 Problem: Test49 doesn't properly test the behavior of ":catch" without an
9580 Solution: Update test49. (Servatius Brandt)
9581 Files: src/testdir/test49.ok, src/testdir/test49.vim
9584 Problem: "vim --version" always uses CR/LF in the output.
9585 Solution: Omit the CR.
9586 Files: src/message.c, src/os_unix.c
9589 Problem: Two error messages without a colon after the number.
9590 Solution: Add the colon. (Taro Muraoka)
9591 Files: src/if_cscope.c
9594 Problem: When saving a file takes a while and Vim regains focus this can
9595 result in a "file changed outside of Vim" warning and ml_get()
9596 errors. (Mike Williams)
9597 Solution: Add the "b_saving" flag to avoid checking the timestamp while the
9598 buffer is being saved. (Michael Schaap)
9599 Files: src/fileio.c, src/structs.h
9602 Problem: Irix compiler complains about multiple defined symbols.
9603 vsnprintf() is not available. (Charles Campbell)
9604 Solution: Insert EXTERN for variables in globals.h. Change the configure
9605 check for vsnprintf() from compiling to linking.
9606 Files: src/auto/configure, src/configure.in, src/globals.h
9609 Problem: The Aap recipe doesn't work with Aap 0.149.
9610 Solution: Change targetarg to TARGETARG. Update the mysign file.
9611 Files: src/main.aap, src/mysign
9613 Patch 6.2f.009 (extra)
9614 Problem: Small problem when building with Borland 5.01.
9615 Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe)
9616 Files: src/dosinst.h
9619 Problem: Warning for missing prototypes.
9620 Solution: Add missing prototypes. (Walter Briscoe)
9621 Files: src/if_cscope.c
9624 Problem: The configure script doesn't work with autoconf 2.5x.
9625 Solution: Add square brackets around a header check. (Aron Griffis)
9626 Note: touch src/auto/configure after applying this patch.
9627 Files: src/configure.in
9630 Problem: ":echoerr" doesn't work correctly inside try/endtry.
9631 Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt)
9634 Patch 6.2f.013 (extra)
9635 Problem: Macintosh: Compiler warning for a trigraph.
9636 Solution: Insert a backslash before each question mark. (Peter Cucka)
9639 Patch 6.2f.014 (extra)
9640 Problem: Macintosh: ex_eval is not included in the project file.
9641 Solution: Add ex_eval. (Dany St-Amant)
9642 Files: src/os_mac.pbproj/project.pbxproj
9644 Patch 6.2f.015 (extra)
9645 Problem: Win32: When changing header files not all source files involved
9647 Solution: Improve the dependency rules. (Dan Sharp)
9648 Files: src/Make_cyg.mak, src/Make_ming.mak
9651 Problem: "vim --version > ff" on non-Unix systems results in a file with a
9652 missing line break at the end. (Bill McCArthy)
9653 Solution: Add a line break.
9657 Problem: Unix: starting Vim in the background and then bringing it to the
9658 foreground may cause the terminal settings to be wrong.
9659 Solution: Check for tcsetattr() to return an error, retry when it does.
9661 Files: src/os_unix.c
9664 Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses
9665 one. Redefining it causes a warning message.
9666 Solution: Undefine OK before defining it to one. (Taro Muraoka)
9670 Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in
9672 Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE.
9673 Files: src/ex_cmds2.c
9676 Problem: Win32: test50 produces beeps and fails with some versions of diff.
9677 Solution: Remove empty lines and convert the output to dos fileformat.
9678 Files: src/testdir/test50.in
9681 Problem: Running configure with "--enable-netbeans" disables Netbeans.
9683 Solution: Fix the tests in configure.in where the default is to enable a
9684 feature. Fix that "--enable-acl" reported "yes" confusingly.
9685 Files: src/auto/configure, src/configure.in, src/mysign
9688 Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a
9690 Solution: Check for a non-empty string before and after the comma.
9694 Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is
9695 correct Vim still can't find the help files.
9696 Solution: Also look for a tags file in the directory of 'helpfile'.
9700 Problem: When 'delcombine' is set and a character has more than two
9701 composing characters "x" deletes them all.
9702 Solution: Always delete only the last composing character.
9706 Problem: When reading a file from stdin that has DOS line endings but a
9707 missing end-of-line for the last line 'fileformat' becomes "unix".
9709 Solution: Don't add the missing line break when re-reading the text from the
9714 Problem: When typing new text at the command line, old composing characters
9716 Solution: Don't read composing characters from after the end of the
9717 text to be displayed.
9718 Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro,
9722 Problem: Compiler warnings for unsigned char pointers. (Tony Leneis)
9723 Solution: Add typecasts to char pointer.
9724 Files: src/quickfix.c
9727 Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be
9728 made active again. Cursor isn't updated immediately when changing
9729 XIM activation. Japanese XIM may hang when using 'imactivatekey'.
9730 Can't activate XIM after typing fFtT command or ":sh".
9731 Solution: Properly set the flag that indicates the IM is active. Update the
9732 cursor right away. Do not send a key-release event. Handle
9733 Normal mode and running an external command differently.
9734 (Yasuhiro Matsumoto)
9738 Problem: Mixing use of int and enum.
9739 Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef.
9740 Files: src/if_cscope.c, src/if_cscope.h
9742 Patch 6.2f.030 (after 6.2f.028)
9743 Problem: Cursor moves up when using XIM.
9744 Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto)
9748 Problem: Crash when listing a function argument in the debugger. (Ron Aaron)
9749 Solution: Init the name field of an argument to NULL.
9753 Problem: When a write fails for a ":silent!" while inside try/endtry the
9754 BufWritePost autocommands are not triggered.
9755 Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt)
9756 Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim
9759 Problem: Cscope: re-entrance problem for ":cscope" command. Checking for
9760 duplicate database didn't work well for Win95. Didn't check for
9761 duplicate databases after an empty entry.
9762 Solution: Don't set postponed_split too early. Remember first empty
9763 database entry. (Sergey Khorev)
9764 Files: src/if_cscope.c
9767 Problem: The netbeans interface cannot be used on systems without
9768 vsnprintf(). (Tony Leneis)
9769 Solution: Use EMSG(), EMSGN() and EMSG2() instead.
9770 Files: src/auto/configure, src/configure.in, src/netbeans.c
9773 Problem: The configure check for the netbeans interface doesn't work if the
9774 socket and nsl libraries are required.
9775 Solution: Check for the socket and nsl libraries before the netbeans check.
9776 Files: src/auto/configure, src/configure.in
9779 Problem: Moving leftwards over text with an illegal UTF-8 byte moves one
9780 byte instead of one character.
9781 Solution: Ignore an illegal byte after the cursor position.
9785 Problem: When receiving a Netbeans command at the hit-enter or more prompt
9786 the screen is redrawn but Vim is still waiting at the prompt.
9787 Solution: Quit the prompt like a CTRL-C was typed.
9788 Files: src/netbeans.c
9791 Problem: The dependency to run autoconf causes a patch for configure.in
9792 to run autoconf, even though the configure script was updated as
9794 Solution: Only run autoconf with "make autoconf".
9798 Problem: CTRL-W K makes the new top window very high.
9799 Solution: When 'equalalways' is set equalize the window heights.
9803 ==============================================================================
9804 VERSION 6.3 *version-6.3*
9806 This section is about improvements made between version 6.2 and 6.3.
9808 This is mainly a bug-fix release. There are also a few new features.
9809 The major number of new items is in the runtime files and translations.
9812 Changed *changed-6.3*
9815 The intro message also displays a note about sponsoring Vim, mixed randomly
9816 with the message about helping children in Uganda.
9818 Included the translated menus, keymaps and tutors with the normal runtime
9819 files. The separate "lang" archive now only contains translated messages.
9821 Made the translated menu file names a bit more consistent. Use "latin1" for
9822 "iso_8859-1" and "iso_8859-15".
9824 Removed the "file_select.vim" script from the distribution. It's not more
9825 useful than other scripts that can be downloaded from www.vim.org.
9827 The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows
9828 it used to be dos fileformat, but ":helptags" generates a unix format file.
9835 :cNfile go to last error in previous file
9837 :changes print the change list
9838 :keepmarks following command keeps marks where they are
9839 :keepjumps following command keeps jumplist and marks
9840 :lockmarks following command keeps marks where they are
9841 :redrawstatus force a redraw of the status line(s)
9844 'antialias' Mac OS X: use smooth, antialiased fonts
9845 'helplang' preferred help languages
9848 Arch inventory (Nikolai Weibull)
9849 Calendar (Nikolai Weibull)
9851 Controllable Regex Mutilator (Nikolai Weibull)
9853 Desktop (Mikolaj Machowski)
9854 Dircolors (Nikolai Weibull)
9855 Elinks configuration (Nikolai Weibull)
9857 GrADS scripts (Stefan Fronzek)
9858 Icewm menu (James Mahler)
9860 Locale input, fdcc. (Dwayne Bailey)
9861 Pinfo config (Nikolai Weibull)
9862 Pyrex (Marco Barisione)
9863 Relax NG Compact (Nikolai Weibull)
9865 VAX Macro Assembly (Tom Uijldert)
9866 grads (Stefan Fronzek)
9867 libao (Nikolai Weibull)
9868 mplayer (Nikolai Weibull)
9869 rst (Nikolai Weibull)
9871 yaml (Nikolai Weibull)
9874 ATT dot (Marcos Macedo)
9875 Apple Project Builder (Alexander von Below)
9876 Intel (David Harrison)
9877 bdf (Nikolai Weibull)
9880 neato (Marcos Macedo)
9881 onsgmls (Robert B. Rowsome)
9882 perl (Christian J. Robinson)
9883 rst (Nikolai Weibull)
9884 se (SmartEiffel) (Doug Kearns)
9886 xmlwf (Robert B. Rowsome)
9889 Aap (Bram Moolenaar)
9891 Css (Nikolai Weibull)
9892 Pyrex (Marco Barisione)
9893 Rst (Nikolai Weibull)
9896 Aap (Bram Moolenaar)
9898 DocBook (Nikolai Weibull)
9899 MetaPost (Eugene Minkovskii)
9900 Objective-C (Kazunobu Kuriyama)
9901 Pyrex (Marco Barisione)
9902 Rst (Nikolai Weibull)
9904 XFree86 configuration file (Nikolai Weibull)
9905 Zsh (Nikolai Weibull)
9908 Greek for cp1253 (Panagiotis Louridas)
9909 Hungarian (Magyar) (Laszlo Zavaleta)
9910 Persian-Iranian (Behnam Esfahbod)
9912 Message translations:
9913 Catalan (Ernest Adrogue)
9914 Russian (Vassily Ragosin)
9915 Swedish (Johan Svedberg)
9918 Catalan (Ernest Adrogue)
9919 Russian (Tim Alexeevsky)
9920 Swedish (Johan Svedberg)
9923 Catalan (Ernest Adrogue)
9924 Russian in cp1251 (Alexey Froloff)
9925 Slovak in cp1250 and iso8859-2 (Lubos Celko)
9926 Swedish (Johan Svedberg)
9927 Korean (Kee-Won Seo)
9928 UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as
9929 the original, create the other Japanese tutor by conversion.
9931 Included "russian.txt" help file. (Vassily Ragosin)
9933 Include Encapsulated PostScript and PDF versions of the Vim logo in the extra
9936 The help highlighting finds the highlight groups and shows them in the color
9937 that is actually being used. (idea from Yakov Lerner)
9939 The big Win32 version is now compiled with Ruby interface, version 1.8. For
9940 Python version 2.3 is used. For Perl version 5.8 is used.
9942 The "ftdetect" directory is mentioned in the documentation. The DOS install
9949 Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options
9950 here and there. (Walter Briscoe)
9952 The explorer plugin didn't work for double-byte 'encoding's.
9954 Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting.
9957 Problem: The ":stopinsert" command doesn't have a help tag.
9958 Solution: Add the tag. (Antoine J. Mechelynck)
9959 Files: runtime/doc/insert.txt, runtime/doc/tags
9962 Problem: When compiled with the +multi_byte feature but without +eval,
9963 displaying UTF-8 characters may cause a crash. (Karsten Hopp)
9964 Solution: Also set the default for 'ambiwidth' when compiled without the
9969 Problem: GTK 2: double-wide characters below 256 are not displayed
9971 Solution: Check the cell width for characters above 127. (Yasuhiro
9973 Files: src/gui_gtk_x11.c
9976 Problem: With a line-Visual selection at the end of the file a "p" command
9977 puts the text one line upwards.
9978 Solution: Detect that the last line was deleted and put forward. (Taro
9983 Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin
9985 Solution: Show the dialog after creating it. (David Necas)
9986 Files: src/gui_gtk.c
9989 Problem: The Netbeans code contains an obsolete function that uses "vim61"
9990 and sets the fall-back value for $VIMRUNTIME.
9991 Solution: Delete the obsolete function.
9992 Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro
9995 Problem: Listing tags for Cscope doesn't always work.
9996 Solution: Avoid using smgs_attr(). (Sergey Khorev)
9997 Files: src/if_cscope.c
10000 Problem: XIM with GTK 2: After backspacing preedit characters are wrong.
10001 Solution: Reset the cursor position. (Yasuhiro Matsumoto)
10005 Problem: Win32: The self-installing executable "Full" selection only
10006 selects some of the items to install. (Salman Mohsin)
10007 Solution: Change commas to spaces in between section numbers.
10008 Files: nsis/gvim.nsi
10011 Problem: When 'virtualedit' is effective and a line starts with a
10012 multi-byte character, moving the cursor right doesn't work.
10013 Solution: Obtain the right character to compute the column offset. (Taro
10015 Files: src/charset.c
10018 Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway.
10020 Solution: Move the #ifdef outside of stat().
10021 Files: src/os_unix.c
10024 Problem: May hang when polling for a character.
10025 Solution: Break the wait loop when not waiting for a character.
10026 Files: src/os_unix.c
10028 Patch 6.2.013 (extra)
10029 Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1".
10030 Solution: Change the version number to "6.2". (Ajit Thakkar)
10031 Files: src/GvimExt/GvimExt.reg
10033 Patch 6.2.014 (after 6.2.012)
10034 Problem: XSMP doesn't work when using poll().
10035 Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird)
10036 Files: src/os_unix.c
10039 Problem: The +xsmp feature is never enabled.
10040 Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined.
10042 Files: src/feature.h
10045 Problem: Using ":scscope find" with 'cscopequickfix' does not always split
10046 the window. (Gary Johnson)
10047 Win32: ":cscope add" could make the script that contains it
10048 read-only until the corresponding ":cscope kill".
10049 Errors during ":cscope add" may not be handled properly.
10050 Solution: When using the quickfix window may need to split the window.
10051 Avoid file handle inheritance for the script.
10052 Check for a failed connection and/or process. (Sergey Khorev)
10053 Files: src/ex_cmds2.c, src/if_cscope.c
10056 Problem: Test11 sometimes prompts the user, because a file would have been
10057 changed outside of Vim. (Antonio Colombo)
10058 Solution: Add a FileChangedShell autocommand to avoid the prompt.
10059 Files: src/testdir/test11.in
10062 Problem: When using the XSMP protocol and reading from stdin Vim may wait
10063 for a key to be pressed.
10064 Solution: Avoid that RealWaitForChar() is used recursively.
10065 Files: src/os_unix.c
10067 Patch 6.2.019 (lang)
10068 Problem: Loading the Portuguese menu causes an error message.
10069 Solution: Join two lines. (Jose Pedro Oliveira, José de Paula)
10070 Files: runtime/lang/menu_pt_br.vim
10073 Problem: The "Syntax/Set syntax only" menu item causes an error message.
10075 Solution: Set the script-local variable in a function. (Benji Fisher)
10076 Files: runtime/synmenu.vim
10079 Problem: The user manual section on exceptions contains small mistakes.
10080 Solution: Give a good example of an error that could be missed and other
10081 improvements. (Servatius Brandt)
10082 Files: runtime/doc/usr_41.txt
10084 Patch 6.2.022 (extra)
10085 Problem: Win32: After deleting a menu item it still appears in a tear-off
10087 Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto)
10088 Files: src/gui_w32.c
10090 Patch 6.2.023 (extra)
10091 Problem: Win32: Make_ivc.mak does not clean everything.
10092 Solution: Delete more files in the clean rule. (Walter Briscoe)
10093 Files: src/Make_ivc.mak
10095 Patch 6.2.024 (extra)
10096 Problem: Win32: Compiler warnings for typecasts.
10097 Solution: Use DWORD instead of WORD. (Walter Briscoe)
10098 Files: src/gui_w32.c
10101 Problem: Missing prototype for sigaltstack().
10102 Solution: Add the prototype when it is not found in a header file.
10103 Files: src/os_unix.c
10106 Problem: Warning for utimes() argument.
10107 Solution: Add a typecast.
10108 Files: src/fileio.c
10111 Problem: Warning for uninitialized variable.
10112 Solution: Set mb_l to one when not using multi-byte characters.
10113 Files: src/message.c
10116 Problem: Cscope connection may kill Vim process and others.
10117 Solution: Check for pid being larger than one. (Khorev Sergey)
10118 Files: src/if_cscope.c
10121 Problem: When using the remote server functionality Vim may leak memory.
10122 (Srikanth Sankaran)
10123 Solution: Free the result of XListProperties().
10124 Files: src/if_xcmdsrv.c
10127 Problem: Mac: Warning for not being able to use precompiled header files.
10128 Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that
10129 function prototypes are still found.
10130 Files: src/os_unix.c, src/osdef.sh
10133 Problem: The langmenu entry in the options window doesn't work. (Rodolfo
10135 With GTK 1 the ":options" command causes an error message.
10137 Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for
10139 Files: runtime/optwin.vim
10142 Problem: The lpc filetype is never recognized. (Shizhu Pan)
10143 Solution: Check for g:lpc_syntax_for_c instead of the local variable
10144 lpc_syntax_for_c. (Benji Fisher)
10145 Files: runtime/filetype.vim
10147 Patch 6.2.033 (extra)
10148 Problem: Mac: Various compiler warnings.
10149 Solution: Don't include Classic-only headers in Unix version.
10150 Remove references to several unused variables. (Ben Fowler)
10151 Fix double definition of DEFAULT_TERM.
10152 Use int instead of unsigned short for pixel values, so that the
10153 negative error values are recognized.
10154 Files: src/gui_mac.c, src/term.c
10157 Problem: Mac: Compiler warning for redefining DEFAULT_TERM.
10158 Solution: Fix double definition of DEFAULT_TERM.
10162 Problem: Mac: Compiler warnings in Python interface.
10163 Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka)
10164 Files: src/if_python.c
10166 Patch 6.2.036 (extra)
10167 Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should
10168 expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin)
10169 Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher)
10170 Files: src/os_mac.h
10173 Problem: Win32: converting an encoding name to a codepage could result in
10174 an arbitrary number.
10175 Solution: make encname2codepage() return zero if the encoding name doesn't
10176 contain a codepage number.
10179 Patch 6.2.038 (extra)
10180 Problem: Warning messages when using the MingW compiler. (Bill McCarthy)
10181 Can't compile console version without +mouse feature.
10182 Solution: Initialize variables, add parenthesis.
10183 Add an #ifdef around g_nMouseClick. (Ajit Thakkar)
10184 Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c
10186 Patch 6.2.039 (extra)
10187 Problem: More warning messages when using the MingW compiler.
10188 Solution: Initialize variables. (Bill McCarthy)
10189 Files: src/os_mswin.c
10192 Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature.
10193 Solution: Pass a non-NULL argument to IceAddConnectionWatch().
10194 Files: src/os_unix.c
10196 Patch 6.2.041 (extra, after 6.2.033)
10197 Problem: Mac: Compiler warnings for conversion types, missing prototype,
10198 missing return type.
10199 Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add
10200 gui_mch_init_check() prototype. Add "int" to termlib functions.
10201 Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c.
10203 Patch 6.2.042 (extra)
10204 Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a
10206 Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp)
10207 Files: src/Make_cyg.mak
10210 Problem: Compiling with both netbeans and workshop doesn't work.
10211 Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur)
10212 Files: src/gui_x11.c, src/integration.c, src/netbeans.c,
10213 src/proto/netbeans.pro
10216 Problem: ":au filetypedetect" gives an error for a non-existing event name,
10217 but it's actually a non-existing group name. (Antoine Mechelynck)
10218 Solution: Make the error message clearer.
10219 Files: src/fileio.c
10222 Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway)
10223 Solution: Don't set the '' mark when searching for the start/end of the
10224 current sentence/paragraph.
10228 Problem: When evaluating an argument of a function throws an exception the
10229 function is still called. (Hari Krishna Dara)
10230 Solution: Don't call the function when an exception was thrown.
10233 Patch 6.2.047 (extra)
10234 Problem: Compiler warnings when using MingW. (Bill McCarthy)
10235 Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime.
10236 Files: src/os_win32.c
10239 Problem: The Python interface doesn't compile with Python 2.3 when
10240 dynamically loaded.
10241 Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore)
10242 Files: src/if_python.c
10245 Problem: Using a "-range=" argument with ":command" doesn't work and
10246 doesn't generate an error message.
10247 Solution: Generate an error message.
10248 Files: src/ex_docmd.c
10251 Problem: Test 32 didn't work on MS-Windows.
10252 Solution: Write the temp file in Unix fileformat. (Walter Briscoe)
10253 Files: src/testdir/test32.in
10256 Problem: When using "\=submatch(0)" in a ":s" command, line breaks become
10258 Solution: Change NL to CR characters, so that they become line breaks.
10259 Files: src/regexp.c
10262 Problem: A few messages are not translated.
10263 Solution: Add _() to the messages. (Muraoka Taro)
10264 Files: src/ex_cmds.c
10267 Problem: Prototype for bzero() doesn't match most systems.
10268 Solution: Use "void *" instead of "char *" and "size_t" instead of "int".
10269 Files: src/osdef1.h.in
10272 Problem: A double-byte character with a second byte that is a backslash
10273 causes problems inside a string.
10274 Solution: Skip over multi-byte characters in a string properly. (Yasuhiro
10279 Problem: Using col('.') from CTRL-O in Insert mode does not return the
10280 correct value for multi-byte characters.
10281 Solution: Correct the cursor position when it is necessary, move to the
10282 first byte of a multi-byte character. (Yasuhiro Matsumoto)
10285 Patch 6.2.056 (extra)
10286 Problem: Building with Sniff++ doesn't work.
10287 Solution: Use the multi-threaded libc when needed. (Holger Ditting)
10288 Files: src/Make_mvc.mak
10290 Patch 6.2.057 (extra)
10291 Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system
10292 library. Get a warning for redefining OK. Unused variables in
10294 Solution: Define HAVE_PUTENV. Undefine OK after including curses.h.
10295 Remove declarations for unused variables.
10296 Files: src/os_mac.c, src/os_mac.h, src/vim.h
10299 Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes
10301 Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro
10303 Files: src/buffer.c
10306 Problem: When 'scrolloff' is a large number and listing completion results
10307 on the command line, then executing a command that jumps close to
10308 where the cursor was before, part of the screen is not updated.
10310 Solution: Don't skip redrawing part of the window when it was scrolled.
10311 Files: src/screen.c
10313 Patch 6.2.060 (extra)
10314 Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from
10315 the clipboard gives a lalloc(0) error. (Kriton Kyrimis)
10316 Solution: When the string length is zero allocate one byte. Also fix that
10317 when the length of the Unicode text is zero (conversion from
10318 'encoding' to UCS-2 was not possible) the normal text is used.
10319 Files: src/os_mswin.c
10322 Problem: GUI: Using the left mouse button with the shift key should work
10323 like "*" but it scrolls instead. (Martin Beller)
10324 Solution: Don't recognize an rxvt scroll wheel event when using the GUI.
10328 Problem: When one buffer uses a syntax with "containedin" and another
10329 buffer does not, redrawing depends on what the current buffer is.
10330 (Brett Pershing Stahlman)
10331 Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin
10333 Files: src/syntax.c
10336 Problem: When using custom completion end up with no matches.
10337 Solution: Make cmd_numfiles and cmd_files local to completion to avoid that
10338 they are overwritten when ExpandOne() is called recursively by
10340 Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro,
10341 src/misc1.c, src/structs.h, src/tag.c
10344 Problem: resolve() only handles one symbolic link, need to repeat it to
10345 resolve all of them. Then need to simplify the file name.
10346 Solution: Make resolve() resolve all symbolic links and simplify the result.
10347 Add simplify() to just simplify a file name. Fix that test49
10348 doesn't work if /tmp is a symbolic link. (Servatius Brandt)
10349 Files: runtime/doc/eval.txt, src/eval.c, src/tag.c,
10350 src/testdir/test49.vim
10353 Problem: ":windo 123" only updates other windows when entering them.
10355 Solution: Update the topline before going to the next window.
10356 Files: src/ex_cmds2.c
10358 Patch 6.2.066 (extra)
10359 Problem: Ruby interface doesn't work with Ruby 1.8.0.
10360 Solution: Change "defout" to "stdout". (Aron Grifis)
10361 Change dynamic loading. (Taro Muraoka)
10362 Files: src/if_ruby.c, src/Make_mvc.mak
10365 Problem: When searching for a string that starts with a composing character
10366 the command line isn't drawn properly.
10367 Solution: Don't count the space to draw the composing character on and
10368 adjust the cursor column after drawing the string.
10369 Files: src/message.c
10372 Problem: Events for the netbeans interface that include a file name with
10373 special characters don't work properly.
10374 Solution: Use nb_quote() on the file name. (Sergey Khorev)
10375 Files: src/netbeans.c
10377 Patch 6.2.069 (after 6.2.064)
10378 Problem: Unused variables "limit" and "new_st" and unused label "fail" in
10379 some situation. (Bill McCarthy)
10380 Solution: Put the declarations inside an #ifdef. (Servatius Brandt)
10381 Files: src/eval.c, src/tag.c
10383 Patch 6.2.070 (after 6.2.069)
10384 Problem: Still unused variable "new_st". (Bill McCarthy)
10385 Solution: Move the declaration to the right block this time.
10389 Problem: 'statusline' can only contain 50 % items. (Antony Scriven)
10390 Solution: Allow 80 items and mention it in the docs.
10391 Files: runtime/doc/option.txt, src/vim.h
10394 Problem: When using expression folding, foldexpr() mostly returns -1 for
10395 the previous line, which makes it difficult to write a fold
10397 Solution: Make the level of the previous line available while still looking
10398 for the end of a fold.
10402 Problem: When adding detection of a specific filetype for a plugin you need
10403 to edit "filetype.vim".
10404 Solution: Source files from the "ftdetect" directory, so that a filetype
10405 detection plugin only needs to be dropped in a directory.
10406 Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt,
10407 runtime/doc/usr_41.txt, runtime/filetype.vim
10410 Problem: Warnings when compiling the Python interface. (Ajit Thakkar)
10411 Solution: Use ANSI function declarations.
10412 Files: src/if_python.c
10415 Problem: When the temp file for writing viminfo can't be used "NULL"
10416 appears in the error message. (Ben Lavender)
10417 Solution: Print the original file name when there is no temp file name.
10418 Files: src/ex_cmds.c
10421 Problem: The tags listed for cscope are in the wrong order. (Johannes
10423 Solution: Remove the reordering of tags for the current file. (Sergey
10425 Files: src/if_cscope.c
10428 Problem: When a user function specifies custom completion, the function
10429 gets a zero argument instead of an empty string when there is no
10430 word before the cursor. (Preben Guldberg)
10431 Solution: Don't convert an empty string to a zero.
10435 Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis)
10436 Solution: Build Vim before running the tests.
10437 Files: src/Makefile
10440 Problem: ":w ++enc=utf-8 !cmd" doesn't work.
10441 Solution: Check for the "++" argument before the "!".
10442 Files: src/ex_docmd.c
10445 Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in
10446 an unmodified file doesn't clear the last line.
10447 Solution: Call msg_clr_eos() when needed. (Michael Schroeder)
10448 Files: src/os_unix.c
10451 Problem: Problem when using a long multibyte string for the statusline.
10452 Solution: Use the right pointer to get the cell size. (Taro Muraoka)
10453 Files: src/buffer.c
10456 Problem: Can't compile with Perl 5.8.1.
10457 Solution: Rename "e_number" to "e_number_exp". (Sascha Blank)
10458 Files: src/digraph.c, src/globals.h
10461 Problem: When a compiler uses ^^^^ to mark a word the information is not
10462 visible in the quickfix window. (Srikanth Sankaran)
10463 Solution: Don't remove the indent for a line that is not recognized as an
10465 Files: src/quickfix.c
10468 Problem: "g_" in Visual mode always goes to the character after the line.
10470 Solution: Ignore the NUL at the end of the line.
10471 Files: src/normal.c
10474 Problem: ":verbose set ts" doesn't say an option was set with a "-c" or
10476 Solution: Remember the option was set from a Vim argument.
10477 Files: src/main.c, src/ex_cmds2.c, src/vim.h
10480 Problem: "{" and "}" stop inside a closed fold.
10481 Solution: Only stop once inside a closed fold. (Stephen Riehm)
10482 Files: src/search.c
10485 Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with
10486 ":bnext". (Yakov Lerner)
10487 Solution: Put up a dialog for a changed file when 'confirm' is set in more
10489 Files: src/buffer.c, src/ex_cmds.c
10492 Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if
10493 the match is less than 'sidescrolloff' off from the side of the
10494 window. (Roland Stahn)
10495 Solution: Set 'sidescrolloff' to zero while displaying the match.
10496 Files: src/search.c
10499 Problem: ":set isk+=" adds a comma. (Mark Waggoner)
10500 Solution: Don't add a comma when the added value is empty.
10501 Files: src/option.c
10503 Patch 6.2.090 (extra)
10504 Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy)
10505 Solution: Put an #ifdef around the #pragmas.
10506 Files: src/os_win32.c
10509 Problem: When an autocommand is triggered when a file is dropped on Vim and
10510 it produces output, messages from a following command may be
10511 scrolled unexpectedly. (David Rennalls)
10512 Solution: Save and restore msg_scroll in handle_drop().
10513 Files: src/ex_docmd.c
10516 Problem: Invalid items appear in the help file tags. (Antonio Colombo)
10517 Solution: Only accept tags with white space before the first "*".
10518 Files: runtime/doc/doctags.c, src/ex_cmds.c
10521 Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau)
10522 Solution: Check the second command character for an "o", not the third.
10526 Problem: Can't compile with GTK and tiny features.
10527 Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined.
10528 Do not try to split the window.
10529 Files: src/ex_docmd.c, src/misc2.c
10532 Problem: The message "Cannot go to buffer x" is confusing for ":buf 6".
10534 Solution: Make it "Buffer x does not exist".
10535 Files: src/buffer.c
10538 Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus
10540 Solution: Put zero bytes on the clipboard for an empty string.
10544 Problem: Setting or resetting 'insertmode' in a BufEnter autocommand
10545 doesn't always have immediate effect. (Nagger)
10546 Solution: When 'insertmode' is set, set need_start_insertmode, when it's
10547 reset set stop_insert_mode.
10548 Files: src/option.c
10550 Patch 6.2.098 (after 6.2.097)
10551 Problem: Can't build Vim with tiny features. (Christian J. Robinson)
10552 Solution: Declare stop_insert_mode always.
10553 Files: src/edit.c, src/globals.h
10555 Patch 6.2.099 (extra)
10556 Problem: Test 49 fails. (Mikolaj Machowski)
10557 Solution: The Polish translation must not change "E116" to "R116".
10558 Files: src/po/pl.po
10561 Problem: "make proto" fails when compiled with the Perl interface.
10562 Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option.
10563 Files: src/auto/configure, src/configure.in
10566 Problem: When using syntax folding, opening a file slows down a lot when
10567 it's size increases by only 20%. (Gary Johnson)
10568 Solution: The array with cached syntax states is leaking entries. After
10569 cleaning up the list obtain the current entry again.
10570 Files: src/syntax.c
10573 Problem: The macros equal() and CR conflict with a Carbon header file.
10574 Solution: Rename equal() to equalpos(). Rename CR to CAR.
10575 Do this in the non-extra files only.
10576 Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c,
10577 src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c,
10578 src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c,
10579 src/gui_motif.c, src/macros.h, src/mark.c, src/message.c,
10580 src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c,
10581 src/regexp.c, src/search.c, src/ui.c, src/workshop.c
10583 Patch 6.2.103 (extra)
10584 Problem: The macros equal() and CR conflict with a Carbon header file.
10585 Solution: Rename equal() to equalpos(). Rename CR to CAR.
10586 Do this in the extra files only.
10587 Files: src/gui_photon.c, src/gui_w48.c
10590 Problem: Unmatched braces in the table with options.
10591 Solution: Move the "}," outside of the #ifdef. (Yakov Lerner)
10592 Files: src/option.c
10595 Problem: When the cursor is past the end of the line when calling
10596 get_c_indent() a crash might occur.
10597 Solution: Don't look past the end of the line. (NJ Verenini)
10601 Problem: Tag searching gets stuck on a very long line in the tags file.
10602 Solution: When skipping back to search the first matching tag remember the
10603 offset where searching started looking for a line break.
10606 Patch 6.2.107 (extra)
10607 Problem: The NetBeans interface cannot be used on Win32.
10608 Solution: Add support for the NetBeans for Win32. Add support for reading
10609 XPM files on Win32. Also fixes that a sign icon with a space in
10610 the file name did not work through the NetBeans interface.
10612 Also: avoid repeating error messages when the connection is lost.
10613 Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak,
10614 src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
10615 src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h,
10616 src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c,
10617 src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h,
10618 src/proto/gui_beval.pro, src/proto/gui_w32.pro,
10619 src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h,
10620 src/xpm_w32.c, src/xpm_w32.h
10623 Problem: Crash when giving a message about ignoring case in a tag. (Manfred
10625 Solution: Use a longer buffer for the message.
10629 Problem: Compiler warnings with various Amiga compilers.
10630 Solution: Add typecast, prototypes, et al. that are also useful for other
10631 systems. (Flavio Stanchina)
10632 Files: src/eval.c, src/ops.c
10635 Problem: When $LANG includes the encoding, a menu without an encoding name
10637 Solution: Also look for a menu file without any encoding.
10638 Files: runtime/menu.vim
10641 Problem: Encoding "cp1251" is not recognized.
10642 Solution: Add "cp1251" to the table of encodings. (Alexey Froloff)
10646 Problem: After applying patches test32 fails. (Antonio Colombo)
10647 Solution: Have "make clean" in the testdir delete *.rej and *.orig files.
10648 Use this when doing "make clean" in the src directory.
10649 Files: src/Makefile, src/testdir/Makefile
10652 Problem: Using ":startinsert" after "$" works like "a" instead of "i".
10654 Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit().
10655 Files: src/edit.c, src/ex_docmd.c
10658 Problem: When stdout is piped through "tee", the size of the screen may not
10660 Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and
10662 Files: src/os_unix.c
10664 Patch 6.2.115 (extra)
10665 Problem: Compiler warnings with various Amiga compilers.
10666 Solution: Add typecast, prototypes, et al. Those changes that are
10667 Amiga-specific. (Flavio Stanchina)
10668 Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h,
10671 Patch 6.2.116 (extra)
10672 Problem: German keyboard with Numlock set different from system startup
10674 Solution: Ignore keys with code 0xff. (Helmut Stiegler)
10675 Files: src/gui_w48.c
10678 Problem: Breakpoints in loops of sourced files and functions are not
10679 detected. (Hari Krishna Dara)
10680 Solution: Check for breakpoints when using lines that were previously read.
10682 Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro,
10683 src/proto/ex_cmds2.pro
10685 Patch 6.2.118 (extra)
10686 Problem: Mac: Compiling is done in a non-standard way.
10687 Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI"
10688 to Makefile and configure. (Eric Kow)
10689 Move a few prototypes from os_mac.pro to gui_mac.pro.
10690 Files: src/Makefile, src/auto/configure, src/configure.in,
10691 src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c,
10692 src/proto/gui_mac.pro, src/proto/os_mac.pro,
10693 src/infplist.xml, src/vim.h
10695 Patch 6.2.119 (after 6.2.107)
10696 Problem: When packing the MS-Windows archives a few files are missing.
10698 Solution: Add gui_beval.* to the list of generic source files.
10702 Problem: Win32 GUI: The console dialogs are not supported on MS-Windows,
10703 disabling the 'c' flag of 'guioptions'. (Servatius Brandt)
10704 Solution: Define FEAT_CON_DIALOG also for GUI-only builds.
10705 Files: src/feature.h
10707 Patch 6.2.121 (after 6.2.118)
10708 Problem: Not all make programs support "+=". (Charles Campbell)
10709 Solution: Use a normal assignment.
10710 Files: src/Makefile
10712 Patch 6.2.122 (after 6.2.119)
10713 Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen)
10714 Solution: Use a simpler pattern. Add the Aap recipe for the maze program
10715 and a clean version of the source code.
10716 Files: Makefile, runtime/macros/maze/Makefile,
10717 runtime/macros/maze/README.txt, runtime/macros/maze/main.aap,
10718 runtime/macros/maze/mazeclean.c
10720 Patch 6.2.123 (after 6.2.118)
10721 Problem: Running configure fails. (Tony Leneis)
10722 Solution: Change "==" to "=" for a test.
10723 Files: src/auto/configure, src/configure.in
10725 Patch 6.2.124 (after 6.2.121)(extra)
10726 Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim
10727 directly it can't find the runtime files. (Emily Jackson)
10728 Using GNU constructs causes warnings with other make programs.
10730 Solution: Use another name for the M4FLAGS variable.
10731 Don't remove "Vim.app" from the path.
10732 Update the explanation for compiling on the Mac. (Eric Kow)
10733 Don't use $(shell ) and $(addprefix ).
10734 Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c
10736 Patch 6.2.125 (after 6.2.107)
10737 Problem: The "winsock2.h" file isn't always available.
10738 Solution: Don't include this header file.
10739 Files: src/netbeans.c
10742 Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception.
10743 Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set
10747 Patch 6.2.127 (extra)
10748 Problem: Win32 console: Typing CTRL-C doesn't throw an exception.
10749 Solution: Set got_int immediately when CTRL-C is typed, don't wait for
10750 mch_breakcheck() being called.
10751 Files: src/os_win32.c
10753 Patch 6.2.128 (after 6.2.118)
10754 Problem: src/auto/configure is not consistent with src/configure.in.
10755 Solution: Use the newly generated configure script.
10756 Files: src/auto/configure
10759 Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible.
10760 (Yasuhiro Matsumoto)
10761 Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn'
10762 and similar things.
10765 Patch 6.2.130 (extra)
10766 Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes
10767 the screen to be cleared. (Michael A. Mangino)
10768 Solution: Don't clear the screen when exiting and 'restorescreen' isn't set.
10769 Files: src/os_win32.c
10771 Patch 6.2.131 (extra)
10772 Problem: Win32: Font handles are leaked.
10773 Solution: Free italic, bold and bold-italic handles before overwriting them.
10775 Files: src/gui_w48.c
10777 Patch 6.2.132 (extra)
10778 Problem: Win32: console version doesn't work on latest Windows Server 2003.
10779 Solution: Copy 12000 instead of 15000 cells at a time to avoid running out
10781 Files: src/os_win32.c
10784 Problem: When starting the GUI a bogus error message about 'imactivatekey'
10786 Solution: Only check the value of 'imactivatekey' when the GUI is running.
10787 Files: src/gui.c, src/option.c
10789 Patch 6.2.134 (extra)
10790 Problem: Win32: When scrolling parts of the window are redrawn when this
10792 Solution: Only invalidate parts of the window when they are obscured by
10793 other windows. (Michael Wookey)
10794 Files: src/gui_w48.c
10797 Problem: An item <> in the ":command" argument is interpreted as <args>.
10798 Solution: Avoid that <> is recognized as <args>.
10799 Files: src/ex_docmd.c
10802 Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't
10803 exist. (Miroslaw Dobrzanski-Neumann)
10804 Solution: Set 'fileencoding' to the specified encoding when editing a file
10805 that does not exist.
10806 Files: src/fileio.c
10809 Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%"
10810 when using the matchit plugin.
10811 Solution: Store the command to be repeated. This is restricted to
10812 single-line commands.
10813 Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h
10815 Patch 6.2.138 (extra)
10816 Problem: Compilation problem on VMS with dynamic buffer on the stack.
10817 Solution: Read one byte less than the size of the buffer, so that we can
10818 check for the string length without an extra buffer.
10819 Files: src/os_vms.c
10822 Problem: Code is repeated in the two Perl files.
10823 Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h.
10824 Also fix a problem with generating prototypes.
10825 Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h
10827 Patch 6.2.140 (after 6.2.121)
10828 Problem: Mac: Compiling with Python and Perl doesn't work.
10829 Solution: Adjust the configure check for Python to use "-framework Python"
10830 for Python 2.3 on Mac OS/X.
10831 Move "-ldl" after "DynaLoader.a" in the link command.
10832 Change "perllibs" to "PERL_LIBS".
10833 Files: src/auto/configure, src/configure.in, src/config.mk.in
10835 Patch 6.2.141 (extra)
10836 Problem: Mac: The b_FSSpec field is sometimes unused.
10837 Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h
10838 Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h
10840 Patch 6.2.142 (after 6.2.124)
10841 Problem: Mac: building without GUI through configure doesn't work.
10842 When the system is slow, unpacking the resource file takes too
10844 Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it
10846 Add a configure option to skip Darwin detection.
10847 Use a Python script to unpack the resources to avoid a race
10848 condition. (Taro Muraoka)
10849 Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
10850 src/dehqx.py, src/vim.h
10853 Problem: Using "K" on Visually selected text doesn't work if it ends in
10854 a multi-byte character.
10855 Solution: Include all the bytes of the last character. (Taro Muraoka)
10856 Files: src/normal.c
10859 Problem: When "g:html_use_css" is set the HTML header generated by the
10860 2html script is wrong.
10861 Solution: Add the header after adding HREF for links.
10862 Also use ":normal!" instead of ":normal" to avoid mappings
10863 getting in the way.
10864 Files: runtime/syntax/2html.vim
10866 Patch 6.2.145 (after 6.2.139)
10867 Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz)
10868 Solution: Only undefine "bool" on Mac OS.
10872 Problem: On some systems the prototype for iconv() is wrong, causing a
10874 Solution: Use a cast (void *) to avoid the warning. (Charles Campbell)
10875 Files: src/fileio.c, src/mbyte.c
10878 Problem: ":s/pat/\=col('.')" always replaces with "1".
10879 Solution: Set the cursor to the start of the match before substituting.
10881 Files: src/ex_cmds.c
10884 Problem: Can't break an Insert into several undoable parts.
10885 Solution: Add the CTRL-G u command.
10886 Files: runtime/doc/insert.txt, src/edit.c
10889 Problem: When the cursor is on a line past 21,474,748 the indicated
10890 percentage of the position is invalid. With that many lines
10891 "100%" causes a negative cursor line number, resulting in a crash.
10893 Solution: Divide by 100 instead of multiplying. Avoid overflow when
10894 computing the line number for "100%".
10895 Files: src/buffer.c, src/ex_cmds2.c, src/normal.c
10898 Problem: When doing "vim - < file" lines are broken at NUL chars.
10900 Solution: Change NL characters back to NUL when reading from the temp
10902 Files: src/fileio.c
10905 Problem: When doing "vim --remote +startinsert file" some commands are
10906 inserted as text. (Klaus Bosau)
10907 Solution: Put all the init commands in one Ex line, not using a <CR>, so
10908 that Insert mode isn't started too early.
10912 Problem: The cursor() function doesn't reset the column offset for
10914 Solution: Reset the offset to zero. (Helmut Stiegler)
10918 Problem: Win32: ":lang german" doesn't use German messages.
10919 Solution: Add a table to translate the Win32 language names to two-letter
10921 Files: src/ex_cmds2.c
10924 Problem: Python bails out when giving a warning message. (Eugene
10926 Solution: Set sys.argv[] to an empty string.
10927 Files: src/if_python.c
10930 Problem: Win32: Using ":tjump www" in a help file gives two results.
10932 Solution: Ignore differences between slashes and backslashes when checking
10933 for identical tag matches.
10936 Patch 6.2.156 (after 6.2.125)
10937 Problem: Win32: Netbeans fails to build, EINTR is not defined.
10938 Solution: Redefine EINTR to WSAEINTR. (Mike Williams)
10939 Files: src/netbeans.c
10942 Problem: Using "%p" in 'errorformat' gives a column number that is too
10944 Solution: Set the flag to use the number as a virtual column. (Lefteris
10946 Files: src/quickfix.c
10949 Problem: The sed command on Solaris and HPUX doesn't work for a line that
10950 doesn't end in a newline.
10951 Solution: Add a newline when feeding text to sed. (Mark Waggoner)
10952 Files: src/configure.in, src/auto/configure
10955 Problem: When using expression folding and 'foldopen' is "undo" an undo
10956 command doesn't always open the fold.
10957 Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'.
10962 Problem: When 'virtualedit' is "all" and 'selection is "exclusive",
10963 selecting a double-width character below a single-width character
10965 Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka)
10966 Files: src/normal.c
10968 Patch 6.2.161 (extra)
10969 Problem: VMS: Missing header file. Reading input busy loops.
10970 Solution: Include termdef.h. Avoid the use of a wait function in
10971 vms_read(). (Frank Ries)
10972 Files: src/os_unix.h, src/os_vms.c
10975 Problem: ":redraw" doesn't always display the text that includes the cursor
10976 position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii)
10977 Solution: Call update_topline() before redrawing.
10978 Files: src/ex_docmd.c
10981 Problem: "make install" may also copy AAPDIR directories.
10982 Solution: Delete AAPDIR directories, just like CVS directories.
10983 Files: src/Makefile
10985 Patch 6.2.164 (after 6.2.144)
10986 Problem: When "g:html_use_css" is set the HTML header generated by the
10987 2html script is still wrong.
10988 Solution: Search for a string instead of jumping to a fixed line number.
10989 Go to the start of the line before inserting the header.
10991 Files: runtime/syntax/2html.vim
10994 Problem: The configure checks hang when using autoconf 2.57.
10995 Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis)
10996 Files: src/auto/configure, src/configure.in
10999 Problem: When $GZIP contains "-N" editing compressed files doesn't work
11001 Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind
11003 Files: runtime/plugin/gzip.vim
11006 Problem: The Python interface leaks memory when assigning lines to a
11007 buffer. (Sergey Khorev)
11008 Solution: Do not copy the line when calling ml_replace().
11009 Files: src/if_python.c
11012 Problem: Python interface: There is no way to get the indices from a range
11014 Solution: Add the "start" and "end" attributes. (Maurice S. Barnum)
11015 Files: src/if_python.c, runtime/doc/if_pyth.txt
11018 Problem: The prototype for _Xmblen() appears in a recent XFree86 header
11019 file, causing a warning for our prototype. (Hisashi T Fujinaka)
11020 Solution: Move the prototype to an osdef file, so that it's filtered out.
11021 Files: src/mbyte.c, src/osdef2.h.in
11024 Problem: When using Sun WorkShop the current directory isn't changed to
11026 Solution: Set the 'autochdir' option when using WorkShop. And avoid using
11027 the basename when 'autochdir' is not set.
11028 Files: src/gui_x11.c, src/ex_cmds.c
11030 Patch 6.2.171 (after 6.2.163)
11031 Problem: The "-or" argument of "find" doesn't work for SysV systems.
11032 Solution: Use "-o" instead. (Gordon Prieur)
11033 Files: src/Makefile
11035 Patch 6.2.172 (after 6.2.169)
11036 Problem: The prototype for _Xmblen() still causes trouble.
11037 Solution: Include the X11 header file that defines the prototype.
11038 Files: src/osdef2.h.in, src/osdef.sh
11040 Patch 6.2.173 (extra)
11041 Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other
11042 compilers than MSVC.
11043 Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp)
11044 Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak
11047 Problem: After the ":intro" message only a mouse click in the last line
11048 gets past the hit-return prompt.
11049 Solution: Accept a click at or below the hit-return prompt.
11050 Files: src/gui.c, src/message.c
11053 Problem: Changing 'backupext' in a *WritePre autocommand doesn't work.
11055 Solution: Move the use of p_bex to after executing the *WritePre
11056 autocommands. Also avoids reading allocated memory after freeing.
11057 Files: src/fileio.c
11060 Problem: Accented characters in translated help files are not handled
11061 correctly. (Fabien Vayssiere)
11062 Solution: Include "192-255" in 'iskeyword' for the help window.
11063 Files: src/ex_cmds.c
11065 Patch 6.2.177 (extra)
11066 Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob
11067 Retter) Arbitrary commands are being executed. (Neil Bird)
11068 Solution: Put a backslash in front of every space in the file name.
11069 (Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL.
11070 Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc
11073 Problem: People who don't know how to exit Vim try pressing CTRL-C.
11074 Solution: Give a message how to exit Vim when CTRL-C is pressed and it
11075 doesn't cancel anything.
11076 Files: src/normal.c
11078 Patch 6.2.179 (extra)
11079 Problem: The en_gb messages file isn't found on case sensitive systems.
11080 Solution: Rename en_gb to en_GB. (Mike Williams)
11081 Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak,
11082 src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt
11085 Problem: Compiling with GTK2 on Win32 doesn't work.
11086 Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula)
11087 Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c
11089 Patch 6.2.181 (after 6.2.171)
11090 Problem: The "-o" argument of "find" has lower priority than the implied
11091 "and" with "-print".
11092 Solution: Add parenthesis around the "-o" expression. (Gordon Prieur)
11093 Files: src/Makefile
11095 Patch 6.2.182 (after 6.2.094)
11096 Problem: Compilation with tiny features fails because of missing
11097 get_past_head() function.
11098 Solution: Adjust the #ifdef for get_past_head().
11101 Patch 6.2.183 (after 6.2.178)
11102 Problem: Warning for char/unsigned char mixup.
11103 Solution: Use MSG() instead of msg(). (Tony Leneis)
11104 Files: src/normal.c
11107 Problem: With 'formatoptions' set to "1aw" inserting text may cause the
11108 paragraph to be ended. (Alan Schmitt)
11109 Solution: Temporarily add an extra space to make the paragraph continue
11110 after moving the word after the cursor to the next line.
11111 Also format when pressing Esc.
11112 Files: src/edit.c, src/normal.c, src/proto/edit.pro
11115 Problem: Restoring a session with zero-height windows does not work
11116 properly. (Charles Campbell)
11117 Solution: Accept a zero argument to ":resize" as intended. Add a window
11118 number argument to ":resize" to be able to set the size of other
11119 windows, because the current window cannot be zero-height.
11120 Fix the explorer plugin to avoid changing the window sizes. Add
11121 the winrestcmd() function for this.
11122 Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c,
11123 src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c
11125 Patch 6.2.186 (after 6.2.185)
11126 Problem: Documentation file eval.txt contains examples without indent.
11127 Solution: Insert the indent. Also fix other mistakes.
11128 Files: runtime/doc/eval.txt
11131 Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle)
11132 Solution: Initialize variables where needed. Free allocated memory to avoid
11133 leaks. Fix comparing tags to avoid reading past allocated memory.
11134 Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
11135 src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c
11137 Patch 6.2.188 (extra)
11138 Problem: MS-Windows: Multi-byte characters in a filename cause trouble for
11140 Solution: Return when the wide function for setting the title did its work.
11141 Files: src/gui_w48.c
11144 Problem: When setting 'viminfo' after editing a new buffer its marks are
11145 not stored. (Keith Roberts)
11146 Solution: Set the "b_marks_read" flag when skipping to read marks from the
11148 Files: src/fileio.c
11151 Problem: When editing a compressed files, marks are lost.
11152 Solution: Add the ":lockmarks" modifier and use it in the gzip plugin.
11153 Make exists() also check for command modifiers, so that the
11154 existence of ":lockmarks" can be checked for.
11155 Also add ":keepmarks" to avoid that marks are deleted when
11157 When deleting lines put marks 'A - 'Z and '0 - '9 at the first
11158 deleted line instead of clearing the mark. They were kept in the
11159 viminfo file anyway.
11160 Avoid that the gzip plugin puts deleted text in registers.
11161 Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c,
11162 src/ex_docmd.c, src/mark.c, src/structs.h
11165 Problem: The intro message is outdated. Information about sponsoring and
11166 registering is missing.
11167 Solution: Show info about sponsoring and registering Vim in the intro
11168 message now and then. Add help file about sponsoring.
11169 Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags,
11170 runtime/menu.vim, src/version.c
11173 Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonahtan
11175 Solution: Avoid calling change_indent() recursively.
11179 Problem: When recalling a search pattern from the history from a ":s,a/c,"
11180 command the '/' ends the search string. (JC van Winkel)
11181 Solution: Store the separator character with the history entries. Escape
11182 characters when needed, replace the old separator with the new one.
11183 Also fixes that recalling a "/" search for a "?" command messes up
11185 Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro,
11186 src/search.c, src/tag.c
11188 Patch 6.2.194 (after 6.2.068)
11189 Problem: For NetBeans, instead of writing the file and sending an event
11190 about it, tell NetBeans to write the file.
11191 Solution: Add the "save" command, "netbeansBuffer" command and
11192 "buttonRelease" event to the netbeans protocol. Updated the
11193 interface to version 2.2. (Gordon Prieur)
11194 Also: open a fold when the cursor has been positioned.
11195 Also: fix memory leak, free result of nb_quote().
11196 Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c,
11197 src/normal.c, src/proto/netbeans.pro, src/structs.h
11199 Patch 6.2.195 (after 6.2.190)
11200 Problem: Compiling fails for missing CPO_REMMARK symbol.
11201 Solution: Add the patch I forgot to include...
11202 Files: src/option.h
11204 Patch 6.2.196 (after 6.2.191)
11205 Problem: Rebuilding the documentation doesn't use the sponsor.txt file.
11206 Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson)
11207 Files: runtime/doc/Makefile
11210 Problem: It is not possible to force a redraw of status lines. (Gary
11212 Solution: Add the ":redrawstatus" command.
11213 Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c,
11217 Problem: A few messages are not translated. (Ernest Adrogue)
11218 Solution: Mark the messages to be translated.
11219 Files: src/ex_cmds.c
11221 Patch 6.2.199 (after 6.2.194)
11222 Problem: Vim doesn't work perfectly well with NetBeans.
11223 Solution: When NetBeans saves the file, reset the timestamp to avoid "file
11224 changed" warnings. Close a buffer in a proper way. Don't try
11225 giving a debug message with an invalid pointer. Send a
11226 newDotAndMark message when needed. Report a change by the "r"
11227 command to NetBeans. (Gordon Prieur)
11228 Files: src/netbeans.c, src/normal.c
11231 Problem: When recovering a file, 'fileformat' is always the default, thus
11232 writing the file may result in differences. (Penelope Fudd)
11233 Solution: Before recovering the file try reading the original file to obtain
11234 the values of 'fileformat', 'fileencoding', etc.
11235 Files: src/memline.c
11238 Problem: When 'autowriteall' is set ":qall" still refuses to exit if there
11239 is a modified buffer. (Antoine Mechelynck)
11240 Solution: Attempt writing modified buffers as intended.
11241 Files: src/ex_cmds2.c
11244 Problem: Filetype names of CHILL and ch script are confusing.
11245 Solution: Rename "ch" to "chill" and "chscript" to "ch".
11246 Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim
11247 runtime/syntax/ch.vim, runtime/syntax/chill.vim
11250 Problem: With characterwise text that has more than one line, "3P" works
11251 wrong. "3p" has the same problem. There also is a display
11252 problem. (Daniel Goujot)
11253 Solution: Perform characterwise puts with a count in the right position.
11256 Patch 6.2.204 (after 6.2.086)
11257 Problem: "]]" in a file with closed folds moves to the end of the file.
11259 Solution: Find one position in each closed fold, then move to after the fold.
11260 Files: src/search.c
11262 Patch 6.2.205 (extra)
11263 Problem: MS-Windows: When the taskbar is at the left or top of the screen,
11264 the Vim window placement is wrong.
11265 Solution: Compute the size and position of the window correctly. (Taro
11267 Files: src/gui_w32.c, src/gui_w48.c
11270 Problem: Multi-byte characters cannot be used as hotkeys in a console
11271 dialog. (Mattias Erkisson)
11272 Solution: Handle multi-byte characters properly. Also put () or [] around
11274 Files: src/message.c, src/macros.h
11277 Problem: When 'encoding' is a multi-byte encoding, expanding an
11278 abbreviation that starts where insertion started results in
11279 characters before the insertion to be deleted. (Xiangjiang Ma)
11280 Solution: Stop searching leftwards for the start of the word at the position
11281 where insertion started.
11282 Files: src/getchar.c
11285 Problem: When using fold markers, three lines in a row have the start
11286 marker and deleting the first one with "dd", a nested fold is not
11287 deleted. (Kamil Burzynski)
11288 Using marker folding, a level 1 fold doesn't stop when it is
11289 followed by "{{{2", starting a level 2 fold.
11290 Solution: Don't stop updating folds at the end of a change when the nesting
11291 level of folds is larger than the fold level.
11292 Correctly compute the number of folds that start at "{{{2".
11293 Also avoid a crash for a NULL pointer.
11297 Problem: A bogus fold is created when using "P" while the cursor is in the
11298 middle of a closed fold. (Kamil Burzynski)
11299 Solution: Correct the line number where marks are modified for closed folds.
11302 Patch 6.2.210 (extra)
11303 Problem: Mac OSX: antialiased fonts are not supported.
11304 Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX
11305 10.2 and later. (Peter Cucka)
11306 Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c
11308 Patch 6.2.211 (extra)
11309 Problem: Code for handling file dropped on Vim is duplicated.
11310 Solution: Move the common code to gui_handle_drop().
11311 Add code to drop the files in the window under the cursor.
11312 Support drag&drop on the Macintosh. (Taro Muraoka)
11313 When dropping a directory name edit that directory (using the
11315 Fix that changing directory with Shift pressed didn't work for
11316 relative path names.
11317 Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c,
11318 src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro
11320 Patch 6.2.212 (after 6.2.199)
11321 Problem: NetBeans: Replacing with a count is not handled correctly.
11322 Solution: Move reporting the change outside of the loop for the count.
11324 Files: src/normal.c
11326 Patch 6.2.213 (after 6.2.208)
11327 Problem: Using marker folding, "{{{1" doesn't start a new fold when already
11328 at fold level 1. (Servatius Brandt)
11329 Solution: Correctly compute the number of folds that start at "{{{1".
11332 Patch 6.2.214 (after 6.2.211) (extra)
11333 Problem: Warning for an unused variable.
11334 Solution: Delete the declaration. (Bill McCarthy)
11335 Files: src/gui_w48.c
11338 Problem: NetBeans: problems saving an unmodified file.
11339 Solution: Add isNetbeansModified() function. Disable netbeans_unmodified().
11341 Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
11342 runtime/doc/netbeans.txt, runtime/doc/tags
11344 Patch 6.2.216 (after 6.2.206)
11345 Problem: Multi-byte characters still cannot be used as hotkeys in a console
11346 dialog. (Mattias Erkisson)
11347 Solution: Make get_keystroke() handle multi-byte characters.
11351 Problem: GTK: setting the title doesn't always work correctly.
11352 Solution: Invoke gui_mch_settitle(). (Tomas Stehlik)
11353 Files: src/os_unix.c
11356 Problem: Warning for function without prototype.
11357 Solution: Add argument types to the msgCB field of the BalloonEval struct.
11358 Files: src/gui_beval.h
11361 Problem: Syntax highlighting hangs on an empty match of an item with a
11362 nextgroup. (Charles Campbell)
11363 Solution: Remember that the item has already matched and don't match it
11364 again at the same position.
11365 Files: src/syntax.c
11368 Problem: When a Vim server runs in a console a remote command isn't handled
11369 before a key is typed. (Joshua Neuheisel)
11370 Solution: Don't try reading more input when a client-server command has been
11372 Files: src/os_unix.c
11375 Problem: No file name completion for ":cscope add".
11376 Solution: Add the XFILE flag to ":cscope". (Gary Johnson)
11377 Files: src/ex_cmds.h
11380 Problem: Using "--remote" several times on a row only opens some of the
11381 files. (Dany St-Amant)
11382 Solution: Don't delete all typeahead when the server receives a command from
11383 a client, only delete typed characters.
11387 Problem: Cscope: Avoid a hang when cscope waits for a response while Vim
11388 waits for a prompt.
11389 Error messages from Cscope mess up the display.
11390 Solution: Detect the hit-enter message and respond by sending a return
11391 character to cscope. (Gary Johnson)
11392 Use EMSG() and strerror() when possible. Replace perror() with
11393 PERROR() everywhere, add emsg3().
11394 Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c,
11395 src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h
11398 Problem: Mac: Can't compile with small features. (Axel Kielhorn)
11399 Solution: Also include vim_chdirfile() when compiling for the Mac.
11403 Problem: NetBeans: Reported modified state isn't exactly right.
11404 Solution: Report a file being modified in the NetBeans way.
11405 Files: src/netbeans.c
11407 Patch 6.2.226 (after 6.2.107) (extra)
11408 Problem: The "ws2-32.lib" file isn't always available.
11409 Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp)
11410 Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak
11412 Patch 6.2.227 (extra)
11413 Problem: The "PC" symbol is defined but not used anywhere.
11414 Solution: Remove "-DPC" from the makefiles.
11415 Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak,
11419 Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim
11420 back to Normal mode. Same for CTRL-\ CTRL-G.
11421 Solution: Check if the character typed after a command is CTRL-\ and obtain
11422 another character to check for CTRL-N or CTRL-G, waiting up to
11423 'ttimeoutlen' msec.
11424 Files: src/normal.c
11427 Problem: ":function" with a name that uses magic curlies does not work
11428 inside a function. (Servatius Brandt)
11429 Solution: Skip over the function name properly.
11432 Patch 6.2.230 (extra)
11433 Problem: Win32: a complex pattern may cause a crash.
11434 Solution: Use __try and __except to catch the exception and handle it
11435 gracefully, when possible. Add myresetstkoflw() to reset the
11436 stack overflow. (Benjamin Peterson)
11437 Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h,
11438 src/proto/os_win32.pro, src/regexp.c
11440 Patch 6.2.231 (after 6.2.046)
11441 Problem: Various problems when an error exception is raised from within a
11442 builtin function. When it is invoked while evaluating arguments
11443 to a function following arguments are still evaluated. When
11444 invoked with a line range it will be called for remaining lines.
11445 Solution: Update "force_abort" also after calling a builtin function, so
11446 that aborting() always returns the correct value. (Servatius
11448 Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro,
11449 src/testdir/test49.ok, src/testdir/test49.vim
11452 Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene
11454 Solution: Disallow executing a Python command recursively and give an error
11456 Files: src/if_python.c
11459 Problem: On Mac OSX adding -pthread for Python only generates a warning.
11460 The test for Perl threads rejects Perl while it's OK.
11461 Tcl doesn't work at all.
11462 The test for Ruby fails if ruby exists but there are no header
11463 files. The Ruby library isn't detected properly
11464 Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's
11465 not the 5.5 threads.
11466 Use the Tcl framework for header files. For Ruby rename cWindow
11467 to cVimWindow to avoid a name clash. (Ken Scott)
11468 Only enable Ruby when the header files can be found. Use "-lruby"
11469 instead of "libruby.a" when it can't be found.
11470 Files: src/auto/configure, src/configure.in, src/if_ruby.c
11473 Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command
11475 Solution: Flush output before removing scrollbars. Also do this in other
11476 places where gui_mch_*() functions are invoked.
11477 Files: src/ex_cmds.c, src/option.c, src/window.c
11479 Patch 6.2.235 (extra)
11480 Problem: Win32: Cursor isn't removed with a 25x80 window and doing:
11481 "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto)
11482 Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines().
11483 Files: src/gui_w48.c
11486 Problem: Using gvim with Agide gives "connection lost" error messages.
11487 Solution: Only give the "connection lost" message when the buffer was once
11489 Files: src/netbeans.c, src/structs.h
11492 Problem: GTK 2: Thai text is drawn wrong. It changes when moving the
11494 Solution: Disable the shaping engine, it moves combining characters to a
11495 wrong position and combines characters, while drawing the cursor
11496 doesn't combine characters.
11497 Files: src/gui_gtk_x11.c
11499 Patch 6.2.238 (after 6.2.231)
11500 Problem: ":function" does not work inside a while loop. (Servatius Brandt)
11501 Solution: Add get_while_line() and pass it to do_one_cmd() when in a while
11502 loop, so that all lines are stored and can be used again when
11503 repeating the loop.
11504 Adjust test 49 so that it checks for the fixed problems.
11506 Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
11507 src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro,
11508 src/testdir/test49.in, src/testdir/test49.ok,
11509 src/testdir/test49.vim
11512 Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar
11513 often doesn't scroll. (Moshe Kaminsky)
11514 Solution: Hackish solution: Detect that the button was pressed from the
11515 mouse pointer position.
11516 Files: src/gui_gtk.c, src/gui.c
11519 Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with
11520 other systems. Need to explicitly use "icon=name". (Ned Konz,
11521 Christian J. Robinson)
11522 Solution: Search for icons like done for Motif.
11523 Files: src/gui_gtk.c
11526 Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no
11527 sense. Buttons are sometimes greyed-out. (Jeremy Messenger)
11528 Solution: Remove the code to sync the two dialogs. Adjust the code to react
11529 to an empty search string to also work for GTK2. (David Necas)
11530 Files: src/gui_gtk.c
11533 Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim
11535 Solution: Don't let the Gnome code remove the "--help" argument and don't
11536 exit at the end of usage().
11537 Files: src/gui_gtk_x11.c, src/main.c
11539 Patch 6.2.243 (extra)
11540 Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt.
11541 Solution: Move the dropped files to the global argument list, instead of the
11542 usual drop handling. (Eckehard Berns)
11543 Files: src/main.c, src/gui_mac.c
11546 Problem: ':echo "\xf7"' displays the illegal byte as if it was a character
11547 and leaves "cho" after it.
11548 Solution: When checking the length of a UTF-8 byte sequence and it's shorter
11549 than the number of bytes available, assume it's an illegal byte.
11553 Problem: Completion doesn't work for ":keepmarks" and ":lockmarks".
11554 Solution: Add the command modifiers to the table of commands. (Madoka
11556 Files: src/ex_cmds.h, src/ex_docmd.c
11559 Problem: Mac: Starting Vim from Finder doesn't show error messages.
11560 Solution: Recognize that output is being displayed by stderr being
11561 "/dev/console". (Eckehard Berns)
11562 Files: src/main.c, src/message.c
11564 Patch 6.2.247 (after 6.2.193)
11565 Problem: When using a search pattern from the viminfo file the last
11566 character is replaced with a '/'.
11567 Solution: Store the separator character in the right place. (Kelvin Lee)
11568 Files: src/ex_getln.c
11571 Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be
11573 Solution: Detect that XIM changes the keypad key to the expected ASCII
11574 character and fall back to the non-XIM code. (Neil Bird)
11575 Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro
11578 Problem: ":cnext" moves to the error in the next file, but there is no
11580 Solution: Add ":cpfile" and ":cNfile".
11581 Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt
11584 Problem: Memory leaks when using signs. (Xavier de Gaye)
11585 Solution: Delete the list of signs when unloading a buffer.
11586 Files: src/buffer.c
11589 Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall)
11590 Order of buttons is reversed for GTK 2.2.4. Don't always get
11591 focus back after handling a dialog.
11592 Solution: Make buttons appear vertically when desired. Reverse the order in
11593 which buttons are added to a dialog. Move mouse pointer around
11594 when the dialog is done and we don't have focus.
11595 Files: src/gui_gtk.c
11597 Patch 6.2.252 (extra, after 6.2.243)
11598 Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for
11600 Solution: Remove the #ifdef from the code that fixes it for Mac OSX.
11601 Files: src/gui_mac.c
11604 Problem: When 'tagstack' is not set a ":tag id" command does not work after
11605 a ":tjump" command.
11606 Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran)
11610 Problem: May run out of space for error messages.
11611 Solution: Keep room for two more bytes.
11612 Files: src/quickfix.c
11615 Problem: GTK: A new item in the popup menu is put just after instead of
11616 just before the right item. (Gabriel Zachmann)
11617 Solution: Don't increment the menu item index.
11618 Files: src/gui_gtk.c
11621 Problem: Mac: "macroman" encoding isn't recognized, need to use
11623 Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns)
11626 Patch 6.2.257 (after 6.2.250)
11627 Problem: Signs are deleted for ":bdel", but they could still be useful.
11628 Solution: Delete signs only for ":bwipe".
11629 Files: src/buffer.c
11632 Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar)
11633 Solution: Loop over the popup menus for all modes.
11637 Problem: If there are messages when exiting, on the console there is a
11638 hit-enter prompt while the message can be read; in the GUI the
11639 message may not be visible.
11640 Solution: Use the hit-enter prompt when there is an error message from
11641 writing the viminfo file or autocommands, or when there is any
11642 output in the GUI and 'verbose' is set. Don't use a hit-enter
11643 prompt for the non-GUI version unless there is an error message.
11647 Problem: GTK 2: Can't quit a dialog with <Esc>.
11648 GTK 1 and 2: <Enter> always gives a result, even when the default
11649 button has been disabled.
11650 Solution: Handle these keys explicitly. When no default button is specified
11651 use the first one (works mostly like it was before).
11652 Files: src/gui_gtk.c
11655 Problem: When 'autoindent' and 'cindent' are set and a line is recognized
11656 as a comment, starting a new line won't do 'cindent' formatting.
11657 Solution: Also use 'cindent' formatting for lines that are used as a
11658 comment. (Servatius Brandt)
11662 Problem: 1 CTRL-W w beeps, even though going to the first window is
11663 possible. (Charles Campbell)
11664 Solution: Don't beep.
11665 Files: src/window.c
11668 Problem: Lint warnings: Duplicate function prototypes, duplicate macros,
11669 use of a zero character instead of a zero pointer, unused
11670 variable. Clearing allocated memory in a complicated way.
11671 Solution: Remove the function prototypes from farsi.h. Remove the
11672 duplicated lines in keymap.h. Change getvcol() argument from NUL
11673 to NULL. Remove the "col" variable in regmatch(). Use
11674 lalloc_clear() instead of lalloc(). (Walter Briscoe)
11675 Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c
11677 Patch 6.2.264 (after 6.2.247)
11678 Problem: Writing past allocated memory when using a command line from the
11680 Solution: Store the NUL in the right place.
11681 Files: src/ex_getln.c
11684 Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val"
11686 Solution: Do allow changing options in the sandbox, but not the ones that
11687 can't be changed from a modeline.
11688 Files: src/ex_cmds.h, src/options.c
11691 Problem: When redirecting output and using ":silent", line breaks are
11692 missing from output of ":map" and ":tselect". Alignment of
11694 Solution: Insert a line break where "msg_didout" was tested. Update msg_col
11695 when redirecting and using ":silent".
11696 Files: src/getchar.c, src/message.c
11698 Patch 6.2.267 (extra)
11699 Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte)
11700 Solution: Use the "name" item from the menu instead of the "dname" item.
11701 Files: src/gui_w32.c, src/menu.c
11704 Problem: GUI: When changing 'guioptions' part of the window may be off
11705 screen. (Randall Morris)
11706 Solution: Adjust the size of the window when changing 'guioptions', but only
11707 when adding something.
11711 Problem: Diff mode does not highlight a change in a combining character.
11713 Solution: Make diff_find_change() multi-byte aware: find the start byte of
11714 a character that contains a change.
11718 Problem: Completion in Insert mode, then repeating with ".", doesn't handle
11719 composing characters in the completed text. (Raphael Finkel)
11720 Solution: Don't skip over composing chars when adding completed text to the
11722 Files: src/getchar.c
11725 Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with
11726 an argument or environment variable is not secure.
11727 Solution: Wait after initializing the log. Allow passing the socket info
11728 through a file. (Gordon Prieur)
11729 Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c
11732 Problem: When the "po" directory exists, but "po/Makefile" doesn't,
11733 building fails. Make loops when the "po" directory has been
11734 deleted after running configure.
11735 Solution: Check for the "po/Makefile" instead of just the "po" directory.
11736 Check this again before trying to run make with that Makefile.
11737 Files: src/auto/configure, src/configure.in, src/Makefile
11740 Problem: Changing the sort order in an explorer window for an empty
11741 directory produces error messages. (Doug Kearns)
11742 Solution: When an invalid range is used for a function that is not going to
11743 be executed, skip over the arguments anyway.
11747 Problem: ":print" skips empty lines when 'list' is set and there is no
11748 "eol" in 'listchars'. (Yakov Lerner)
11749 Solution: Skip outputting a space for an empty line only when 'list' is set
11750 and the end-of-line character is not empty.
11751 Files: src/message.c
11753 Patch 6.2.275 (extra, after 6.2.267)
11754 Problem: Warning for uninitialized variable when using gcc.
11755 Solution: Initialize "acLen" to zero. (Bill McCarthy)
11756 Files: src/gui_w32.c
11759 Problem: ":echo X()" does not put a line break between the message that X()
11760 displays and the text that X() returns. (Yakov Lerner)
11761 Solution: Invoke msg_start() after evaluating the argument.
11765 Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive
11766 loop. (Robert Nowotniak)
11767 Solution: Restore "msg_list" before returning from do_cmdline().
11768 Files: src/ex_docmd.c
11771 Problem: Using "much" instead of "many".
11772 Solution: Correct the error message.
11776 Problem: There is no default choice for a confirm() dialog, now that it is
11777 possible not to have a default choice.
11778 Solution: Make the first choice the default choice.
11779 Files: runtime/doc/eval.txt, src/eval.c
11782 Problem: "do" and ":diffget" don't work in the first line and the last line
11783 of a buffer. (Aron Griffis)
11784 Solution: Find a difference above the first line and below the last line.
11785 Also fix a few display updating bugs.
11786 Files: src/diff.c, src/fold.c, src/move.c
11789 Problem: PostScript printing doesn't work on Mac OS X 10.3.2.
11790 Solution: Adjust the header file. (Mike Williams)
11791 Files: runtime/print/prolog.ps
11794 Problem: When using CTRL-O to go back to a help file, it becomes listed.
11796 Using ":tag" or ":tjump" in a help file doesn't keep the help file
11797 settings (e.g. for 'iskeyword').
11798 Solution: Don't mark a buffer as listed when its help flag is set. Put all
11799 the option settings for a help buffer together in do_ecmd().
11800 Files: src/ex_cmds.c
11803 Problem: The "local additions" in help.txt are used without conversion,
11804 causing latin1 characters showing up wrong when 'enc' is utf-8.
11805 (Antoine J. Mechelynck)
11806 Solution: Convert the text to 'encoding'.
11807 Files: src/ex_cmds.c
11810 Problem: Listing a function puts "endfunction" in the message history.
11811 Typing "q" at the more prompt isn't handled correctly when listing
11812 variables and functions. (Hara Krishna Dara)
11813 Solution: Don't use msg() for "endfunction". Check "got_int" regularly.
11817 Problem: GUI: In a single wrapped line that fills the window, "gj" in the
11818 last screen line leaves the cursor behind. (Ivan Tarasov)
11819 Solution: Undraw the cursor before scrolling the text up.
11823 Problem: When trying to rename a file and it doesn't exist, the destination
11824 file is deleted anyway. (Luc Deux)
11825 Solution: Don't delete the destination when the source doesn't exist. (Taro
11827 Files: src/fileio.c
11829 Patch 6.2.287 (after 6.2.264)
11830 Problem: Duplicate lines are added to the viminfo file.
11831 Solution: Compare with existing entries without an offset. Also fixes
11832 reading very long history lines from viminfo.
11833 Files: src/ex_getln.c
11835 Patch 6.2.288 (extra)
11836 Problem: Mac: An external program can't be interrupted.
11837 Solution: Don't use the 'c' key for backspace. (Eckehard Berns)
11838 Files: src/gui_mac.c
11841 Problem: Compiling the Tcl interface with thread support causes ":make" to
11842 fail. (Juergen Salk)
11843 Solution: Use $TCL_DEFS from the Tcl config script to obtain the required
11844 compile flags for using the thread library.
11845 Files: src/auto/configure, src/configure.in
11847 Patch 6.2.290 (extra)
11848 Problem: Mac: The mousewheel doesn't work.
11849 Solution: Add mousewheel support. Also fix updating the thumb after a drag
11850 and then using another way to scroll. (Eckehard Berns)
11851 Files: src/gui_mac.c
11853 Patch 6.2.291 (extra)
11854 Problem: Mac: the plus button and close button don't do anything.
11855 Solution: Make the plus button maximize the window and the close button
11856 close Vim. (Eckehard Berns)
11857 Files: src/gui.c, src/gui_mac.c
11860 Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows
11861 the last argument repeated.
11862 Solution: Set argv[argc] to NULL. (Michael Jarvis)
11863 Files: src/gui_x11.c
11865 Patch 6.2.293 (after 6.2.255)
11866 Problem: GTK: A new item in a menu is put before the tearoff item.
11867 Solution: Do increment the menu item index for non-popup menu items.
11868 Files: src/gui_gtk.c
11870 Patch 6.2.294 (extra)
11871 Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape.
11872 Solution: Handle all modifiers for these keys. (Eckehard Berns)
11873 Files: src/gui_mac.c
11876 Problem: When in debug mode, receiving a message from a remote client
11877 causes a crash. Evaluating an expression causes Vim to wait for
11878 "cont" to be typed, without a prompt. (Hari Krishna Dara)
11879 Solution: Disable debugging when evaluating an expression for a client.
11880 (Michael Geddes) Don't try reading into the typeahead buffer when
11881 it may have been filled in another way.
11882 Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c,
11883 src/misc1.c, src/proto/getchar.pro, src/proto/main.pro,
11884 src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h,
11885 src/os_unix.c, src/ui.c
11887 Patch 6.2.296 (extra)
11888 Problem: Same as 6.2.295.
11889 Solution: Extra files for patch 6.2.295.
11890 Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c,
11891 src/proto/os_amiga.pro, src/proto/os_msdos.pro,
11892 src/proto/os_riscos.pro, src/proto/os_win32.pro
11894 Patch 6.2.297 (after 6.2.232)
11895 Problem: Cannot invoke Python commands recursively.
11896 Solution: With Python 2.3 and later use the available mechanisms to invoke
11897 Python recursively. (Matthew Mueller)
11898 Files: src/if_python.c
11901 Problem: A change always sets the '. mark and an insert always sets the '^
11902 mark, even when this is not wanted.
11903 Cannot go back to the position of older changes without undoing
11905 Solution: Add the ":keepjumps" command modifier.
11906 Add the "g," and "g;" commands.
11907 Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c,
11908 src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro,
11909 src/structs.h, src/undo.c
11912 Problem: Can only use one language for help files.
11913 Solution: Add the 'helplang' option to select the preferred language(s).
11914 Make ":helptags" generate tags files for all languages.
11915 Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile,
11916 src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c,
11917 src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro,
11918 src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h,
11919 src/tag.c, src/vim.h
11921 Patch 6.2.300 (after 6.2.297)
11922 Problem: Cannot build Python interface with Python 2.2 or earlier.
11923 Solution: Add a semicolon.
11924 Files: src/if_python.c
11927 Problem: The "select all" item from the popup menu doesn't work for Select
11929 Solution: Use the same commands as for the "Edit.select all" menu.
11931 Files: runtime/menu.vim
11934 Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji
11936 Solution: Restore "restart_edit" after an insert command that was not typed.
11937 Avoid waiting with displaying the mode when there is no text to be
11939 Fix that "CTRL-O ." sometimes doesn't put the cursor back after
11940 the end-of-line. Only reset the flag that CTRL-O was used past
11941 the end of the line when restarting editing. Update "o_lnum"
11942 number when inserting text and "o_eol" is set.
11943 Files: src/edit.c, src/normal.c
11946 Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode.
11947 Solution: Convert the character from Unicode to 'encoding' when needed.
11948 Use the Unicode digraphs for the Macintosh. (Eckehard Berns)
11949 Files: src/digraph.c
11951 Patch 6.2.304 (extra, after 6.2.256)
11952 Problem: Mac: No proper support for 'encoding'. Conversion without iconv()
11954 Solution: Convert input from 'termencoding' to 'encoding'. Add
11955 mac_string_convert(). Convert text for the clipboard when needed.
11957 Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h
11959 Patch 6.2.305 (after 6.2.300)
11960 Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit
11962 Solution: Add two functions to the dynamic loading feature.
11963 Files: src/if_python.c
11965 Patch 6.2.306 (extra)
11966 Problem: Win32: Building console version with BCC 5.5 gives a warning for
11967 get_cmd_args() prototype missing. (Ajit Thakkar)
11968 Solution: Don't build os_w32exe.c for the console version.
11969 Files: src/Make_bc5.mak
11971 Patch 6.2.307 (after 6.2.299)
11972 Problem: Installing help files fails.
11973 Solution: Expand wildcards for translated help files separately.
11974 Files: src/Makefile
11977 Problem: Not all systems have "whoami", resulting in an empty user name.
11978 Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce)
11979 Files: src/Makefile
11982 Problem: "3grx" waits for two ESC to be typed. (Jens Paulus)
11983 Solution: Append the ESC to the stuff buffer when redoing the "gr" insert.
11987 Problem: When setting 'undolevels' to -1, making a change and setting
11988 'undolevels' to a positive value an "undo list corrupt" error
11989 occurs. (Madoka Machitani)
11990 Solution: Sync undo before changing 'undolevels'.
11991 Files: src/option.c
11993 Patch 6.2.311 (after 6.2.298)
11994 Problem: When making several changes in one line the changelist grows
11995 quickly. There is no error message for reaching the end of the
11996 changelist. Reading changelist marks from viminfo doesn't work
11998 Solution: Only make a new entry in the changelist when making a change in
11999 another line or 'textwidth' columns away. Add E662, E663 and E664
12000 error messages. Put a changelist mark from viminfo one position
12002 Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c
12004 Patch 6.2.312 (after 6.2.299)
12005 Problem: "make install" clears the screen when installing the docs.
12006 Solution: Execute ":helptags" in silent mode.
12007 Files: runtime/doc/Makefile
12010 Problem: When opening folds in a diff window, other diff windows no longer
12011 show the same text.
12012 Solution: Sync the folds in diff windows.
12013 Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro,
12017 Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise
12018 selection and using "$". (Moritz Orbach)
12019 Solution: Don't try replacing chars in a line that has no characters in the
12024 Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set
12025 stops Vim from returning to Insert mode.
12026 Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode'
12028 Files: src/normal.c
12030 Patch 6.2.316 (after 6.2.312)
12031 Problem: "make install" tries connecting to the X server when installing
12032 the docs. (Stephen Thomas)
12033 Solution: Add the "-X" argument.
12034 Files: runtime/doc/Makefile
12036 Patch 6.2.317 (after 6.2.313)
12037 Problem: When using "zi" in a diff window, other diff windows are not
12038 adjusted. (Richard Curnow)
12039 Solution: Distribute a change in 'foldenable' to other diff windows.
12040 Files: src/normal.c
12043 Problem: When compiling with _THREAD_SAFE external commands don't echo
12045 Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at
12047 Files: src/os_unix.c
12049 Patch 6.2.319 (extra)
12050 Problem: Building gvimext.dll with Mingw doesn't work properly.
12051 Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro
12053 Files: src/GvimExt/Make_ming.mak
12056 Problem: Win32: Adding and removing the menubar resizes the Vim window.
12058 Solution: Don't let a resize event change 'lines' unexpectedly.
12062 Problem: When using modeless selection, wrapping lines are not recognized,
12063 a line break is always inserted.
12064 Solution: Add LineWraps[] to remember whether a line wrapped or not.
12065 Files: src/globals.h, src/screen.c, src/ui.c
12068 Problem: With 'showcmd' set, after typing "dd" the next "d" may not be
12069 displayed. (Jens Paulus)
12070 Solution: Redraw the command line after updating the screen, scrolling may
12071 have set "clear_cmdline".
12072 Files: src/screen.c
12075 Problem: Win32: expanding "~/file" in an autocommand pattern results in
12076 backslashes, while this pattern should only have forward slashes.
12077 Solution: Make expanding environment variables respect 'shellslash' and set
12078 p_ssl when expanding the autocommand pattern.
12079 Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro
12081 Patch 6.2.324 (extra)
12082 Problem: Win32: when "vimrun.exe" has a path with white space, such as
12083 "Program Files", executing external commands may fail.
12084 Solution: Put double quotes around the path to "vimrun".
12085 Files: src/os_win32.c
12088 Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't
12089 work, the space is used to separate file names. (Brett Stahlman)
12090 Solution: Escape the space with a backslash.
12091 Files: src/option.c
12094 Problem: ":windo set syntax=foo" doesn't work. (Tim Chase)
12095 Solution: Don't change 'eventignore' for ":windo".
12096 Files: src/ex_cmds2.c
12099 Problem: When formatting text all marks in the formatted lines are lost.
12100 A word is not joined to a previous line when this would be
12101 possible. (Mikolaj Machowski)
12102 Solution: Try to keep marks in the same position as much as possible.
12103 Also keep mark positions when joining lines.
12104 Start auto-formatting in the previous line when appropriate.
12105 Add the "gw" operator: Like "gq" but keep the cursor where it is.
12106 Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c,
12107 src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro,
12108 src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h
12111 Problem: XIM with GTK: It is hard to understand what XIM is doing.
12112 Solution: Add xim_log() to log XIM events and help with debugging.
12116 Problem: ":=" does not work Vi compatible. (Antony Scriven)
12117 Solution: Print the last line number instead of the current line. Don't
12119 Files: src/ex_cmds.h, src/ex_docmd.c
12121 Patch 6.2.330 (extra, after 6.2.267)
12122 Problem: Win32: Crash when tearing off a menu.
12123 Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto)
12124 Files: src/gui_w32.c
12126 Patch 6.2.331 (after 6.2.327)
12127 Problem: "gwap" leaves cursor in the wrong line.
12128 Solution: Remember the cursor position before finding the ends of the
12130 Files: src/normal.c, src/ops.c, src/structs.h
12132 Patch 6.2.332 (extra)
12133 Problem: Amiga: Compile error for string array. Compiling the Amiga GUI
12135 Solution: Use a char pointer instead. Move including "gui_amiga.h" to after
12136 including "vim.h". Add a semicolon. (Ali Akcaagac)
12137 Files: src/gui_amiga.c, src/os_amiga.c
12139 Patch 6.2.333 (extra)
12140 Problem: Win32: printing doesn't work with specified font charset.
12141 Solution: Use the specified font charset. (Mike Williams)
12142 Files: src/os_mswin.c
12144 Patch 6.2.334 (extra, after 6.2.296)
12145 Problem: Win32: evaluating client expression in debug mode requires typing
12147 Solution: Use eval_client_expr_to_string().
12148 Files: src/os_mswin.c
12151 Problem: The ":sign" command cannot be followed by another command.
12152 Solution: Add TRLBAR to the command flags.
12153 Files: src/ex_cmds.h
12155 Patch 6.2.336 (after 6.2.327)
12156 Problem: Mixup of items in an expression.
12157 Solution: Move "== NUL" to the right spot.
12160 Patch 6.2.337 (extra, after 6.2.319)
12161 Problem: Building gvimext.dll with Mingw doesn't work properly.
12162 Solution: Fix white space and other details. (Alejandro Lopez-Valencia)
12163 Files: src/GvimExt/Make_ming.mak
12165 Patch 6.2.338 (after 6.2.331)
12166 Problem: When undoing "gwap" the cursor is always put at the start of the
12167 paragraph. When undoing auto-formatting the cursor may be above
12169 Solution: Try to move the cursor back to where it was or to the first line
12170 that actually changed.
12171 Files: src/normal.c, src/ops.c, src/undo.c
12174 Problem: Crash when using many different highlight groups and a User
12175 highlight group. (Juergen Kraemer)
12176 Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify
12177 use of the highlight group table.
12178 Files: src/syntax.c
12181 Problem: ":reg" doesn't show the actual contents of the clipboard if it was
12182 filled outside of Vim. (Stuart MacDonald)
12183 Solution: Obtain the clipboard contents before displaying it.
12186 Patch 6.2.341 (extra)
12187 Problem: Win32: When the path to diff.exe contains a space and using the
12188 vimrc generated by the install program, diff mode does not work.
12189 Solution: Put the first double quote just before the space instead of before
12191 Files: src/dosinst.c
12193 Patch 6.2.342 (extra)
12194 Problem: Win32: macros are not always used as expected.
12195 Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro
12197 Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak
12200 Problem: Title doesn't work with some window managers. X11: Setting the
12201 text property for the window title is hard coded.
12202 Solution: Use STRING format when possible. Use the UTF-8 function when
12203 it's available and 'encoding' is utf-8. Use
12204 XStringListToTextProperty(). Do the same for the icon name.
12206 Files: src/os_unix.c
12208 Patch 6.2.344 (extra, after 6.2.337)
12209 Problem: Cannot build gvimext.dll with MingW on Linux.
12210 Solution: Add support for cross compiling. (Ronald Hoellwarth)
12211 Files: src/GvimExt/Make_ming.mak
12213 Patch 6.2.345 (extra)
12214 Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set
12215 properly or there are illegal bytes.
12216 Solution: Use a raw byte format. Always set it when copying. When pasting
12217 use the raw format if 'encoding' is the same.
12218 Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h
12221 Problem: Win32 console: After using "chcp" Vim does not detect the
12222 different codepage.
12223 Solution: Use GetConsoleCP() and when it is different from GetACP() set
12225 Files: src/option.c
12227 Patch 6.2.347 (extra)
12228 Problem: Win32: XP theme support is missing.
12229 Solution: Add a manifest and refer to it from the resource file. (Michael
12231 Files: Makefile, src/gvim.exe.mnf, src/vim.rc
12234 Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname'
12235 default value doesn't contain parenthesis.
12236 Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name
12241 Problem: Finding a match using 'matchpairs' may cause a crash.
12242 'matchpairs' is not used for 'showmatch'.
12243 Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for
12244 'showmatch'. (Dave Olszewkski)
12245 Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c
12248 Problem: Not enough info about startup timing.
12249 Solution: Add a few more TIME_MSG() calls.
12253 Problem: Win32: $HOME may be set to %USERPROFILE%.
12254 Solution: Expand %VAR% at the start of $HOME.
12257 Patch 6.2.352 (after 6.2.335)
12258 Problem: ":sign texthl=||" does not work.
12259 Solution: Remove the check for a following command. Give an error for extra
12260 arguments after "buff=1".
12261 Files: src/ex_cmds.c, src/ex_cmds.h
12263 Patch 6.2.353 (extra)
12264 Problem: Win32: Supported server name length is limited. (Paul Bossi)
12265 Solution: Use MAX_PATH instead of 25.
12266 Files: src/os_mswin.c
12268 Patch 6.2.354 (extra)
12269 Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden
12270 when typing but is not redisplayed when moved. (Markx Hackmann)
12271 Solution: Handle the pointer move event for the tear-off menu window.
12272 Files: src/gui_w32.c
12274 Patch 6.2.355 (after 6.2.303)
12275 Problem: When 'encoding' is a double-byte encoding different from the
12276 current locale, the width of characters is not correct.
12277 Possible failure and memory leak when using iconv, Unicode
12278 digraphs and 'encoding' is not "utf-8".
12279 Solution: Use iconv() to discover the actual width of characters.
12280 Add the "vc_fail" field to vimconv_T.
12281 When converting a digraph, init the conversion type to NONE and
12282 cleanup afterwards.
12283 Files: src/digraph.c, src/mbyte.c, src/structs.h
12286 Problem: When using a double-byte 'encoding' and 'selection' is
12287 "exclusive", "vy" only yanks the first byte of a double-byte
12288 character. (Xiangjiang Ma)
12289 Solution: Correct the column in unadjust_for_sel() to position on the first
12290 byte, always include the trailing byte of the selected text.
12291 Files: src/normal.c
12293 Patch 6.2.357 (after 6.2.321)
12294 Problem: Memory leak when resizing the Vim window.
12295 Solution: Free the LineWraps array.
12296 Files: src/screen.c
12298 Patch 6.2.358 (after 6.2.299)
12299 Problem: Memory leak when using ":help" and the language doesn't match.
12300 Solution: Free the array with matching tags.
12301 Files: src/ex_cmds.c
12303 Patch 6.2.359 (after 6.2.352)
12304 Problem: Compiler warning for long to int type cast.
12305 Solution: Add explicit type cast.
12306 Files: src/ex_cmds.c
12309 Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol
12311 Solution: Recompute w_virtcol if the target column was not reached.
12314 Patch 6.2.361 (extra)
12315 Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while
12316 pressing Esc, then release Alt: Cursor disappears and typing a key
12317 causes a beep. (Hari Krishna Dara)
12318 Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled.
12319 Files: src/gui_w32.c
12321 Patch 6.2.362 (extra, after 6.2.347)
12322 Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts)
12323 Solution: Change "x86" to "X86". (Serge Pirotte)
12324 Files: src/gvim.exe.mnf
12327 Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler
12328 from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc>
12329 doesn't make it "0-1" again. Same problem for ruler in
12330 statusline. (Andrew Pimlott)
12331 Solution: Remember the "empty line" flag with Insert mode and'ed to it.
12332 Files: src/screen.c
12335 Problem: HTML version of the documentation doesn't mention the encoding,
12336 which is a problem for mbyte.txt.
12337 Solution: Adjust the awk script. (Ilya Sher)
12338 Files: runtime/doc/makehtml.awk
12341 Problem: The configure checks for Perl and Python may add compile and link
12342 arguments that break building Vim.
12343 Solution: Do a sanity check: try building with the arguments.
12344 Files: src/auto/configure, src/configure.in
12347 Problem: When the GUI can't start because no valid font is found, there is
12348 no error message. (Ugen)
12349 Solution: Add an error message.
12353 Problem: Building the help tags file while installing may fail if there is
12354 another Vim in $PATH.
12355 Solution: Specify the just installed Vim executable. (Gordon Prieur)
12356 Files: src/Makefile
12359 Problem: When 'autochdir' is set, closing a window doesn't change to the
12360 directory of the new current window. (Salman Halim)
12361 Solution: Handle 'autochdir' always when a window becomes the current one.
12362 Files: src/window.c
12365 Problem: Various memory leaks: when using globpath(), when searching for
12366 help tags files, when defining a function inside a function, when
12367 giving an error message through an exception, for the final "."
12368 line in ":append", in expression "cond ? a : b" that fails and for
12369 missing ")" in an expression. Using NULL pointer when adding
12370 first user command and for pointer computations with regexp.
12371 (tests by Dominique Pelle)
12372 Solution: Fix the leaks by freeing the allocated memory. Don't use the
12373 array of user commands when there are no entries. Use a macro
12374 instead of a function call for saving and restoring regexp states.
12375 Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c,
12376 src/misc2.c, src/regexp.c, src/screen.c, src/tag.c
12378 Patch 6.2.370 (extra, after6.2.341)
12379 Problem: Win32: When the path to diff.exe contains a space and using the
12380 vimrc generated by the install program, diff mode may not work.
12381 (Alejandro Lopez-Valencia)
12382 Solution: Do not use double quotes for arguments that do not have a space.
12383 Files: src/dosinst.c
12386 Problem: When 'virtualedit' is set and there is a Tab before the next "x",
12387 "dtx" does not delete the whole Tab. (Ken Hashishi)
12388 Solution: Move the cursor to the last position of the Tab. Also for
12390 Files: src/normal.c
12393 Problem: When using balloon evaluation, no value is displayed for members
12394 of structures and items of an array.
12395 Solution: Include "->", "." and "[*]" in the expression.
12396 Files: src/gui_beval.c, src/normal.c, src/vim.h
12399 Problem: When 'winminheight' is zero and a window is reduced to zero
12400 height, the ruler always says "Top" instead of the cursor
12401 position. (Antoine J. Mechelynck)
12402 Solution: Don't recompute w_topline for a zero-height window.
12403 Files: src/window.c
12406 Problem: ":echo "hello" | silent normal n" removes the "hello" message.
12408 Solution: Don't echo the search string when ":silent" was used. Also don't
12409 show the mode. In general: don't clear to the end of the screen.
12410 Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro,
12411 src/screen.c, src/search.c, src/window.c
12414 Problem: When changing 'guioptions' the hit-enter prompt may be below the
12415 end of the Vim window.
12416 Solution: Call screen_alloc() before showing the prompt.
12417 Files: src/message.c
12420 Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
12421 Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina)
12422 Files: src/if_ruby.c
12424 Patch 6.2.377 (after 6.2.372)
12425 Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey)
12426 Solution: Add type cast.
12427 Files: src/normal.c
12429 Patch 6.2.378 (extra, after 6.2.118)
12430 Problem: Mac: cannot build with Project Builder.
12431 Solution: Add remove_tail_with_ext() to locate and remove the "build"
12432 directory from the runtime path. Include os_unix.c when needed.
12434 Files: src/misc1.c, src/os_macosx.c, src/vim.h
12437 Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to
12438 "delete". (Michael Naumann)
12439 Solution: Do not add buffer-specific option values to a global vimrc file.
12440 Files: src/option.c
12442 Patch 6.2.380 (extra)
12443 Problem: DOS: "make test" fails when running it again. Can't "make test"
12445 Solution: Make sure ".out" files are deleted when they get in the way. Add
12446 a "test" target to the Borland C Makefile.
12447 Files: src/Make_bc5.mak, src/testdir/Make_dos.mak
12450 Problem: Setting 'fileencoding' to a comma separated list (confusing it
12451 with 'fileencodings') does not result in an error message.
12452 Setting 'fileencoding' in an empty file marks it as modified.
12453 There is no "+" in the title after setting 'fileencoding'.
12454 Solution: Check for a comma in 'fileencoding'. Only consider a non-empty
12455 file modified by changing 'fileencoding'. Update the title after
12456 changing 'fileencoding'.
12457 Files: src/option.c
12460 Problem: Running "make test" puts marks from test files in viminfo.
12461 Solution: Specify a different viminfo file to use.
12462 Files: src/testdir/test15.in, src/testdir/test49.in
12465 Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven)
12466 Solution: Check that the closing ' is there.
12467 Files: src/syntax.c
12470 Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated.
12471 Solution: Also compare the names without '&' characters.
12474 Patch 6.2.385 (extra)
12475 Problem: Win32: forward_slash() and trash_input_buf() are undefined when
12476 compiling with small features. (Ajit Thakkar)
12477 Solution: Change the #ifdefs for forward_slash(). Don't call
12478 trash_input_buf() if the input buffer isn't used.
12479 Files: src/fileio.c, src/os_win32.c
12482 Problem: Wasting time trying to read marks from the viminfo file for a
12483 buffer without a name.
12484 Solution: Skip reading marks when the buffer has no name.
12485 Files: src/fileio.c
12488 Problem: There is no highlighting of translated items in help files.
12489 Solution: Search for a "help_ab.vim" syntax file when the help file is
12490 called "*.abx". Also improve the help highlighting a bit.
12491 Files: runtime/syntax/help.vim
12494 Problem: GTK: When displaying some double-width characters they are drawn
12495 as single-width, because of conversion to UTF-8.
12496 Solution: Check the width that GTK uses and add a space if it's one instead
12498 Files: src/gui_gtk_x11.c
12501 Problem: When working over a slow connection, it's very annoying that the
12502 last line is partly drawn and then cleared for every change.
12503 Solution: Don't redraw the bottom line if no rows were inserted or deleted.
12504 Don't draw the line if we know "@" lines will be used.
12505 Files: src/screen.c
12508 Problem: Using "r*" in Visual mode on multi-byte characters only replaces
12509 every other character. (Tyson Roberts)
12510 Solution: Correct the cursor position after replacing each character.
12513 Patch 6.2.391 (extra)
12514 Problem: The ":highlight" command is not tested.
12515 Solution: Add a test script for ":highlight".
12516 Files: src/testdir/Makefile, src/testdir/Make_amiga.mak,
12517 src/testdir/Make_dos.mak, src/testdir/Make_os2.mak,
12518 src/testdir/Make_vms.mms, src/testdir/test51.in,
12519 src/testdir/test51.ok
12521 Patch 6.2.392 (after 6.2.384)
12522 Problem: Unused variable.
12523 Solution: Remove "dlen".
12527 Problem: When using very long lines the viminfo file can become very big.
12528 Solution: Add the "s" flag to 'viminfo': skip registers with more than the
12529 specified Kbyte of text.
12530 Files: runtime/doc/options.txt, src/ops.c, src/option.c
12532 Patch 6.2.394 (after 6.2.391)
12533 Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis)
12534 Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute.
12535 Files: src/testdir/test51.in
12538 Problem: When using ":tag" or ":pop" the previous matching tag is used.
12539 But since the current file is different, the ordering of the tags
12541 Solution: Remember what the current buffer was for when re-using cur_match.
12542 Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h,
12546 Problem: When CTRL-T jumps to another file and an autocommand moves the
12547 cursor to the '" mark, don't end up on the right line. (Michal
12549 Solution: Set the line number after loading the file.
12553 Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work.
12554 (Yasuhiro Matsumoto)
12555 Solution: Do not set the 8th bit of the character but use a modifier.
12556 Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c
12558 Patch 6.2.398 (extra)
12559 Problem: Win32 console: no extra key modifiers are supported.
12560 Solution: Encode the modifiers into the input stream. Also fix that special
12561 keys are converted and stop working when 'tenc' is set. Also fix
12562 that when 'tenc' is initialized the input and output conversion is
12563 not setup properly until 'enc' or 'tenc' is set.
12564 Files: src/getchar.c, src/option.c, src/os_win32.c
12567 Problem: A ":set" command that fails still writes a message when it is
12568 inside a try/catch block.
12569 Solution: Include all the text of the message in the error message.
12570 Files: src/charset.c, src/option.c
12573 Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0.
12574 Solution: Include header file poll.h. (Malte Neumann)
12575 Files: src/if_xcmdsrv.c
12578 Problem: When opening a buffer that was previously opened, Vim does not
12579 restore the cursor position if the first line starts with white
12580 space. (Gregory Margo)
12581 Solution: Don't skip restoring the cursor position if it is past the blanks
12583 Files: src/buffer.c
12586 Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher)
12587 Solution: Generate help tags before copying the runtime files.
12588 Files: src/Makefile
12591 Problem: ":@y" checks stdin if there are more commands to execute. This
12592 fails if stdin is not connected, e.g., when starting the GUI from
12594 Solution: Only check for a next command if there still is typeahead.
12595 Files: src/ex_docmd.c
12598 Problem: Our own function to determine width of Unicode characters may get
12599 outdated. (Markus Kuhn)
12600 Solution: Use wcwidth() when it is available. Also use iswprint().
12601 Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c
12604 Problem: Cannot map zero without breaking the count before a command.
12606 Solution: Disable mapping zero when entering a count.
12607 Files: src/getchar.c, src/globals.h, src/normal.c
12610 Problem: ":help \zs", ":help \@=" and similar don't find useful help.
12611 Solution: Prepend "/\" to the arguments to find the desired help tag.
12612 Files: src/ex_cmds.c
12614 Patch 6.2.407 (after 6.2.299)
12615 Problem: ":help \@<=" doesn't find help.
12616 Solution: Avoid that ":help \@<=" searches for the "<=" language.
12620 Problem: ":compiler" is not consistent: Sets local options and a global
12621 variable. (Douglas Potts) There is no error message when a
12622 compiler is not supported.
12623 Solution: Use ":compiler!" to set a compiler globally, otherwise it's local
12624 to the buffer and "b:current_compiler" is used. Give an error
12625 when no compiler script could be found.
12626 Note: updated compiler plugins can be found at
12627 ftp://ftp.vim.org/pub/vim/runtime/compiler/
12628 Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c,
12632 Problem: The cursor ends up in the last column instead of after the line
12633 when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)".
12635 Solution: Adjust the cursor as if in Insert mode.
12638 Patch 6.2.410 (after 6.2.389)
12639 Problem: In diff mode, when there are more filler lines than fit in the
12640 window, they are not drawn.
12641 Solution: Check for filler lines when skipping to draw a line that doesn't
12643 Files: src/screen.c
12646 Problem: A "\n" inside a string is not seen as a line break by the regular
12647 expression matching. (Hari Krishna Dara)
12648 Solution: Add the vim_regexec_nl() function for strings where "\n" is to be
12649 matched with a line break.
12650 Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c
12653 Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also
12654 for ":python", ":tcl" and ":perl".
12655 Solution: Check for "<< marker" and skip until "marker" before checking for
12659 Patch 6.2.413 (after 6.2.411)
12660 Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky)
12661 Solution: Now really include the prototype.
12662 Files: src/proto/regexp.pro
12665 Problem: The function used for custom completion of user commands cannot
12666 have <SID> to make it local. (Hari Krishna Dara)
12667 Solution: Pass the SID of the script where the user command was defined on
12668 to the completion. Also clean up #ifdefs.
12669 Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h
12672 Problem: Vim may crash after a sequence of events that change the window
12673 size. The window layout assumes a larger window than is actually
12674 available. (Servatius Brandt)
12675 Solution: Invoke win_new_shellsize() from screenalloc() instead of from
12677 Files: src/screen.c, src/term.c
12680 Problem: Compiler warning for incompatible pointer.
12681 Solution: Remove the "&" in the call to poll(). (Xavier de Gaye)
12682 Files: src/os_unix.c
12684 Patch 6.2.417 (after 6.2.393)
12685 Problem: Many people forget that the '"' item in 'viminfo' needs to be
12686 preceded with a backslash,
12687 Solution: Add '<' as an alias for the '"' item.
12688 Files: runtime/doc/options.txt, src/ops.c, src/option.c
12691 Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx":
12692 when pressing <F12> still uses the abbreviation. (Hari Krishna)
12693 Solution: Also apply "noremap" to abbreviations.
12694 Files: src/getchar.c
12696 Patch 6.2.419 (extra)
12697 Problem: Win32: Cannot open the Vim window inside another application.
12698 Solution: Add the "-P" argument to specify the window title of the
12699 application to run inside. (Zibo Zhao)
12700 Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c,
12701 src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c,
12702 src/proto/gui_w32.pro
12705 Problem: Cannot specify a file to be edited in binary mode without setting
12706 the global value of the 'binary' option.
12707 Solution: Support ":edit ++bin file".
12708 Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h,
12709 src/ex_docmd.c, src/fileio.c, src/misc2.c
12712 Problem: Cannot set the '[ and '] mark, which may be necessary when an
12713 autocommand simulates reading a file.
12714 Solution: Allow using "m[" and "m]".
12715 Files: runtime/doc/motion.txt, src/mark.c
12718 Problem: In CTRL-X completion messages the "/" makes them less readable.
12719 Solution: Remove the slashes. (Antony Scriven)
12723 Problem: ":vertical wincmd ]" does not split vertically.
12724 Solution: Add "postponed_split_flags".
12725 Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c
12728 Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from
12729 working in Insert mode (Normal mode is OK). (Gregory Seidman)
12730 Solution: In the Insert mode loop invoke gui_mouse_correct() when needed.
12734 Problem: Vertical split and command line window: can only drag status line
12735 above the cmdline window on the righthand side, not lefthand side.
12736 Solution: Check the status line row instead of the window pointer.
12740 Problem: A syntax region end match with a matchgroup that includes a line
12741 break only highlights the last line with matchgroup. (Gary
12743 Solution: Also use the line number of the position where the region
12745 Files: src/syntax.c
12747 Patch 6.2.427 (extra)
12748 Problem: When pasting a lot of text in a multi-byte encoding, conversion
12749 from 'termencoding' to 'encoding' may fail for some characters.
12751 Solution: When there is an incomplete byte sequence at the end of the read
12752 text keep it for the next time.
12753 Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro,
12754 src/proto/os_mswin.pro, src/ui.c
12757 Problem: The X11 clipboard supports the Vim selection for char/line/block
12758 mode, but since the encoding is not included can't copy/paste
12759 between two Vims with a different 'encoding'.
12760 Solution: Add a new selection format that includes the 'encoding'. Perform
12761 conversion when necessary.
12762 Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h
12765 Problem: Unix: glob() doesn't work for a directory with a single quote in
12766 the name. (Nazri Ramliy)
12767 Solution: When using the shell to expand, only put double quotes around
12768 spaces and single quotes, not the whole thing.
12769 Files: src/os_unix.c
12772 Problem: BOM at start of a vim script file is not recognized and causes an
12774 Solution: Detect the BOM and skip over it. Also fix that after using
12775 ":scriptencoding" the iconv() file descriptor was not closed
12777 Files: src/ex_cmds2.c
12780 Problem: When using the horizontal scrollbar, the scrolling is limited to
12781 the length of the cursor line.
12782 Solution: Make the scroll limit depend on the longest visible line. The
12783 cursor is moved when necessary. Including the 'h' flag in
12784 'guioptions' disables this.
12785 Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c,
12786 src/misc2.c, src/option.h
12788 Patch 6.2.432 (after 6.2.430 and 6.2.431)
12789 Problem: Lint warnings.
12790 Solution: Add type casts.
12791 Files: src/ex_cmds2.c, src/gui.c
12794 Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good
12795 result. (Alejandro Lopez Valencia)
12796 Solution: Use a string for each combination.
12797 Files: src/screen.c
12799 Patch 6.2.434 (after 6.2.431)
12800 Problem: Compiler warning. (Salman Halim)
12801 Solution: Add type casts.
12805 Problem: When there are vertically split windows the minimal Vim window
12806 height is computed wrong.
12807 Solution: Use frame_minheight() to correctly compute the minimal height.
12808 Files: src/window.c
12811 Problem: Running the tests changes the user's viminfo file.
12812 Solution: In test 49 tell the extra Vim to use the test viminfo file.
12813 Files: src/testdir/test49.vim
12816 Problem: ":mksession" always puts "set nocompatible" in the session file.
12817 This changes option settings. (Ron Aaron)
12818 Solution: Add an "if" to only change 'compatible' when needed.
12819 Files: src/ex_docmd.c
12822 Problem: When the 'v' flag is present in 'cpoptions', backspacing and then
12823 typing text again: one character too much is overtyped before
12824 inserting is done again.
12825 Solution: Set "dollar_vcol" to the right column.
12829 Problem: GTK 2: Changing 'lines' may cause a mismatch between the window
12830 layout and the size of the window.
12831 Solution: Disable the hack with force_shell_resize_idle().
12832 Files: src/gui_gtk_x11.c
12835 Problem: When 'lazyredraw' is set the window title is still updated.
12836 The size of the Visual area and the ruler are displayed too often.
12837 Solution: Postpone redrawing the window title. Only show the Visual area
12838 size when waiting for a character. Don't draw the ruler
12840 Files: src/buffer.c, src/normal.c, src/screen.c
12843 Problem: ":unabbreviate foo " doesn't work, because of the trailing space,
12844 while an abbreviation with a trailing space is not possible. (Paul
12846 Solution: Accept a match with the lhs of an abbreviation without the
12848 Files: src/getchar.c
12851 Problem: Cannot manipulate the command line from a function.
12852 Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the
12854 Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c
12855 src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
12859 Problem: With ":silent! echoerr something" you don't get the position of
12860 the error. emsg() only writes the message itself and returns.
12861 Solution: Also redirect the position of the error.
12862 Files: src/message.c
12865 Problem: When adding the 'c' flag to a ":substitute" command it may replace
12866 more times than without the 'c' flag. Happens for a match that
12867 starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus
12869 Solution: Correct "prev_matchcol" when replacing the line. Don't replace
12870 the line when the pattern uses look-behind matching.
12871 Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c
12874 Problem: Copying vimtutor to /tmp/something is not secure, a symlink may
12876 Solution: Create a directory and create the file in it. Use "umask" to
12877 create the directory with mode 700. (Stefan Nordhausen)
12878 Files: src/vimtutor
12880 Patch 6.2.446 (after 6.2.404)
12881 Problem: Using library functions wcwidth() and iswprint() results in
12882 display problems for Hebrew characters. (Ron Aaron)
12883 Solution: Disable the code to use the library functions, use our own.
12886 Patch 6.2.447 (after 6.2.440)
12887 Problem: Now that the title is only updated when redrawing, it is no longer
12888 possible to show it while executing a function. (Madoka Machitani)
12889 Solution: Make ":redraw" also update the title.
12890 Files: src/ex_docmd.c
12892 Patch 6.2.448 (after 6.2.427)
12893 Problem: Mac: conversion done when 'termencoding' differs from 'encoding'
12894 fails when pasting a longer text.
12895 Solution: Check for an incomplete sequence at the end of the chunk to be
12896 converted. (Eckehard Berns)
12899 Patch 6.2.449 (after 6.2.431)
12900 Problem: Get error messages when switching files.
12901 Solution: Check for a valid line number when calculating the width of the
12902 horizontal scrollbar. (Helmut Stiegler)
12906 Problem: " #include" and " #define" are not recognized with the default
12907 option values for 'include' and 'defined'. (RG Kiran)
12908 Solution: Adjust the default values to allow white space before the #.
12909 Files: runtime/doc/options.txt, src/option.c
12912 Problem: GTK: when using XIM there are various problems, including setting
12913 'modified' and breaking undo at the wrong moment.
12914 Solution: Add "xim_changed_while_preediting", "preedit_end_col" and
12915 im_is_preediting(). (Yasuhiro Matsumoto)
12916 Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c,
12917 src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c,
12921 Problem: In diff mode, when DiffAdd and DiffText highlight settings are
12922 equal, an added line is highlighted with DiffChange. (Tom Schumm)
12923 Solution: Remember the diff highlight type instead of the attributes.
12924 Files: src/screen.c
12927 Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar".
12929 Solution: When the pattern can match a line break also try matching at the
12930 NUL at the end of a line.
12931 Files: src/ex_cmds.c, src/regexp.c
12934 Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let
12935 b:changedtick = 99" does not give an error message.
12936 Solution: Add code to recognize ":let b:changedtick".
12939 Patch 6.2.455 (after 6.2.297)
12940 Problem: In Python commands the current locale changes how certain Python
12941 functions work. (Eugene M. Minkovskii)
12942 Solution: Set the LC_NUMERIC locale to "C" while executing a Python command.
12943 Files: src/if_python.c
12945 Patch 6.2.456 (extra)
12946 Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or
12947 using the file selection dialog) doesn't work. (Yakov Lerner, Alex
12949 Solution: Use wide character functions when file names are involved and
12950 convert from/to 'encoding' where needed.
12951 Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c,
12952 src/os_mswin.c, src/os_win32.c
12954 Patch 6.2.457 (after 6.2.244)
12955 Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80
12956 in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm)
12957 Solution: Correct the utf_ptr2len_check_len() function and fix the problem
12958 of displaying 0xf7 in utfc_ptr2len_check_len().
12962 Problem: When 'virtualedit' is set "$" doesn't move to the end of an
12963 unprintable character, causing "y$" not to include that character.
12965 Solution: Set "coladd" to move the cursor to the end of the character.
12968 Patch 6.2.459 (after 6.2.454)
12969 Problem: Variable "b" cannot be written. (Salman Halim)
12970 Solution: Compare strings properly.
12973 Patch 6.2.460 (extra, after 6.2.456)
12974 Problem: Compiler warnings for missing prototypes.
12975 Solution: Include the missing prototypes.
12976 Files: src/proto/os_win32.pro
12979 Problem: After using a search command "x" starts putting single characters
12980 in the numbered registers.
12981 Solution: Reset "use_reg_one" at the right moment.
12982 Files: src/normal.c
12985 Problem: Finding a matching parenthesis does not correctly handle a
12986 backslash in a trailing byte.
12987 Solution: Handle multi-byte characters correctly. (Taro Muraoka)
12988 Files: src/search.c
12990 Patch 6.2.463 (extra)
12991 Problem: Win32: An NTFS file system may contain files with extra info
12992 streams. The current method to copy them creates one and then
12993 deletes it again. (Peter Toennies) Also, only three streams with
12994 hard coded names are copied.
12995 Solution: Use BackupRead() to check which info streams the original file
12996 contains and only copy these streams.
12997 Files: src/os_win32.c
12999 Patch 6.2.464 (extra, after 6.2.427)
13000 Problem: Amiga: Compilation error with gcc. (Ali Akcaagac)
13001 Solution: Move the #ifdef outside of Read().
13002 Files: src/os_amiga.c
13005 Problem: When resizing the GUI window the window manager sometimes moves it
13006 left of or above the screen. (Michael McCarty)
13007 Solution: Check the window position after resizing it and move it onto the
13008 screen when it isn't.
13011 Patch 6.2.466 (extra, after 6.2.456)
13012 Problem: Win32: Compiling with Borland C fails, and an un/signed warning.
13013 Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
13015 Files: src/os_win32.c
13017 Patch 6.2.467 (extra, after 6.2.463)
13018 Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar)
13019 Solution: Add #ifdefs around the info stream code.
13020 Files: src/os_win32.c
13023 Problem: Compiler warnings for shadowed variables. (Matthias Mohr)
13024 Solution: Delete superfluous variables and rename others.
13025 Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c,
13026 src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c,
13029 Patch 6.2.469 (extra, after 6.2.456)
13030 Problem: Win32: Can't create swap file when 'encoding' differs from the
13031 active code page. (Kriton Kyrimis)
13032 Solution: In enc_to_ucs2() terminate the converted string with a NUL
13033 Files: src/os_mswin.c
13036 Problem: The name returned by tempname() may be equal to the file used for
13037 shell output when ignoring case.
13038 Solution: Skip 'O' and 'I' in tempname().
13042 Problem: "-L/usr/lib" is used in the link command, even though it's
13043 supposed to be filtered out. "-lw" and "-ldl" are not
13044 automatically added when needed for "-lXmu". (Antonio Colombo)
13045 Solution: Check for a space after the argument instead of before. Also
13046 remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl"
13047 before trying "-lXmu".
13048 Files: src/auto/configure, src/configure.in, src/link.sh
13051 Problem: When using a FileChangedShell autocommand that changes the current
13052 buffer, a buffer exists that can't be wiped out.
13053 Also, Vim sometimes crashes when executing an external command
13054 that changes the buffer and a FileChangedShell autocommand is
13055 used. (Hari Krishna Dara)
13056 Users are confused by the warning for a file being changed outside
13058 Solution: Avoid that the window counter for a buffer is incremented twice.
13059 Avoid that buf_check_timestamp() is used recursively.
13060 Add a hint to look in the help for more info.
13061 Files: src/ex_cmds.c, src/fileio.c
13064 Problem: Using CTRL-] in a help buffer without a name causes a crash.
13065 Solution: Check for name to be present before using it. (Taro Muraoka)
13068 Patch 6.2.474 (extra, after 6.2.456)
13069 Problem: When Vim is starting up conversion is done unnecessarily. Failure
13070 to find the runtime files on Windows 98. (Randall W. Morris)
13071 Solution: Init enc_codepage negative, only use it when not negative.
13072 Don't use GetFileAttributesW() on Windows 98 or earlier.
13073 Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c,
13077 Problem: Commands after "perl <<EOF" are parsed as Vim commands when they
13079 Solution: Properly skip over the perl commands.
13080 Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c,
13081 src/if_ruby.c, src/if_tcl.c, src/misc2.c
13084 Problem: When reloading a hidden buffer changed outside of Vim and the
13085 current buffer is read-only, the reloaded buffer becomes
13086 read-only. (Hari Krishna Dara)
13087 Solution: Save the 'readonly' flag of the reloaded buffer instead of the
13089 Files: src/fileio.c
13092 Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang.
13094 Solution: When the resulting string is empty don't set received_from_client.
13098 Problem: Win32: "--remote file" fails changing directory if the current
13099 directory name starts with a single quote. (Iestyn Walters)
13100 Solution: Add a backslash where it will be removed later.
13101 Files: src/main.c, src/misc2.c, src/proto/misc2.pro
13104 Problem: The error message for errors during recovery goes unnoticed.
13105 Solution: Avoid that the hit-enter prompt overwrites the message. Add a few
13106 lines to make the error stand out.
13107 Files: src/main.c, src/message.c, src/memline.c
13110 Problem: NetBeans: Using negative index in array. backslash at end of
13111 message may cause Vim to crash. (Xavier de Gaye)
13112 Solution: Initialize buf_list_used to zero. Check for trailing backslash.
13113 Files: src/netbeans.c
13116 Problem: When writing a file it is not possible to specify that hard and/or
13117 symlinks are to be broken instead of preserved.
13118 Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'.
13120 Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h
13123 Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is
13124 considered to be a digit. (Juergen Kraemer)
13125 Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for
13126 speed where possible. Also add vim_isxdigit().
13127 Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c,
13128 src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c,
13129 src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c,
13130 src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c,
13131 src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h,
13132 src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c,
13133 src/misc2.c, src/normal.c, src/ops.c, src/option.c,
13134 src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c,
13135 src/syntax.c, src/tag.c, src/term.c, src/termlib.c
13137 Patch 6.2.483 (extra, after 6.2.482)
13138 Problem: See 6.2.482.
13139 Solution: Extra part of patch 6.2.482.
13140 Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c
13143 Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z
13144 are not recognized. (Peter Keresztes)
13145 Solution: Write the files with unix fileformat and invoke diff with --binary
13150 Problem: A BufWriteCmd autocommand cannot know if "!" was used or not.
13151 (Hari Krishna Dara)
13152 Solution: Add the v:cmdbang variable.
13153 Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro,
13154 src/fileio.c, src/vim.h
13156 Patch 6.2.486 (6.2.482)
13157 Problem: Diff for eval.c is missing.
13158 Solution: Addition to patch 6.2.482.
13161 Patch 6.2.487 (extra, after 6.2.456)
13162 Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia)
13163 Solution: Delete the prototype for Handle_WM_Notify().
13164 Files: src/proto/gui_w32.pro
13167 Problem: Missing ")" in *.ch filetype detection.
13168 Solution: Add the ")". (Ciaran McCreesh)
13169 Files: runtime/filetype.vim
13172 Problem: When accidentally opening a session in Vim which has already been
13173 opened in another Vim there is a long row of ATTENTION prompts.
13174 Need to quit each of them to get out. (Robert Webb)
13175 Solution: Add the "Abort" alternative to the dialog.
13176 Files: src/memline.c
13179 Problem: With 'paragraph' it is not possible to use a single dot as a
13180 paragraph boundary. (Dorai Sitaram)
13181 Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
13183 Files: src/search.c
13186 Problem: Decrementing a position doesn't take care of multi-byte chars.
13187 Solution: Adjust the column for multi-byte characters. Remove mb_dec().
13188 (Yasuhiro Matsumoto)
13189 Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
13192 Problem: When using ":redraw" while there is a message, the next ":echo"
13193 still causes text to scroll. (Yasuhiro Matsumoto)
13194 Solution: Reset msg_didout and msg_col, so that after ":redraw" the next
13195 message overwrites an existing one.
13196 Files: src/ex_docmd.c
13199 Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher)
13200 Solution: Put "restart_edit" in the typeahead buffer, so that it's used
13201 after executing the register contents.
13205 Problem: Using diff mode with two windows, when moving horizontally in
13206 inserted lines, a fold in the other window may open.
13207 Solution: Compute the line number in the other window correctly.
13210 Patch 6.2.495 (extra, after 6.2.456)
13211 Problem: Win32: The file dialog doesn't work on Windows 95.
13212 Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use
13213 it only on Windows NT/2000/XP.
13214 Files: src/gui_w32.c, src/gui_w48.c
13217 Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a
13218 complicated pattern may cause Vim to crash. Catching the signal
13220 Solution: When compiled with threads, instead of using the normal stacksize
13221 limit, use the size of the initial stack.
13222 Files: src/auto/configure, src/config.h.in, src/configure.in,
13225 Patch 6.2.497 (extra)
13226 Problem: Russian messages are only available in one encoding.
13227 Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin)
13228 Files: src/po/Makefile
13231 Problem: Non-latin1 help files are not properly supported.
13232 Solution: Support utf-8 help files and convert them to 'encoding' when
13234 Files: src/fileio.c
13237 Problem: When writing a file and halting the system, the file might be lost
13238 when using a journaling file system.
13239 Solution: Use fsync() to flush the file data to disk after writing a file.
13241 Files: src/fileio.c
13243 Patch 6.2.500 (extra)
13244 Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for
13246 Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez-
13248 Files: src/dosinst.c
13251 Problem: Vim does not compile with MorphOS.
13252 Solution: Add a Makefile and a few changes to make Vim work with MorphOS.
13254 Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt,
13255 src/Make_morphos.mak, src/memfile.c, src/term.c
13258 Problem: Building fails for generating message files.
13259 Solution: Add dummy message files.
13260 Files: src/po/ca.po, src/po/ru.po, src/po/sv.po
13263 Problem: Mac: Can't compile MacRoman conversions without the GUI.
13264 Solution: Also link with the Carbon framework for the terminal version, for
13265 the MacRoman conversion functions. (Eckehard Berns)
13266 Remove -ltermcap from the GUI link command, it is not needed.
13267 Files: src/auto/configure, src/Makefile, src/configure.in
13270 Problem: Various problems with 'cindent', among which that a
13271 list of variable declarations is not indented properly.
13272 Solution: Fix the wrong indenting. Improve indenting of C++ methods.
13273 Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by
13275 Improve indenting of preprocessor-continuation lines.
13276 Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in,
13277 src/testdir/test3.ok
13280 Problem: Help for -P argument is missing. (Ronald Hoellwarth)
13281 Solution: Add the patch that was missing in 6.2.419.
13282 Files: runtime/doc/starting.txt
13284 Patch 6.2.506 (extra)
13285 Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file
13286 only works when iconv is available. Writing a file in another
13287 codepage uses the wrong kind of conversion.
13288 Solution: Use internal conversion functions. Enable reading and writing
13289 files with 'fileencoding' different from 'encoding' for all valid
13290 codepages and utf-8 without the need for iconv.
13291 Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in,
13292 src/testdir/test52.ok
13295 Problem: The ownership of the file with the password for the NetBeans
13296 connection is not checked. "-nb={file}" doesn't work for GTK.
13297 Solution: Only accept the file when owned by the user and not accessible by
13298 others. Detect "-nb=" for GTK.
13299 Files: src/netbeans.c, src/gui_gtk_x11.c
13302 Problem: Win32: "v:lang" does not show the current language for messages if
13303 it differs from the other locale settings.
13304 Solution: Use the value of the $LC_MESSAGES environment variable.
13305 Files: src/ex_cmds2.c
13307 Patch 6.2.509 (after 6.2.508)
13308 Problem: Crash when $LANG is not set.
13309 Solution: Add check for NULL pointer. (Ron Aaron)
13310 Files: src/ex_cmds2.c
13312 Patch 6.2.510 (after 6.2.507)
13313 Problem: Warning for pointer conversion.
13314 Solution: Add a type cast.
13315 Files: src/gui_gtk_x11.c
13318 Problem: Tags in Russian help files are in utf-8 encoding, which may be
13319 different from 'encoding'.
13320 Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the
13321 encoding of the tags. Convert help tags from 'encoding' to the
13322 tag file encoding when searching for matches, do the reverse when
13324 Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c
13327 Problem: Translating "\"\n" is useless. (Gerfried Fuchs)
13328 Solution: Remove the _() around it.
13329 Files: src/main.c, src/memline.c
13331 Patch 6.2.513 (after 6.2.507)
13332 Problem: NetBeans: the check for owning the connection info file can be
13333 simplified. (Nikolay Molchanov)
13334 Solution: Only check if the access mode is right.
13335 Files: src/netbeans.c
13338 Problem: When a highlight/syntax group name contains invalid characters
13339 there is no warning.
13340 Solution: Add an error for unprintable characters and a warning for other
13341 invalid characters.
13342 Files: src/syntax.c
13345 Problem: When using the options window 'swapfile' is reset.
13346 Solution: Use ":setlocal" instead of ":set".
13347 Files: runtime/optwin.vim
13350 Problem: The sign column cannot be seen, looks like there are two spaces
13351 before the text. (Rob Retter)
13352 Solution: Add the SignColumn highlight group.
13353 Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
13354 src/screen.c, src/syntax.c, src/vim.h
13357 Problem: Using "r*" in Visual mode on multi-byte characters replaces
13358 too many characters. In Visual Block mode replacing with a
13359 multi-byte character doesn't work.
13360 Solution: Adjust the operator end for the difference in byte length of the
13361 original and the replaced character. Insert all bytes of a
13362 multi-byte character, take care of double-wide characters.
13366 Problem: Last line of a window is not updated after using "J" and then "D".
13368 Solution: When no line is found below a change that doesn't need updating,
13369 update all lines below the change.
13370 Files: src/screen.c
13373 Problem: Mac: cannot read/write files in MacRoman format.
13374 Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1.
13376 Files: src/fileio.c
13378 Patch 6.2.520 (extra)
13379 Problem: The NSIS installer is outdated.
13380 Solution: Make it work with NSIS 2.0. Also include console executables for
13381 Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use
13382 "/oname" to avoid having to rename files before running NSIS.
13383 Files: Makefile, nsis/gvim.nsi
13386 Problem: When using silent Ex mode the "changing a readonly file" warning
13387 is omitted but the one second wait isn't. (Yakov Lerner)
13388 Solution: Skip the delay when "silent_mode" is set.
13392 Problem: GUI: when changing 'cmdheight' in the gvimrc file the window
13393 layout is messed up. (Keith Dart)
13394 Solution: Skip updating the window layout when changing 'cmdheight' while
13396 Files: src/option.c
13399 Problem: When loading a session and aborting when a swap file already
13400 exists, the user is left with useless windows. (Robert Webb)
13401 Solution: Load one file before creating the windows.
13402 Files: src/ex_docmd.c
13404 Patch 6.2.524 (extra, after 6.2.520)
13405 Problem: Win32: (un)installing gvimext.dll may fail if it was used.
13406 The desktop and start menu links are created for the current user
13407 instead of all users.
13408 Using the home directory as working directory for the links is a
13409 bad idea for multi-user systems.
13410 Cannot use Vim from the "Open With..." menu.
13411 Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use
13412 macros for the directory of the source and runtime files. Use
13413 "CSIDL_COMMON_*" instead of "CSIDL_*" when possible.
13414 Do not specify a working directory in the links.
13415 Add Vim to the "Open With..." menu. (Giuseppe Bilotta)
13416 Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c
13419 Problem: When the history contains a very long line ":history" causes a
13420 crash. (Volker Kiefel)
13421 Solution: Shorten the history entry to fit it in one line.
13422 Files: src/ex_getln.c
13425 Problem: When s:lang is "ja" the Japanese menus are not used.
13426 Solution: Add 'encoding' to the language when there is no charset.
13427 Files: runtime/menu.vim
13430 Problem: The 2html script uses ":wincmd p", which breaks when using some
13432 Solution: Remember the window numbers and jump to them with ":wincmd w".
13433 Also add XHTML support. (Panagiotis Issaris)
13434 Files: runtime/syntax/2html.vim
13437 Problem: NetBeans: Changes of the "~" command are not reported.
13438 Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
13439 Also change NetBeans debugging to append to the log file.
13440 Also fix that "~" in Visual block mode changes too much if there
13441 are multi-byte characters.
13442 Files: src/nbdebug.c, src/normal.c, src/ops.c
13444 Patch 6.2.529 (extra)
13445 Problem: VisVim only works for Admin. Doing it for one user doesn't work.
13446 (Alexandre Gouraud)
13447 Solution: When registering the module fails, simply continue.
13448 Files: src/VisVim/VisVim.cpp
13451 Problem: Warning for missing prototype on the Amiga.
13452 Solution: Include time.h
13453 Files: src/version.c
13456 Problem: In silent ex mode no messages are given, which makes debugging
13458 Solution: Do output messages when 'verbose' is set.
13459 Files: src/message.c, src/ui.c
13461 Patch 6.2.532 (extra)
13462 Problem: Compiling for Win32s with VC 4.1 doesn't work.
13463 Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON*
13465 Files: src/dosinst.h, src/fileio.c
13467 Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto)
13470 Problem: Win32: if testing for the "--binary" option fails, diff isn't used
13472 Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto)
13476 Problem: NetBeans: An insert command from NetBeans beyond the end of a
13477 buffer crashes Vim. (Xavier de Gaye)
13478 Solution: Use a local pos_T structure for the position.
13479 Files: src/netbeans.c
13482 Problem: E315 error with auto-formatting comments. (Henry Van Roessel)
13483 Solution: Pass the line number to same_leader().
13487 Problem: Test32 fails on Windows XP for the DJGPP version. Renaming
13489 Solution: Don't try renaming, create new files to use for the test.
13490 Files: src/testdir/test32.in, src/testdir/test32.ok
13493 Problem: ":checkpath!" does not use 'includeexpr'.
13494 Solution: Use a file name that was found directly. When a file was not
13495 found and the located name is empty, use the rest of the line.
13496 Files: src/search.c
13499 Problem: "yip" moves the cursor to the first yanked line, but not to the
13500 first column. Looks like not all text was yanked. (Jens Paulus)
13501 Solution: Move the cursor to the first column.
13502 Files: src/search.c
13505 Problem: 'cindent' recognizes "enum" but not "typedef enum".
13506 Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler)
13507 Also avoid that searching for this item goes too far back.
13508 Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok
13510 Patch 6.3a.008 (extra)
13511 Problem: Windows 98: Some of the wide functions are not implemented,
13512 resulting in file I/O to fail. This depends on what Unicode
13513 support is installed.
13514 Solution: Handle the failure and fall back to non-wide functions.
13515 Files: src/os_win32.c
13518 Problem: Win32: Completion of filenames does not work properly when
13519 'encoding' differs from the active code page.
13520 Solution: Use wide functions for expanding wildcards when appropriate.
13523 Patch 6.3a.010 (extra)
13524 Problem: Win32: Characters in the window title that do not appear in the
13525 active codepage are replaced by a question mark.
13526 Solution: Use DefWindowProcW() instead of DefWindowProc() when possible.
13527 Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro,
13528 src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c
13531 Problem: Using the explorer plugin changes a local directory to the global
13533 Solution: Don't use ":chdir" to restore the current directory. Make
13534 "expand('%:p')" remove "/../" and "/./" items from the path.
13535 Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c
13537 Patch 6.3a.012 (extra)
13538 Problem: On Windows 98 the installer doesn't work, don't even get the "I
13539 agree" button. The check for the path ending in "vim" makes the
13540 browse dialog hard to use. The default path when no previous Vim
13541 is installed is "c:\vim" instead of "c:\Program Files\Vim".
13542 Solution: Remove the background gradient command. Change the
13543 .onVerifyInstDir function to a leave function for the directory
13544 page. Don't let the install program default to c:\vim when no
13545 path could be found.
13546 Files: nsis/gvim.nsi, src/dosinst.c
13548 Patch 6.3a.013 (extra)
13549 Problem: Win32: Characters in the menu that are not in the active codepage
13551 Solution: Convert menu strings from 'encoding' to the active codepage.
13552 Files: src/gui_w32.c, src/gui_w48.c
13555 Problem: Using multi-byte text and highlighting in a statusline causes gaps
13556 to appear. (Helmut Stiegler)
13557 Solution: Advance the column by text width instead of number of bytes. Add
13558 the vim_strnsize() function.
13559 Files: src/charset.c, src/proto/charset.pro, src/screen.c
13562 Problem: Using the "select all" menu item when 'insertmode' is set and
13563 clicking the mouse button doesn't return to Insert mode. The
13564 Buffers/Delete menu doesn't offer a choice to abandon a changed
13565 buffer. (Jens Paulus)
13566 Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu
13568 Files: runtime/menu.vim
13571 Problem: After cancelling the ":confirm" dialog the error message and
13572 hit-enter prompt may not be displayed properly.
13573 Solution: Flush output after showing the dialog.
13574 Files: src/message.c
13577 Problem: servername() doesn't work when Vim was started with the "-X"
13578 argument or when the "exclude" in 'clipboard' matches the terminal
13579 name. (Robert Nowotniak)
13580 Solution: Force connecting to the X server when using client-server
13582 Files: src/eval.c, src/globals.h, src/os_unix.c
13584 Patch 6.3a.018 (after 6.3a.017)
13585 Problem: Compiler warning for return value of make_connection().
13586 Solution: Use void return type.
13589 Patch 6.3a.019 (extra)
13590 Problem: Win32: typing non-latin1 characters doesn't work.
13591 Solution: Invoke _OnChar() directly to avoid that the argument is truncated
13592 to a byte. Convert the UTF-16 character to bytes according to
13593 'encoding' and ignore 'termencoding'. Same for _OnSysChar().
13594 Files: src/gui_w32.c, src/gui_w48.c
13596 Patch 6.3a.020 (extra)
13597 Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI
13599 Solution: Add AROS support. (Adam Chodorowski)
13600 Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac)
13601 Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h,
13602 src/memfile.c, src/os_amiga.c, src/term.c
13604 Patch 6.3a.021 (after 6.3a.017)
13605 Problem: Can't compile with X11 but without GUI.
13606 Solution: Put use of "gui.in_use" inside an #ifdef.
13610 Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a
13611 tab is counted for two spaces.
13612 Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted
13613 as two spaces or as 'tabstop'. (Antony Scriven)
13614 Files: runtime/doc/options.txt, src/edit.c
13617 Problem: Completion on the command line doesn't handle backslashes
13618 properly. Only the tail of matches is shown, even when not
13619 completing filenames.
13620 Solution: When turning the string into a pattern double backslashes. Don't
13621 omit the path when not expanding files or directories.
13622 Files: src/ex_getln.c
13625 Problem: The "save all" toolbar item fails for buffers that don't have a
13626 name. When using ":wa" or closing the Vim window and there are
13627 nameless buffers, browsing for a name may cause the name being
13628 given to the wrong buffer or not stored properly. ":browse" only
13629 worked for one file.
13630 Solution: Use ":confirm browse" for "save all".
13631 Pass buffer argument to setfname(). Restore "browse" flag and
13632 "forceit" after doing the work for one file.
13633 Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c,
13634 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c,
13635 src/message.c, src/window.c, src/proto/buffer.pro,
13636 src/proto/ex_cmds2.pro, src/proto/memline.pro
13639 Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher)
13640 Solution: Update the virtual column before using it.
13641 Files: src/option.c
13643 Patch 6.3a.026 (extra, after 6.3a.008)
13644 Problem: Editing files on Windows 98 doesn't work when 'encoding' is
13645 "utf-8" (Antoine Mechelynck)
13646 Warning for missing function prototype.
13647 Solution: For all wide functions check if it failed because it is not
13648 implemented. Use ANSI function declaration for char_to_string().
13649 Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c
13651 Patch 6.3a.027 (extra, after 6.3a.026)
13652 Problem: Compiler warning for function argument.
13653 Solution: Declare both char and WCHAR arrays.
13654 Files: src/gui_w48.c
13657 Problem: ":normal ." doesn't work inside a function, because redo is saved
13658 and restored. (Benji Fisher)
13659 Solution: Make a copy of the redo buffer when executing a function.
13660 Files: src/getchar.c
13662 Patch 6.3b.001 (extra)
13663 Problem: Bcc 5: The generated auto/pathdef can't be compiled.
13664 Solution: Fix the way quotes and backslashes are escaped.
13665 Files: src/Make_bc5.mak
13668 Problem: Win32: conversion during file write fails when a double-byte
13669 character is split over two writes.
13670 Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka)
13671 Files: src/fileio.c
13673 Patch 6.3b.003 (extra)
13674 Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8"
13675 then Vim can't open files under MS-Windows 98. (Antoine J.
13677 Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation.
13678 Files: src/os_mswin.c, src/os_win32.c
13681 Problem: ":helpgrep" includes a trailing CR in the text line.
13682 Solution: Remove the CR.
13683 Files: src/quickfix.c
13686 Problem: ":echo &g:ai" results in the local option value. (Salman Halim)
13687 Solution: Pass the flags from find_option_end() to get_option_value().
13691 Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before
13692 last pasted character. (Mathew Davis)
13693 Solution: Use the same Paste() function as in menu.vim.
13694 Files: runtime/mswin.vim
13697 Problem: Session file doesn't restore view on windows properly. (Robert
13699 Solution: Restore window sizes both before and after restoring the view, so
13700 that the view, cursor position and size are restored properly.
13701 Files: src/ex_docmd.c
13704 Problem: Using ":finally" in a user command doesn't always work. (Hari
13706 Solution: Don't assume that using getexline() means the command was typed.
13707 Files: src/ex_docmd.c
13709 Patch 6.3b.009 (extra)
13710 Problem: Win32: When the -P argument is not found in a window title, there
13711 is no error message.
13712 Solution: When the window can't be found give an error message and exit.
13713 Also use try/except to catch failing to open the MDI window.
13715 Files: src/gui_w32.c
13718 Problem: Win32: Using the "-D" argument and expanding arguments may cause a
13719 hang, because the terminal isn't initialized yet. (Vince Negri)
13720 Solution: Don't go into debug mode before the terminal is initialized.
13724 Problem: Using CTRL-\ e while obtaining an expression aborts the command
13725 line. (Hari Krishna Dara)
13726 Solution: Insert the CTRL-\ e as typed.
13727 Files: src/ex_getln.c
13729 Patch 6.3b.012 (after 6.3b.010)
13730 Problem: Can't compile with tiny features. (Norbert Tretkowski)
13731 Solution: Add #ifdefs.
13735 Problem: Loading a session file results in editing the wrong file in the
13736 first window when this is not the file at the current position in
13737 the argument list. (Robert Webb)
13738 Solution: Check w_arg_idx_invalid to decide whether to edit a file.
13739 Files: src/ex_docmd.c
13742 Problem: ":runtime! foo*.vim" may using freed memory when a sourced script
13743 changes the value of 'runtimepath'.
13744 Solution: Make a copy of 'runtimepath' when looping over the matches.
13745 Files: src/ex_cmds2.c
13748 Problem: Get lalloc(0) error when using "p" in Visual mode while
13749 'clipboard' contains "autoselect,unnamed". (Mark Wagonner)
13750 Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary.
13754 Problem: When 'virtualedit' is used "x" doesn't delete the last character
13755 of a line that has as many characters as 'columns'. (Yakov Lerner)
13756 Solution: When the cursor isn't moved let oneright() return FAIL.
13760 Problem: Win32: "vim --remote-wait" doesn't exit when the server finished
13761 editing the file. (David Fishburn)
13762 Solution: In the rrhelper plugin change backslashes to forward slashes and
13763 escape special characters.
13764 Files: runtime/plugin/rrhelper.vim
13767 Problem: The list of help files in the "local additions" table doesn't
13768 recognize utf-8 encoding. (Yasuhiro Matsumoto)
13769 Solution: Recognize utf-8 characters.
13770 Files: src/ex_cmds.c
13773 Problem: When $VIMRUNTIME is not a full path name the "local additions"
13774 table lists all the help files.
13775 Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory
13777 Files: src/ex_cmds.c
13780 Problem: When using CTRL-^ when entering a search string, the item in the
13781 statusline that indicates the keymap is not updated. (Ilya
13783 Solution: Mark the statuslines for updating.
13784 Files: src/ex_getln.c
13787 Problem: The swapfile is not readable for others, the ATTENTION prompt does
13788 not show all info when someone else is editing the same file.
13790 Solution: Use the protection of original file for the swapfile and set it
13791 after creating the swapfile.
13792 Files: src/fileio.c
13795 Problem: Using "4v" to select four times the old Visual area may put the
13796 cursor beyond the end of the line. (Jens Paulus)
13797 Solution: Correct the cursor column.
13798 Files: src/normal.c
13801 Problem: When "3dip" starts in an empty line, white lines after the
13802 non-white lines are not deleted. (Jens Paulus)
13803 Solution: Include the white lines.
13804 Files: src/search.c
13807 Problem: "2daw" does not delete leading white space like "daw" does. (Jens
13809 Solution: Include the white space when a count is used.
13810 Files: src/search.c
13813 Problem: Percentage in ruler isn't updated when a line is deleted. (Jens
13815 Solution: Check for a change in line count when deciding to update the ruler.
13816 Files: src/screen.c, src/structs.h
13819 Problem: When selecting "abort" at the ATTENTION prompt for a file that is
13820 already being edited Vim crashes.
13821 Solution: Don't abort creating a new buffer when we really need it.
13822 Files: src/buffer.c, src/vim.h
13825 Problem: Win32: When enabling the menu in a maximized window, Vim uses more
13826 lines than what is room for. (Shizhu Pan)
13827 Solution: When deciding to call shell_resized(), also compare the text area
13828 size with Rows and Columns, not just with screen_Rows and
13833 Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine)
13834 Solution: Check for last column differently when 'rightleft' is set.
13835 Files: src/screen.c
13838 Problem: Win32: warning for uninitialized variable.
13839 Solution: Initialize to zero.
13843 Problem: After Visually selecting four characters, changing it to other
13844 text, Visually selecting and yanking two characters: "." changes
13845 four characters, another "." changes two characters. (Robert Webb)
13846 Solution: Don't store the size of the Visual area when redo is active.
13847 Files: src/normal.c
13849 ==============================================================================
13850 VERSION 6.4 *version-6.4*
13852 This section is about improvements made between version 6.3 and 6.4.
13854 This is a bug-fix release. There are also a few new features. The major
13855 number of new items is in the runtime files and translations.
13857 The big MS-Windows version now uses:
13860 Python version 2.4.2
13863 Changed *changed-6.4*
13866 Removed runtime/tools/tcltags, Exuberant ctags does it better.
13872 Alsaconf syntax file (Nikolai Weibull)
13873 Eruby syntax, indent, compiler and ftplugin file (Doug Kearns)
13874 Esterel syntax file (Maurizio Tranchero)
13875 Mathematica indent file (Steve Layland)
13876 Netrc syntax file (Nikolai Weibull)
13877 PHP compiler file (Doug Kearns)
13878 Pascal indent file (Neil Carter)
13879 Prescribe syntax file (Klaus Muth)
13880 Rubyunit compiler file (Doug Kearns)
13881 SMTPrc syntax file (Kornel Kielczewski)
13882 Sudoers syntax file (Nikolai Weibull)
13883 TPP syntax file (Gerfried Fuchs)
13884 VHDL ftplugin file (R. Shankar)
13885 Verilog-AMS syntax file (S. Myles Prather)
13887 Bulgarian keymap (Alberto Mardegan)
13888 Canadian keymap (Eric Joanis)
13890 Hungarian menu translations in UTF-8 (Kantra Gergely)
13891 Ukrainian menu translations (Bohdan Vlasyuk)
13893 Irish message translations (Kevin Patrick Scannell)
13895 Configure also checks for tclsh8.4.
13901 "dFxd;" deleted the character under the cursor, "d;" didn't remember the
13902 exclusiveness of the motion.
13904 When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one
13905 line for the cmdline. (Christian Robinson) Invoke command_height() after the
13906 GUI has started up.
13908 Gcc would warn "dereferencing type-punned pointer will break strict -aliasing
13909 rules". Avoid using typecasts for variable pointers.
13911 Gcc 3.x interprets the -MM argument differently. Change "-I /path" to
13912 "-isystem /path" for "make depend".
13916 Problem: ":browse split" gives the file selection dialog twice. (Gordon
13917 Bazeley) Same problem for ":browse diffpatch".
13918 Solution: Reset cmdmod.browse before calling do_ecmd().
13919 Files: src/diff.c, src/ex_docmd.c
13922 Problem: When using translated help files with non-ASCII latin1 characters
13923 in the first line the utf-8 detection is wrong.
13924 Solution: Properly detect utf-8 characters. When a mix of encodings is
13925 detected continue with the next language and avoid a "no matches"
13926 error because of "got_int" being set. Add the directory name to
13927 the error message for a duplicate tag.
13928 Files: src/ex_cmds.c
13931 Problem: Crash when using a console dialog and the first choice does not
13932 have a default button. (Darin Ohashi)
13933 Solution: Allocate two more characters for the [] around the character for
13934 the default choice.
13935 Files: src/message.c
13938 Problem: When searching for a long string (140 chars in a 80 column
13939 terminal) get three hit-enter prompts. (Robert Webb)
13940 Solution: Avoid the hit-enter prompt when giving the message for wrapping
13941 around the end of the buffer. Don't give that message again when
13942 the string was not found.
13943 Files: src/message.c, src/search.c
13946 Problem: Crash when searching for a pattern with a character offset and
13947 starting in a closed fold. (Frank Butler)
13948 Solution: Check for the column to be past the end of the line. Also fix
13949 that a pattern with a character offset relative to the end isn't
13950 read back from the viminfo properly.
13951 Files: src/search.c
13954 Problem: ":breakadd file *foo" prepends the current directory to the file
13955 pattern. (Hari Krishna Dara)
13956 Solution: Keep the pattern as-is.
13957 Files: src/ex_cmds2.c
13960 Problem: When there is a buffer with 'buftype' set to "nofile" and using a
13961 ":cd" command, the swap file is not deleted when exiting.
13962 Solution: Use the full path of the swap file also for "nofile" buffers.
13963 Files: src/fileio.c
13966 Problem: Compiling fails under OS/2.
13967 Solution: Include "e_screenmode" also for OS/2. (David Sanders)
13968 Files: src/globals.h
13970 Patch 6.3.009 (after 6.3.006)
13971 Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link
13972 is involved. (Servatius Brandt)
13973 Solution: Do expand the pattern when it does not start with "*".
13974 Files: runtime/doc/repeat.txt, src/ex_cmds2.c
13977 Problem: When writing to a named pipe there is an error for fsync()
13979 Solution: Ignore the fsync() error for devices.
13980 Files: src/fileio.c
13983 Problem: Crash when the completion function of a user-command uses a
13984 "normal :cmd" command. (Hari Krishna Dara)
13985 Solution: Save the command line when invoking the completion function.
13986 Files: src/ex_getln.c
13989 Problem: Internal lalloc(0) error when using a complicated multi-line
13990 pattern in a substitute command. (Luc Hermitte)
13991 Solution: Avoid going past the end of a line.
13992 Files: src/ex_cmds.c
13995 Problem: Crash when editing a command line and typing CTRL-R = to evaluate
13996 a function that uses "normal :cmd". (Hari Krishna Dara)
13997 Solution: Save and restore the command line when evaluating an expression
13999 Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro,
14003 Problem: When using Chinese or Taiwanese the default for 'helplang' is
14004 wrong. (Simon Liang)
14005 Solution: Use the part of the locale name after "zh_".
14006 Files: src/option.c
14009 Problem: The string that winrestcmd() returns may end in garbage.
14010 Solution: NUL-terminate the string. (Walter Briscoe)
14014 Problem: The default value for 'define' has "\s" before '#'.
14015 Solution: Add a star after "\s". (Herculano de Lima Einloft Neto)
14016 Files: src/option.c
14019 Problem: "8zz" may leave the cursor beyond the end of the line. (Niko
14021 Solution: Correct the cursor column after moving to another line.
14022 Files: src/normal.c
14025 Problem: ":0argadd zero" added the argument after the first one, instead of
14026 before it. (Adri Verhoef)
14027 Solution: Accept a zero range for ":argadd".
14028 Files: src/ex_cmds.h
14031 Problem: Crash in startup for debug version. (David Rennals)
14032 Solution: Move the call to nbdebug_wait() to after allocating NameBuff.
14036 Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not
14037 delete a word but only a combining character of the first
14038 character, if there is one. (Raphael Finkel)
14039 Solution: Correctly check that one character is being deleted.
14043 Problem: When the last character of a file name is a multi-byte character
14044 and the last byte is a path separator, the file cannot be edited.
14045 Solution: Check for the last byte to be part of a multi-byte character.
14047 Files: src/fileio.c
14049 Patch 6.3.022 (extra)
14050 Problem: Win32: When the last character of a file name is a multi-byte
14051 character and the last byte is a path separator, the file cannot
14052 be written. A trail byte that is a space makes that a file cannot
14053 be opened from the command line.
14054 Solution: Recognize double-byte characters when parsing the command line.
14055 In mch_stat() check for the last byte to be part of a multi-byte
14056 character. (Taro Muraoka)
14057 Files: src/gui_w48.c, src/os_mswin.c
14060 Problem: When the "to" part of a mapping starts with its "from" part,
14061 abbreviations for the same characters is not possible. For
14062 example, when <Space> is mapped to something that starts with a
14063 space, typing <Space> does not expand abbreviations.
14064 Solution: Only disable expanding abbreviations when a mapping is not
14065 remapped, don't disable it when the RHS of a mapping starts with
14067 Files: src/getchar.c, src/vim.h
14070 Problem: In a few places a string in allocated memory is not terminated
14072 Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and
14073 serverGetVimNames().
14074 Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c
14076 Patch 6.3.025 (extra)
14077 Problem: Missing NUL for list of server names.
14078 Solution: Add ga_append(NUL) in serverGetVimNames().
14079 Files: src/os_mswin.c
14082 Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that
14083 reloads the colors an endless loop and/or a crash may occur.
14084 Solution: Only free the old value of an option when it was originally
14085 allocated. Limit recursiveness of init_highlight() to 5 levels.
14086 Files: src/option.c, src/syntax.c
14089 Problem: VMS: Writing a file may insert extra CR characters. Not all
14090 terminals are recognized correctly. Vt320 doesn't support colors.
14091 Environment variables are not expanded correctly.
14092 Solution: Use another method to write files. Add vt320 termcap codes for
14093 colors. (Zoltan Arpadffy)
14094 Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h,
14098 Problem: When appending to a file the BOM marker may be written. (Alex
14100 Solution: Do not write the BOM marker when appending.
14101 Files: src/fileio.c
14104 Problem: Crash when inserting a line break. (Walter Briscoe)
14105 Solution: In the syntax highlighting code, don't use an old state after a
14106 change was made, current_col may be past the end of the line.
14107 Files: src/syntax.c
14110 Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets
14111 'encoding' to "utf-8" and loads the menus again. GTK error
14112 message when tooltip text is in a wrong encoding.
14113 Solution: Don't copy characters from the old screen to the new screen when
14114 switching 'encoding' to utf-8, they may be invalid. Only set the
14115 tooltip when it is valid utf-8.
14116 Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c
14119 Problem: When entering a mapping and pressing Tab halfway the command line
14120 isn't redrawn properly. (Adri Verhoef)
14121 Solution: Reposition the cursor after drawing over the "..." of the
14122 completion attempt.
14123 Files: src/ex_getln.c
14126 Problem: Using Python 2.3 with threads doesn't work properly.
14127 Solution: Release the lock after initialization.
14128 Files: src/if_python.c
14131 Problem: When a mapping ends in a Normal mode command of more than one
14132 character Vim doesn't return to Insert mode.
14133 Solution: Check that the mapping has ended after obtaining all characters of
14134 the Normal mode command.
14135 Files: src/normal.c
14138 Problem: VMS: crash when using ":help".
14139 Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?"
14140 wildcard. (Zoltan Arpadffy)
14143 Patch 6.3.035 (extra)
14144 Problem: RISC OS: Compile errors.
14145 Solution: Change e_screnmode to e_screenmode. Change the way
14146 __riscosify_control is set. Improve the makefile. (Andy Wingate)
14147 Files: src/os_riscos.c, src/search.c, src/Make_ro.mak
14150 Problem: ml_get errors when the whole file is a fold, switching
14151 'foldmethod' and doing "zj". (Christian J. Robinson) Was not
14152 deleting the fold but creating a fold with zero lines.
14153 Solution: Delete the fold properly.
14156 Patch 6.3.037 (after 6.3.032)
14157 Problem: Warning for unused variable.
14158 Solution: Change the #ifdefs for the saved thread stuff.
14159 Files: src/if_python.c
14161 Patch 6.3.038 (extra)
14162 Problem: Win32: When the "file changed" dialog pops up after a click that
14163 gives gvim focus and not moving the mouse after that, the effect
14164 of the click may occur when moving the mouse later. (Ken Clark)
14165 Happened because the release event was missed.
14166 Solution: Clear the s_button_pending variable when any input is received.
14167 Files: src/gui_w48.c
14170 Problem: When 'number' is set and inserting lines just above the first
14171 displayed line (in another window on the same buffer), the line
14172 numbers are not updated. (Hitier Sylvain)
14173 Solution: When 'number' is set and lines are inserted/deleted redraw all
14174 lines below the change.
14175 Files: src/screen.c
14178 Problem: Error handling does not always work properly and may cause a
14179 buffer to be marked as if it's viewed in a window while it isn't.
14180 Also when selecting "Abort" at the attention prompt.
14181 Solution: Add enter_cleanup() and leave_cleanup() functions to move
14182 saving/restoring things for error handling to one place.
14183 Clear a buffer read error when it's unloaded.
14184 Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c,
14185 src/proto/ex_eval.pro, src/structs.h, src/vim.h
14187 Patch 6.3.041 (extra)
14188 Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h"
14189 doesn't work. (Valery Kondakoff)
14190 Solution: Use a wide function to change directory.
14191 Files: src/os_mswin.c
14194 Problem: When there is a closed fold at the top of the window, CTRL-X
14195 CTRL-E in Insert mode reduces the size of the fold instead of
14196 scrolling the text up. (Gautam)
14197 Solution: Scroll over the closed fold.
14201 Problem: 'hlsearch' highlighting sometimes disappears when inserting text
14202 in PHP code with syntax highlighting. (Marcel Svitalsky)
14203 Solution: Don't use pointers to remember where a match was found, use an
14204 index. The pointers may become invalid when searching in other
14206 Files: src/screen.c
14208 Patch 6.3.044 (extra)
14209 Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves
14210 pixels behind. (Richard Sandilands)
14211 Solution: Erase the character cell before drawing the text when needed.
14212 Files: src/gui_mac.c
14216 Problem: Unusual characters in an option value may cause unexpected
14217 behavior, especially for a modeline. (Ciaran McCreesh)
14218 Solution: Don't allow setting termcap options or 'printdevice' in a
14219 modeline. Don't list options for "termcap" and "all" in a
14220 modeline. Don't allow unusual characters in 'filetype', 'syntax',
14221 'backupext', 'keymap', 'patchmode' and 'langmenu'.
14222 Files: src/option.c, runtime/doc/options.txt
14225 Problem: ":registers" doesn't show multi-byte characters properly.
14227 Solution: Get the length of each character before displaying it.
14230 Patch 6.3.047 (extra)
14231 Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with
14232 read-only attributes. (Tony Mechelynck)
14233 Solution: Don't use the _wopen() function for Borland.
14234 Files: src/os_win32.c
14236 Patch 6.3.048 (extra)
14237 Problem: Build problems with VMS on IA64.
14238 Solution: Add dependencies to the build file. (Zoltan Arpadffy)
14239 Files: src/Make_vms.mms
14241 Patch 6.3.049 (after 6.3.045)
14242 Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy)
14243 Solution: Add a typecast.
14244 Files: src/option.c
14247 Problem: When SIGHUP is received while busy exiting, non-reentrant
14248 functions such as free() may cause a crash.
14249 Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
14250 Files: src/misc1.c, src/main.c
14253 Problem: When 'wildmenu' is set and completed file names contain multi-byte
14254 characters Vim may crash.
14255 Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
14256 Files: src/screen.c
14258 Patch 6.3.052 (extra)
14259 Problem: Windows 98: typed keys that are not ASCII may not work properly.
14260 For example with a Russian input method. (Jiri Jezdinsky)
14261 Solution: Assume that the characters arrive in the current codepage instead
14262 of UCS-2. Perform conversion based on that.
14263 Files: src/gui_w48.c
14266 Problem: Win32: ":loadview" cannot find a file with non-ASCII characters.
14267 (Valerie Kondakoff)
14268 Solution: Use mch_open() instead of open() to open the file.
14269 Files: src/ex_cmds2.c
14272 Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus)
14273 Vim is actually still working but redraw is disabled.
14274 Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo
14275 buffer but a CTRL-L.
14278 Patch 6.3.055 (after 6.3.013)
14279 Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>=
14280 when editing a command line. Using <C-\>e may crash Vim. (Peter
14282 Solution: When moving ccline out of the way for recursive use, make it
14283 available to the functions that need it. Also save and restore
14284 ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at
14285 the end of getcmdline().
14286 Files: src/ex_getln.c
14289 Problem: The last characters of a multi-byte file name may not be displayed
14290 in the window title.
14291 Solution: Avoid to remove a multi-byte character where the last byte looks
14292 like a path separator character. (Yasuhiro Matsumoto)
14293 Files: src/buffer.c, src/ex_getln.c
14296 Problem: When filtering lines folds are not updated. (Carl Osterwisch)
14297 Solution: Update folds for filtered lines.
14298 Files: src/ex_cmds.c
14301 Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on
14302 Vim may crash. Disabling the vertical split feature breaks
14303 compiling. (Peter Winters)
14304 Solution: Check for zero room for wrapped text. Make compiling without
14305 vertical splits possible.
14306 Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c
14309 Problem: Crash when expanding an ":edit" command containing several spaces
14310 with the shell. (Brian Hirt)
14311 Solution: Allocate enough space for the quotes.
14312 Files: src/os_unix.c
14315 Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name
14316 still causes something to be inserted.
14317 Solution: Check the register name for being valid.
14321 Problem: When editing a utf-8 file in an utf-8 xterm and there is a
14322 multi-byte character in the last column, displaying is messed up.
14324 Solution: Check for a multi-byte character, not a multi-column character.
14325 Files: src/screen.c
14328 Problem: ":normal! gQ" hangs.
14329 Solution: Quit getcmdline() and do_exmode() when out of typeahead.
14330 Files: src/ex_getln.c, src/ex_docmd.c
14333 Problem: When a CursorHold autocommand changes to another window
14334 (temporarily) 'mousefocus' stops working.
14335 Solution: Call gui_mouse_correct() after triggering CursorHold.
14339 Problem: line2byte(line("$") + 1) sometimes returns the wrong number.
14341 Solution: Flush the cached line before counting the bytes.
14342 Files: src/memline.c
14345 Problem: The euro digraph doesn't always work.
14346 Solution: Add an "e=" digraph for Unicode euro character and adjust the
14348 Files: src/digraph.c, runtime/doc/digraph.txt
14351 Problem: Backup file may get wrong permissions.
14352 Solution: Use permissions of original file for backup file in more places.
14353 Files: src/fileio.c
14355 Patch 6.3.067 (after 6.3.066)
14356 Problem: Newly created file gets execute permission.
14357 Solution: Check for "perm" to be negative before using it.
14358 Files: src/fileio.c
14361 Problem: When editing a compressed file xxx.gz which is a symbolic link to
14362 the actual file a ":write" renames the link.
14363 Solution: Resolve the link, so that the actual file is renamed and
14365 Files: runtime/plugin/gzip.vim
14368 Problem: When converting text with illegal characters Vim may crash.
14369 Solution: Avoid that too much is subtracted from the length. (Da Woon Jung)
14373 Problem: After ":set number linebreak wrap" and a vertical split, moving
14374 the vertical separator far left will crash Vim. (Georg Dahn)
14375 Solution: Avoid dividing by zero.
14376 Files: src/charset.c
14379 Problem: The message for CTRL-X mode is still displayed after an error for
14380 'thesaurus' or 'dictionary' being empty.
14381 Solution: Clear "edit_submode".
14385 Problem: Crash in giving substitute message when language is Chinese and
14386 encoding is utf-8. (Yongwei)
14387 Solution: Make the msg_buf size larger when using multi-byte.
14391 Problem: Win32 GUI: When the Vim window is partly above or below the
14392 screen, scrolling causes display errors when the taskbar is not on
14394 Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or
14396 Files: src/gui_w48.c
14399 Problem: When mswin.vim is used and 'insertmode' is set, typing text in
14400 Select mode and then using CTRL-V results in <SNR>99_Pastegi.
14402 Solution: When restart_edit is set use "d" instead of "c" to remove the
14403 selected text to avoid calling edit() twice.
14404 Files: src/normal.c
14407 Problem: After unloading another buffer, syntax highlighting in the current
14408 buffer may be wrong when it uses "containedin". (Eric Arnold)
14409 Solution: Use "buf" instead of "curbuf" in syntax_clear().
14410 Files: src/syntax.c
14413 Problem: Crash when using cscope and there is a parse error (e.g., line too
14414 long). (Alexey I. Froloff)
14415 Solution: Pass the actual number of matches to cs_manage_matches() and
14416 correctly handle the error situation.
14417 Files: src/if_cscope.c
14419 Patch 6.3.077 (extra)
14420 Problem: VMS: First character input after ESC was not recognized.
14421 Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy)
14422 Files: src/os_vms.c
14424 Patch 6.3.078 (extra, after 6.3.077)
14425 Problem: VMS: Performance issue after patch 6.3.077
14426 Solution: Add a timeout in the itemlist. (Zoltan Arpadffy)
14427 Files: src/os_vms.c
14430 Problem: Crash when executing a command in the command line window while
14431 syntax highlighting is enabled. (Pero Brbora)
14432 Solution: Don't use a pointer to a buffer that has been deleted.
14433 Files: src/syntax.c
14435 Patch 6.3.080 (extra)
14436 Problem: Win32: With 'encoding' set to utf-8 while the current codepage is
14437 Chinese editing a file with some specific characters in the name
14439 Solution: Use _wfullpath() instead of _fullpath() when necessary.
14440 Files: src/os_mswin.c
14443 Problem: Unix: glob() may execute a shell command when it's not wanted.
14445 Solution: Verify the sandbox flag is not set.
14446 Files: src/os_unix.c
14448 Patch 6.3.082 (after 6.3.081)
14449 Problem: Unix: expand() may execute a shell command when it's not wanted.
14451 Solution: A more generic solution than 6.3.081.
14452 Files: src/os_unix.c
14455 Problem: VMS: The vt320 termcap entry is incomplete.
14456 Solution: Add missing function keys. (Zoltan Arpadffy)
14459 Patch 6.3.084 (extra)
14460 Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored.
14461 Failure when $(OUTDIR) already exists. "po" makefile is missing.
14462 Solution: Use changes tested in Vim 7. (Tony Mechelynck)
14463 Files: src/Make_cyg.mak, src/po/Make_cyg.mak
14466 Problem: Crash in syntax highlighting code. (Marc Espie)
14467 Solution: Prevent current_col going past the end of the line.
14468 Files: src/syntax.c
14470 Patch 6.3.086 (extra)
14471 Problem: Can't produce message translation file with msgfmt that checks
14473 Solution: Fix the Russian translation.
14474 Files: src/po/ru.po, src/po/ru.cp1251.po
14477 Problem: MS-DOS: Crash. (Jason Hood)
14478 Solution: Don't call fname_case() with a NULL pointer.
14479 Files: src/ex_cmds.c
14482 Problem: Editing ".in" causes error E218. (Stefan Karlsson)
14483 Solution: Require some characters before ".in". Same for ".orig" and others.
14484 Files: runtime/filetype.vim
14487 Problem: A session file doesn't work when created while the current
14488 directory contains a space or the directory of the session files
14489 contains a space. (Paolo Giarrusso)
14490 Solution: Escape spaces with a backslash.
14491 Files: src/ex_docmd.c
14494 Problem: A very big value for 'columns' or 'lines' may cause a crash.
14495 Solution: Limit the values to 10000 and 1000.
14496 Files: src/option.c
14499 Problem: The Unix Makefile contained too many dependencies and a few
14501 Solution: Run "make depend" with manual changes to avoid a gcc
14502 incompatibility. Comment a few lines.
14503 Files: src/Makefile
14506 Problem: Vim reports "Vim 6.4a" in the ":version" output.
14507 Solution: Change "a" to "b". (Tony Mechelynck)
14508 Files: src/version.h
14511 Problem: In Insert mode, pasting a multi-byte character after the end of
14512 the line leaves the cursor just before that character.
14513 Solution: Make sure "gP" leaves the cursor in the right place when
14514 'virtualedit' is set.
14517 Patch 6.4b.003 (after 6.4b.002)
14518 Problem: The problem still exists when 'encoding' is set to "cp936".
14519 Solution: Fix the problem in getvvcol(), compute the coladd field correctly.
14520 Files: src/charset.c, src/ops.c
14523 Problem: Selecting a {} block with "viB" includes the '}' when there is an
14524 empty line before it.
14525 Solution: Don't advance the cursor to include a line break when it's already
14527 Files: src/search.c
14530 vim:tw=78:ts=8:ft=help:norl: