diff options
Diffstat (limited to 'runtime/doc/version6.txt')
-rw-r--r-- | runtime/doc/version6.txt | 14530 |
1 files changed, 0 insertions, 14530 deletions
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt deleted file mode 100644 index f18fea8705..0000000000 --- a/runtime/doc/version6.txt +++ /dev/null @@ -1,14530 +0,0 @@ -*version6.txt* For Vim version 7.4. Last change: 2013 Jul 28 - - - VIM REFERENCE MANUAL by Bram Moolenaar - - -Welcome to Vim Version 6.0! A large number of features has been added. This -file mentions all the new items that have been added, changes to existing -features and bug fixes compared to Vim 5.x. - -See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0. -See |version4.txt| for differences between Vim 3.0 and Vim 4.0. -See |version5.txt| for differences between Vim 4.0 and Vim 5.0. - -INCOMPATIBLE CHANGES |incompatible-6| - -Cursor position in Visual mode |curpos-visual| -substitute command Vi compatible |substitute-CR| -global option values introduced |new-global-values| -'fileencoding' changed |fileencoding-changed| -Digraphs changed |digraphs-changed| -Filetype detection changed |filetypedetect-changed| -Unlisted buffers introduced |new-unlisted-buffers| -CTRL-U in Command-line mode changed |CTRL-U-changed| -Ctags gone |ctags-gone| -Documentation reorganized |documentation-6| -Modeless selection and clipboard |modeless-and-clipboard| -Small incompatibilities |incomp-small-6| - -NEW FEATURES |new-6| - -Folding |new-folding| -Vertically split windows |new-vertsplit| -Diff mode |new-diff-mode| -Easy Vim: click-and-type |new-evim| -User manual |new-user-manual| -Flexible indenting |new-indent-flex| -Extended search patterns |new-searchpat| -UTF-8 support |new-utf-8| -Multi-language support |new-multi-lang| -Plugin support |new-plugins| -Filetype plugins |new-filetype-plugins| -File browser |new-file-browser| -Editing files over a network |new-network-files| -Window for command-line editing |new-cmdwin| -Debugging mode |new-debug-mode| -Cursor in virtual position |new-virtedit| -Debugger interface |new-debug-itf| -Communication between Vims |new-vim-server| -Buffer type options |new-buftype| -Printing |new-printing| -Ports |ports-6| -Quickfix extended |quickfix-6| -Operator modifiers |new-operator-mod| -Search Path |new-search-path| -Writing files improved |new-file-writing| -Argument list |new-argument-list| -Restore a View |new-View| -Color schemes |new-color-schemes| -Various new items |new-items-6| - -IMPROVEMENTS |improvements-6| - -COMPILE TIME CHANGES |compile-changes-6| - -BUG FIXES |bug-fixes-6| - -VERSION 6.1 |version-6.1| -Changed |changed-6.1| -Added |added-6.1| -Fixed |fixed-6.1| - -VERSION 6.2 |version-6.2| -Changed |changed-6.2| -Added |added-6.2| -Fixed |fixed-6.2| - -VERSION 6.3 |version-6.3| -Changed |changed-6.3| -Added |added-6.3| -Fixed |fixed-6.3| - -VERSION 6.4 |version-6.4| -Changed |changed-6.4| -Added |added-6.4| -Fixed |fixed-6.4| - -============================================================================== -INCOMPATIBLE CHANGES *incompatible-6* - -These changes are incompatible with previous releases. Check this list if you -run into a problem when upgrading from Vim 5.x to 6.0 - - -Cursor position in Visual mode *curpos-visual* ------------------------------- - -When going from one window to another window on the same buffer while in -Visual mode, the cursor position of the other window is adjusted to keep the -same Visual area. This can be used to set the start of the Visual area in one -window and the end in another. In vim 5.x the cursor position of the other -window would be used, which could be anywhere and was not very useful. - - -Substitute command Vi compatible *substitute-CR* --------------------------------- - -The substitute string (the "to" part of the substitute command) has been made -Vi compatible. Previously a CTRL-V had a special meaning and could be used to -prevent a <CR> to insert a line break. This made it impossible to insert a -CTRL-V before a line break. Now a backslash is used to prevent a <CR> to -cause a line break. Since the number of backslashes is halved, it is still -possible to insert a line break at the end of the line. This now works just -like Vi, but it's not compatible with Vim versions before 6.0. - -When a ":s" command doesn't make any substitutions, it no longer sets the '[ -and '] marks. This is not related to Vi, since it doesn't have these marks. - - -Global option values introduced *new-global-values* -------------------------------- - -There are now global values for options which are local to a buffer or window. -Previously the local options were copied from one buffer to another. When -editing another file this could cause option values from a modeline to be used -for the wrong file. Now the global values are used when entering a buffer -that has not been used before. Also, when editing another buffer in a window, -the local window options are reset to their global values. The ":set" command -sets both the local and global values, this is still compatible. But a -modeline only sets the local value, this is not backwards compatible. - -":let &opt = val" now sets the local and global values, like ":set". New -commands have been added to set the global or local value: - :let &opt = val like ":set" - :let &g:opt = val like ":setglobal" - :let &l:opt = val like ":setlocal" - - -'fileencoding' changed *fileencoding-changed* ----------------------- - -'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim. -This was a bit strange, because it was local to a buffer and worked for all -buffers. It could never be different between buffers, because it changed the -way text in all buffers was interpreted. -It is now used for the encoding of the file related to the buffer. If you -still set 'fileencoding' it is likely to be overwritten by the detected -encoding from 'fileencodings', thus it is "mostly harmless". -The old FileEncoding autocommand now does the same as the new EncodingChanged -event. - - -Digraphs changed *digraphs-changed* ----------------- - -The default digraphs now correspond to RFC1345. This is very different from -what was used in Vim 5.x. |digraphs| - - -Filetype detection changed *filetypedetect-changed* --------------------------- - -The filetype detection previously was using the "filetype" autocommand group. -This caused confusion with the FileType event name (case is ignored). The -group is now called "filetypedetect". It still works, but if the "filetype" -group is used the autocommands will not be removed by ":filetype off". - The support for 'runtimepath' has made the "myfiletypefile" and -"mysyntaxfile" mechanism obsolete. They are still used for backwards -compatibility. - -The connection between the FileType event and setting the 'syntax' option was -previously in the "syntax" autocommand group. That caused confusion with the -Syntax event name. The group is now called "syntaxset". - -The distributed syntax files no longer contain "syntax clear". That makes it -possible to include one in the other without tricks. The syntax is now -cleared when the 'syntax' option is set (by an autocommand added from -synload.vim). This makes the syntax cleared when the value of 'syntax' does -not correspond to a syntax file. Previously the existing highlighting was -kept. - - -Unlisted buffers introduced *new-unlisted-buffers* ---------------------------- - -There is now a difference between buffers which don't appear in the buffer -list and buffers which are really not in the buffer list. Commands like -":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the -buffer list. |unlisted-buffer| -The 'buflisted' option can be used to make a buffer appear in the buffer list -or not. - -Several commands that previously added a buffer to the buffer list now create -an unlisted buffer. This means that a ":bnext" and ":ball" will not find these -files until they have actually been edited. For example, buffers used for the -alternative file by ":write file" and ":read file". - Other commands previously completely deleted a buffer and now only remove -the buffer from the buffer list. Commands relying on a buffer not to be -present might fail. For example, a ":bdelete" command in an autocommand that -relied on something following to fail (was used in the automatic tests). -|:bwipeout| can be used for the old meaning of ":bdelete". - -The BufDelete autocommand event is now triggered when a buffer is removed from -the buffer list. The BufCreate event is only triggered when a buffer is -created that is added to the buffer list, or when an existing buffer is added -to the buffer list. BufAdd is a new name for BufCreate. -The new BufNew event is for creating any buffer and BufWipeout for really -deleting a buffer. - -When doing Insert mode completion, only buffers in the buffer list are -scanned. Added the 'U' flag to 'complete' to do completion from unlisted -buffers. - -Unlisted buffers are not stored in a viminfo file. - - -CTRL-U in Command-line mode changed *CTRL-U-changed* ------------------------------------ - -Using CTRL-U when editing the command line cleared the whole line. Most -shells only delete the characters before the cursor. Made it work like that. -(Steve Wall) - -You can get the old behavior with CTRL-E CTRL-U: > - :cnoremap <C-U> <C-E><C-U> - - -Ctags gone *ctags-gone* ----------- - -Ctags is no longer part of the Vim distribution. It's now a grown-up program -by itself, it deserves to be distributed separately. -Ctags can be found here: http://ctags.sf.net/. - - -Documentation reorganized *documentation-6* -------------------------- - -The documentation has been reorganized, an item may not be where you found it -in Vim 5.x. -- The user manual was added, some items have been moved to it from the - reference manual. -- The quick reference is now in a separate file (so that it can be printed). - -The examples in the documentation were previously marked with a ">" in the -first column. This made it difficult to copy/paste them. There is now a -single ">" before the example and it ends at a "<" or a non-blank in the first -column. This also looks better without highlighting. - -'helpfile' is no longer used to find the help tags file. This allows a user -to add its own help files (e.g., for plugins). - - -Modeless selection and clipboard *modeless-and-clipboard* --------------------------------- - -The modeless selection is used to select text when Visual mode can't be used, -for example when editing the command line or at the more prompt. -In Vim 5.x the modeless selection was always used. On MS-Windows this caused -the clipboard to be overwritten, with no way to avoid that. The modeless -selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and -"autoselectml" in 'clipboard'. By default there is no automatic copy on -MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection. - -To get the old behavior back, do this: > - - :set clipboard^=autoselectml guioptions+=A - - -Small incompatibilities *incomp-small-6* ------------------------ - -'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg', -'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg', -'viminfo' and 'runtimepath' can no longer be set from a modeline, for better -security. - -Removed '_' from the 'breakat' default: It's commonly used in keywords. - -The default for 'mousehide' is on, because this works well for most people. - -The Amiga binary is now always compiled with "big" features. The "big" binary -archive no longer exists. - -The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in -'statusline' no longer have a leading space. - -Non-Unix systems: When expanding wildcards for the Vim arguments, don't use -'suffixes'. It now works as if the shell had expanded the arguments. - -The 'lisp', 'smartindent' and 'cindent' options are not switched off when -'paste' is set. The auto-indenting is disabled when 'paste' is set, but -manual indenting with "=" still works. - -When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there -is no change in indent, this is not counted as a change ('modified' isn't set -and there is nothing to undo). - -Report 'modified' as changed when 'fileencoding' or 'fileformat' was set. -Thus it reflects the possibility to abandon the buffer without losing changes. - -The "Save As" menu entry now edits the saved file. Most people expect it to -work like this. - -A buffer for a directory is no longer added to the Buffers menu. - -Renamed <Return> to <Enter>, since that's what it's called on most keyboards. -Thus it's now the hit-enter prompt instead of the hit-return prompt. -Can map <Enter> just like <CR> or <Return>. - -The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't -set. Most people will want to use it, including beginners, but it required -setting the option, which isn't that easy. - -After using ":colder" the newer error lists are overwritten. This makes it -possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99" -to get the old behavior. - -The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and -sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to -match case. - -The 16 bit MS-DOS version is now compiled without the +listcmds feature -(buffer list manipulation commands). They are not often needed and this -executable needs to be smaller. - -'sessionoptions' now includes "curdir" by default. This means that restoring -a session will result in the current directory being restored, instead of -going to the directory where the session file is located. - -A session deleted all buffers, deleting all marks. Now keep the buffer list, -it shouldn't hurt for some existing buffers to remain present. -When the argument list is empty ":argdel *" caused an error message. - -No longer put the search pattern from a tag jump in the history. - -Use "SpecialKey" highlighting for unprintable characters instead of "NonText". -The idea is that unprintable text or any text that's displayed differently -from the characters in the file is using "SpecialKey", and "NonText" is used -for text that doesn't really exist in the file. - -Motif now uses the system default colors for the menu and scrollbar. Used to -be grey. It's still possible to set the colors with ":highlight" commands and -resources. - -Formatting text with "gq" breaks a paragraph at a non-empty blank line. -Previously the line would be removed, which wasn't very useful. - -":normal" does no longer hang when the argument ends in half a command. -Previously Vim would wait for more characters to be typed, without updating -the screen. Now it pretends an <Esc> was typed. - -Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in -the "bitmaps" directories in 'runtimepath'. - -Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal -mode menus. This generally works better and allows using the "Copy" menu to -produce CTRL-Y to copy the modeless selection. - -Moved the font selection from the Window to the Edit menu, together with the -other settings. - -The default values for 'isfname' include more characters to make "gf" work -better. - -Changed the license for the documentation to the Open Publication License. -This seemed fair, considering the inclusion of parts of the Vim book, which is -also published under the OPL. The downside is that we can't force someone who -would sell copies of the manual to contribute to Uganda. - -After "ayy don't let ""yy or :let @" = val overwrite the "a register. -Use the unnamed register instead. - -MSDOS: A pattern "*.*" previously also matched a file name without a dot. -This was inconsistent with other versions. - -In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously -it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N, -which is supposed to take us to Normal mode (especially in ":amenu"). - -Allow using ":" commands after an operator. Could be used to implement a new -movement command. Thus it no longer aborts a pending operator. - -For the Amiga the "-d {device}" argument was possible. When compiled with the -diff feature, this no longer works. Use "-dev {device}" instead. |-dev| - -Made the default mappings for <S-Insert> in Insert mode insert the text -literally, avoids that special characters like BS cause side effects. - -Using ":confirm" applied to the rest of the line. Now it applies only to the -command right after it. Thus ":confirm if x | edit | endif" no longer works, -use ":if x | confirm edit | endif". This was the original intention, that it -worked differently was a bug. - -============================================================================== -NEW FEATURES *new-6* - -Folding *new-folding* -------- - -Vim can now display a buffer with text folded. This allows overviewing the -structure of a file quickly. It is also possible to yank, delete and put -folded text, for example to move a function to another position. - -There is a whole bunch of new commands and options related to folding. -See |folding|. - - -Vertically split windows *new-vertsplit* ------------------------- - -Windows can also be split vertically. This makes it possible to have windows -side by side. One nice use for this is to compare two similar files (see -|new-diff-mode|). The 'scrollbind' option can be used to synchronize -scrolling. - -A vertical split can be created with the commands: - :vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit| - :vnew |:vnew| - :vertical {cmd} |:vertical| -The last one is a modifier, which has a meaning for any command that splits a -window. For example: > - :vertical stag main -Will vertically split the window and jump to the tag "main" in the new window. - -Moving from window to window horizontally can be done with the |CTRL-W_h| and -|CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed -to jump to the window above or below the cursor position. - -The vertical and horizontal splits can be mixed as you like. Resizing windows -is easy when using the mouse, just position the pointer on a status line or -vertical separator and drag it. In the GUI a special mouse pointer shape -indicates where you can drag a status or separator line. - -To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands. -To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|. - -To force a new window to use the full width or height of the Vim window, -these two modifiers are available: - :topleft {cmd} New window appears at the top with full - width or at the left with full height. - :botright {cmd} New window appears at the bottom with full - width or at the right with full height. -This can be combined with ":vertical" to force a vertical split: > - :vert bot dsplit DEBUG -This will open a window at the far right, occupying the full height of the Vim -window, with the cursor on the first definition of "DEBUG". -The help window is opened at the top, like ":topleft" was used, if the current -window is fewer than 80 characters wide. - -A few options can be used to set the preferences for vertically split windows. -They work similar to their existing horizontal equivalents: - horizontal vertical ~ - 'splitbelow' 'splitright' - 'winheight' 'winwidth' - 'winminheight' 'winminwidth' -It's possible to set 'winminwidth' to zero, so that temporarily unused windows -hardly take up space without closing them. - -The new 'eadirection' option tells where 'equalalways' applies: - :set eadirection=both both directions - :set eadirection=ver equalize window heights - :set eadirection=hor equalize windows widths -This can be used to avoid changing window sizes when you want to keep them. - -Since windows can become quite narrow with vertical splits, text lines will -often not fit. The 'sidescrolloff' has been added to keep some context left -and right of the cursor. The 'listchars' option has been extended with the -"precedes" item, to show a "<" for example, when there is text left off the -screen. (Utz-Uwe Haus) - -"-O" command line argument: Like "-o" but split windows vertically. (Scott -Urban) - -Added commands to move the current window to the very top (CTRL-W K), bottom -(CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the -window uses the full width/height of the screen. - -When there is not enough room in the status line for both the file name and -the ruler, use up to half the width for the ruler. Useful for narrow windows. - - -Diff mode *new-diff-mode* ---------- - -In diff mode Vim shows the differences between two, three or four files. -Folding is used to hide the parts of the file that are equal. -Highlighting is used to show deleted and changed lines. -See |diff-mode|. - -An easy way to start in diff mode is to start Vim as "vimdiff file1 file2". -Added the vimdiff manpage. - -In a running Vim the |:diffsplit| command starts diff mode for the current -file and another file. The |:diffpatch| command starts diff mode using the -current file and a patch file. The |:diffthis| command starts diff mode for -the current window. - -Differences can be removed with the |:diffget| and |:diffput| commands. - -- The 'diff' option switches diff mode on in a window. -- The |:diffupdate| command refreshes the diffs. -- The 'diffopt' option changes how diffs are displayed. -- The 'diffexpr' option can be set how a diff is to be created. -- The 'patchexpr' option can be set how patch is applied to a file. -- Added the "diff" folding method. When opening a window for diff-mode, set - 'foldlevel' to zero and 'foldenable' on, to close the folds. -- Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to - specify the highlighting for differences. The defaults are ugly... -- Unix: make a vimdiff symbolic link for "make install". -- Removed the now obsolete "vimdiff.vim" script from the distribution. -- Added the "[c" and "]c" commands to move to the next/previous change in diff - mode. - - -Easy Vim: click-and-type *new-evim* ------------------------- - -eVim stands for "Easy Vim". This is a separate program, but can also be -started as "vim -y". - -This starts Vim with 'insertmode' set to allow click-and-type editing. The -$VIMRUNTIME/evim.vim script is used to add mappings and set options to be able -to do most things like Notepad. This is only for people who can't stand two -modes. - -eView does the same but in readonly mode. - -In the GUI a CTRL-C now only interrupts when busy with something, not when -waiting for a character. Allows using CTRL-C to copy text to the clipboard. - - -User manual *new-user-manual* ------------ - -The user manual has been added. It is organised around editing tasks. It -reads like a book, from start to end. It should allow beginners to start -learning Vim. It helps everybody to learn using the most useful Vim features. -It is much easier to read than the reference manual, but omits details. See -|user-manual|. - -The user manual includes parts of the Vim book by Steve Oualline |frombook|. -It is published under the OPL |manual-copyright|. - -When syntax highlighting is not enabled, the characters in the help file which -mark examples ('>' and '<') and header lines ('~') are replaced with a space. - -When closing the help window, the window layout is restored from before -opening it, if the window layout didn't change since then. -When opening the help window, put it at the top of the Vim window if the -current window is fewer than 80 characters and not full width. - - -Flexible indenting *new-indent-flex* ------------------- - -Automatic indenting is now possible for any language. It works with a Vim -script, which makes it very flexible to compute the indent. - -The ":filetype indent on" command enables using the provided indent scripts. -This is explained in the user manual: |30.3|. - -The 'indentexpr' option is evaluated to get the indent for a line. The -'indentkeys' option tells when to trigger re-indenting. Normally these -options are set from an indent script. Like Syntax files, indent scripts will -be created and maintained by many people. - - -Extended search patterns *new-searchpat* ------------------------- - -Added the possibility to match more than one line with a pattern. (partly by -Loic Grenie) -New items in a search pattern for multi-line matches: -\n match end-of-line, also in [] -\_[] match characters in range and end-of-line -\_x match character class and end-of-line -\_. match any character or end-of-line -\_^ match start-of-line, can be used anywhere in the regexp -\_$ match end-of-line, can be used anywhere in the regexp - -Various other new items in search patterns: -\c ignore case for the whole pattern -\C match case for the whole pattern -\m magic on for the following -\M magic off for the following -\v make following characters "very magic" -\V make following characters "very nomagic" - -\@! don't match atom before this. - Example: "foo\(bar\)\@!" matches "foo " but not "foobar". -\@= match atom, resulting in zero-width match - Example: "foo\(bar\)\@=" matches "foo" in "foobar". -\@<! don't match preceding atom before the current position -\@<= match preceding atom before the current position -\@> match preceding atom as a subexpression - -\& match only when branch before and after it match - -\%[] optionally match a list of atoms; "end\%[if]" matches "end", - "endi" and "endif" -\%(\) like \(\), but without creating a back-reference; there can be - any number of these, overcomes the limit of nine \( \) pairs -\%^ match start-of-file (Chase Tingley) -\%$ match end-of-file (Chase Tingley) -\%# Match with the cursor position. (Chase Tingley) -\? Just like "\=" but can't be used in a "?" command. - -\%23l match in line 23 -\%<23l match before line 23 -\%>23l match after line 23 -\%23c, \%<23c, \%>23c match in/before/after column 23 -\%23v, \%<23v, \%>23v match in/before/after virtual column 23 - - -For syntax items: -\z(...\) external reference match set (in region start pattern) -\z1 - \z9 external reference match use (in region skip or end pattern) - (Scott Bigham) - -\zs use position as start of match -\ze use position as end of match - -Removed limit of matching only up to 32767 times with *, \+, etc. - -Added support to match multi-byte characters. (partly by Muraoka Taro) -Made "\<" and "\>" work for UTF-8. (Muraoka Taro) - - -UTF-8 support *new-utf-8* -------------- - -Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be -used, but only 16 bit characters are displayed. Up to two combining -characters are supported, they overprint the preceding character. -Double-wide characters are also supported. See |UTF-8|. - -UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to -UTF-8 internally. There is also support for editing Unicode files in a Latin1 -environment. Other encodings are converted with iconv() or an external -converter specified with 'charconvert'. - -Many new items for Multi-byte support: -- Added 'encoding' option: specifies character encoding used inside Vim. It - can be any 8-bit encoding, some double-byte encodings or Unicode. - It is initialized from the environment when a supported value is found. -- Added 'fileencoding' and 'fileencodings': specify character coding in a - file, similar to 'fileformat' and 'fileformats'. - When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will - automatically switch to latin1 if a file does not contain valid UTF-8. -- Added 'bomb' option and detection of a BOM at the start of a file. Can be - used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode - file if it starts with a BOM. Especially useful on MS-Windows (NT and - 2000), which uses ucs-2le files with a BOM (e.g., when exporting the - registry). -- Added the 'termencoding' option: Specifies the encoding used for the - terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: > - :let &termencoding = &encoding - :set encoding=utf-8 -- When 'viminfo' contains the 'c' flag, the viminfo file is converted from the - 'encoding' it was written with to the current 'encoding'. -- Added ":scriptencoding" command: convert lines in a sourced script to - 'encoding'. Useful for menu files. -- Added 'guifontwide' to specify a font for double-wide characters. -- Added Korean support for character class detection. Also fix cls() in - search.c. (Chong-Dae Park) -- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev) -- Win32 with Mingw: compile with iconv library. (Ron Aaron) -- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro) -- Make it possible to build a version with multi-byte and iconv support with - Borland 5.5. (Yasuhiro Matsumoto) -- Added 'delcombine' option: Delete combining character separately. (Ron - Aaron) -- The "xfontset" feature isn't required for "xim". These are now two - independent features. -- XIM: enable XIM when typing a language character (Insert mode, Search - pattern, "f" or "r" command). Disable XIM when typing a Normal mode - command. -- When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun) -- Support "CursorIM" for XIM. (Nam SungHyun) -- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at - each multibyte character, not only at a space. -- Made ":syntax keyword" work with multi-byte characters. -- Added support for Unicode upper/lowercase flipping and comparing. (based on - patch by Raphael Finkel) - Let "~" on multi-byte characters that have a third case ("title case") - switch between the three cases. (Raphael Finkel) - -Allow defining digraphs for multi-byte characters. -Added RFC1345 digraphs for Unicode. -Most Normal mode commands that accept a character argument, like "r", "t" and -"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain -Vi compatible. - -Added Language mapping and 'keymap' to be able to type multi-byte characters: -- Added the ":lmap" command and friends: Define mappings that are used when - typing characters in the language of the text. Also for "r", "t", etc. In - Insert and Command-line mode CTRL-^ switches the use of the mappings on/off. - CTRL-^ also toggles the use of an input method when no language mappings are - present. Allows switching the IM back on halfway typing. -- "<char-123>" argument to ":map", allows to specify the decimal, octal or - hexadecimal value of a character. -- Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to - define mappings for the keymap. The new ":loadkeymap" command is used in - the keymap file. -- Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when - it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are - active. Show this text in the default statusline too. -- Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings - and Input Method with an option. (Muraoka Taro) - Added 'imcmdline' option: When set the input method is always enabled when - starting to edit a command line. Useful for a XIM that uses dead keys to - type accented characters. - Added 'imactivatekey' option to better control XIM. (Muraoka Taro) -- When typing a mapping that's not finished yet, display the last character - under the cursor in Insert mode and Command-line mode. Looks good for dead - characters. -- Made the 'langmap' option recognize multi-byte characters. But mapping only - works for 8-bit characters. Helps when using UTF-8. -- Use a different cursor for when ":lmap" mappings are active. Can specify - two highlight groups for an item in 'guicursor'. By default "lCursor" and - "Cursor" are equal, the user must set a color he likes. - Use the cursor color for hangul input as well. (Sung-Hyun Nam) -- Show "(lang)" for 'showmode' when language mapping is enabled. -- UTF-8: Made "r" work with a ":lmap" that includes a composing character. - Also works for "f", which now works to find a character that includes a - composing character. - -Other multi-byte character additions: -- Support double-byte single-width characters for euc-jp: Characters starting - with 0x8E. Added ScreenLines2[] to store the second byte. - - -Multi-language support *new-multi-lang* ----------------------- - -The messages used in Vim can be translated. Several translations are -available. This uses the gettext mechanism. It allows adding a translation -without recompiling Vim. |multi-lang| (partly by Marcin Dalecki) - -The translation files are in the src/po directory. The src/po/README.txt file -explains a few things about doing a translation. - -Menu translations are available as well. This uses the new |:menutranslate| -command. The translations are found in the runtime directory "lang". This -allows a user to add a translation. - -Added |:language| command to set the language (locale) for messages, time and -character type. This allows switching languages in Vim without changing the -locale outside of Vim. - -Made it possible to have vimtutor use different languages. (Eduardo Fernandez) -Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro -Matsumoto) and French (Adrien Beau) translations are included. -Added "vimtutor.bat": script to start Vim on a copy of the tutor file for -MS-Windows. (Dan Sharp) - -- Added v:lang variable to be able to get current language setting. - (Marcin Dalecki) Also v:lc_time and v:ctype. -- Make it possible to translate the dialogs used by the menus. Uses global - "menutrans_" variables. ":menutrans clear" deletes them. -- removed "broken locale" (Marcin Dalecki). -- Don't use color names in icons, use RGB values. The names could be - translated. -- Win32: Added global IME support (Muraoka) -- Win32: Added dynamic loading of IME support. -- ":messages" prints a message about who maintains the messages or the - translations. Useful to find out where to make a remark about a wrong - translation. -- --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun - Nam) -- Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez) -- When available, call bind_textdomain_codeset() to have gettext() translate - messages to 'encoding'. This requires GNU gettext 0.10.36 or later. -- Added gettext support for Win32. This means messages will be translated - when the locale is set and libintl.dll can be found. (Muraoka Taro) - Also made it work with MingW compiler. (Eduardo Fernandez) - Detect the language and set $LANG to get the appropriate translated messages - (if supported). Also use $LANG to select a language, v:lang is a very - different kind of name. -- Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto) - - -Plugin support *new-plugins* --------------- - -To make it really easy to load a Vim script when starting Vim, the "plugin" -runtime directory can be used. All "*.vim" files in it will be automatically -loaded. For Unix, the directory "~/.vim/plugin" is used by default. The -'runtimepath' option can be set to look in other directories for plugins. -|load-plugins| |add-plugin| - -The |:runtime| command has been added to load one or more files in -'runtimepath'. - -Standard plugins: -netrw.vim - Edit files over a network |new-network-files| -gzip.vim - Edit compressed files -explorer.vim - Browse directories |new-file-browser| - -Added support for local help files. |add-local-help|. -When searching for help tags, all "doc/tags" files in 'runtimepath' are used. -Added the ":helptags" command: Generate a tags file for a help directory. -The first line of each help file is automagically added to the "LOCAL -ADDITIONS" section in doc/help.txt. - -Added the <unique> argument to ":map": only add a mapping when it wasn't -defined before. - -When displaying an option value with 'verbose' set will give a message about -where the option was last set. Very useful to find out which script did set -the value. - -The new |:scriptnames| command displays a list of all scripts that have been -sourced. - -GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps" -directories in 'runtimepath'. Allows adding your own bitmaps. - - -Filetype plugins *new-filetype-plugins* ------------------ - -A new group of files has been added to do settings for specific file types. -These can be options and mappings which are specifically used for one value of -'filetype'. - -The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option -makes it possible to use several sets of plugins: Your own, system-wide, -included in the Vim distribution, etc. - -To be able to make this work, several features were added: -- Added the "s:" variables, local to a script. Avoids name conflicts with - global variables. They can be used in the script and in functions, - autocommands and user commands defined in the script. They are kept between - invocations of the same script. |s:var| -- Added the global value for local options. This value is used when opening - a new buffer or editing another file. The option value specified in a - modeline or filetype setting is not carried over to another buffer. - ":set" sets both the local and the global value. - ":setlocal" sets the local option value only. - ":setglobal" sets or displays the global value for a local option. - ":setlocal name<" sets a local option to its global value. -- Added the buffer-local value for some global options: 'equalprg', 'makeprg', - 'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags', - 'include' and 'define'. This allows setting a local value for these global - options, without making it incompatible. -- Added mappings and abbreviations local to a buffer: ":map <buffer>". -- In a mapping "<Leader>" can be used to get the value of the "mapleader" - variable. This simplifies mappings that use "mapleader". "<Leader>" - defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This - is to be used for mappings local to a buffer. -- Added <SID> Script ID to define functions and mappings local to a script. -- Added <script> argument to ":noremap" and ":noremenu": Only remap - script-local mappings. Avoids that mappings from other scripts get in the - way, but does allow using mappings defined in the script. -- User commands can be local to a buffer: ":command -buffer". - -The new ":setfiletype" command is used in the filetype detection autocommands, -to avoid that 'filetype' is set twice. - - -File browser *new-file-browser* ------------- - -When editing a directory, the explorer plugin will list the files in the -directory. Pressing <Enter> on a file name edits that file. Pressing <Enter> -on a directory moves the browser to that directory. - -There are several other possibilities, such as opening a file in the preview -window, renaming files and deleting files. - - -Editing files over a network *new-network-files* ----------------------------- - -Files starting with scp://, rcp://, ftp:// and http:// are recognized as -remote files. An attempt is made to access these files with the indicated -method. For http:// only reading is possible, for the others writing is also -supported. Uses the netrw.vim script as a standard "plugin". |netrw| - -Made "gf" work on a URL. It no longer assumes the file is local on the -computer (mostly didn't work anyway, because the full path was required). -Adjusted test2 for this. - -Allow using a URL in 'path'. Makes ":find index.html" work. - -GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes -care of downloading the file. (MiKael Berthe) - - -Window for command-line editing *new-cmdwin* -------------------------------- - -The Command-line window can be used to edit a command-line with Normal and -Insert mode commands. When it is opened it contains the history. This allows -copying parts of previous command lines. |cmdwin| - -The command-line window can be opened from the command-line with the key -specified by the 'cedit' option (like Nvi). It can also be opened directly -from Normal mode with "q:", "q/" and "q?". - -The 'cmdwinheight' is used to specify the initial height of the window. - -In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like -it's done on the command-line. This is also useful for writing Vim scripts! - -Additionally, there is "improved Ex mode". Entered when Vim is started as -"exim" or "vim -E", and with the "gQ" command. Works like repeated use of -":", with full command-line editing and completion. (Ulf Carlsson) - - -Debugging mode *new-debug-mode* --------------- - -In debugging mode sourced scripts and user functions can be executed line by -line. There are commands to step over a command or step into it. |debug-mode| - -Breakpoints can be set to run until a certain line in a script or user -function is executed. |:breakadd| - -Debugging can be started with ":debug {cmd}" to debug what happens when a -command executes. The |-D| argument can be used to debug while starting up. - - -Cursor in virtual position *new-virtedit* --------------------------- - -Added the 'virtualedit' option: Allow positioning the cursor where there is no -actual character in Insert mode, Visual mode or always. (Matthias Kramm) -This is especially useful in Visual-block mode. It allows positioning a -corner of the area where there is no text character. (Many improvements by -Chase Tingley) - - -Debugger interface *new-debug-itf* ------------------- - -This was originally made to work with Sun Visual Workshop. (Gordon Prieur) -See |debugger.txt|, |sign.txt| and |workshop.txt|. - -Added the ":sign" command to define and place signs. They can be displayed -with two ASCII characters or an icon. The line after it can be highlighted. -Useful to display breakpoints and the current PC position. - -Added the |:wsverb| command to execute debugger commands. - -Added balloon stuff: 'balloondelay' and 'ballooneval' options. - -Added "icon=" argument for ":menu". Allows defining a specific icon for a -ToolBar item. - - -Communication between Vims *new-vim-server* --------------------------- - -Added communication between two Vims. Makes it possible to send commands from -one Vim to another. Works for X-Windows and MS-Windows |clientserver|. - -Use "--remote" to have files be edited in an already running Vim. -Use "--remote-wait" to do the same and wait for the editing to finish. -Use "--remote-send" to send commands from one Vim to another. -Use "--remote-expr" to have an expression evaluated in another Vim. -Use "--serverlist" to list the currently available Vim servers. (X only) -There are also functions to communicate between the server and the client. -|remote_send()| |remote_expr()| - -(X-windows version implemented by Flemming Madsen, MS-Windows version by Paul -Moore) - -Added the command server name to the window title, so you can see which server -name belongs to which Vim. - -Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the -distribution. Can now use "gvim --remote" and "gvim --remote-send", which is -portable. - -GTK+: Support running Vim inside another window. Uses the --socketid argument -(Neil Bird) - - -Buffer type options *new-buftype* -------------------- - -The 'buftype' and 'bufhidden' options have been added. They can be set to -have different kinds of buffers. For example: -- 'buftype' = "quickfix": buffer with error list -- 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be - deleted as soon as there is no window displaying it. - -'bufhidden' can be used to overrule the 'hidden' option for one buffer. - -In combination with 'buflisted' and 'swapfile' this offers the possibility to -use various kinds of special buffers. See |special-buffers|. - - -Printing *new-printing* --------- - -Included first implementation of the ":hardcopy" command for printing -to paper. For MS-Windows any installed printer can be used. For other -systems a PostScript file is generated, which can be printed with the -'printexpr' option. -(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and -Mike Williams) - -Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro -Matsumoto) - -Added options to tune the way printing works: (Vince Negri) -- 'printoptions' defines various things. -- 'printheader' specifies the header format. Added "N" field to 'statusline' - for the page number. -- 'printfont' specifies the font name and attributes. -- 'printdevice' defines the default printer for ":hardcopy!". - - -Ports *ports-6* ------ - -Port to OS/390 Unix (Ralf Schandl) -- A lot of changes to handle EBCDIC encoding. -- Changed Ctrl('x') to Ctrl_x define. - -Included jsbmouse support. (Darren Garth) -Support for dec mouse in Unix. (Steve Wall) - -Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri) - -Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid) - -Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron) -Added Python support for compiling with Mingw. (Ron Aaron) - -Dos 32 bit: Added support the Windows clipboard. (David Kotchan) - -Win32: Dynamically load Perl and Python. Allows compiling Vim with these -interfaces and will try to find the DLLs at runtime. (Muraoka Taro) - -Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and -uninstall. (Gerfried) - -Mac: Make Vim compile with the free MPW compiler supplied by Apple. And -updates for CodeWarrior. (Axel Kielhorn) - -Added typecasts and ifdefs as a start to make Vim work on Win64 (George -Reilly) - - -Quickfix extended *quickfix-6* ------------------ - -Added the "error window". It contains all the errors of the current error -list. Pressing <Enter> in a line makes Vim jump to that line (in another -window). This makes it easy to navigate through the error list. -|quickfix-window|. - -- |:copen| opens the quickfix window. -- |:cclose| closes the quickfix window. -- |:cwindow| takes care that there is a quickfix window only when there are - recognized errors. (Dan Sharp) - -- Quickfix also knows "info", next to "warning" and "error" types. "%I" can be - used for the start of a multi-line informational message. (Tony Leneis) -- The "%p" argument can be used in 'errorformat' to get the column number from - a line where "^" points to the column. (Stefan Roemer) -- When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:" - in the filename, even when using "%f:". - - -Operator modifiers *new-operator-mod* ------------------- - -Insert "v", "V" or CTRL-V between an operator and a motion command to force -the operator to work characterwise, linewise or blockwise. |o_v| - - -Search Path *new-search-path* ------------ - -Vim can search in a directory tree not only in downwards but also upwards. -Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl) - -Also use "**" for 'tags' option. (Ralf Schandl) - -Added 'includeexpr', can be used to modify file name found by 'include' -option. -Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found -without modification. Useful for doing "gf" on the name after an include or -import statement. - -Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf) - -Added the 'suffixesadd' option: Suffixes to be added to a file name when -searching for a file for the "gf", "[I", etc. commands. - - -Writing files improved *new-file-writing* ----------------------- - -Added the 'backupcopy' option: Select whether a file is to be copied or -renamed to make a backup file. Useful on Unix to speed up writing an ordinary -file. Useful on other systems to preserve file attributes and when editing a -file on a Unix filesystem. - -Added the 'autowriteall' option. Works like 'autowrite' but for more -commands. - -Added the 'backupskip' option: A list of file patterns to skip making a backup -file when it matches. The default for Unix includes "/tmp/*", this makes -"crontab -e" work. - -Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL -is copied from the original file to the new file (or the backup if it's -copied). -ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren) -And on SGI. - - -Argument list *new-argument-list* -------------- - -The support for the argument list has been extended. It can now be -manipulated to contain the files you want it to contain. - -The argument list can now be local to a window. It is created with the -|:arglocal| command. The |:argglobal| command can be used to go back to the -global argument list. - -The |:argdo| command executes a command on all files in the argument list. - -File names can be added to the argument list with |:argadd|. File names can -be removed with |:argdelete|. - -"##" can be used like "#", it is replaced by all the names in the argument -list concatenated. Useful for ":grep foo ##". - -The |:argedit| adds a file to the argument list and edits it. Like ":argadd" -and then ":edit". - - -Restore a View *new-View* --------------- - -The ":mkview" command writes a Vim script with the settings and mappings for -one window. When the created file is sourced, the view of the window is -restored. It's like ":mksession" for one window. -The View also contains the local argument list and manually created, opened -and closed folds. - -Added the ":loadview" command and the 'viewdir' option: Allows for saving and -restoring views of a file with simple commands. ":mkview 1" saves view 1 for -the current file, ":loadview 1" loads it again. Also allows quickly switching -between two views on one file. And saving and restoring manual folds and the -folding state. - -Added 'viewoptions' to specify how ":mkview" works. - -":mksession" now also works fine with vertical splits. It has been further -improved and restores the view of each window. It also works properly with -preview and quickfix windows. - -'sessionoptions' is used for ":mkview" as well. -Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what -the current directory will be restored to. - -The session file now also contains the argument list(s). - - -Color schemes *new-color-schemes* -------------- - -Support for loading a color scheme. Added the ":colorscheme" command. -Automatically add menu entries for available schemes. -Should now properly reset the colors when 'background' or 't_Co' is changed. -":highlight clear" sets the default colors again. -":syntax reset" sets the syntax highlight colors back to the defaults. -For ":set bg&" guess the value. This allows a color scheme to switch back to -the default colors. -When syntax highlighting is switched on and a color scheme was defined, reload -the color scheme to define the colors. - - -Various new items *new-items-6* ------------------ - -Normal mode commands: ~ - -"gi" Jump to the ^ mark and start Insert mode. Also works when the - mark is just after the line. |gi| - -"g'm" and "g`m" - Jump to a mark without changing the jumplist. Now you can use - g`" to jump to the last known position in a file without side - effects. Also useful in mappings. - -[', [`, ]' and ]` - move the cursor to the next/previous lowercase mark. - -g_ Go to last non-blank in line. (Steve Wall) - - -Options: ~ - -'autoread' When detected that a file changed outside of Vim, - automatically read a buffer again when it's not changed. - It has a global and a local value. Use ":setlocal autoread<" - to go back to using the global value for 'autoread'. - -'debug' When set to "msg" it will print error messages that would - otherwise be omitted. Useful for debugging 'indentexpr' and - 'foldexpr'. - -'lispwords' List of words used for lisp indenting. It was previously hard - coded. Added a number of Lisp names to the default. - -'fold...' Many new options for folding. - -'modifiable' When off, it is impossible to make changes to a buffer. - The %m and %M items in 'statusline' show a '-'. - -'previewwindow' Set in the preview window. Used in a session file to mark a - window as the preview window. - -'printfont' -'printexpr' -'printheader' -'printdevice' -'printoptions' for ":hardcopy". - -'buflisted' Makes a buffer appear in the buffer list or not. - -Use "vim{version}:" for modelines, only to be executed when the version is ->= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}". - - -Ex commands: ~ - -:sav[eas][!] {file} - Works like ":w file" and ":e #", but without loading the file - again and avoiding other side effects. |:saveas| - -:silent[!] {cmd} - Execute a command silently. Also don't use a delay that would - come after the message. And don't do 'showmatch'. - RISCOS: Removed that "!~cmd" didn't output anything, and - didn't wait for <Enter> afterwards. Can use ":silent !cmd" - now. -:menu <silent> Add a menu that won't echo Ex commands. -:map <silent> Add a mapping that won't echo Ex commands. - -:checktime Check for changed buffers. - -:verbose {cmd} Set 'verbose' for one command. - -:echomsg {expr} -:echoerr {expr} Like ":echo" but store the message in the history. (Mark - Waggoner) - -:grepadd Works just like ":grep" but adds to the current error list - instead of defining a new list. |:grepadd| - -:finish Finish sourcing a file. Can be used to skip the rest of a Vim - script. |:finish| - -:leftabove -:aboveleft Split left/above current window. - -:rightbelow -:belowright Split right/below current window. - -:first, :bfirst, :ptfirst, etc. - Alias for ":rewind". It's more logical compared to ":last". - -:enew Edit a new, unnamed buffer. This is needed, because ":edit" - re-edits the same file. (Wall) - -:quitall Same as ":qall". - -:match Define match highlighting local to a window. Allows - highlighting an item in the current window without interfering - with syntax highlighting. - -:menu enable -:menu disable Commands to enable/disable menu entries without removing them. - (Monish Shah) - -:windo Execute a command in all windows. -:bufdo Execute a command in all buffers. - -:wincmd Window (CTRL-W) command. Useful when a Normal mode command - can't be used (e.g., for a CursorHold autocommand). See - |CursorHold-example| for a nice application with it. - -:lcd and :lchdir - Set local directory for a window. (Benjie Chen) - -:hide {command} - Execute {command} with 'hidden' set. - -:emenu in Visual mode to execute a ":vmenu" entry. - -:popup Pop up a popup menu. - -:redraw Redraw the screen even when busy with a script or function. - -:hardcopy Print to paper. - -:compiler Load a Vim script to do settings for a specific compiler. - -:z# List numbered lines. (Bohdan Vlasyuk) - - -New marks: ~ - -'( and ') Begin or end of current sentence. Useful in Ex commands. -'{ and '} Begin or end of current paragraph. Useful in Ex commands. -'. Position of the last change in the current buffer. -'^ Position where Insert mode was stopped. - -Store the ^ and . marks in the viminfo file. Makes it possible to jump to the -last insert position or changed text. - - -New functions: ~ -argidx() Current index in argument list. -buflisted() Checks if the buffer exists and has 'buflisted' set. -cindent() Get indent according to 'cindent'. -eventhandler() Returns 1 when inside an event handler and interactive - commands can't be used. -executable() Checks if a program or batch script can be executed. -filewritable() Checks if a file can be written. (Ron Aaron) -foldclosed() Find out if there is a closed fold. (Johannes Zellner). -foldcloseend() Find the end of a closed fold. -foldlevel() Find out the foldlevel. (Johannes Zellner) -foreground() Move the GUI window to the foreground. -getchar() Get one character from the user. Can be used to define a - mapping that takes an argument. -getcharmod() Get last used key modifier. -getbufvar() gets the value of an option or local variable in a buffer (Ron - Aaron) -getfsize() Return the size of a file. -getwinvar() gets the value of an option or local variable in a window (Ron - Aaron) -globpath() Find matching files in a list of directories. -hasmapto() Detect if a mapping to a string is already present. -iconv() Convert a string from one encoding to another. -indent() gets the indent of a line (Ron Aaron) -inputdialog() Like input() but use a GUI dialog when possible. Currently - only works for Win32, Motif, Athena and GTK. - Use inputdialog() for the Edit/Settings/Text Width menu. Also - for the Help/Find.. and Toolbar FindHelp items. - (Win32 support by Thore B. Karlsen) - (Win16 support by Vince Negri) -inputsecret() Ask the user to type a string without showing the typed keys. - (Charles Campbell) -libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall) -libcallnr() for Win32 and Unix -lispindent() Get indent according to 'lisp'. -mode() Return a string that indicates the current mode. -nextnonblank() Skip blank lines forwards. -prevnonblank() Skip blank lines backwards. Useful to for indent scripts. -resolve() MS-Windows: resolve a shortcut to the file it points to. - Unix: resolve a symbolic link. -search() Search for a pattern. -searchpair() Search for matching pair. Can be used in indent files to find - the "if" matching an endif. -setbufvar() sets an option or variable local to a buffer (Ron Aaron) -setwinvar() sets an option or variable local to a window (Ron Aaron) -stridx() Search for first occurrence of one string in another. -strridx() Search for last occurrence of one string in another. -tolower() Convert string to all-lowercase. -toupper() Convert string to all-uppercase. -type() Check the type of an expression. -wincol() window column of the cursor -winwidth() Width of a window. (Johannes Zellner) -winline() window line of the cursor - - -Added expansion of curly braces in variable and function names. This can be -used for variable names that include the value of an option. Or a primitive -form of arrays. (Vince Negri) - - -New autocommand events: ~ -BufWinEnter Triggered when a buffer is displayed in a window, after using - the modelines. Can be used to load a view. -BufWinLeave Triggered when a buffer is no longer in a window. Also - triggered when exiting Vim. Can be used to save views. -FileChangedRO Triggered before making the first change to a read-only file. - Can be used to check-out the file. (Scott Graham) -TermResponse Triggered when the terminal replies to the version-request. - The v:termresponse internal variable holds the result. Can be - used to react to the version of the terminal. (Ronald Schild) -FileReadCmd Triggered before reading a file. -BufReadCmd Triggered before reading a file into a buffer. -FileWriteCmd Triggered before writing a file. -BufWriteCmd Triggered before writing a buffer into a file. -FileAppendCmd Triggered before appending to a file. -FuncUndefined Triggered when a user function is not defined. (Ron Aaron) - -The autocommands for the *Cmd events read or write the file instead of normal -file read/write. Use this in netrw.vim to be able to edit files on a remote -system. (Charles Campbell) - - -New Syntax files: ~ - -bdf BDF font definition (Nikolai Weibull) -catalog SGML catalog (Johannes Zellner) -debchangelog Debian Changelog (Wichert Akkerman) -debcontrol Debian Control (Wichert Akkerman) -dot dot (Markus Mottl) -dsl DSSSL syntax (Johannes Zellner) -eterm Eterm configuration (Nikolai Weibull) -indent Indent profile (Nikolai Weibull) -lftp LFTP (Nikolai Weibull) -lynx Lynx config (Doug Kearns) -mush mush sourcecode (Bek Oberin) -natural Natural (Marko Leipert) -pilrc Pal resource compiler (Brian Schau) -plm PL/M (Philippe Coulonges) -povini Povray configuration (David Necas) -ratpoison Ratpoison config/command (Doug Kearns) -readline readline config (Nikolai Weibull) -screen Screen RC (Nikolai Weibull) -specman Specman (Or Freund) -sqlforms SQL*Forms (Austin Ziegler) -terminfo terminfo (Nikolai Weibull) -tidy Tidy configuration (Doug Kearns) -wget Wget configuration (Doug Kearns) - - -Updated many syntax files to work both with Vim 5.7 and 6.0. - -Interface to Ruby. (Shugo Maeda) -Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro) -Support this for Mingw too. (Benoit Cerrina) - -Win32: Added possibility to load TCL dynamically. (Muraoka Taro) -Also for Borland 5.5. (Dan Sharp) - -Win32: When editing a file that is a shortcut (*.lnk file), edit the file it -links to. Unless 'binary' is set, then edit the shortcut file itself. -(Yasuhiro Matsumoto) - -The ":command" command now accepts a "-bar" argument. This allows the user -command to be followed by "| command". - -The preview window is now also used by these commands: -- |:pedit| edits the specified file in the preview window -- |:psearch| searches for a word in included files, like |:ijump|, and - displays the found text in the preview window. -Added the CTRL-W P command: go to preview window. - -MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly -for NT systems with multiple users. - -A double-click of the mouse on a character that has a "%" match selects from -that character to the match. Similar to "v%". - -"-S session.vim" argument: Source a script file when starting up. Convenient -way to start Vim with a session file. - -Added "--cmd {command}" Vim argument to execute a command before a vimrc file -is loaded. (Vince Negri) - -Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow -making changes and writing files. - -Added runtime/delmenu.vim. Source this to remove all menus and prepare for -loading new menus. Useful when changing 'langmenu'. - -Perl script to filter Perl error messages to quickfix usable format. (Joerg -Ziefle) - -Added runtime/macros/less.vim: Vim script to simulate less, but with syntax -highlighting. - -MS-Windows install program: (Jon Merz) -- The Win32 program can now create shortcuts on the desktop and install Vim in - the Start menu. -- Possibly remove old "Edit with Vim" entries. -- The Vim executable is never moved or $PATH changed. A small batch file is - created in a directory in $PATH. Fewer choices to be made. -- Detect already installed Vim versions and offer to uninstall them first. - -Improved the MS-Windows uninstal program. It now also deletes the entries in -the Start menu, icons from the desktop and the created batch files. (Jon Merz) -Also made it possible to delete only some of these. Also unregister gvim for -OLE. - -Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon -Merz et al.) - -Added ":filetype detect". Try detecting the filetype again. Helps when -writing a new shell script, after adding "#!/bin/csh". - -Added ":augroup! name" to delete an autocommand group. Needed for the -client-server "--remote-wait". - -Add the Vim version number to the viminfo file, useful for debugging. - -============================================================================== -IMPROVEMENTS *improvements-6* - -Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not -put between line numbers from 'number' option. Makes it a lot easier to read -wrapped lines. - -When there is a format error in a tags file, the byte position is reported so -that the error can be located. - -"gf" works in Visual mode: Use the selected text as the file name. (Chase -Tingley) - -Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest -matching one is used. Especially useful for ":lmap" and 'keymap'. - -Encryption: Ask the key to be typed twice when crypting the first time. -Otherwise a typo might cause the text to be lost forever. (Chase Tingley) - -The window title now has "VIM" on the end. The file name comes first, useful -in the taskbar. A "+" is added when the file is modified. "=" is added for -a read-only file. "-" is added for a file with 'modifiable' off. - -In Visual mode, mention the size of the selected area in the 'showcmd' -position. - -Added the "b:changedtick" variable. Incremented at each change, also for -undo. Can be used to take action only if the buffer has been changed. - -In the replacement string of a ":s" command "\=" can be used to replace with -the result of an expression. From this expression the submatch() function can -be used to access submatches. - -When doing ":qall" and there is a change in a buffer that is being edited in -another window, jump to that window, instead of editing that buffer in the -current window. - -Added the "++enc=" and "++ff=" arguments to file read/write commands to force -using the given 'encoding' or 'fileformat'. And added the "v:cmdarg" -variable, to be used for FileReadCmd autocommands that read/write the file -themselves. - -When reading stdin, first read the text in binary mode and then re-read it -with automatic selection of 'fileformat' and 'fileencoding'. This avoids -problems with not being able to rewind the file (e.g., when a line near the -end of the file ends in LF instead of CR-LF). -When reading text from stdin and the buffer is empty, don't mark it changed. -Allows exiting without trouble. - -Added an ID to many error messages. This will make it easier to find help for -a message. - -Insert mode: -- "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same - column. Useful for editing a table. -- Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri) -- Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus - completion. Added the 's' flag in 'complete'. -- Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also - scans other loaded buffers for matching lines. -- CTRL-R now also works in Insert mode while doing completion with CTRL-X or - CTRL-N. (Neil Bird) -- When doing Insert mode completion, when completion is finished check for a - match with words from 'cinkeys' or 'indentkeys'. - -Performance: -- Made display updating more efficient. Insert/delete lines may be used for - all changes, also for undo/redo. -- The display is not redrawn when there is typeahead in Insert mode. Speeds - up CTRL-R a lot. -- Improved speed of screen output for 32 bit DOS version. (Vince Negri) -- When dragging with the mouse, there is a lookahead to skip mouse codes when - there is another one next. Makes dragging with the mouse a lot faster. -- Also a memory usage improvement: When calling u_save with a single line, - don't save it if the line was recently saved for the same undo already. -- When using a script that appends one character at a time, the amount of - allocated memory was growing steadily. Also when 'undolevels' is -1. - Caused by the line saved for "U" never to be freed. Now free an undo block - when it becomes empty. -- GUI and Dos32: Use a vertical scroll region, to make scrolling in a - vertically split window faster. No need to redraw the whole window. -- When scrolling isn't possible with terminal codes (e.g., for a vertically - split window) redraw from ScreenLines[]. That should be faster than going - through the lines with win_line(), especially when using syntax - highlighting. -- The Syntax menu is now pre-generated by a separate script. Makes loading - the menu 70% faster. This can halve the startup time of gvim. -- When doing ":help tag", don't open help.txt first, jump directly to the help - tag. It's faster and avoids an extra message. -- Win32: When a file name doesn't end in ".lnk" don't try resolving a - shortcut, it takes quite a bit of time. -- Don't update the mouse pointer shape while there are typeahead characters. -- Change META[] from a string into an array, avoids using strchr() on it. -- Don't clear the command line when adding characters, avoids that screen_fill - is called but doesn't do anything. - -Robustness: -- Unix: Check for running out of stack space when executing a regexp. Avoids - a nasty crash. Only works when the system supports running the signal - function on another stack. -- Disallow ":source <dirname>". On unix it's possible to read a directory, - does not make sense to use it as Vim commands. - -Security: -- When reading from or writing to a temporary file, check that it isn't a - symbolic link. Gives some protection against symlink attacks. -- When creating a backup file copy or a swap file, check for it already - existing to avoid a symlink attack. (Colin Phipps) -- Evaluating options which are an expression is done in a |sandbox|. If the - option was set by a modeline, it cannot cause damage. -- Use a secure way to generate temp file names: Create a private directory for - temp files. Used for Unix, MS-DOS and OS/2. -- 'makeef' can be empty, which means that an internally generated file name is - used. The old default was "/tmp/file", which is a security risk. - Writing 'makeef' in the current directory fails in a read-only directory and - causes trouble when using ":grep" on all files. Made the default empty for - all systems, so that a temp file is used. -- The command from a tags file is executed in the sandbox for better security. -- The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They - might do dangerous things. Perl is still possible, but limited to the Safe - environment. (Donnie Smith) - -Syntax highlighting: -- Optimized the speed by caching the state stack all over the file, not just - the part being displayed. Required for folding. -- Added ":syntax sync fromstart": Always parse from the start of the file. -- Added the "display" argument for syntax items: use the item only when - displaying the result. Can make parsing faster for text that isn't going to - be displayed. -- When using CTRL-L, the cached states are deleted, to force parsing the text - again. -- Use elfhash algorithm for table of keywords. This should give a better - distribution and speedup keyword lookup. (Campbell) -- Also allow the "lc" leading context for skip and end patterns. (Scott - Bigham) -- Syntax items can have the "extend" argument to undo the effect of a - "keepend" argument of an item it is contained in. Makes it possible to have - some contained items extend a region while others don't. -- ":syntax clear" now deletes the b:current_syntax variable. That's logical, - since no syntax is defined after this command. -- Added ":syntax enable": switch on syntax highlighting without changing the - colors. This allows specifying the colors in the .vimrc file without the - need for a mysyntaxfile. -- Added ":syntax reset": reset the colors to their defaults. -- Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it - possible to define a transparent item that doesn't contain itself. -- Added a "containedin" argument to syntax items. Allows adding a contained - item to an existing item (e.g., to highlight a name in a comment). - -Modeless selection: -- When in the command-line window, use modeless selection in the other - windows. Makes it possible to copy visible text to the command-line window. -- Support modeless selection on the cmdline in a terminal. Previously it was - only possible for the GUI. -- Make double-right-click in modeless selection select a whole word. Single - right click doesn't use the word selection started by a double-left-click. - Makes it work like in Visual mode. -- The modeless selection no longer has an implied automatic copy to the - clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or - "autoselect" and "autoselectml" in 'clipboard'. -- Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to - the clipboard. Also works at the hit-enter prompt and the more prompt. - Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in - cmdline-mode to be able to use CTRL-Y in the new way. - -Reduced the amount of stack space used by regmatch() to allow it to handle -complicated patterns on a longer text. - -'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS. - -Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave -like the ASCII equivalent. (Ivan Wellesz and Vince Negri) -Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home> - -Also trigger the BufUnload event when Vim is going to exit. Perhaps a script -needs to do some cleaning up. - -Expand expression in backticks: `={expr}`. Can be used where backtick -expansion is done. (Vince Negri) - -GUI: -- Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only - when there is a vertically split window. -- X11: When a color can't be allocated, use the nearest match from the - colormap. This avoids that black is used for many things. (Monish Shah) - Also do this for the menu and scrollbar, to avoid that they become black. -- Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to - the current mode. (Vince Negri) -- Added the 'linespace' option: Insert a pixel line between lines. (Nam) -- Allow modeless selection (without moving the cursor) by keeping CTRL and - SHIFT pressed. (Ivan Wellesz) -- Motif: added toolbar. (Gordon Prieur) Also added tooltips. -- Athena: added toolbar and tooltips. (David Harrison -- based on Gordon - Prieur's work) -- Made the 'toolbar' option work for Athena and Motif. Can now switch between - text and icons on the fly. (David Harrison) -- Support menu separator lines for Athena. (David Harrison) -- Athena: Adjust the arrow pixmap used in a pullright menu to the size of the - font. (David Harrison) -- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem - Khodush) -- When no --enable-xim argument is given, automatically enable it when a X GUI - is used. Required for dead key support (and multi-byte input). -- After a file selection dialog, check that the edited files were not changed - or deleted. The Win32 dialog allows deleting and renaming files. -- Motif and Athena: Added support for "editres". (Marcin Dalecki) -- Motif and Athena: Added "menuFont" to be able to specify a font or fontset - for the menus. Can also be set with the "Menu" highlight group. Useful - when the locale is different from 'encoding'. (David Harrison) - When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should - avoid trouble with changing from a font to a fontset. (David Harrison) -- Highlighting and font for the tooltips can be specified with the "Tooltip" - highlight group. (David Harrison) -- The Cmdline-mode menus can be used at the more-prompt. This mostly works - fine, because they start with a CTRL-C. The "Copy" menu works to copy the - modeless selection. Allows copying the output of ":set all" or ":intro" - without auto-selection. -- When starting the GUI when there is no terminal connected to stdout and - stderr, display error messages in a dialog. Previously they wouldn't be - displayed at all. -- Allow setting 'browsedir' to the name of a directory, to be used for the - file dialog. (Dan Sharp) -- b:browsefilter and g:browsefilter can be set to the filters used for the - file dialog. Supported for Win32 and Motif GUI. (Dan Sharp) - -X11: -- Support for the clipboard selection as register "+. When exiting or - suspending copy the selection to cut buffer 0. Should allow copy/paste with - more applications in a X11-standard way. (Neil Bird) -- Use the X clipboard in any terminal, not just in an xterm. - Added "exclude:" in 'clipboard': Specify a pattern to match against terminal - names for which no connection should be made to the X server. The default - currently work for FreeBSD and Linux consoles. -- Added a few messages for when 'verbose' is non-zero to show what happens - when trying to connect to the X server. Should help when trying to find out - why startup is slow. - -GTK GUI: (partly by Marcin Dalecki) -- With some fonts the characters can be taller than ascent + descent. E.g., - "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character - cell height. -- Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut, - when 'wak' changed after creating the menus. -- Setting 'wak' after the GUI started works. -- recycle text GC's to reduce communication. -- Adjust icon size to window manager. -- Cleanup in font handling. -- Replace XQueryColor with GDK calls. -- Gnome support. Detects Gnome in configure and uses different widgets. - Otherwise it's much like GTK. (Andy Kahn) - It is disabled by default, because it causes a few problems. -- Removed the special code to fork first and then start the GUI. Now use - _exit() instead of exit(), this works fine without special tricks. -- Dialogs sometimes appeared a bit far away. Position the dialogs inside - the gvim window. (Brent Verner) -- When dropping a file on Vim, remove extra slashes from the start of the - path. Also shorten the file name if possible. - -Motif: (Marcin Dalecki) -- Made the dialog layout better. -- Added find and find/replace dialogs. -- For the menus, change "iso-8859" to "iso_8859", Linux appears to need this. -- Added icon to dialogs, like for GTK. -- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include - file when it's available. -- Change the shadow of the toolbar items to get a visual feedback of it being - pressed on non-LessTif. -- Use gadgets instead of windows for some items for speed. - -Command line completion: -- Complete environment variable names. (Mike Steed) -- For ":command", added a few completion methods: "mapping", "function", - "expression" and "environment". -- When a function doesn't take arguments, let completion add () instead of (. - -For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR. -(Walter Briscoe) - -Redirect messages to the clipboard ":redir @*" and to the unnamed register -":redir @"". (Wall) - -":let @/ = ''" clears the search pattern, instead of setting it to an empty -string. - -Expression evaluation: -- "? :" can be used like in C. -- col("$") returns the length of the cursor line plus one. (Stephen P. Wall) -- Optional extra argument for match(), matchend() and matchstr(): Offset to - start looking for a match. -- Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera) -- exists() can also be used to check for Ex commands and defined autocommands. -- Added extra argument to input(): Default text. -- Also set "v:errmsg" when using ":silent! cmd". -- Added the v:prevcount variable: v:count for the previous command. -- Added "v:progname", name with which Vim was started. (Vince Negri) -- In the verbose message about returning from a function, also show the return - value. - -Cscope: -- Added the cscope_connection() function. (Andy Kahn) -- ":cscope kill -1" kills all cscope connections. (Andy Kahn) -- Added the 'cscopepathcomp' option. (Scott Hauck) -- Added ":scscope" command, split window and execute Cscope command. (Jason - Duell) - -VMS: -- Command line arguments are always uppercase. Interpret a "-X" argument as - "-x" and "-/X" as "-X". -- Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy) -- Use the X-clipboard feature and the X command server. (Zoltan Arpadffy) - -Macintosh: (Dany St-Amant) -- Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn) -- Carbonized (while keeping non Carbon code) - (Some work "stolen" from Ammon Skidmore) -- Improved the menu item index handling (should be faster) -- Runtime commands now handle / in file name (MacOS 9 version) -- Added ":winpos" support. -- Support using "~" in file names for home directory. - -Options: -- When using set += or ^= , check for items used twice. Duplicates are - removed. (Vince Negri) -- When setting an option that is a list of flags, remove duplicate flags. -- If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina) -- Added "alpha" to 'nrformats': increment or decrement an alphabetic character - with CTRL-A and CTRL-X. -- ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim - default. Useful to set 'cpo' to its Vim default without knowing what flags - that includes. -- 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the - window. -- Added more option settings to the default menus. -- Updated the option window with new options. Made it a bit easier to read. - -Internal changes: -- Split line pointers in text part and attributes part. Allows for future - change to make attribute more than one byte. -- Provide a qsort() function for systems that don't have it. -- Changed the big switch for Normal mode commands into a table. This cleans - up the code considerably and avoids trouble for some optimizing compilers. -- Assigned a negative value to special keys, to avoid them being mixed up with - Unicode characters. -- Global variables expand_context and expand_pattern were not supposed to be - global. Pass them to ExpandOne() and all functions called by it. -- No longer use the global reg_ic flag. It caused trouble and in a few places - it was not set. -- Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids - problem with autocommands. -- Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too - big. Also moved some code from screen.c to move.c. -- Don't include the CRC table for encryption, generate it. Saves quite a bit - of space in the source code. (Matthias Kramm) -- Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems. -- Removed the GTK implementation of ":findhelp", it now uses the - ToolBar.FindHelp menu entry. -- Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and - mch_shellinit() to mch_init(). - -Highlighting: -- In a ":highlight" listing, show "xxx" with the highlight color. -- Added support for xterm with 88 or 256 colors. The right color numbers will - be used for the name used in a ":highlight" command. (Steve Wall) -- Added "default" argument for ":highlight". When included, the command is - ignored if highlighting for the group was already defined. - All syntax files now use ":hi default ..." to allow the user to specify - colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed - anymore. This greatly simplifies using non-default colors for a specific - language. -- Adjusted colortest.vim: Included colors on normal background and reduced the - size by using a while loop. (Rafael Garcia-Suarez) -- Added the "DarkYellow" color name. Just to make the list of standard colors - consistent, it's not really a nice color to use. - -When an xterm is in 8-bit mode this is detected by the code returned for -|t_RV|. All key codes are automatically converted to their 8-bit versions. - -The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the -actual key codes used and the number of colors for t_Co. Only when |t_RV| is -also used. - -":browse set" now also works in the console mode. ":browse edit" will give an -error message. - -":bdelete" and ":bunload" only report the number of deleted/unloaded buffers -when more than 'report'. The message was annoying when deleting a buffer in a -script. - -Jump list: -- The number of marks kept in the jumplist has been increased from 50 to 100. -- The jumplist is now stored in the viminfo file. CTRL-O can be used to jump - to positions from a previous edit session. -- When doing ":split" copy the jumplist to the new window. - -Also set the '[ and '] marks for the "~" and "r" commands. These marks are -now always set when making a change with a Normal mode command. - -Python interface: Allow setting the width of a vertically split window. (John -Cook) - -Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys'). - -Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes -Zellner) -Added the "l" flag in 'cinoptions'. (Anduin Withers) -Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt) - -When doing ":wall" or ":wqall" and a modified buffer doesn't have a name, -mention its buffer number in the error message. - -":function Name" lists the function with line numbers. Makes it easier to -find out where an error happened. - -In non-blockwise Visual mode, "r" replaces all selected characters with the -typed one, like in blockwise Visual mode. - -When editing the last file in the argument list in any way, allow exiting. -Previously this was only possible when getting to that file with ":next" or -":last". - -Added the '1' flag to 'formatoptions'. (Vit Stradal) -Added 'n' flag in 'formatoptions': format a numbered list. - -Swap file: -- When a swap file already exists, and the user selects "Delete" at the - ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo" - file which won't always be found. -- When giving the ATTENTION message and the date of the file is newer than the - date of swap file, give a warning about this. -- Made the info for an existing swap file a bit shorter, so that it still fits - on a 24 line screen. -- It was possible to make a symlink with the name of a swap file, linking to a - file that doesn't exist. Vim would then silently use another file (if open - with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do - another check for an existing swap file just before creating it to catch a - symlink attack. - -The g CTRL-G command also works in Visual mode and counts the number of words. -(Chase Tingley) - -Give an error message when using 'shell' and it's empty. - -Added the possibility to include "%s" in 'shellpipe'. - -Added "uhex" value for 'display': show non-printable characters as <xx>. -Show unprintable characters with NonText highlighting, also in the command -line. - -When asked to display the value of a hidden option, tell it's not supported. - -Win32: -- When dropping a shortcut on gvim (.lnk file) edit the target, not the - shortcut itself. (Yasuhiro Matsumoto) -- Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe) -- When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too. - Also check for the Unix shell names. -- When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig - Barkhouse) - -Win32 console version: -- Includes the user and system name in the ":version" message, when available. - It generates a pathdef.c file for this. (Jon Miner) -- Set the window icon to Vim's icon (only for Windows 2000). While executing - a shell command, modify the window title to show this. When exiting, - restore the cursor position too. (Craig Barkhouse) -- The Win32 console version can be compiled with OLE support. It can only - function as a client, not as an OLE server. - -Errorformat: -- Let "%p" in 'errorformat' (column of error indicated by a row of characters) - also accept a line of dots. -- Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp) -- Added a default 'errorformat' value for VMS. (Jim Bush) - -The "p" command can now be used in Visual mode. It overwrites the selected -text with the contents of a register. - -Highlight the <> items in the intro message to make clear they are special. - -When using the "c" flag for ":substitute", allow typing "l" for replacing this -item and then stop: "last". - -When printing a verbose message about sourcing another file, print the line -number. - -When resizing the Vim window, don't use 'equalalways'. Avoids that making the -Vim window smaller makes split windows bigger. And it's what the docs say. - -When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR -kept the remaining white space. Now made it work like BS: delete the -autoindent to avoid a blank non-empty line results. - -Added a GetHwnd() call to the OLE interface. (Vince Negri) - -Made ":normal" work in an event handler. Useful when dropping a file on Vim -and for CursorHold autocommands. - -For the MS-Windows version, don't change to the directory of the file when a -slash is used instead of a backslash. Explorer should always use a backslash, -the user can use a slash when typing the command. - -Timestamps: -- When a buffer was changed outside of Vim and regaining focus, give a dialog - to allow the user to reload the file. Now also for other GUIs than - MS-Windows. And also used in the console, when compiled with dialog - support. -- Inspect the file contents to find out if it really changed, ignore - situations where only the time stamp changed (e.g., checking the file out - from CVS). -- When checking the timestamp, first check if the file size changed, to avoid - a file compare then. Makes it quicker for large (log) files that are - appended to. -- Don't give a warning for a changed or deleted file when 'buftype' is set. -- No longer warn for a changed directory. This avoids that the file explorer - produces warnings. -- Checking timestamps is only done for buffers that are not hidden. These - will be checked when they become unhidden. -- When checking for a file being changed outside of Vim, also check if the - file permissions changed. When the file contents didn't change but the - permissions did, give a warning. -- Avoid checking too often, otherwise the dialog keeps popping up for a log - file that steadily grows. - -Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to -"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very -hard to find problems. Disallow mapping part of a multi-byte character. - -For ":python" and ":tcl" accept an in-line script. (Johannes Zellner) -Also for ":ruby" and ":perl". (Benoit Cerrina) - -Made ":syn include" use 'runtimepath' when the file name is not a full path. - -When 'switchbuf' contains "split" and the current window is empty, don't split -the window. - -Unix: Catch SIGPWR to preserve files when the power is about to go down. - -Sniff interface: (Anton Leherbauer) -- fixed windows code, esp. the event handling stuff -- adaptations for sniff 4.x ($SNIFF_DIR4) -- support for adding sniff requests at runtime - -Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt -key is used. - -":find" accepts a count, which means that the count'th match in 'path' is -used. - -":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a -buffer is active show "a" instead of nothing. When a buffer isn't loaded -show nothing instead of "-". - -Unix install: -- When installing the tools, set absolute paths in tools scripts efm_perl.pl - and mve.awk. Avoids that the user has to edit these files. -- Install Icons for KDE when the directories exist and the icons do not exist - yet. - -Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and -NT/2000/XP in a Vim script. - -When a ":cd" command was typed, echo the new current directory. (Dan Sharp) - -When using ":winpos" before the GUI window has been opened, remember the -values until it is opened. - -In the ":version" output, add "/dyn" for features that are dynamically loaded. -This indicates the feature may not always work. - -On Windows NT it is possible that a directory is read-only, but a file can be -deleted. When making a backup by renaming the file and 'backupdir' doesn't -use the current directory, this causes the original file to be deleted, -without the possibility to create a new file. Give an extra error message -then to warn to user about this. - -Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's -consistent with Insert mode. - -============================================================================== -COMPILE TIME CHANGES *compile-changes-6* - -All generated files have been moved out of the "src" directory. This makes it -easy to see which files are not edited by hand. The files generated by -configure are now in the "src/auto" directory. For Unix, compiled object -files go in the objects directory. - -The source archive was over the 1.4M floppy limit. The archives are now split -up into two runtime and two source archives. Also provide a bzip2 compressed -archive that contains all the sources and runtime files. - -Added "reconfig" as a target for make. Useful when changing some of the -arguments that require flushing the cache, such as switching from GTK to -Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent -over different GUIs. - -Added src/README.txt to give an overview of the main parts of the source code. - -The Unix Makefile now fully supports using $(DESTDIR) to install to a specific -location. Replaces the manual setting of *ENDLOC variables. - -Added the possibility for a maintainer of a binary version to include his -e-mail address with the --with-compiledby configure argument. - -Included features are now grouped in "tiny", "small", "normal", "big" and -"huge". This replaces "min-features" and "max-features". Using "tiny" -disables multiple windows for a really small Vim. - -For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin -are equal to curwin and don't use w_next and w_prev. - -Added the +listcmds feature. Can be used to compile without the Vim commands -that manipulate the buffer list and argument list (the buffer list itself is -still there, can't do without it). - -Added the +vreplace feature. It is disabled in the "small" version to avoid -that the 16 bit DOS version runs out of memory. - -Removed GTK+ support for versions older than 1.1.16. - -The configure checks for using PTYs have been improved. Code taken from a -recent version of screen. - -Added configure options to install Vim, Ex and View under another name (e.g., -vim6, ex6 and view6). - -Added "--with-global-runtime" configure argument. Allows specifying the -global directory used in the 'runtimepath' default. - -Made enabling the SNiFF+ interface possible with a configure argument. - -Configure now always checks /usr/local/lib for libraries and -/usr/local/include for include files. Helps finding the stuff for iconv() and -gettext(). - -Moved the command line history stuff into the +cmdline_hist feature, to -exclude the command line history from the tiny version. - -MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids -having to change two files for one problem. (Vince Negri) - -Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri) - -The jumplist is now a separate feature. It is disabled for the "small" -version (16 bit MS-DOS). - -Renamed all types ending in _t to end in _T. Avoids potential problems with -system types. - -Added a configure check for X11 header files that implicitly define the return -type to int. (Steve Wall) - -"make doslang" in the top directory makes an archive with the menu and .mo -files for Windows. This uses the files generated on Unix, these should work -on MS-Windows as well. - -Merged a large part of os_vms.c with os_unix.c. The code was duplicated in -the past which made maintenance more work. (Zoltan Arpadffy) - -Updated the Borland C version 5 Makefile: (Dan Sharp) -- Fixed the Perl build -- Added python and tcl builds -- Added dynamic perl and dynamic python builds -- Added uninstal.exe build -- Use "yes" and "no" for the options, like in Make_mvc.mak. - -Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's -much smaller, many unnecessary text has been removed. (Walter Briscoe) -Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in -MS-Devstudio. (Walter Briscoe) - -MS-Windows: The big gvim.exe, which includes OLE, now also includes -dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1, -ActivePython 2.1.1 and ActiveTCL 8.3.3 - -Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for -Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile. - -Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6. -(Vipin Aravind) - -Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto) - -Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro -Matsumoto) - -============================================================================== -BUG FIXES *bug-fixes-6* - -When checking the command name for "gvim", "ex", etc. ignore case. Required -for systems where case is ignored in command names. - -Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'. - -When double-clicking in another window, wasn't recognized as double click, -because topline is different. Added set_mouse_topline(). - -The BROKEN_LOCALE check was broken. (Marcin Dalecki) - -When "t_Co" is set, the default colors remain the same, thus wrong. Reset the -colors after changing "t_Co". (Steve Wall) - -When exiting with ":wqall" the messages about writing files could overwrite -each other and be lost forever. - -When starting Vim with an extremely long file name (around 1024 characters) it -would crash. Added a few checks to avoid buffer overflows. - -CTRL-E could get stuck in a file with very long lines. - -":au syntax<Tab>" expanded event names while it should expand groups starting -with "syntax". - -When expanding a file name caused an error (e.g., for <amatch>) it was -produced even when inside an "if 0". - -'cindent' formatted C comments differently from what the 'comments' option -specified. (Steve Wall) - -Default for 'grepprg' didn't include the file name when only grepping in one -file. Now /dev/null has been added for Unix. - -Opening the option window twice caused trouble. Now the cursor goes to the -existing option window. - -":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set -'readonly', unless the buffer is also edited in another window. - -GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar -and menubar to disappear and resize the window (which clears the text). -Now always grey-out the toplevel menus to avoid that the menubar changes size -or disappears. - -When re-using the current buffer for a new buffer, buffer-local variables were -not deleted. - -GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a -down scroll. Now pass on a mouse event with mouse_row set to -1. - -Win32: Console version didn't work on telnet, because of switching between two -console screens. Now use one console screen and save/restore the contents -when needed. (Craig Barkhouse) - -When reading a file the magic number for encryption was included in the file -length. (Antonio Colombo) - -The quickfix window contained leading whitespace and NULs for multi-line -messages. (David Harrison) - -When using cscope, redundant tags were removed. This caused a numbering -problem, because they were all listed. Don't remove redundant cscope tags. -(David Bustos). - -Cscope: Test for which matches are in the current buffer sometimes failed, -causing a jump to another match than selected. (David Bustos) - -Win32: Buffer overflow when adding a charset name in a font. - -'titlestring' and 'iconstring' were evaluating an expression in the current -context, which could be a user function, which is a problem for local -variables vs global variables. - -Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in -_OnSysChar(). - -Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle. -Could also happen for the ruler. screen_puts() didn't clear the right char in -ScreenLines[] for the bold trick. - -Win32: ":%!sort|uniq" didn't work, because the input file name touches the -"|". Insert a space before the "|". - -OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to -fail, which caused syntax highlighting to fail. - -Pasting a register containing CTRL-R on the command line could cause an -endless loop that can't be interrupted. Now it can be stopped with CTRL-C. - -When 'verbose' is set, a message for file read/write could overwrite the -previous message. -When 'verbose' is set, the header from ":select" was put after the last -message. Now start a new line. - -The hit-enter prompt reacted to the response of the t_RV string, causing -messages at startup to disappear. - -When t_Co was set to 1, colors were still used. Now only use color when t_Co -> 1. - -Listing functions with ":function" didn't quit when 'q' or ':' was typed at -the more prompt. - -Use mkstemp() instead of mktemp() when it's available, avoids a warning for -linking on FreeBSD. - -When doing Insert mode completion it's possible that b_sfname is NULL. Don't -give it to printf() for the "Scanning" message. - -":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards -was done after trying to remove the string. Now for ":set opt+=val" and ":set -opt-=val" the expansion of wildcards is done before adding or removing "val". - -Using CTRL-V with the "r" command with a blockwise Visual selection inserted a -CTRL-V instead of getting a special character. - -Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE -after -lXdmcp. Should fix link problem on HP-UX 10.20. - -Don't remove the last "-lm" from the link line. Vim may link but fail later -when the GUI starts. - -When the shell returns with an error when trying to expand wildcards, do -include the pattern when the "EW_NOTFOUND" flag was set. -When expanding wildcards with the shell fails, give a clear error message -instead of just "1 returned". - -Selecting a Visual block, with the start partly on a Tab, deleting it leaves -the cursor too far to the left. Causes "s" to work in the wrong position. - -Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead. - -Warning for changing a read-only file wasn't given when 'insertmode' was set. - -Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start -notepad file" doesn't work. Remove the double quotes added by 'shellxquote' -when using ":!start". (Pavol Juhas) - -The "<f-args>" argument of ":command" didn't accept Tabs for white space. -Also, don't add an empty argument when there are trailing blanks. - -":e test\\je" edited "test\je", but ":next test\\je" edited "testje". -Backslashes were removed one time too many for ":next". - -VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file -name. (Zoltan Arpadffy) - -After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all -characters are redrawn with the right background. - -When doing "make test" without +eval or +windows feature, many tests failed. -Now have test1 generate a script to copy the correct output, so that a test -that doesn't work is skipped. - -On FreeBSD the Perl interface added "-lc" to the link command and Python added -"-pthread". These two don't work together, because the libc_r library should -be used. Removed "-lc" from Perl, it should not be needed. -Also: Add "-pthread" to $LIBS, so that the checks for functions is done with -libc_r. Sigaltstack() appears to be missing from libc_r. - -The Syntax sub-menus were getting too long, reorganized them and added another -level for some languages. - -Visual block "r"eplace didn't work well when a Tab is partly included. -(Matthias Kramm) - -When yanking a Visual block, where some lines end halfway the block, putting -the text somewhere else doesn't insert a block. Padd with spaces for missing -characters. Added "y_width" to struct yankreg. (Matthias Kramm) - -If a substitute string has a multibyte character after a backslash only the -first byte of it was skipped. (Muraoka Taro) - -Win32: Numeric keypad keys were missing from the builtin termcap entry. - -When a file was read-only ":wa!" didn't force it to be written. (Vince Negri) - -Amiga: A file name starting with a colon was considered absolute but it isn't. -Amiga: ":pwd" added a slash when in the root of a drive. - -Don't let 'ttymouse' default to "dec" when compiled with dec mouse support. -It breaks the gpm mouse (Linux console). - -The prototypes for the Perl interface didn't work for threaded Perl. Added a -sed command to remove the prototypes from proto/if_perl.pro and added them -manually to if_perl.xs. - -When ":w!" resets the 'readonly' option the title and status lines were not -updated. - -":args" showed the current file when the argument list was empty. Made this -work like Vi: display nothing. - -"99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode. -Don't set v:count when executing a stuffed command. - -Amiga: Got a requester for "home:" because it's in the default runtime path. -Don't bring up a requester when searching for a file in 'path', sourcing the -.vimrc file or using ":runtime". - -Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same -file to appear as two different buffers. - -Win32: Renaming a file to an empty string crashed Vim. Happened when using -explorer.vim and hitting ESC at the rename prompt. - -Win32: strftime() crashed when called with a "-1" value for the time. - -Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not -to be found. - -Cscope sometimes jumped to the wrong tag. (David Bustos) - -OS/2: Could not find the tags file. mch_expand_wildcards() added another -slash to a directory name. - -When using ">>" the `] mark was not in the last column. - -When Vim was compiled without menu support, filetype.vim was still trying to -source the menu.vim script. (Rafael Garcia-Suarez) - -":ptag" added an item to the tag stack. - -Win32 IME: "gr" didn't use IME mode. - -In the "vim --help" message the term "options" was used for arguments. That's -confusing, call them "arguments". - -When there are two windows, and a BufUnload autocommand for closing window #1 -closed window #2, Vim would crash. - -When there is a preview window and only one other window, ":q" wouldn't exit. - -In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed. - -On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows -glob("*") also returned files starting with a dot. Made this work like Unix -on all systems. - -Win32: Removed old code to open a console. Vimrun is now used and works fine. - -Compute the room needed by the intro message accurately, so that it also fits -on a 25 line console. (Craig Barkhouse) - -":ptnext" was broken. Now remember the last tag used in the preview window -separately from the tagstack. - -Didn't check for "-display" being the last argument. (Wichert Akkerman) - -GTK GUI: When starting "gvim" under some conditions there would be an X error. -Don't replace the error handler when creating the xterm clipboard. (Wichert -Akkerman) - -Adding a space after a help tag caused the tag not to be found. E.g., ":he -autoindent ". - -Was trying to expand a URL into a full path name. On Windows this resulted in -the current directory to be prepended to the URL. Added vim_isAbsName() and -vim_FullName() to avoid that various machine specific functions do it -differently. - -":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only -does it for the current file (looks like a bug). Now remember the buffer used -for the entry in the argument list and use its name (adjusted when doing -":cd"), unless it's deleted. - -When inserting a special key as its name ("<F8>" as four characters) after -moving around in Insert mode, undo didn't work properly. - -Motif GUI: When using the right mouse button, for some people gvim froze for -a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup -menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or -"popup_setpos". (David Harrison) - -Motif: When adding many menu items, the "Help" menu disappeared but the -menubar didn't wrap. Now manually set the menubar height. - -When using <BS> in Insert mode to remove a line break, or using "J" to join -lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro) - -Removed defining SVR4 in configure. It causes problems for some X header -files and doesn't appear to be used anywhere. - -When 'wildignore' is used, 'ignorecase' for a tag match was not working. - -When 'wildignore' contains "*~" it was impossible to edit a file ending in a -"~". Now don't recognize a file ending in "~" as containing wildcards. - -Disabled the mouse code for OS/2. It was not really used. - -":mksession" always used the full path name for a buffer, also when the short -name could be used. -":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a -way that they would be restored. Now use the key name if possible, this is -portable. - -After recovering a file and abandoning it, an ":edit" command didn't give the -ATTENTION prompt again. Would be useful to be able to delete the file in an -easy way. Reset the BF_RECOVERED flag when unloading the buffer. - -histdel() could match or ignore case, depending on what happened before it. -Now always match case. - -When a window size was specified when splitting a window, it would still get -the size from 'winheight' or 'winwidth' if it's larger. - -When using "append" or "insert" inside a function definition, a line starting -with "function" or "endfunction" caused confusion. Now recognize the commands -and skip lines until a ".". - -At the end of any function or sourced file need_wait_return could be reset, -causing messages to disappear when redrawing. - -When in a while loop the line number for error messages stayed fixed. Now the -line number is remembered in the while loop. - -"cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash. - -MS-Windows: getftime() didn't work when a directory had a trailing slash or -backslash. Didn't show the time in the explorer because of this. - -When doing wildcard completion, a directory "a/" sorted after "a-b". Now -recognize path separators when sorting files. - -Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were -created as different buffers, although it's the same file. Expand to a full -file name also when an absolute name contains "..". - -"g&" didn't repeat the last substitute properly. - -When 'clipboard' was set to "unnamed", a "Y" command would not write to "0. -Now make a copy of register 0 to the clipboard register. - -When the search pattern matches in many ways, it could not always be -interrupted with a CTRL-C. And CTRL-C would have to be hit once for every -line when 'hlsearch' is on. -When 'incsearch' is on and interrupting the search for a match, don't abandon -the command line. - -When turning a directory name into a full path, e.g., with fnamemodify(), -sometimes a slash was added. Make this consistent: Don't add a slash. - -When a file name contains a "!", using it in a shell command will cause -trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time -when 'shell' contains "sh". - -Completing a file name that has a tail that starts with a "~" didn't work: -":e view/~<Tab>". - -Using a ":command" argument that contains < and > but not for a special -argument was not skipped properly. - -The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in -$PATH didn't work, it always found it in the current directory. -Rename the vim.exe in the current dir to avoid this. (Walter Briscoe) - -In the MS-DOS/Windows install program, use %VIM% instead of an absolute path, -so that moving Vim requires only one change in the batch file. - -Mac: mch_FullName() changed the "fname" argument and didn't always initialize -the buffer. - -MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file -name. - -"echo expand("%:p:h")" with an empty file name removed one directory name on -MS-DOS. For Unix, when the file name is a directory, the directory name was -removed. Now make it consistent: "%:p" adds a path separator for all systems, -but no path separator is added in other situations. - -Unix: When checking for a CTRL-C (could happen any time) and there is an X -event (e.g., clipboard updated) and there is typeahead, Vim would hang until a -character was typed. - -MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon, -had the slash removed. - -":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even -"he :set^=" didn't find it. - -A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work -when the current path for D: isn't the root of the drive. - -Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary. - -When using a dtterm or various other color terminals, and the Normal group has -been set to use a different background color, the background wouldn't always -be displayed with that color. Added check for "ut" termcap entry: If it's -missing, clearing the screen won't give us the current background color. Need -to draw each character instead. Vim now also works when the "cl" (clear -screen) termcap entry is missing. - -When repeating a "/" search command with a line offset, the "n" did use the -offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the -same. - -Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash. - -OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty(). - -C-indenting: Indented a line starting with ")" with the matching "(", but not -a line starting with "x)" looks strange. Also compute the indent for aligning -with items inside the () and use the lowest indent. - -MS-DOS and Windows: ":n *.vim" also matched files ending in "~". -Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are -equal. - -Macintosh: (Dany St-Amant) -- In Vi-compatible mode didn't read files with CR line separators. -- Fixed a bug in the handling of Activate/Deactivate Event -- Fixed a bug in gui_mch_dialog (using wrong pointer) - -Multibyte GDK XIM: While composing a multibyte-word, if user presses a -mouse button, then the word is removed. It should remain and composing end. -(Sung-Hyun Nam) - -MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF -conversion by the C library got in the way of detecting a "dos" 'fileformat'. - -When 'smartcase' is set, patterns with "\S" would also make 'ignorecase' -reset. - -When clicking the mouse in a column larger than 222, it moved to the first -column. Can't encode a larger number in a character. Now limit the number to -222, don't jump back to the first column. - -GUI: In some versions CSI would cause trouble, either when typed directly or -when part of a multi-byte sequence. - -When using multibyte characters in a ":normal" command, a trailing byte that -is CSI or K_SPECIAL caused problems. - -Wildmenu didn't handle multi-byte characters. - -":sleep 10" could not be interrupted on Windows, while "gs" could. Made them -both work the same. - -Unix: When waiting for a character is interrupted by an X-windows event (e.g., -to obtain the contents of the selection), the wait time would not be honored. -A message could be overwritten quickly. Now compute the remaining waiting -time. - -Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then -the name is invalid. Don't insert the backslash. - -When doing an auto-write before ":make", IObuff was overwritten and the wrong -text displayed later. - -On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults -for 'backupdir' and 'directory', they don't exist. - -The check for a new file not to be on an MS-DOS filesystem created the file -temporarily, which can be slow. Don't do this if there is another check for -the swap file being on an MS-DOS filesystem. - -Don't give the "Changing a readonly file" warning when reading from stdin. - -When using the "Save As" menu entry and not entering a file name, would get an -error message for the trailing ":edit #". Now only do that when the -alternate file name was changed. - -When Vim owns the X11 selection and is being suspended, an application that -tries to use the selection hangs. When Vim continues it could no longer -obtain the selection. Now give up the selection when suspending. - -option.h and globals.h were included in some files, while they were already -included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it -twice. - -When repeating an operator that used a search pattern and the search pattern -contained characters that have a special meaning on the cmdline (e.g., CTRL-U) -it didn't work. - -Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in -a (multibyte) character. For example, the "r" command could not be repeated. - -The DOS/Windows install program didn't always work from a directory with a -long filename, because $VIM and the executable name would not have the same -path. - -Multi-byte: -- Using an any-but character range [^x] in a regexp didn't work for UTF-8. - (Muraoka Taro) -- When backspacing over inserted characters in Replace mode multi-byte - characters were not handled correctly. (Muraoka Taro) -- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka - Taro) -- Word completion in Insert mode didn't work with multibyte characters. - (Muraoka Taro) -- Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too - wide (number of bytes instead of cell width). -- When changing 'encoding' to "euc-jp" and inserting a character Vim would - crash. -- For euc-jp characters positioning the cursor would sometimes be wrong. - Also, with two characters with 0x8e leading byte only the first one would be - displayed. -- When using DYNAMIC_ICONV on Win32 conversion might fail because of using the - wrong error number. (Muraoka Taro) -- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce - the right character. -- When using Visual block selection and only the left halve of a double-wide - character is selected, the highlighting continued to the end of the line. -- Visual-block delete didn't work properly when deleting the right halve of a - double-wide character. -- Overstrike mode for the cmdline replaced only the first byte of a multibyte - character. -- The cursor in Replace mode (also in the cmdline) was to small on a - double-wide character. -- When a multibyte character contained a 0x80 byte, it didn't work (was using - a CSI byte instead). (Muraoka Taro) -- Wordwise selection with the mouse didn't work. -- Yanking a modeless selection of multi-byte characters didn't work. -- When 'selection' is "exclusive", selecting a word that ends in a multi-byte - character used wrong highlighting for the following character. - -Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse) - -Win32 GUI: When "vimrun.exe" is used to execute an external command, don't -give a message box with the return value, it was already printed by vimrun. -Also avoid printing the return value of the shell when ":silent!" is used. - -Win32: selecting a lot of text and using the "find/replace" dialog caused a -crash. - -X11 GUI: When typing a character with the 8th bit set and the Meta/Alt -modifier, the modifier was removed without changing the character. - -Truncating a message to make it fit on the command line, using "..." for the -middle, didn't always compute the space correctly. - -Could not imap <C-@>. Now it works like <Nul>. - -VMS: -- Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M - characters. (Zoltan Arpadffy and John W. Hamill) -- Added VMS-specific defaults for the 'isfname' and 'isprint' options. - (Zoltan Arpadffy) -- Removed os_vms_osdef.h, it's no longer used. - -The gzip plugin used a ":normal" command, this doesn't work when dropping a -compressed file on Vim. - -In very rare situations a binary search for a tag would fail, because an -uninitialized value happens to be half the size of the tag file. (Narendran) - -When using BufEnter and BufLeave autocommands to enable/disable a menu, it -wasn't updated right away. - -When doing a replace with the "c"onfirm flag, the cursor was positioned after -the ruler, instead of after the question. With a long replacement string the -screen could scroll up and cause a "more" prompt. Now the message is -truncated to make it fit. - -Motif: The autoconf check for the Xp library didn't work. - -When 'verbose' is set to list lines of a sourced file, defining a function -would reset the counter used for the "more" prompt. - -In the Win32 find/replace dialog, a '/' character caused problems. Escape it -with a backslash. - -Starting a shell with ":sh" was different from starting a shell for CTRL-Z -when suspending doesn't work. They now work the same way. - -Jumping to a file mark while in a changed buffer gave a "mark not set" error. - -":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch -all commands that cause too much recursiveness. - -Removed "Failed to open input method" error message, too many people got this -when they didn't want to use a XIM. - -GUI: When compiled without the +windows feature, the scrollbar would start -below line one. - -Removed the trick with redefining character class functions from regexp.c. - -Win32 GUI: Find dialog gives focus back to main window, when typing a -character mouse pointer is blanked, it didn't reappear when moving it in the -dialog window. (Vince Negri) - -When recording and typing a CTRL-C, no character was recorded. When in Insert -mode or cancelling half a command, playing back the recorded sequence wouldn't -work. Now record the CTRL-C. - -When the GUI was started, mouse codes for DEC and netterm were still checked -for. - -GUI: When scrolling and 'writedelay' is non-zero, the character under the -cursor was displayed in the wrong position (one line above/below with -CTRL-E/CTRL-Y). - -A ":normal" command would reset the 'scrollbind' info. Causes problems when -using a ":normal" command in an autocommand for opening a file. - -Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka -Taro) - -When 'scrollbind' wasn't set would still remember the current position, -wasting time. - -GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of -exit() when the child couldn't execute the shell. - -Multi-byte: -- GUI with double-byte encoding: a mouse click in left halve of double-wide - character put the cursor in previous char. -- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey" - included the character after the word. -- When using a double-byte encoding and there is a lead byte at the end of the - line, the preceding line would be displayed. "ga" also showed wrong info. -- "gf" didn't include multi-byte characters before the cursor properly. - (Muraoka Taro) - -GUI: The cursor was sometimes not removed when scrolling. Changed the policy -from redrawing the cursor after each call to gui_write() to only update it at -the end of update_screen() or when setting the cursor position. Also only -update the scrollbars at the end of update_screen(), that's the only place -where the window text may have been scrolled. - -Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now -remove the space before the Tab. -Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next -line. Now keep the space after the Tab. - -In some places non-ASCII alphabetical characters were accepted, which could -cause problems. For example, ":X" (X being such a character). - -When a pattern matches the end of the line, the last character in the line was -highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the -character just after the line. - -Motif: If a dialog was closed by clicking on the "X" of the window frame Vim -would no longer respond. - -When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would -crash. (Matsumoto) - -When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in -Select mode. Insert mode wasn't restarted after overwriting the text. -Now allow nesting Insert mode with insert and change commands. CTRL-O -cwfoo<Esc> now also works. - -Clicking with the right mouse button in another window started Visual mode, -but used the start position of the current window. Caused ml_get errors when -the line number was invalid. Now stay in the same window. - -When 'selection' is "exclusive", "gv" sometimes selected one character fewer. - -When 'comments' contains more than one start/middle/end triplet, the optional -flags could be mixed up. Also didn't align the end with the middle part. - -Double-right-click in Visual mode didn't update the shown mode. - -When the Normal group has a font name, it was never used when starting up. -Now use it when 'guifont' and 'guifontset' are empty. -Setting a font name to a highlight group before the GUI was started didn't -work. - -"make test" didn't use the name of the generated Vim executable. - -'cindent' problems: -- Aligned with an "else" inside a do-while loop for a line below that loop. - (Meikel Brandmeyer) -- A line before a function would be indented even when terminated with a - semicolon. (Meikel Brandmeyer) -- 'cindent' gave too much indent to a line after a "};" that ends an array - init. -- Support declaration lines ending in "," and "\". (Meikel Brandmeyer) -- A case statement inside a do-while loop was used for indenting a line after - the do-while loop. (Meikel Brandmeyer) -- When skipping a string in a line with one double quote it could continue in - the previous line. (Meikel Brandmeyer) - -When 'list' is set, 'hlsearch' didn't highlight a match at the end of the -line. Now highlight the '$'. - -The Paste menu item in the menu bar, the popup menu and the toolbar were all -different. Now made them all equal to how it was done in mswin.vim. - -st_dev can be smaller than "unsigned". The compiler may give an overflow -warning. Added a configure check for dev_t. - -Athena: closing a confirm() dialog killed Vim. - -Various typos in the documentation. (Matt Dunford) - -Python interface: The definition of _DEBUG could cause trouble, undefine it. -The error message for not being able to load the shared library wasn't -translated. (Muraoka Taro) - -Mac: (Dany St-Amant and Axel Kielhorn) -- Several fixes. -- Vim was eating 80% of the CPU time. -- The project os_mac.pbxproj didn't work, Moved it to a subdirectory. -- Made the menu priority work for the menubar. -- Fixed a problem with dragging the scrollbar. -- Cleaned up the various #ifdefs. - -Unix: When catching a deadly signal and we keep getting one use _exit() to -exit in a quick and dirty way. - -Athena menu ordering didn't work correctly. (David Harrison) - -A ":make" or ":grep" command with a long argument could cause a crash. - -Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new -window. - -GTK: When starting the GUI and there is an error in the .vimrc file, don't -present the wait-return prompt, since the message was given in the terminal. - -When there was an error in a .vimrc file the terminal where gvim was started -could be cleared. Set msg_row in main.c before writing any messages. - -GTK and X11 GUI: When trying to read characters from the user (e.g. with -input()) before the Vim window was opened caused Vim to hang when it was -started from the desktop. - -OS/390 uses 31 bit pointers. That broke some computations with MAX_COL. -Reduce MAX_COL by one bit for OS/390. (Ralf Schandl) - -When defining a function and it already exists, Vim didn't say it existed -until after typing it. Now do this right away when typing it. - -The message remembered for displaying later (keep_msg) was sometimes pointing -into a generic buffer, which might be changed by the time the message is -displayed. Now make a copy of the message. - -When using multi-byte characters in a menu and a trailing byte is a backslash, -the menu would not be created correctly. (Muraoka Taro) -Using a multibyte character in the substitute string where a trail byte is a -backslash didn't work. (Muraoka Taro) - -When setting "t_Co" in a vimrc file, then setting it automatically from an -xterm termresponse and then setting it again manually caused a crash. - -When getting the value of a string option that is not supported, the number -zero was returned. This breaks a check like "&enc == "asdf". Now an empty -string is returned for string options. - -Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting -'title' in the gvimrc and starting the GUI with ":gui". Closed the connection -to the X server accidentally. - -Had to hit return after selecting an entry for ":ts". - -The message from ":cn" message was sometimes cleared. Now display it after -redrawing if it doesn't cause a scroll (truncated when necessary). - -hangulin.c didn't compile when the GUI was disabled. Disable it when it won't -work. - -When setting a termcap option like "t_CO", the value could be displayed as -being for a normal key with a modifier, like "<M-=>". - -When expanding the argument list, entries which are a directory name did not -get included. This stopped "vim c:/" from opening the file explorer. - -":syn match sd "^" nextgroup=asdf" skipped the first column and matched the -nextgroup in the second column. - -GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing -the output. - -Don't define the <NetMouse> termcode in an xterm, reduces the problem when -someone types <Esc> } in Insert mode. - -Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro -Matsumoto) -Using a filename in Big5 encoding for autocommands didn't work (backslash in -trailbyte). (Yasuhiro Matsumoto) - -DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like -Unix to avoid problems with Windows dir functions. Merged the DOS and Win32 -functions. - -Win32: Gvimext could not edit more than a few files at once, the length of the -argument was fixed. - -"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to -raw mode when needed. Use dup() to copy the stderr file descriptor to stdin -to make shell commands work. No longer requires an external program to do -this. - -When using ":filetype off", ftplugin and indent usage would be switched off at -the same time. Don't do this, setting 'filetype' manually can still use them. - -GUI: When writing a double-byte character, it could be split up in two calls -to gui_write(), which doesn't work. Now flush before the output buffer -becomes full. - -When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message -would be written over the status line. -The ":intro" command didn't work when there wasn't enough room. - -Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha) - -Athena: When deleting the directory in which Vim was started, using the file -browser made Vim exit. Removed the use of XtAppError(). - -When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef -UNIX" to a separate line. - -Win32: Disabled _OnWindowPosChanging() to make maximize work better. - -Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe) - -Athena: -- Finally fixed the problems with deleting a menu. (David Harrison) -- Athena: When closing the confirm() dialog, worked like OK was pressed, - instead of Cancel. - -The file explorer didn't work in compatible mode, because of line -continuation. - -Didn't give an error message for ":digraph a". - -When using Ex mode in the GUI and typing a special key, <BS> didn't delete it -correctly. Now display '?' for a special key. - -When an operator is pending, clicking in another window made it apply to that -window, even though the line numbers could be beyond the end of the buffer. - -When a function call doesn't have a terminating ")" Vim could crash. - -Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers) - -Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin) - -Using a syntax cluster that includes itself made Vim crash. - -GUI: With 'ls' set to 2, dragging the status line all the way up, then making -the Vim window smaller: Could not the drag status line anymore. - -"vim -c startinsert! file" placed cursor on last char of a line, instead of -after it. A ":set" command in the buffer menu set w_set_curswant. Now don't -do this when w_curswant is MAXCOL. - -Win32: When the gvim window was maximized and selecting another font, the -window would no longer fill the screen. - -The line with 'pastetoggle' in ":options" didn't show the right value when it -is a special key. Hitting <CR> didn't work either. - -Formatting text, resulting in a % landing in the first line, repeated the % in -the following lines, like it's the start of a comment. - -GTK: When adding a toolbar item while gvim is already running, it wasn't -possible to use the tooltip. Now it works by adding the tooltip first. - -The output of "g CTRL-G" mentioned "Char" but it's actually bytes. - -Searching for the end of a oneline region didn't work correctly when there is -an offset for the highlighting. - -Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the -start of a comment. - -Win32: Without scrollbars present, the MS mouse scroll wheel didn't work. -Also handle the scrollbars when they are not visible. - -Motif: When there is no right scrollbar, the bottom scrollbar would still -leave room for it. (Marcin Dalecki) - -When changing 'guicursor' and the value is invalid, some of the effects would -still take place. Now first check for errors and only make the new value -effective when it's OK. - -Using "A" In Visual block mode, appending to lines that don't extend into the -block, padding was wrong. - -When pasting a block of text, a character that occupies more than one screen -column could be deleted and spaces inserted instead. Now only do that with a -tab. - -Fixed conversion of documentation to HTML using Perl. (Dan Sharp) - -Give an error message when a menu name starts with a dot. - -Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem" -even when sys/ptem.h isn't present. - -When creating the temp directory, make sure umask is 077, otherwise the -directory is not accessible when it was set to 0177. - -Unix: When resizing the window and a redraw is a bit slow, could get a window -resize event while redrawing, resulting in a messed up window. Any input -(e.g., a mouse click) would redraw. - -The "%B" item in the status line became zero in Insert mode (that's normal) -for another than the current window. - -The menu entries to convert to xxd and back didn't work in Insert mode. - -When ":vglobal" didn't find a line where the pattern doesn't match, the error -message would be the wrong way around. - -When ignoring a multi-line error message with "%-A", the continuation lines -would be used anyway. (Servatius Brandt) - -"grx" on a double-wide character inserted "x", instead of replacing the -character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace -at all. When doing "gRxx" on a control character the first "x" would be -inserted, breaking the alignment. - -Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place -as where "==" would put it. - -Win32: When maximized, adding/removing toolbar didn't resize the text area. - -When using <C-RightMouse> a count was discarded. - -When typing CTRL-V and <RightMouse> in the command line, would insert -<LeftMouse>. - -Using "vis" or "vas" when 'selection' is exclusive didn't include the last -character. - -When adding to an option like 'grepprg', leading space would be lost. Don't -expand environment variables when there is no comma separating the items. - -GUI: When using a bold-italic font, would still use the bold trick and -underlining. - -Motif: The default button didn't work in dialogs, the first one was always -used. Had to give input focus to the default button. - -When using CTRL-T to jump within the same file, the '' mark wasn't set. - -Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the -whole ":s" command instead of each confirmed replacement. - -The Buffers menu, when torn-off, disappeared when being refreshed. Add a -dummy item to avoid this. - -Removed calling msg_start() in main(), it should not be needed. - -vim_strpbrk() did not support multibyte characters. (Muraoka Taro) - -The Amiga version didn't compile, the code was too big for relative jumps. -Moved a few files from ex_docmd.c to ex_cmds2.c - -When evaluating the "= register resulted in the "= register being changed, Vim -would crash. - -When doing ":view file" and it fails, the current buffer was made read-only. - -Motif: For some people the separators in the toolbar disappeared when resizing -the Vim window. (Marcin Dalecki) - -Win32 GUI: when setting 'lines' to a huge number, would not compute the -available space correctly. Was counting the menu height twice. - -Conversion of the docs to HTML didn't handle the line with the +quickfix tag -correctly. (Antonio Colombo) - -Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro -Matsumoto) - -The Cygwin version had trouble with fchdir(). Don't use that function for -Cygwin. - -The generic check in scripts.vim for "conf" syntax was done before some checks -in filetype.vim, resulting in "conf" syntax too often. - -Dos32: Typing lagged behind. Would wait for one biostick when checking if a -character is available. - -GTK: When setting 'columns' while starting up "gvim", would set the width of -the terminal it was started in. - -When using ESC in Insert mode, an autoindent that wraps to the next line -caused the cursor to move to the end of the line temporarily. When the -character before the cursor was a double-wide multi-byte character the cursor -would be on the right halve, which causes problems with some terminals. - -Didn't handle multi-byte characters correctly when expanding a file name. -(Yasuhiro Matsumoto) - -Win32 GUI: Errors generated before the GUI is decided to start were not -reported. - -globpath() didn't reserve enough room for concatenated results. (Anduin -Withers) - -When expanding an option that is very long already, don't do the expansion, it -would be truncated to MAXPATHL. (Anduin Withers) - -When 'selection' is "exclusive", using "Fx" in Visual mode only moved until -just after the character. - -When using IME on the console to enter a file name, the screen may scroll up. -Redraw the screen then. (Yasuhiro Matsumoto) - -Motif: In the find/replace dialog the "Replace" button didn't work first time, -second time it replaced all matches. Removed the use of ":s///c". -GTK: Similar problems with the find/replace dialog, moved the code to a common -function. - -X11: Use shared GC's for text. (Marcin Dalecki) - -"]i" found the match under the cursor, instead of the first one below it. -Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D". - -Win16: When maximized and the font is changed, don't change the window size. -(Vince Negri) - -When 'lbr' is set, deleting a block of text could leave the cursor in the -wrong position. - -Win32: When opening a file with the "Edit with Vim" popup menu entry, -wildcards would cause trouble. Added the "--literal" argument to avoid -expanding file names. - -When using "gv", it didn't restore that "$" was used in Visual block mode. - -Win32 GUI: While waiting for a shell command to finish, the window wasn't -redrawn at all. (Yasuhiro Matsumoto) - -Syntax highlighting: A match that continues on a next line because of a -contained region didn't end when that region ended. - -The ":s" command didn't allow flags like 'e' and 'i' right after it. - -When using ":s" to split a line, marks were moved to the next line. Vi keeps -them in the first line. - -When using ":n" ":rew", the previous context mark was at the top of the file, -while Vi puts it in the same place as the cursor. Made it Vi compatible. - -Fixed Vi incompatibility: Text was not put in register 1 when using "c" and -"d" with a motion character, when deleting within one line with one of the -commands: % ( ) `<character> / ? N n { } - -Win32 GUI: The tooltip for tear-off items remained when the tear-off item was -no longer selected. - -GUI: When typing ":" at the more prompt, would return to Normal mode and not -redraw the screen. - -When starting Vim with an argument "-c g/at/p" the printed lines would -overwrite each other. - -BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check -removed them. Various changes to os_beos.cc. (Joshua Haberman) -Removed the check for the hardware platform, the BeBox has not been produced -for a long time now. - -Win32 GUI: don't use a message box when the shell returns an error code, -display the message in the Vim window. - -Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't -work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp) - -When a line in the tags file ended in ;" (no TAB following) the command would -not be recognized as a search command. - -X11: The inputMethod resource never worked. Don't use the "none" input method -for SGI, it apparently makes the first character in Input method dropped. - -Fixed incorrect tests in os_mac.h. (Axel Kielhorn) - -Win32 console: When the console where Vim runs in is closed, Vim could hang in -trying to restore the window icon. (Yasuhiro Matsumoto) - -When using ":3call func()" or ":3,3call func() the line number was ignored. - -When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes -continued until the end of the line. - -GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't' -when starting up. - -MS-Windows: When the current directory includes a "~", searching files with -"gf" or ":find" didn't work. A "$" in the directory had the same problem. -Added mch_has_exp_wildcard() functions. - -When reducing the Vim window height while starting up, would get an -out-of-memory error message. - -When editing a very long search pattern, 'incsearch' caused the redraw of the -command line to fail. - -Motif GUI: On some systems the "Help" menu would not be on the far right, as -it should be. On some other systems (esp. IRIX) the command line would not -completely show. Solution is to only resize the menubar for Lesstif. - -Using "%" in a line that contains "\\" twice didn't take care of the quotes -properly. Now make a difference between \" and \\". - -For non-Unix systems a dummy file is created when finding a swap name to -detect a 8.3 filesystem. When there is an existing swap file, would get a -warning for the file being created outside of Vim. Also, when closing the Vim -window the file would remain. - -Motif: The menu height was always computed, using a "-menuheight" argument -was setting the room for the command line. Now make clear the argument is not -supported. - -For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to -avoid a duplicate case in a switch. - -The GUI may have problems when forking. Always call _exit() instead of exit() -in the parent, the child will call exit(). - -Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus. -Now use CP_ACP instead of CP_OEMCP. (Vince Negri) - -When displaying text with syntax highlighting causes an error (e.g., running -out of stack) the syntax highlighting is disabled to avoid further messages. - -When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was -started from the desktop (no place to display messages) it would hang. Now -open the GUI window early to be able to display the messages and pop up the -dialog. - -"r<CR>" on a multi-byte character deleted only the first byte of the -character. "3r<CR>" deleted three bytes instead of three characters. - -When interrupting reading a file, Vi considers the buffer modified. Added the -'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to -do ":q"). - -When using an item in 'guicursor' that starts with a colon, Vim would get -stuck or crash. - -When putting a file mark in a help file and later jumping back to it, the -options would not be set. Extended the modeline in all help files to make -this work better. - -When a modeline contained "::" the local option values would be printed. Now -ignore it. - -Some help files did not use a 8.3 names, which causes problems when using -MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to -"rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to -"os_risc.txt". - -When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That -doesn't seem right, only do this when in linewise mode. But then do it -always, not only when start and end of Visual mode are equal. - -When using "viw" on a single-letter word and 'selection' is exclusive, would -not include the word. - -When formatting text from Insert mode, using CTRL-O, could mess up undo -information. - -While writing a file (also for the backup file) there was no check for an -interrupt (hitting CTRL-C). Vim could hang when writing a large file over a -slow network, and moving the mouse didn't make it appear (when 'mousehide' is -set) and the screen wasn't updated in the GUI. Also allow interrupting when -syncing the swap file, it can take a long time. - -When using ":mksession" while there is help window, it would later be restored -to the right file but not marked as a help buffer. ":help" would then open -another window. Now use the value "help" for 'buftype' to mark a help buffer. - -The session file contained absolute path names in option values, that doesn't -work when the home directory depends on the situation. Replace the home -directory with ~/ when possible. - -When using 'showbreak' a TAB just after the shown break would not be counted -correctly, the cursor would be positioned wrong. - -With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting -tabs did not work right. Could cause a crash. Backspacing was also wrong, -could get stuck at a line break. - -Win32: crashed when tearing off a menu with over 300 items. - -GUI: A menu or toolbar item would appear when only a tooltip was defined for -it. - -When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the -last line of the file is the first line on screen, the text wasn't displayed. - -When running "autoconf", delete the configure cache to force starting cleanly -when configure is run again. - -When changing the Normal colors for cterm, the value of 'background' was -changed even when the GUI was used. - -The warning for a missing vimrun.exe was always given on startup, but some -people just editing a file don't need to be bothered by it. Only show it when -vimrun would be used. - -When using "%" in a multibyte text it could get confused by trailbytes that -match. (Muraoka Taro) - -Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes. - -Athena: The title of a dialog window and the file selector window were not -set. (David Harrison) - -The "htmlLink" highlight group specified colors, which gives problems when -using a color scheme. Added the "Underlined" highlight group for this. - -After using ":insert" or ":change" the '[ mark would be one line too low. - -When looking for the file name after a match with 'include' one character was -skipped. Same for 'define'. - -Win32 and DJGPP: When editing a file with a short name in a directory, and -editing the same file but using the long name, would end up with two buffers -on the same file. - -"gf" on a filename that starts with "../" only worked when the file being -edited is in the current directory. An include file search didn't work -properly for files starting with "../" or ".". Now search both relative to -the file and to the current directory. - -When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline' -contained "%{" but no following "}" memory was corrupted and a crash could -happen. - -":0append" and then inserting two lines did not redraw the blank lines that -were scrolled back down. - -When using insert mode completion in a narrow window, the message caused a -scroll up. Now shorten the message if it doesn't fit and avoid writing the -ruler over the message. - -XIM still didn't work correctly on some systems, especially SGI/IRIX. Added -the 'imdisable' option, which is set by default for that system. - -Patch 6.0aw.008 -Problem: When the first character of a file name is over 127, the Buffers - menu entry would get a negative priority and cause problems. -Solution: Reduce the multiplier for the first character when computing - the hash value for a Buffers menu entry. -Files: runtime/menu.vim - -Patch 6.0aw.010 -Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas) -Solution: Change slashes to backslashes in the directory passed to the file - browser. -Files: src/gui_w48.c - -Athena file browser: On some systems wcstombs() can't be used to get the -length of a multi-byte string. Use the maximum length then. (Yasuhiro -Matsumoto) - -Patch 6.0ax.001 -Problem: When 'patchmode' is set, appending to a file gives an empty - original file. (Ed Ralston) -Solution: Also make a backup copy when appending and 'patchmode' is set. -Files: src/fileio.c - -Patch 6.0ax.002 -Problem: When 'patchmode' is set, appending to a compressed file gives an - uncompressed original file. (Ed Ralston) -Solution: Create the original file before decompressing. -Files: runtime/plugin/gzip.vim - -Patch 6.0ax.005 -Problem: Athena file selector keeps the title of the first invocation. -Solution: Set the title each time the file selector is opened. (David - Harrison) -Files: src/gui_at_fs.c - -Patch 6.0ax.007 -Problem: When using GPM (mouse driver in a Linux console) a double click is - interpreted as a scroll wheel click. -Solution: Check if GPM is being used when deciding if a mouse event is for - the scroll wheel. -Files: src/term.c - -Patch 6.0ax.010 -Problem: The Edit.Save menu and the Save toolbar button didn't work when - the buffer has no file name. -Solution: Use a file browser to ask for a file name. Also fix the toolbar - Find item in Visual mode. -Files: runtime/menu.vim - -Patch 6.0ax.012 -Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth' - doesn't redraw properly. (Stefan Schulze) -Solution: Remove the dollar before breaking the line. -Files: src/edit.c - -Patch 6.0ax.014 -Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is - "command.com" and 'makeprg' is "nmake". The environment isn't - passed on to "nmake". -Solution: Also use vimrun.exe when redirecting the output of a command. -Files: src/os_win32.c - -Patch 6.0ax.016 -Problem: The version number was reported wrong in the intro screen. -Solution: Check for a version number with two additional letters. -Files: src/version.c - -Patch 6.0ax.019 -Problem: When scrolling a window with folds upwards, switching to another - vertically split window and back may not update the scrollbar. -Solution: Limit w_botline to the number of lines in the buffer plus one. -Files: src/move.c - - -============================================================================== -VERSION 6.1 *version-6.1* - -This section is about improvements made between version 6.0 and 6.1. - -This is a bug-fix release, there are not really any new features. - - -Changed *changed-6.1* -------- - -'iminsert' and 'imsearch' are no longer set as a side effect of defining a -language-mapping using ":lmap". - - -Added *added-6.1* ------ - -Syntax files: -ampl AMPL (David Krief) -ant Ant (Johannes Zellner) -baan Baan (Her van de Vliert) -cs C# (Johannes Zellner) -lifelines Lifelines (Patrick Texier) -lscript LotusScript (Taryn East) -moo MOO (Timo Frenay) -nsis NSIS (Alex Jakushev) -ppd Postscript Printer Description (Bjoern Jacke) -rpl RPL/2 (Joel Bertrand) -scilab Scilab (Benoit Hamelin) -splint Splint (Ralf Wildenhues) -sqlj SQLJ (Andreas Fischbach) -wvdial WvDial (Prahlad Vaidyanathan) -xf86conf XFree86 config (Nikolai Weibull) -xmodmap Xmodmap (Nikolai Weibull) -xslt Xslt (Johannes Zellner) -monk Monk (Mike Litherland) -xsd Xsd (Johannes Zellner) -cdl CDL (Raul Segura Acevedo) -sendpr Send-pr (Hendrik Scholz) - -Added indent file for Scheme. (Dorai Sitaram) -Added indent file for Prolog. (Kontra Gergely) -Added indent file for Povray (David Necas) -Added indent file for IDL (Aleksandar Jelenak) -Added C# indent and ftplugin scripts. - -Added Ukrainian menu translations. (Bohdan Vlasyuk) -Added ASCII version of the Czech menus. (Jiri Brezina) - -Added Simplified Chinese translation of the tutor. (Mendel L Chan) - -Added Russian keymap for yawerty keyboard. - -Added an explanation of using the vimrc file in the tutor. -Changed tutor.vim to get the right encoding for the Taiwainese tutor. - -Added Russian tutor. (Andrey Kiselev) -Added Polish tutor. (Mikolaj Machowski) - -Added darkblue color scheme. (Bohdan Vlasyuk) - -When packing the dos language archive automatically generate the .mo files -that are required. - -Improved NSIS script to support NSIS 180. Added icons for the -enabled/disabled status. (Mirek Pruchnik) - -cp1250 version of the Slovak message translations. - -Compiler plugins for IRIX compilers. (David Harrison) - - -Fixed *fixed-6.1* ------ - -The license text was updated to make the meaning clearer and make it -compatible with the GNU GPL. Otherwise distributors have a problem when -linking Vim with a GPL'ed library. - -When installing the "less.sh" script it was not made executable. (Chuck Berg) - -Win32: The "9" key on the numpad wasn't working. (Julian Kinraid) - -The NSIS install script didn't work with NSIS 1.80 or later. Also add -Vim-specific icons. (Pruchnik) - -The script for conversion to HTML contained an "if" in the wrong place. -(Michael Geddes) - -Allow using ":ascii" in the sandbox, it's harmless. - -Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when -it's redefined to creat64(). - -The text files in the VisVim directory were in "dos" format. This caused -problems when applying a patch. Now keep them in "unix" format and convert -them to "dos" format only for the PC archives. - -Add ruby files to the dos source archive, they can be used by Make_mvc.mak. -(Mirek Pruchnik) - -"cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm --f" and "cp". - -Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger) - -The GTK file selection dialog didn't include the "Create Dir", "Delete File" -and "Rename File" buttons. - -When doing ":browse source" the dialog has the title "Run Macro". Better -would be "Source Vim script". (Yegappan Lakshmanan) - -Win32: Don't use the printer font as default for the font dialog. - -"make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to -"yes". (Mirek Pruchnik) - -The ToolBar TagJump item used "g]", which prompts for a selection even when -there is only one matching tag. Use "g<C-]>" instead. - -The ming makefile for message translations didn't have the right list of -files. - -The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile -this version without message translations. - -The Borland 5 makefile contained a check for Ruby which is no longer needed. -The URLs for the TCL library was outdated. (Dan Sharp) - -The eviso.ps file was missing from the DOS runtime archive, it's needed for -printing PostScript in the 32bit DOS version. - -In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032 -Now use ":scriptencoding" in the file where the translations are given. Do -the same for all menus in latin1 encoding. - -Included a lot of fixes for the Macintosh, mostly to make it work with Carbon. -(Dany StAmant, Axel Kielhorn, Benji Fisher) - -Improved the vimtutor shell script to use $TMPDIR when it exists, and delete -the copied file when exiting in an abnormal way. (Max Ischenko) - -When "iconv.dll" can't be found, try using "libiconv.dll". - -When encryption is used, filtering with a shell command wasn't possible. - -DJGPP: ":cd c:" always failed, can't get permissions for "c:". -Win32: ":cd c:/" failed if the previous current directory on c: had become -invalid. - -DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is -wrong. Disabled it. - -Dependencies on header files in MingW makefile was wrong. - -Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe) - -Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a -different argument to make didn't regenerate it. - -Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different -directory, the if_ole.h in the src directory may be used instead. Delete the -distributed file. - -When a window is vertically split and then ":ball" is used, the window layout -is messed up, can cause a crash. (Muraoka Taro) - -When 'insertmode' is set, using File/New menu and then double clicking, "i" is -soon inserted. (Merlin Hansen) - -When Select mode is active and using the Buffers menu to switch to another -buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer" -command. - -When Select mode is active and 'insertmode' is set, using the Buffers menu to -switch to another buffer, did not return to Insert mode. Make sure -"restart_edit" is set. - -When double clicking on the first character of a word while 'selection' is -"exclusive" didn't select that word. - - -Patch 6.0.001 -Problem: Loading the sh.vim syntax file causes error messages. (Corinna - Vinschen) -Solution: Add an "if". (Charles Campbell) -Files: runtime/syntax/sh.vim - -Patch 6.0.002 -Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert) -Solution: Add '@' to the list of accepted items. -Files: src/option.c - -Patch 6.0.003 -Problem: The configure check for ACLs on AIX doesn't work. -Solution: Fix the test program so that it compiles. (Tomas Ogren) -Files: src/configure.in, src/auto/configure - -Patch 6.0.004 -Problem: The find/replace dialog doesn't reuse a previous argument - properly. -Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo) -Files: src/gui.c - -Patch 6.0.005 -Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing. -Solution: Don't delay just after wait_return() was called. Added the - did_wait_return flag. -Files: src/globals.h, src/message.c, src/normal.c, src/screen.c - -Patch 6.0.006 -Problem: With a vertical split, 'number' set and 'scrolloff' non-zero, - making the window width very small causes a crash. (Niklas - Lindstrom) -Solution: Check for a zero width. -Files: src/move.c - -Patch 6.0.007 -Problem: When setting 'filetype' while there is no FileType autocommand, a - following ":setfiletype" would set 'filetype' again. (Kobus - Retief) -Solution: Set did_filetype always when 'filetype' has been set. -Files: src/option.c - -Patch 6.0.008 -Problem: 'imdisable' is missing from the options window. (Michael Naumann) -Solution: Add an entry for it. -Files: runtime/optwin.vim - -Patch 6.0.009 -Problem: Nextstep doesn't have S_ISBLK. (John Beppu) -Solution: Define S_ISBLK using S_IFBLK. -Files: src/os_unix.h - -Patch 6.0.010 -Problem: Using "gf" on a file name starting with "./" or "../" in a buffer - without a name causes a crash. (Roy Lewis) -Solution: Check for a NULL file name. -Files: src/misc2.c - -Patch 6.0.011 -Problem: Python: After replacing or deleting lines get an ml_get error. - (Leo Lipelis) -Solution: Adjust the cursor position for deleted or added lines. -Files: src/if_python.c - -Patch 6.0.012 -Problem: Polish translations contain printf format errors, this can result - in a crash when using one of them. -Solution: Fix for translated messages. (Michal Politowski) -Files: src/po/pl.po - -Patch 6.0.013 -Problem: Using ":silent! cmd" still gives some error messages, like for an - invalid range. (Salman Halim) -Solution: Reset emsg_silent after calling emsg() in do_one_cmd(). -Files: src/ex_docmd.c - -Patch 6.0.014 -Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB - still changes the buffer. (Muraoka Taro) -Solution: Check if saving the line for undo fails. -Files: src/normal.c - -Patch 6.0.015 -Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been - used, can get an error for deleting the b:did_ftplugin variable. - (Ralph Henderson) -Solution: Only delete the variable when it exists. -Files: runtime/ftplugin.vim - -Patch 6.0.016 -Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when - the argument is a string. (Hari Krishna Dara) - Also for setbufvar() and getbufvar(). -Solution: Also find unlisted buffers. -Files: src/eval.c - -Patch 6.0.017 -Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co - and the external one doesn't, it gets reset to empty. (David - Harrison) -Solution: Only set t_Co when it wasn't set yet. -Files: src/term.c - -Patch 6.0.018 -Problem: Initializing 'encoding' may cause a crash when setlocale() is not - used. (Dany St-Amant) -Solution: Check for a NULL pointer. -Files: src/mbyte.c - -Patch 6.0.019 -Problem: Converting a string with multi-byte characters to a printable - string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) -Solution: Correctly compute the length of the result in transstr(). -Files: src/charset.c - -Patch 6.0.020 -Problem: When obtaining the value of a global variable internally, could - get the function-local value instead. Applies to using <Leader> - and <LocalLeader> and resetting highlighting in a function. -Solution: Prepend "g:" to the variable name. (Aric Blumer) -Files: src/syntax.c, src/term.c - -Patch 6.0.021 -Problem: The 'cscopepathcomp' option didn't work. -Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng) -Files: src/option.c - -Patch 6.0.022 -Problem: When using the 'langmap' option, the second character of a command - starting with "g" isn't adjusted. -Solution: Apply 'langmap' to the second character. (Alex Kapranoff) -Files: src/normal.c - -Patch 6.0.023 -Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen) -Solution: Use ":runtime" instead of "source" to load haskell.vim. -Files: runtime/syntax/lhaskell.vim - -Patch 6.0.024 -Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah - Levitt) -Solution: Don't insert a NUL byte in the text, use a newline. -Files: src/misc1.c - -Patch 6.0.025 -Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line. - (Preben Peppe Guldberg) -Solution: Always see a "$" as end-of-line after "\v". Do the same for "^". -Files: src/regexp.c - -Patch 6.0.026 -Problem: GTK: When using arrow keys to navigate through the menus, the - separators are selected. -Solution: Set the separators "insensitive". (Pavel Kankovsky) -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 6.0.027 -Problem: VMS: Printing doesn't work, the file is deleted too quickly. - No longer need the VMS specific printing menu. - gethostname() is not available with VAXC. - The makefile was lacking selection of the tiny-huge feature set. -Solution: Adjust the 'printexpr' option default. Fix the other problems and - update the documentation. (Zoltan Arpadffy) -Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt, - src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h - -Patch 6.0.028 -Problem: Can't compile without +virtualedit and with +visualextra. (Geza - Lakner) -Solution: Add an #ifdef for +virtualedit. -Files: src/ops.c - -Patch 6.0.029 -Problem: When making a change in line 1, then in line 2 and then deleting - line 1, undo info could be wrong. Only when the changes are undone - at once. (Gerhard Hochholzer) -Solution: When not saving a line for undo because it was already done - before, remember for which entry the last line must be computed. - Added ue_getbot_entry pointer for this. When the number of lines - changes, adjust the position of newer undo entries. -Files: src/structs.h, src/undo.c - -Patch 6.0.030 -Problem: Using ":source! file" doesn't work inside a loop or after - ":argdo". (Pavol Juhas) -Solution: Execute the commands in the file right away, do not let the main - loop do it. -Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h, - src/proto/ex_docmd.pro, src/proto/getchar.pro - -Patch 6.0.031 -Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu) -Solution: Move putenv() from pty.c to misc2.c -Files: src/misc2.c, src/pty.c - -Patch 6.0.032 -Problem: When changing a setting that affects all folds, they are not - displayed immediately. -Solution: Set the redraw flag in foldUpdateAll(). -Files: src/fold.c - -Patch 6.0.033 -Problem: Using 'wildmenu' on MS-Windows, file names that include a space - are only displayed starting with that space. (Xie Yuheng) -Solution: Don't recognize a backslash before a space as a path separator. -Files: src/screen.c - -Patch 6.0.034 -Problem: Calling searchpair() with three arguments could result in a crash - or strange error message. (Kalle Bjorklid) -Solution: Don't use the fifth argument when there is no fourth argument. -Files: src/eval.c - -Patch 6.0.035 -Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work - when 'ignorecase' is set. (Allen Castaban) -Solution: Always match case when checking if a flag is already present in - 'guioptions'. -Files: runtime/menu.vim - -Patch 6.0.036 -Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a - slash in 'tags' doesn't work as expected. (Mathias Koehrer) -Solution: Only use the drive, not the whole path to the current directory. - Also make it work for "c:dir/file". -Files: src/misc2.c - -Patch 6.0.037 -Problem: When the user has set "did_install_syntax_menu" to avoid the - default Syntax menu it still appears. (Virgilio) -Solution: Don't add the three default items when "did_install_syntax_menu" - is set. -Files: runtime/menu.vim - -Patch 6.0.038 -Problem: When 'selection' is "exclusive", deleting a block of text at the - end of a line can leave the cursor beyond the end of the line. -Solution: Correct the cursor position. -Files: src/ops.c - -Patch 6.0.039 -Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is - used. Using "c" in blockwise Visual mode leaves the cursor in a - strange position. -Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave - the cursor on the last inserted character. -Files: src/ops.c - -Patch 6.0.040 -Problem: When 'fileencoding' is invalid and writing fails because of - this, the original file is gone. (Eric Carlier) -Solution: Restore the original file from the backup. -Files: src/fileio.c - -Patch 6.0.041 -Problem: Using ":language messages en" when LC_MESSAGES is undefined - results in setting LC_CTYPE. (Eric Carlier) -Solution: Set $LC_MESSAGES instead. -Files: src/ex_cmds2.c - -Patch 6.0.042 -Problem: ":mksession" can't handle file names with a space. -Solution: Escape special characters in file names with a backslash. -Files: src/ex_docmd.c - -Patch 6.0.043 -Problem: Patch 6.0.041 was wrong. -Solution: Use mch_getenv() instead of vim_getenv(). -Files: src/ex_cmds2.c - -Patch 6.0.044 -Problem: Using a "containedin" list for a syntax item doesn't work for an - item that doesn't have a "contains" argument. Also, "containedin" - doesn't ignore a transparent item. (Timo Frenay) -Solution: When there is a "containedin" argument somewhere, always check for - contained items. Don't check for the transparent item but the - item it's contained in. -Files: src/structs.h, src/syntax.c - -Patch 6.0.045 -Problem: After creating a fold with a Visual selection, another window - with the same buffer still has inverted text. (Sami Salonen) -Solution: Redraw the inverted text. -Files: src/normal.c - -Patch 6.0.046 -Problem: When getrlimit() returns an 8 byte number the check for running - out of stack may fail. (Anthony Meijer) -Solution: Skip the stack check if the limit doesn't fit in a long. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/os_unix.c - -Patch 6.0.047 -Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash. - (Samuel Lacas) -Solution: Don't allow nested atoms inside "\%[]". -Files: src/regexp.c - -Patch 6.0.048 -Problem: Win32: In the console the mouse doesn't always work correctly. - Sometimes after getting focus a mouse movement is interpreted like - a button click. -Solution: Use a different function to obtain the number of mouse buttons. - Avoid recognizing a button press from undefined bits. (Vince Negri) -Files: src/os_win32.c - -Patch 6.0.049 -Problem: When using evim the intro screen is misleading. (Adrian Nagle) -Solution: Mention whether 'insertmode' is set and the menus to be used. -Files: runtime/menu.vim, src/version.c - -Patch 6.0.050 -Problem: UTF-8: "viw" doesn't include non-ASCII characters before the - cursor. (Bertilo Wennergren) -Solution: Use dec_cursor() instead of decrementing the column number. -Files: src/search.c - -Patch 6.0.051 -Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing - characters. (Ron Aaron) -Solution: Also include the composing characters and fix redrawing them. -Files: src/ex_getln.c, src/ops.c - -Patch 6.0.052 -Problem: The check for rlim_t in patch 6.0.046 does not work on some - systems. (Zdenek Sekera) -Solution: Also look in sys/resource.h for rlim_t. -Files: src/auto/configure, src/configure.in - -Patch 6.0.053 (extra) -Problem: Various problems with QNX. -Solution: Minor fix for configure. Switch on terminal clipboard support in - main.c. Fix "pterm" mouse support. os_qnx.c didn't build without - photon. (Julian Kinraid) -Files: src/auto/configure, src/configure.in, src/gui_photon.c, - src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h, - src/syntax.c - -Patch 6.0.054 -Problem: When using mswin.vim, CTRL-V pastes a block of text like it is - normal text. Using CTRL-V in blockwise Visual mode leaves "x" - characters behind. -Solution: Make CTRL-V work as it should. Do the same for the Paste menu - entries. -Files: runtime/menu.vim, runtime/mswin.vim - -Patch 6.0.055 -Problem: GTK: The selection isn't copied the first time. -Solution: Own the selection at the right moment. -Files: src/gui_gtk_x11.c - -Patch 6.0.056 -Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode. - <Esc> doesn't leave Insert mode then. -Solution: Only use nested Insert mode when 'insertmode' is set or when a - mapping is used. -Files: src/normal.c - -Patch 6.0.057 -Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway) -Solution: Execute the command directly, instead of putting it in the - typeahead buffer. -Files: src/normal.c, src/proto/normal.pro, src/window.c - -Patch 6.0.058 -Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't - updated. (Bohdan Vlasyuk) -Solution: Update the ruler after executing the autocommands. -Files: src/gui.c - -Patch 6.0.059 -Problem: Highlighting for 'hlsearch' isn't visible in lines that are - highlighted for diff highlighting. (Gary Holloway) -Solution: Let 'hlsearch' highlighting overrule diff highlighting. -Files: src/screen.c - -Patch 6.0.060 -Problem: Motif: When the tooltip is to be popped up, Vim crashes. - (Gary Holloway) -Solution: Check for a NULL return value from gui_motif_fontset2fontlist(). -Files: src/gui_beval.c - -Patch 6.0.061 -Problem: The toolbar buttons to load and save a session do not correctly - use v:this_session. -Solution: Check for v:this_session to be empty instead of existing. -Files: runtime/menu.vim - -Patch 6.0.062 -Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan - Lakshmanan) -Solution: Avoid giving a NULL pointer to printf(). Also output a newline - and switch the cursor on. -Files: src/misc2.c - -Patch 6.0.063 -Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of - the "$" doesn't update syntax highlighting after it. -Solution: Stop displaying the "$" when typing a ')' in its position. -Files: src/search.c - -Patch 6.0.064 (extra) -Problem: The NSIS install script doesn't work with newer versions of NSIS. - The diff feature doesn't work when there isn't a good diff.exe on - the system. -Solution: Replace the GetParentDir instruction by a user function. - Fix a few cosmetic problems. Use defined constants for the - version number, so that it's defined in one place only. - Only accept the install directory when it ends in "vim". - (Eduardo Fernandez) - Add a diff.exe and use it from the default _vimrc. -Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c - -Patch 6.0.065 -Problem: When using ":normal" in 'indentexpr' it may use redo characters - before its argument. (Neil Bird) -Solution: Save and restore the stuff buffer in ex_normal(). -Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h - -Patch 6.0.066 -Problem: Sometimes undo for one command is split into two undo actions. - (Halim Salman) -Solution: Don't set the undo-synced flag when reusing a line that was - already saved for undo. -Files: src/undo.c - -Patch 6.0.067 -Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined - in the usual header file (e.g., AIX). (Mark Waggoner) -Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it. -Files: src/if_xcmdsrv.c - -Patch 6.0.068 -Problem: When formatting a Visually selected area with "gq" and the number - of lines increases the last line may not be redrawn correctly. - (Yegappan Lakshmanan) -Solution: Correct the area to be redrawn for inserted/deleted lines. -Files: src/ops.c - -Patch 6.0.069 -Problem: Using "K" on a word that includes a "!" causes a "No previous - command" error, because the "!" is expanded. (Craig Jeffries) -Solution: Put a backslash before the "!". -Files: src/normal.c - -Patch 6.0.070 -Problem: Win32: The error message for a failed dynamic linking of a Perl, - Ruby, Tcl and Python library is unclear about what went wrong. -Solution: Give the name of the library or function that could not be loaded. - Also for the iconv and gettext libraries when 'verbose' is set. -Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, - src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro, - src/proto/if_python.pro, src/proto/if_ruby.pro, - src/proto/if_tcl.pro, src/proto/mbyte.pro - -Patch 6.0.071 -Problem: The "iris-ansi" builtin termcap isn't very good. -Solution: Fix the wrong entries. (David Harrison) -Files: src/term.c - -Patch 6.0.072 -Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves - the cursor and starts Visual mode again causes a redraw problem. - (Brian Silverman) -Solution: Redraw both the old and the new Visual area when necessary. -Files: src/normal.c, src/screen.c - -Patch 6.0.073 (extra) -Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway - the text. (Volker Kiefel) -Solution: Position the system cursor before starting the shell. -Files: src/os_msdos.c - -Patch 6.0.074 -Problem: When using "&" in a substitute string a multi-byte character with - a trailbyte 0x5c is not handled correctly. -Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro) -Files: src/regexp.c - -Patch 6.0.075 -Problem: When closing a horizontally split window while 'eadirection' is - "hor" another horizontally split window is still resized. (Aron - Griffis) -Solution: Only resize windows in the same top frame as the window that is - split or closed. -Files: src/main.c, src/proto/window.pro, src/window.c - -Patch 6.0.076 -Problem: Warning for wrong pointer type when compiling. -Solution: Use char instead of char_u pointer. -Files: src/version.c - -Patch 6.0.077 -Problem: Patch 6.0.075 was incomplete. -Solution: Fix another call to win_equal(). -Files: src/option.c - -Patch 6.0.078 -Problem: Using "daw" at the end of a line on a single-character word didn't - include the white space before it. At the end of the file it - didn't work at all. (Gavin Sinclair) -Solution: Include the white space before the word. -Files: src/search.c - -Patch 6.0.079 -Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can - still overwrite a read-only file, because it's renamed. (Gary - Holloway) -Solution: Add a check for a read-only file before renaming the file to - become the backup. -Files: src/fileio.c - -Patch 6.0.080 -Problem: When using a session file that has the same file in two windows, - the fileinfo() call in do_ecmd() causes a scroll and a hit-enter - prompt. (Robert Webb) -Solution: Don't scroll this message when 'shortmess' contains 'O'. -Files: src/ex_cmds.c - -Patch 6.0.081 -Problem: After using ":saveas" the new buffer name is added to the Buffers - menu with a wrong number. (Chauk-Mean Proum) -Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer - and BufAdd for the old name (which is with a new buffer). -Files: src/ex_cmds.c - -Patch 6.0.082 -Problem: When swapping screens in an xterm and there is an (error) message - from the vimrc script, the shell prompt is after the message. -Solution: Output a newline when there was output on the alternate screen. - Also when starting the GUI. -Files: src/main.c - -Patch 6.0.083 -Problem: GTK: When compiled without menu support the buttons in a dialog - don't have any text. (Erik Edelmann) -Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define - GTK_USE_ACCEL also when not using menus. -Files: src/gui_gtk.c - -Patch 6.0.084 -Problem: UTF-8: a "r" command with an argument that is a keymap for a - character with a composing character can't be repeated with ".". - (Raphael Finkel) -Solution: Add the composing characters to the redo buffer. -Files: src/normal.c - -Patch 6.0.085 -Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then - moving the mouse pointer to another window stops Insert mode, - while this doesn't happen with "a" or "i". (Robert Webb) -Solution: Reset finish_op before calling edit(). -Files: src/normal.c - -Patch 6.0.086 -Problem: When using "gu" the message says "~ed". -Solution: Make the message say "changed". -Files: src/ops.c - -Patch 6.0.087 (lang) -Problem: Message translations are incorrect, which may cause a crash. - (Peter Figura) - The Turkish translations needed more work and the maintainer - didn't have time. -Solution: Fix order of printf arguments. Remove %2$d constructs. - Add "-v" to msgfmt to get a warning for wrong translations. - Don't install the Turkish translations for now. - Update a few more translations. -Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po, - src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po, - src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po, - src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po, - src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po - -Patch 6.0.088 -Problem: "." doesn't work after using "rx" in Visual mode. (Charles - Campbell) -Solution: Also store the replacement character in the redo buffer. -Files: src/normal.c - -Patch 6.0.089 -Problem: In a C file, using "==" to align a line starting with "* " after - a line with "* -" indents one space too few. (Piet Delport) -Solution: Align with the previous line if the comment-start-string matches - there. -Files: src/misc1.c - -Patch 6.0.090 -Problem: When a wrapping line does not fit in a window and 'scrolloff' is - bigger than half the window height, moving the cursor left or - right causes the screen to flash badly. (Lubomir Host) -Solution: When there is not enough room to show 'scrolloff' screen lines and - near the end of the line, show the end of the line. -Files: src/move.c - -Patch 6.0.091 -Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the - cursor is after the end-of-line, moves the cursor left. (Yegappan - Lakshmanan) -Solution: Keep the cursor in the same position. -Files: src/edit.c - -Patch 6.0.092 -Problem: The explorer plugin doesn't ignore case of 'suffixes' on - MS-Windows. (Mike Williams) -Solution: Match or ignore case as appropriate for the OS. -Files: runtime/plugin/explorer.vim - -Patch 6.0.093 -Problem: When the Tcl library couldn't be loaded dynamically, get an error - message when closing a buffer or window. (Muraoka Taro) -Solution: Only free structures if already using the Tcl interpreter. -Files: src/if_tcl.c - -Patch 6.0.094 -Problem: Athena: When clicking in the horizontal scrollbar Vim crashes. - (Paul Ackersviller) -Solution: Use the thumb size instead of the window pointer of the scrollbar - (which is NULL). (David Harrison) - Also avoid that scrolling goes the wrong way in a narrow window. -Files: src/gui_athena.c - -Patch 6.0.095 -Problem: Perl: Deleting lines may leave the cursor beyond the end of the - file. -Solution: Check the cursor position after deleting a line. (Serguei) -Files: src/if_perl.xs - -Patch 6.0.096 -Problem: When ":saveas fname" fails because the file already exists, the - file name is changed anyway and a following ":w" will overwrite - the file. (Eric Carlier) -Solution: Don't change the file name if the file already exists. -Files: src/ex_cmds.c - -Patch 6.0.097 -Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a - multi-byte encoding. -Solution: Avoid using a character before the start of a line. (Sergey - Vlasov) -Files: src/edit.c - -Patch 6.0.098 -Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog - boxes are not translated. -Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez) -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 6.0.099 -Problem: Cygwin: When running Vi compatible MS-DOS line endings cause - trouble. -Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible - mode. (Michael Schaap) -Files: src/option.h - -Patch 6.0.100 -Problem: ":badd +0 test%file" causes a crash. -Solution: Take into account that the "+0" is NUL terminated when allocating - room for replacing the "%". -Files: src/ex_docmd.c - -Patch 6.0.101 -Problem: ":mksession" doesn't restore editing a file that has a '#' or '%' - in its name. (Wolfgang Blankenburg) -Solution: Put a backslash before the '#' and '%'. -Files: src/ex_docmd.c - -Patch 6.0.102 -Problem: When changing folds the cursor may appear halfway a closed fold. - (Nam SungHyun) -Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto) -Files: src/move.c - -Patch 6.0.103 -Problem: When using 'scrollbind' a large value of 'scrolloff' will make the - scroll binding stop near the end of the file. (Coen Engelbarts) -Solution: Don't use 'scrolloff' when limiting the topline for scroll - binding. (Dany StAmant) -Files: src/normal.c - -Patch 6.0.104 -Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide - character that overwrites the left halve of an old double-wide - character causes a redraw problem and the cursor stops blinking. -Solution: Clear the right half of the old character. (Yasuhiro Matsumoto) -Files: src/edit.c, src/screen.c - -Patch 6.0.105 -Problem: Multi-byte: In a window of one column wide, with syntax - highlighting enabled a crash might happen. -Solution: Skip getting the syntax attribute when the character doesn't fit - anyway. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.0.106 (extra) -Problem: Win32: When the printer font is wrong, there is no error message. -Solution: Give an appropriate error message. (Yasuhiro Matsumoto) -Files: src/os_mswin.c - -Patch 6.0.107 (extra) -Problem: VisVim: When editing another file, a modified file may be written - unexpectedly and without warning. -Solution: Split the window if a file was modified. -Files: VisVim/Commands.cpp - -Patch 6.0.108 -Problem: When using folding could try displaying line zero, resulting in an - error for a NULL pointer. -Solution: Stop decrementing w_topline when the first line of a window is in - a closed fold. -Files: src/window.c - -Patch 6.0.109 -Problem: XIM: When the input method is enabled, repeating an insertion with - "." disables it. (Marcel Svitalsky) -Solution: Don't store the input method status when a command comes from the - stuff buffer. -Files: src/ui.c - -Patch 6.0.110 -Problem: Using undo after executing "OxjAxkdd" from a register in - an empty buffer gives an error message. (Gerhard Hochholzer) -Solution: Don't adjust the bottom line number of an undo block when it's - zero. Add a test for this problem. -Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok - -Patch 6.0.111 -Problem: The virtcol() function doesn't take care of 'virtualedit'. -Solution: Add the column offset when needed. (Yegappan Lakshmanan) -Files: src/eval.c - -Patch 6.0.112 -Problem: The explorer plugin doesn't sort directories with a space or - special character after a directory with a shorter name. -Solution: Ignore the trailing slash when comparing directory names. (Mike - Williams) -Files: runtime/plugin/explorer.vim - -Patch 6.0.113 -Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also, - expanding wildcards with the shell may fail. (John Daniel) -Solution: Escape spaces with a backslash when needed. -Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c - -Patch 6.0.114 -Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a - full path. For Win32 the current directory was prepended. - (Michael Geddes) -Solution: Expand the home directory. -Files: src/eval.c - -Patch 6.0.115 (extra) -Problem: Win32: When using a dialog with a textfield it cannot scroll the - text. -Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes) -Files: src/gui_w32.c - -Patch 6.0.116 (extra) -Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for - filesystems that use ACLs. -Solution: Use ACL functions to check if a file is writable. (Mike Williams) -Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro - -Patch 6.0.117 (extra) -Problem: Win32: when disabling the menu, "set lines=999" doesn't use all - the available screen space. -Solution: Don't subtract the fixed caption height but the real menu height - from the available screen space. Also: Avoid recursion in - gui_mswin_get_menu_height(). -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.0.118 -Problem: When $TMPDIR is a relative path, the temp directory is missing a - trailing slash and isn't deleted when Vim exits. (Peter Holm) -Solution: Add the slash after expanding the directory to an absolute path. -Files: src/fileio.c - -Patch 6.0.119 (depends on patch 6.0.116) -Problem: VMS: filewritable() doesn't work properly. -Solution: Use the same method as for Unix. (Zoltan Arpadffy) -Files: src/eval.c - -Patch 6.0.120 -Problem: The conversion to html isn't compatible with XHTML. -Solution: Quote the values. (Jess Thrysoee) -Files: runtime/syntax/2html.vim - -Patch 6.0.121 (extra) (depends on patch 6.0.116) -Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32. -Solution: Add an #ifdef HAVE_ACL. -Files: src/os_win32.c - -Patch 6.0.122 (extra) -Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And - dialog textfield problem from patch 6.0.115. -Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag. - (Vince Negri) -Files: src/gui_w16.c - -Patch 6.0.123 (depends on patch 6.0.119) -Problem: Win16: Compilation problems. -Solution: Move "&&" to other lines. (Vince Negri) -Files: src/eval.c - -Patch 6.0.124 -Problem: When using a ":substitute" command that starts with "\=" - (evaluated as an expression), "~" was still replaced with the - previous substitute string. -Solution: Skip the replacement when the substitute string starts with "\=". - Also adjust the documentation about doubling backslashes. -Files: src/ex_cmds.c, runtime/doc/change.txt - -Patch 6.0.125 (extra) -Problem: Win32: When using the multi_byte_ime feature pressing the shift - key would be handled as if a character was entered, thus mappings - with a shifted key didn't work. (Charles Campbell) -Solution: Ignore pressing the shift, control and alt keys. -Files: src/os_win32.c - -Patch 6.0.126 -Problem: The python library was always statically linked. -Solution: Link the python library dynamically. (Matthias Klose) -Files: src/auto/configure, src/configure.in - -Patch 6.0.127 -Problem: When using a terminal that swaps screens and the Normal background - color has a different background, using an external command may - cause the color of the wrong screen to be changed. (Mark Waggoner) -Solution: Don't call screen_stop_highlight() in stoptermcap(). -Files: src/term.c - -Patch 6.0.128 -Problem: When moving a vertically split window to the far left or right, - the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus' - is set the mouse pointer wasn't adjusted. -Solution: Adjust the scrollbars and the mouse pointer. -Files: src/window.c - -Patch 6.0.129 -Problem: When using a very long file name, ":ls" (repeated a few times) - causes a crash. Test with "vim `perl -e 'print "A"x1000'`". - (Tejeda) -Solution: Terminate a string before getting its length in buflist_list(). -Files: src/buffer.c - -Patch 6.0.130 -Problem: When using ":cprev" while the error window is open, and the new - line at the top wraps, the window isn't correctly drawn. - (Yegappan Lakshmanan) -Solution: When redrawing the topline don't scroll twice. -Files: src/screen.c - -Patch 6.0.131 -Problem: When using bufname() and there are two matches for listed buffers - and one match for an unlisted buffer, the unlisted buffer is used. - (Aric Blumer) -Solution: When there is a match with a listed buffer, don't check for - unlisted buffers. -Files: src/buffer.c - -Patch 6.0.132 -Problem: When setting 'iminsert' in the vimrc and using an xterm with two - screens the ruler is drawn in the wrong screen. (Igor Goldenberg) -Solution: Only draw the ruler when using the right screen. -Files: src/option.c - -Patch 6.0.133 -Problem: When opening another buffer while 'keymap' is set and 'iminsert' - is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg) -Solution: Don't set 'iminsert' as a side effect of defining a ":lmap" - mapping. Only do that when 'keymap' is set. -Files: src/getchar.c, src/option.c - -Patch 6.0.134 -Problem: When completing ":set tags=" a path with an embedded space causes - the completion to stop. (Sektor van Skijlen) -Solution: Escape spaces with backslashes, like for ":set path=". Also take - backslashes into account when searching for the start of the path - to complete (e.g., for 'backupdir' and 'cscopeprg'). -Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h - -Patch 6.0.135 -Problem: Menus that are not supposed to do anything used "<Nul>", which - still produced an error beep. - When CTRL-O is mapped for Insert mode, ":amenu" commands didn't - work in Insert mode. - Menu language falls back to English when $LANG ends in "@euro". -Solution: Use "<Nop>" for a menu item that doesn't do anything, just like - mappings. - Use ":anoremenu" instead of ":amenu". - Ignore "@euro" in the locale name. -Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c - -Patch 6.0.136 -Problem: When completing in Insert mode, a mapping could be unexpectedly - applied. -Solution: Don't use mappings when checking for a typed character. -Files: src/edit.c - -Patch 6.0.137 -Problem: GUI: When using the find or find/replace dialog from Insert mode, - the input mode is stopped. -Solution: Don't use the input method status when the main window doesn't - have focus. -Files: src/ui.c - -Patch 6.0.138 -Problem: GUI: When using the find or find/replace dialog from Insert mode, - the text is inserted when CTRL-O is mapped. (Andre Pang) - When opening the dialog again, a whole word search isn't - recognized. - When doing "replace all" a whole word search was never done. -Solution: Don't put a search or replace command in the input buffer, - execute it directly. - Recognize "\<" and "\>" after removing "\V". - Add "\<" and "\>" also for "replace all". -Files: src/gui.c - -Patch 6.0.139 -Problem: When stopping 'wildmenu' completion, the statusline of the - bottom-left vertically split window isn't redrawn. (Yegappan - Lakshmanan) -Solution: Redraw all the bottom statuslines. -Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c - -Patch 6.0.140 -Problem: Memory allocated for local mappings and abbreviations is leaked - when the buffer is wiped out. -Solution: Clear the local mappings when deleting a buffer. -Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h - -Patch 6.0.141 -Problem: When using ":enew" in an empty buffer, some buffer-local things - are not cleared. b:keymap_name is not set. -Solution: Clear user commands and mappings local to the buffer when re-using - the current buffer. Reload the keymap. -Files: src/buffer.c - -Patch 6.0.142 -Problem: When Python is linked statically, loading dynamic extensions might - fail. -Solution: Add an extra linking flag when needed. (Andrew Rodionoff) -Files: src/configure.in, src/auto/configure - -Patch 6.0.143 -Problem: When a syntax item includes a line break in a pattern, the syntax - may not be updated properly when making a change. -Solution: Add the "linebreaks" argument to ":syn sync". -Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c - -Patch 6.0.144 -Problem: After patch 6.0.088 redoing "veU" doesn't work. -Solution: Don't add the "U" to the redo buffer, it will be used as an undo - command. -Files: src/normal.c - -Patch 6.0.145 -Problem: When Vim can't read any input it might get stuck. When - redirecting stdin and stderr Vim would not read commands from a - file. (Servatius Brandt) -Solution: When repeatedly trying to read a character when it's not possible, - exit Vim. When stdin and stderr are not a tty, still try reading - from them, but don't do a blocking wait. -Files: src/ui.c - -Patch 6.0.146 -Problem: When 'statusline' contains "%{'-'}" this results in a zero. - (Milan Vancura) -Solution: Don't handle numbers with a minus as a number, they were not - displayed anyway. -Files: src/buffer.c - -Patch 6.0.147 -Problem: It's not easy to mark a Vim version as being modified. The new - license requires this. -Solution: Add the --modified-by argument to configure and the MODIFIED_BY - define. It's used in the intro screen and the ":version" output. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/feature.h, src/version.c - -Patch 6.0.148 -Problem: After "p" in an empty line, `[ goes to the second character. - (Kontra Gergely) -Solution: Don't increment the column number in an empty line. -Files: src/ops.c - -Patch 6.0.149 -Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search - pattern that causes a stack overflow to be detected Vim could - still hang. -Solution: Correctly report "operand could be empty" when using "\{-}". - Check for "out_of_stack" inside loops to avoid a hang. -Files: src/regexp.c - -Patch 6.0.150 -Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work - like "P". (Sung-Hyun Nam) -Solution: Compute the byte length of a multi-byte character. -Files: src/ops.c - -Patch 6.0.151 -Problem: Redrawing the status line and ruler can be wrong when it contains - multi-byte characters. -Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.0.152 -Problem: strtrans() could hang on an illegal UTF-8 byte sequence. -Solution: Skip over illegal bytes. (Yasuhiro Matsumoto) -Files: src/charset.c - -Patch 6.0.153 -Problem: When using (illegal) double-byte characters and Vim syntax - highlighting Vim can crash. (Yasuhiro Matsumoto) -Solution: Increase a pointer over a character instead of a byte. -Files: src/regexp.c - -Patch 6.0.154 -Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when - there is no xxd in the path. - When converting back from Hex the filetype may remain "xxd" if it - is not detected. -Solution: When xxd is not in the path use the one in the runtime directory, - where the install program has put it. - Clear the 'filetype' option before detecting the new value. -Files: runtime/menu.vim - -Patch 6.0.155 -Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel - Kielhorn) -Solution: Don't call mch_inchar() when NO_CONSOLE is defined. -Files: src/ui.c - -Patch 6.0.156 -Problem: Starting Vim with the -b argument and two files, ":next" doesn't - set 'binary' in the second file, like Vim 5.7. (Norman Diamond) -Solution: Set the global value for 'binary'. -Files: src/option.c - -Patch 6.0.157 -Problem: When defining a user command with "-complete=dir" files will also - be expanded. Also, "-complete=mapping" doesn't appear to work. - (Michael Naumann) -Solution: Use the expansion flags defined with the user command. - Handle expanding mappings specifically. -Files: src/ex_docmd.c - -Patch 6.0.158 -Problem: When getting the warning for a file being changed outside of Vim - and reloading the file, the 'readonly' option is reset, even when - the permissions didn't change. (Marcel Svitalsky) -Solution: Keep 'readonly' set when reloading a file and the permissions - didn't change. -Files: src/fileio.c - -Patch 6.0.159 -Problem: Wildcard expansion for ":emenu" also shows separators. -Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff". - Also, don't handle ":tmenu" as if it was ":tearoff". And leave - out the alternatives with "&" included. -Files: src/menu.c - -Patch 6.0.160 -Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the - optimizer causes a problem that makes Vim crash. -Solution: Add a configure check to avoid "-O2" for this version of gcc. -Files: src/configure.in, src/auto/configure - -Patch 6.0.161 (extra) -Problem: Win32: Bitmaps don't work with signs. -Solution: Make it possible to use bitmaps with signs. (Muraoka Taro) -Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c, - src/proto/gui_w32.pro, src/proto/gui_x11.pro - -Patch 6.0.162 -Problem: Client-server: An error message for a wrong expression appears in - the server instead of the client. -Solution: Pass the error message from the server to the client. Also - adjust the example code. (Flemming Madsen) -Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, - src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro, - runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c - -Patch 6.0.163 -Problem: When using a GUI dialog, a file name is sometimes used like it was - a directory. -Solution: Separate path and file name properly. - For GTK, Motif and Athena concatenate directory and file name for - the default selection. -Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c - -Patch 6.0.164 -Problem: After patch 6.0.135 the menu entries for pasting don't work in - Insert and Visual mode. (Muraoka Taro) -Solution: Add <script> to allow script-local mappings. -Files: runtime/menu.vim - -Patch 6.0.165 -Problem: Using --remote and executing locally gives unavoidable error - messages. -Solution: Add --remote-silent and --remote-wait-silent to silently execute - locally. - For Win32 there was no error message when a server didn't exist. -Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, - src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro - -Patch 6.0.166 -Problem: GUI: There is no way to avoid dialogs to pop up. -Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan - Lakshmanan) -Files: runtime/doc/options.txt, src/option.h, src/message.c - -Patch 6.0.167 -Problem: When 'fileencodings' is "latin2" some characters in the help files - are displayed wrong. -Solution: Force the 'fileencoding' for the help files to be "latin1". -Files: src/fileio.c - -Patch 6.0.168 -Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser) -Solution: Don't skip matches after joining two lines. -Files: src/ex_cmds.c - -Patch 6.0.169 -Problem: When run as evim and the GUI can't be started we get stuck in a - terminal without menus in Insert mode. -Solution: Exit when using "evim" and "gvim -y" when the GUI can't be - started. -Files: src/main.c - -Patch 6.0.170 -Problem: When printing double-width characters the size of tabs after them - is wrong. (Muraoka Taro) -Solution: Correctly compute the column after a double-width character. -Files: src/ex_cmds2.c - -Patch 6.0.171 -Problem: With 'keymodel' including "startsel", in Insert mode after the end - of a line, shift-Left does not move the cursor. (Steve Hall) -Solution: CTRL-O doesn't move the cursor left, need to do that explicitly. -Files: src/edit.c - -Patch 6.0.172 -Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it - does in most other situations. -Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode. -Files: src/edit.c - -Patch 6.0.173 -Problem: When using "P" to insert a line break the cursor remains past the - end of the line. -Solution: Check for the cursor being beyond the end of the line. -Files: src/ops.c - -Patch 6.0.174 -Problem: After using "gd" or "gD" the search direction for "n" may still be - backwards. (Servatius Brandt) -Solution: Reset the search direction to forward. -Files: src/normal.c, src/search.c, src/proto/search.pro - -Patch 6.0.175 -Problem: ":help /\z(\)" doesn't work. (Thomas Koehler) -Solution: Double the backslashes. -Files: src/ex_cmds.c - -Patch 6.0.176 -Problem: When killed by a signal autocommands are still triggered as if - nothing happened. -Solution: Add the v:dying variable to allow autocommands to work differently - when a deadly signal has been trapped. -Files: src/eval.c, src/os_unix.c, src/vim.h - -Patch 6.0.177 -Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf" - doesn't work. (Thomas S. Urban) -Solution: Add the marker even when 'commentstring' is empty. -Files: src/fold.c, src/normal.c - -Patch 6.0.178 -Problem: Uninitialized memory read from xp_backslash field. -Solution: Initialize xp_backslash field properly. -Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c - -Patch 6.0.179 -Problem: Win32: When displaying UTF-8 characters may read uninitialized - memory. -Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a - string. -Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c - -Patch 6.0.180 -Problem: Expanding environment variables in a string that ends in a - backslash could go past the end of the string. -Solution: Detect the trailing backslash. -Files: src/misc1.c - -Patch 6.0.181 -Problem: When using ":cd dir" memory was leaked. -Solution: Free the allocated memory. Also avoid an uninitialized memory - read. -Files: src/misc2.c - -Patch 6.0.182 -Problem: When using a regexp on multi-byte characters, could try to read a - character before the start of the line. -Solution: Don't decrement a pointer to before the start of the line. -Files: src/regexp.c - -Patch 6.0.183 -Problem: Leaking memory when ":func!" redefines a function. -Solution: Free the function name when it's not used. -Files: src/eval.c - -Patch 6.0.184 -Problem: Leaking memory when expanding option values. -Solution: Don't always copy the expanded option into allocated memory. -Files: src/option.c - -Patch 6.0.185 -Problem: Crash in Vim when pasting a selection in another application, on a - 64 bit machine. -Solution: Fix the format for an Atom to 32 bits. (Peter Derr) -Files: src/ui.c - -Patch 6.0.186 -Problem: X11: Three warnings when compiling the client-server code. -Solution: Add a typecast to unsigned char. -Files: src/if_xcmdsrv.c - -Patch 6.0.187 -Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew - Stryker) - "I" in Visual linewise mode adjusts the indent for no apparent - reason. -Solution: Only save those lines for undo that are changed. - Don't change the indent after inserting in Visual linewise mode. -Files: src/ops.c - -Patch 6.0.188 -Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't - work. -Solution: Initialize the sign icons after initializing the GUI. (Vince - Negri) -Files: src/gui.c, src/gui_x11.c - -Patch 6.0.189 -Problem: The size of the Visual area isn't always displayed when scrolling - ('ruler' off, 'showcmd' on). Also not when using a search - command. (Sylvain Hitier) -Solution: Redisplay the size of the selection after showing the mode. -Files: src/screen.c - -Patch 6.0.190 -Problem: GUI: when 'mouse' is empty a click with the middle button still - moves the cursor. -Solution: Paste at the cursor position instead of the mouse position. -Files: src/normal.c - -Patch 6.0.191 -Problem: When no servers are available serverlist() gives an error instead - of returning an empty string. (Hari Krishna) -Solution: Don't give an error message. -Files: src/eval.c - -Patch 6.0.192 -Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew - Nikitin) -Solution: Reset the flag that w_virtcol is valid when moving the cursor back - to the start of the operated area. -Files: src/normal.c - -Patch 6.0.193 -Problem: When 'virtualedit' is set, col(".") after the end of the line - should return one extra. -Solution: Add one to the column. -Files: src/eval.c - -Patch 6.0.194 -Problem: "--remote-silent" tries to send a reply to the client, like it was - "--remote-wait". -Solution: Properly check for the argument. -Files: src/main.c - -Patch 6.0.195 -Problem: When 'virtualedit' is set and a search starts in virtual space - ":call search('x')" goes to the wrong position. (Eric Long) -Solution: Reset coladd when finding a match. -Files: src/search.c - -Patch 6.0.196 -Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually - selecting part of a tab at the start of a line, "x" joins it with - the previous line. Also, when the selection spans more than one - line the whole tab is deleted. -Solution: Take coladd into account when adjusting for 'selection' being - "exclusive". Also expand a tab into spaces when deleting more - than one line. -Files: src/normal.c, src/ops.c - -Patch 6.0.197 -Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x" - doesn't delete the last character in the line. (Eric Long) -Solution: Don't reset the inclusive flag. (Helmut Stiegler) -Files: src/normal.c - -Patch 6.0.198 -Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the - cursor over the line break doesn't work properly. (Eric Long) -Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the - virtual cursor position. Adjust coladvance() and oneleft() to - skip over the 'showbreak' characters. -Files: src/edit.c, src/misc2.c - -Patch 6.0.199 -Problem: Multi-byte: could use iconv() after calling iconv_end(). - (Yasuhiro Matsumoto) -Solution: Stop converting input and output stream after calling iconv_end(). -Files: src/mbyte.c - -Patch 6.0.200 -Problem: A script that starts with "#!perl" isn't recognized as a Perl - filetype. -Solution: Ignore a missing path in a script header. Also, speed up - recognizing scripts by simplifying the patterns used. -Files: runtime/scripts.vim - -Patch 6.0.201 -Problem: When scrollbinding and doing a long jump, switching windows jumps - to another position in the file. Scrolling a few lines at a time - is OK. (Johannes Zellner) -Solution: When setting w_topline reset the flag that indicates w_botline is - valid. -Files: src/diff.c - -Patch 6.0.202 -Problem: The "icon=" argument for the menu command to define a toolbar icon - with a file didn't work for GTK. (Christian J. Robinson) - For Motif and Athena a full path was required. -Solution: Search the icon file using the specified path. Expand environment - variables in the file name. -Files: src/gui_gtk.c, src/gui_x11.c - -Patch 6.0.203 -Problem: Can change 'fileformat' even though 'modifiable' is off. - (Servatius Brandt) -Solution: Correct check for kind of set command. -Files: src/option.c - -Patch 6.0.204 -Problem: ":unlet" doesn't work for variables with curly braces. (Thomas - Scott Urban) -Solution: Handle variable names with curly braces properly. (Vince Negri) -Files: src/eval.c - -Patch 6.0.205 (extra) -Problem: "gvim -f" still forks when using the batch script to start Vim. -Solution: Add an argument to "start" to use a foreground session (Michael - Geddes) -Files: src/dosinst.c - -Patch 6.0.206 -Problem: Unix: if expanding a wildcard in a file name results in a - wildcard character and there are more parts in the path with a - wildcard, it is expanded again. - Windows: ":edit \[abc]" could never edit the file "[abc]". -Solution: Don't expand wildcards in already expanded parts. - Don't remove backslashes used to escape the special meaning of a - wildcard; can edit "[abc]" if '[' is removed from 'isfname'. -Files: src/misc1.c, src/os_unix.c - -Patch 6.0.207 (extra) -Problem: Win32: The shortcuts and start menu entries let Vim startup in the - desktop directory, which is not very useful. -Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH. -Files: src/dosinst.c - -Patch 6.0.208 -Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in - Insert mode doesn't directly change the cursor color. (Alex - Solow) -Solution: Force a redraw of the cursor after CTRL-^. -Files: src/edit.c - -Patch 6.0.209 -Problem: GUI GTK: After selecting a 'guifont' with the font dialog there - are redraw problems for multi-byte characters. -Solution: Separate the font dialog from setting the new font name to avoid - that "*" is used to find wide and bold fonts. - When redrawing extra characters for the bold trick, take care of - UTF-8 characters. -Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro, - src/proto/gui_gtk_x11.pro - -Patch 6.0.210 -Problem: After patch 6.0.167 it's no longer possible to edit a help file in - another encoding than latin1. -Solution: Let the "++enc=" argument overrule the encoding. -Files: src/fileio.c - -Patch 6.0.211 -Problem: When reading a file fails, the buffer is empty, but it might still - be possible to write it with ":w" later. The original file is - lost then. (Steve Amerige) -Solution: Set the 'readonly' option for the buffer. -Files: src/fileio.c - -Patch 6.0.212 -Problem: GUI GTK: confirm("foo", "") causes a crash. -Solution: Don't make a non-existing button the default. Add a default "OK" - button if none is specified. -Files: src/eval.c, src/gui_gtk.c - -Patch 6.0.213 -Problem: When a file name contains unprintable characters, CTRL-G and other - commands don't work well. -Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto) -Files: src/buffer.c, src/charset.c - -Patch 6.0.214 -Problem: When there is a buffer without a name, empty entries appear in the - jumplist saved in the viminfo file. -Solution: Don't write jumplist entries without a file name. -Files: src/mark.c - -Patch 6.0.215 -Problem: After using "/" from Visual mode the Paste menu and Toolbar - entries don't work. Pasting with the middle mouse doesn't work - and modeless selection doesn't work. -Solution: Use the command line mode menus and use the mouse like in the - command line. -Files: src/gui.c, src/menu.c, src/ui.c - -Patch 6.0.216 -Problem: After reloading a file, displayed in another window than the - current one, which was changed outside of Vim the part of the file - around the cursor set by autocommands may be displayed, but - jumping back to the original cursor position when entering the - window again. -Solution: Restore the topline of the window. -Files: src/fileio.c - -Patch 6.0.217 -Problem: When getting help from a help file that was used before, an empty - unlisted buffer remains in the buffer list. (Eric Long) -Solution: Wipe out the buffer used to do the tag jump from. -Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro - -Patch 6.0.218 -Problem: With explorer plugin: "vim -o filename dirname" doesn't load the - explorer window until entering the window. -Solution: Call s:EditDir() for each window after starting up. -Files: runtime/plugin/explorer.vim - -Patch 6.0.219 -Problem: ":setlocal" and ":setglobal", without arguments, display terminal - options. (Zdenek Sekera) -Solution: Skip terminal options for these two commands. -Files: src/option.c - -Patch 6.0.220 -Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro) -Solution: Don't try going to another window when there isn't one. -Files: runtime/plugin/explorer.vim - -Patch 6.0.221 -Problem: When using ":bdel" and all other buffers are unloaded the lowest - numbered buffer is jumped to instead of the most recent one. (Dave - Cecil) -Solution: Prefer an unloaded buffer from the jumplist. -Files: src/buffer.c - -Patch 6.0.222 -Problem: When 'virtualedit' is set and using autoindent, pressing Esc after - starting a new line leaves behind part of the autoindent. (Helmut - Stiegler) -Solution: After deleting the last char in the line adjust the cursor - position in del_bytes(). -Files: src/misc1.c, src/ops.c - -Patch 6.0.223 -Problem: When splitting a window that contains the explorer, hitting CR on - a file name gives error messages. -Solution: Set the window variables after splitting the window. -Files: runtime/plugin/explorer.vim - -Patch 6.0.224 -Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window - the text may jump left-right and the cursor is displayed in the - wrong position. (Aric Blumer) -Solution: When there is not enough room, compute the left column for the - window to put the cursor in the middle. -Files: src/move.c - -Patch 6.0.225 -Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath - Avadhanula) -Solution: Behave differently in a closed fold. -Files: src/normal.c - -Patch 6.0.226 -Problem: When doing ":recover file" get the ATTENTION prompt. - After recovering the same file five times get a read error or a - crash. (Alex Davis) -Solution: Set the recoverymode flag before setting the file name. - Correct the amount of used memory for the size of block zero. -Files: src/ex_docmd.c - -Patch 6.0.227 (extra) -Problem: The RISC OS port has several problems. -Solution: Update the makefile and fix some of the problems. (Andy Wingate) -Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h, - src/proto/os_riscos.pro, src/search.c - -Patch 6.0.228 -Problem: After putting text in Visual mode the '] mark is not at the end of - the put text. - Undo doesn't work properly when putting a word into a Visual - selection that spans more than one line. -Solution: Correct the '] mark for the deleting the Visually selected text. - #ifdef code that depends on FEAT_VISUAL properly. - Also fix that "d" crossing line boundary puts '[ just before - deleted text. - Fix undo by saving all deleted lines at once. -Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c, - src/structs.h, src/vim.h - -Patch 6.0.229 -Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break - at a multi-byte char followed by an ASCII char, and the other way - around. (Muraoka Taro) - When joining lines a space is inserted between multi-byte - characters, which is not always wanted. -Solution: Check for multi-byte character before and after the breakpoint. - Don't insert a space before or after a multi-byte character when - joining lines and the 'M' flag is in 'formatoptions'. Don't - insert a space between multi-byte characters when the 'B' flag is - in 'formatoptions'. -Files: src/edit.c, src/ops.c, src/option.h - -Patch 6.0.230 -Problem: The ":" used as a motion after an operator is exclusive, but - sometimes it should be inclusive. -Solution: Make the "v" in between an operator and motion toggle - inclusive/exclusive. (Servatius Brandt) -Files: runtime/doc/motion.txt, src/normal.c - -Patch 6.0.231 -Problem: "gd" and "gD" don't work when the variable matches in a comment - just above the match to be found. (Servatius Brandt) -Solution: Continue searching in the first column below the comment. -Files: src/normal.c - -Patch 6.0.232 -Problem: "vim --version" prints on stderr while "vim --help" prints on - stdout. -Solution: Make "vim --version" use stdout. -Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c - -Patch 6.0.233 -Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because - there is an upper limit. (Jim Battle) -Solution: Allow using "\{min,max}" after an atom that can be empty if there - is an upper limit. -Files: src/regexp.c - -Patch 6.0.234 -Problem: It's not easy to set the cursor position without modifying marks. -Solution: Add the cursor() function. (Yegappan Lakshmanan) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.0.235 -Problem: When writing a file and renaming the original file to make the - backup, permissions could change when setting the owner. -Solution: Only set the owner when it's needed and set the permissions again - afterwards. - When 'backupcopy' is "auto" check that the owner and permissions - of a newly created file can be set properly. -Files: src/fileio.c - -Patch 6.0.236 -Problem: ":edit" without argument should move cursor to line 1 in Vi - compatible mode. -Solution: Add 'g' flag to 'cpoptions'. -Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h - -Patch 6.0.237 -Problem: In a C file, using the filetype plugin, re-indenting a comment - with two spaces after the middle "*" doesn't align properly. -Solution: Don't use a middle entry from a start/middle/end to line up with - the start of the comment when the start part doesn't match with - the actual comment start. -Files: src/misc1.c - -Patch 6.0.238 -Problem: Using a ":substitute" command with a substitute() call in the - substitution expression causes errors. (Srinath Avadhanula) -Solution: Save and restore pointers when doing substitution recursively. -Files: src/regexp.c - -Patch 6.0.239 -Problem: Using "A" to append after a Visually selected block which is after - the end of the line, spaces are inserted in the wrong line and - other unexpected effects. (Michael Naumann) -Solution: Don't advance the cursor to the next line. -Files: src/ops.c - -Patch 6.0.240 -Problem: Win32: building with Python 2.2 doesn't work. -Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore) -Files: src/if_python.c - -Patch 6.0.241 -Problem: Win32: Expanding the old value of an option that is a path that - starts with a backslash, an extra backslash is inserted. -Solution: Only insert backslashes where needed. - Also handle multi-byte characters properly when removing - backslashes. -Files: src/option.c - -Patch 6.0.242 -Problem: GUI: On a system with an Exceed X server sometimes get a "Bad - Window" error. (Tommi Maekitalo) -Solution: When forking, use a pipe to wait in the parent for the child to - have done the setsid() call. -Files: src/gui.c - -Patch 6.0.243 -Problem: Unix: "vim --version" outputs a NL before the last line instead of - after it. (Charles Campbell) -Solution: Send the NL to the same output stream as the text. -Files: src/message.c, src/os_unix.c, src/proto/message.pro - -Patch 6.0.244 -Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and - file name (e.g., icon text, status line). -Solution: Correctly handle unprintable characters. Catch illegal UTF-8 - characters and replace them with <xx>. Truncating the status line - wasn't done correctly at a multi-byte character. (Yasuhiro - Matsumoto) - Added correct_cmdspos() and transchar_byte(). -Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c, - src/message.c, src/screen.c, src/vim.h - -Patch 6.0.245 -Problem: After using a color scheme, setting the 'background' option might - not work. (Peter Horst) -Solution: Disable the color scheme if it switches 'background' back to the - wrong value. -Files: src/option.c - -Patch 6.0.246 -Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary - Holloway) -Solution: Use the specified attributes for the message. (Yegappan - Lakshmanan) -Files: src/eval.c - -Patch 6.0.247 -Problem: GTK GUI: Can't use gvim in a kpart widget. -Solution: Add the "--echo-wid" argument to let Vim echo the window ID on - stdout. (Philippe Fremy) -Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c, - src/main.c - -Patch 6.0.248 -Problem: When using compressed help files and 'encoding' isn't "latin1", - Vim converts the help file before decompressing. (David Reviejo) -Solution: Don't convert a help file when 'binary' is set. -Files: src/fileio.c - -Patch 6.0.249 -Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit(). -Solution: Don't set the cursor on the first line for "-c" arguments when - there also is a "-t" argument. -Files: src/main.c - -Patch 6.0.250 (extra) -Problem: Macintosh: Various problems when compiling. -Solution: Various fixes, mostly #ifdefs. (Dany St. Amant) -Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h, - src/os_mac.pbproj/project.pbxproj, src/os_unix.c - -Patch 6.0.251 (extra) -Problem: Macintosh: menu shortcuts are not very clear. -Solution: Show the shortcut with the Mac clover symbol. (raindog) -Files: src/gui_mac.c - -Patch 6.0.252 -Problem: When a user function was defined with "abort", an error that is - not inside if/endif or while/endwhile doesn't abort the function. - (Servatius Brandt) -Solution: Don't reset did_emsg when the function is to be aborted. -Files: src/ex_docmd.c - -Patch 6.0.253 -Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O> - doesn't work. (Benji Fisher) <C-L> has the same problem. -Solution: Reset need_start_insertmode once in edit(). -Files: src/edit.c - -Patch 6.0.254 (extra) -Problem: Borland C++ 5.5: Checking for stack overflow doesn't work - correctly. Matters when using a complicated regexp. -Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto) -Files: src/Make_bc5.mak - -Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121) -Problem: Win32: ACL support doesn't work well on Samba drives. -Solution: Add a check for working ACL support. (Mike Williams) -Files: src/os_win32.c - -Patch 6.0.256 (extra) -Problem: Win32: ":highlight Comment guifg=asdf" does not give an error - message. (Randall W. Morris) Also for other systems. -Solution: Add gui_get_color() to give one error message for all systems. -Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c, - src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c, - src/proto/gui.pro, src/syntax.c - -Patch 6.0.257 -Problem: Win32: When 'mousefocus' is set and there is a BufRead - autocommand, after the dialog for permissions changed outside of - Vim: 'mousefocus' stops working. (Robert Webb) -Solution: Reset need_mouse_correct after checking timestamps. -Files: src/fileio.c - -Patch 6.0.258 -Problem: When 'scrolloff' is 999 and there are folds, the text can jump up - and down when moving the cursor down near the end of the file. - (Lubomir Host) -Solution: When putting the cursor halfway the window start counting lines at - the end of a fold. -Files: src/move.c - -Patch 6.0.259 -Problem: MS-DOS: after editing the command line the cursor shape may remain - like in Insert mode. (Volker Kiefel) -Solution: Reset the cursor shape after editing the command line. -Files: src/ex_getln.c - -Patch 6.0.260 -Problem: GUI: May crash while starting up when giving an error message for - missing color. (Servatius Brandt) -Solution: Don't call gui_write() when still starting up. Don't give error - message for empty color name. Don't use 't_vb' while the GUI is - still starting up. -Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c - -Patch 6.0.261 -Problem: nr2char() and char2nr() don't work with multi-byte characters. -Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.0.262 (extra) -Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used - at all. -Solution: Adjust various things for IME. -Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro, - src/structs.h, src/ui.c - -Patch 6.0.263 -Problem: GTK: When a dialog is closed by the window manager, Vim hangs. - (Christian J. Robinson) -Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE(). -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 6.0.264 -Problem: The amount of virtual memory is used to initialize 'maxmemtot', - which may be much more than the amount of physical memory, - resulting in a lot of swapping. -Solution: Get the amount of physical memory with sysctl(), sysconf() or - sysinfo() when possible. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/os_unix.c, src/os_unix.h - -Patch 6.0.265 -Problem: Win32: Using backspace while 'fkmap' is set causes a crash. - (Jamshid Oasjmoha) -Solution: Don't try mapping special keys. -Files: src/farsi.c - -Patch 6.0.266 -Problem: The rename() function deletes the file if the old and the new name - are the same. (Volker Kiefel) -Solution: Don't do anything if the names are equal. -Files: src/fileio.c - -Patch 6.0.267 -Problem: UTF-8: Although 'isprint' says a character is printable, - utf_char2cells() still considers it unprintable. -Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.0.268 (extra) (depends on patch 6.0.255) -Problem: Win32: ACL check crashes when using forward slash in file name. -Solution: Improve the check for the path in the file name. -Files: src/os_win32.c - -Patch 6.0.269 -Problem: Unprintable characters in a file name may cause problems when - using the 'statusline' option or when 'buftype' is "nofile". -Solution: call trans_characters() for the resulting statusline. (Yasuhiro - Matsumoto) -Files: src/buffer.c, src/screen.c, src/charset.c - -Patch 6.0.270 (depends on patch 6.0.267) -Problem: A tab causes UTF-8 text to be displayed in the wrong position. - (Ron Aaron) -Solution: Correct utf_char2cells() again. -Files: src/mbyte.c - -Patch 6.1a.001 (extra) -Problem: 32bit DOS: copying text to the clipboard may cause a crash. - (Jonathan D Johnston) -Solution: Don't copy one byte too much in SetClipboardData(). -Files: src/os_msdos.c - -Patch 6.1a.002 -Problem: GTK: On some configurations, when closing a dialog from the window - manager, Vim hangs. -Solution: Catch the "destroy" signal. (Aric Blumer) -Files: src/gui_gtk.c - -Patch 6.1a.003 -Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set: - yanking in Visual mode doesn't include the last byte. (Eric Long) -Solution: Don't add a space for a double-wide character. -Files: src/ops.c - -Patch 6.1a.004 (extra) -Problem: MINGW: undefined type. (Ron Aaron) -Solution: Make GetCompositionString_inUCS2() static. -Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro - -Patch 6.1a.005 (extra) -Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan - Johnston) -Solution: Don't keep the driver context when using ":hardcopy!". (Vince - Negri) -Files: src/os_mswin.c - -Patch 6.1a.006 -Problem: multi-byte: after setting 'encoding' the window title might be - wrong. -Solution: Force resetting the title. (Yasuhiro Matsumoto) -Files: src/option.c - -Patch 6.1a.007 -Problem: Filetype detection for "*.inc" doesn't work. -Solution: Use a ":let" command. (David Schweikert) -Files: runtime/filetype.vim - -Patch 6.1a.008 (extra) -Problem: Win32: ACL detection for network shares doesn't work. -Solution: Include the trailing (back)slash in the root path. (Mike Williams) -Files: src/os_win32.c - -Patch 6.1a.009 -Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a () - part that follows, but it generates an error message. -Solution: Allow a forward reference when there is a following "\@<=" or - "\@<!". -Files: runtime/doc/pattern.txt, src/regexp.c - -Patch 6.1a.010 -Problem: When using ":help" and opening a new window, the alternate file - isn't set. -Solution: Set the alternate file to the previously edited file. -Files: src/ex_cmds.c - -Patch 6.1a.011 -Problem: GTK: ":set co=77", change width with the mouse, ":set co=77" - doesn't resize the window. (Darren Hiebert) -Solution: Set the form size after handling a resize event. -Files: src/gui_gtk_x11.c - -Patch 6.1a.012 -Problem: GTK: The file browser always returns a full path. (Lohner) -Solution: Shorten the file name if possible. -Files: src/gui_gtk.c - -Patch 6.1a.013 -Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the - last character of the word isn't ignored. (Raul Segura Acevedo) -Solution: Ignore case when checking the last typed character. -Files: src/edit.c - -Patch 6.1a.014 -Problem: After patch 6.1a.006 can't compile without the title feature. -Solution: Add an #ifdef. -Files: src/option.c - -Patch 6.1a.015 -Problem: MS-Windows: When expanding a file name that contains a '[' or '{' - an extra backslash is inserted. (Raul Segura Acevedo) -Solution: Avoid adding the backslash. -Files: src/ex_getln.c - -Patch 6.1a.016 -Problem: Completion after ":language" doesn't include "time". (Raul Segura - Acevedo) -Solution: Add the alternative to the completions. -Files: src/ex_cmds2.c - -Patch 6.1a.017 -Problem: Clicking the mouse in the top row of a window where the first line - doesn't fit moves the cursor to the wrong column. -Solution: Add the skipcol also for the top row of a window. -Files: src/ui.c - -Patch 6.1a.018 -Problem: When 'scrolloff' is one and the window height is one, "gj" can put - the cursor above the window. (Raul Segura Acevedo) -Solution: Don't let skipcol become bigger than the cursor column. -Files: src/move.c - -Patch 6.1a.019 -Problem: When using a composing character on top of an ASCII character, the - "l" command clears the composing character. Only when 'ruler' and - 'showcmd' are off. (Raphael Finkel) -Solution: Don't move the cursor by displaying characters when there are - composing characters. -Files: src/screen.c - -Patch 6.1a.020 -Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always - work well for small sizes. (Adrien Beau) -Solution: Use another way to avoid the problem with ":set co=77". -Files: src/gui_gtk_x11.c - -Patch 6.1a.021 -Problem: Several Syntax menu entries are wrong or confusing. -Solution: Rephrase and correct the menu entries. (Adrien Beau) -Files: runtime/makemenu.vim, runtime/menu.vim - -Patch 6.1a.022 -Problem: A tags file might be used twice on case insensitive systems. - (Rick Swanton) -Solution: Don't use the same file name twice in the default for the 'tags' - option. Ignore case when comparing names of already visited - files. -Files: src/misc2.c, src/option.c - -Patch 6.1a.023 -Problem: When starting the GUI get "C" characters echoed in the terminal. -Solution: Don't try sending a clear-screen command while the GUI is starting - up. -Files: src/screen.c - -Patch 6.1a.024 -Problem: In other editors CTRL-F is often used for a find dialog. -Solution: In evim use CTRL-F for the find dialog. -Files: runtime/evim.vim - -Patch 6.1a.025 -Problem: The choices for the fileformat dialog can't be translated. -Solution: Add g:menutrans_fileformat_choices. (Adrien Beau) -Files: runtime/menu.vim - -Patch 6.1a.026 -Problem: Indenting Java files is wrong with "throws", "extends" and - "implements" clauses. -Solution: Update the Java indent script. -Files: runtime/indent/java.vim - -Patch 6.1a.027 -Problem: A few Syntax menu entries missing or incorrect. -Solution: Add and correct the menu entries. (Adrien Beau) - Shorten a few menus to avoid they become too long. -Files: runtime/makemenu.vim, runtime/menu.vim - -Patch 6.1a.028 -Problem: XIM: problems with feedback and some input methods. -Solution: Use iconv for calculating the cells. Remove the queue for - key_press_event only when text was changed. (Yasuhiro Matsumoto) -Files: src/globals.h, src/mbyte.c, src/screen.c - -Patch 6.1a.029 -Problem: After patch 6.1a.028 can't compile GTK version with XIM but - without multi-byte chars. -Solution: Add an #ifdef. (Aschwin Marsman) -Files: src/mbyte.c - -Patch 6.1a.030 -Problem: With double-byte encodings toupper() and tolower() may have wrong - results. -Solution: Skip double-byte characters. (Eric Long) -Files: src/eval.c - -Patch 6.1a.031 -Problem: Accessing the 'balloondelay' variable may cause a crash. -Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert) -Files: src/option.h - -Patch 6.1a.032 (extra) -Problem: Some menu files used a wrong encoding name for "scriptencoding". -Solution: Move the translations to a separate file, which is sourced after - setting "scriptencoding". - Also add Czech menu translations in ASCII and update the other - encodings. -Files: runtime/lang/menu_cs_cz.iso_8859-1.vim, - runtime/lang/menu_cs_cz.iso_8859-2.vim, - runtime/lang/menu_czech_czech_republic.1250.vim, - runtime/lang/menu_czech_czech_republic.1252.vim, - runtime/lang/menu_czech_czech_republic.ascii.vim, - runtime/lang/menu_de_de.iso_8859-1.vim, - runtime/lang/menu_de_de.latin1.vim, - runtime/lang/menu_fr_fr.iso_8859-1.vim, - runtime/lang/menu_fr_fr.latin1.vim, - runtime/lang/menu_french_france.1252.vim, - runtime/lang/menu_german_germany.1252.vim, - runtime/lang/menu_ja_jp.euc-jp.vim, - runtime/lang/menu_ja_jp.utf-8.vim, - runtime/lang/menu_japanese_japan.932.vim - -Patch 6.1a.033 -Problem: XIM: doesn't reset input context. -Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka) -Files: src/mbyte.c - -Patch 6.1a.034 (extra) -Problem: Win32: The ACL checks for a readonly file still don't work well. -Solution: Remove the ACL checks, go back to how it worked in Vim 6.0. -Files: src/os_win32.c - -Patch 6.1a.035 -Problem: multi-byte: When using ":sh" in the GUI, typed and displayed - multi-byte characters are not handled correctly. -Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro - Matsumoto) Also handle UTF-8 composing characters. -Files: src/os_unix.c - -Patch 6.1a.036 -Problem: GTK: the save-yourself event was not handled. -Solution: Catch the save-yourself event and preserve swap files. (Neil Bird) -Files: src/gui_gtk_x11.c - -Patch 6.1a.037 -Problem: The MS-Windows key mapping doesn't include CTRL-S for saving. - (Vlad Sandrini) -Solution: Map CTRL-S to ":update". -Files: runtime/mswin.vim - -Patch 6.1a.038 -Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't - work. (Antonio Colombo) -Solution: Don't include sys/sysinfo.h when not calling sysinfo(). -Files: src/os_unix.c - -Patch 6.1a.039 -Problem: Not all visual basic files are recognized. -Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo) -Files: runtime/filetype.vim - -Patch 6.1a.040 -Problem: A *.pl file is recognized as Perl, but it could be a prolog file. -Solution: Check the first non-empty line. (Kontra Gergely) -Files: runtime/filetype.vim - -Patch 6.1a.041 -Problem: When pressing the left mouse button in the command line and them - moving the mouse upwards, nearly all the text is selected. -Solution: Don't try extending a modeless selection when there isn't one. -Files: src/ui.c - -Patch 6.1a.042 -Problem: When merging files, ":diffput" and ":diffget" are used a lot, but - they require a lot of typing. -Solution: Add "dp" for ":diffput" and "do" for ":diffget". -Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro - - -Patch 6.1b.001 (extra) -Problem: Checking for wildcards in a path does not handle multi-byte - characters with a trail byte which is a wildcard. -Solution: Handle multi-byte characters correctly. (Muraoka Taro) -Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, - src/os_unix.c - -Patch 6.1b.002 -Problem: A regexp that ends in "\{" is not flagged as an error. May cause - a stack overflow when 'incsearch' is set. (Gerhard Hochholzer) -Solution: Handle a missing "}" as an error. -Files: src/regexp.c - -Patch 6.1b.003 (extra) -Problem: The RISC OS GUI doesn't compile. -Solution: Include changes since Vim 5.7. (Andy Wingate) -Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c, - src/os_riscos.h, src/proto/gui_riscos.pro - -Patch 6.1b.004 -Problem: col("'>") returns a negative number for linewise selection. (Neil - Bird) -Solution: Don't add one to MAXCOL. -Files: src/eval.c - -Patch 6.1b.005 -Problem: Using a search pattern that causes an out-of-stack error while - 'hlsearch' is set keeps giving the hit-Enter prompt. - A search pattern that takes a long time delays typing when - 'incsearch' is set. -Solution: Stop 'hlsearch' highlighting when the regexp causes an error. - Stop searching for 'incsearch' when a character is typed. -Files: src/globals.h, src/message.c, src/screen.c, src/search.c, - src/vim.h - -Patch 6.1b.006 -Problem: When entering a composing character on the command line with - CTRL-V, the text isn't redrawn correctly. -Solution: Redraw the text under and after the cursor. -Files: src/ex_getln.c - -Patch 6.1b.007 -Problem: When the cursor is in the white space between two sentences, "dis" - deletes the first character of the following sentence, "das" - deletes a space after the sentence. -Solution: Backup the cursor one character in these situations. -Files: src/search.c - -Patch 6.1b.008 -Problem: *.xsl files are not recognized as xslt but xml. - Monk files are not recognized. -Solution: Delete the duplicate line for *.xsl. (Johannes Zellner) - Recognize monk files. -Files: runtime/filetype.vim - -Patch 6.1b.009 -Problem: Can't always compile small features and then adding eval feature, - "sandbox" is undefined. (Axel Kielhorn) -Solution: Always define "sandbox" when the eval feature is used. -Files: src/globals.h - -Patch 6.1b.010 (extra) -Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings. -Solution: Change "true" to "TRUE". (Walter Briscoe) -Files: GvimExt/gvimext.cpp - -Patch 6.1b.011 -Problem: When using a very long string for confirm(), can't quit the - displaying at the more prompt. (Hari Krishna Dara) -Solution: Jump to the end of the message to show the choices. -Files: src/message.c - -Patch 6.1b.012 -Problem: Multi-byte: When 'showbreak' is set and a double-wide character - doesn't fit at the right window edge the cursor gets stuck there. - Using cursor-left gets stuck when 'virtualedit' is set. (Eric - Long) -Solution: Fix the way the extra ">" character is counted when 'showbreak' is - set. Don't correct cursor for virtual editing on a double-wide - character. -Files: src/charset.c, src/edit.c - -Patch 6.1b.013 -Problem: A user command that partly matches with a buffer-local user - command and matches full with a global user command unnecessarily - gives an 'ambiguous command' error. -Solution: Find the full global match even after a partly local match. -Files: src/ex_docmd.c - -Patch 6.1b.014 -Problem: EBCDIC: switching mouse events off causes garbage on screen. - Positioning the cursor in the GUI causes garbage. -Solution: Insert an ESC in the terminal code. (Ralf Schandl) - Use "\b" instead of "\010" for KS_LE. -Files: src/os_unix.c, src/term.c - -Patch 6.1b.015 -Problem: Vimtutor has a typo. Get a warning for "tempfile" if it - doesn't exist. -Solution: Move a quote to the end of a line. (Max Ischenko) - Use "mktemp" first, more systems have it. -Files: src/vimtutor - -Patch 6.1b.016 -Problem: GTK: loading a fontset that works partly, Vim might hang or crash. -Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto) -Files: src/gui_gtk_x11.c - -Patch 6.1b.017 -Problem: GUI: When using ":shell" and there is a beep, nothing happens. -Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro - Matsumoto) -Files: src/message.c - -Patch 6.1b.018 (depends on 6.1b.006) -Problem: When entering the encryption key, special keys may still reveal - the typed characters. -Solution: Make sure stars are used or nothing is shown in all cases. -Files: src/digraph.c, src/getchar.c, src/ex_getln.c - -Patch 6.1b.019 (depends on 6.1b.005) -Problem: A search pattern that takes a long time slows down typing when - 'incsearch' is set. -Solution: Pass SEARCH_PEEK to dosearch(). -Files: src/ex_getln.c - -Patch 6.1b.020 -Problem: When using the matchit plugin, "%" finds a match on the "end" of a - ":syntax region" command in Vim scripts. -Solution: Skip over ":syntax region" commands by setting b:match_skip. -Files: runtime/ftplugin/vim.vim - -Patch 6.1b.021 -Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the - pointer to the new window. (Robert Webb) -Solution: Don't reset need_mouse_correct when checking the timestamp of a - file. -Files: src/fileio.c - -Patch 6.1b.022 -Problem: With lots of folds "j" does not obey 'scrolloff' properly. - (Srinath Avadhanula) -Solution: Go to end of the fold before counting context lines. -Files: src/move.c - -Patch 6.1b.023 -Problem: On MS-Windows system() may cause checking timestamps, because Vim - loses and gains input focus, while this doesn't happen on Unix. -Solution: Don't check timestamps while system() is busy. -Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c - -Patch 6.1b.024 (extra) -Problem: Gettext 0.11 complains that "sjis" is not a standard name. -Solution: Use "cp932" instead. -Files: src/po/sjiscorr.c - -Patch 6.1b.025 (extra) -Problem: Win32: When closing gvim while it is minimized and has a changed - file, the file-changed dialog pops up in a corner of the screen. -Solution: Put the dialog in the middle of the screen. -Files: src/gui_w48.c - -Patch 6.1b.026 -Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in - case are not highlighted properly. (Gerhard Hochholzer) -Solution: Don't ignore case when ignoring white space differences. -Files: src/diff.c - -Patch 6.1b.027 -Problem: "vim --remote +" may cause a crash. -Solution: Check for missing file name argument. (Martin Kahlert) -Files: src/main.c - -Patch 6.1b.028 (extra) -Problem: Win16: Can't compile after patch 6.1b.025. -Solution: Add code specifically for Win16. (Vince Negri) -Files: src/gui_w48.c - -Patch 6.1b.029 -Problem: Win32: When a directory on an NTFS partition is read/execute (no - delete,modify,write) and the file has modify rights, trying to - write the file deletes it. Making the file read/write/execute - (not delete) solves it. (Mark Canup) -Solution: Use the Unix code to check for a writable directory. If not, then - make a backup copy and overwrite the file. -Files: src/fileio.c - -Patch 6.1b.030 (extra) -Problem: Mac: small mistake in the build script and prototypes. -Solution: Fix the build script and add the prototypes. (Axel Kielhorn) -Files: src/os_mac.build, src/gui_mac.c - -Patch 6.1b.031 (extra) -Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting - font name. (Vlad Sandrini) -Solution: Put the code back in gui_mch_init_font() to form the font name out - of the logfont. -Files: src/gui_w48.c - -Patch 6.1b.032 -Problem: Athena: Setting a color scheme before the GUI has started causes a - crash. (Todd Blumer) -Solution: Don't try using color names that haven't been set yet. -Files: src/gui_athena.c - -Patch 6.1b.033 -Problem: When using a count after a ":s" command may get ml_get errors. - (Dietmar Lang) -Solution: Check that the resulting range does not go past the end of the - buffer. -Files: src/ex_cmds.c - -Patch 6.1b.034 -Problem: After sourcing mswin.vim, when using <C-S-Right> after - auto-indenting and then <Del>, get warning for allocating - ridiculous amount of memory. (Dave Delgreco) -Solution: Adjust the start of the Visual area when deleting the auto-indent. -Files: src/edit.c - -Patch 6.1b.035 -Problem: When using evim, dropping a file on Vim and then double clicking - on a word, it is changed to "i". (Merlin Hansen) -Solution: Reset need_start_insertmode after editing the file. -Files: src/ex_docmd.c - - -============================================================================== -VERSION 6.2 *version-6.2* - -This section is about improvements made between version 6.1 and 6.2. - -This is mainly a bug-fix release. There are also a few new features. - -Main new features: -- Support for GTK 2. (Daniel Elstner) -- Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi) -- ":try" command and exception handling. (Servatius Brandt) -- Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff) -- Cscope support for Win32. (Khorev Sergey) -- Support for PostScript printing in various 8-bit encodings. (Mike Williams) - - -Changed *changed-6.2* -------- - -Removed the scheme indent file, the internal Lisp indenting works well now. - -Moved the GvimEXt, OleVim and VisVim directories into the "src" directory. -This is more consistent with how xxd is handled. - -The VisVim.dll file is installed in the top directory, next to gvimext.dll, -instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it -from the wrong directory. - -Removed the art indent file, it didn't do anything. - -submatch() returned line breaks with CR instead of LF. - -Changed the Win32 Makefiles to become more uniform and compile gvimext.dll. -(Dan Sharp) - -'cindent': Align a "//" comment with a "//" comment in a previous line. -(Helmut Stiegler) - -Previously only for xterm-like terminals parent widgets were followed to find -the title and icon label. Now do this for all terminal emulators. - -Made it possible to recognize backslashes for "%" matching. The 'M' flag in -'cpoptions' disables it. (Haakon Riiser) - -Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably -can't make it work (the compiler runs out of memory). - -Even though the documentation refers to keywords, "[ CTRL-D" was using -'isident' to find matches. Changed it to use 'iskeyword'. Also applies to -other commands that search for defined words in included files such as -":dsearch", "[D" and "[d". - -Made 'keywordprg' global-local. (Christian Robinson) - -Enabled the Netbeans interface by default. Reversed the configure argument -from "--enable-netbeans" to "--disable-netbeans". - - -Added *added-6.2* ------ - -New options: - 'arabic' - 'arabicshape' - 'ambiwidth' - 'autochdir' - 'casemap' - 'copyindent' - 'cscopequickfix' - 'preserveindent' - 'printencoding' - 'rightleftcmd' - 'termbidi' - 'toolbariconsize' - 'winfixheight' - -New keymaps: - Serbian (Aleksandar Veselinovic) - Chinese Pinyin (Fredrik Roubert) - Esperanto (Antoine J. Mechelynck) - -New syntax files: - Valgrind (Roger Luethi) - Smarty template (Manfred Stienstra) - MySQL (Kenneth Pronovici) - RockLinux package description (Piotr Esden-Tempski) - MMIX (Dirk Huesken) - gkrellmrc (David Necas) - Tilde (Tobias Rundtrom) - Logtalk (Paulo Moura) - PLP (Juerd Waalboer) - fvwm2m4 (David Necas) - IPfilter (Hendrik Scholz) - fstab (Radu Dineiu) - Quake (Nikolai Weibull) - Occam (Mario Schweigler) - lpc (Shizhu Pan) - Exim conf (David Necas) - EDIF (Artem Zankovich) - .cvsrc (Nikolai Weibull) - .fetchmailrc (Nikolai Weibull) - GNU gpg (Nikolai Weibull) - Grub (Nikolai Weibull) - Modconf (Nikolai Weibull) - RCS (Dmitry Vasiliev) - Art (Dorai Sitaram) - Renderman Interface Bytestream (Andrew J Bromage) - Mailcap (Doug Kearns) - Subversion commit file (Dmitry Vasiliev) - Microsoft IDL (Vadim Zeitlin) - WildPackets EtherPeek Decoder (Christopher Shinn) - Spyce (Rimon Barr) - Resolv.conf (Radu Dineiu) - A65 (Clemens Kirchgatterer) - sshconfig and sshdconfig (David Necas) - Cheetah and HTMLCheetah (Max Ischenko) - Packet filter (Camiel Dobbelaar) - -New indent files: - Eiffel (David Clarke) - Tilde (Tobias Rundtrom) - Occam (Mario Schweigler) - Art (Dorai Sitaram) - PHP (Miles Lott) - Dylan (Brent Fulgham) - -New tutor translations: - Slovak (Lubos Celko) - Greek (Christos Kontas) - German (Joachim Hofmann) - Norwegian (Øyvind Holm) - -New filetype plugins: - Occam (Mario Schweigler) - Art (Dorai Sitaram) - ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim, - jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim, - xhtml.vim, xml.vim, xsd.vim. (Dan Sharp) - -New compiler plugins: - Checkstyle (Doug Kearns) - g77 (Ralf Wildenhues) - fortran (Johann-Guenter Simon) - Xmllint (Doug Kearns) - Ruby (Tim Hammerquist) - Modelsim vcom (Paul Baleme) - -New menu translations: - Brazilian (José de Paula) - British (Mike Williams) - Korean in UTF-8. (Nam SungHyun) - Norwegian (Øyvind Holm) - Serbian (Aleksandar Jelenak) - -New message translation for Norwegian. (Øyvind Holm) - -New color scheme: - desert (Hans Fugal) - -Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and -'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi) - -Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff) - -Win32: cscope support. (Khorev Sergey) - -VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy) - -Added "x" key to the explorer plugin: execute the default action. (Yasuhiro -Matsumoto) - -Compile gvimext.dll with MingW. (Rene de Zwart) - -Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy -way to convert text to HTML. - -Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers -to all error messages, so that they can be caught by the number. -(Servatius Brandt) -Moved part of ex_docmd.c to the new ex_eval.c source file. - -Include support for GTK+ 2.2.x (Daniel Elstner) -Adds the "~" register: drag & drop text. -Adds the 'toolbariconsize' option. -Add -Dalloca when running lint to work around a problem with alloca() -prototype. - -When selecting an item in the error window to jump to, take some effort to -find an ordinary window to show the file in (not a preview window). - -Support for PostScript printing of various 8-bit encodings. (Mike Williams) - -inputdialog() accepts a third argument that is used when the dialog is -cancelled. Makes it possible to see a difference between cancelling and -entering nothing. - -Included Aap recipes. Can be used to update Vim to the latest version, -building and installing. - -"/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler) - -Vim variable "v:register" and functions setreg(), getreg() and getregtype(). -(Michael Geddes) - -"v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode. -(Phillip Vandry) - -Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when -running install in the "src" directory for testing. - -Support tag files that were sorted with case ignored. (Flemming Madsen) - -When completing a wildcard in a leading path element, as in "../*/Makefile", -only the last part ("Makefile") was listed. Support custom defined -command line completion. (Flemming Madsen) - -Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo) - -Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not -used by popular desktops. (Neil Bird) -Not used for Gnome 2, it has its own handling. - -Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter -Briscoe) - -Support page breaks for printing. Adds the "formfeed" field in -'printoptions'. (Mike Williams) - -Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel -Kielhorn) - -"\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron) - -Added 'preserveindent' and 'copyindent' options. They use existing white -space characters instead of using Tabs as much as possible. (Chris Leishman) - -Updated Unicode tables to Unicode 4.0. (Raphael Finkel) - -Support for the mouse wheel in rxvt. (AIDA Shinra) - -Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8" -expansion on Win32 systems. (Michael Geddes) - -'cscopequickfix' option: Open quickfix window for Cscope commands. Also -cleanup the code for giving messages. (Khorev Sergey) - -GUI: Support more than 222 columns for mouse positions. - -":stopinsert" command: Don't return to Insert mode. - -"interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius -Brandt) - - -Fixed *fixed-6.2* ------ - -Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h. - -The Vim icons in PNG format didn't have a transparent background. (Greg -Roelofs) - -Fixed a large number of spelling mistakes in the docs. (Adri Verhoef) - -The #defines for prototype generation were causing trouble. Changed them to -typedefs. - -A new version of libintl.h uses __asm__, which confuses cproto. Define a -dummy __asm__ macro. - -When 'virtualedit' is set can't move to halfway an unprintable character. -Cripples CTRL-V selection. (Taro Muraoka) -Allow moving to halfway an unprintable character. Don't let getvvcol() change -the pos->coladd argument. - -When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is -non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro) - -When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto) -When no argument given use the ".*" pattern. - -Win32: When gvim.exe is started from a shortcut with the window style property -set to maximize Vim doesn't start with a maximized window. (Yasuhiro -Matsumoto) Open the window with the default size and don't call ShowWindow() -again when it's already visible. (Helmut Stiegler) - -gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header -files. - -Win32: When closing a window from a mapping some pixels remain on the -statusline. (Yasuhiro Matsumoto) - -A column number in an errorformat that goes beyond the end of the line may -cause a crash. - -":throw 'test'" crashes Vim. (Yasuhiro Matsumoto) - -The file selector's scrollbar colors are not set after doing a ":hi Scrollbar -guifg=color". And the file selector's colors are not changed by the -colorscheme command. (David Harrison) - -Motif: When compiling with FEAT_FOOTER defined, the text area gets a few -pixels extra space on the right. Remove the special case in -gui_get_base_width(). (David Harrison) - -Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position. -(Helmut Stiegler) - -When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted. - -Using a "--cmd" argument more than 10 times caused a crash. - -DEC style mouse support didn't work if the page field is not empty. -(Uribarri) - -"vim -l one two" did only set 'lisp' in the first file. Vi does it for every -file. - -":set tw<" didn't work. Was checking for '^' instead of '<'. - -In ":hardcopy > %.ps" the "%" was not expanded to the current filename. - -Made ":redraw" also update the Visual area. - -When a not implemented command, such as ":perl", has wrong arguments the less -important error was reported, giving the user the idea the command could work. - -On non-Unix systems autocommands for writing did not attempt a match with the -short file name, causing a pattern like "a/b" to fail. - -VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan -Arpadffy) - -redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter -Briscoe) - -Various changes for the PC Makefiles. (Walter Briscoe) - -Use _truename() instead of our own code to expand a file name into a full -path. (Walter Briscoe) - -Error in filetype check for /etc/modutils. (Lubomir Host) - -Cscope interface: allocated a buffer too small. - -Win16: remove a trailing backslash from a path when obtaining the permission -flags. (Vince Negri) - -When searching for tags with case ignored Vim could hang. - -When searching directories with a stopdir could get a crash. Did not -re-allocate enough memory. (Vince Negri) - -A user command may cause a crash. Don't use the command index when it's -negative. (Vince Negri) - -putenv() didn't work for MingW and Cygwin. (Dan Sharp) - -Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c -for compiling the Win16 version and remove the functions from os_win16.c. -(Vince Negri) - -For terminals that behave like an xterm but didn't have a name that is -recognized, the window title would not always be set. - -When syntax highlighting is off ":hardcopy" could still attempt printing -colors. - -Crash when using ":catch" without an argument. (Servatius Brandt) - -Win32: ":n #" doubled the backslashes. - -Fixed Arabic shaping for the command line. (Nadim Shaikli) - -Avoid splitting up a string displayed on the command line into individual -characters, it breaks Arabic shaping. - -Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp) - -2html.vim didn't work with 'nomagic' set. - -When a local argument list is used and doing ":only" Vim could crash later. -(Muraoka Taro) - -When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3% -could result in "-3%". Also avoid changing a space inside a filename to the -fill character. - -MSwin: Handling of backslashes and double quotes for command line arguments -was not like what other applications do. (Walter Briscoe) - -Test32 sometimes didn't work, because test11.out was written as TEST11.OUT. - -Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and -uninstal.c. - -More improvements for Make_bc3.mak file. (Walter Briscoe) - -When ":syn sync linebreaks=1" is used, editing the first line caused a redraw -of the whole screen. - -Making translated messages didn't work, if_perl.xs wasn't found. (Vlad -Sandrini) - -Motif and Athena: moving Vim to the foreground didn't uniconify it. Use -XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran) - -When using ":ptag" in a window where 'scrollbind' is set the preview window -would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'. - -Various commands that split a window took over 'scrollbind', which is hardly -ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when -splitting a window. - -When 'shellslash' is set in the vimrc file the first entry of ":scriptnames" -would still have backslashes. Entries in the quickfix list could also have -wrong (back)slashes. - -Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto) - -When using a multi-byte character with a K_SPECIAL byte or a special key code -with "--remote-send" the received byte sequence was mangled. Put it in the -typeahead buffer instead of the input buffer. - -Win32: The cursor position was incorrect after changing cursor shape. -(Yasuhiro Matsumoto). - -Win32: When 'encoding' is not the current codepage the title could not be set -to non-ascii characters. - -"vim -d scp://machine/file1 scp://machine/file2" did not work, there was only -one window. Fixed the netrw plugin not to wipe out the buffer if it is -displayed in other windows. - -"/$" caused "e" in last column of screen to disappear, a highlighted blank was -displayed instead. - -":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was -using the line count including what matched after the "\ze". - -Using the "c" flag with ":s" changed the behavior when a line break is -replaced and "\@<=" is used. Without "c" a following match was not found. - -":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n". - -VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy) - -When a delete prompts if a delete should continue when yanking is not -possible, restore msg_silent afterwards. - -":sign" did not complain about a missing argument. - -When adding or deleting a sign 'hlsearch' highlighting could disappear. -Use the generic functions for updating signs. - -On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing. -Makes the tests work on more systems. - -In the DOS tests don't create "/tmp" to avoid an error. - -Mac classic: Problems with reading files with CR vs CR/LF. Rely on the -library version of fgets() to work correctly for Metrowerks 2.2. (Axel -Kielhorn) - -When typing a password a "*" was shown for each byte instead of for each -character. Added multi-byte handling to displaying the stars. (Yasuhiro -Matsumoto) - -When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use -different code for 5.6 and 5.8. (Dan Sharp) - -MingW and Cygwin: Don't strip the debug executable. (Dan Sharp) - -An assignment to a variable with curlies that includes "==" doesn't work. -Skip over the curlies before searching for an "=". (Vince Negri) - -When cancelling the selection of alternate matching tags the tag stack index -could be advanced too far, resulting in an error message when using CTRL-T. - - -Patch 6.1.001 -Problem: When formatting UTF-8 text it might be wrapped at a space that is - followed by a composing character. (Raphael Finkel) - Also correct a display error for removing a composing char on top - of a space. -Solution: Check for a composing character on a space. -Files: src/edit.c, src/misc1.c, src/screen.c - -Patch 6.1.002 (extra) -Problem: Win32: after a ":popup" command the mouse pointer stays hidden. -Solution: Unhide the mouse pointer before showing the menu. -Files: src/gui_w48.c - -Patch 6.1.003 -Problem: When 'laststatus' is zero and there is a vertical split, the - vertical separator is drawn in the command line. (Srikant - Sankaran) -Solution: Don't draw the vertical separator where there is no statusline. -Files: src/screen.c - -Patch 6.1.004 -Problem: Unicode 3.2 changes width and composing of a few characters. - (Markus Kuhn) -Solution: Adjust the Unicode functions for the character width and composing - characters. -Files: src/mbyte.c - -Patch 6.1.005 -Problem: When using more than 50 items in 'statusline' Vim might crash. - (Steve Hall) -Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen) -Files: src/option.c - -Patch 6.1.006 -Problem: When using "P" in Visual mode to put linewise selected text, the - wrong text is deleted. (Jakub Turski) -Solution: Put the text before the Visual area and correct the text to be - deleted for the inserted lines. - Also fix that "p" of linewise text in Visual block mode doesn't - work correctly. -Files: src/normal.c, src/ops.c - -Patch 6.1.007 -Problem: Using ":filetype plugin off" when filetype plugins were never - enabled causes an error message. (Yiu Wing) -Solution: Use ":silent!" to avoid the error message. -Files: runtime/ftplugof.vim - -Patch 6.1.008 -Problem: The "%" command doesn't ignore \" inside a string, it's seen as - the end of the string. (Ken Clark) -Solution: Skip a double quote preceded by an odd number of backslashes. -Files: src/search.c - -Patch 6.1.009 -Problem: Vim crashes when using a huge number for the maxwid value in a - statusline. (Robert M. Nowotniak) -Solution: Check for an overflow that makes maxwid negative. -Files: src/buffer.c - -Patch 6.1.010 -Problem: Searching backwards for a question mark with "?\?" doesn't work. - (Alan Isaac) Same problem in ":s?\??" and ":g?\??". -Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter. -Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c, - src/search.c, src/syntax.c, src/tag.c - -Patch 6.1.011 -Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus - problem when selecting candidates. -Solution: Fix the XIM problems. (Yasuhiro Matsumoto) -Files: src/mbyte.c, src/screen.c - -Patch 6.1.012 -Problem: A system() call might fail if fread() does CR-LF to LF - translation. -Solution: Open the output file in binary mode. (Pavol Huhas) -Files: src/misc1.c - -Patch 6.1.013 -Problem: Win32: The default for 'printexpr' doesn't work when there are - special characters in 'printdevice'. -Solution: Add double quotes around the device name. (Mike Williams) -Files: runtime/doc/option.txt, src/option.c - -Patch 6.1.014 -Problem: An operator like "r" used in Visual block mode doesn't use - 'virtualedit' when it's set to "block". -Solution: Check for 'virtualedit' being active in Visual block mode when the - operator was started. -Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c, - src/ops.c, src/undo.c - -Patch 6.1.015 -Problem: After patch 6.1.014 can't compile with tiny features. (Christian - J. Robinson) -Solution: Add the missing define of virtual_op. -Files: src/vim.h - -Patch 6.1.016 (extra) -Problem: Win32: Outputting Hebrew or Arabic text might have a problem with - reversing. -Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron) -Files: src/gui_w32.c - -Patch 6.1.017 -Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O. - (Pavol Juhas) -Solution: Define BINARY_FILE_IO for Cygwin. -Files: src/os_unix.h - -Patch 6.1.018 -Problem: Error message when using cterm highlighting. (Leonardo Di Lella) -Solution: Remove a backslash before a question mark. -Files: runtime/syntax/cterm.vim - -Patch 6.1.019 (extra) -Problem: Win32: File name is messed up when editing just a drive name. - (Walter Briscoe) -Solution: Append a NUL after the drive name. (Vince Negri) -Files: src/os_win32.c - -Patch 6.1.020 -Problem: col("'>") returns a huge number after using Visual line mode. -Solution: Return the length of the line instead. -Files: src/eval.c - -Patch 6.1.021 (depends on patch 6.1.009) -Problem: Vim crashes when using a huge number for the minwid value in a - statusline. (Robert M. Nowotniak) -Solution: Check for an overflow that makes minwid negative. -Files: src/buffer.c - -Patch 6.1.022 -Problem: Grabbing the status line above the command-line window works like - the bottom status line was grabbed. (Jim Battle) -Solution: Make it possible to grab the status line above the command-line - window, so that it can be resized. -Files: src/ui.c - -Patch 6.1.023 (extra) -Problem: VMS: running tests doesn't work properly. -Solution: Adjust the makefile. (Zoltan Arpadffy) -Files: src/testdir/Make_vms.mms - -Patch 6.1.024 -Problem: When header files use a new syntax for declaring functions, Vim - can't figure out missing prototypes properly. -Solution: Accept braces around a function name. (M. Warner Losh) -Files: src/osdef.sh - -Patch 6.1.025 -Problem: Five messages for "vim --help" don't start with a capital. (Vlad - Sandrini) -Solution: Make the messages consistent. -Files: src/main.c - -Patch 6.1.026 -Problem: *.patch files are not recognized as diff files. In a script a - "VAR=val" argument after "env" isn't ignored. PHP scripts are not - recognized. -Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP - scripts. (Roman Neuhauser) -Files: runtime/filetype.vim, runtime/scripts.vim - -Patch 6.1.027 -Problem: When 'foldcolumn' is non-zero, a special character that wraps to - the next line disturbs the foldcolumn highlighting. (Yasuhiro - Matsumoto) -Solution: Only use the special highlighting when drawing text characters. -Files: src/screen.c - -Patch 6.1.028 -Problem: Client-server: When a --remote-expr fails, Vim still exits with - status zero. -Solution: Exit Vim with a non-zero status to indicate the --remote-expr - failed. (Thomas Scott Urban) -Files: src/main.c - -Patch 6.1.029 -Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing - a utf-8 or other Unicode file uses the wrong conversion. (Jan - Fedak) -Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other - than "latin1". -Files: src/fileio.c - -Patch 6.1.030 -Problem: When CTRL-N is mapped in Insert mode, it is also mapped after - CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F. - (Kontra Gergely) -Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P. -Files: src/getchar.c - -Patch 6.1.031 -Problem: Cygwin: Xxd could read a file in text mode instead of binary mode. -Solution: Use "rb" or "rt" when needed. (Pavol Juhas) -Files: src/xxd/xxd.c - -Patch 6.1.032 -Problem: Can't specify a quickfix file without jumping to the first error. -Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan) -Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, - src/quickfix.c - -Patch 6.1.033 -Problem: GUI: When the selection is lost and the Visual highlighting is - changed to underlining, the cursor is left in a different - position. (Christian Michon) -Solution: Update the cursor position after redrawing the selection. -Files: src/ui.c - -Patch 6.1.034 -Problem: A CVS diff file isn't recognized as diff filetype. -Solution: Skip lines starting with "? " before checking for an "Index:" line. -Files: runtime/scripts.vim - -Patch 6.1.035 (extra, depends on 6.1.016) -Problem: Win32: Outputting Hebrew or Arabic text might have a problem with - reversing on MS-Windows 95/98/ME. -Solution: Restore the RevOut() function and use it in specific situations - only. (Ron Aaron) -Files: src/gui_w32.c - -Patch 6.1.036 -Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens) -Solution: Compute the right length of the regexp when it's empty. -Files: src/search.c - -Patch 6.1.037 -Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt - causes an incomplete redraw and the cursor isn't positioned. - (Lubomir Host) -Solution: Overrule 'lazyredraw' when do_redraw is set. -Files: src/main.c, src/screen.c - -Patch 6.1.038 -Problem: Multi-byte: When a ":s" command contains a multi-byte character - where the trail byte is '~' the text is messed up. -Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro) -Files: src/regexp.c - -Patch 6.1.039 -Problem: When folds are defined and the file is changed outside of Vim, - reloading the file doesn't update the folds. (Anders - Schack-Nielsen) -Solution: Recompute the folds after reloading the file. -Files: src/fileio.c - -Patch 6.1.040 -Problem: When changing directory for expanding a file name fails there is - no error message. -Solution: Give an error message for this situation. Don't change directory - if we can't return to the original directory. -Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c, - src/os_unix.c - -Patch 6.1.041 -Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in - the rhs. (Davyd Ondrejko) -Solution: Insert a CTRL-V before the leading space. Also display leading - and trailing white space in <> form. -Files: src/getchar.c, src/message.c - -Patch 6.1.042 -Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap - files. (Steve Talley) -Solution: Keep all matching swap file names. -Files: src/memline.c - -Patch 6.1.043 -Problem: After patch 6.1.040 a few warnings are produced. -Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn) -Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c - -Patch 6.1.044 (extra) -Problem: GUI: When using the find/replace dialog with text that contains a - slash, an invalid substitute command is generated. - On Win32 a find doesn't work when 'insertmode' is set. -Solution: Escape slashes with a backslash. - Make the Win32, Motif and GTK gui use common code for the - find/replace dialog. - Add the "match case" option for Motif and GTK. -Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h, - src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c - -Patch 6.1.045 -Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999, - moving the cursor down near the end of the file causes the text to - jump up and down. (Lubomir Host) -Solution: Take into account that the cursor may be on the last line of a - closed fold. -Files: src/move.c - -Patch 6.1.046 -Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black - rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor - disappear. (Nam SungHyun) -Solution: Correctly compute the height of the horizontal cursor. -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 6.1.047 -Problem: When skipping commands after an error was encountered, expressions - for ":if", ";elseif" and ":while" are still evaluated. -Solution: Skip the expression after an error. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.048 -Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters. -Solution: Recognize more characters as composing characters. (Jungshik Shin) -Files: src/mbyte.c - -Patch 6.1.049 (extra) -Problem: On a 32 bit display a valid color may cause an error message, - because its pixel value is negative. (Chris Paulson-Ellis) -Solution: Check for -11111 instead of the color being negative. - Don't add one to the pixel value, -1 may be used for white. -Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c, - src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c, - src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, - src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c, - src/gui_x11.c, src/mbyte.c, src/syntax.c - -Patch 6.1.050 (depends on 6.1.049) -Problem: After patch 6.1.049 the non-GUI version doesn't compile. -Solution: Add an #ifdef FEAT_GUI. (Robert Stanton) -Files: src/syntax.c - -Patch 6.1.051 (depends on 6.1.044) -Problem: Doesn't compile with GUI and small features. -Solution: Adjust the #if for ga_append(). -Files: src/misc2.c - -Patch 6.1.052 -Problem: Unix: The executable() function doesn't work when the "which" - command isn't available. -Solution: Go through $PATH manually. Also makes it work for VMS. -Files: src/os_unix.c - -Patch 6.1.053 -Problem: When 'sessionoptions' contains "globals", or "localoptions" and an - option value contains a line break, the resulting script is wrong. -Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula) -Files: src/eval.c - -Patch 6.1.054 -Problem: GUI: A mouse click is not recognized at the more prompt, even when - 'mouse' includes 'r'. -Solution: Recognize a mouse click at the more prompt. - Also accept a mouse click in the last line in the GUI. - Add "ml" entry in 'mouseshape'. -Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, - src/structs.h - -Patch 6.1.055 -Problem: When editing a compressed file, Vim will inspect the contents to - guess the filetype. -Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files. -Files: runtime/filetype.vim, runtime/plugin/gzip.vim - -Patch 6.1.056 -Problem: Loading the Syntax menu can take quite a bit of time. -Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the - available syntax files are not in the Syntax menu. -Files: runtime/doc/gui.txt, runtime/menu.vim - -Patch 6.1.057 -Problem: An ESC inside a mapping doesn't work as documented when - 'insertmode' is set, it does go from Visual or Normal mode to - Insert mode. (Benji Fisher) -Solution: Make it work as documented. -Files: src/normal.c - -Patch 6.1.058 -Problem: When there is a closed fold just above the first line in the - window, using CTRL-X CTRL-Y in Insert mode will show only one line - of the fold. (Alexey Marinichev) -Solution: Correct the topline by putting it at the start of the fold. -Files: src/move.c - -Patch 6.1.059 -Problem: ":redir > ~/file" doesn't work. (Stephen Rasku) -Solution: Expand environment variables in the ":redir >" argument. -Files: src/ex_docmd.c - -Patch 6.1.060 -Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting - a character just before a tab changes the tab into spaces. Undo - doesn't restore the tab. (Helmut Stiegler) -Solution: Don't replace the tab by spaces when it's not needed. Correctly - save the line before it's changed. -Files: src/ops.c - -Patch 6.1.061 -Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual - selection that ends just after a tab doesn't include that tab in - the highlighting. (Helmut Stiegler) -Solution: Use a different way to exclude the character under the cursor. -Files: src/screen.c - -Patch 6.1.062 -Problem: The "man" filetype plugin doesn't work properly on Solaris 5. -Solution: Use a different way to detect that "man -s" should be used. (Hugh - Sasse) -Files: runtime/ftplugin/man.vim - -Patch 6.1.063 -Problem: Java indenting doesn't work properly. -Solution: Ignore comments when checking if the indent doesn't increase after - a "}". -Files: runtime/indent/java.vim - -Patch 6.1.064 -Problem: The URLs that the netrw plugin recognized for ftp and rcp did not - conform to the standard method://[user@]host[:port]/path. -Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new - and the previous style. Also added a bit of dav/cadaver support. - (Charles Campbell) -Files: runtime/plugin/netrw.vim - -Patch 6.1.065 -Problem: VMS: The colorscheme, keymap and compiler menus are not filled in. -Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts) -Files: runtime/menu.vim - -Patch 6.1.066 (extra) -Problem: When calling system() in a plugin reading stdin hangs. -Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode - before the system() call. -Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c, - src/os_win16.c, src/os_win32.c - -Patch 6.1.067 -Problem: ":set viminfo+=f0" is not working. (Benji Fisher) -Solution: Check the "f" flag instead of "'" in 'viminfo'. -Files: src/mark.c - -Patch 6.1.068 -Problem: When a file is reloaded after it was changed outside of Vim, diff - mode isn't updated. (Michael Naumann) -Solution: Invalidate the diff info so that it's updated when needed. -Files: src/fileio.c - -Patch 6.1.069 -Problem: When 'showmatch' is set and "$" is in 'cpoptions', using - "C}<Esc>" may forget to remove the "$". (Preben Guldberg) -Solution: Restore dollar_vcol after displaying the matching cursor position. -Files: src/search.c - -Patch 6.1.070 (depends on 6.1.060) -Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams) -Solution: Add a typecast to int. -Files: src/ops.c - -Patch 6.1.071 -Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one - character too much. (David Necas) -Solution: Subtract one from the end position. -Files: src/ops.c - -Patch 6.1.072 -Problem: When a file name in a tags file starts with http:// or something - else for which there is a BufReadCmd autocommand, the file isn't - opened anyway. -Solution: Check if there is a matching BufReadCmd autocommand and try to - open the file. -Files: src/fileio.c, src/proto/fileio.pro, src/tag.c - -Patch 6.1.073 (extra) -Problem: BC5: Can't easily specify a tiny, small, normal, big or huge - version. -Solution: Allow selecting the version with the FEATURES variable. (Ajit - Thakkar) -Files: src/Make_bc5.mak - -Patch 6.1.074 -Problem: When 'cdpath' includes "../..", changing to a directory in which - we currently already are doesn't work. ff_check_visited() adds - the directory both when using it as the root for searching and for - the actual matches. (Stephen Rasku) -Solution: Use a separate list for the already searched directories. -Files: src/misc2.c - -Patch 6.1.075 (depends on 6.1.072) -Problem: Can't compile fileio.c on MS-Windows. -Solution: Add a declaration for the "p" pointer. (Madoka Machitani) -Files: src/fileio.c - -Patch 6.1.076 (extra) -Problem: Macintosh: explorer plugin doesn't work on Mac Classic. - IME doesn't work. Dialog boxes don't work on Mac OS X -Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn) - Fix IME support. (Muraoka Taro) - Disable dialog boxes. (Benji Fisher) -Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c - -Patch 6.1.077 -Problem: On a Debian system with ACL linking fails. (Lubomir Host) -Solution: When the "acl" library is used, check if the "attr" library is - present and use it. -Files: src/auto/configure, src/configure.in, src/link.sh - -Patch 6.1.078 -Problem: When using 'foldmethod' "marker" and the end marker appears before - the start marker in the file, no fold is found. (Nazri Ramliy) -Solution: Don't let the fold depth go negative. -Files: src/fold.c - -Patch 6.1.079 -Problem: When using "s" in Visual block mode with 'virtualedit' set, when - the selected block is after the end of some lines the wrong text - is inserted and some lines are skipped. (Servatius Brandt) -Solution: Insert the right text and extend short lines. -Files: src/ops.c - -Patch 6.1.080 -Problem: When using gcc with /usr/local already in the search path, adding - it again causes problems. -Solution: Adjust configure.in to avoid adding /usr/local/include and - /usr/local/lib when using GCC and they are already used. (Johannes - Zellner) -Files: src/auto/configure, src/configure.in - -Patch 6.1.081 -Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson) -Solution: Double the backslash to avoid the special meaning of "\_". -Files: src/ex_cmds.c - -Patch 6.1.082 -Problem: On MS-Windows the vimrc_example.vim script is sourced and then - mswin.vim. This enables using select mode, but since "p" is - mapped it doesn't replace the selection. -Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete. - (Vlad Sandrini) -Files: runtime/vimrc_example.vim - -Patch 6.1.083 -Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found. - (Martin Lacko) -Solution: Guess the right menu file based on the system. -Files: runtime/lang/menu_sk_sk.vim - -Patch 6.1.084 (depends on 6.1.080) -Problem: "include" and "lib" are mixed up when checking the directories gcc - already searches. -Solution: Swap the variable names. (SunHo Kim) -Files: src/auto/configure, src/configure.in - -Patch 6.1.085 -Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed - mode "(insert)" isn't removed. (Benji Fisher) -Solution: Clear the command line. -Files: src/normal.c - -Patch 6.1.086 (depends on 6.1.049) -Problem: The guifg color for CursorIM doesn't take effect. -Solution: Use the foreground color when it's defined. (Muraoka Taro) -Files: src/gui.c - -Patch 6.1.087 -Problem: A thesaurus with Japanese characters has problems with characters - in different word classes. -Solution: Only separate words with single-byte non-word characters. - (Muraoka Taro) -Files: src/edit.c - -Patch 6.1.088 (extra) -Problem: Win32: no debugging info is generated. Tags file excludes .cpp - files. -Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command. - (Muraoka Taro) -Files: src/Make_mvc.mak - -Patch 6.1.089 -Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan) -Solution: Use ss_base instead. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/os_unix.c - -Patch 6.1.090 -Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix - of long wrapping lines and a non-wrapping line. -Solution: Check that CTRL-F scrolls at least one line. -Files: src/move.c - -Patch 6.1.091 -Problem: GTK: Can't change preeditstate without setting 'imactivatekey'. -Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro - Matsumoto) -Files: src/mbyte.c - -Patch 6.1.092 -Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam) -Solution: Allow an argument for ":mapclear". -Files: src/ex_cmds.h - -Patch 6.1.093 (extra) -Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the - results can be messed up, because the cursor is moved. -Solution: Disallow direct scrolling when not waiting for a character. -Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.1.094 -Problem: Cygwin: Passing a file name that has backslashes isn't handled - very well. -Solution: Convert file name arguments to Posix. (Chris Metcalf) -Files: src/main.c - -Patch 6.1.095 -Problem: When using signs can free an item on the stack. - Overruling sign colors doesn't work. (Srikanth Sankaran) -Solution: Don't free the item on the stack. Use NULL instead of "none" for - the value of the color. -Files: src/gui_x11.c - -Patch 6.1.096 -Problem: When erasing the right halve of a double-byte character, it may - cause further characters to be erased. (Yasuhiro Matsumoto) -Solution: Make sure only one character is erased. -Files: src/screen.c - -Patch 6.1.097 (depends on 6.1.090) -Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the - file scrolls one line. (Lubomir Host) -Solution: Don't scroll when CTRL-F detects the end-of-file. -Files: src/move.c - -Patch 6.1.098 -Problem: MS-Windows: When the xxd program is under "c:\program files" the - "Convert to Hex" menu doesn't work. (Brian Mathis) -Solution: Put the path to xxd in double quotes. -Files: runtime/menu.vim - -Patch 6.1.099 -Problem: Memory corrupted when closing a fold with more than 99999 lines. -Solution: Allocate more space for the fold text. (Walter Briscoe) -Files: src/eval.c - -Patch 6.1.100 (extra, depends on 6.1.088) -Problem: Win32: VC5 and earlier don't support the /mapinfo option. -Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro) -Files: src/Make_mvc.mak - -Patch 6.1.101 -Problem: After using ":options" the tabstop of a new window is 15. Entry - in ":options" window for 'autowriteall' is wrong. (Antoine J - Mechelynck) Can't insert a space in an option value. -Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa". - Don't map space in Insert mode. -Files: runtime/optwin.vim - -Patch 6.1.102 -Problem: Unprintable and multi-byte characters in a statusline item are not - truncated correctly. (Yasuhiro Matsumoto) -Solution: Count the width of characters instead of the number of bytes. -Files: src/buffer.c - -Patch 6.1.103 -Problem: A function returning from a while loop, with 'verbose' set to 12 - or higher, doesn't mention the return value. A function with the - 'abort' attribute may return -1 while the verbose message says - something else. -Solution: Move the verbose message about returning from a function to - call_func(). (Servatius Brandt) -Files: src/eval.c - -Patch 6.1.104 -Problem: GCC 3.1 appears to have an optimizer problem that makes test 3 - crash. -Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug. - Filter out extra info from "gcc --version". -Files: src/auto/configure, src/configure.in - -Patch 6.1.105 -Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion - Nicolaas) -Solution: Redirect stderr, depending on the shell (like for 'shellredir'). -Files: src/option.c - -Patch 6.1.106 -Problem: The maze program crashes. -Solution: Change "11" to "27" and it works. (Greg Roelofs) -Files: runtime/macros/maze/mazeansi.c - -Patch 6.1.107 -Problem: When 'list' is set the current line in the error window may be - displayed wrong. (Muraoka Taro) -Solution: Don't continue the line after the $ has been displayed and the - rightmost column is reached. -Files: src/screen.c - -Patch 6.1.108 -Problem: When interrupting a filter command such as "!!sleep 20" the file - becomes read-only. (Mark Brader) -Solution: Only set the read-only flag when opening a buffer is interrupted. - When the shell command was interrupted, read the output that was - produced so far. -Files: src/ex_cmds.c, src/fileio.c - -Patch 6.1.109 -Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the - window heights. (Roman Neuhauser) -Solution: Ignore 'eadirection' for CTRL-W = -Files: src/window.c - -Patch 6.1.110 -Problem: When using ":badd file" when "file" is already present but not - listed, it stays unlisted. (David Frey) -Solution: Set 'buflisted'. -Files: src/buffer.c - -Patch 6.1.111 -Problem: It's not possible to detect using the Unix sources on Win32 or Mac. -Solution: Add has("macunix") and has("win32unix"). -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.1.112 -Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to - the cursor position from before this command but every position - where the argument was executed. -Solution: Only remember the cursor position from before the ":argdo", - ":bufdo" and ":windo". -Files: src/ex_cmds2.c, src/mark.c - -Patch 6.1.113 -Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser) -Solution: Decide what buffer to go to next before executing the command. -Files: src/ex_cmds2.c - -Patch 6.1.114 -Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives - a lalloc(0) error. (Chris Southern) -Solution: Don't allocate an array when it's size is zero. -Files: src/if_python.c - -Patch 6.1.115 -Problem: "das" on the white space at the end of a paragraph does not delete - the "." the sentence ends with. -Solution: Don't exclude the last character when it is not white space. -Files: src/search.c - -Patch 6.1.116 -Problem: When 'endofline' is changed while 'binary' is set a file should be - considered modified. (Olaf Buddenhagen) -Solution: Remember the 'eol' value when editing started and consider the - file changed when the current value is different and 'binary' is - set. Also fix that the window title isn't updated when 'ff' or - 'bin' changes. -Files: src/option.c, src/structs.h - -Patch 6.1.117 -Problem: Small problem with editing a file over ftp: and with Cygwin. -Solution: Remove a dot from a ":normal" command. Use "cygdrive" where - appropriate. (Charles Campbell) -Files: runtime/plugin/netrw.vim - -Patch 6.1.118 -Problem: When a file in diff mode is reloaded because it changed outside - of Vim, other windows in diff mode are not always updated. - (Michael Naumann) -Solution: After reloading a file in diff mode mark all windows in diff mode - for redraw. -Files: src/diff.c - -Patch 6.1.119 (extra) -Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be - a crash when connecting to Sniff. -Solution: Initialize sniff_rq_sep such that its value can be changed. - (Martin Egloff) -Files: src/if_sniff.c - -Patch 6.1.120 (depends on 6.1.097) -Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the - end of the file scrolls part of a closed fold. (Lubomir Host) -Solution: Adjust the first line to the start of a fold. -Files: src/move.c - -Patch 6.1.121 (depends on 6.1.098) -Problem: When starting Select mode from Insert mode, then using the Paste - menu entry, the cursor is left before the last pasted character. - (Mario Schweigler) -Solution: Set the cursor for Insert mode one character to the right. -Files: runtime/menu.vim - -Patch 6.1.122 -Problem: ":file name" creates a new buffer to hold the old buffer name, - which becomes the alternate file. This buffer is unexpectedly - listed. -Solution: Create the buffer for the alternate name unlisted. -Files: src/ex_cmds.c - -Patch 6.1.123 -Problem: A ":match" command with more than one argument doesn't report an - error. -Solution: Check for extra characters. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.124 -Problem: When trying to exit and there is a hidden buffer that had 'eol' - off and 'bin' set exiting isn't possible. (John McGowan) -Solution: Set b_start_eol when clearing the buffer. -Files: src/buffer.c - -Patch 6.1.125 -Problem: Explorer plugin asks for saving a modified buffer even when it's - open in another window as well. -Solution: Count the number of windows using the buffer. -Files: runtime/plugin/explorer.vim - -Patch 6.1.126 -Problem: Adding the choices in the syntax menu is consuming much of the - startup time of the GUI while it's not often used. -Solution: Only add the choices when the user wants to use them. -Files: Makefile, runtime/makemenu.vim, runtime/menu.vim, - runtime/synmenu.vim, src/Makefile - -Patch 6.1.127 -Problem: When using "--remote file" and the server has 'insertmode' set, - commands are inserted instead of being executed. (Niklas Volbers) -Solution: Go to Normal mode again after the ":drop" command. -Files: src/main.c - -Patch 6.1.128 -Problem: The expression "input('very long prompt')" puts the cursor in the - wrong line (column is OK). -Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto) -Files: src/ex_getln.c - -Patch 6.1.129 -Problem: On Solaris editing "file/" and then "file" results in using the - same buffer. (Jim Battle) -Solution: Before using stat(), check that there is no illegal trailing - slash. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/macros.h src/misc2.c, src/proto/misc2.pro - -Patch 6.1.130 -Problem: The documentation for some of the 'errorformat' items is unclear. -Solution: Add more examples and explain hard to understand items. (Stefan - Roemer) -Files: runtime/doc/quickfix.txt - -Patch 6.1.131 -Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI, - the CSI byte itself isn't copied. -Solution: Copy the CSI byte. -Files: src/gui_x11.c - -Patch 6.1.132 -Problem: Executing a register in Ex mode may cause commands to be skipped. - (John McGowan) -Solution: In Ex mode use an extra check if the register contents was - consumed, to avoid input goes into the typeahead buffer. -Files: src/ex_docmd.c - -Patch 6.1.133 -Problem: When drawing double-wide characters in the statusline, may clear - half of a character. (Yasuhiro Matsumoto) -Solution: Force redraw of the next character by setting the attributes - instead of putting a NUL in ScreenLines[]. Do put a NUL in - ScreenLines[] when overwriting half of a double-wide character. -Files: src/screen.c - -Patch 6.1.134 -Problem: An error for a trailing argument of ":match" should not be given - after ":if 0". (Servatius Brandt) -Solution: Only do the check when executing commands. -Files: src/ex_docmd.c - -Patch 6.1.135 -Problem: Passing a command to the shell that includes a newline always has - a backslash before the newline. -Solution: Remove one backslash before the newline. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.136 -Problem: When $TERM is "linux" the default for 'background' is "dark", even - though the GUI uses a light background. (Hugh Allen) -Solution: Don't mark the option as set when defaulting to "dark" for the - linux console. Also reset 'background' to "light" when the GUI - has a light background. -Files: src/option.c - -Patch 6.1.137 -Problem: Converting to HTML has a clumsy way of dealing with tabs which may - change the highlighting. -Solution: Replace tabs with spaces after converting a line to HTML. (Preben - Guldberg) -Files: runtime/syntax/2html.vim - -Patch 6.1.138 (depends on 6.1.126) -Problem: Adding extra items to the Syntax menu can't be done when the "Show - individual choices" menu is used. -Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim - files in the runtime path are loaded. (Servatius Brandt) - Also fix that a translated menu can't be removed. -Files: runtime/menu.vim - -Patch 6.1.139 -Problem: Cygwin: PATH_MAX is not defined. -Solution: Include limits.h. (Dan Sharp) -Files: src/main.c - -Patch 6.1.140 -Problem: Cygwin: ":args `ls *.c`" does not work if the shell command - produces CR NL line separators. -Solution: Remove the CR characters ourselves. (Pavol Juhas) -Files: src/os_unix.c - -Patch 6.1.141 -Problem: ":wincmd gx" may cause problems when mixed with other commands. - ":wincmd c" doesn't close the window immediately. (Benji Fisher) -Solution: Pass the extra command character directly instead of using the - stuff buffer and call ex_close() directly. -Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, - src/proto/window.pro, src/window.c - -Patch 6.1.142 -Problem: Defining paragraphs without a separating blank line isn't - possible. Paragraphs can't be formatted automatically. -Solution: Allow defining paragraphs with lines that end in white space. - Added the 'w' and 'a' flags in 'formatoptions'. -Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c, - src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro, - src/vim.h - -Patch 6.1.143 (depends on 6.1.142) -Problem: Auto formatting near the end of the file moves the cursor to a - wrong position. In Insert mode some lines are made one char too - narrow. When deleting a line undo might not always work properly. -Solution: Don't always move to the end of the line in the last line. Don't - position the cursor past the end of the line in Insert mode. - After deleting a line save the cursor line for undo. -Files: src/edit.c, src/ops.c, src/normal.c - -Patch 6.1.144 -Problem: Obtaining the size of a line in screen characters can be wrong. - A pointer may wrap around zero. -Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim - Dunleavy) -Files: src/charset.c - -Patch 6.1.145 -Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael - Marchand) -Solution: Rewrite the code that parses the received list of files to be more - robust. -Files: src/charset.c, src/gui_gtk_x11.c - -Patch 6.1.146 -Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and - $HOMEPATH, it is not used for storing the _viminfo file. (Normal - Diamond) -Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH. -Files: src/misc1.c - -Patch 6.1.147 (extra) -Problem: MS-Windows: When a dialog has no default button, pressing Enter - ends it anyway and all buttons are selected. -Solution: Don't end a dialog when there is no default button. Don't select - all button when there is no default. (Vince Negri) -Files: src/gui_w32.c - -Patch 6.1.148 (extra) -Problem: MS-Windows: ACL is not properly supported. -Solution: Add an access() replacement that also works for ACL. (Mike - Williams) -Files: runtime/doc/editing.txt, src/os_win32.c - -Patch 6.1.149 (extra) -Problem: MS-Windows: Can't use diff mode from the file explorer. -Solution: Add a "diff with Vim" context menu entry. (Dan Sharp) -Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h - -Patch 6.1.150 -Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd() - still uses backslash. (Yegappan Lakshmanan) -Solution: Adjust slashes in getcwd(). -Files: src/eval.c - -Patch 6.1.151 (extra) -Problem: Win32: The NTFS substream isn't copied. -Solution: Copy the substream when making a backup copy. (Muraoka Taro) -Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 6.1.152 -Problem: When $LANG is iso8859-1 translated menus are not used. -Solution: Change iso8859 to iso_8859. -Files: runtime/menu.vim - -Patch 6.1.153 -Problem: Searching in included files may search recursively when the path - starts with "../". (Sven Berkvens-Matthijsse) -Solution: Compare full file names, use inode/device when possible. -Files: src/search.c - -Patch 6.1.154 (extra) -Problem: DJGPP: "vim -h" leaves the cursor in a wrong position. -Solution: Don't position the cursor using uninitialized variables. (Jim - Dunleavy) -Files: src/os_msdos.c - -Patch 6.1.155 -Problem: Win32: Cursor may sometimes disappear in Insert mode. -Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe) -Files: src/option.c - -Patch 6.1.156 -Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly. -Solution: Clean up a few things. -Files: src/mbyte.c, src/structs.h - -Patch 6.1.157 -Problem: 'hlsearch' highlights only the second comma in ",,,,," with - "/,\@<=[^,]*". (Preben Guldberg) -Solution: Also check for an empty match to start just after a previous - match. -Files: src/screen.c - -Patch 6.1.158 -Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1". - (Preben Guldberg) -Solution: Take 'siso' into account when computing the horizontal scroll - position for "zs" and "ze". -Files: src/normal.c - -Patch 6.1.159 -Problem: When expanding an abbreviation that includes a multi-byte - character too many characters are deleted. (Andrey Urazov) -Solution: Delete the abbreviation counting characters instead of bytes. -Files: src/getchar.c - -Patch 6.1.160 -Problem: ":$read file.gz" doesn't work. (Preben Guldberg) -Solution: Don't use the '[ mark after it has become invalid. -Files: runtime/plugin/gzip.vim - -Patch 6.1.161 (depends on 6.1.158) -Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative - value. (Mike Williams) -Solution: Add a typecast. Add a check for 'siso' being negative. -Files: src/normal.c, src/option.c - -Patch 6.1.162 -Problem: Python interface: Didn't initialize threads properly. -Solution: Call PyEval_InitThreads() when starting up. -Files: src/if_python.c - -Patch 6.1.163 -Problem: Win32: Can't compile with Python after 6.1.162. -Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp) -Files: src/if_python.c - -Patch 6.1.164 -Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is - changed to "xxd" anyway. -Solution: Don't change 'filetype' when conversion failed. -Files: runtime/menu.vim - -Patch 6.1.165 -Problem: Making changes in several lines and then a change in one of these - lines that splits it in two or more lines, undo information was - corrupted. May cause a crash. (Dave Fishburn) -Solution: When skipping to save a line for undo because it was already - saved, move it to become the last saved line, so that when the - command changes the line count other saved lines are not involved. -Files: src/undo.c - -Patch 6.1.166 -Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting - with CTRL-V just after auto-indenting removes the indent. (Shlomi - Fish) -Solution: First insert an "x" and delete it again, so that the auto-indent - remains. -Files: runtime/mswin.vim - -Patch 6.1.167 -Problem: When giving a negative argument to ":retab" strange things start - happening. (Hans Ginzel) -Solution: Check for a negative value. -Files: src/ex_cmds.c - -Patch 6.1.168 -Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt. -Solution: Make CTRL-C stop the hit-enter prompt. -Files: src/message.c - -Patch 6.1.169 -Problem: bufexists() finds a buffer by using the name of a symbolic link to - it, but bufnr() doesn't. (Yegappan Lakshmanan) -Solution: When bufnr() can't find a buffer, try using the same method as - bufexists(). -Files: src/eval.c - -Patch 6.1.170 -Problem: Using ":mksession" uses the default session file name, but "vim - -S" doesn't. (Hans Ginzel) -Solution: Use the default session file name if "-S" is the last command - line argument or another option follows. -Files: runtime/doc/starting.txt, src/main.c - -Patch 6.1.171 -Problem: When opening a line just above a closed fold with "O" and the - comment leader is automatically inserted, the cursor is displayed - in the first column. (Sung-Hyun Nam) -Solution: Update the flag that indicates the cursor is in a closed fold. -Files: src/misc1.c - -Patch 6.1.172 -Problem: Command line completion of ":tag /pat" does not show the same - results as the tags the command actually finds. (Gilles Roy) -Solution: Don't modify the pattern to make it a regexp. -Files: src/ex_getln.c, src/tag.c - -Patch 6.1.173 -Problem: When using remote control to edit a position in a file and this - file is the current buffer and it's modified, the window is split - and the ":drop" command fails. -Solution: Don't split the window, keep editing the same buffer. - Use the ":drop" command in VisVim to avoid the problem there. -Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, - VisVim/Commands.cpp - -Patch 6.1.174 -Problem: It is difficult to know in a script whether an option not only - exists but really works. -Solution: Add "exists('+option')". -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.1.175 -Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim - will hang. (Piet Delport) -Solution: Don't keep reading characters to clear typeahead when an interrupt - was detected, stop when a single CTRL-C is read. -Files: src/getchar.c, src/ui.c - -Patch 6.1.176 -Problem: When the stack limit is very big a false out-of-stack error may - be detected. -Solution: Add a check for overflow of the stack limit computation. (Jim - Dunleavy) -Files: src/os_unix.c - -Patch 6.1.177 (depends on 6.1.141) -Problem: ":wincmd" does not allow a following command. (Gary Johnson) -Solution: Check for a following " | cmd". Also give an error for trailing - characters. -Files: src/ex_docmd.c - -Patch 6.1.178 -Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab. - (Bruce deVisser) -Solution: Replace with a literal Tab. -Files: src/normal.c - -Patch 6.1.179 (depends on 6.1.091) -Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin) -Solution: Include the missing definitions. -Files: src/mbyte.c - -Patch 6.1.180 -Problem: Use of the GUI code for forking is inconsistent. -Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer) -Files: src/gui.c - -Patch 6.1.181 -Problem: If the terminal doesn't wrap from the last char in a line to the - next line, the last column is blanked out. (Peter Karp) -Solution: Don't output a space to mark the wrap, but the same character - again. -Files: src/screen.c - -Patch 6.1.182 (depends on 6.1.142) -Problem: It is not possible to auto-format comments only. (Moshe Kaminsky) -Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format - comments. -Files: runtime/doc/change.txt, src/edit.c - -Patch 6.1.183 -Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with - illegal bytes gives "CONVERSION ERROR" even though no conversion - is done. 'readonly' is set, even though writing the file results - in an unmodified file. -Solution: For this specific error use "ILLEGAL BYTE" and don't set - 'readonly'. -Files: src/fileio.c - -Patch 6.1.184 (extra) -Problem: The extra mouse buttons found on some mice don't work. -Solution: Support two extra buttons for MS-Windows. (Michael Geddes) -Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c, - src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c, - src/misc1.c, src/misc2.c, src/normal.c, src/vim.h - -Patch 6.1.185 (depends on 6.1.182) -Problem: Can't compile without +comments feature. -Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson) -Files: src/edit.c - -Patch 6.1.186 (depends on 6.1.177) -Problem: ":wincmd" does not allow a following comment. (Aric Blumer) -Solution: Check for a following double quote. -Files: src/ex_docmd.c - -Patch 6.1.187 -Problem: Using ":doarg" with 'hidden' set and the current file is the only - argument and was modified gives an error message. (Preben - Guldberg) -Solution: Don't try re-editing the same file. -Files: src/ex_cmds2.c - -Patch 6.1.188 (depends on 6.1.173) -Problem: Unused variable in the small version. -Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS. -Files: src/ex_cmds2.c - -Patch 6.1.189 -Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric - Blumer) -Solution: Fall back to the input() function in this situation. -Files: src/eval.c - -Patch 6.1.190 (extra) -Problem: VMS: doesn't build with GTK GUI. Various other problems. -Solution: Fix building for GTK. Improved Perl, Python and TCL support. - Improved VMS documentation. (Zoltan Arpadffy) - Added Vimtutor for VMS (T. R. Wyant) -Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h, - src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms, - src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com, - src/testdir/Make_vms.mms - -Patch 6.1.191 -Problem: When using "vim -s script" and redirecting the output, the delay - for the "Output is not to a terminal" warning slows Vim down too - much. -Solution: Don't delay when reading commands from a script. -Files: src/main.c - -Patch 6.1.192 -Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson) -Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used. -Files: src/diff.c, src/main.c - -Patch 6.1.193 -Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave - Fishburn) -Solution: Check for a negative syntax id, used for keywords. -Files: src/syntax.c - -Patch 6.1.194 -Problem: When "t_ti" is set but it doesn't cause swapping terminal pages, - "ZZ" may cause the shell prompt to appear on top of the file-write - message. -Solution: Scroll the text up in the Vim page before swapping to the terminal - page. (Michael Schroeder) -Files: src/os_unix.c - -Patch 6.1.195 -Problem: The quickfix and preview windows always keep their height, while - other windows can't fix their height. -Solution: Add the 'winfixheight' option, so that a fixed height can be - specified for any window. Also fix that the wildmenu may resize a - one-line window to a two-line window if 'ls' is zero. -Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c, - src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c, - src/screen.c, src/structs.h, src/window.c - -Patch 6.1.196 (depends on 6.1.084) -Problem: On Mac OS X 10.2 generating osdef.h fails. -Solution: Add -no-cpp-precomp to avoid using precompiled header files, which - disables printing the search path. (Ben Fowler) -Files: src/auto/configure, src/configure.in - -Patch 6.1.197 -Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an - error message. (Servatius Brandt) -Solution: Double the backslash in "CTRL-\". -Files: src/ex_cmds.c - -Patch 6.1.198 (extra) (depends on 6.1.076) -Problem: Mac OS X: Dialogues don't work. -Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when - saving to a new file from the GUI. (Peter Cucka) -Files: src/feature.h, src/gui_mac.c - -Patch 6.1.199 -Problem: 'guifontwide' doesn't work on Win32. -Solution: Output each wide character separately. (Michael Geddes) -Files: src/gui.c - -Patch 6.1.200 -Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make - syntax highlighting very slow. -Solution: Check "eap->skip" appropriately. (Rob West) -Files: src/syntax.c - -Patch 6.1.201 (depends on 6.1.192) -Problem: Warning for illegal pointer combination. (Zoltan Arpadffy) -Solution: Add a typecast. -Files: src/diff.c - -Patch 6.1.202 (extra)(depends on 6.1.148) -Problem: Win32: filewritable() doesn't work properly on directories. -Solution: fix filewritable(). (Mike Williams) -Files: src/os_win32.c - -Patch 6.1.203 -Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway) -Solution: Avoid reading past the end of a line when "~" is empty. -Files: src/regexp.c - -Patch 6.1.204 (depends on 6.1.129) -Problem: Warning for an illegal pointer on Solaris. -Solution: Add a typecast. (Derek Wyatt) -Files: src/misc2.c - -Patch 6.1.205 -Problem: The gzip plugin changes the alternate file when editing a - compressed file. (Oliver Fuchs) -Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'. -Files: runtime/plugin/gzip.vim - -Patch 6.1.206 -Problem: The script generated with ":mksession" doesn't work properly when - some commands are mapped. -Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where - possible. (Muraoka Taro) -Files: src/ex_docmd.c, src/fold.c - -Patch 6.1.207 -Problem: Indenting a Java file hangs below a line with a comment after a - command. -Solution: Break out of a loop. (Andre Pang) - Also line up } with matching {. -Files: runtime/indent/java.vim - -Patch 6.1.208 -Problem: Can't use the buffer number from the Python interface. -Solution: Add buffer.number. (Michal Vitecek) -Files: src/if_python.c - -Patch 6.1.209 -Problem: Printing doesn't work on Mac OS classic. -Solution: Use a ":" for path separator when opening the resource file. (Axel - Kielhorn) -Files: src/ex_cmds2.c - -Patch 6.1.210 -Problem: When there is an iconv() conversion error when reading a file - there can be an error the next time iconv() is used. -Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto) -Files: src/fileio.c - -Patch 6.1.211 -Problem: The message "use ! to override" is confusing. -Solution: Make it "add ! to override". -Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c, - src/globals.h - -Patch 6.1.212 -Problem: When Vim was started with "-R" ":new" creates a buffer - 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg) -Solution: Don't set 'readonly in a new empty buffer for ":enew". -Files: src/ex_docmd.c - -Patch 6.1.213 -Problem: Using CTRL-W H may cause a big gap to appear below the last - window. (Aric Blumer) -Solution: Don't set the window height when there is a vertical split. - (Yasuhiro Matsumoto) -Files: src/window.c - -Patch 6.1.214 -Problem: When installing Vim and the runtime files were checked out from - CVS the CVS directories will also be installed. -Solution: Avoid installing the CVS dirs and their contents. -Files: src/Makefile - -Patch 6.1.215 -Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set. - (Xiangjiang Ma) -Solution: Adjust backslashes before printing the message. -Files: src/ex_docmd.c - -Patch 6.1.216 -Problem: When dynamically loading the iconv library, the error codes may be - confused. -Solution: Use specific error codes for iconv and redefine them for dynamic - loading. (Yasuhiro Matsumoto) -Files: src/fileio.c, src/mbyte.c, src/vim.h - -Patch 6.1.217 -Problem: When sourcing the same Vim script using a different name (symbolic - link or MS-Windows 8.3 name) it is listed twice with - ":scriptnames". (Tony Mechelynck) -Solution: Turn the script name into a full path before using it. On Unix - compare inode/device numbers. -Files: src/ex_cmds2.c - -Patch 6.1.218 -Problem: No error message for using the function argument "5+". (Servatius - Brandt) -Solution: Give an error message if a function or variable is expected but is - not found. -Files: src/eval.c - -Patch 6.1.219 -Problem: When using ":amenu :b 1<CR>" with a Visual selection and - 'insertmode' is set, Vim does not return to Insert mode. (Mickael - Marchand) -Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if - 'insertmode' is set and to Normal mode otherwise. Append this to - menus defined with ":amenu". -Files: src/edit.c, src/ex_getln.c, src/normal.c - -Patch 6.1.220 -Problem: When using a BufReadPost autocommand that changes the line count, - e.g., "$-1join", reloading a file that was changed outside Vim - does not work properly. (Alan G Isaac) -Solution: Make the buffer empty before reading the new version of the file. - Save the lines in a dummy buffer, so that they can be put back - when reading the file fails. -Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h, - src/proto/buffer.pro - -Patch 6.1.221 -Problem: Changing case may not work properly, depending on the current - locale. -Solution: Add the 'casemap' option to let the user chose how changing case - is to be done. - Also fix lowering case when an UTF-8 character doesn't keep the - same byte length. -Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure, - src/buffer.c, src/charset.c, src/config.h.in, src/configure.in, - src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c - src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc, - src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c, - src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c, - src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h, - src/syntax.c - -Patch 6.1.222 (depends on 6.1.219) -Problem: Patch 6.1.219 was incomplete. -Solution: Add the changes for ":amenu". -Files: src/menu.c - -Patch 6.1.223 (extra) -Problem: Win32: When IME is activated 'iminsert' is set, but it might never - be reset when IME is disabled. (Muraoka Taro) - All systems: 'iminsert' is set to 2 when leaving Insert mode, even - when langmap is being used. (Peter Valach) -Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro) - Don't store the status of the input method in 'iminsert' when - 'iminsert' is one. Also for editing the command line and for - arguments to Normal mode commands. -Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c - -Patch 6.1.224 -Problem: "expand('$VAR')" returns an empty string when the expanded $VAR - is not an existing file. (Aric Blumer) -Solution: Included non-existing files, as documented. -Files: src/eval.c - -Patch 6.1.225 -Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u - NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses - fileinfo(), the redraw is done after a delay to give the user time - to read the message. -Solution: Put the message from fileio() in "keep_msg", so that the redraw is - done before the delay (still needed to avoid the mode message - overwrites the fileinfo() message). -Files: src/buffer.c - -Patch 6.1.226 -Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin - Keith) -Solution: Save the typeahead buffer when obtaining a debug command. -Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro - -Patch 6.1.227 -Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf - = 5" does not give an error message. (Mikolaj Machowski) -Solution: Check for a ":" inside the variable name. -Files: src/eval.c - -Patch 6.1.228 (extra) -Problem: Win32: The special output function for Hangul is used too often, - causing special handling for other situations to be skipped. - bInComposition is always FALSE, causing ImeGetTempComposition() - always to return NULL. -Solution: Remove HanExtTextOut(). Delete the dead code around - bInComposition and ImeGetTempComposition(). -Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.1.229 -Problem: Win32: Conversion to/from often used codepages requires the iconv - library, which is not always available. -Solution: Use standard MS-Windows functions for the conversion when - possible. (mostly by Glenn Maynard) - Also fixes missing declaration for patch 6.1.220. -Files: src/fileio.c - -Patch 6.1.230 (extra) -Problem: Win16: building doesn't work. -Solution: Exclude the XBUTTON handling. (Vince Negri) -Files: src/gui_w48.c - -Patch 6.1.231 -Problem: Double clicking with the mouse to select a word does not work for - multi-byte characters. -Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword' - is used instead of 'isident'. Also fix that mixing ASCII with - multi-byte word characters doesn't work, the mouse class for - punctuation and word characters was mixed up. -Files: src/normal.c - -Patch 6.1.232 (depends on 6.1.226) -Problem: Using ex_normal_busy while it might not be available. (Axel - Kielhorn) -Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined. -Files: src/ex_cmds2.c - -Patch 6.1.233 -Problem: ":help expr-||" does not work. -Solution: Don't use the '|' as a command separator -Files: src/ex_cmds.c - -Patch 6.1.234 (depends on 6.1.217) -Problem: Get a warning for using a negative value for st_dev. -Solution: Don't assign a negative value to st_dev. -Files: src/ex_cmds2.c - -Patch 6.1.235 (depends on 6.1.223) -Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter - Valach) -Solution: Check "State" before resetting it to NORMAL. -Files: src/edit.c - -Patch 6.1.236 -Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and - when reloading a changed buffer. -Solution: Free a line after calling ml_append(). -Files: src/diff.c, src/fileio.c - -Patch 6.1.237 -Problem: Putting in Visual block mode does not work correctly when "$" was - used or when the first line is short. (Christian Michon) -Solution: First delete the selected text and then put the new text. Save - and restore registers as necessary. -Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro, - src/vim.h - -Patch 6.1.238 (extra) -Problem: Win32: The "icon=" argument for the ":menu" command does not - search for the bitmap file. -Solution: Expand environment variables and search for the bitmap file. - (Vince Negri) - Make it consistent, use the same mechanism for X11 and GTK. -Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c, - src/proto/gui.pro - -Patch 6.1.239 -Problem: Giving an error for missing :endif or :endwhile when being - interrupted. -Solution: Don't give these messages when interrupted. -Files: src/ex_docmd.c, src/os_unix.c - -Patch 6.1.240 (extra) -Problem: Win32 with BCC 5: CPU may be defined in the environment, which - causes a wrong argument for the compiler. (Walter Briscoe) -Solution: Use CPUNR instead of CPU. -Files: src/Make_bc5.mak - -Patch 6.1.241 -Problem: Something goes wrong when drawing or undrawing the cursor. -Solution: Remember when the cursor invalid in a better way. -Files: src/gui.c - -Patch 6.1.242 -Problem: When pasting a large number of lines on the command line it is not - possible to interrupt. (Jean Jordaan) -Solution: Check for an interrupt after each pasted line. -Files: src/ops.c - -Patch 6.1.243 (extra) -Problem: Win32: When the OLE version is started and wasn't registered, a - message pops up to suggest registering, even when this isn't - possible (when the registry is not writable). -Solution: Check if registering is possible before asking whether it should - be done. (Walter Briscoe) - Also avoid restarting Vim after registering. -Files: src/if_ole.cpp - -Patch 6.1.244 -Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg) -Solution: Include it here. -Files: src/vim.h - -Patch 6.1.245 -Problem: Comparing with ignored case does not work properly for Unicode - with a locale where case folding an ASCII character results in a - multi-byte character. (Glenn Maynard) -Solution: Handle ignore-case compare for Unicode differently. -Files: src/mbyte.c - -Patch 6.1.246 -Problem: ":blast" goes to the first buffer if the last one is unlisted. - (Andrew Stryker) -Solution: From the last buffer search backwards for the first listed buffer - instead of forwards. -Files: src/ex_docmd.c - -Patch 6.1.247 -Problem: ACL support doesn't always work properly. -Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry - Vignaud) -Files: src/auto/configure, src/configure.in - -Patch 6.1.248 -Problem: Typing 'q' at the more-prompt for ":let" does not quit the - listing. (Hari Krishna Dara) -Solution: Quit the listing when got_int is set. -Files: src/eval.c - -Patch 6.1.249 -Problem: Can't expand a path on the command line if it includes a "|" as a - trail byte of a multi-byte character. -Solution: Check for multi-byte characters. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 6.1.250 -Problem: When changing the value of 'lines' inside the expression set with - 'diffexpr' Vim might crash. (Dave Fishburn) -Solution: Don't allow changing the screen size while updating the screen. -Files: src/globals.h, src/option.c, src/screen.c - -Patch 6.1.251 -Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd". -Solution: Expand directory names for these commands. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.252 -Problem: "vi}" does not include a line break when the "}" is at the start - of a following line. (Kamil Burzynski) -Solution: Include the line break. -Files: src/search.c - -Patch 6.1.253 (extra) -Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way. - (Xiangjiang Ma) -Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version. - Update the Cygwin makefile to support more features. (Dan Sharp) -Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c - -Patch 6.1.254 -Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work. - ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work. - ":delfunc F{" does not give an error message. ':delfunc F{"F"}' - does not work. -Solution: Support magic braces for the exists() argument. (Vince Negri) - Check for trailing comments explicitly for ":unlet". Add support - for magic braces in further arguments of ":let". Look for a - parenthesis only after the function name. (Servatius Brandt) - Also expand magic braces for "exists('*expr')". Give an error - message for an invalid ":delfunc" argument. Allow quotes in the - ":delfunc" argument. -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - -Patch 6.1.255 (depends on 6.1.254) -Problem: Crash when loading menu.vim a second time. (Christian Robinson) - ":unlet garbage foo" tries unletting "foo" after an error message. - (Servatius Brandt) - Very long function arguments cause very long messages when - 'verbose' is 14 or higher. -Solution: Avoid reading from uninitialized memory. - Break out of a loop after an invalid argument for ":unlet". - Truncate long function arguments to 80 characters. -Files: src/eval.c - -Patch 6.1.256 (depends on 6.1.255) -Problem: Defining a function after ":if 0" could still cause an error - message for an existing function. - Leaking memory when there are trailing characters for ":delfunc". -Solution: Check the "skip" flag. Free the memory. (Servatius Brandt) -Files: src/eval.c - -Patch 6.1.257 -Problem: ":cwindow" always sets the previous window to the last but one - window. (Benji Fisher) -Solution: Set the previous window properly. -Files: src/globals.c, src/quickfix.c, src/window.c - -Patch 6.1.258 -Problem: Buffers menu doesn't work properly for multibyte buffer names. -Solution: Use a pattern to get the left and right part of the name. - (Yasuhiro Matsumoto) -Files: runtime/menu.vim - -Patch 6.1.259 (extra) -Problem: Mac: with 'patchmode' is used filenames are truncated. -Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston) -Files: src/os_mac.h - -Patch 6.1.260 (depends on 6.1.104) -Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El) -Solution: Use the same configure check as used for GCC 3.1. -Files: src/auto/configure, src/configure.in - -Patch 6.1.261 -Problem: When deleting a line in a buffer which is not the current buffer, - using the Perl interface Delete(), the cursor in the current - window may move. (Chris Houser) -Solution: Don't adjust the cursor position when changing another buffer. -Files: src/if_perl.xs - -Patch 6.1.262 -Problem: When jumping over folds with "z[", "zj" and "zk" the previous - position is not remembered. (Hari Krishna Dara) -Solution: Set the previous context mark before jumping. -Files: src/fold.c - -Patch 6.1.263 -Problem: When typing a multi-byte character that triggers an abbreviation - it is not inserted properly. -Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto) -Files: src/getchar.c - -Patch 6.1.264 (depends on patch 6.1.254) -Problem: exists() does not work for built-in functions. (Steve Wall) -Solution: Don't check for the function name to start with a capital. -Files: src/eval.c - -Patch 6.1.265 -Problem: libcall() can be used in 'foldexpr' to call any system function. - rename(), delete() and remote_send() can also be used in - 'foldexpr'. These are security problems. (Georgi Guninski) -Solution: Don't allow using libcall(), rename(), delete(), remote_send() and - similar functions in the sandbox. -Files: src/eval.c - -Patch 6.1.266 (depends on 6.1.265) -Problem: Win32: compile error in eval.c. (Bill McCarthy) -Solution: Move a variable declaration. -Files: src/eval.c - -Patch 6.1.267 -Problem: Using "p" to paste into a Visual selected area may cause a crash. -Solution: Allocate enough memory for saving the register contents. (Muraoka - Taro) -Files: src/ops.c - -Patch 6.1.268 -Problem: When triggering an abbreviation with a multi-byte character, this - character is not correctly inserted after expanding the - abbreviation. (Taro Muraoka) -Solution: Add ABBR_OFF to all characters above 0xff. -Files: src/edit.c, src/ex_getln.c, src/getchar.c - -Patch 6.1.269 -Problem: After using input() text written with ":redir" gets extra indent. - (David Fishburn) -Solution: Restore msg_col after using input(). -Files: src/ex_getln.c - -Patch 6.1.270 (depends on 6.1.260) -Problem: GCC 3.2.1 still seems to have an optimizer problem. -Solution: Use the same configure check as used for GCC 3.1. -Files: src/auto/configure, src/configure.in - -Patch 6.1.271 -Problem: When compiling without the +syntax feature there are errors. -Solution: Don't use some code for syntax highlighting. (Roger Cornelius) - Make test 45 work without syntax highlighting. - Also fix an error in a pattern matching: "\%(" was not supported. -Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in - -Patch 6.1.272 -Problem: After using ":set define<" a crash may happen. (Christian Robinson) -Solution: Make a copy of the option value in allocated memory. -Files: src/option.c - -Patch 6.1.273 -Problem: When the cursor doesn't blink, redrawing an exposed area may hide - the cursor. -Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro) -Files: src/gui.c - -Patch 6.1.274 (depends on 6.1.210) -Problem: Resetting the iconv() state after each error is wrong for an - incomplete sequence. -Solution: Don't reset the iconv() state. -Files: src/fileio.c - -Patch 6.1.275 -Problem: When using "v" in a startup script, get warning message that - terminal cannot highlight. (Charles Campbell) -Solution: Only give the message after the terminal has been initialized. -Files: src/normal.c - -Patch 6.1.276 -Problem: "gvim --remote file" doesn't prompt for an encryption key. -Solution: The further characters the client sends to the server are used. - Added inputsave() and inputrestore() to allow prompting the - user directly and not using typeahead. - Also fix possible memory leak for ":normal". -Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, - src/main.c, src/proto/getchar.pro, src/proto/ui.pro, - src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h - -Patch 6.1.277 (depends on 6.1.276) -Problem: Compilation error when building with small features. -Solution: Define trash_input_buf() when needed. (Kelvin Lee) -Files: src/ui.c - -Patch 6.1.278 -Problem: When using signs the line number of a closed fold doesn't line up - with the other line numbers. (Kamil Burzynski) -Solution: Insert two spaces for the sign column. -Files: src/screen.c - -Patch 6.1.279 -Problem: The prototype for smsg() and smsg_attr() do not match the function - definition. This may cause trouble for some compilers. (Nix) -Solution: Use va_list for systems that have stdarg.h. Use "int" instead of - "void" for the return type. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/proto.h, src/message.c - -Patch 6.1.280 -Problem: It's possible to use an argument "firstline" or "lastline" for a - function but using "a:firstline" or "a:lastline" in the function - won't work. (Benji Fisher) -Solution: Give an error message for these arguments. - Also avoid that the following function body causes a whole row of - errors, skip over it after an error in the first line. -Files: src/eval.c - -Patch 6.1.281 -Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler. -Solution: Set the cursor position before waiting for the argument of CTRL-G. - (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 6.1.282 -Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this. -Solution: Also accept "se " where "set " is accepted in a modeline. - (Yasuhiro Matsumoto) -Files: src/buffer.c - -Patch 6.1.283 -Problem: For ":sign" the icon file name cannot contain a space. -Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 6.1.284 -Problem: On Solaris there is a warning for "struct utimbuf". -Solution: Move including "utime.h" to outside the function. (Derek Wyatt) -Files: src/fileio.c - -Patch 6.1.285 -Problem: Can't wipe out a buffer with 'bufhide' option. -Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan) -Files: runtime/doc/options.txt, src/buffer.c, src/option.c, - src/quickfix.c - -Patch 6.1.286 -Problem: 'showbreak' cannot contain multi-byte characters. -Solution: Allow using all printable characters for 'showbreak'. -Files: src/charset.c, src/move.c, src/option.c - -Patch 6.1.287 (depends on 6.1.285) -Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up. -Solution: Wipe out when wiping out is asked for. -Files: src/buffer.c - -Patch 6.1.288 -Problem: ":silent function F" hangs. (Hari Krishna Dara) -Solution: Don't use msg_col, it is not incremented when using ":silent". - Also made the function output look a bit better. Don't translate - "function". -Files: src/eval.c - -Patch 6.1.289 (depends on 6.1.278) -Problem: Compiler warning for pointer. (Axel Kielhorn) -Solution: Add a typecast for " ". -Files: src/screen.c - -Patch 6.1.290 (extra) -Problem: Truncating long text for message box may break multi-byte - character. -Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto) -Files: src/os_mswin.c - -Patch 6.1.291 (extra) -Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it. -Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto) -Files: src/gui_w48.c - -Patch 6.1.292 (extra, depends on 6.1.253) -Problem: Win32: Can't compile with new MingW compiler. - Borland 5 makefile doesn't generate pathdef.c. -Solution: Remove -wwide-multiply argument. (Rene de Zwart) - Various fixes for other problems in Win32 makefiles. (Dan Sharp) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, - src/Make_mvc.mak - -Patch 6.1.293 -Problem: byte2line() returns a wrong result for some values. -Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith) - Add one to the line number when at the end of a block. -Files: src/memline.c - -Patch 6.1.294 -Problem: Can't include a multi-byte character in a string by its hex value. - (Benji Fisher) -Solution: Add "\u....": a character specified with up to four hex numbers - and stored according to the value of 'encoding'. -Files: src/eval.c - -Patch 6.1.295 (extra) -Problem: Processing the cs.po file generates an error. (Rahul Agrawal) -Solution: Fix the printf format characters in the translation. -Files: src/po/cs.po - -Patch 6.1.296 -Problem: Win32: When cancelling the font dialog 'guifont' remains set to - "*". -Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto) -Files: src/option.c - -Patch 6.1.297 -Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher) -Solution: Before executing the BufReadPost autocommands save the current - fileencoding, so that the file isn't marked changed. -Files: src/fileio.c - -Patch 6.1.298 -Problem: When using signs and the first line of a closed fold has a sign - it can be redrawn as if the fold was open. (Kamil Burzynski) -Solution: Don't redraw a sign inside a closed fold. -Files: src/screen.c - -Patch 6.1.299 -Problem: ":edit +set\ ro file" doesn't work. -Solution: Halve the number of backslashes in the "+cmd" argument. -Files: src/ex_docmd.c - -Patch 6.1.300 (extra) -Problem: Handling of ETO_IGNORELANGUAGE is confusing. -Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard) -Files: src/gui_w32.c - -Patch 6.1.301 (extra) -Problem: French translation of file-save dialog doesn't show file name. -Solution: Insert a star in the printf string. (Francois Terrot) -Files: src/po/fr.po - -Patch 6.1.302 -Problem: Counting lines of the Visual area is incorrect for closed folds. - (Mikolaj Machowski) -Solution: Correct the start and end for the closed fold. -Files: src/normal.c - -Patch 6.1.303 (extra) -Problem: The Top/Bottom/All text does not always fit in the ruler when - translated to Japanese. Problem with a character being wider when - in a bold font. -Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro - Matsumoto) -Files: src/gui_w32.c - -Patch 6.1.304 (extra, depends on 6.1.292) -Problem: Win32: Postscript is always enabled in the MingW Makefile. - Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro - Matsumoto) -Solution: Change an ifdef to an ifeq. (Madoka Machitani) - Use the Borland make redirection to generate pathdef.c. (Maurice - Barnum) -Files: src/Make_bc5.mak, src/Make_ming.mak - -Patch 6.1.305 -Problem: When 'verbose' is 14 or higher, a function call may cause reading - uninitialized data. (Walter Briscoe) -Solution: Check for end-of-string in trunc_string(). -Files: src/message.c - -Patch 6.1.306 -Problem: The AIX VisualAge cc compiler doesn't define __STDC__. -Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee) -Files: src/os_unix.h - -Patch 6.1.307 -Problem: When a double-byte character has an illegal tail byte the display - is messed up. (Yasuhiro Matsumoto) -Solution: Draw "XX" instead of the wrong character. -Files: src/screen.c - -Patch 6.1.308 -Problem: Can't reset the Visual mode returned by visualmode(). -Solution: Use an optional argument to visualmode(). (Charles Campbell) -Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, - src/structs.h - -Patch 6.1.309 -Problem: The tutor doesn't select German if the locale name is - "German_Germany.1252". (Joachim Hofmann) -Solution: Check for "German" in the locale name. Also check for - ".ge". And include the German and Greek tutors. -Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim, - runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737 - -Patch 6.1.310 (depends on 6.1.307) -Problem: All double-byte characters are displayed as "XX". -Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.1.311 (extra) -Problem: VMS: path in window title doesn't include necessary separator. - file version doesn't always work properly with Unix. - Crashes because of memory overwrite in GUI. - Didn't always handle files with lowercase and correct path. -Solution: Fix the problems. Remove unnecessary file name translations. - (Zoltan Arpadffy) -Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, - src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c - -Patch 6.1.312 -Problem: When using ":silent" debugging is also done silently. -Solution: Disable silence while at the debug prompt. -Files: src/ex_cmds2.c - -Patch 6.1.313 -Problem: When a ":drop fname" command is used and "fname" is open in - another window, it is also opened in the current window. -Solution: Change to the window with "fname" instead. - Don't redefine the argument list when dropping only one file. -Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c, - src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro - -Patch 6.1.314 (depends on 6.1.126) -Problem: Missing backslash in "Generic Config file" syntax menu. -Solution: Insert the backslash. (Zak Beck) -Files: runtime/makemenu.vim, runtime/synmenu.vim - -Patch 6.1.315 (extra) -Problem: A very long hostname may lead to an unterminated string. Failing - to obtain a hostname may result in garbage. (Walter Briscoe) -Solution: Add a NUL at the end of the hostname buffer. -Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c, - src/os_win32.c - -Patch 6.1.316 -Problem: When exiting with "wq" and there is a hidden buffer, after the - "file changed" dialog there is a warning for a changed buffer. - (Ajit Thakkar) -Solution: Do update the buffer timestamps when exiting. -Files: src/fileio.c - -Patch 6.1.317 -Problem: Closing a window may cause some of the remaining windows to be - positioned wrong if there is a mix of horizontal and vertical - splits. (Stefan Ingi Valdimarsson) -Solution: Update the frame sizes before updating the window positions. -Files: src/window.c - -Patch 6.1.318 -Problem: auto/pathdef.c can include wrong quotes when a compiler flag - includes quotes. -Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida) -Files: src/Makefile - -Patch 6.1.319 (depends on 6.1.276) -Problem: Using "--remote +cmd file" does not execute "cmd". -Solution: Call inputrestore() in the same command line as inputsave(), - otherwise it will never get executed. -Files: src/main.c - -Patch 6.1.320 (depends on 6.1.313) -Problem: When a ":drop one\ file" command is used the file "one\ file" is - opened, the backslash is not removed. (Taro Muraoka) -Solution: Handle backslashes correctly. Always set the argument list to - keep it simple. -Files: runtime/doc/windows.txt, src/ex_cmds.c - -Patch 6.1.321 -Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual - mode with the mouse. -Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming - Madsen) -Files: src/normal.c - -Patch 6.1.322 (extra, depends on 6.1.315) -Problem: Win32: The host name is always "PC " plus the real host name. -Solution: Don't insert "PC " before the host name. -Files: src/os_win32.c - -Patch 6.1.323 -Problem: ":registers" doesn't stop listing for a "q" at the more prompt. - (Hari Krishna Dara) -Solution: Check for interrupt and got_int. -Files: src/ops.c, src/proto/ops.pro - -Patch 6.1.324 -Problem: Crash when dragging a vertical separator when <LeftMouse> is - remapped to jump to another window. -Solution: Pass the window pointer to the function doing the dragging instead - of always using the current window. (Daniel Elstner) - Also fix that starting a drag changes window focus. -Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h, - src/window.c - -Patch 6.1.325 -Problem: Shift-Tab is not automatically recognized in an xterm. -Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott) -Files: src/term.c - -Patch 6.1.326 -Problem: Using a search pattern may read from uninitialized data (Yasuhiro - Matsumoto) -Solution: Initialize pointers to NULL. -Files: src/regexp.c - -Patch 6.1.327 -Problem: When opening the "mbyte.txt" help file the utf-8 characters are - unreadable, because the fileencoding is forced to be latin1. -Solution: Check for utf-8 encoding first in help files. (Daniel Elstner) -Files: runtime/doc/mbyte.txt, src/fileio.c - -Patch 6.1.328 -Problem: Prototype for enc_canon_search() is missing. -Solution: Add the prototype. (Walter Briscoe) -Files: src/mbyte.c - -Patch 6.1.329 -Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %" - does not work properly. (Hari Krishna Dara) -Solution: Always escape spaces when expanding "%". Don't split argument for - <f-args> in a user command when only one argument is used. -Files: src/ex_docmd.c - -Patch 6.1.330 -Problem: GTK, Motif and Athena: Keypad keys produce the same code as - non-keypad keys, making it impossible to map them separately. -Solution: Use different termcap codes for the keypad keys. (Neil Bird) -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 6.1.331 -Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks - the spot where help files from plugins are to be listed. -Solution: Add a "local-additions" tag and use that to find the right spot. -Files: runtime/doc/help.txt, src/ex_cmds.c - -Patch 6.1.332 (extra) -Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8. - Perl 5.8 also does not work with Cygwin and Ming. -Solution: Adjust the function calls. (Taro Muraoka) - Adjust the cyg and ming makefiles. (Dan Sharp) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/if_perl.xs - -Patch 6.1.333 (extra) -Problem: Win32: Can't handle Unicode text on the clipboard. - Can't pass NUL byte, it becomes a line break. (Bruce DeVisser) -Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard) - Also support copy/paste of NUL bytes. -Files: src/os_mswin.c, src/os_win16.c src/os_win32.c - -Patch 6.1.334 (extra, depends on 6.1.303) -Problem: Problem with drawing Hebrew characters. -Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.1.335 (extra) -Problem: Failure of obtaining the cursor position and window size is - ignored. -Solution: Remove a semicolon after an "if". (Walter Briscoe) -Files: src/gui_w32.c - -Patch 6.1.336 (extra) -Problem: Warning for use of function prototypes of smsg(). -Solution: Define HAVE_STDARG_H. (Walter Briscoe) -Files: src/os_win32.h - -Patch 6.1.337 -Problem: When using "finish" in debug mode in function B() for ":call - A(B())" does not stop after B() is finished. -Solution: Increase debug_level while evaluating a function. -Files: src/ex_docmd.c - -Patch 6.1.338 -Problem: When using a menu that checks out the current file from Insert - mode, there is no warning for the changed file until exiting - Insert mode. (Srikanth Sankaran) -Solution: Add a check for need_check_timestamps in the Insert mode loop. -Files: src/edit.c - -Patch 6.1.339 -Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji - Fisher) -Solution: Return "g:var" for global variables when that is what is being - expanded. (Flemming Madsen) -Files: src/eval.c - -Patch 6.1.340 (extra, depends on 6.1.332) -Problem: Win32: Can't compile the Perl interface with nmake. -Solution: Don't compare the version number as a string but as a number. - (Juergen Kraemer) -Files: src/Make_mvc.mak - -Patch 6.1.341 -Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a - double-wide character. For CTRL-R and CTRL-K in Insert mode the " - or ? is not displayed. -Solution: Draw the cursor in the next character cell. Display the " or ? - over the right half of the double-wide character. (Yasuhiro - Matsumoto) Also fix that cancelling a digraph doesn't redraw - a double-byte character correctly. -Files: src/edit.c, src/gui.c, src/mbyte.c - -Patch 6.1.342 (depends on 6.1.341) -Problem: With 'rightleft' set typing "c" on a double-wide character causes - the cursor to be displayed one cell to the left. -Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto) -Files: src/gui.c - -Patch 6.1.343 (depends on 6.1.342) -Problem: Cannot compile with the +multi_byte feature but without +rightleft. - Cannot compile without the GUI. -Solution: Fix the #ifdefs. (partly by Nam SungHyun) -Files: src/gui.c, src/mbyte.c, src/ui.c - -Patch 6.1.344 -Problem: When using ":silent filetype" the output is still put in the - message history. (Hari Krishna Dara) -Solution: Don't add messages in the history when ":silent" is used. -Files: src/message.c - -Patch 6.1.345 (extra) -Problem: Win32: 'imdisable' doesn't work. -Solution: Make 'imdisable' work. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.1.346 -Problem: The scroll wheel can only scroll the current window. -Solution: Make the scroll wheel scroll the window that the mouse points to. - (Daniel Elstner) -Files: src/edit.c, src/gui.c, src/normal.c, src/term.c - -Patch 6.1.347 -Problem: When using cscope to list matching tags, the listed number is - sometimes not equal to what cscope uses. (Vihren Milev) -Solution: For cscope tags use only one table, don't give tags in the current - file a higher priority. -Files: src/tag.c - -Patch 6.1.348 -Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme - <tab>" results in "zellner" instead of the first entry. (Anand - Hariharan) -Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen) -Files: src/ex_getln.c - -Patch 6.1.349 -Problem: "vim --serverlist" when no server was ever started gives an error - message without "\n". - "vim --serverlist" doesn't exit when the X server can't be - contacted, it starts Vim unexpectedly. (Ricardo Signes) -Solution: Don't give an error when no Vim server was ever started. - Treat failing of opening the display equal to errors inside the - remote*() functions. (Flemming Madsen) -Files: src/if_xcmdsrv.c, src/main.c - -Patch 6.1.350 -Problem: When entering a buffer with ":bnext" for the first time, using an - autocommand to restore the last used cursor position doesn't work. - (Paolo Giarusso) -Solution: Don't use the last known cursor position of the current Vim - invocation if an autocommand changed the position. -Files: src/buffer.c - -Patch 6.1.351 (depends on 6.1.349) -Problem: Crash when starting Vim the first time in an X server. (John - McGowan) -Solution: Don't call xFree() with a fixed string. -Files: src/if_xcmdsrv.c - -Patch 6.1.352 (extra, depends on 6.1.345) -Problem: Win32: Crash when setting "imdisable" in _vimrc. -Solution: Don't call IME functions when imm32.dll was not loaded (yet). - Also add typecasts to avoid Compiler warnings for - ImmAssociateContext() argument. -Files: src/gui_w32.c - -Patch 6.1.353 (extra, depends on 6.1.334) -Problem: Problem with drawing Arabic characters. -Solution: Don't use ETO_PDY, do use padding. -Files: src/gui_w32.c - -Patch 6.1.354 (extra, depends on 6.1.333) -Problem: MS-Windows 98: Notepad can't paste text copied from Vim when - 'encoding' is "utf-8". -Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron) -Files: src/os_mswin.c - -Patch 6.1.355 -Problem: In a regexp '\n' will never match anything in a string. -Solution: Make '\n' match a newline character. -Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c, - src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c, - src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h - -Patch 6.1.356 (extra, depends on, well, eh, several others) -Problem: Compiler warnings for using convert_setup() and a few other - things. -Solution: Add typecasts. -Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c - -Patch 6.1.357 -Problem: CR in the quickfix window jumps to the error under the cursor, but - this doesn't work in Insert mode. (Srikanth Sankaran) -Solution: Handle CR in Insert mode in the quickfix window. -Files: src/edit.c - -Patch 6.1.358 -Problem: The tutor doesn't select another locale version properly. -Solution: Insert the "let" command. (Yasuhiro Matsumoto) -Files: runtime/tutor/tutor.vim - -Patch 6.1.359 (extra) -Problem: Mac Carbon: Vim doesn't get focus when started from the command - line. Crash when using horizontal scroll bar. -Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka) -Files: src/gui_mac.c - -Patch 6.1.360 (depends on 6.1.341) -Problem: In Insert mode CTRL-K ESC messes up a multi-byte character. - (Anders Helmersson) -Solution: Save all bytes of a character when displaying a character - temporarily. -Files: src/edit.c, src/proto/screen.pro, src/screen.c - -Patch 6.1.361 -Problem: Cannot jump to a file mark with ":'M". -Solution: Allow jumping to another file for a mark in an Ex address when it - is the only thing in the command line. -Files: src/ex_docmd.c - -Patch 6.1.362 -Problem: tgetent() may return zero for success. tgetflag() may return -1 - for an error. -Solution: Check tgetflag() for returning a positive value. Add an autoconf - check for the value that tgetent() returns. -Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c - -Patch 6.1.363 -Problem: byte2line() can return one more than the number of lines. -Solution: Return -1 if the offset is one byte past the end. -Files: src/memline.c - -Patch 6.1.364 -Problem: That the FileChangedShell autocommand event never nests makes it - difficult to reload a file in a normal way. -Solution: Allow nesting for the FileChangedShell event but do not allow - triggering itself again. - Also avoid autocommands for the cmdline window in rare cases. -Files: src/ex_getln.c, src/fileio.c, src/window.c - -Patch 6.1.365 (depends on 6.1.217) -Problem: Setting a breakpoint in a sourced file with a relative path name - doesn't work. (Servatius Brandt) -Solution: Expand the file name to a full path. -Files: src/ex_cmds2.c - -Patch 6.1.366 -Problem: Can't use Vim with Netbeans. -Solution: Add the Netbeans interface. Includes support for sign icons and - "-fg" and "-bg" arguments for GTK. Add the 'autochdir' - option. (Gordon Prieur, George Hernandez, Dave Weatherford) - Make it possible to display both a sign with a text and one with - line highlighting in the same line. - Add support for Agide, interface version 2.1. - Also fix that when 'iskeyword' includes '?' the "*" command - doesn't work properly on a word that includes "?" (Bill McCarthy): - Don't escape "?" to "\?" when searching forward. -Files: runtime/doc/Makefile, runtime/doc/netbeans.txt, - runtime/doc/options.txt, runtime/doc/various.txt, - src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in, - src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c, - src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, - src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c, - src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c, - src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c, - src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro, - src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro, - src/proto/gui_x11.pro, src/proto/misc2.pro, - src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro, - src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c, - src/vim.h, src/window.c, src/workshop.c - -Patch 6.1.367 (depends on 6.1.365) -Problem: Setting a breakpoint in a function doesn't work. For a sourced - file it doesn't work when symbolic links are involved. (Servatius - Brandt) -Solution: Expand the file name in the same way as do_source() does. Don't - prepend the path to a function name. -Files: src/ex_cmds2.c - -Patch 6.1.368 -Problem: Completion for ":map" does not include <silent> and <script>. - ":mkexrc" do not save the <silent> attribute of mappings. -Solution: Add "<silent>" to the generated map commands when appropriate. - (David Elstner) - Add <silent> and <script> to command line completion. -Files: src/getchar.c - -Patch 6.1.369 (extra) -Problem: VMS: Vim hangs when attempting to edit a read-only file in the - terminal. Problem with VMS filenames for quickfix. -Solution: Rewrite low level input. Remove version number from file name in - a couple more places. Fix crash after patch 6.1.362. Correct - return code for system(). (Zoltan Arpadffy, Tomas Stehlik) -Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro, - src/os_vms_conf.h, src/quickfix.c, src/ui.c - -Patch 6.1.370 -Problem: #ifdef nesting is unclear. -Solution: Insert spaces to indicate the nesting. -Files: src/os_unix.c - -Patch 6.1.371 -Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line. -Solution: Add one to the column when comparing with virtual column (Andrew - Pimlott) -Files: src/buffer.c - -Patch 6.1.372 -Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe) -Solution: Change int into long. -Files: src/structs.h, src/syntax.c - -Patch 6.1.373 -Problem: The default page header for printing is not translated. -Solution: Add _() around the two places where "Page" is used. (Mike - Williams) Translate the default value of the 'titleold' and - 'printheader' options. -Files: src/ex_cmds2.c, src/option.c - -Patch 6.1.374 (extra) -Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin. -Solution: Add makefile and modified resource files. (Rene de Zwart) - Also support Cygwin. (Alejandro Lopez_Valencia) -Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile, - GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc - -Patch 6.1.375 -Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces. - (Xiangjiang Ma) -Solution: Don't insert backslashes for spaces in a shell command. -Files: src/ex_docmd.c - -Patch 6.1.376 -Problem: "vim --version" and "vim --help" have a non-zero exit code. - That is unusual. (Petesea) -Solution: Use a zero exit code. -Files: src/main.c - -Patch 6.1.377 -Problem: Can't add words to 'lispwords' option. -Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser) -Files: src/option.c - -Patch 6.1.378 -Problem: When two buffer-local user commands are ambiguous, a full match - with a global user command isn't found. (Hari Krishna Dara) -Solution: Detect this situation and accept the global command. -Files: src/ex_docmd.c - -Patch 6.1.379 -Problem: Linux with kernel 2.2 can't use the alternate stack in combination - with threading, causes an infinite loop. -Solution: Don't use the alternate stack in this situation. -Files: src/os_unix.c - -Patch 6.1.380 -Problem: When 'winminheight' is zero and the quickfix window is zero lines, - entering the window doesn't make it higher. (Christian J. - Robinson) -Solution: Make sure the current window is at least one line high. -Files: src/window.c - -Patch 6.1.381 -Problem: When a BufWriteCmd is used and it leaves the buffer modified, the - window may still be closed. (Hari Krishna Dara) -Solution: Return FAIL from buf_write() when the buffer is still modified - after a BufWriteCmd autocommand was used. -Files: src/fileio.c - -Patch 6.1.382 (extra) -Problem: Win32 GUI: When using two monitors, the code that checks/fixes the - window size and position (e.g. when a font changes) doesn't work - properly. (George Reilly) -Solution: Handle a double monitor situation. (Helmut Stiegler) -Files: src/gui_w32.c - -Patch 6.1.383 -Problem: The filling of the status line doesn't work properly for - multi-byte characters. (Nam SungHyun) - There is no check for going past the end of the buffer. -Solution: Properly distinguish characters and bytes. Properly check for - running out of buffer space. -Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c - -Patch 6.1.384 -Problem: It is not possible to find if a certain patch has been included. - (Lubomir Host) -Solution: Support using has() to check if a patch was included. -Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro, - src/version.c - -Patch 6.1.385 (depends on 6.1.383) -Problem: Can't compile without the multi-byte feature. -Solution: Move an #ifdef. (Christian J. Robinson) -Files: src/buffer.c - -Patch 6.1.386 -Problem: Get duplicate tags when running ":helptags". -Solution: Do the other halve of moving a section to another help file. -Files: runtime/tagsrch.txt - -Patch 6.1.387 (depends on 6.1.373) -Problem: Compiler warning for pointer cast. -Solution: Add (char_u *). -Files: src/option.c - -Patch 6.1.388 (depends on 6.1.384) -Problem: Compiler warning for pointer cast. -Solution: Add (char *). Only include has_patch() when used. -Files: src/eval.c, src/version.c - -Patch 6.1.389 (depends on 6.1.366) -Problem: Balloon evaluation doesn't work for GTK. - has("balloon_eval") doesn't work. -Solution: Add balloon evaluation for GTK. Also improve displaying of signs. - (Daniel Elstner) - Also make ":gui" start the netbeans connection and avoid using - netbeans functions when the connection is not open. -Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h, - src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c, - src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c, - src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro, - src/structs.h, src/syntax.c, src/ui.c, src/workshop.c - -Patch 6.1.390 (depends on 6.1.389) -Problem: It's not possible to tell Vim to save and exit through the - Netbeans interface. Would still try to send balloon eval text - after the connection is closed. - Can't use Unicode characters for sign text. -Solution: Add functions "saveAndExit" and "getModified". Check for a - working connection before sending a balloonText event. - various other cleanups. - Support any character for sign text. (Daniel Elstner) -Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c, - src/netbeans.c, src/screen.c - -Patch 6.1.391 -Problem: ml_get() error when using virtualedit. (Charles Campbell) -Solution: Get a line from a specific window, not the current one. -Files: src/charset.c - -Patch 6.1.392 (depends on 6.1.383) -Problem: Highlighting in the 'statusline' is in the wrong position when an - item is truncated. (Zak Beck) -Solution: Correct the start of 'statusline' items properly for a truncated - item. -Files: src/buffer.c - -Patch 6.1.393 -Problem: When compiled with Python and threads, detaching the terminal may - cause Vim to loop forever. -Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel - Elstner) -Files: src/auto/configure,, src/configure.in - -Patch 6.1.394 (depends on 6.1.390) -Problem: The netbeans interface doesn't recognize multibyte glyph names. -Solution: Check the number of cells rather than bytes to decide - whether a glyph name is not a filename. (Daniel Elstner) -Files: src/netbeans.c - -Patch 6.1.395 (extra, depends on 6.1.369) -Problem: VMS: OLD_VMS is never defined. Missing function prototype. -Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to - os_vms.pro. (Zoltan Arpadffy) -Files: src/Make_vms.mms, src/proto/os_vms.pro - -Patch 6.1.396 (depends on 6.1.330) -Problem: Compiler warnings for using enum. -Solution: Add typecast to char_u. -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 6.1.397 (extra) -Problem: The install program may use a wrong path for the diff command if - there is a space in the install directory path. -Solution: Use double quotes around the path if necessary. (Alejandro - Lopez-Valencia) Also use double quotes around the file name - arguments. -Files: src/dosinst.c - -Patch 6.1.398 -Problem: Saving the typeahead for debug mode causes trouble for a test - script. (Servatius Brandt) -Solution: Add the ":debuggreedy" command to avoid saving the typeahead. -Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c, - src/ex_docmd.c, src/proto/ex_cmds2.pro - -Patch 6.1.399 -Problem: Warning for unused variable. -Solution: Remove the variable two_or_more. -Files: src/ex_cmds.c - -Patch 6.1.400 (depends on 6.1.381) -Problem: When a BufWriteCmd wipes out the buffer it may still be accessed. -Solution: Don't try accessing a buffer that has been wiped out. -Files: src/fileio.c - -Patch 6.1.401 (extra) -Problem: Building the Win16 version with Borland 5.01 doesn't work. - "make test" doesn't work with Make_dos.mak. (Walter Briscoe) -Solution: Various fixes to the w16 makefile. (Walter Briscoe) - Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp". -Files: src/Make_w16.mak, src/testdir/Make_dos.mak - -Patch 6.1.402 -Problem: When evaluating a function name with curly braces, an error - is not handled consistently. -Solution: Accept the result of a curly braces expression when an - error was encountered. Skip evaluating an expression in curly - braces when skipping. (Servatius Brandt) -Files: src/eval.c - -Patch 6.1.403 (extra) -Problem: MS-Windows 16 bit: compiler warnings. -Solution: Add typecasts. (Walter Briscoe) -Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c, - src/syntax.c - -Patch 6.1.404 (extra) -Problem: Various small problems. -Solution: Fix comments. Various small additions, changes in indent, removal - of unused items and fixes. -Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim, - src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak, - src/Make_cyg.mak, src/Make_ming.mak, src/Makefile, - src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, - src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c, - src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c, - src/message.c, src/misc1.c, src/misc2.c, src/normal.c, - src/option.c, src/os_os2_cfg.h, src/os_win32.c, - src/proto/getchar.pro, src/proto/message.pro, - src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c, - src/term.c, src/testdir/test15.in, src/testdir/test15.ok, - src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile - -Patch 6.1.405 -Problem: A few files are missing from the toplevel Makefile. -Solution: Add the missing files. -Files: Makefile - -Patch 6.1.406 (depends on 6.1.392) -Problem: When a statusline item doesn't fit arbitrary text appears. - (Christian J. Robinson) -Solution: When there is just enough room but not for the "<" truncate the - statusline item like there is no room. -Files: src/buffer.c - -Patch 6.1.407 -Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew - Pimlott) -Solution: Reset 'scrollbind' when opening a help window. -Files: src/ex_cmds.c - -Patch 6.1.408 -Problem: When 'rightleft' is set unprintable character 0x0c is displayed as - ">c0<". -Solution: Reverse the text of the hex character. -Files: src/screen.c - -Patch 6.1.409 -Problem: Generating tags for the help doesn't work for some locales. -Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel - Elstner) -Files: runtime/doc/Makefile - -Patch 6.1.410 (depends on 6.1.390) -Problem: Linking error when compiling with Netbeans but without sign icons. - (Malte Neumann) -Solution: Don't define buf_signcount() when sign icons are unavailable. -Files: src/buffer.c - -Patch 6.1.411 -Problem: When 'virtualedit' is set, highlighting a Visual block beyond the - end of a line may be wrong. -Solution: Correct the virtual column when the end of the line is before the - displayed part of the line. (Muraoka Taro) -Files: src/screen.c - -Patch 6.1.412 -Problem: When swapping terminal screens and using ":gui" to start the GUI, - the shell prompt may be after a hit-enter prompt. -Solution: Output a newline in the terminal when starting the GUI and there - was a hit-enter prompt.. -Files: src/gui.c - -Patch 6.1.413 -Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't - work correctly. -Solution: Save the register before overwriting it and put the resulting text - on the clipboard afterwards. (Muraoka Taro) -Files: src/normal.c, src/ops.c - -Patch 6.1.414 (extra, depends on 6.1.369) -Problem: VMS: Vim busy waits when waiting for input. -Solution: Delay for a short while before getting another character. (Zoltan - Arpadffy) -Files: src/os_vms.c - -Patch 6.1.415 -Problem: When there is a vertical split and a quickfix window, reducing the - size of the Vim window may result in a wrong window layout and a - crash. -Solution: When reducing the window size and there is not enough space for - 'winfixheight' set the frame height to the larger height, so that - there is a retry while ignoring 'winfixheight'. (Yasuhiro - Matsumoto) -Files: src/window.c - -Patch 6.1.416 (depends on 6.1.366) -Problem: When using the Netbeans interface, a line with a sign cannot be - changed. -Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded - area. -Files: src/netbeans.c - -Patch 6.1.417 -Problem: Unprintable multi-byte characters are not handled correctly. - Multi-byte characters above 0xffff are displayed as another - character. -Solution: Handle unprintable multi-byte characters. Display multi-byte - characters above 0xffff with a marker. Recognize UTF-16 words and - BOM words as unprintable. (Daniel Elstner) -Files: src/charset.c, src/mbyte.c, src/screen.c - -Patch 6.1.418 -Problem: The result of strftime() is in the current locals. Need to - convert it to 'encoding'. -Solution: Obtain the current locale and convert the argument for strftime() - to it and the result back to 'encoding'. (Daniel Elstner) -Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c, - src/proto/mbyte.pro, src/option.c, src/os_mswin.c - -Patch 6.1.419 -Problem: Vim doesn't compile on AIX 5.1. -Solution: Don't define _NO_PROTO on this system. (Uribarri) -Files: src/auto/configure, src/configure.in - -Patch 6.1.420 (extra) -Problem: convert_input() has an unnecessary STRLEN(). - Conversion from UCS-2 to a codepage uses word count instead of - byte count. -Solution: Remove the STRLEN() call. (Daniel Elstner) - Always use byte count for string_convert(). -Files: src/gui_w32.c, src/mbyte.c - -Patch 6.1.421 (extra, depends on 6.1.354) -Problem: MS-Windows 9x: When putting text on the clipboard it can be in - the wrong encoding. -Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard) -Files: src/os_mswin.c - -Patch 6.1.422 -Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping - screens. (Neil Bird) -Solution: Set msg_didany also when sending a message to the terminal - directly. -Files: src/message.c - -Patch 6.1.423 -Problem: Can't find arbitrary text in help files. -Solution: Added the ":helpgrep" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, - src/proto/quickfix.pro, src/quickfix.c - -Patch 6.1.424 (extra) -Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show - menu items. -Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO. - (Muraoka Taro) -Files: src/Make_mvc.mak - -Patch 6.1.425 -Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag. -Solution: Do add the "help-tags" tag for that specific directory. -Files: src/ex_cmds.c - -Patch 6.1.426 -Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff) -Solution: Don't wait for the "+cmd" argument to have been edited. -Files: src/main.c - -Patch 6.1.427 -Problem: Several error messages for regexp patterns are not translated. -Solution: Use _() properly. (Muraoka Taro) -Files: src/regexp.c - -Patch 6.1.428 -Problem: FreeBSD: wait() may hang when compiled with Python support and - doing a system() call in a startup script. -Solution: Use waitpid() instead of wait() and poll every 10 msec, just like - what is done in the GUI. -Files: src/os_unix.c - -Patch 6.1.429 (depends on 6.1.390) -Problem: Crash when using showmarks.vim plugin. (Charles Campbell) -Solution: Check for sign_get_text() returning a NULL pointer. -Files: src/screen.c - -Patch 6.1.430 -Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai) -Solution: Skip over backslashed parens. -Files: src/search.c - -Patch 6.1.431 -Problem: Debug commands end up in redirected text. -Solution: Disable redirection while handling debug commands. -Files: src/ex_cmds2.c - -Patch 6.1.432 (depends on 6.1.375) -Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls) -Solution: Don't add backslashes, handle it like ":!cmd". -Files: src/ex_docmd.c - -Patch 6.1.433 -Problem: ":popup" only works for Win32. -Solution: Add ":popup" support for GTK. (Daniel Elstner) -Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c, - src/proto/gui_gtk.pro - -Patch 6.1.434 (extra) -Problem: Win32: When there are more than 32767 lines, the scrollbar has a - roundoff error. -Solution: Make a click on an arrow move one line. Also move the code to - gui_w48.c, there is hardly any difference between the 16 bit and - 32 bit versions. (Walter Briscoe) -Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.1.435 -Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew - Pimlott) -Solution: Give an error message for wrong arguments of ":winsize" and - ":winpos". -Files: src/ex_docmd.c - -Patch 6.1.436 -Problem: When a long UTF-8 file contains an illegal byte it's hard to find - out where it is. (Ron Aaron) -Solution: Add the line number to the error message. -Files: src/fileio.c - -Patch 6.1.437 (extra, depends on 6.1.421) -Problem: Using multi-byte functions when they are not available. -Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri) - Also fix a pointer type mistake. (Walter Briscoe) -Files: src/os_mswin.c - -Patch 6.1.438 -Problem: When Perl has thread support Vim cannot use the Perl interface. -Solution: Add a configure check and disable Perl when it will not work. - (Aron Griffis) -Files: src/auto/configure, src/configure.in - -Patch 6.1.439 -Problem: Netbeans: A "create" function doesn't actually create a buffer, - following functions may fail. -Solution: Create a Vim buffer without a name when "create" is called. - (Gordon Prieur) -Files: runtime/doc/netbeans.txt, src/netbeans.c - -Patch 6.1.440 -Problem: The "@*" command doesn't obtain the actual contents of the - clipboard. (Hari Krishna Dara) -Solution: Obtain the clipboard text before executing the command. -Files: src/ops.c - -Patch 6.1.441 -Problem: "zj" and "zk" cannot be used as a motion command after an - operator. (Ralf Hetzel) -Solution: Accept these commands as motion commands. -Files: src/normal.c - -Patch 6.1.442 -Problem: Unicode 3.2 defines more space and punctuation characters. -Solution: Add the new characters to the Unicode tables. (Raphael Finkel) -Files: src/mbyte.c - -Patch 6.1.443 (extra) -Problem: Win32: The gvimext.dll build with Borland 5.5 requires another - DLL. -Solution: Build a statically linked version by default. (Dan Sharp) -Files: GvimExt/Make_bc5.mak - -Patch 6.1.444 (extra) -Problem: Win32: Enabling a build with gettext support is not consistent. -Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp) -Files: src/Make_bc5.mak, src/Make_mvc.mak - -Patch 6.1.445 (extra) -Problem: DJGPP: get warning for argument of putenv() -Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe) -Files: src/os_msdos.h - -Patch 6.1.446 (extra) -Problem: Win32: The MingW makefile uses a different style of arguments than - other makefiles. - Dynamic IME is not supported for Cygwin. -Solution: Use "no" and "yes" style arguments. Remove the use of the - dyn-ming.h include file. (Dan Sharp) - Do not include the ime.h file and adjust the makefile. (Alejandro - Lopez-Valencia) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c, - src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c - -Patch 6.1.447 -Problem: "make install" uses "make" directly for generating help tags. -Solution: Use $(MAKE) instead of "make". (Tim Mooney) -Files: src/Makefile - -Patch 6.1.448 -Problem: 'titlestring' has a default maximum width of 50 chars per item. -Solution: Remove the default maximum (also for 'statusline'). -Files: src/buffer.c - -Patch 6.1.449 -Problem: When "1" and "a" are in 'formatoptions', auto-formatting always - moves a newly added character to the next line. (Servatius Brandt) -Solution: Don't move a single character to the next line when it was just - typed. -Files: src/edit.c - -Patch 6.1.450 -Problem: Termcap entry "kB" for back-tab is not recognized. -Solution: Use back-tab as the shift-tab code. -Files: src/keymap.h, src/misc2.c, src/term.c - -Patch 6.1.451 -Problem: GUI: When text in the find dialog contains a slash, a backslash is - inserted the next time it is opened. (Mezz) -Solution: Remove escaped backslashes and question marks. (Daniel Elstner) -Files: src/gui.c - -Patch 6.1.452 (extra, after 6.1.446) -Problem: Win32: IME support doesn't work for MSVC. -Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia) -Files: src/gui_w32.c - -Patch 6.1.453 (after 6.1.429) -Problem: When compiled without sign icons but with sign support, adding a - sign may cause a crash. -Solution: Check for the text sign to exist before using it. (Kamil - Burzynski) -Files: src/screen.c - -Patch 6.1.454 (extra) -Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251 - results in utf-8 bytes. (Perelyubskiy) - Conversion from DBCS to UCS2 does not work when 'encoding' is not - the active codepage. -Solution: Introduce enc_codepage and use it for conversion to 'encoding' - (Glenn Maynard) - Use MultiByteToWideChar() and WideCharToMultiByte() instead of - iconv(). Should do most needed conversions without iconv.dll. -Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c, - src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h - -Patch 6.1.455 -Problem: Some Unicode characters can be one or two character cells wide. -Solution: Add the 'ambiwidth' option to tell Vim how to display these - characters. (Jungshik Shin) - Also reset the script ID when setting an option to its default - value, so that ":verbose set" won't give wrong info. -Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h - -Patch 6.1.456 (extra, after 6.1.454) -Problem: Win32: IME doesn't work. -Solution: ImmGetCompositionStringW() returns the size in bytes, not words. - (Yasuhiro Matsumoto) Also fix typecast problem. -Files: src/gui_w32.c, src/os_mswin.c - -Patch 6.1.457 -Problem: An empty register in viminfo causes conversion to fail. -Solution: Don't convert an empty string. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c, src/mbyte.c - -Patch 6.1.458 -Problem: Compiler warning for pointer. -Solution: Add a typecast. -Files: src/ex_cmds.c - -Patch 6.1.459 (extra) -Problem: Win32: libcall() may return an invalid pointer and cause Vim to - crash. -Solution: Add a strict check for the returned pointer. (Bruce Mellows) -Files: src/os_mswin.c - -Patch 6.1.460 -Problem: GTK: after scrolling the text one line with a key, clicking the - arrow of the scrollbar does not always work. (Nam SungHyun) -Solution: Always update the scrollbar thumb when the value changed, even - when it would not move, like for RISCOS. (Daniel Elstner) -Files: src/gui.c, src/gui.h - -Patch 6.1.461 -Problem: When a keymap is active, typing a character in Select mode does - not use it. (Benji Fisher) -Solution: Apply Insert mode mapping to the character typed in Select mode. -Files: src/normal.c - -Patch 6.1.462 -Problem: When autocommands wipe out a buffer, a crash may happen. (Hari - Krishna Dara) -Solution: Don't decrement the window count of a buffer before calling the - autocommands for it. When re-using the current buffer, watch out - for autocommands changing the current buffer. -Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro - -Patch 6.1.463 -Problem: When writing a compressed file, the file name that gzip stores in - the file is the weird temporary file name. (David Rennalls) -Solution: Use the real file name when possible. -Files: runtime/plugin/gzip.vim - -Patch 6.1.464 -Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer) -Solution: Check for a negative index. -Files: src/syntax.c - -Patch 6.1.465 (after 6.1.454) -Problem: Compile error when using cygwin. -Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia) - Undefine WIN32 after including windows.h -Files: src/mbyte.c - -Patch 6.1.466 -Problem: The "-f" argument is a bit obscure. -Solution: Add the "--nofork" argument. Improve the help text a bit. -Files: runtime/doc/starting.txt, src/main.c - -Patch 6.1.467 -Problem: Setting the window title doesn't work for Chinese. -Solution: Use an X11 function to convert text to a text property. (Kentaro - Nakazawa) -Files: src/os_unix.c - -Patch 6.1.468 -Problem: ":mksession" also stores folds for buffers which will not be - restored. -Solution: Only store folds for a buffer with 'buftype' empty and help files. -Files: src/ex_docmd.c - -Patch 6.1.469 -Problem: 'listchars' cannot contain multi-byte characters. -Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff) -Files: src/message.c, src/option.c, src/screen.c - -Patch 6.1.470 (lang) -Problem: Polish messages don't show up correctly on MS-Windows. -Solution: Convert messages to cp1250. (Mikolaj Machowski) - Also add English message translations, because it got in the way - of the patch. -Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po - -Patch 6.1.471 -Problem: ":jumps" output continues after pressing "q" at the more-prompt. - (Hari Krishna Dara) -Solution: Check for "got_int" being set. -Files: src/mark.c - -Patch 6.1.472 -Problem: When there is an authentication error when connecting to the X - server Vim exits. -Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid - the exit. Also do this in the main loop, so that when the X - server exits a Vim running in a console isn't killed. -Files: src/globals.h, src/main.c, src/os_unix.c - -Patch 6.1.473 -Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash. -Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto) -Files: src/if_perl.xs - -Patch 6.1.474 -Problem: When opening the command-line window in Ex mode it's impossible to - go back. (Pavol Juhas) -Solution: Reset "exmode_active" and restore it when the command-line window - is closed. -Files: src/ex_getln.c - - -Patch 6.2f.001 -Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0. -Solution: Change the way the Ruby check is done. (Aron Griffis) -Files: src/auto/configure, src/configure.in - -Patch 6.2f.002 -Problem: The output of ":ls" doesn't show whether a buffer had read errors. -Solution: Add the "x" flag in the ":ls" output. -Files: runtime/doc/windows.txt, src/buffer.c - -Patch 6.2f.003 -Problem: Test49 doesn't properly test the behavior of ":catch" without an - argument. -Solution: Update test49. (Servatius Brandt) -Files: src/testdir/test49.ok, src/testdir/test49.vim - -Patch 6.2f.004 -Problem: "vim --version" always uses CR/LF in the output. -Solution: Omit the CR. -Files: src/message.c, src/os_unix.c - -Patch 6.2f.005 -Problem: Two error messages without a colon after the number. -Solution: Add the colon. (Taro Muraoka) -Files: src/if_cscope.c - -Patch 6.2f.006 -Problem: When saving a file takes a while and Vim regains focus this can - result in a "file changed outside of Vim" warning and ml_get() - errors. (Mike Williams) -Solution: Add the "b_saving" flag to avoid checking the timestamp while the - buffer is being saved. (Michael Schaap) -Files: src/fileio.c, src/structs.h - -Patch 6.2f.007 -Problem: Irix compiler complains about multiple defined symbols. - vsnprintf() is not available. (Charles Campbell) -Solution: Insert EXTERN for variables in globals.h. Change the configure - check for vsnprintf() from compiling to linking. -Files: src/auto/configure, src/configure.in, src/globals.h - -Patch 6.2f.008 -Problem: The Aap recipe doesn't work with Aap 0.149. -Solution: Change targetarg to TARGETARG. Update the mysign file. -Files: src/main.aap, src/mysign - -Patch 6.2f.009 (extra) -Problem: Small problem when building with Borland 5.01. -Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe) -Files: src/dosinst.h - -Patch 6.2f.010 -Problem: Warning for missing prototypes. -Solution: Add missing prototypes. (Walter Briscoe) -Files: src/if_cscope.c - -Patch 6.2f.011 -Problem: The configure script doesn't work with autoconf 2.5x. -Solution: Add square brackets around a header check. (Aron Griffis) - Note: touch src/auto/configure after applying this patch. -Files: src/configure.in - -Patch 6.2f.012 -Problem: ":echoerr" doesn't work correctly inside try/endtry. -Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt) -Files: src/eval.c - -Patch 6.2f.013 (extra) -Problem: Macintosh: Compiler warning for a trigraph. -Solution: Insert a backslash before each question mark. (Peter Cucka) -Files: src/os_mac.h - -Patch 6.2f.014 (extra) -Problem: Macintosh: ex_eval is not included in the project file. -Solution: Add ex_eval. (Dany St-Amant) -Files: src/os_mac.pbproj/project.pbxproj - -Patch 6.2f.015 (extra) -Problem: Win32: When changing header files not all source files involved - are recompiled. -Solution: Improve the dependency rules. (Dan Sharp) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 6.2f.016 -Problem: "vim --version > ff" on non-Unix systems results in a file with a - missing line break at the end. (Bill McCArthy) -Solution: Add a line break. -Files: src/main.c - -Patch 6.2f.017 -Problem: Unix: starting Vim in the background and then bringing it to the - foreground may cause the terminal settings to be wrong. -Solution: Check for tcsetattr() to return an error, retry when it does. - (Paul Tapper) -Files: src/os_unix.c - -Patch 6.2f.018 -Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses - one. Redefining it causes a warning message. -Solution: Undefine OK before defining it to one. (Taro Muraoka) -Files: src/vim.h - -Patch 6.2f.019 -Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in - curses.h. -Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE. -Files: src/ex_cmds2.c - -Patch 6.2f.020 -Problem: Win32: test50 produces beeps and fails with some versions of diff. -Solution: Remove empty lines and convert the output to dos fileformat. -Files: src/testdir/test50.in - -Patch 6.2f.021 -Problem: Running configure with "--enable-netbeans" disables Netbeans. - (Gordon Prieur) -Solution: Fix the tests in configure.in where the default is to enable a - feature. Fix that "--enable-acl" reported "yes" confusingly. -Files: src/auto/configure, src/configure.in, src/mysign - -Patch 6.2f.022 -Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a - hang. (Derek Wyatt) -Solution: Check for a non-empty string before and after the comma. -Files: src/option.c - -Patch 6.2f.023 -Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is - correct Vim still can't find the help files. -Solution: Also look for a tags file in the directory of 'helpfile'. -Files: src/tag.c - -Patch 6.2f.024 -Problem: When 'delcombine' is set and a character has more than two - composing characters "x" deletes them all. -Solution: Always delete only the last composing character. -Files: src/misc1.c - -Patch 6.2f.025 -Problem: When reading a file from stdin that has DOS line endings but a - missing end-of-line for the last line 'fileformat' becomes "unix". - (Bill McCarthy) -Solution: Don't add the missing line break when re-reading the text from the - buffer. -Files: src/fileio.c - -Patch 6.2f.026 -Problem: When typing new text at the command line, old composing characters - may be displayed. -Solution: Don't read composing characters from after the end of the - text to be displayed. -Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro, - src/screen.c - -Patch 6.2f.027 -Problem: Compiler warnings for unsigned char pointers. (Tony Leneis) -Solution: Add typecasts to char pointer. -Files: src/quickfix.c - -Patch 6.2f.028 -Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be - made active again. Cursor isn't updated immediately when changing - XIM activation. Japanese XIM may hang when using 'imactivatekey'. - Can't activate XIM after typing fFtT command or ":sh". -Solution: Properly set the flag that indicates the IM is active. Update the - cursor right away. Do not send a key-release event. Handle - Normal mode and running an external command differently. - (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.2f.029 -Problem: Mixing use of int and enum. -Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef. -Files: src/if_cscope.c, src/if_cscope.h - -Patch 6.2f.030 (after 6.2f.028) -Problem: Cursor moves up when using XIM. -Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.2f.031 -Problem: Crash when listing a function argument in the debugger. (Ron Aaron) -Solution: Init the name field of an argument to NULL. -Files: src/eval.c - -Patch 6.2f.032 -Problem: When a write fails for a ":silent!" while inside try/endtry the - BufWritePost autocommands are not triggered. -Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt) -Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim - -Patch 6.2f.033 -Problem: Cscope: re-entrance problem for ":cscope" command. Checking for - duplicate database didn't work well for Win95. Didn't check for - duplicate databases after an empty entry. -Solution: Don't set postponed_split too early. Remember first empty - database entry. (Sergey Khorev) -Files: src/if_cscope.c - -Patch 6.2f.034 -Problem: The netbeans interface cannot be used on systems without - vsnprintf(). (Tony Leneis) -Solution: Use EMSG(), EMSGN() and EMSG2() instead. -Files: src/auto/configure, src/configure.in, src/netbeans.c - -Patch 6.2f.035 -Problem: The configure check for the netbeans interface doesn't work if the - socket and nsl libraries are required. -Solution: Check for the socket and nsl libraries before the netbeans check. -Files: src/auto/configure, src/configure.in - -Patch 6.2f.036 -Problem: Moving leftwards over text with an illegal UTF-8 byte moves one - byte instead of one character. -Solution: Ignore an illegal byte after the cursor position. -Files: src/mbyte.c - -Patch 6.2f.037 -Problem: When receiving a Netbeans command at the hit-enter or more prompt - the screen is redrawn but Vim is still waiting at the prompt. -Solution: Quit the prompt like a CTRL-C was typed. -Files: src/netbeans.c - -Patch 6.2f.038 -Problem: The dependency to run autoconf causes a patch for configure.in - to run autoconf, even though the configure script was updated as - well. -Solution: Only run autoconf with "make autoconf". -Files: src/Makefile - -Patch 6.2f.039 -Problem: CTRL-W K makes the new top window very high. -Solution: When 'equalalways' is set equalize the window heights. -Files: src/window.c - - -============================================================================== -VERSION 6.3 *version-6.3* - -This section is about improvements made between version 6.2 and 6.3. - -This is mainly a bug-fix release. There are also a few new features. -The major number of new items is in the runtime files and translations. - - -Changed *changed-6.3* -------- - -The intro message also displays a note about sponsoring Vim, mixed randomly -with the message about helping children in Uganda. - -Included the translated menus, keymaps and tutors with the normal runtime -files. The separate "lang" archive now only contains translated messages. - -Made the translated menu file names a bit more consistent. Use "latin1" for -"iso_8859-1" and "iso_8859-15". - -Removed the "file_select.vim" script from the distribution. It's not more -useful than other scripts that can be downloaded from www.vim.org. - -The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows -it used to be dos fileformat, but ":helptags" generates a unix format file. - - -Added *added-6.3* ------ - -New commands: - :cNfile go to last error in previous file - :cpfile idem - :changes print the change list - :keepmarks following command keeps marks where they are - :keepjumps following command keeps jumplist and marks - :lockmarks following command keeps marks where they are - :redrawstatus force a redraw of the status line(s) - -New options: - 'antialias' Mac OS X: use smooth, antialiased fonts - 'helplang' preferred help languages - -Syntax files: - Arch inventory (Nikolai Weibull) - Calendar (Nikolai Weibull) - Ch (Wayne Cheng) - Controllable Regex Mutilator (Nikolai Weibull) - D (Jason Mills) - Desktop (Mikolaj Machowski) - Dircolors (Nikolai Weibull) - Elinks configuration (Nikolai Weibull) - FASM (Ron Aaron) - GrADS scripts (Stefan Fronzek) - Icewm menu (James Mahler) - LDIF (Zak Johnson) - Locale input, fdcc. (Dwayne Bailey) - Pinfo config (Nikolai Weibull) - Pyrex (Marco Barisione) - Relax NG Compact (Nikolai Weibull) - Slice (Morel Bodin) - VAX Macro Assembly (Tom Uijldert) - grads (Stefan Fronzek) - libao (Nikolai Weibull) - mplayer (Nikolai Weibull) - rst (Nikolai Weibull) - tcsh (Gautam Iyer) - yaml (Nikolai Weibull) - -Compiler plugins: - ATT dot (Marcos Macedo) - Apple Project Builder (Alexander von Below) - Intel (David Harrison) - bdf (Nikolai Weibull) - icc (Peter Puck) - javac (Doug Kearns) - neato (Marcos Macedo) - onsgmls (Robert B. Rowsome) - perl (Christian J. Robinson) - rst (Nikolai Weibull) - se (SmartEiffel) (Doug Kearns) - tcl (Doug Kearns) - xmlwf (Robert B. Rowsome) - -Filetype plugins: - Aap (Bram Moolenaar) - Ch (Wayne Cheng) - Css (Nikolai Weibull) - Pyrex (Marco Barisione) - Rst (Nikolai Weibull) - -Indent scripts: - Aap (Bram Moolenaar) - Ch (Wayne Cheng) - DocBook (Nikolai Weibull) - MetaPost (Eugene Minkovskii) - Objective-C (Kazunobu Kuriyama) - Pyrex (Marco Barisione) - Rst (Nikolai Weibull) - Tcsh (Gautam Iyer) - XFree86 configuration file (Nikolai Weibull) - Zsh (Nikolai Weibull) - -Keymaps: - Greek for cp1253 (Panagiotis Louridas) - Hungarian (Magyar) (Laszlo Zavaleta) - Persian-Iranian (Behnam Esfahbod) - -Message translations: - Catalan (Ernest Adrogue) - Russian (Vassily Ragosin) - Swedish (Johan Svedberg) - -Menu translations: - Catalan (Ernest Adrogue) - Russian (Tim Alexeevsky) - Swedish (Johan Svedberg) - -Tutor translations: - Catalan (Ernest Adrogue) - Russian in cp1251 (Alexey Froloff) - Slovak in cp1250 and iso8859-2 (Lubos Celko) - Swedish (Johan Svedberg) - Korean (Kee-Won Seo) - UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as - the original, create the other Japanese tutor by conversion. - -Included "russian.txt" help file. (Vassily Ragosin) - -Include Encapsulated PostScript and PDF versions of the Vim logo in the extra -archive. - -The help highlighting finds the highlight groups and shows them in the color -that is actually being used. (idea from Yakov Lerner) - -The big Win32 version is now compiled with Ruby interface, version 1.8. For -Python version 2.3 is used. For Perl version 5.8 is used. - -The "ftdetect" directory is mentioned in the documentation. The DOS install -program creates it. - - -Fixed *fixed-6.3* ------ - -Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options -here and there. (Walter Briscoe) - -The explorer plugin didn't work for double-byte 'encoding's. - -Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting. - -Patch 6.2.001 -Problem: The ":stopinsert" command doesn't have a help tag. -Solution: Add the tag. (Antoine J. Mechelynck) -Files: runtime/doc/insert.txt, runtime/doc/tags - -Patch 6.2.002 -Problem: When compiled with the +multi_byte feature but without +eval, - displaying UTF-8 characters may cause a crash. (Karsten Hopp) -Solution: Also set the default for 'ambiwidth' when compiled without the - +eval feature. -Files: src/option.c - -Patch 6.2.003 -Problem: GTK 2: double-wide characters below 256 are not displayed - correctly. -Solution: Check the cell width for characters above 127. (Yasuhiro - Matsumoto) -Files: src/gui_gtk_x11.c - -Patch 6.2.004 -Problem: With a line-Visual selection at the end of the file a "p" command - puts the text one line upwards. -Solution: Detect that the last line was deleted and put forward. (Taro - Muraoka) -Files: src/normal.c - -Patch 6.2.005 -Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin - Marsman) -Solution: Show the dialog after creating it. (David Necas) -Files: src/gui_gtk.c - -Patch 6.2.006 -Problem: The Netbeans code contains an obsolete function that uses "vim61" - and sets the fall-back value for $VIMRUNTIME. -Solution: Delete the obsolete function. -Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro - -Patch 6.2.007 -Problem: Listing tags for Cscope doesn't always work. -Solution: Avoid using smgs_attr(). (Sergey Khorev) -Files: src/if_cscope.c - -Patch 6.2.008 -Problem: XIM with GTK 2: After backspacing preedit characters are wrong. -Solution: Reset the cursor position. (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.2.009 -Problem: Win32: The self-installing executable "Full" selection only - selects some of the items to install. (Salman Mohsin) -Solution: Change commas to spaces in between section numbers. -Files: nsis/gvim.nsi - -Patch 6.2.010 -Problem: When 'virtualedit' is effective and a line starts with a - multi-byte character, moving the cursor right doesn't work. -Solution: Obtain the right character to compute the column offset. (Taro - Muraoka) -Files: src/charset.c - -Patch 6.2.011 -Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway. - (Moshe Kaminsky) -Solution: Move the #ifdef outside of stat(). -Files: src/os_unix.c - -Patch 6.2.012 -Problem: May hang when polling for a character. -Solution: Break the wait loop when not waiting for a character. -Files: src/os_unix.c - -Patch 6.2.013 (extra) -Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1". -Solution: Change the version number to "6.2". (Ajit Thakkar) -Files: src/GvimExt/GvimExt.reg - -Patch 6.2.014 (after 6.2.012) -Problem: XSMP doesn't work when using poll(). -Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird) -Files: src/os_unix.c - -Patch 6.2.015 -Problem: The +xsmp feature is never enabled. -Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined. - (Alexey Froloff) -Files: src/feature.h - -Patch 6.2.016 -Problem: Using ":scscope find" with 'cscopequickfix' does not always split - the window. (Gary Johnson) - Win32: ":cscope add" could make the script that contains it - read-only until the corresponding ":cscope kill". - Errors during ":cscope add" may not be handled properly. -Solution: When using the quickfix window may need to split the window. - Avoid file handle inheritance for the script. - Check for a failed connection and/or process. (Sergey Khorev) -Files: src/ex_cmds2.c, src/if_cscope.c - -Patch 6.2.017 -Problem: Test11 sometimes prompts the user, because a file would have been - changed outside of Vim. (Antonio Colombo) -Solution: Add a FileChangedShell autocommand to avoid the prompt. -Files: src/testdir/test11.in - -Patch 6.2.018 -Problem: When using the XSMP protocol and reading from stdin Vim may wait - for a key to be pressed. -Solution: Avoid that RealWaitForChar() is used recursively. -Files: src/os_unix.c - -Patch 6.2.019 (lang) -Problem: Loading the Portuguese menu causes an error message. -Solution: Join two lines. (Jose Pedro Oliveira, José de Paula) -Files: runtime/lang/menu_pt_br.vim - -Patch 6.2.020 -Problem: The "Syntax/Set syntax only" menu item causes an error message. - (Oyvind Holm) -Solution: Set the script-local variable in a function. (Benji Fisher) -Files: runtime/synmenu.vim - -Patch 6.2.021 -Problem: The user manual section on exceptions contains small mistakes. -Solution: Give a good example of an error that could be missed and other - improvements. (Servatius Brandt) -Files: runtime/doc/usr_41.txt - -Patch 6.2.022 (extra) -Problem: Win32: After deleting a menu item it still appears in a tear-off - window. -Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.2.023 (extra) -Problem: Win32: Make_ivc.mak does not clean everything. -Solution: Delete more files in the clean rule. (Walter Briscoe) -Files: src/Make_ivc.mak - -Patch 6.2.024 (extra) -Problem: Win32: Compiler warnings for typecasts. -Solution: Use DWORD instead of WORD. (Walter Briscoe) -Files: src/gui_w32.c - -Patch 6.2.025 -Problem: Missing prototype for sigaltstack(). -Solution: Add the prototype when it is not found in a header file. -Files: src/os_unix.c - -Patch 6.2.026 -Problem: Warning for utimes() argument. -Solution: Add a typecast. -Files: src/fileio.c - -Patch 6.2.027 -Problem: Warning for uninitialized variable. -Solution: Set mb_l to one when not using multi-byte characters. -Files: src/message.c - -Patch 6.2.028 -Problem: Cscope connection may kill Vim process and others. -Solution: Check for pid being larger than one. (Khorev Sergey) -Files: src/if_cscope.c - -Patch 6.2.029 -Problem: When using the remote server functionality Vim may leak memory. - (Srikanth Sankaran) -Solution: Free the result of XListProperties(). -Files: src/if_xcmdsrv.c - -Patch 6.2.030 -Problem: Mac: Warning for not being able to use precompiled header files. -Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that - function prototypes are still found. -Files: src/os_unix.c, src/osdef.sh - -Patch 6.2.031 -Problem: The langmenu entry in the options window doesn't work. (Rodolfo - Lima) - With GTK 1 the ":options" command causes an error message. - (Michael Naumann) -Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for - GTK 2. -Files: runtime/optwin.vim - -Patch 6.2.032 -Problem: The lpc filetype is never recognized. (Shizhu Pan) -Solution: Check for g:lpc_syntax_for_c instead of the local variable - lpc_syntax_for_c. (Benji Fisher) -Files: runtime/filetype.vim - -Patch 6.2.033 (extra) -Problem: Mac: Various compiler warnings. -Solution: Don't include Classic-only headers in Unix version. - Remove references to several unused variables. (Ben Fowler) - Fix double definition of DEFAULT_TERM. - Use int instead of unsigned short for pixel values, so that the - negative error values are recognized. -Files: src/gui_mac.c, src/term.c - -Patch 6.2.034 -Problem: Mac: Compiler warning for redefining DEFAULT_TERM. -Solution: Fix double definition of DEFAULT_TERM. -Files: src/term.c - -Patch 6.2.035 -Problem: Mac: Compiler warnings in Python interface. -Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka) -Files: src/if_python.c - -Patch 6.2.036 (extra) -Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should - expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin) -Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher) -Files: src/os_mac.h - -Patch 6.2.037 -Problem: Win32: converting an encoding name to a codepage could result in - an arbitrary number. -Solution: make encname2codepage() return zero if the encoding name doesn't - contain a codepage number. -Files: src/mbyte.c - -Patch 6.2.038 (extra) -Problem: Warning messages when using the MingW compiler. (Bill McCarthy) - Can't compile console version without +mouse feature. -Solution: Initialize variables, add parenthesis. - Add an #ifdef around g_nMouseClick. (Ajit Thakkar) -Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c - -Patch 6.2.039 (extra) -Problem: More warning messages when using the MingW compiler. -Solution: Initialize variables. (Bill McCarthy) -Files: src/os_mswin.c - -Patch 6.2.040 -Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature. -Solution: Pass a non-NULL argument to IceAddConnectionWatch(). -Files: src/os_unix.c - -Patch 6.2.041 (extra, after 6.2.033) -Problem: Mac: Compiler warnings for conversion types, missing prototype, - missing return type. -Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add - gui_mch_init_check() prototype. Add "int" to termlib functions. -Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c. - -Patch 6.2.042 (extra) -Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a - crash. -Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp) -Files: src/Make_cyg.mak - -Patch 6.2.043 -Problem: Compiling with both netbeans and workshop doesn't work. -Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur) -Files: src/gui_x11.c, src/integration.c, src/netbeans.c, - src/proto/netbeans.pro - -Patch 6.2.044 -Problem: ":au filetypedetect" gives an error for a non-existing event name, - but it's actually a non-existing group name. (Antoine Mechelynck) -Solution: Make the error message clearer. -Files: src/fileio.c - -Patch 6.2.045 -Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway) -Solution: Don't set the '' mark when searching for the start/end of the - current sentence/paragraph. -Files: src/mark.c - -Patch 6.2.046 -Problem: When evaluating an argument of a function throws an exception the - function is still called. (Hari Krishna Dara) -Solution: Don't call the function when an exception was thrown. -Files: src/eval.c - -Patch 6.2.047 (extra) -Problem: Compiler warnings when using MingW. (Bill McCarthy) -Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime. -Files: src/os_win32.c - -Patch 6.2.048 -Problem: The Python interface doesn't compile with Python 2.3 when - dynamically loaded. -Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore) -Files: src/if_python.c - -Patch 6.2.049 -Problem: Using a "-range=" argument with ":command" doesn't work and - doesn't generate an error message. -Solution: Generate an error message. -Files: src/ex_docmd.c - -Patch 6.2.050 -Problem: Test 32 didn't work on MS-Windows. -Solution: Write the temp file in Unix fileformat. (Walter Briscoe) -Files: src/testdir/test32.in - -Patch 6.2.051 -Problem: When using "\=submatch(0)" in a ":s" command, line breaks become - NUL characters. -Solution: Change NL to CR characters, so that they become line breaks. -Files: src/regexp.c - -Patch 6.2.052 -Problem: A few messages are not translated. -Solution: Add _() to the messages. (Muraoka Taro) -Files: src/ex_cmds.c - -Patch 6.2.053 -Problem: Prototype for bzero() doesn't match most systems. -Solution: Use "void *" instead of "char *" and "size_t" instead of "int". -Files: src/osdef1.h.in - -Patch 6.2.054 -Problem: A double-byte character with a second byte that is a backslash - causes problems inside a string. -Solution: Skip over multi-byte characters in a string properly. (Yasuhiro - Matsumoto) -Files: src/eval.c - -Patch 6.2.055 -Problem: Using col('.') from CTRL-O in Insert mode does not return the - correct value for multi-byte characters. -Solution: Correct the cursor position when it is necessary, move to the - first byte of a multi-byte character. (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 6.2.056 (extra) -Problem: Building with Sniff++ doesn't work. -Solution: Use the multi-threaded libc when needed. (Holger Ditting) -Files: src/Make_mvc.mak - -Patch 6.2.057 (extra) -Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system - library. Get a warning for redefining OK. Unused variables in - os_mac.c -Solution: Define HAVE_PUTENV. Undefine OK after including curses.h. - Remove declarations for unused variables. -Files: src/os_mac.c, src/os_mac.h, src/vim.h - -Patch 6.2.058 -Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes - a crash. -Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro - Muraoka) -Files: src/buffer.c - -Patch 6.2.059 -Problem: When 'scrolloff' is a large number and listing completion results - on the command line, then executing a command that jumps close to - where the cursor was before, part of the screen is not updated. - (Yakov Lerner) -Solution: Don't skip redrawing part of the window when it was scrolled. -Files: src/screen.c - -Patch 6.2.060 (extra) -Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from - the clipboard gives a lalloc(0) error. (Kriton Kyrimis) -Solution: When the string length is zero allocate one byte. Also fix that - when the length of the Unicode text is zero (conversion from - 'encoding' to UCS-2 was not possible) the normal text is used. -Files: src/os_mswin.c - -Patch 6.2.061 -Problem: GUI: Using the left mouse button with the shift key should work - like "*" but it scrolls instead. (Martin Beller) -Solution: Don't recognize an rxvt scroll wheel event when using the GUI. -Files: src/term.c - -Patch 6.2.062 -Problem: When one buffer uses a syntax with "containedin" and another - buffer does not, redrawing depends on what the current buffer is. - (Brett Pershing Stahlman) -Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin - flag. -Files: src/syntax.c - -Patch 6.2.063 -Problem: When using custom completion end up with no matches. -Solution: Make cmd_numfiles and cmd_files local to completion to avoid that - they are overwritten when ExpandOne() is called recursively by - f_glob(). -Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro, - src/misc1.c, src/structs.h, src/tag.c - -Patch 6.2.064 -Problem: resolve() only handles one symbolic link, need to repeat it to - resolve all of them. Then need to simplify the file name. -Solution: Make resolve() resolve all symbolic links and simplify the result. - Add simplify() to just simplify a file name. Fix that test49 - doesn't work if /tmp is a symbolic link. (Servatius Brandt) -Files: runtime/doc/eval.txt, src/eval.c, src/tag.c, - src/testdir/test49.vim - -Patch 6.2.065 -Problem: ":windo 123" only updates other windows when entering them. - (Walter Briscoe) -Solution: Update the topline before going to the next window. -Files: src/ex_cmds2.c - -Patch 6.2.066 (extra) -Problem: Ruby interface doesn't work with Ruby 1.8.0. -Solution: Change "defout" to "stdout". (Aron Griffis) - Change dynamic loading. (Taro Muraoka) -Files: src/if_ruby.c, src/Make_mvc.mak - -Patch 6.2.067 -Problem: When searching for a string that starts with a composing character - the command line isn't drawn properly. -Solution: Don't count the space to draw the composing character on and - adjust the cursor column after drawing the string. -Files: src/message.c - -Patch 6.2.068 -Problem: Events for the netbeans interface that include a file name with - special characters don't work properly. -Solution: Use nb_quote() on the file name. (Sergey Khorev) -Files: src/netbeans.c - -Patch 6.2.069 (after 6.2.064) -Problem: Unused variables "limit" and "new_st" and unused label "fail" in - some situation. (Bill McCarthy) -Solution: Put the declarations inside an #ifdef. (Servatius Brandt) -Files: src/eval.c, src/tag.c - -Patch 6.2.070 (after 6.2.069) -Problem: Still unused variable "new_st". (Bill McCarthy) -Solution: Move the declaration to the right block this time. -Files: src/tag.c - -Patch 6.2.071 -Problem: 'statusline' can only contain 50 % items. (Antony Scriven) -Solution: Allow 80 items and mention it in the docs. -Files: runtime/doc/option.txt, src/vim.h - -Patch 6.2.072 -Problem: When using expression folding, foldexpr() mostly returns -1 for - the previous line, which makes it difficult to write a fold - expression. -Solution: Make the level of the previous line available while still looking - for the end of a fold. -Files: src/fold.c - -Patch 6.2.073 -Problem: When adding detection of a specific filetype for a plugin you need - to edit "filetype.vim". -Solution: Source files from the "ftdetect" directory, so that a filetype - detection plugin only needs to be dropped in a directory. -Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt, - runtime/doc/usr_41.txt, runtime/filetype.vim - -Patch 6.2.074 -Problem: Warnings when compiling the Python interface. (Ajit Thakkar) -Solution: Use ANSI function declarations. -Files: src/if_python.c - -Patch 6.2.075 -Problem: When the temp file for writing viminfo can't be used "NULL" - appears in the error message. (Ben Lavender) -Solution: Print the original file name when there is no temp file name. -Files: src/ex_cmds.c - -Patch 6.2.076 -Problem: The tags listed for cscope are in the wrong order. (Johannes - Stezenbach) -Solution: Remove the reordering of tags for the current file. (Sergey - Khorev) -Files: src/if_cscope.c - -Patch 6.2.077 -Problem: When a user function specifies custom completion, the function - gets a zero argument instead of an empty string when there is no - word before the cursor. (Preben Guldberg) -Solution: Don't convert an empty string to a zero. -Files: src/eval.c - -Patch 6.2.078 -Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis) -Solution: Build Vim before running the tests. -Files: src/Makefile - -Patch 6.2.079 -Problem: ":w ++enc=utf-8 !cmd" doesn't work. -Solution: Check for the "++" argument before the "!". -Files: src/ex_docmd.c - -Patch 6.2.080 -Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in - an unmodified file doesn't clear the last line. -Solution: Call msg_clr_eos() when needed. (Michael Schroeder) -Files: src/os_unix.c - -Patch 6.2.081 -Problem: Problem when using a long multibyte string for the statusline. -Solution: Use the right pointer to get the cell size. (Taro Muraoka) -Files: src/buffer.c - -Patch 6.2.082 -Problem: Can't compile with Perl 5.8.1. -Solution: Rename "e_number" to "e_number_exp". (Sascha Blank) -Files: src/digraph.c, src/globals.h - -Patch 6.2.083 -Problem: When a compiler uses ^^^^ to mark a word the information is not - visible in the quickfix window. (Srikanth Sankaran) -Solution: Don't remove the indent for a line that is not recognized as an - error message. -Files: src/quickfix.c - -Patch 6.2.084 -Problem: "g_" in Visual mode always goes to the character after the line. - (Jean-Rene David) -Solution: Ignore the NUL at the end of the line. -Files: src/normal.c - -Patch 6.2.085 -Problem: ":verbose set ts" doesn't say an option was set with a "-c" or - "--cmd" argument. -Solution: Remember the option was set from a Vim argument. -Files: src/main.c, src/ex_cmds2.c, src/vim.h - -Patch 6.2.086 -Problem: "{" and "}" stop inside a closed fold. -Solution: Only stop once inside a closed fold. (Stephen Riehm) -Files: src/search.c - -Patch 6.2.087 -Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with - ":bnext". (Yakov Lerner) -Solution: Put up a dialog for a changed file when 'confirm' is set in more - situations. -Files: src/buffer.c, src/ex_cmds.c - -Patch 6.2.088 -Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if - the match is less than 'sidescrolloff' off from the side of the - window. (Roland Stahn) -Solution: Set 'sidescrolloff' to zero while displaying the match. -Files: src/search.c - -Patch 6.2.089 -Problem: ":set isk+=" adds a comma. (Mark Waggoner) -Solution: Don't add a comma when the added value is empty. -Files: src/option.c - -Patch 6.2.090 (extra) -Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy) -Solution: Put an #ifdef around the #pragmas. -Files: src/os_win32.c - -Patch 6.2.091 -Problem: When an autocommand is triggered when a file is dropped on Vim and - it produces output, messages from a following command may be - scrolled unexpectedly. (David Rennalls) -Solution: Save and restore msg_scroll in handle_drop(). -Files: src/ex_docmd.c - -Patch 6.2.092 -Problem: Invalid items appear in the help file tags. (Antonio Colombo) -Solution: Only accept tags with white space before the first "*". -Files: runtime/doc/doctags.c, src/ex_cmds.c - -Patch 6.2.093 -Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau) -Solution: Check the second command character for an "o", not the third. -Files: src/menu.c - -Patch 6.2.094 -Problem: Can't compile with GTK and tiny features. -Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined. - Do not try to split the window. -Files: src/ex_docmd.c, src/misc2.c - -Patch 6.2.095 -Problem: The message "Cannot go to buffer x" is confusing for ":buf 6". - (Frans Englich) -Solution: Make it "Buffer x does not exist". -Files: src/buffer.c - -Patch 6.2.096 -Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus - Bosau) -Solution: Put zero bytes on the clipboard for an empty string. -Files: src/ops.c - -Patch 6.2.097 -Problem: Setting or resetting 'insertmode' in a BufEnter autocommand - doesn't always have immediate effect. (Nagger) -Solution: When 'insertmode' is set, set need_start_insertmode, when it's - reset set stop_insert_mode. -Files: src/option.c - -Patch 6.2.098 (after 6.2.097) -Problem: Can't build Vim with tiny features. (Christian J. Robinson) -Solution: Declare stop_insert_mode always. -Files: src/edit.c, src/globals.h - -Patch 6.2.099 (extra) -Problem: Test 49 fails. (Mikolaj Machowski) -Solution: The Polish translation must not change "E116" to "R116". -Files: src/po/pl.po - -Patch 6.2.100 -Problem: "make proto" fails when compiled with the Perl interface. -Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option. -Files: src/auto/configure, src/configure.in - -Patch 6.2.101 -Problem: When using syntax folding, opening a file slows down a lot when - it's size increases by only 20%. (Gary Johnson) -Solution: The array with cached syntax states is leaking entries. After - cleaning up the list obtain the current entry again. -Files: src/syntax.c - -Patch 6.2.102 -Problem: The macros equal() and CR conflict with a Carbon header file. -Solution: Rename equal() to equalpos(). Rename CR to CAR. - Do this in the non-extra files only. -Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c, - src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c, - src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c, - src/gui_motif.c, src/macros.h, src/mark.c, src/message.c, - src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c, - src/regexp.c, src/search.c, src/ui.c, src/workshop.c - -Patch 6.2.103 (extra) -Problem: The macros equal() and CR conflict with a Carbon header file. -Solution: Rename equal() to equalpos(). Rename CR to CAR. - Do this in the extra files only. -Files: src/gui_photon.c, src/gui_w48.c - -Patch 6.2.104 -Problem: Unmatched braces in the table with options. -Solution: Move the "}," outside of the #ifdef. (Yakov Lerner) -Files: src/option.c - -Patch 6.2.105 -Problem: When the cursor is past the end of the line when calling - get_c_indent() a crash might occur. -Solution: Don't look past the end of the line. (NJ Verenini) -Files: src/misc1.c - -Patch 6.2.106 -Problem: Tag searching gets stuck on a very long line in the tags file. -Solution: When skipping back to search the first matching tag remember the - offset where searching started looking for a line break. -Files: src/tag.c - -Patch 6.2.107 (extra) -Problem: The NetBeans interface cannot be used on Win32. -Solution: Add support for the NetBeans for Win32. Add support for reading - XPM files on Win32. Also fixes that a sign icon with a space in - the file name did not work through the NetBeans interface. - (Sergey Khorev) - Also: avoid repeating error messages when the connection is lost. -Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak, - src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h, - src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c, - src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h, - src/proto/gui_beval.pro, src/proto/gui_w32.pro, - src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h, - src/xpm_w32.c, src/xpm_w32.h - -Patch 6.2.108 -Problem: Crash when giving a message about ignoring case in a tag. (Manfred - Kuehn) -Solution: Use a longer buffer for the message. -Files: src/tag.c - -Patch 6.2.109 -Problem: Compiler warnings with various Amiga compilers. -Solution: Add typecast, prototypes, et al. that are also useful for other - systems. (Flavio Stanchina) -Files: src/eval.c, src/ops.c - -Patch 6.2.110 -Problem: When $LANG includes the encoding, a menu without an encoding name - is not found. -Solution: Also look for a menu file without any encoding. -Files: runtime/menu.vim - -Patch 6.2.111 -Problem: Encoding "cp1251" is not recognized. -Solution: Add "cp1251" to the table of encodings. (Alexey Froloff) -Files: src/mbyte.c - -Patch 6.2.112 -Problem: After applying patches test32 fails. (Antonio Colombo) -Solution: Have "make clean" in the testdir delete *.rej and *.orig files. - Use this when doing "make clean" in the src directory. -Files: src/Makefile, src/testdir/Makefile - -Patch 6.2.113 -Problem: Using ":startinsert" after "$" works like "a" instead of "i". - (Ajit Thakkar) -Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit(). -Files: src/edit.c, src/ex_docmd.c - -Patch 6.2.114 -Problem: When stdout is piped through "tee", the size of the screen may not - be correct. -Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and - stdout isn't. -Files: src/os_unix.c - -Patch 6.2.115 (extra) -Problem: Compiler warnings with various Amiga compilers. -Solution: Add typecast, prototypes, et al. Those changes that are - Amiga-specific. (Flavio Stanchina) -Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h, - src/vim.h - -Patch 6.2.116 (extra) -Problem: German keyboard with Numlock set different from system startup - causes problems. -Solution: Ignore keys with code 0xff. (Helmut Stiegler) -Files: src/gui_w48.c - -Patch 6.2.117 -Problem: Breakpoints in loops of sourced files and functions are not - detected. (Hari Krishna Dara) -Solution: Check for breakpoints when using lines that were previously read. - (Servatius Brandt) -Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro, - src/proto/ex_cmds2.pro - -Patch 6.2.118 (extra) -Problem: Mac: Compiling is done in a non-standard way. -Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI" - to Makefile and configure. (Eric Kow) - Move a few prototypes from os_mac.pro to gui_mac.pro. -Files: src/Makefile, src/auto/configure, src/configure.in, - src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c, - src/proto/gui_mac.pro, src/proto/os_mac.pro, - src/infplist.xml, src/vim.h - -Patch 6.2.119 (after 6.2.107) -Problem: When packing the MS-Windows archives a few files are missing. - (Guopeng Wen) -Solution: Add gui_beval.* to the list of generic source files. -Files: Makefile - -Patch 6.2.120 -Problem: Win32 GUI: The console dialogs are not supported on MS-Windows, - disabling the 'c' flag of 'guioptions'. (Servatius Brandt) -Solution: Define FEAT_CON_DIALOG also for GUI-only builds. -Files: src/feature.h - -Patch 6.2.121 (after 6.2.118) -Problem: Not all make programs support "+=". (Charles Campbell) -Solution: Use a normal assignment. -Files: src/Makefile - -Patch 6.2.122 (after 6.2.119) -Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen) -Solution: Use a simpler pattern. Add the Aap recipe for the maze program - and a clean version of the source code. -Files: Makefile, runtime/macros/maze/Makefile, - runtime/macros/maze/README.txt, runtime/macros/maze/main.aap, - runtime/macros/maze/mazeclean.c - -Patch 6.2.123 (after 6.2.118) -Problem: Running configure fails. (Tony Leneis) -Solution: Change "==" to "=" for a test. -Files: src/auto/configure, src/configure.in - -Patch 6.2.124 (after 6.2.121)(extra) -Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim - directly it can't find the runtime files. (Emily Jackson) - Using GNU constructs causes warnings with other make programs. - (Ronald Schild) -Solution: Use another name for the M4FLAGS variable. - Don't remove "Vim.app" from the path. - Update the explanation for compiling on the Mac. (Eric Kow) - Don't use $(shell ) and $(addprefix ). -Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c - -Patch 6.2.125 (after 6.2.107) -Problem: The "winsock2.h" file isn't always available. -Solution: Don't include this header file. -Files: src/netbeans.c - -Patch 6.2.126 -Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception. -Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set - in _OnChar(). -Files: src/misc1.c - -Patch 6.2.127 (extra) -Problem: Win32 console: Typing CTRL-C doesn't throw an exception. -Solution: Set got_int immediately when CTRL-C is typed, don't wait for - mch_breakcheck() being called. -Files: src/os_win32.c - -Patch 6.2.128 (after 6.2.118) -Problem: src/auto/configure is not consistent with src/configure.in. -Solution: Use the newly generated configure script. -Files: src/auto/configure - -Patch 6.2.129 -Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible. - (Yasuhiro Matsumoto) -Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn' - and similar things. -Files: src/edit.c - -Patch 6.2.130 (extra) -Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes - the screen to be cleared. (Michael A. Mangino) -Solution: Don't clear the screen when exiting and 'restorescreen' isn't set. -Files: src/os_win32.c - -Patch 6.2.131 (extra) -Problem: Win32: Font handles are leaked. -Solution: Free italic, bold and bold-italic handles before overwriting them. - (Michael Wookey) -Files: src/gui_w48.c - -Patch 6.2.132 (extra) -Problem: Win32: console version doesn't work on latest Windows Server 2003. -Solution: Copy 12000 instead of 15000 cells at a time to avoid running out - of memory. -Files: src/os_win32.c - -Patch 6.2.133 -Problem: When starting the GUI a bogus error message about 'imactivatekey' - may be given. -Solution: Only check the value of 'imactivatekey' when the GUI is running. -Files: src/gui.c, src/option.c - -Patch 6.2.134 (extra) -Problem: Win32: When scrolling parts of the window are redrawn when this - isn't necessary. -Solution: Only invalidate parts of the window when they are obscured by - other windows. (Michael Wookey) -Files: src/gui_w48.c - -Patch 6.2.135 -Problem: An item <> in the ":command" argument is interpreted as <args>. -Solution: Avoid that <> is recognized as <args>. -Files: src/ex_docmd.c - -Patch 6.2.136 -Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't - exist. (Miroslaw Dobrzanski-Neumann) -Solution: Set 'fileencoding' to the specified encoding when editing a file - that does not exist. -Files: src/fileio.c - -Patch 6.2.137 -Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%" - when using the matchit plugin. -Solution: Store the command to be repeated. This is restricted to - single-line commands. -Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h - -Patch 6.2.138 (extra) -Problem: Compilation problem on VMS with dynamic buffer on the stack. -Solution: Read one byte less than the size of the buffer, so that we can - check for the string length without an extra buffer. -Files: src/os_vms.c - -Patch 6.2.139 -Problem: Code is repeated in the two Perl files. -Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h. - Also fix a problem with generating prototypes. -Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h - -Patch 6.2.140 (after 6.2.121) -Problem: Mac: Compiling with Python and Perl doesn't work. -Solution: Adjust the configure check for Python to use "-framework Python" - for Python 2.3 on Mac OS/X. - Move "-ldl" after "DynaLoader.a" in the link command. - Change "perllibs" to "PERL_LIBS". -Files: src/auto/configure, src/configure.in, src/config.mk.in - -Patch 6.2.141 (extra) -Problem: Mac: The b_FSSpec field is sometimes unused. -Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h -Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h - -Patch 6.2.142 (after 6.2.124) -Problem: Mac: building without GUI through configure doesn't work. - When the system is slow, unpacking the resource file takes too - long. -Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it - in the Makefile. - Add a configure option to skip Darwin detection. - Use a Python script to unpack the resources to avoid a race - condition. (Taro Muraoka) -Files: Makefile, src/Makefile, src/auto/configure, src/configure.in, - src/dehqx.py, src/vim.h - -Patch 6.2.143 -Problem: Using "K" on Visually selected text doesn't work if it ends in - a multi-byte character. -Solution: Include all the bytes of the last character. (Taro Muraoka) -Files: src/normal.c - -Patch 6.2.144 -Problem: When "g:html_use_css" is set the HTML header generated by the - 2html script is wrong. -Solution: Add the header after adding HREF for links. - Also use ":normal!" instead of ":normal" to avoid mappings - getting in the way. -Files: runtime/syntax/2html.vim - -Patch 6.2.145 (after 6.2.139) -Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz) -Solution: Only undefine "bool" on Mac OS. -Files: src/vim.h - -Patch 6.2.146 -Problem: On some systems the prototype for iconv() is wrong, causing a - warning message. -Solution: Use a cast (void *) to avoid the warning. (Charles Campbell) -Files: src/fileio.c, src/mbyte.c - -Patch 6.2.147 -Problem: ":s/pat/\=col('.')" always replaces with "1". -Solution: Set the cursor to the start of the match before substituting. - (Helmut Stiegler) -Files: src/ex_cmds.c - -Patch 6.2.148 -Problem: Can't break an Insert into several undoable parts. -Solution: Add the CTRL-G u command. -Files: runtime/doc/insert.txt, src/edit.c - -Patch 6.2.149 -Problem: When the cursor is on a line past 21,474,748 the indicated - percentage of the position is invalid. With that many lines - "100%" causes a negative cursor line number, resulting in a crash. - (Daniel Goujot) -Solution: Divide by 100 instead of multiplying. Avoid overflow when - computing the line number for "100%". -Files: src/buffer.c, src/ex_cmds2.c, src/normal.c - -Patch 6.2.150 -Problem: When doing "vim - < file" lines are broken at NUL chars. - (Daniel Goujot) -Solution: Change NL characters back to NUL when reading from the temp - buffer. -Files: src/fileio.c - -Patch 6.2.151 -Problem: When doing "vim --remote +startinsert file" some commands are - inserted as text. (Klaus Bosau) -Solution: Put all the init commands in one Ex line, not using a <CR>, so - that Insert mode isn't started too early. -Files: src/main.c - -Patch 6.2.152 -Problem: The cursor() function doesn't reset the column offset for - 'virtualedit'. -Solution: Reset the offset to zero. (Helmut Stiegler) -Files: src/eval.c - -Patch 6.2.153 -Problem: Win32: ":lang german" doesn't use German messages. -Solution: Add a table to translate the Win32 language names to two-letter - language codes. -Files: src/ex_cmds2.c - -Patch 6.2.154 -Problem: Python bails out when giving a warning message. (Eugene - Minkovskii) -Solution: Set sys.argv[] to an empty string. -Files: src/if_python.c - -Patch 6.2.155 -Problem: Win32: Using ":tjump www" in a help file gives two results. - (Dave Roberts) -Solution: Ignore differences between slashes and backslashes when checking - for identical tag matches. -Files: src/tag.c - -Patch 6.2.156 (after 6.2.125) -Problem: Win32: Netbeans fails to build, EINTR is not defined. -Solution: Redefine EINTR to WSAEINTR. (Mike Williams) -Files: src/netbeans.c - -Patch 6.2.157 -Problem: Using "%p" in 'errorformat' gives a column number that is too - high. -Solution: Set the flag to use the number as a virtual column. (Lefteris - Koutsoloukas) -Files: src/quickfix.c - -Patch 6.2.158 -Problem: The sed command on Solaris and HPUX doesn't work for a line that - doesn't end in a newline. -Solution: Add a newline when feeding text to sed. (Mark Waggoner) -Files: src/configure.in, src/auto/configure - -Patch 6.2.159 -Problem: When using expression folding and 'foldopen' is "undo" an undo - command doesn't always open the fold. -Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'. - (Taro Muraoka) -Files: src/fold.c - -Patch 6.2.160 -Problem: When 'virtualedit' is "all" and 'selection' is "exclusive", - selecting a double-width character below a single-width character - may cause a crash. -Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka) -Files: src/normal.c - -Patch 6.2.161 (extra) -Problem: VMS: Missing header file. Reading input busy loops. -Solution: Include termdef.h. Avoid the use of a wait function in - vms_read(). (Frank Ries) -Files: src/os_unix.h, src/os_vms.c - -Patch 6.2.162 -Problem: ":redraw" doesn't always display the text that includes the cursor - position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii) -Solution: Call update_topline() before redrawing. -Files: src/ex_docmd.c - -Patch 6.2.163 -Problem: "make install" may also copy AAPDIR directories. -Solution: Delete AAPDIR directories, just like CVS directories. -Files: src/Makefile - -Patch 6.2.164 (after 6.2.144) -Problem: When "g:html_use_css" is set the HTML header generated by the - 2html script is still wrong. -Solution: Search for a string instead of jumping to a fixed line number. - Go to the start of the line before inserting the header. - (Jess Thrysoee) -Files: runtime/syntax/2html.vim - -Patch 6.2.165 -Problem: The configure checks hang when using autoconf 2.57. -Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis) -Files: src/auto/configure, src/configure.in - -Patch 6.2.166 -Problem: When $GZIP contains "-N" editing compressed files doesn't work - properly. -Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind - Holm) -Files: runtime/plugin/gzip.vim - -Patch 6.2.167 -Problem: The Python interface leaks memory when assigning lines to a - buffer. (Sergey Khorev) -Solution: Do not copy the line when calling ml_replace(). -Files: src/if_python.c - -Patch 6.2.168 -Problem: Python interface: There is no way to get the indices from a range - object. -Solution: Add the "start" and "end" attributes. (Maurice S. Barnum) -Files: src/if_python.c, runtime/doc/if_pyth.txt - -Patch 6.2.169 -Problem: The prototype for _Xmblen() appears in a recent XFree86 header - file, causing a warning for our prototype. (Hisashi T Fujinaka) -Solution: Move the prototype to an osdef file, so that it's filtered out. -Files: src/mbyte.c, src/osdef2.h.in - -Patch 6.2.170 -Problem: When using Sun WorkShop the current directory isn't changed to - where the file is. -Solution: Set the 'autochdir' option when using WorkShop. And avoid using - the basename when 'autochdir' is not set. -Files: src/gui_x11.c, src/ex_cmds.c - -Patch 6.2.171 (after 6.2.163) -Problem: The "-or" argument of "find" doesn't work for SysV systems. -Solution: Use "-o" instead. (Gordon Prieur) -Files: src/Makefile - -Patch 6.2.172 (after 6.2.169) -Problem: The prototype for _Xmblen() still causes trouble. -Solution: Include the X11 header file that defines the prototype. -Files: src/osdef2.h.in, src/osdef.sh - -Patch 6.2.173 (extra) -Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other - compilers than MSVC. -Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak - -Patch 6.2.174 -Problem: After the ":intro" message only a mouse click in the last line - gets past the hit-return prompt. -Solution: Accept a click at or below the hit-return prompt. -Files: src/gui.c, src/message.c - -Patch 6.2.175 -Problem: Changing 'backupext' in a *WritePre autocommand doesn't work. - (William Natter) -Solution: Move the use of p_bex to after executing the *WritePre - autocommands. Also avoids reading allocated memory after freeing. -Files: src/fileio.c - -Patch 6.2.176 -Problem: Accented characters in translated help files are not handled - correctly. (Fabien Vayssiere) -Solution: Include "192-255" in 'iskeyword' for the help window. -Files: src/ex_cmds.c - -Patch 6.2.177 (extra) -Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob - Retter) Arbitrary commands are being executed. (Neil Bird) -Solution: Put a backslash in front of every space in the file name. - (Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL. -Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc - -Patch 6.2.178 -Problem: People who don't know how to exit Vim try pressing CTRL-C. -Solution: Give a message how to exit Vim when CTRL-C is pressed and it - doesn't cancel anything. -Files: src/normal.c - -Patch 6.2.179 (extra) -Problem: The en_gb messages file isn't found on case sensitive systems. -Solution: Rename en_gb to en_GB. (Mike Williams) -Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak, - src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt - -Patch 6.2.180 -Problem: Compiling with GTK2 on Win32 doesn't work. -Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula) -Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c - -Patch 6.2.181 (after 6.2.171) -Problem: The "-o" argument of "find" has lower priority than the implied - "and" with "-print". -Solution: Add parenthesis around the "-o" expression. (Gordon Prieur) -Files: src/Makefile - -Patch 6.2.182 (after 6.2.094) -Problem: Compilation with tiny features fails because of missing - get_past_head() function. -Solution: Adjust the #ifdef for get_past_head(). -Files: src/misc1.c - -Patch 6.2.183 (after 6.2.178) -Problem: Warning for char/unsigned char mixup. -Solution: Use MSG() instead of msg(). (Tony Leneis) -Files: src/normal.c - -Patch 6.2.184 -Problem: With 'formatoptions' set to "1aw" inserting text may cause the - paragraph to be ended. (Alan Schmitt) -Solution: Temporarily add an extra space to make the paragraph continue - after moving the word after the cursor to the next line. - Also format when pressing Esc. -Files: src/edit.c, src/normal.c, src/proto/edit.pro - -Patch 6.2.185 -Problem: Restoring a session with zero-height windows does not work - properly. (Charles Campbell) -Solution: Accept a zero argument to ":resize" as intended. Add a window - number argument to ":resize" to be able to set the size of other - windows, because the current window cannot be zero-height. - Fix the explorer plugin to avoid changing the window sizes. Add - the winrestcmd() function for this. -Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c, - src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c - -Patch 6.2.186 (after 6.2.185) -Problem: Documentation file eval.txt contains examples without indent. -Solution: Insert the indent. Also fix other mistakes. -Files: runtime/doc/eval.txt - -Patch 6.2.187 -Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle) -Solution: Initialize variables where needed. Free allocated memory to avoid - leaks. Fix comparing tags to avoid reading past allocated memory. -Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c, - src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c - -Patch 6.2.188 (extra) -Problem: MS-Windows: Multi-byte characters in a filename cause trouble for - the window title. -Solution: Return when the wide function for setting the title did its work. -Files: src/gui_w48.c - -Patch 6.2.189 -Problem: When setting 'viminfo' after editing a new buffer its marks are - not stored. (Keith Roberts) -Solution: Set the "b_marks_read" flag when skipping to read marks from the - viminfo file. -Files: src/fileio.c - -Patch 6.2.190 -Problem: When editing a compressed files, marks are lost. -Solution: Add the ":lockmarks" modifier and use it in the gzip plugin. - Make exists() also check for command modifiers, so that the - existence of ":lockmarks" can be checked for. - Also add ":keepmarks" to avoid that marks are deleted when - filtering text. - When deleting lines put marks 'A - 'Z and '0 - '9 at the first - deleted line instead of clearing the mark. They were kept in the - viminfo file anyway. - Avoid that the gzip plugin puts deleted text in registers. -Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c, - src/ex_docmd.c, src/mark.c, src/structs.h - -Patch 6.2.191 -Problem: The intro message is outdated. Information about sponsoring and - registering is missing. -Solution: Show info about sponsoring and registering Vim in the intro - message now and then. Add help file about sponsoring. -Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags, - runtime/menu.vim, src/version.c - -Patch 6.2.192 -Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonathan - Hankins) -Solution: Avoid calling change_indent() recursively. -Files: src/edit.c - -Patch 6.2.193 -Problem: When recalling a search pattern from the history from a ":s,a/c," - command the '/' ends the search string. (JC van Winkel) -Solution: Store the separator character with the history entries. Escape - characters when needed, replace the old separator with the new one. - Also fixes that recalling a "/" search for a "?" command messes up - trailing flags. -Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro, - src/search.c, src/tag.c - -Patch 6.2.194 (after 6.2.068) -Problem: For NetBeans, instead of writing the file and sending an event - about it, tell NetBeans to write the file. -Solution: Add the "save" command, "netbeansBuffer" command and - "buttonRelease" event to the netbeans protocol. Updated the - interface to version 2.2. (Gordon Prieur) - Also: open a fold when the cursor has been positioned. - Also: fix memory leak, free result of nb_quote(). -Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c, - src/normal.c, src/proto/netbeans.pro, src/structs.h - -Patch 6.2.195 (after 6.2.190) -Problem: Compiling fails for missing CPO_REMMARK symbol. -Solution: Add the patch I forgot to include... -Files: src/option.h - -Patch 6.2.196 (after 6.2.191) -Problem: Rebuilding the documentation doesn't use the sponsor.txt file. -Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson) -Files: runtime/doc/Makefile - -Patch 6.2.197 -Problem: It is not possible to force a redraw of status lines. (Gary - Johnson) -Solution: Add the ":redrawstatus" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, - src/screen.c - -Patch 6.2.198 -Problem: A few messages are not translated. (Ernest Adrogue) -Solution: Mark the messages to be translated. -Files: src/ex_cmds.c - -Patch 6.2.199 (after 6.2.194) -Problem: Vim doesn't work perfectly well with NetBeans. -Solution: When NetBeans saves the file, reset the timestamp to avoid "file - changed" warnings. Close a buffer in a proper way. Don't try - giving a debug message with an invalid pointer. Send a - newDotAndMark message when needed. Report a change by the "r" - command to NetBeans. (Gordon Prieur) -Files: src/netbeans.c, src/normal.c - -Patch 6.2.200 -Problem: When recovering a file, 'fileformat' is always the default, thus - writing the file may result in differences. (Penelope Fudd) -Solution: Before recovering the file try reading the original file to obtain - the values of 'fileformat', 'fileencoding', etc. -Files: src/memline.c - -Patch 6.2.201 -Problem: When 'autowriteall' is set ":qall" still refuses to exit if there - is a modified buffer. (Antoine Mechelynck) -Solution: Attempt writing modified buffers as intended. -Files: src/ex_cmds2.c - -Patch 6.2.202 -Problem: Filetype names of CHILL and ch script are confusing. -Solution: Rename "ch" to "chill" and "chscript" to "ch". -Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim - runtime/syntax/ch.vim, runtime/syntax/chill.vim - -Patch 6.2.203 -Problem: With characterwise text that has more than one line, "3P" works - wrong. "3p" has the same problem. There also is a display - problem. (Daniel Goujot) -Solution: Perform characterwise puts with a count in the right position. -Files: src/ops.c - -Patch 6.2.204 (after 6.2.086) -Problem: "]]" in a file with closed folds moves to the end of the file. - (Nam SungHyun) -Solution: Find one position in each closed fold, then move to after the fold. -Files: src/search.c - -Patch 6.2.205 (extra) -Problem: MS-Windows: When the taskbar is at the left or top of the screen, - the Vim window placement is wrong. -Solution: Compute the size and position of the window correctly. (Taro - Muraoka) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.2.206 -Problem: Multi-byte characters cannot be used as hotkeys in a console - dialog. (Mattias Erkisson) -Solution: Handle multi-byte characters properly. Also put () or [] around - default hotkeys. -Files: src/message.c, src/macros.h - -Patch 6.2.207 -Problem: When 'encoding' is a multi-byte encoding, expanding an - abbreviation that starts where insertion started results in - characters before the insertion to be deleted. (Xiangjiang Ma) -Solution: Stop searching leftwards for the start of the word at the position - where insertion started. -Files: src/getchar.c - -Patch 6.2.208 -Problem: When using fold markers, three lines in a row have the start - marker and deleting the first one with "dd", a nested fold is not - deleted. (Kamil Burzynski) - Using marker folding, a level 1 fold doesn't stop when it is - followed by "{{{2", starting a level 2 fold. -Solution: Don't stop updating folds at the end of a change when the nesting - level of folds is larger than the fold level. - Correctly compute the number of folds that start at "{{{2". - Also avoid a crash for a NULL pointer. -Files: src/fold.c - -Patch 6.2.209 -Problem: A bogus fold is created when using "P" while the cursor is in the - middle of a closed fold. (Kamil Burzynski) -Solution: Correct the line number where marks are modified for closed folds. -Files: src/ops.c - -Patch 6.2.210 (extra) -Problem: Mac OSX: antialiased fonts are not supported. -Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX - 10.2 and later. (Peter Cucka) -Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c - -Patch 6.2.211 (extra) -Problem: Code for handling file dropped on Vim is duplicated. -Solution: Move the common code to gui_handle_drop(). - Add code to drop the files in the window under the cursor. - Support drag&drop on the Macintosh. (Taro Muraoka) - When dropping a directory name edit that directory (using the - explorer plugin) - Fix that changing directory with Shift pressed didn't work for - relative path names. -Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c, - src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro - -Patch 6.2.212 (after 6.2.199) -Problem: NetBeans: Replacing with a count is not handled correctly. -Solution: Move reporting the change outside of the loop for the count. - (Gordon Prieur) -Files: src/normal.c - -Patch 6.2.213 (after 6.2.208) -Problem: Using marker folding, "{{{1" doesn't start a new fold when already - at fold level 1. (Servatius Brandt) -Solution: Correctly compute the number of folds that start at "{{{1". -Files: src/fold.c - -Patch 6.2.214 (after 6.2.211) (extra) -Problem: Warning for an unused variable. -Solution: Delete the declaration. (Bill McCarthy) -Files: src/gui_w48.c - -Patch 6.2.215 -Problem: NetBeans: problems saving an unmodified file. -Solution: Add isNetbeansModified() function. Disable netbeans_unmodified(). - (Gordon Prieur) -Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro, - runtime/doc/netbeans.txt, runtime/doc/tags - -Patch 6.2.216 (after 6.2.206) -Problem: Multi-byte characters still cannot be used as hotkeys in a console - dialog. (Mattias Erkisson) -Solution: Make get_keystroke() handle multi-byte characters. -Files: src/misc1.c - -Patch 6.2.217 -Problem: GTK: setting the title doesn't always work correctly. -Solution: Invoke gui_mch_settitle(). (Tomas Stehlik) -Files: src/os_unix.c - -Patch 6.2.218 -Problem: Warning for function without prototype. -Solution: Add argument types to the msgCB field of the BalloonEval struct. -Files: src/gui_beval.h - -Patch 6.2.219 -Problem: Syntax highlighting hangs on an empty match of an item with a - nextgroup. (Charles Campbell) -Solution: Remember that the item has already matched and don't match it - again at the same position. -Files: src/syntax.c - -Patch 6.2.220 -Problem: When a Vim server runs in a console a remote command isn't handled - before a key is typed. (Joshua Neuheisel) -Solution: Don't try reading more input when a client-server command has been - received. -Files: src/os_unix.c - -Patch 6.2.221 -Problem: No file name completion for ":cscope add". -Solution: Add the XFILE flag to ":cscope". (Gary Johnson) -Files: src/ex_cmds.h - -Patch 6.2.222 -Problem: Using "--remote" several times on a row only opens some of the - files. (Dany St-Amant) -Solution: Don't delete all typeahead when the server receives a command from - a client, only delete typed characters. -Files: src/main.c - -Patch 6.2.223 -Problem: Cscope: Avoid a hang when cscope waits for a response while Vim - waits for a prompt. - Error messages from Cscope mess up the display. -Solution: Detect the hit-enter message and respond by sending a return - character to cscope. (Gary Johnson) - Use EMSG() and strerror() when possible. Replace perror() with - PERROR() everywhere, add emsg3(). -Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c, - src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h - -Patch 6.2.224 -Problem: Mac: Can't compile with small features. (Axel Kielhorn) -Solution: Also include vim_chdirfile() when compiling for the Mac. -Files: src/misc2.c - -Patch 6.2.225 -Problem: NetBeans: Reported modified state isn't exactly right. -Solution: Report a file being modified in the NetBeans way. -Files: src/netbeans.c - -Patch 6.2.226 (after 6.2.107) (extra) -Problem: The "ws2-32.lib" file isn't always available. -Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak - -Patch 6.2.227 (extra) -Problem: The "PC" symbol is defined but not used anywhere. -Solution: Remove "-DPC" from the makefiles. -Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, - src/Make_ming.mak - -Patch 6.2.228 -Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim - back to Normal mode. Same for CTRL-\ CTRL-G. -Solution: Check if the character typed after a command is CTRL-\ and obtain - another character to check for CTRL-N or CTRL-G, waiting up to - 'ttimeoutlen' msec. -Files: src/normal.c - -Patch 6.2.229 -Problem: ":function" with a name that uses magic curlies does not work - inside a function. (Servatius Brandt) -Solution: Skip over the function name properly. -Files: src/eval.c - -Patch 6.2.230 (extra) -Problem: Win32: a complex pattern may cause a crash. -Solution: Use __try and __except to catch the exception and handle it - gracefully, when possible. Add myresetstkoflw() to reset the - stack overflow. (Benjamin Peterson) -Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h, - src/proto/os_win32.pro, src/regexp.c - -Patch 6.2.231 (after 6.2.046) -Problem: Various problems when an error exception is raised from within a - builtin function. When it is invoked while evaluating arguments - to a function following arguments are still evaluated. When - invoked with a line range it will be called for remaining lines. -Solution: Update "force_abort" also after calling a builtin function, so - that aborting() always returns the correct value. (Servatius - Brandt) -Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro, - src/testdir/test49.ok, src/testdir/test49.vim - -Patch 6.2.232 -Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene - Minkovskii) -Solution: Disallow executing a Python command recursively and give an error - message. -Files: src/if_python.c - -Patch 6.2.233 -Problem: On Mac OSX adding -pthread for Python only generates a warning. - The test for Perl threads rejects Perl while it's OK. - Tcl doesn't work at all. - The test for Ruby fails if ruby exists but there are no header - files. The Ruby library isn't detected properly -Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's - not the 5.5 threads. - Use the Tcl framework for header files. For Ruby rename cWindow - to cVimWindow to avoid a name clash. (Ken Scott) - Only enable Ruby when the header files can be found. Use "-lruby" - instead of "libruby.a" when it can't be found. -Files: src/auto/configure, src/configure.in, src/if_ruby.c - -Patch 6.2.234 -Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command - line. -Solution: Flush output before removing scrollbars. Also do this in other - places where gui_mch_*() functions are invoked. -Files: src/ex_cmds.c, src/option.c, src/window.c - -Patch 6.2.235 (extra) -Problem: Win32: Cursor isn't removed with a 25x80 window and doing: - "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto) -Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines(). -Files: src/gui_w48.c - -Patch 6.2.236 -Problem: Using gvim with Agide gives "connection lost" error messages. -Solution: Only give the "connection lost" message when the buffer was once - owned by NetBeans. -Files: src/netbeans.c, src/structs.h - -Patch 6.2.237 -Problem: GTK 2: Thai text is drawn wrong. It changes when moving the - cursor over it. -Solution: Disable the shaping engine, it moves combining characters to a - wrong position and combines characters, while drawing the cursor - doesn't combine characters. -Files: src/gui_gtk_x11.c - -Patch 6.2.238 (after 6.2.231) -Problem: ":function" does not work inside a while loop. (Servatius Brandt) -Solution: Add get_while_line() and pass it to do_one_cmd() when in a while - loop, so that all lines are stored and can be used again when - repeating the loop. - Adjust test 49 so that it checks for the fixed problems. - (Servatius Brandt) -Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, - src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, - src/testdir/test49.in, src/testdir/test49.ok, - src/testdir/test49.vim - -Patch 6.2.239 -Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar - often doesn't scroll. (Moshe Kaminsky) -Solution: Hackish solution: Detect that the button was pressed from the - mouse pointer position. -Files: src/gui_gtk.c, src/gui.c - -Patch 6.2.240 -Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with - other systems. Need to explicitly use "icon=name". (Ned Konz, - Christian J. Robinson) -Solution: Search for icons like done for Motif. -Files: src/gui_gtk.c - -Patch 6.2.241 -Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no - sense. Buttons are sometimes greyed-out. (Jeremy Messenger) -Solution: Remove the code to sync the two dialogs. Adjust the code to react - to an empty search string to also work for GTK2. (David Necas) -Files: src/gui_gtk.c - -Patch 6.2.242 -Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim - arguments. -Solution: Don't let the Gnome code remove the "--help" argument and don't - exit at the end of usage(). -Files: src/gui_gtk_x11.c, src/main.c - -Patch 6.2.243 (extra) -Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt. -Solution: Move the dropped files to the global argument list, instead of the - usual drop handling. (Eckehard Berns) -Files: src/main.c, src/gui_mac.c - -Patch 6.2.244 -Problem: ':echo "\xf7"' displays the illegal byte as if it was a character - and leaves "cho" after it. -Solution: When checking the length of a UTF-8 byte sequence and it's shorter - than the number of bytes available, assume it's an illegal byte. -Files: src/mbyte.c - -Patch 6.2.245 -Problem: Completion doesn't work for ":keepmarks" and ":lockmarks". -Solution: Add the command modifiers to the table of commands. (Madoka - Machitani) -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 6.2.246 -Problem: Mac: Starting Vim from Finder doesn't show error messages. -Solution: Recognize that output is being displayed by stderr being - "/dev/console". (Eckehard Berns) -Files: src/main.c, src/message.c - -Patch 6.2.247 (after 6.2.193) -Problem: When using a search pattern from the viminfo file the last - character is replaced with a '/'. -Solution: Store the separator character in the right place. (Kelvin Lee) -Files: src/ex_getln.c - -Patch 6.2.248 -Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be - distinguished. -Solution: Detect that XIM changes the keypad key to the expected ASCII - character and fall back to the non-XIM code. (Neil Bird) -Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro - -Patch 6.2.249 -Problem: ":cnext" moves to the error in the next file, but there is no - method to go back. -Solution: Add ":cpfile" and ":cNfile". -Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt - -Patch 6.2.250 -Problem: Memory leaks when using signs. (Xavier de Gaye) -Solution: Delete the list of signs when unloading a buffer. -Files: src/buffer.c - -Patch 6.2.251 -Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall) - Order of buttons is reversed for GTK 2.2.4. Don't always get - focus back after handling a dialog. -Solution: Make buttons appear vertically when desired. Reverse the order in - which buttons are added to a dialog. Move mouse pointer around - when the dialog is done and we don't have focus. -Files: src/gui_gtk.c - -Patch 6.2.252 (extra, after 6.2.243) -Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for - Mac OS classic. -Solution: Remove the #ifdef from the code that fixes it for Mac OSX. -Files: src/gui_mac.c - -Patch 6.2.253 -Problem: When 'tagstack' is not set a ":tag id" command does not work after - a ":tjump" command. -Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran) -Files: src/tag.c - -Patch 6.2.254 -Problem: May run out of space for error messages. -Solution: Keep room for two more bytes. -Files: src/quickfix.c - -Patch 6.2.255 -Problem: GTK: A new item in the popup menu is put just after instead of - just before the right item. (Gabriel Zachmann) -Solution: Don't increment the menu item index. -Files: src/gui_gtk.c - -Patch 6.2.256 -Problem: Mac: "macroman" encoding isn't recognized, need to use - "8bit-macroman". -Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns) -Files: src/mbyte.c - -Patch 6.2.257 (after 6.2.250) -Problem: Signs are deleted for ":bdel", but they could still be useful. -Solution: Delete signs only for ":bwipe". -Files: src/buffer.c - -Patch 6.2.258 -Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar) -Solution: Loop over the popup menus for all modes. -Files: src/menu.c - -Patch 6.2.259 -Problem: If there are messages when exiting, on the console there is a - hit-enter prompt while the message can be read; in the GUI the - message may not be visible. -Solution: Use the hit-enter prompt when there is an error message from - writing the viminfo file or autocommands, or when there is any - output in the GUI and 'verbose' is set. Don't use a hit-enter - prompt for the non-GUI version unless there is an error message. -Files: src/main.c - -Patch 6.2.260 -Problem: GTK 2: Can't quit a dialog with <Esc>. - GTK 1 and 2: <Enter> always gives a result, even when the default - button has been disabled. -Solution: Handle these keys explicitly. When no default button is specified - use the first one (works mostly like it was before). -Files: src/gui_gtk.c - -Patch 6.2.261 -Problem: When 'autoindent' and 'cindent' are set and a line is recognized - as a comment, starting a new line won't do 'cindent' formatting. -Solution: Also use 'cindent' formatting for lines that are used as a - comment. (Servatius Brandt) -Files: src/misc1.c - -Patch 6.2.262 -Problem: 1 CTRL-W w beeps, even though going to the first window is - possible. (Charles Campbell) -Solution: Don't beep. -Files: src/window.c - -Patch 6.2.263 -Problem: Lint warnings: Duplicate function prototypes, duplicate macros, - use of a zero character instead of a zero pointer, unused - variable. Clearing allocated memory in a complicated way. -Solution: Remove the function prototypes from farsi.h. Remove the - duplicated lines in keymap.h. Change getvcol() argument from NUL - to NULL. Remove the "col" variable in regmatch(). Use - lalloc_clear() instead of lalloc(). (Walter Briscoe) -Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c - -Patch 6.2.264 (after 6.2.247) -Problem: Writing past allocated memory when using a command line from the - viminfo file. -Solution: Store the NUL in the right place. -Files: src/ex_getln.c - -Patch 6.2.265 -Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val" - works. -Solution: Do allow changing options in the sandbox, but not the ones that - can't be changed from a modeline. -Files: src/ex_cmds.h, src/options.c - -Patch 6.2.266 -Problem: When redirecting output and using ":silent", line breaks are - missing from output of ":map" and ":tselect". Alignment of - columns is wrong. -Solution: Insert a line break where "msg_didout" was tested. Update msg_col - when redirecting and using ":silent". -Files: src/getchar.c, src/message.c - -Patch 6.2.267 (extra) -Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte) -Solution: Use the "name" item from the menu instead of the "dname" item. -Files: src/gui_w32.c, src/menu.c - -Patch 6.2.268 -Problem: GUI: When changing 'guioptions' part of the window may be off - screen. (Randall Morris) -Solution: Adjust the size of the window when changing 'guioptions', but only - when adding something. -Files: src/gui.c - -Patch 6.2.269 -Problem: Diff mode does not highlight a change in a combining character. - (Raphael Finkel) -Solution: Make diff_find_change() multi-byte aware: find the start byte of - a character that contains a change. -Files: src/diff.c - -Patch 6.2.270 -Problem: Completion in Insert mode, then repeating with ".", doesn't handle - composing characters in the completed text. (Raphael Finkel) -Solution: Don't skip over composing chars when adding completed text to the - redo buffer. -Files: src/getchar.c - -Patch 6.2.271 -Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with - an argument or environment variable is not secure. -Solution: Wait after initializing the log. Allow passing the socket info - through a file. (Gordon Prieur) -Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c - -Patch 6.2.272 -Problem: When the "po" directory exists, but "po/Makefile" doesn't, - building fails. Make loops when the "po" directory has been - deleted after running configure. -Solution: Check for the "po/Makefile" instead of just the "po" directory. - Check this again before trying to run make with that Makefile. -Files: src/auto/configure, src/configure.in, src/Makefile - -Patch 6.2.273 -Problem: Changing the sort order in an explorer window for an empty - directory produces error messages. (Doug Kearns) -Solution: When an invalid range is used for a function that is not going to - be executed, skip over the arguments anyway. -Files: src/eval.c - -Patch 6.2.274 -Problem: ":print" skips empty lines when 'list' is set and there is no - "eol" in 'listchars'. (Yakov Lerner) -Solution: Skip outputting a space for an empty line only when 'list' is set - and the end-of-line character is not empty. -Files: src/message.c - -Patch 6.2.275 (extra, after 6.2.267) -Problem: Warning for uninitialized variable when using gcc. -Solution: Initialize "acLen" to zero. (Bill McCarthy) -Files: src/gui_w32.c - -Patch 6.2.276 -Problem: ":echo X()" does not put a line break between the message that X() - displays and the text that X() returns. (Yakov Lerner) -Solution: Invoke msg_start() after evaluating the argument. -Files: src/eval.c - -Patch 6.2.277 -Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive - loop. (Robert Nowotniak) -Solution: Restore "msg_list" before returning from do_cmdline(). -Files: src/ex_docmd.c - -Patch 6.2.278 -Problem: Using "much" instead of "many". -Solution: Correct the error message. -Files: src/eval.c - -Patch 6.2.279 -Problem: There is no default choice for a confirm() dialog, now that it is - possible not to have a default choice. -Solution: Make the first choice the default choice. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.2.280 -Problem: "do" and ":diffget" don't work in the first line and the last line - of a buffer. (Aron Griffis) -Solution: Find a difference above the first line and below the last line. - Also fix a few display updating bugs. -Files: src/diff.c, src/fold.c, src/move.c - -Patch 6.2.281 -Problem: PostScript printing doesn't work on Mac OS X 10.3.2. -Solution: Adjust the header file. (Mike Williams) -Files: runtime/print/prolog.ps - -Patch 6.2.282 -Problem: When using CTRL-O to go back to a help file, it becomes listed. - (Andrew Nesbit) - Using ":tag" or ":tjump" in a help file doesn't keep the help file - settings (e.g. for 'iskeyword'). -Solution: Don't mark a buffer as listed when its help flag is set. Put all - the option settings for a help buffer together in do_ecmd(). -Files: src/ex_cmds.c - -Patch 6.2.283 -Problem: The "local additions" in help.txt are used without conversion, - causing latin1 characters showing up wrong when 'enc' is utf-8. - (Antoine J. Mechelynck) -Solution: Convert the text to 'encoding'. -Files: src/ex_cmds.c - -Patch 6.2.284 -Problem: Listing a function puts "endfunction" in the message history. - Typing "q" at the more prompt isn't handled correctly when listing - variables and functions. (Hara Krishna Dara) -Solution: Don't use msg() for "endfunction". Check "got_int" regularly. -Files: src/eval.c - -Patch 6.2.285 -Problem: GUI: In a single wrapped line that fills the window, "gj" in the - last screen line leaves the cursor behind. (Ivan Tarasov) -Solution: Undraw the cursor before scrolling the text up. -Files: src/gui.c - -Patch 6.2.286 -Problem: When trying to rename a file and it doesn't exist, the destination - file is deleted anyway. (Luc Deux) -Solution: Don't delete the destination when the source doesn't exist. (Taro - Muraoka) -Files: src/fileio.c - -Patch 6.2.287 (after 6.2.264) -Problem: Duplicate lines are added to the viminfo file. -Solution: Compare with existing entries without an offset. Also fixes - reading very long history lines from viminfo. -Files: src/ex_getln.c - -Patch 6.2.288 (extra) -Problem: Mac: An external program can't be interrupted. -Solution: Don't use the 'c' key for backspace. (Eckehard Berns) -Files: src/gui_mac.c - -Patch 6.2.289 -Problem: Compiling the Tcl interface with thread support causes ":make" to - fail. (Juergen Salk) -Solution: Use $TCL_DEFS from the Tcl config script to obtain the required - compile flags for using the thread library. -Files: src/auto/configure, src/configure.in - -Patch 6.2.290 (extra) -Problem: Mac: The mousewheel doesn't work. -Solution: Add mousewheel support. Also fix updating the thumb after a drag - and then using another way to scroll. (Eckehard Berns) -Files: src/gui_mac.c - -Patch 6.2.291 (extra) -Problem: Mac: the plus button and close button don't do anything. -Solution: Make the plus button maximize the window and the close button - close Vim. (Eckehard Berns) -Files: src/gui.c, src/gui_mac.c - -Patch 6.2.292 -Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows - the last argument repeated. -Solution: Set argv[argc] to NULL. (Michael Jarvis) -Files: src/gui_x11.c - -Patch 6.2.293 (after 6.2.255) -Problem: GTK: A new item in a menu is put before the tearoff item. -Solution: Do increment the menu item index for non-popup menu items. -Files: src/gui_gtk.c - -Patch 6.2.294 (extra) -Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape. -Solution: Handle all modifiers for these keys. (Eckehard Berns) -Files: src/gui_mac.c - -Patch 6.2.295 -Problem: When in debug mode, receiving a message from a remote client - causes a crash. Evaluating an expression causes Vim to wait for - "cont" to be typed, without a prompt. (Hari Krishna Dara) -Solution: Disable debugging when evaluating an expression for a client. - (Michael Geddes) Don't try reading into the typeahead buffer when - it may have been filled in another way. -Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c, - src/misc1.c, src/proto/getchar.pro, src/proto/main.pro, - src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h, - src/os_unix.c, src/ui.c - -Patch 6.2.296 (extra) -Problem: Same as 6.2.295. -Solution: Extra files for patch 6.2.295. -Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c, - src/proto/os_amiga.pro, src/proto/os_msdos.pro, - src/proto/os_riscos.pro, src/proto/os_win32.pro - -Patch 6.2.297 (after 6.2.232) -Problem: Cannot invoke Python commands recursively. -Solution: With Python 2.3 and later use the available mechanisms to invoke - Python recursively. (Matthew Mueller) -Files: src/if_python.c - -Patch 6.2.298 -Problem: A change always sets the '. mark and an insert always sets the '^ - mark, even when this is not wanted. - Cannot go back to the position of older changes without undoing - those changes. -Solution: Add the ":keepjumps" command modifier. - Add the "g," and "g;" commands. -Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c, - src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro, - src/structs.h, src/undo.c - -Patch 6.2.299 -Problem: Can only use one language for help files. -Solution: Add the 'helplang' option to select the preferred language(s). - Make ":helptags" generate tags files for all languages. -Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, - src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c, - src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro, - src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h, - src/tag.c, src/vim.h - -Patch 6.2.300 (after 6.2.297) -Problem: Cannot build Python interface with Python 2.2 or earlier. -Solution: Add a semicolon. -Files: src/if_python.c - -Patch 6.2.301 -Problem: The "select all" item from the popup menu doesn't work for Select - mode. -Solution: Use the same commands as for the "Edit.select all" menu. - (Benji Fisher) -Files: runtime/menu.vim - -Patch 6.2.302 -Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji - Fisher) -Solution: Restore "restart_edit" after an insert command that was not typed. - Avoid waiting with displaying the mode when there is no text to be - overwritten. - Fix that "CTRL-O ." sometimes doesn't put the cursor back after - the end-of-line. Only reset the flag that CTRL-O was used past - the end of the line when restarting editing. Update "o_lnum" - number when inserting text and "o_eol" is set. -Files: src/edit.c, src/normal.c - -Patch 6.2.303 -Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode. -Solution: Convert the character from Unicode to 'encoding' when needed. - Use the Unicode digraphs for the Macintosh. (Eckehard Berns) -Files: src/digraph.c - -Patch 6.2.304 (extra, after 6.2.256) -Problem: Mac: No proper support for 'encoding'. Conversion without iconv() - is not possible. -Solution: Convert input from 'termencoding' to 'encoding'. Add - mac_string_convert(). Convert text for the clipboard when needed. - (Eckehard Berns) -Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h - -Patch 6.2.305 (after 6.2.300) -Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit - Thakkar) -Solution: Add two functions to the dynamic loading feature. -Files: src/if_python.c - -Patch 6.2.306 (extra) -Problem: Win32: Building console version with BCC 5.5 gives a warning for - get_cmd_args() prototype missing. (Ajit Thakkar) -Solution: Don't build os_w32exe.c for the console version. -Files: src/Make_bc5.mak - -Patch 6.2.307 (after 6.2.299) -Problem: Installing help files fails. -Solution: Expand wildcards for translated help files separately. -Files: src/Makefile - -Patch 6.2.308 -Problem: Not all systems have "whoami", resulting in an empty user name. -Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce) -Files: src/Makefile - -Patch 6.2.309 -Problem: "3grx" waits for two ESC to be typed. (Jens Paulus) -Solution: Append the ESC to the stuff buffer when redoing the "gr" insert. -Files: src/edit.c - -Patch 6.2.310 -Problem: When setting 'undolevels' to -1, making a change and setting - 'undolevels' to a positive value an "undo list corrupt" error - occurs. (Madoka Machitani) -Solution: Sync undo before changing 'undolevels'. -Files: src/option.c - -Patch 6.2.311 (after 6.2.298) -Problem: When making several changes in one line the changelist grows - quickly. There is no error message for reaching the end of the - changelist. Reading changelist marks from viminfo doesn't work - properly. -Solution: Only make a new entry in the changelist when making a change in - another line or 'textwidth' columns away. Add E662, E663 and E664 - error messages. Put a changelist mark from viminfo one position - before the end. -Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c - -Patch 6.2.312 (after 6.2.299) -Problem: "make install" clears the screen when installing the docs. -Solution: Execute ":helptags" in silent mode. -Files: runtime/doc/Makefile - -Patch 6.2.313 -Problem: When opening folds in a diff window, other diff windows no longer - show the same text. -Solution: Sync the folds in diff windows. -Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro, - src/proto/move.pro - -Patch 6.2.314 -Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise - selection and using "$". (Moritz Orbach) -Solution: Don't try replacing chars in a line that has no characters in the - block. -Files: src/ops.c - -Patch 6.2.315 -Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set - stops Vim from returning to Insert mode. -Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode' - is set. -Files: src/normal.c - -Patch 6.2.316 (after 6.2.312) -Problem: "make install" tries connecting to the X server when installing - the docs. (Stephen Thomas) -Solution: Add the "-X" argument. -Files: runtime/doc/Makefile - -Patch 6.2.317 (after 6.2.313) -Problem: When using "zi" in a diff window, other diff windows are not - adjusted. (Richard Curnow) -Solution: Distribute a change in 'foldenable' to other diff windows. -Files: src/normal.c - -Patch 6.2.318 -Problem: When compiling with _THREAD_SAFE external commands don't echo - typed characters. -Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at - TMODE_COOK. -Files: src/os_unix.c - -Patch 6.2.319 (extra) -Problem: Building gvimext.dll with Mingw doesn't work properly. -Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro - Lopez-Valencia) -Files: src/GvimExt/Make_ming.mak - -Patch 6.2.320 -Problem: Win32: Adding and removing the menubar resizes the Vim window. - (Jonathon Merz) -Solution: Don't let a resize event change 'lines' unexpectedly. -Files: src/gui.c - -Patch 6.2.321 -Problem: When using modeless selection, wrapping lines are not recognized, - a line break is always inserted. -Solution: Add LineWraps[] to remember whether a line wrapped or not. -Files: src/globals.h, src/screen.c, src/ui.c - -Patch 6.2.322 -Problem: With 'showcmd' set, after typing "dd" the next "d" may not be - displayed. (Jens Paulus) -Solution: Redraw the command line after updating the screen, scrolling may - have set "clear_cmdline". -Files: src/screen.c - -Patch 6.2.323 -Problem: Win32: expanding "~/file" in an autocommand pattern results in - backslashes, while this pattern should only have forward slashes. -Solution: Make expanding environment variables respect 'shellslash' and set - p_ssl when expanding the autocommand pattern. -Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro - -Patch 6.2.324 (extra) -Problem: Win32: when "vimrun.exe" has a path with white space, such as - "Program Files", executing external commands may fail. -Solution: Put double quotes around the path to "vimrun". -Files: src/os_win32.c - -Patch 6.2.325 -Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't - work, the space is used to separate file names. (Brett Stahlman) -Solution: Escape the space with a backslash. -Files: src/option.c - -Patch 6.2.326 -Problem: ":windo set syntax=foo" doesn't work. (Tim Chase) -Solution: Don't change 'eventignore' for ":windo". -Files: src/ex_cmds2.c - -Patch 6.2.327 -Problem: When formatting text all marks in the formatted lines are lost. - A word is not joined to a previous line when this would be - possible. (Mikolaj Machowski) -Solution: Try to keep marks in the same position as much as possible. - Also keep mark positions when joining lines. - Start auto-formatting in the previous line when appropriate. - Add the "gw" operator: Like "gq" but keep the cursor where it is. -Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c, - src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro, - src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h - -Patch 6.2.328 -Problem: XIM with GTK: It is hard to understand what XIM is doing. -Solution: Add xim_log() to log XIM events and help with debugging. -Files: src/mbyte.c - -Patch 6.2.329 -Problem: ":=" does not work Vi compatible. (Antony Scriven) -Solution: Print the last line number instead of the current line. Don't - print "line". -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 6.2.330 (extra, after 6.2.267) -Problem: Win32: Crash when tearing off a menu. -Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.2.331 (after 6.2.327) -Problem: "gwap" leaves cursor in the wrong line. -Solution: Remember the cursor position before finding the ends of the - paragraph. -Files: src/normal.c, src/ops.c, src/structs.h - -Patch 6.2.332 (extra) -Problem: Amiga: Compile error for string array. Compiling the Amiga GUI - doesn't work. -Solution: Use a char pointer instead. Move including "gui_amiga.h" to after - including "vim.h". Add a semicolon. (Ali Akcaagac) -Files: src/gui_amiga.c, src/os_amiga.c - -Patch 6.2.333 (extra) -Problem: Win32: printing doesn't work with specified font charset. -Solution: Use the specified font charset. (Mike Williams) -Files: src/os_mswin.c - -Patch 6.2.334 (extra, after 6.2.296) -Problem: Win32: evaluating client expression in debug mode requires typing - "cont". -Solution: Use eval_client_expr_to_string(). -Files: src/os_mswin.c - -Patch 6.2.335 -Problem: The ":sign" command cannot be followed by another command. -Solution: Add TRLBAR to the command flags. -Files: src/ex_cmds.h - -Patch 6.2.336 (after 6.2.327) -Problem: Mixup of items in an expression. -Solution: Move "== NUL" to the right spot. -Files: src/edit.c - -Patch 6.2.337 (extra, after 6.2.319) -Problem: Building gvimext.dll with Mingw doesn't work properly. -Solution: Fix white space and other details. (Alejandro Lopez-Valencia) -Files: src/GvimExt/Make_ming.mak - -Patch 6.2.338 (after 6.2.331) -Problem: When undoing "gwap" the cursor is always put at the start of the - paragraph. When undoing auto-formatting the cursor may be above - the change. -Solution: Try to move the cursor back to where it was or to the first line - that actually changed. -Files: src/normal.c, src/ops.c, src/undo.c - -Patch 6.2.339 -Problem: Crash when using many different highlight groups and a User - highlight group. (Juergen Kraemer) -Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify - use of the highlight group table. -Files: src/syntax.c - -Patch 6.2.340 -Problem: ":reg" doesn't show the actual contents of the clipboard if it was - filled outside of Vim. (Stuart MacDonald) -Solution: Obtain the clipboard contents before displaying it. -Files: src/ops.c - -Patch 6.2.341 (extra) -Problem: Win32: When the path to diff.exe contains a space and using the - vimrc generated by the install program, diff mode does not work. -Solution: Put the first double quote just before the space instead of before - the path. -Files: src/dosinst.c - -Patch 6.2.342 (extra) -Problem: Win32: macros are not always used as expected. -Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro - Lopez-Valencia) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak - -Patch 6.2.343 -Problem: Title doesn't work with some window managers. X11: Setting the - text property for the window title is hard coded. -Solution: Use STRING format when possible. Use the UTF-8 function when - it's available and 'encoding' is utf-8. Use - XStringListToTextProperty(). Do the same for the icon name. - (David Harrison) -Files: src/os_unix.c - -Patch 6.2.344 (extra, after 6.2.337) -Problem: Cannot build gvimext.dll with MingW on Linux. -Solution: Add support for cross compiling. (Ronald Hoellwarth) -Files: src/GvimExt/Make_ming.mak - -Patch 6.2.345 (extra) -Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set - properly or there are illegal bytes. -Solution: Use a raw byte format. Always set it when copying. When pasting - use the raw format if 'encoding' is the same. -Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h - -Patch 6.2.346 -Problem: Win32 console: After using "chcp" Vim does not detect the - different codepage. -Solution: Use GetConsoleCP() and when it is different from GetACP() set - 'termencoding'. -Files: src/option.c - -Patch 6.2.347 (extra) -Problem: Win32: XP theme support is missing. -Solution: Add a manifest and refer to it from the resource file. (Michael - Wookey) -Files: Makefile, src/gvim.exe.mnf, src/vim.rc - -Patch 6.2.348 -Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname' - default value doesn't contain parenthesis. -Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name - arguments. -Files: src/main.c - -Patch 6.2.349 -Problem: Finding a match using 'matchpairs' may cause a crash. - 'matchpairs' is not used for 'showmatch'. -Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for - 'showmatch'. (Dave Olszewkski) -Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c - -Patch 6.2.350 -Problem: Not enough info about startup timing. -Solution: Add a few more TIME_MSG() calls. -Files: src/main.c - -Patch 6.2.351 -Problem: Win32: $HOME may be set to %USERPROFILE%. -Solution: Expand %VAR% at the start of $HOME. -Files: src/misc1.c - -Patch 6.2.352 (after 6.2.335) -Problem: ":sign texthl=||" does not work. -Solution: Remove the check for a following command. Give an error for extra - arguments after "buff=1". -Files: src/ex_cmds.c, src/ex_cmds.h - -Patch 6.2.353 (extra) -Problem: Win32: Supported server name length is limited. (Paul Bossi) -Solution: Use MAX_PATH instead of 25. -Files: src/os_mswin.c - -Patch 6.2.354 (extra) -Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden - when typing but is not redisplayed when moved. (Markx Hackmann) -Solution: Handle the pointer move event for the tear-off menu window. -Files: src/gui_w32.c - -Patch 6.2.355 (after 6.2.303) -Problem: When 'encoding' is a double-byte encoding different from the - current locale, the width of characters is not correct. - Possible failure and memory leak when using iconv, Unicode - digraphs and 'encoding' is not "utf-8". -Solution: Use iconv() to discover the actual width of characters. - Add the "vc_fail" field to vimconv_T. - When converting a digraph, init the conversion type to NONE and - cleanup afterwards. -Files: src/digraph.c, src/mbyte.c, src/structs.h - -Patch 6.2.356 -Problem: When using a double-byte 'encoding' and 'selection' is - "exclusive", "vy" only yanks the first byte of a double-byte - character. (Xiangjiang Ma) -Solution: Correct the column in unadjust_for_sel() to position on the first - byte, always include the trailing byte of the selected text. -Files: src/normal.c - -Patch 6.2.357 (after 6.2.321) -Problem: Memory leak when resizing the Vim window. -Solution: Free the LineWraps array. -Files: src/screen.c - -Patch 6.2.358 (after 6.2.299) -Problem: Memory leak when using ":help" and the language doesn't match. -Solution: Free the array with matching tags. -Files: src/ex_cmds.c - -Patch 6.2.359 (after 6.2.352) -Problem: Compiler warning for long to int type cast. -Solution: Add explicit type cast. -Files: src/ex_cmds.c - -Patch 6.2.360 -Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol - Juhas) -Solution: Recompute w_virtcol if the target column was not reached. -Files: src/misc2.c - -Patch 6.2.361 (extra) -Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while - pressing Esc, then release Alt: Cursor disappears and typing a key - causes a beep. (Hari Krishna Dara) -Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled. -Files: src/gui_w32.c - -Patch 6.2.362 (extra, after 6.2.347) -Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts) -Solution: Change "x86" to "X86". (Serge Pirotte) -Files: src/gvim.exe.mnf - -Patch 6.2.363 -Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler - from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc> - doesn't make it "0-1" again. Same problem for ruler in - statusline. (Andrew Pimlott) -Solution: Remember the "empty line" flag with Insert mode and'ed to it. -Files: src/screen.c - -Patch 6.2.364 -Problem: HTML version of the documentation doesn't mention the encoding, - which is a problem for mbyte.txt. -Solution: Adjust the awk script. (Ilya Sher) -Files: runtime/doc/makehtml.awk - -Patch 6.2.365 -Problem: The configure checks for Perl and Python may add compile and link - arguments that break building Vim. -Solution: Do a sanity check: try building with the arguments. -Files: src/auto/configure, src/configure.in - -Patch 6.2.366 -Problem: When the GUI can't start because no valid font is found, there is - no error message. (Ugen) -Solution: Add an error message. -Files: src/gui.c - -Patch 6.2.367 -Problem: Building the help tags file while installing may fail if there is - another Vim in $PATH. -Solution: Specify the just installed Vim executable. (Gordon Prieur) -Files: src/Makefile - -Patch 6.2.368 -Problem: When 'autochdir' is set, closing a window doesn't change to the - directory of the new current window. (Salman Halim) -Solution: Handle 'autochdir' always when a window becomes the current one. -Files: src/window.c - -Patch 6.2.369 -Problem: Various memory leaks: when using globpath(), when searching for - help tags files, when defining a function inside a function, when - giving an error message through an exception, for the final "." - line in ":append", in expression "cond ? a : b" that fails and for - missing ")" in an expression. Using NULL pointer when adding - first user command and for pointer computations with regexp. - (tests by Dominique Pelle) -Solution: Fix the leaks by freeing the allocated memory. Don't use the - array of user commands when there are no entries. Use a macro - instead of a function call for saving and restoring regexp states. -Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, - src/misc2.c, src/regexp.c, src/screen.c, src/tag.c - -Patch 6.2.370 (extra, after6.2.341) -Problem: Win32: When the path to diff.exe contains a space and using the - vimrc generated by the install program, diff mode may not work. - (Alejandro Lopez-Valencia) -Solution: Do not use double quotes for arguments that do not have a space. -Files: src/dosinst.c - -Patch 6.2.371 -Problem: When 'virtualedit' is set and there is a Tab before the next "x", - "dtx" does not delete the whole Tab. (Ken Hashishi) -Solution: Move the cursor to the last position of the Tab. Also for - "df<Tab>". -Files: src/normal.c - -Patch 6.2.372 -Problem: When using balloon evaluation, no value is displayed for members - of structures and items of an array. -Solution: Include "->", "." and "[*]" in the expression. -Files: src/gui_beval.c, src/normal.c, src/vim.h - -Patch 6.2.373 -Problem: When 'winminheight' is zero and a window is reduced to zero - height, the ruler always says "Top" instead of the cursor - position. (Antoine J. Mechelynck) -Solution: Don't recompute w_topline for a zero-height window. -Files: src/window.c - -Patch 6.2.374 -Problem: ":echo "hello" | silent normal n" removes the "hello" message. - (Servatius Brandt) -Solution: Don't echo the search string when ":silent" was used. Also don't - show the mode. In general: don't clear to the end of the screen. -Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro, - src/screen.c, src/search.c, src/window.c - -Patch 6.2.375 -Problem: When changing 'guioptions' the hit-enter prompt may be below the - end of the Vim window. -Solution: Call screen_alloc() before showing the prompt. -Files: src/message.c - -Patch 6.2.376 -Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6. -Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina) -Files: src/if_ruby.c - -Patch 6.2.377 (after 6.2.372) -Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey) -Solution: Add type cast. -Files: src/normal.c - -Patch 6.2.378 (extra, after 6.2.118) -Problem: Mac: cannot build with Project Builder. -Solution: Add remove_tail_with_ext() to locate and remove the "build" - directory from the runtime path. Include os_unix.c when needed. - (Dany St Amant) -Files: src/misc1.c, src/os_macosx.c, src/vim.h - -Patch 6.2.379 -Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to - "delete". (Michael Naumann) -Solution: Do not add buffer-specific option values to a global vimrc file. -Files: src/option.c - -Patch 6.2.380 (extra) -Problem: DOS: "make test" fails when running it again. Can't "make test" - with Borland C. -Solution: Make sure ".out" files are deleted when they get in the way. Add - a "test" target to the Borland C Makefile. -Files: src/Make_bc5.mak, src/testdir/Make_dos.mak - -Patch 6.2.381 -Problem: Setting 'fileencoding' to a comma separated list (confusing it - with 'fileencodings') does not result in an error message. - Setting 'fileencoding' in an empty file marks it as modified. - There is no "+" in the title after setting 'fileencoding'. -Solution: Check for a comma in 'fileencoding'. Only consider a non-empty - file modified by changing 'fileencoding'. Update the title after - changing 'fileencoding'. -Files: src/option.c - -Patch 6.2.382 -Problem: Running "make test" puts marks from test files in viminfo. -Solution: Specify a different viminfo file to use. -Files: src/testdir/test15.in, src/testdir/test49.in - -Patch 6.2.383 -Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven) -Solution: Check that the closing ' is there. -Files: src/syntax.c - -Patch 6.2.384 -Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated. -Solution: Also compare the names without '&' characters. -Files: src/menu.c - -Patch 6.2.385 (extra) -Problem: Win32: forward_slash() and trash_input_buf() are undefined when - compiling with small features. (Ajit Thakkar) -Solution: Change the #ifdefs for forward_slash(). Don't call - trash_input_buf() if the input buffer isn't used. -Files: src/fileio.c, src/os_win32.c - -Patch 6.2.386 -Problem: Wasting time trying to read marks from the viminfo file for a - buffer without a name. -Solution: Skip reading marks when the buffer has no name. -Files: src/fileio.c - -Patch 6.2.387 -Problem: There is no highlighting of translated items in help files. -Solution: Search for a "help_ab.vim" syntax file when the help file is - called "*.abx". Also improve the help highlighting a bit. -Files: runtime/syntax/help.vim - -Patch 6.2.388 -Problem: GTK: When displaying some double-width characters they are drawn - as single-width, because of conversion to UTF-8. -Solution: Check the width that GTK uses and add a space if it's one instead - of two. -Files: src/gui_gtk_x11.c - -Patch 6.2.389 -Problem: When working over a slow connection, it's very annoying that the - last line is partly drawn and then cleared for every change. -Solution: Don't redraw the bottom line if no rows were inserted or deleted. - Don't draw the line if we know "@" lines will be used. -Files: src/screen.c - -Patch 6.2.390 -Problem: Using "r*" in Visual mode on multi-byte characters only replaces - every other character. (Tyson Roberts) -Solution: Correct the cursor position after replacing each character. -Files: src/ops.c - -Patch 6.2.391 (extra) -Problem: The ":highlight" command is not tested. -Solution: Add a test script for ":highlight". -Files: src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/test51.in, - src/testdir/test51.ok - -Patch 6.2.392 (after 6.2.384) -Problem: Unused variable. -Solution: Remove "dlen". -Files: src/menu.c - -Patch 6.2.393 -Problem: When using very long lines the viminfo file can become very big. -Solution: Add the "s" flag to 'viminfo': skip registers with more than the - specified Kbyte of text. -Files: runtime/doc/options.txt, src/ops.c, src/option.c - -Patch 6.2.394 (after 6.2.391) -Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis) -Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute. -Files: src/testdir/test51.in - -Patch 6.2.395 -Problem: When using ":tag" or ":pop" the previous matching tag is used. - But since the current file is different, the ordering of the tags - may change. -Solution: Remember what the current buffer was for when re-using cur_match. -Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h, - src/tag.c - -Patch 6.2.396 -Problem: When CTRL-T jumps to another file and an autocommand moves the - cursor to the '" mark, don't end up on the right line. (Michal - Malecki) -Solution: Set the line number after loading the file. -Files: src/tag.c - -Patch 6.2.397 -Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work. - (Yasuhiro Matsumoto) -Solution: Do not set the 8th bit of the character but use a modifier. -Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c - -Patch 6.2.398 (extra) -Problem: Win32 console: no extra key modifiers are supported. -Solution: Encode the modifiers into the input stream. Also fix that special - keys are converted and stop working when 'tenc' is set. Also fix - that when 'tenc' is initialized the input and output conversion is - not setup properly until 'enc' or 'tenc' is set. -Files: src/getchar.c, src/option.c, src/os_win32.c - -Patch 6.2.399 -Problem: A ":set" command that fails still writes a message when it is - inside a try/catch block. -Solution: Include all the text of the message in the error message. -Files: src/charset.c, src/option.c - -Patch 6.2.400 -Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0. -Solution: Include header file poll.h. (Malte Neumann) -Files: src/if_xcmdsrv.c - -Patch 6.2.401 -Problem: When opening a buffer that was previously opened, Vim does not - restore the cursor position if the first line starts with white - space. (Gregory Margo) -Solution: Don't skip restoring the cursor position if it is past the blanks - in the first line. -Files: src/buffer.c - -Patch 6.2.402 -Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher) -Solution: Generate help tags before copying the runtime files. -Files: src/Makefile - -Patch 6.2.403 -Problem: ":@y" checks stdin if there are more commands to execute. This - fails if stdin is not connected, e.g., when starting the GUI from - KDE. (Ned Konz) -Solution: Only check for a next command if there still is typeahead. -Files: src/ex_docmd.c - -Patch 6.2.404 -Problem: Our own function to determine width of Unicode characters may get - outdated. (Markus Kuhn) -Solution: Use wcwidth() when it is available. Also use iswprint(). -Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c - -Patch 6.2.405 -Problem: Cannot map zero without breaking the count before a command. - (Benji Fisher) -Solution: Disable mapping zero when entering a count. -Files: src/getchar.c, src/globals.h, src/normal.c - -Patch 6.2.406 -Problem: ":help \zs", ":help \@=" and similar don't find useful help. -Solution: Prepend "/\" to the arguments to find the desired help tag. -Files: src/ex_cmds.c - -Patch 6.2.407 (after 6.2.299) -Problem: ":help \@<=" doesn't find help. -Solution: Avoid that ":help \@<=" searches for the "<=" language. -Files: src/tag.c - -Patch 6.2.408 -Problem: ":compiler" is not consistent: Sets local options and a global - variable. (Douglas Potts) There is no error message when a - compiler is not supported. -Solution: Use ":compiler!" to set a compiler globally, otherwise it's local - to the buffer and "b:current_compiler" is used. Give an error - when no compiler script could be found. - Note: updated compiler plugins can be found at - ftp://ftp.vim.org/pub/vim/runtime/compiler/ -Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c, - src/ex_cmds2.c - -Patch 6.2.409 -Problem: The cursor ends up in the last column instead of after the line - when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)". - (Toby Allsopp) -Solution: Adjust the cursor as if in Insert mode. -Files: src/misc1.c - -Patch 6.2.410 (after 6.2.389) -Problem: In diff mode, when there are more filler lines than fit in the - window, they are not drawn. -Solution: Check for filler lines when skipping to draw a line that doesn't - fit. -Files: src/screen.c - -Patch 6.2.411 -Problem: A "\n" inside a string is not seen as a line break by the regular - expression matching. (Hari Krishna Dara) -Solution: Add the vim_regexec_nl() function for strings where "\n" is to be - matched with a line break. -Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c - -Patch 6.2.412 -Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also - for ":python", ":tcl" and ":perl". -Solution: Check for "<< marker" and skip until "marker" before checking for - "endfunction". -Files: src/eval.c - -Patch 6.2.413 (after 6.2.411) -Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky) -Solution: Now really include the prototype. -Files: src/proto/regexp.pro - -Patch 6.2.414 -Problem: The function used for custom completion of user commands cannot - have <SID> to make it local. (Hari Krishna Dara) -Solution: Pass the SID of the script where the user command was defined on - to the completion. Also clean up #ifdefs. -Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h - -Patch 6.2.415 -Problem: Vim may crash after a sequence of events that change the window - size. The window layout assumes a larger window than is actually - available. (Servatius Brandt) -Solution: Invoke win_new_shellsize() from screenalloc() instead of from - set_shellsize(). -Files: src/screen.c, src/term.c - -Patch 6.2.416 -Problem: Compiler warning for incompatible pointer. -Solution: Remove the "&" in the call to poll(). (Xavier de Gaye) -Files: src/os_unix.c - -Patch 6.2.417 (after 6.2.393) -Problem: Many people forget that the '"' item in 'viminfo' needs to be - preceded with a backslash, -Solution: Add '<' as an alias for the '"' item. -Files: runtime/doc/options.txt, src/ops.c, src/option.c - -Patch 6.2.418 -Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx": - when pressing <F12> still uses the abbreviation. (Hari Krishna) -Solution: Also apply "noremap" to abbreviations. -Files: src/getchar.c - -Patch 6.2.419 (extra) -Problem: Win32: Cannot open the Vim window inside another application. -Solution: Add the "-P" argument to specify the window title of the - application to run inside. (Zibo Zhao) -Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c, - src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c, - src/proto/gui_w32.pro - -Patch 6.2.420 -Problem: Cannot specify a file to be edited in binary mode without setting - the global value of the 'binary' option. -Solution: Support ":edit ++bin file". -Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h, - src/ex_docmd.c, src/fileio.c, src/misc2.c - -Patch 6.2.421 -Problem: Cannot set the '[ and '] mark, which may be necessary when an - autocommand simulates reading a file. -Solution: Allow using "m[" and "m]". -Files: runtime/doc/motion.txt, src/mark.c - -Patch 6.2.422 -Problem: In CTRL-X completion messages the "/" makes them less readable. -Solution: Remove the slashes. (Antony Scriven) -Files: src/edit.c - -Patch 6.2.423 -Problem: ":vertical wincmd ]" does not split vertically. -Solution: Add "postponed_split_flags". -Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c - -Patch 6.2.424 -Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from - working in Insert mode (Normal mode is OK). (Gregory Seidman) -Solution: In the Insert mode loop invoke gui_mouse_correct() when needed. -Files: src/edit.c - -Patch 6.2.425 -Problem: Vertical split and command line window: can only drag status line - above the cmdline window on the righthand side, not lefthand side. -Solution: Check the status line row instead of the window pointer. -Files: src/ui.c - -Patch 6.2.426 -Problem: A syntax region end match with a matchgroup that includes a line - break only highlights the last line with matchgroup. (Gary - Holloway) -Solution: Also use the line number of the position where the region - highlighting ends. -Files: src/syntax.c - -Patch 6.2.427 (extra) -Problem: When pasting a lot of text in a multi-byte encoding, conversion - from 'termencoding' to 'encoding' may fail for some characters. - (Kuang-che Wu) -Solution: When there is an incomplete byte sequence at the end of the read - text keep it for the next time. -Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro, - src/proto/os_mswin.pro, src/ui.c - -Patch 6.2.428 -Problem: The X11 clipboard supports the Vim selection for char/line/block - mode, but since the encoding is not included can't copy/paste - between two Vims with a different 'encoding'. -Solution: Add a new selection format that includes the 'encoding'. Perform - conversion when necessary. -Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h - -Patch 6.2.429 -Problem: Unix: glob() doesn't work for a directory with a single quote in - the name. (Nazri Ramliy) -Solution: When using the shell to expand, only put double quotes around - spaces and single quotes, not the whole thing. -Files: src/os_unix.c - -Patch 6.2.430 -Problem: BOM at start of a vim script file is not recognized and causes an - error message. -Solution: Detect the BOM and skip over it. Also fix that after using - ":scriptencoding" the iconv() file descriptor was not closed - (memory leak). -Files: src/ex_cmds2.c - -Patch 6.2.431 -Problem: When using the horizontal scrollbar, the scrolling is limited to - the length of the cursor line. -Solution: Make the scroll limit depend on the longest visible line. The - cursor is moved when necessary. Including the 'h' flag in - 'guioptions' disables this. -Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c, - src/misc2.c, src/option.h - -Patch 6.2.432 (after 6.2.430 and 6.2.431) -Problem: Lint warnings. -Solution: Add type casts. -Files: src/ex_cmds2.c, src/gui.c - -Patch 6.2.433 -Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good - result. (Alejandro Lopez Valencia) -Solution: Use a string for each combination. -Files: src/screen.c - -Patch 6.2.434 (after 6.2.431) -Problem: Compiler warning. (Salman Halim) -Solution: Add type casts. -Files: src/gui.c - -Patch 6.2.435 -Problem: When there are vertically split windows the minimal Vim window - height is computed wrong. -Solution: Use frame_minheight() to correctly compute the minimal height. -Files: src/window.c - -Patch 6.2.436 -Problem: Running the tests changes the user's viminfo file. -Solution: In test 49 tell the extra Vim to use the test viminfo file. -Files: src/testdir/test49.vim - -Patch 6.2.437 -Problem: ":mksession" always puts "set nocompatible" in the session file. - This changes option settings. (Ron Aaron) -Solution: Add an "if" to only change 'compatible' when needed. -Files: src/ex_docmd.c - -Patch 6.2.438 -Problem: When the 'v' flag is present in 'cpoptions', backspacing and then - typing text again: one character too much is overtyped before - inserting is done again. -Solution: Set "dollar_vcol" to the right column. -Files: src/edit.c - -Patch 6.2.439 -Problem: GTK 2: Changing 'lines' may cause a mismatch between the window - layout and the size of the window. -Solution: Disable the hack with force_shell_resize_idle(). -Files: src/gui_gtk_x11.c - -Patch 6.2.440 -Problem: When 'lazyredraw' is set the window title is still updated. - The size of the Visual area and the ruler are displayed too often. -Solution: Postpone redrawing the window title. Only show the Visual area - size when waiting for a character. Don't draw the ruler - unnecessary. -Files: src/buffer.c, src/normal.c, src/screen.c - -Patch 6.2.441 -Problem: ":unabbreviate foo " doesn't work, because of the trailing space, - while an abbreviation with a trailing space is not possible. (Paul - Jolly) -Solution: Accept a match with the lhs of an abbreviation without the - trailing space. -Files: src/getchar.c - -Patch 6.2.442 -Problem: Cannot manipulate the command line from a function. -Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the - CTRL-\ e command. -Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c - src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, - src/proto/ops.pro - -Patch 6.2.443 -Problem: With ":silent! echoerr something" you don't get the position of - the error. emsg() only writes the message itself and returns. -Solution: Also redirect the position of the error. -Files: src/message.c - -Patch 6.2.444 -Problem: When adding the 'c' flag to a ":substitute" command it may replace - more times than without the 'c' flag. Happens for a match that - starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus - Bosau). -Solution: Correct "prev_matchcol" when replacing the line. Don't replace - the line when the pattern uses look-behind matching. -Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c - -Patch 6.2.445 -Problem: Copying vimtutor to /tmp/something is not secure, a symlink may - cause trouble. -Solution: Create a directory and create the file in it. Use "umask" to - create the directory with mode 700. (Stefan Nordhausen) -Files: src/vimtutor - -Patch 6.2.446 (after 6.2.404) -Problem: Using library functions wcwidth() and iswprint() results in - display problems for Hebrew characters. (Ron Aaron) -Solution: Disable the code to use the library functions, use our own. -Files: src/mbyte.c - -Patch 6.2.447 (after 6.2.440) -Problem: Now that the title is only updated when redrawing, it is no longer - possible to show it while executing a function. (Madoka Machitani) -Solution: Make ":redraw" also update the title. -Files: src/ex_docmd.c - -Patch 6.2.448 (after 6.2.427) -Problem: Mac: conversion done when 'termencoding' differs from 'encoding' - fails when pasting a longer text. -Solution: Check for an incomplete sequence at the end of the chunk to be - converted. (Eckehard Berns) -Files: src/mbyte.c - -Patch 6.2.449 (after 6.2.431) -Problem: Get error messages when switching files. -Solution: Check for a valid line number when calculating the width of the - horizontal scrollbar. (Helmut Stiegler) -Files: src/gui.c - -Patch 6.2.450 -Problem: " #include" and " #define" are not recognized with the default - option values for 'include' and 'defined'. (RG Kiran) -Solution: Adjust the default values to allow white space before the #. -Files: runtime/doc/options.txt, src/option.c - -Patch 6.2.451 -Problem: GTK: when using XIM there are various problems, including setting - 'modified' and breaking undo at the wrong moment. -Solution: Add "xim_changed_while_preediting", "preedit_end_col" and - im_is_preediting(). (Yasuhiro Matsumoto) -Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c, - src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c, - src/undo.c - -Patch 6.2.452 -Problem: In diff mode, when DiffAdd and DiffText highlight settings are - equal, an added line is highlighted with DiffChange. (Tom Schumm) -Solution: Remember the diff highlight type instead of the attributes. -Files: src/screen.c - -Patch 6.2.453 -Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar". - (Pavel Papushev) -Solution: When the pattern can match a line break also try matching at the - NUL at the end of a line. -Files: src/ex_cmds.c, src/regexp.c - -Patch 6.2.454 -Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let - b:changedtick = 99" does not give an error message. -Solution: Add code to recognize ":let b:changedtick". -Files: src/eval.c - -Patch 6.2.455 (after 6.2.297) -Problem: In Python commands the current locale changes how certain Python - functions work. (Eugene M. Minkovskii) -Solution: Set the LC_NUMERIC locale to "C" while executing a Python command. -Files: src/if_python.c - -Patch 6.2.456 (extra) -Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or - using the file selection dialog) doesn't work. (Yakov Lerner, Alex - Jakushev) -Solution: Use wide character functions when file names are involved and - convert from/to 'encoding' where needed. -Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c, - src/os_mswin.c, src/os_win32.c - -Patch 6.2.457 (after 6.2.244) -Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80 - in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm) -Solution: Correct the utf_ptr2len_check_len() function and fix the problem - of displaying 0xf7 in utfc_ptr2len_check_len(). -Files: src/mbyte.c - -Patch 6.2.458 -Problem: When 'virtualedit' is set "$" doesn't move to the end of an - unprintable character, causing "y$" not to include that character. - (Fred Ma) -Solution: Set "coladd" to move the cursor to the end of the character. -Files: src/misc2.c - -Patch 6.2.459 (after 6.2.454) -Problem: Variable "b" cannot be written. (Salman Halim) -Solution: Compare strings properly. -Files: src/eval.c - -Patch 6.2.460 (extra, after 6.2.456) -Problem: Compiler warnings for missing prototypes. -Solution: Include the missing prototypes. -Files: src/proto/os_win32.pro - -Patch 6.2.461 -Problem: After using a search command "x" starts putting single characters - in the numbered registers. -Solution: Reset "use_reg_one" at the right moment. -Files: src/normal.c - -Patch 6.2.462 -Problem: Finding a matching parenthesis does not correctly handle a - backslash in a trailing byte. -Solution: Handle multi-byte characters correctly. (Taro Muraoka) -Files: src/search.c - -Patch 6.2.463 (extra) -Problem: Win32: An NTFS file system may contain files with extra info - streams. The current method to copy them creates one and then - deletes it again. (Peter Toennies) Also, only three streams with - hard coded names are copied. -Solution: Use BackupRead() to check which info streams the original file - contains and only copy these streams. -Files: src/os_win32.c - -Patch 6.2.464 (extra, after 6.2.427) -Problem: Amiga: Compilation error with gcc. (Ali Akcaagac) -Solution: Move the #ifdef outside of Read(). -Files: src/os_amiga.c - -Patch 6.2.465 -Problem: When resizing the GUI window the window manager sometimes moves it - left of or above the screen. (Michael McCarty) -Solution: Check the window position after resizing it and move it onto the - screen when it isn't. -Files: src/gui.c - -Patch 6.2.466 (extra, after 6.2.456) -Problem: Win32: Compiling with Borland C fails, and an un/signed warning. -Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro - Matsumoto) -Files: src/os_win32.c - -Patch 6.2.467 (extra, after 6.2.463) -Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar) -Solution: Add #ifdefs around the info stream code. -Files: src/os_win32.c - -Patch 6.2.468 -Problem: Compiler warnings for shadowed variables. (Matthias Mohr) -Solution: Delete superfluous variables and rename others. -Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c, - src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c, - src/regexp.c - -Patch 6.2.469 (extra, after 6.2.456) -Problem: Win32: Can't create swap file when 'encoding' differs from the - active code page. (Kriton Kyrimis) -Solution: In enc_to_ucs2() terminate the converted string with a NUL -Files: src/os_mswin.c - -Patch 6.2.470 -Problem: The name returned by tempname() may be equal to the file used for - shell output when ignoring case. -Solution: Skip 'O' and 'I' in tempname(). -Files: src/eval.c - -Patch 6.2.471 -Problem: "-L/usr/lib" is used in the link command, even though it's - supposed to be filtered out. "-lw" and "-ldl" are not - automatically added when needed for "-lXmu". (Antonio Colombo) -Solution: Check for a space after the argument instead of before. Also - remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl" - before trying "-lXmu". -Files: src/auto/configure, src/configure.in, src/link.sh - -Patch 6.2.472 -Problem: When using a FileChangedShell autocommand that changes the current - buffer, a buffer exists that can't be wiped out. - Also, Vim sometimes crashes when executing an external command - that changes the buffer and a FileChangedShell autocommand is - used. (Hari Krishna Dara) - Users are confused by the warning for a file being changed outside - of Vim. -Solution: Avoid that the window counter for a buffer is incremented twice. - Avoid that buf_check_timestamp() is used recursively. - Add a hint to look in the help for more info. -Files: src/ex_cmds.c, src/fileio.c - -Patch 6.2.473 -Problem: Using CTRL-] in a help buffer without a name causes a crash. -Solution: Check for name to be present before using it. (Taro Muraoka) -Files: src/tag.c - -Patch 6.2.474 (extra, after 6.2.456) -Problem: When Vim is starting up conversion is done unnecessarily. Failure - to find the runtime files on Windows 98. (Randall W. Morris) -Solution: Init enc_codepage negative, only use it when not negative. - Don't use GetFileAttributesW() on Windows 98 or earlier. -Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, - src/os_win32.c - -Patch 6.2.475 -Problem: Commands after "perl <<EOF" are parsed as Vim commands when they - are not executed. -Solution: Properly skip over the perl commands. -Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c, - src/if_ruby.c, src/if_tcl.c, src/misc2.c - -Patch 6.2.476 -Problem: When reloading a hidden buffer changed outside of Vim and the - current buffer is read-only, the reloaded buffer becomes - read-only. (Hari Krishna Dara) -Solution: Save the 'readonly' flag of the reloaded buffer instead of the - current buffer. -Files: src/fileio.c - -Patch 6.2.477 -Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang. - (Yakov Lerner) -Solution: When the resulting string is empty don't set received_from_client. -Files: src/main.c - -Patch 6.2.478 -Problem: Win32: "--remote file" fails changing directory if the current - directory name starts with a single quote. (Iestyn Walters) -Solution: Add a backslash where it will be removed later. -Files: src/main.c, src/misc2.c, src/proto/misc2.pro - -Patch 6.2.479 -Problem: The error message for errors during recovery goes unnoticed. -Solution: Avoid that the hit-enter prompt overwrites the message. Add a few - lines to make the error stand out. -Files: src/main.c, src/message.c, src/memline.c - -Patch 6.2.480 -Problem: NetBeans: Using negative index in array. backslash at end of - message may cause Vim to crash. (Xavier de Gaye) -Solution: Initialize buf_list_used to zero. Check for trailing backslash. -Files: src/netbeans.c - -Patch 6.2.481 -Problem: When writing a file it is not possible to specify that hard and/or - symlinks are to be broken instead of preserved. -Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'. - (Simon Ekstrand) -Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h - -Patch 6.2.482 -Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is - considered to be a digit. (Juergen Kraemer) -Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for - speed where possible. Also add vim_isxdigit(). -Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c, - src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, - src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c, - src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h, - src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c, - src/misc2.c, src/normal.c, src/ops.c, src/option.c, - src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c, - src/syntax.c, src/tag.c, src/term.c, src/termlib.c - -Patch 6.2.483 (extra, after 6.2.482) -Problem: See 6.2.482. -Solution: Extra part of patch 6.2.482. -Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c - -Patch 6.2.484 -Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z - are not recognized. (Peter Keresztes) -Solution: Write the files with unix fileformat and invoke diff with --binary - if possible. -Files: src/diff.c - -Patch 6.2.485 -Problem: A BufWriteCmd autocommand cannot know if "!" was used or not. - (Hari Krishna Dara) -Solution: Add the v:cmdbang variable. -Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, - src/fileio.c, src/vim.h - -Patch 6.2.486 (6.2.482) -Problem: Diff for eval.c is missing. -Solution: Addition to patch 6.2.482. -Files: src/eval.c - -Patch 6.2.487 (extra, after 6.2.456) -Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia) -Solution: Delete the prototype for Handle_WM_Notify(). -Files: src/proto/gui_w32.pro - -Patch 6.2.488 -Problem: Missing ")" in *.ch filetype detection. -Solution: Add the ")". (Ciaran McCreesh) -Files: runtime/filetype.vim - -Patch 6.2.489 -Problem: When accidentally opening a session in Vim which has already been - opened in another Vim there is a long row of ATTENTION prompts. - Need to quit each of them to get out. (Robert Webb) -Solution: Add the "Abort" alternative to the dialog. -Files: src/memline.c - -Patch 6.2.490 -Problem: With 'paragraph' it is not possible to use a single dot as a - paragraph boundary. (Dorai Sitaram) -Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or - ". $" -Files: src/search.c - -Patch 6.2.491 -Problem: Decrementing a position doesn't take care of multi-byte chars. -Solution: Adjust the column for multi-byte characters. Remove mb_dec(). - (Yasuhiro Matsumoto) -Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro - -Patch 6.2.492 -Problem: When using ":redraw" while there is a message, the next ":echo" - still causes text to scroll. (Yasuhiro Matsumoto) -Solution: Reset msg_didout and msg_col, so that after ":redraw" the next - message overwrites an existing one. -Files: src/ex_docmd.c - -Patch 6.2.493 -Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher) -Solution: Put "restart_edit" in the typeahead buffer, so that it's used - after executing the register contents. -Files: src/ops.c - -Patch 6.2.494 -Problem: Using diff mode with two windows, when moving horizontally in - inserted lines, a fold in the other window may open. -Solution: Compute the line number in the other window correctly. -Files: src/diff.c - -Patch 6.2.495 (extra, after 6.2.456) -Problem: Win32: The file dialog doesn't work on Windows 95. -Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use - it only on Windows NT/2000/XP. -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.2.496 -Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a - complicated pattern may cause Vim to crash. Catching the signal - doesn't work. -Solution: When compiled with threads, instead of using the normal stacksize - limit, use the size of the initial stack. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/os_unix.c - -Patch 6.2.497 (extra) -Problem: Russian messages are only available in one encoding. -Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin) -Files: src/po/Makefile - -Patch 6.2.498 -Problem: Non-latin1 help files are not properly supported. -Solution: Support utf-8 help files and convert them to 'encoding' when - needed. -Files: src/fileio.c - -Patch 6.2.499 -Problem: When writing a file and halting the system, the file might be lost - when using a journaling file system. -Solution: Use fsync() to flush the file data to disk after writing a file. - (Radim Kolar) -Files: src/fileio.c - -Patch 6.2.500 (extra) -Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for - diff. -Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez- - Valencia) -Files: src/dosinst.c - -Patch 6.2.501 -Problem: Vim does not compile with MorphOS. -Solution: Add a Makefile and a few changes to make Vim work with MorphOS. - (Ali Akcaagac) -Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt, - src/Make_morphos.mak, src/memfile.c, src/term.c - -Patch 6.2.502 -Problem: Building fails for generating message files. -Solution: Add dummy message files. -Files: src/po/ca.po, src/po/ru.po, src/po/sv.po - -Patch 6.2.503 -Problem: Mac: Can't compile MacRoman conversions without the GUI. -Solution: Also link with the Carbon framework for the terminal version, for - the MacRoman conversion functions. (Eckehard Berns) - Remove -ltermcap from the GUI link command, it is not needed. -Files: src/auto/configure, src/Makefile, src/configure.in - -Patch 6.2.504 -Problem: Various problems with 'cindent', among which that a - list of variable declarations is not indented properly. -Solution: Fix the wrong indenting. Improve indenting of C++ methods. - Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by - Helmut Stiegler) - Improve indenting of preprocessor-continuation lines. -Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, - src/testdir/test3.ok - -Patch 6.2.505 -Problem: Help for -P argument is missing. (Ronald Hoellwarth) -Solution: Add the patch that was missing in 6.2.419. -Files: runtime/doc/starting.txt - -Patch 6.2.506 (extra) -Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file - only works when iconv is available. Writing a file in another - codepage uses the wrong kind of conversion. -Solution: Use internal conversion functions. Enable reading and writing - files with 'fileencoding' different from 'encoding' for all valid - codepages and utf-8 without the need for iconv. -Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in, - src/testdir/test52.ok - -Patch 6.2.507 -Problem: The ownership of the file with the password for the NetBeans - connection is not checked. "-nb={file}" doesn't work for GTK. -Solution: Only accept the file when owned by the user and not accessible by - others. Detect "-nb=" for GTK. -Files: src/netbeans.c, src/gui_gtk_x11.c - -Patch 6.2.508 -Problem: Win32: "v:lang" does not show the current language for messages if - it differs from the other locale settings. -Solution: Use the value of the $LC_MESSAGES environment variable. -Files: src/ex_cmds2.c - -Patch 6.2.509 (after 6.2.508) -Problem: Crash when $LANG is not set. -Solution: Add check for NULL pointer. (Ron Aaron) -Files: src/ex_cmds2.c - -Patch 6.2.510 (after 6.2.507) -Problem: Warning for pointer conversion. -Solution: Add a type cast. -Files: src/gui_gtk_x11.c - -Patch 6.2.511 -Problem: Tags in Russian help files are in utf-8 encoding, which may be - different from 'encoding'. -Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the - encoding of the tags. Convert help tags from 'encoding' to the - tag file encoding when searching for matches, do the reverse when - listing help tags. -Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c - -Patch 6.2.512 -Problem: Translating "\"\n" is useless. (Gerfried Fuchs) -Solution: Remove the _() around it. -Files: src/main.c, src/memline.c - -Patch 6.2.513 (after 6.2.507) -Problem: NetBeans: the check for owning the connection info file can be - simplified. (Nikolay Molchanov) -Solution: Only check if the access mode is right. -Files: src/netbeans.c - -Patch 6.2.514 -Problem: When a highlight/syntax group name contains invalid characters - there is no warning. -Solution: Add an error for unprintable characters and a warning for other - invalid characters. -Files: src/syntax.c - -Patch 6.2.515 -Problem: When using the options window 'swapfile' is reset. -Solution: Use ":setlocal" instead of ":set". -Files: runtime/optwin.vim - -Patch 6.2.516 -Problem: The sign column cannot be seen, looks like there are two spaces - before the text. (Rob Retter) -Solution: Add the SignColumn highlight group. -Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, - src/screen.c, src/syntax.c, src/vim.h - -Patch 6.2.517 -Problem: Using "r*" in Visual mode on multi-byte characters replaces - too many characters. In Visual Block mode replacing with a - multi-byte character doesn't work. -Solution: Adjust the operator end for the difference in byte length of the - original and the replaced character. Insert all bytes of a - multi-byte character, take care of double-wide characters. -Files: src/ops.c - -Patch 6.2.518 -Problem: Last line of a window is not updated after using "J" and then "D". - (Adri Verhoef) -Solution: When no line is found below a change that doesn't need updating, - update all lines below the change. -Files: src/screen.c - -Patch 6.2.519 -Problem: Mac: cannot read/write files in MacRoman format. -Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1. - (Eckehard Berns) -Files: src/fileio.c - -Patch 6.2.520 (extra) -Problem: The NSIS installer is outdated. -Solution: Make it work with NSIS 2.0. Also include console executables for - Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use - "/oname" to avoid having to rename files before running NSIS. -Files: Makefile, nsis/gvim.nsi - -Patch 6.2.521 -Problem: When using silent Ex mode the "changing a readonly file" warning - is omitted but the one second wait isn't. (Yakov Lerner) -Solution: Skip the delay when "silent_mode" is set. -Files: src/misc1.c - -Patch 6.2.522 -Problem: GUI: when changing 'cmdheight' in the gvimrc file the window - layout is messed up. (Keith Dart) -Solution: Skip updating the window layout when changing 'cmdheight' while - still starting up. -Files: src/option.c - -Patch 6.2.523 -Problem: When loading a session and aborting when a swap file already - exists, the user is left with useless windows. (Robert Webb) -Solution: Load one file before creating the windows. -Files: src/ex_docmd.c - -Patch 6.2.524 (extra, after 6.2.520) -Problem: Win32: (un)installing gvimext.dll may fail if it was used. - The desktop and start menu links are created for the current user - instead of all users. - Using the home directory as working directory for the links is a - bad idea for multi-user systems. - Cannot use Vim from the "Open With..." menu. -Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use - macros for the directory of the source and runtime files. Use - "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. - Do not specify a working directory in the links. - Add Vim to the "Open With..." menu. (Giuseppe Bilotta) -Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c - -Patch 6.2.525 -Problem: When the history contains a very long line ":history" causes a - crash. (Volker Kiefel) -Solution: Shorten the history entry to fit it in one line. -Files: src/ex_getln.c - -Patch 6.2.526 -Problem: When s:lang is "ja" the Japanese menus are not used. -Solution: Add 'encoding' to the language when there is no charset. -Files: runtime/menu.vim - -Patch 6.2.527 -Problem: The 2html script uses ":wincmd p", which breaks when using some - autocommands. -Solution: Remember the window numbers and jump to them with ":wincmd w". - Also add XHTML support. (Panagiotis Issaris) -Files: runtime/syntax/2html.vim - -Patch 6.2.528 -Problem: NetBeans: Changes of the "~" command are not reported. -Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) - Also change NetBeans debugging to append to the log file. - Also fix that "~" in Visual block mode changes too much if there - are multi-byte characters. -Files: src/nbdebug.c, src/normal.c, src/ops.c - -Patch 6.2.529 (extra) -Problem: VisVim only works for Admin. Doing it for one user doesn't work. - (Alexandre Gouraud) -Solution: When registering the module fails, simply continue. -Files: src/VisVim/VisVim.cpp - -Patch 6.2.530 -Problem: Warning for missing prototype on the Amiga. -Solution: Include time.h -Files: src/version.c - -Patch 6.2.531 -Problem: In silent ex mode no messages are given, which makes debugging - very difficult. -Solution: Do output messages when 'verbose' is set. -Files: src/message.c, src/ui.c - -Patch 6.2.532 (extra) -Problem: Compiling for Win32s with VC 4.1 doesn't work. -Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* - when not defined. -Files: src/dosinst.h, src/fileio.c - -Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto) - -Patch 6.3a.001 -Problem: Win32: if testing for the "--binary" option fails, diff isn't used - at all. -Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto) -Files: src/diff.c - -Patch 6.3a.002 -Problem: NetBeans: An insert command from NetBeans beyond the end of a - buffer crashes Vim. (Xavier de Gaye) -Solution: Use a local pos_T structure for the position. -Files: src/netbeans.c - -Patch 6.3a.003 -Problem: E315 error with auto-formatting comments. (Henry Van Roessel) -Solution: Pass the line number to same_leader(). -Files: src/ops.c - -Patch 6.3a.004 -Problem: Test32 fails on Windows XP for the DJGPP version. Renaming - test11.out fails. -Solution: Don't try renaming, create new files to use for the test. -Files: src/testdir/test32.in, src/testdir/test32.ok - -Patch 6.3a.005 -Problem: ":checkpath!" does not use 'includeexpr'. -Solution: Use a file name that was found directly. When a file was not - found and the located name is empty, use the rest of the line. -Files: src/search.c - -Patch 6.3a.006 -Problem: "yip" moves the cursor to the first yanked line, but not to the - first column. Looks like not all text was yanked. (Jens Paulus) -Solution: Move the cursor to the first column. -Files: src/search.c - -Patch 6.3a.007 -Problem: 'cindent' recognizes "enum" but not "typedef enum". -Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler) - Also avoid that searching for this item goes too far back. -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 6.3a.008 (extra) -Problem: Windows 98: Some of the wide functions are not implemented, - resulting in file I/O to fail. This depends on what Unicode - support is installed. -Solution: Handle the failure and fall back to non-wide functions. -Files: src/os_win32.c - -Patch 6.3a.009 -Problem: Win32: Completion of filenames does not work properly when - 'encoding' differs from the active code page. -Solution: Use wide functions for expanding wildcards when appropriate. -Files: src/misc1.c - -Patch 6.3a.010 (extra) -Problem: Win32: Characters in the window title that do not appear in the - active codepage are replaced by a question mark. -Solution: Use DefWindowProcW() instead of DefWindowProc() when possible. -Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, - src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.3a.011 -Problem: Using the explorer plugin changes a local directory to the global - directory. -Solution: Don't use ":chdir" to restore the current directory. Make - "expand('%:p')" remove "/../" and "/./" items from the path. -Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c - -Patch 6.3a.012 (extra) -Problem: On Windows 98 the installer doesn't work, don't even get the "I - agree" button. The check for the path ending in "vim" makes the - browse dialog hard to use. The default path when no previous Vim - is installed is "c:\vim" instead of "c:\Program Files\Vim". -Solution: Remove the background gradient command. Change the - .onVerifyInstDir function to a leave function for the directory - page. Don't let the install program default to c:\vim when no - path could be found. -Files: nsis/gvim.nsi, src/dosinst.c - -Patch 6.3a.013 (extra) -Problem: Win32: Characters in the menu that are not in the active codepage - are garbled. -Solution: Convert menu strings from 'encoding' to the active codepage. -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.3a.014 -Problem: Using multi-byte text and highlighting in a statusline causes gaps - to appear. (Helmut Stiegler) -Solution: Advance the column by text width instead of number of bytes. Add - the vim_strnsize() function. -Files: src/charset.c, src/proto/charset.pro, src/screen.c - -Patch 6.3a.015 -Problem: Using the "select all" menu item when 'insertmode' is set and - clicking the mouse button doesn't return to Insert mode. The - Buffers/Delete menu doesn't offer a choice to abandon a changed - buffer. (Jens Paulus) -Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu - items. -Files: runtime/menu.vim - -Patch 6.3a.016 -Problem: After cancelling the ":confirm" dialog the error message and - hit-enter prompt may not be displayed properly. -Solution: Flush output after showing the dialog. -Files: src/message.c - -Patch 6.3a.017 -Problem: servername() doesn't work when Vim was started with the "-X" - argument or when the "exclude" in 'clipboard' matches the terminal - name. (Robert Nowotniak) -Solution: Force connecting to the X server when using client-server - commands. -Files: src/eval.c, src/globals.h, src/os_unix.c - -Patch 6.3a.018 (after 6.3a.017) -Problem: Compiler warning for return value of make_connection(). -Solution: Use void return type. -Files: src/eval.c - -Patch 6.3a.019 (extra) -Problem: Win32: typing non-latin1 characters doesn't work. -Solution: Invoke _OnChar() directly to avoid that the argument is truncated - to a byte. Convert the UTF-16 character to bytes according to - 'encoding' and ignore 'termencoding'. Same for _OnSysChar(). -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.3a.020 (extra) -Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI - doesn't work. -Solution: Add AROS support. (Adam Chodorowski) - Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac) -Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, - src/memfile.c, src/os_amiga.c, src/term.c - -Patch 6.3a.021 (after 6.3a.017) -Problem: Can't compile with X11 but without GUI. -Solution: Put use of "gui.in_use" inside an #ifdef. -Files: src/eval.c - -Patch 6.3a.022 -Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a - tab is counted for two spaces. -Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted - as two spaces or as 'tabstop'. (Antony Scriven) -Files: runtime/doc/options.txt, src/edit.c - -Patch 6.3a.023 -Problem: Completion on the command line doesn't handle backslashes - properly. Only the tail of matches is shown, even when not - completing filenames. -Solution: When turning the string into a pattern double backslashes. Don't - omit the path when not expanding files or directories. -Files: src/ex_getln.c - -Patch 6.3a.024 -Problem: The "save all" toolbar item fails for buffers that don't have a - name. When using ":wa" or closing the Vim window and there are - nameless buffers, browsing for a name may cause the name being - given to the wrong buffer or not stored properly. ":browse" only - worked for one file. -Solution: Use ":confirm browse" for "save all". - Pass buffer argument to setfname(). Restore "browse" flag and - "forceit" after doing the work for one file. -Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, - src/message.c, src/window.c, src/proto/buffer.pro, - src/proto/ex_cmds2.pro, src/proto/memline.pro - -Patch 6.3a.025 -Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher) -Solution: Update the virtual column before using it. -Files: src/option.c - -Patch 6.3a.026 (extra, after 6.3a.008) -Problem: Editing files on Windows 98 doesn't work when 'encoding' is - "utf-8" (Antoine Mechelynck) - Warning for missing function prototype. -Solution: For all wide functions check if it failed because it is not - implemented. Use ANSI function declaration for char_to_string(). -Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c - -Patch 6.3a.027 (extra, after 6.3a.026) -Problem: Compiler warning for function argument. -Solution: Declare both char and WCHAR arrays. -Files: src/gui_w48.c - -Patch 6.3a.028 -Problem: ":normal ." doesn't work inside a function, because redo is saved - and restored. (Benji Fisher) -Solution: Make a copy of the redo buffer when executing a function. -Files: src/getchar.c - -Patch 6.3b.001 (extra) -Problem: Bcc 5: The generated auto/pathdef can't be compiled. -Solution: Fix the way quotes and backslashes are escaped. -Files: src/Make_bc5.mak - -Patch 6.3b.002 -Problem: Win32: conversion during file write fails when a double-byte - character is split over two writes. -Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka) -Files: src/fileio.c - -Patch 6.3b.003 (extra) -Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8" - then Vim can't open files under MS-Windows 98. (Antoine J. - Mechelynck) -Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation. -Files: src/os_mswin.c, src/os_win32.c - -Patch 6.3b.004 -Problem: ":helpgrep" includes a trailing CR in the text line. -Solution: Remove the CR. -Files: src/quickfix.c - -Patch 6.3b.005 -Problem: ":echo &g:ai" results in the local option value. (Salman Halim) -Solution: Pass the flags from find_option_end() to get_option_value(). -Files: src/eval.c - -Patch 6.3b.006 -Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before - last pasted character. (Mathew Davis) -Solution: Use the same Paste() function as in menu.vim. -Files: runtime/mswin.vim - -Patch 6.3b.007 -Problem: Session file doesn't restore view on windows properly. (Robert - Webb) -Solution: Restore window sizes both before and after restoring the view, so - that the view, cursor position and size are restored properly. -Files: src/ex_docmd.c - -Patch 6.3b.008 -Problem: Using ":finally" in a user command doesn't always work. (Hari - Krishna Dara) -Solution: Don't assume that using getexline() means the command was typed. -Files: src/ex_docmd.c - -Patch 6.3b.009 (extra) -Problem: Win32: When the -P argument is not found in a window title, there - is no error message. -Solution: When the window can't be found give an error message and exit. - Also use try/except to catch failing to open the MDI window. - (Michael Wookey) -Files: src/gui_w32.c - -Patch 6.3b.010 -Problem: Win32: Using the "-D" argument and expanding arguments may cause a - hang, because the terminal isn't initialized yet. (Vince Negri) -Solution: Don't go into debug mode before the terminal is initialized. -Files: src/main.c - -Patch 6.3b.011 -Problem: Using CTRL-\ e while obtaining an expression aborts the command - line. (Hari Krishna Dara) -Solution: Insert the CTRL-\ e as typed. -Files: src/ex_getln.c - -Patch 6.3b.012 (after 6.3b.010) -Problem: Can't compile with tiny features. (Norbert Tretkowski) -Solution: Add #ifdefs. -Files: src/main.c - -Patch 6.3b.013 -Problem: Loading a session file results in editing the wrong file in the - first window when this is not the file at the current position in - the argument list. (Robert Webb) -Solution: Check w_arg_idx_invalid to decide whether to edit a file. -Files: src/ex_docmd.c - -Patch 6.3b.014 -Problem: ":runtime! foo*.vim" may using freed memory when a sourced script - changes the value of 'runtimepath'. -Solution: Make a copy of 'runtimepath' when looping over the matches. -Files: src/ex_cmds2.c - -Patch 6.3b.015 -Problem: Get lalloc(0) error when using "p" in Visual mode while - 'clipboard' contains "autoselect,unnamed". (Mark Wagonner) -Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary. -Files: src/ops.c - -Patch 6.3b.016 -Problem: When 'virtualedit' is used "x" doesn't delete the last character - of a line that has as many characters as 'columns'. (Yakov Lerner) -Solution: When the cursor isn't moved let oneright() return FAIL. -Files: src/edit.c - -Patch 6.3b.017 -Problem: Win32: "vim --remote-wait" doesn't exit when the server finished - editing the file. (David Fishburn) -Solution: In the rrhelper plugin change backslashes to forward slashes and - escape special characters. -Files: runtime/plugin/rrhelper.vim - -Patch 6.3b.018 -Problem: The list of help files in the "local additions" table doesn't - recognize utf-8 encoding. (Yasuhiro Matsumoto) -Solution: Recognize utf-8 characters. -Files: src/ex_cmds.c - -Patch 6.3b.019 -Problem: When $VIMRUNTIME is not a full path name the "local additions" - table lists all the help files. -Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory - names. -Files: src/ex_cmds.c - -Patch 6.3b.020 -Problem: When using CTRL-^ when entering a search string, the item in the - statusline that indicates the keymap is not updated. (Ilya - Dogolazky) -Solution: Mark the statuslines for updating. -Files: src/ex_getln.c - -Patch 6.3b.021 -Problem: The swapfile is not readable for others, the ATTENTION prompt does - not show all info when someone else is editing the same file. - (Marcel Svitalsky) -Solution: Use the protection of original file for the swapfile and set it - after creating the swapfile. -Files: src/fileio.c - -Patch 6.3b.022 -Problem: Using "4v" to select four times the old Visual area may put the - cursor beyond the end of the line. (Jens Paulus) -Solution: Correct the cursor column. -Files: src/normal.c - -Patch 6.3b.023 -Problem: When "3dip" starts in an empty line, white lines after the - non-white lines are not deleted. (Jens Paulus) -Solution: Include the white lines. -Files: src/search.c - -Patch 6.3b.024 -Problem: "2daw" does not delete leading white space like "daw" does. (Jens - Paulus) -Solution: Include the white space when a count is used. -Files: src/search.c - -Patch 6.3b.025 -Problem: Percentage in ruler isn't updated when a line is deleted. (Jens - Paulus) -Solution: Check for a change in line count when deciding to update the ruler. -Files: src/screen.c, src/structs.h - -Patch 6.3b.026 -Problem: When selecting "abort" at the ATTENTION prompt for a file that is - already being edited Vim crashes. -Solution: Don't abort creating a new buffer when we really need it. -Files: src/buffer.c, src/vim.h - -Patch 6.3b.027 -Problem: Win32: When enabling the menu in a maximized window, Vim uses more - lines than what is room for. (Shizhu Pan) -Solution: When deciding to call shell_resized(), also compare the text area - size with Rows and Columns, not just with screen_Rows and - screen_Columns. -Files: src/gui.c - -Patch 6.3b.028 -Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine) -Solution: Check for last column differently when 'rightleft' is set. -Files: src/screen.c - -Patch 6.3b.029 -Problem: Win32: warning for uninitialized variable. -Solution: Initialize to zero. -Files: src/misc1.c - -Patch 6.3b.030 -Problem: After Visually selecting four characters, changing it to other - text, Visually selecting and yanking two characters: "." changes - four characters, another "." changes two characters. (Robert Webb) -Solution: Don't store the size of the Visual area when redo is active. -Files: src/normal.c - -============================================================================== -VERSION 6.4 *version-6.4* - -This section is about improvements made between version 6.3 and 6.4. - -This is a bug-fix release. There are also a few new features. The major -number of new items is in the runtime files and translations. - -The big MS-Windows version now uses: - Ruby version 1.8.3 - Perl version 5.8.7 - Python version 2.4.2 - - -Changed *changed-6.4* -------- - -Removed runtime/tools/tcltags, Exuberant ctags does it better. - - -Added *added-6.4* ------ - -Alsaconf syntax file (Nikolai Weibull) -Eruby syntax, indent, compiler and ftplugin file (Doug Kearns) -Esterel syntax file (Maurizio Tranchero) -Mathematica indent file (Steve Layland) -Netrc syntax file (Nikolai Weibull) -PHP compiler file (Doug Kearns) -Pascal indent file (Neil Carter) -Prescribe syntax file (Klaus Muth) -Rubyunit compiler file (Doug Kearns) -SMTPrc syntax file (Kornel Kielczewski) -Sudoers syntax file (Nikolai Weibull) -TPP syntax file (Gerfried Fuchs) -VHDL ftplugin file (R. Shankar) -Verilog-AMS syntax file (S. Myles Prather) - -Bulgarian keymap (Alberto Mardegan) -Canadian keymap (Eric Joanis) - -Hungarian menu translations in UTF-8 (Kantra Gergely) -Ukrainian menu translations (Bohdan Vlasyuk) - -Irish message translations (Kevin Patrick Scannell) - -Configure also checks for tclsh8.4. - - -Fixed *fixed-6.4* ------ - -"dFxd;" deleted the character under the cursor, "d;" didn't remember the -exclusiveness of the motion. - -When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one -line for the cmdline. (Christian Robinson) Invoke command_height() after the -GUI has started up. - -Gcc would warn "dereferencing type-punned pointer will break strict -aliasing -rules". Avoid using typecasts for variable pointers. - -Gcc 3.x interprets the -MM argument differently. Change "-I /path" to -"-isystem /path" for "make depend". - - -Patch 6.3.001 -Problem: ":browse split" gives the file selection dialog twice. (Gordon - Bazeley) Same problem for ":browse diffpatch". -Solution: Reset cmdmod.browse before calling do_ecmd(). -Files: src/diff.c, src/ex_docmd.c - -Patch 6.3.002 -Problem: When using translated help files with non-ASCII latin1 characters - in the first line the utf-8 detection is wrong. -Solution: Properly detect utf-8 characters. When a mix of encodings is - detected continue with the next language and avoid a "no matches" - error because of "got_int" being set. Add the directory name to - the error message for a duplicate tag. -Files: src/ex_cmds.c - -Patch 6.3.003 -Problem: Crash when using a console dialog and the first choice does not - have a default button. (Darin Ohashi) -Solution: Allocate two more characters for the [] around the character for - the default choice. -Files: src/message.c - -Patch 6.3.004 -Problem: When searching for a long string (140 chars in a 80 column - terminal) get three hit-enter prompts. (Robert Webb) -Solution: Avoid the hit-enter prompt when giving the message for wrapping - around the end of the buffer. Don't give that message again when - the string was not found. -Files: src/message.c, src/search.c - -Patch 6.3.005 -Problem: Crash when searching for a pattern with a character offset and - starting in a closed fold. (Frank Butler) -Solution: Check for the column to be past the end of the line. Also fix - that a pattern with a character offset relative to the end isn't - read back from the viminfo properly. -Files: src/search.c - -Patch 6.3.006 -Problem: ":breakadd file *foo" prepends the current directory to the file - pattern. (Hari Krishna Dara) -Solution: Keep the pattern as-is. -Files: src/ex_cmds2.c - -Patch 6.3.007 -Problem: When there is a buffer with 'buftype' set to "nofile" and using a - ":cd" command, the swap file is not deleted when exiting. -Solution: Use the full path of the swap file also for "nofile" buffers. -Files: src/fileio.c - -Patch 6.3.008 -Problem: Compiling fails under OS/2. -Solution: Include "e_screenmode" also for OS/2. (David Sanders) -Files: src/globals.h - -Patch 6.3.009 (after 6.3.006) -Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link - is involved. (Servatius Brandt) -Solution: Do expand the pattern when it does not start with "*". -Files: runtime/doc/repeat.txt, src/ex_cmds2.c - -Patch 6.3.010 -Problem: When writing to a named pipe there is an error for fsync() - failing. -Solution: Ignore the fsync() error for devices. -Files: src/fileio.c - -Patch 6.3.011 -Problem: Crash when the completion function of a user-command uses a - "normal :cmd" command. (Hari Krishna Dara) -Solution: Save the command line when invoking the completion function. -Files: src/ex_getln.c - -Patch 6.3.012 -Problem: Internal lalloc(0) error when using a complicated multi-line - pattern in a substitute command. (Luc Hermitte) -Solution: Avoid going past the end of a line. -Files: src/ex_cmds.c - -Patch 6.3.013 -Problem: Crash when editing a command line and typing CTRL-R = to evaluate - a function that uses "normal :cmd". (Hari Krishna Dara) -Solution: Save and restore the command line when evaluating an expression - for CTRL-R =. -Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, - src/proto/ops.pro - -Patch 6.3.014 -Problem: When using Chinese or Taiwanese the default for 'helplang' is - wrong. (Simon Liang) -Solution: Use the part of the locale name after "zh_". -Files: src/option.c - -Patch 6.3.015 -Problem: The string that winrestcmd() returns may end in garbage. -Solution: NUL-terminate the string. (Walter Briscoe) -Files: src/eval.c - -Patch 6.3.016 -Problem: The default value for 'define' has "\s" before '#'. -Solution: Add a star after "\s". (Herculano de Lima Einloft Neto) -Files: src/option.c - -Patch 6.3.017 -Problem: "8zz" may leave the cursor beyond the end of the line. (Niko - Maatjes) -Solution: Correct the cursor column after moving to another line. -Files: src/normal.c - -Patch 6.3.018 -Problem: ":0argadd zero" added the argument after the first one, instead of - before it. (Adri Verhoef) -Solution: Accept a zero range for ":argadd". -Files: src/ex_cmds.h - -Patch 6.3.019 -Problem: Crash in startup for debug version. (David Rennals) -Solution: Move the call to nbdebug_wait() to after allocating NameBuff. -Files: src/main.c - -Patch 6.3.020 -Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not - delete a word but only a combining character of the first - character, if there is one. (Raphael Finkel) -Solution: Correctly check that one character is being deleted. -Files: src/misc1.c - -Patch 6.3.021 -Problem: When the last character of a file name is a multi-byte character - and the last byte is a path separator, the file cannot be edited. -Solution: Check for the last byte to be part of a multi-byte character. - (Taro Muraoka) -Files: src/fileio.c - -Patch 6.3.022 (extra) -Problem: Win32: When the last character of a file name is a multi-byte - character and the last byte is a path separator, the file cannot - be written. A trail byte that is a space makes that a file cannot - be opened from the command line. -Solution: Recognize double-byte characters when parsing the command line. - In mch_stat() check for the last byte to be part of a multi-byte - character. (Taro Muraoka) -Files: src/gui_w48.c, src/os_mswin.c - -Patch 6.3.023 -Problem: When the "to" part of a mapping starts with its "from" part, - abbreviations for the same characters is not possible. For - example, when <Space> is mapped to something that starts with a - space, typing <Space> does not expand abbreviations. -Solution: Only disable expanding abbreviations when a mapping is not - remapped, don't disable it when the RHS of a mapping starts with - the LHS. -Files: src/getchar.c, src/vim.h - -Patch 6.3.024 -Problem: In a few places a string in allocated memory is not terminated - with a NUL. -Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and - serverGetVimNames(). -Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c - -Patch 6.3.025 (extra) -Problem: Missing NUL for list of server names. -Solution: Add ga_append(NUL) in serverGetVimNames(). -Files: src/os_mswin.c - -Patch 6.3.026 -Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that - reloads the colors an endless loop and/or a crash may occur. -Solution: Only free the old value of an option when it was originally - allocated. Limit recursiveness of init_highlight() to 5 levels. -Files: src/option.c, src/syntax.c - -Patch 6.3.027 -Problem: VMS: Writing a file may insert extra CR characters. Not all - terminals are recognized correctly. Vt320 doesn't support colors. - Environment variables are not expanded correctly. -Solution: Use another method to write files. Add vt320 termcap codes for - colors. (Zoltan Arpadffy) -Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h, - src/term.c - -Patch 6.3.028 -Problem: When appending to a file the BOM marker may be written. (Alex - Jakushev) -Solution: Do not write the BOM marker when appending. -Files: src/fileio.c - -Patch 6.3.029 -Problem: Crash when inserting a line break. (Walter Briscoe) -Solution: In the syntax highlighting code, don't use an old state after a - change was made, current_col may be past the end of the line. -Files: src/syntax.c - -Patch 6.3.030 -Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets - 'encoding' to "utf-8" and loads the menus again. GTK error - message when tooltip text is in a wrong encoding. -Solution: Don't copy characters from the old screen to the new screen when - switching 'encoding' to utf-8, they may be invalid. Only set the - tooltip when it is valid utf-8. -Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c - -Patch 6.3.031 -Problem: When entering a mapping and pressing Tab halfway the command line - isn't redrawn properly. (Adri Verhoef) -Solution: Reposition the cursor after drawing over the "..." of the - completion attempt. -Files: src/ex_getln.c - -Patch 6.3.032 -Problem: Using Python 2.3 with threads doesn't work properly. -Solution: Release the lock after initialization. -Files: src/if_python.c - -Patch 6.3.033 -Problem: When a mapping ends in a Normal mode command of more than one - character Vim doesn't return to Insert mode. -Solution: Check that the mapping has ended after obtaining all characters of - the Normal mode command. -Files: src/normal.c - -Patch 6.3.034 -Problem: VMS: crash when using ":help". -Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?" - wildcard. (Zoltan Arpadffy) -Files: src/tag.c - -Patch 6.3.035 (extra) -Problem: RISC OS: Compile errors. -Solution: Change e_screnmode to e_screenmode. Change the way - __riscosify_control is set. Improve the makefile. (Andy Wingate) -Files: src/os_riscos.c, src/search.c, src/Make_ro.mak - -Patch 6.3.036 -Problem: ml_get errors when the whole file is a fold, switching - 'foldmethod' and doing "zj". (Christian J. Robinson) Was not - deleting the fold but creating a fold with zero lines. -Solution: Delete the fold properly. -Files: src/fold.c - -Patch 6.3.037 (after 6.3.032) -Problem: Warning for unused variable. -Solution: Change the #ifdefs for the saved thread stuff. -Files: src/if_python.c - -Patch 6.3.038 (extra) -Problem: Win32: When the "file changed" dialog pops up after a click that - gives gvim focus and not moving the mouse after that, the effect - of the click may occur when moving the mouse later. (Ken Clark) - Happened because the release event was missed. -Solution: Clear the s_button_pending variable when any input is received. -Files: src/gui_w48.c - -Patch 6.3.039 -Problem: When 'number' is set and inserting lines just above the first - displayed line (in another window on the same buffer), the line - numbers are not updated. (Hitier Sylvain) -Solution: When 'number' is set and lines are inserted/deleted redraw all - lines below the change. -Files: src/screen.c - -Patch 6.3.040 -Problem: Error handling does not always work properly and may cause a - buffer to be marked as if it's viewed in a window while it isn't. - Also when selecting "Abort" at the attention prompt. -Solution: Add enter_cleanup() and leave_cleanup() functions to move - saving/restoring things for error handling to one place. - Clear a buffer read error when it's unloaded. -Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c, - src/proto/ex_eval.pro, src/structs.h, src/vim.h - -Patch 6.3.041 (extra) -Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h" - doesn't work. (Valery Kondakoff) -Solution: Use a wide function to change directory. -Files: src/os_mswin.c - -Patch 6.3.042 -Problem: When there is a closed fold at the top of the window, CTRL-X - CTRL-E in Insert mode reduces the size of the fold instead of - scrolling the text up. (Gautam) -Solution: Scroll over the closed fold. -Files: src/move.c - -Patch 6.3.043 -Problem: 'hlsearch' highlighting sometimes disappears when inserting text - in PHP code with syntax highlighting. (Marcel Svitalsky) -Solution: Don't use pointers to remember where a match was found, use an - index. The pointers may become invalid when searching in other - lines. -Files: src/screen.c - -Patch 6.3.044 (extra) -Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves - pixels behind. (Richard Sandilands) -Solution: Erase the character cell before drawing the text when needed. -Files: src/gui_mac.c - - -Patch 6.3.045 -Problem: Unusual characters in an option value may cause unexpected - behavior, especially for a modeline. (Ciaran McCreesh) -Solution: Don't allow setting termcap options or 'printdevice' in a - modeline. Don't list options for "termcap" and "all" in a - modeline. Don't allow unusual characters in 'filetype', 'syntax', - 'backupext', 'keymap', 'patchmode' and 'langmenu'. -Files: src/option.c, runtime/doc/options.txt - -Patch 6.3.046 -Problem: ":registers" doesn't show multi-byte characters properly. - (Valery Kondakoff) -Solution: Get the length of each character before displaying it. -Files: src/ops.c - -Patch 6.3.047 (extra) -Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with - read-only attributes. (Tony Mechelynck) -Solution: Don't use the _wopen() function for Borland. -Files: src/os_win32.c - -Patch 6.3.048 (extra) -Problem: Build problems with VMS on IA64. -Solution: Add dependencies to the build file. (Zoltan Arpadffy) -Files: src/Make_vms.mms - -Patch 6.3.049 (after 6.3.045) -Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy) -Solution: Add a typecast. -Files: src/option.c - -Patch 6.3.050 -Problem: When SIGHUP is received while busy exiting, non-reentrant - functions such as free() may cause a crash. -Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson) -Files: src/misc1.c, src/main.c - -Patch 6.3.051 -Problem: When 'wildmenu' is set and completed file names contain multi-byte - characters Vim may crash. -Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.3.052 (extra) -Problem: Windows 98: typed keys that are not ASCII may not work properly. - For example with a Russian input method. (Jiri Jezdinsky) -Solution: Assume that the characters arrive in the current codepage instead - of UCS-2. Perform conversion based on that. -Files: src/gui_w48.c - -Patch 6.3.053 -Problem: Win32: ":loadview" cannot find a file with non-ASCII characters. - (Valerie Kondakoff) -Solution: Use mch_open() instead of open() to open the file. -Files: src/ex_cmds2.c - -Patch 6.3.054 -Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus) - Vim is actually still working but redraw is disabled. -Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo - buffer but a CTRL-L. -Files: src/edit.c - -Patch 6.3.055 (after 6.3.013) -Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>= - when editing a command line. Using <C-\>e may crash Vim. (Peter - Winters) -Solution: When moving ccline out of the way for recursive use, make it - available to the functions that need it. Also save and restore - ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at - the end of getcmdline(). -Files: src/ex_getln.c - -Patch 6.3.056 -Problem: The last characters of a multi-byte file name may not be displayed - in the window title. -Solution: Avoid to remove a multi-byte character where the last byte looks - like a path separator character. (Yasuhiro Matsumoto) -Files: src/buffer.c, src/ex_getln.c - -Patch 6.3.057 -Problem: When filtering lines folds are not updated. (Carl Osterwisch) -Solution: Update folds for filtered lines. -Files: src/ex_cmds.c - -Patch 6.3.058 -Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on - Vim may crash. Disabling the vertical split feature breaks - compiling. (Peter Winters) -Solution: Check for zero room for wrapped text. Make compiling without - vertical splits possible. -Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c - -Patch 6.3.059 -Problem: Crash when expanding an ":edit" command containing several spaces - with the shell. (Brian Hirt) -Solution: Allocate enough space for the quotes. -Files: src/os_unix.c - -Patch 6.3.060 -Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name - still causes something to be inserted. -Solution: Check the register name for being valid. -Files: src/edit.c - -Patch 6.3.061 -Problem: When editing a utf-8 file in an utf-8 xterm and there is a - multi-byte character in the last column, displaying is messed up. - (Joël Rio) -Solution: Check for a multi-byte character, not a multi-column character. -Files: src/screen.c - -Patch 6.3.062 -Problem: ":normal! gQ" hangs. -Solution: Quit getcmdline() and do_exmode() when out of typeahead. -Files: src/ex_getln.c, src/ex_docmd.c - -Patch 6.3.063 -Problem: When a CursorHold autocommand changes to another window - (temporarily) 'mousefocus' stops working. -Solution: Call gui_mouse_correct() after triggering CursorHold. -Files: src/gui.c - -Patch 6.3.064 -Problem: line2byte(line("$") + 1) sometimes returns the wrong number. - (Charles Campbell) -Solution: Flush the cached line before counting the bytes. -Files: src/memline.c - -Patch 6.3.065 -Problem: The euro digraph doesn't always work. -Solution: Add an "e=" digraph for Unicode euro character and adjust the - help files. -Files: src/digraph.c, runtime/doc/digraph.txt - -Patch 6.3.066 -Problem: Backup file may get wrong permissions. -Solution: Use permissions of original file for backup file in more places. -Files: src/fileio.c - -Patch 6.3.067 (after 6.3.066) -Problem: Newly created file gets execute permission. -Solution: Check for "perm" to be negative before using it. -Files: src/fileio.c - -Patch 6.3.068 -Problem: When editing a compressed file xxx.gz which is a symbolic link to - the actual file a ":write" renames the link. -Solution: Resolve the link, so that the actual file is renamed and - compressed. -Files: runtime/plugin/gzip.vim - -Patch 6.3.069 -Problem: When converting text with illegal characters Vim may crash. -Solution: Avoid that too much is subtracted from the length. (Da Woon Jung) -Files: src/mbyte.c - -Patch 6.3.070 -Problem: After ":set number linebreak wrap" and a vertical split, moving - the vertical separator far left will crash Vim. (Georg Dahn) -Solution: Avoid dividing by zero. -Files: src/charset.c - -Patch 6.3.071 -Problem: The message for CTRL-X mode is still displayed after an error for - 'thesaurus' or 'dictionary' being empty. -Solution: Clear "edit_submode". -Files: src/edit.c - -Patch 6.3.072 -Problem: Crash in giving substitute message when language is Chinese and - encoding is utf-8. (Yongwei) -Solution: Make the msg_buf size larger when using multi-byte. -Files: src/vim.h - -Patch 6.3.073 -Problem: Win32 GUI: When the Vim window is partly above or below the - screen, scrolling causes display errors when the taskbar is not on - that side. -Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or - above the screen. -Files: src/gui_w48.c - -Patch 6.3.074 -Problem: When mswin.vim is used and 'insertmode' is set, typing text in - Select mode and then using CTRL-V results in <SNR>99_Pastegi. - (Georg Dahn) -Solution: When restart_edit is set use "d" instead of "c" to remove the - selected text to avoid calling edit() twice. -Files: src/normal.c - -Patch 6.3.075 -Problem: After unloading another buffer, syntax highlighting in the current - buffer may be wrong when it uses "containedin". (Eric Arnold) -Solution: Use "buf" instead of "curbuf" in syntax_clear(). -Files: src/syntax.c - -Patch 6.3.076 -Problem: Crash when using cscope and there is a parse error (e.g., line too - long). (Alexey I. Froloff) -Solution: Pass the actual number of matches to cs_manage_matches() and - correctly handle the error situation. -Files: src/if_cscope.c - -Patch 6.3.077 (extra) -Problem: VMS: First character input after ESC was not recognized. -Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy) -Files: src/os_vms.c - -Patch 6.3.078 (extra, after 6.3.077) -Problem: VMS: Performance issue after patch 6.3.077 -Solution: Add a timeout in the itemlist. (Zoltan Arpadffy) -Files: src/os_vms.c - -Patch 6.3.079 -Problem: Crash when executing a command in the command line window while - syntax highlighting is enabled. (Pero Brbora) -Solution: Don't use a pointer to a buffer that has been deleted. -Files: src/syntax.c - -Patch 6.3.080 (extra) -Problem: Win32: With 'encoding' set to utf-8 while the current codepage is - Chinese editing a file with some specific characters in the name - fails. -Solution: Use _wfullpath() instead of _fullpath() when necessary. -Files: src/os_mswin.c - -Patch 6.3.081 -Problem: Unix: glob() may execute a shell command when it's not wanted. - (Georgi Guninski) -Solution: Verify the sandbox flag is not set. -Files: src/os_unix.c - -Patch 6.3.082 (after 6.3.081) -Problem: Unix: expand() may execute a shell command when it's not wanted. - (Georgi Guninski) -Solution: A more generic solution than 6.3.081. -Files: src/os_unix.c - -Patch 6.3.083 -Problem: VMS: The vt320 termcap entry is incomplete. -Solution: Add missing function keys. (Zoltan Arpadffy) -Files: src/term.c - -Patch 6.3.084 (extra) -Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored. - Failure when $(OUTDIR) already exists. "po" makefile is missing. -Solution: Use changes tested in Vim 7. (Tony Mechelynck) -Files: src/Make_cyg.mak, src/po/Make_cyg.mak - -Patch 6.3.085 -Problem: Crash in syntax highlighting code. (Marc Espie) -Solution: Prevent current_col going past the end of the line. -Files: src/syntax.c - -Patch 6.3.086 (extra) -Problem: Can't produce message translation file with msgfmt that checks - printf strings. -Solution: Fix the Russian translation. -Files: src/po/ru.po, src/po/ru.cp1251.po - -Patch 6.3.087 -Problem: MS-DOS: Crash. (Jason Hood) -Solution: Don't call fname_case() with a NULL pointer. -Files: src/ex_cmds.c - -Patch 6.3.088 -Problem: Editing ".in" causes error E218. (Stefan Karlsson) -Solution: Require some characters before ".in". Same for ".orig" and others. -Files: runtime/filetype.vim - -Patch 6.3.089 -Problem: A session file doesn't work when created while the current - directory contains a space or the directory of the session files - contains a space. (Paolo Giarrusso) -Solution: Escape spaces with a backslash. -Files: src/ex_docmd.c - -Patch 6.3.090 -Problem: A very big value for 'columns' or 'lines' may cause a crash. -Solution: Limit the values to 10000 and 1000. -Files: src/option.c - -Patch 6.4a.001 -Problem: The Unix Makefile contained too many dependencies and a few - uncommented lines. -Solution: Run "make depend" with manual changes to avoid a gcc - incompatibility. Comment a few lines. -Files: src/Makefile - -Patch 6.4b.001 -Problem: Vim reports "Vim 6.4a" in the ":version" output. -Solution: Change "a" to "b". (Tony Mechelynck) -Files: src/version.h - -Patch 6.4b.002 -Problem: In Insert mode, pasting a multi-byte character after the end of - the line leaves the cursor just before that character. -Solution: Make sure "gP" leaves the cursor in the right place when - 'virtualedit' is set. -Files: src/ops.c - -Patch 6.4b.003 (after 6.4b.002) -Problem: The problem still exists when 'encoding' is set to "cp936". -Solution: Fix the problem in getvvcol(), compute the coladd field correctly. -Files: src/charset.c, src/ops.c - -Patch 6.4b.004 -Problem: Selecting a {} block with "viB" includes the '}' when there is an - empty line before it. -Solution: Don't advance the cursor to include a line break when it's already - at the line break. -Files: src/search.c - - - vim:tw=78:ts=8:ft=help:norl: |