may cause a crash with a multi-byte encoding. 解决方案: Avoid using a character before the start of a line. (Sergey Vlasov) 相关文件: src/edit.c Patch 6.0.098 问题: GTK: When using Gnome the "Search" and "Search and Replace" dialog boxes are not translated. 解决方案: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez) 相关文件: src/gui_gtk.c, src/gui_gtk_x11.c Patch 6.0.099 问题: Cygwin: When running Vi compatible MS-DOS line endings cause trouble. 解决方案: Make the default for 'fileformats' "unix,dos" in Vi compatible mode. (Michael Schaap) 相关文件: src/option.h Patch 6.0.100 问题: ":badd +0 test%file" causes a crash. 解决方案: Take into account that the "+0" is NUL terminated when allocating room for replacing the "%". 相关文件: src/ex_docmd.c Patch 6.0.101 问题: ":mksession" doesn't restore editing a file that has a '#' or '%' in its name. (Wolfgang Blankenburg) 解决方案: Put a backslash before the '#' and '%'. 相关文件: src/ex_docmd.c Patch 6.0.102 问题: When changing folds the cursor may appear halfway a closed fold. (Nam SungHyun) 解决方案: Set w_cline_folded correctly. (Yasuhiro Matsumoto) 相关文件: src/move.c Patch 6.0.103 问题: When using 'scrollbind' a large value of 'scrolloff' will make the scroll binding stop near the end of the file. (Coen Engelbarts) 解决方案: Don't use 'scrolloff' when limiting the topline for scroll binding. (Dany StAmant) 相关文件: src/normal.c Patch 6.0.104 问题: 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. 解决方案: Clear the right half of the old character. (Yasuhiro Matsumoto) 相关文件: src/edit.c, src/screen.c Patch 6.0.105 问题: Multi-byte: In a window of one column wide, with syntax highlighting enabled a crash might happen. 解决方案: Skip getting the syntax attribute when the character doesn't fit anyway. (Yasuhiro Matsumoto) 相关文件: src/screen.c Patch 6.0.106 (extra) 问题: Win32: When the printer font is wrong, there is no error message. 解决方案: Give an appropriate error message. (Yasuhiro Matsumoto) 相关文件: src/os_mswin.c Patch 6.0.107 (extra) 问题: VisVim: When editing another file, a modified file may be written unexpectedly and without warning. 解决方案: Split the window if a file was modified. 相关文件: VisVim/Commands.cpp Patch 6.0.108 问题: When using folding could try displaying line zero, resulting in an error for a NULL pointer. 解决方案: Stop decrementing w_topline when the first line of a window is in a closed fold. 相关文件: src/window.c Patch 6.0.109 问题: XIM: When the input method is enabled, repeating an insertion with "." disables it. (Marcel Svitalsky) 解决方案: Don't store the input method status when a command comes from the stuff buffer. 相关文件: src/ui.c Patch 6.0.110 问题: Using undo after executing "OxjAxkdd" from a register in an empty buffer gives an error message. (Gerhard Hochholzer) 解决方案: Don't adjust the bottom line number of an undo block when it's zero. Add a test for this problem. 相关文件: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok Patch 6.0.111 问题: The virtcol() function doesn't take care of 'virtualedit'. 解决方案: Add the column offset when needed. (Yegappan Lakshmanan) 相关文件: src/eval.c Patch 6.0.112 问题: The explorer plugin doesn't sort directories with a space or special character after a directory with a shorter name. 解决方案: Ignore the trailing slash when comparing directory names. (Mike Williams) 相关文件: runtime/plugin/explorer.vim Patch 6.0.113 问题: ":edit ~/fname" doesn't work if $HOME includes a space. Also, expanding wildcards with the shell may fail. (John Daniel) 解决方案: Escape spaces with a backslash when needed. 相关文件: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c Patch 6.0.114 问题: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a full path. For Win32 the current directory was prepended. (Michael Geddes) 解决方案: Expand the home directory. 相关文件: src/eval.c Patch 6.0.115 (extra) 问题: Win32: When using a dialog with a textfield it cannot scroll the text. 解决方案: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes) 相关文件: src/gui_w32.c Patch 6.0.116 (extra) 问题: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for filesystems that use ACLs. 解决方案: Use ACL functions to check if a file is writable. (Mike Williams) 相关文件: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro Patch 6.0.117 (extra) 问题: Win32: when disabling the menu, "set lines=999" doesn't use all the available screen space. 解决方案: 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(). 相关文件: src/gui_w32.c, src/gui_w48.c Patch 6.0.118 问题: When $TMPDIR is a relative path, the temp directory is missing a trailing slash and isn't deleted when Vim exits. (Peter Holm) 解决方案: Add the slash after expanding the directory to an absolute path. 相关文件: src/fileio.c Patch 6.0.119 (depends on patch 6.0.116) 问题: VMS: filewritable() doesn't work properly. 解决方案: Use the same method as for Unix. (Zoltan Arpadffy) 相关文件: src/eval.c Patch 6.0.120 问题: The conversion to html isn't compatible with XHTML. 解决方案: Quote the values. (Jess Thrysoee) 相关文件: runtime/syntax/2html.vim Patch 6.0.121 (extra) (depends on patch 6.0.116) 问题: Win32: After patch 6.0.116 Vim doesn't compile with mingw32. 解决方案: Add an #ifdef HAVE_ACL. 相关文件: src/os_win32.c Patch 6.0.122 (extra) 问题: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And dialog textfield problem from patch 6.0.115. 解决方案: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag. (Vince Negri) 相关文件: src/gui_w16.c Patch 6.0.123 (depends on patch 6.0.119) 问题: Win16: Compilation problems. 解决方案: Move "&&" to other lines. (Vince Negri) 相关文件: src/eval.c Patch 6.0.124 问题: When using a ":substitute" command that starts with "\=" (evaluated as an expression), "~" was still replaced with the previous substitute string. 解决方案: Skip the replacement when the substitute string starts with "\=". Also adjust the documentation about doubling backslashes. 相关文件: src/ex_cmds.c, runtime/doc/change.txt Patch 6.0.125 (extra) 问题: 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) 解决方案: Ignore pressing the shift, control and alt keys. 相关文件: src/os_win32.c Patch 6.0.126 问题: The python library was always statically linked. 解决方案: Link the python library dynamically. (Matthias Klose) 相关文件: src/auto/configure, src/configure.in Patch 6.0.127 问题: 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) 解决方案: Don't call screen_stop_highlight() in stoptermcap(). 相关文件: src/term.c Patch 6.0.128 问题: 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. 解决方案: Adjust the scrollbars and the mouse pointer. 相关文件: src/window.c Patch 6.0.129 问题: When using a very long file name, ":ls" (repeated a few times) causes a crash. Test with "vim `perl -e 'print "A"x1000'`". (Tejeda) 解决方案: Terminate a string before getting its length in buflist_list(). 相关文件: src/buffer.c Patch 6.0.130 问题: 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) 解决方案: When redrawing the topline don't scroll twice. 相关文件: src/screen.c Patch 6.0.131 问题: 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) 解决方案: When there is a match with a listed buffer, don't check for unlisted buffers. 相关文件: src/buffer.c Patch 6.0.132 问题: When setting 'iminsert' in the vimrc and using an xterm with two screens the ruler is drawn in the wrong screen. (Igor Goldenberg) 解决方案: Only draw the ruler when using the right screen. 相关文件: src/option.c Patch 6.0.133 问题: When opening another buffer while 'keymap' is set and 'iminsert' is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg) 解决方案: Don't set 'iminsert' as a side effect of defining a ":lmap" mapping. Only do that when 'keymap' is set. 相关文件: src/getchar.c, src/option.c Patch 6.0.134 问题: When completing ":set tags=" a path with an embedded space causes the completion to stop. (Sektor van Skijlen) 解决方案: 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'). 相关文件: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h Patch 6.0.135 问题: Menus that are not supposed to do anything used "<Nul>
", which still produced an error beep. WhenCTRL-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". 解决方案: 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. 相关文件: runtime/makemenu.vim, runtime/menu.vim, src/menu.c Patch 6.0.136 问题: When completing in Insert mode, a mapping could be unexpectedly applied. 解决方案: Don't use mappings when checking for a typed character. 相关文件: src/edit.c Patch 6.0.137 问题: GUI: When using the find or find/replace dialog from Insert mode, the input mode is stopped. 解决方案: Don't use the input method status when the main window doesn't have focus. 相关文件: src/ui.c Patch 6.0.138 问题: GUI: When using the find or find/replace dialog from Insert mode, the text is inserted whenCTRL-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. 解决方案: 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". 相关文件: src/gui.c Patch 6.0.139 问题: When stopping 'wildmenu' completion, the statusline of the bottom-left vertically split window isn't redrawn. (Yegappan Lakshmanan) 解决方案: Redraw all the bottom statuslines. 相关文件: src/ex_getln.c, src/proto/screen.pro, src/screen.c Patch 6.0.140 问题: Memory allocated for local mappings and abbreviations is leaked when the buffer is wiped out. 解决方案: Clear the local mappings when deleting a buffer. 相关文件: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h Patch 6.0.141 问题: When using ":enew" in an empty buffer, some buffer-local things are not cleared. b:keymap_name is not set. 解决方案: Clear user commands and mappings local to the buffer when re-using the current buffer. Reload the keymap. 相关文件: src/buffer.c Patch 6.0.142 问题: When Python is linked statically, loading dynamic extensions might fail. 解决方案: Add an extra linking flag when needed. (Andrew Rodionoff) 相关文件: src/configure.in, src/auto/configure Patch 6.0.143 问题: When a syntax item includes a line break in a pattern, the syntax may not be updated properly when making a change. 解决方案: Add the "linebreaks" argument to ":syn sync". 相关文件: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c Patch 6.0.144 问题: After patch 6.0.088 redoing "veU" doesn't work. 解决方案: Don't add the "U" to the redo buffer, it will be used as an undo command. 相关文件: src/normal.c Patch 6.0.145 问题: 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) 解决方案: 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. 相关文件: src/ui.c Patch 6.0.146 问题: When 'statusline' contains "%{'-'}" this results in a zero. (Milan Vancura) 解决方案: Don't handle numbers with a minus as a number, they were not displayed anyway. 相关文件: src/buffer.c Patch 6.0.147 问题: It's not easy to mark a Vim version as being modified. The new license requires this. 解决方案: Add the --modified-by argument to configure and the MODIFIED_BY define. It's used in the intro screen and the ":version" output. 相关文件: src/auto/configure, src/configure.in, src/config.h.in, src/feature.h, src/version.c Patch 6.0.148 问题: After "p" in an empty line, `[ goes to the second character. (Kontra Gergely) 解决方案: Don't increment the column number in an empty line. 相关文件: src/ops.c Patch 6.0.149 问题: The pattern "\(.\{-}
\)*" causes a hang. When using a search pattern that causes a stack overflow to be detected Vim could still hang. 解决方案: Correctly report "operand could be empty" when using "\{-}
". Check for "out_of_stack" inside loops to avoid a hang. 相关文件: src/regexp.c Patch 6.0.150 问题: When using a multi-byte encoding, patch 6.0.148 causes "p" to work like "P". (Sung-Hyun Nam) 解决方案: Compute the byte length of a multi-byte character. 相关文件: src/ops.c Patch 6.0.151 问题: Redrawing the status line and ruler can be wrong when it contains multi-byte characters. 解决方案: Use character width and byte length correctly. (Yasuhiro Matsumoto) 相关文件: src/screen.c Patch 6.0.152 问题: strtrans() could hang on an illegal UTF-8 byte sequence. 解决方案: Skip over illegal bytes. (Yasuhiro Matsumoto) 相关文件: src/charset.c Patch 6.0.153 问题: When using (illegal) double-byte characters and Vim syntax highlighting Vim can crash. (Yasuhiro Matsumoto) 解决方案: Increase a pointer over a character instead of a byte. 相关文件: src/regexp.c Patch 6.0.154 问题: 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. 解决方案: 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. 相关文件: runtime/menu.vim Patch 6.0.155 问题: Mac: compilation problems in ui.c after patch 6.0.145. (Axel Kielhorn) 解决方案: Don't call mch_inchar() when NO_CONSOLE is defined. 相关文件: src/ui.c Patch 6.0.156 问题: Starting Vim with the -b argument and two files, ":next" doesn't set 'binary' in the second file, like Vim 5.7. (Norman Diamond) 解决方案: Set the global value for 'binary'. 相关文件: src/option.c Patch 6.0.157 问题: When defining a user command with "-complete=dir" files will also be expanded. Also, "-complete=mapping" doesn't appear to work. (Michael Naumann) 解决方案: Use the expansion flags defined with the user command. Handle expanding mappings specifically. 相关文件: src/ex_docmd.c Patch 6.0.158 问题: 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) 解决方案: Keep 'readonly' set when reloading a file and the permissions didn't change. 相关文件: src/fileio.c Patch 6.0.159 问题: Wildcard expansion for ":emenu" also shows separators. 解决方案: 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. 相关文件: src/menu.c Patch 6.0.160 问题: When compiling with GCC 3.0.2 and using the "-O2" argument, the optimizer causes a problem that makes Vim crash. 解决方案: Add a configure check to avoid "-O2" for this version of gcc. 相关文件: src/configure.in, src/auto/configure Patch 6.0.161 (extra) 问题: Win32: Bitmaps don't work with signs. 解决方案: Make it possible to use bitmaps with signs. (Muraoka Taro) 相关文件: 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 问题: Client-server: An error message for a wrong expression appears in the server instead of the client. 解决方案: Pass the error message from the server to the client. Also adjust the example code. (Flemming Madsen) 相关文件: 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 问题: When using a GUI dialog, a file name is sometimes used like it was a directory. 解决方案: Separate path and file name properly. For GTK, Motif and Athena concatenate directory and file name for the default selection. 相关文件: 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 问题: After patch 6.0.135 the menu entries for pasting don't work in Insert and Visual mode. (Muraoka Taro) 解决方案: Add<script>
to allow script-local mappings. 相关文件: runtime/menu.vim Patch 6.0.165 问题: Using --remote and executing locally gives unavoidable error messages. 解决方案: Add --remote-silent and --remote-wait-silent to silently execute locally. For Win32 there was no error message when a server didn't exist. 相关文件: 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 问题: GUI: There is no way to avoid dialogs to pop up. 解决方案: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan Lakshmanan) 相关文件: runtime/doc/options.txt, src/option.h, src/message.c Patch 6.0.167 问题: When 'fileencodings' is "latin2" some characters in the help files are displayed wrong. 解决方案: Force the 'fileencoding' for the help files to be "latin1". 相关文件: src/fileio.c Patch 6.0.168 问题: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser) 解决方案: Don't skip matches after joining two lines. 相关文件: src/ex_cmds.c Patch 6.0.169 问题: When run as evim and the GUI can't be started we get stuck in a terminal without menus in Insert mode. 解决方案: Exit when using "evim" and "gvim -y" when the GUI can't be started. 相关文件: src/main.c Patch 6.0.170 问题: When printing double-width characters the size of tabs after them is wrong. (Muraoka Taro) 解决方案: Correctly compute the column after a double-width character. 相关文件: src/ex_cmds2.c Patch 6.0.171 问题: With 'keymodel' including "startsel", in Insert mode after the end of a line, shift-Left does not move the cursor. (Steve Hall) 解决方案:CTRL-O
doesn't move the cursor left, need to do that explicitly. 相关文件: src/edit.c Patch 6.0.172 问题:CTRL-Q
doesn't replaceCTRL-V
afterCTRL-X
in Insert mode while it does in most other situations. 解决方案: MakeCTRL-X
CTRL-Q
work likeCTRL-X
CTRL-V
in Insert mode. 相关文件: src/edit.c Patch 6.0.173 问题: When using "P" to insert a line break the cursor remains past the end of the line. 解决方案: Check for the cursor being beyond the end of the line. 相关文件: src/ops.c Patch 6.0.174 问题: After using "gd" or "gD" the search direction for "n" may still be backwards. (Servatius Brandt) 解决方案: Reset the search direction to forward. 相关文件: src/normal.c, src/search.c, src/proto/search.pro Patch 6.0.175 问题: ":help /\z(\)" doesn't work. (Thomas Koehler) 解决方案: Double the backslashes. 相关文件: src/ex_cmds.c Patch 6.0.176 问题: When killed by a signal autocommands are still triggered as if nothing happened. 解决方案: Add the v:dying variable to allow autocommands to work differently when a deadly signal has been trapped. 相关文件: src/eval.c, src/os_unix.c, src/vim.h Patch 6.0.177 问题: When 'commentstring' is empty and 'foldmethod' is "marker", "zf" doesn't work. (Thomas S. Urban) 解决方案: Add the marker even when 'commentstring' is empty. 相关文件: src/fold.c, src/normal.c Patch 6.0.178 问题: Uninitialized memory read from xp_backslash field. 解决方案: Initialize xp_backslash field properly. 相关文件: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c Patch 6.0.179 问题: Win32: When displaying UTF-8 characters may read uninitialized memory. 解决方案: Add utfc_ptr2len_check_len() to avoid reading past the end of a string. 相关文件: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c Patch 6.0.180 问题: Expanding environment variables in a string that ends in a backslash could go past the end of the string. 解决方案: Detect the trailing backslash. 相关文件: src/misc1.c Patch 6.0.181 问题: When using ":cd dir" memory was leaked. 解决方案: Free the allocated memory. Also avoid an uninitialized memory read. 相关文件: src/misc2.c Patch 6.0.182 问题: When using a regexp on multi-byte characters, could try to read a character before the start of the line. 解决方案: Don't decrement a pointer to before the start of the line. 相关文件: src/regexp.c Patch 6.0.183 问题: Leaking memory when ":func!" redefines a function. 解决方案: Free the function name when it's not used. 相关文件: src/eval.c Patch 6.0.184 问题: Leaking memory when expanding option values. 解决方案: Don't always copy the expanded option into allocated memory. 相关文件: src/option.c Patch 6.0.185 问题: Crash in Vim when pasting a selection in another application, on a 64 bit machine. 解决方案: Fix the format for an Atom to 32 bits. (Peter Derr) 相关文件: src/ui.c Patch 6.0.186 问题: X11: Three warnings when compiling the client-server code. 解决方案: Add a typecast to unsigned char. 相关文件: src/if_xcmdsrv.c Patch 6.0.187 问题: "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. 解决方案: Only save those lines for undo that are changed. Don't change the indent after inserting in Visual linewise mode. 相关文件: src/ops.c Patch 6.0.188 问题: Win32: After patch 6.0.161 signs defined in the vimrc file don't work. 解决方案: Initialize the sign icons after initializing the GUI. (Vince Negri) 相关文件: src/gui.c, src/gui_x11.c Patch 6.0.189 问题: 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) 解决方案: Redisplay the size of the selection after showing the mode. 相关文件: src/screen.c Patch 6.0.190 问题: GUI: when 'mouse' is empty a click with the middle button still moves the cursor. 解决方案: Paste at the cursor position instead of the mouse position. 相关文件: src/normal.c Patch 6.0.191 问题: When no servers are available serverlist() gives an error instead of returning an empty string. (Hari Krishna) 解决方案: Don't give an error message. 相关文件: src/eval.c Patch 6.0.192 问题: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew Nikitin) 解决方案: Reset the flag that w_virtcol is valid when moving the cursor back to the start of the operated area. 相关文件: src/normal.c Patch 6.0.193 问题: When 'virtualedit' is set, col(".") after the end of the line should return one extra. 解决方案: Add one to the column. 相关文件: src/eval.c Patch 6.0.194 问题: "--remote-silent" tries to send a reply to the client, like it was "--remote-wait". 解决方案: Properly check for the argument. 相关文件: src/main.c Patch 6.0.195 问题: When 'virtualedit' is set and a search starts in virtual space ":call search('x')" goes to the wrong position. (Eric Long) 解决方案: Reset coladd when finding a match. 相关文件: src/search.c Patch 6.0.196 问题: 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. 解决方案: Take coladd into account when adjusting for 'selection' being "exclusive". Also expand a tab into spaces when deleting more than one line. 相关文件: src/normal.c, src/ops.c Patch 6.0.197 问题: When 'virtualedit' is set and 'selection' is "exclusive", "v$x" doesn't delete the last character in the line. (Eric Long) 解决方案: Don't reset the inclusive flag. (Helmut Stiegler) 相关文件: src/normal.c Patch 6.0.198 问题: When 'virtualedit' is set and 'showbreak' is not empty, moving the cursor over the line break doesn't work properly. (Eric Long) 解决方案: Make getviscol() and getviscol2() use getvvcol() to obtain the virtual cursor position. Adjust coladvance() and oneleft() to skip over the 'showbreak' characters. 相关文件: src/edit.c, src/misc2.c Patch 6.0.199 问题: Multi-byte: could use iconv() after calling iconv_end(). (Yasuhiro Matsumoto) 解决方案: Stop converting input and output stream after calling iconv_end(). 相关文件: src/mbyte.c Patch 6.0.200 问题: A script that starts with "#!perl" isn't recognized as a Perl filetype. 解决方案: Ignore a missing path in a script header. Also, speed up recognizing scripts by simplifying the patterns used. 相关文件: runtime/scripts.vim Patch 6.0.201 问题: 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) 解决方案: When setting w_topline reset the flag that indicates w_botline is valid. 相关文件: src/diff.c Patch 6.0.202 问题: 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. 解决方案: Search the icon file using the specified path. Expand environment variables in the file name. 相关文件: src/gui_gtk.c, src/gui_x11.c Patch 6.0.203 问题: Can change 'fileformat' even though 'modifiable' is off. (Servatius Brandt) 解决方案: Correct check for kind of set command. 相关文件: src/option.c Patch 6.0.204 问题: ":unlet" doesn't work for variables with curly braces. (Thomas Scott Urban) 解决方案: Handle variable names with curly braces properly. (Vince Negri) 相关文件: src/eval.c Patch 6.0.205 (extra) 问题: "gvim -f" still forks when using the batch script to start Vim. 解决方案: Add an argument to "start" to use a foreground session (Michael Geddes) 相关文件: src/dosinst.c Patch 6.0.206 问题: 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]". 解决方案: 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'. 相关文件: src/misc1.c, src/os_unix.c Patch 6.0.207 (extra) 问题: Win32: The shortcuts and start menu entries let Vim startup in the desktop directory, which is not very useful. 解决方案: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH. 相关文件: src/dosinst.c Patch 6.0.208 问题: GUI: When using a keymap and the cursor is not blinking,CTRL-^
in Insert mode doesn't directly change the cursor color. (Alex Solow) 解决方案: Force a redraw of the cursor afterCTRL-^
. 相关文件: src/edit.c Patch 6.0.209 问题: GUI GTK: After selecting a 'guifont' with the font dialog there are redraw problems for multi-byte characters. 解决方案: 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. 相关文件: 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 问题: After patch 6.0.167 it's no longer possible to edit a help file in another encoding than latin1. 解决方案: Let the "++enc=" argument overrule the encoding. 相关文件: src/fileio.c Patch 6.0.211 问题: 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) 解决方案: Set the 'readonly' option for the buffer. 相关文件: src/fileio.c Patch 6.0.212 问题: GUI GTK: confirm("foo", "") causes a crash. 解决方案: Don't make a non-existing button the default. Add a default "OK" button if none is specified. 相关文件: src/eval.c, src/gui_gtk.c Patch 6.0.213 问题: When a file name contains unprintable characters,CTRL-G
and other commands don't work well. 解决方案: Turn unprintable into printable characters. (Yasuhiro Matsumoto) 相关文件: src/buffer.c, src/charset.c Patch 6.0.214 问题: When there is a buffer without a name, empty entries appear in the jumplist saved in the viminfo file. 解决方案: Don't write jumplist entries without a file name. 相关文件: src/mark.c Patch 6.0.215 问题: 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. 解决方案: Use the command line mode menus and use the mouse like in the command line. 相关文件: src/gui.c, src/menu.c, src/ui.c Patch 6.0.216 问题: 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. 解决方案: Restore the topline of the window. 相关文件: src/fileio.c Patch 6.0.217 问题: When getting help from a help file that was used before, an empty unlisted buffer remains in the buffer list. (Eric Long) 解决方案: Wipe out the buffer used to do the tag jump from. 相关文件: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro Patch 6.0.218 问题: With explorer plugin: "vim -o filename dirname" doesn't load the explorer window until entering the window. 解决方案: Call s:EditDir() for each window after starting up. 相关文件: runtime/plugin/explorer.vim Patch 6.0.219 问题: ":setlocal" and ":setglobal", without arguments, display terminal options. (Zdenek Sekera) 解决方案: Skip terminal options for these two commands. 相关文件: src/option.c Patch 6.0.220 问题: After patch 6.0.218 get a beep on startup. (Muraoka Taro) 解决方案: Don't try going to another window when there isn't one. 相关文件: runtime/plugin/explorer.vim Patch 6.0.221 问题: When using ":bdel" and all other buffers are unloaded the lowest numbered buffer is jumped to instead of the most recent one. (Dave Cecil) 解决方案: Prefer an unloaded buffer from the jumplist. 相关文件: src/buffer.c Patch 6.0.222 问题: When 'virtualedit' is set and using autoindent, pressing Esc after starting a new line leaves behind part of the autoindent. (Helmut Stiegler) 解决方案: After deleting the last char in the line adjust the cursor position in del_bytes(). 相关文件: src/misc1.c, src/ops.c Patch 6.0.223 问题: When splitting a window that contains the explorer, hitting CR on a file name gives error messages. 解决方案: Set the window variables after splitting the window. 相关文件: runtime/plugin/explorer.vim Patch 6.0.224 问题: 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) 解决方案: When there is not enough room, compute the left column for the window to put the cursor in the middle. 相关文件: src/move.c Patch 6.0.225 问题: In Visual mode "gk" gets stuck in a closed fold. (Srinath Avadhanula) 解决方案: Behave differently in a closed fold. 相关文件: src/normal.c Patch 6.0.226 问题: When doing ":recover file" get the ATTENTION prompt. After recovering the same file five times get a read error or a crash. (Alex Davis) 解决方案: Set the recoverymode flag before setting the file name. Correct the amount of used memory for the size of block zero. 相关文件: src/ex_docmd.c Patch 6.0.227 (extra) 问题: The RISC OS port has several problems. 解决方案: Update the makefile and fix some of the problems. (Andy Wingate) 相关文件: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h, src/proto/os_riscos.pro, src/search.c Patch 6.0.228 问题: 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. 解决方案: 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. 相关文件: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c, src/structs.h, src/vim.h Patch 6.0.229 问题: 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. 解决方案: 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'. 相关文件: src/edit.c, src/ops.c, src/option.h Patch 6.0.230 问题: The ":" used as a motion after an operator is exclusive, but sometimes it should be inclusive. 解决方案: Make the "v" in between an operator and motion toggle inclusive/exclusive. (Servatius Brandt) 相关文件: runtime/doc/motion.txt, src/normal.c Patch 6.0.231 问题: "gd" and "gD" don't work when the variable matches in a comment just above the match to be found. (Servatius Brandt) 解决方案: Continue searching in the first column below the comment. 相关文件: src/normal.c Patch 6.0.232 问题: "vim --version" prints on stderr while "vim --help" prints on stdout. 解决方案: Make "vim --version" use stdout. 相关文件: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c Patch 6.0.233 问题: "\1\{,8}
" in a regexp is not allowed, but it should work, because there is an upper limit. (Jim Battle) 解决方案: Allow using "\{min,max}
" after an atom that can be empty if there is an upper limit. 相关文件: src/regexp.c Patch 6.0.234 问题: It's not easy to set the cursor position without modifying marks. 解决方案: Add the cursor() function. (Yegappan Lakshmanan) 相关文件: runtime/doc/eval.txt, src/eval.c Patch 6.0.235 问题: When writing a file and renaming the original file to make the backup, permissions could change when setting the owner. 解决方案: 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. 相关文件: src/fileio.c Patch 6.0.236 问题: ":edit" without argument should move cursor to line 1 in Vi compatible mode. 解决方案: Add 'g' flag to 'cpoptions'. 相关文件: runtime/doc/options.txt, src/ex_docmd.c, src/option.h Patch 6.0.237 问题: In a C file, using the filetype plugin, re-indenting a comment with two spaces after the middle "*" doesn't align properly. 解决方案: 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. 相关文件: src/misc1.c Patch 6.0.238 问题: Using a ":substitute" command with a substitute() call in the substitution expression causes errors. (Srinath Avadhanula) 解决方案: Save and restore pointers when doing substitution recursively. 相关文件: src/regexp.c Patch 6.0.239 问题: 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) 解决方案: Don't advance the cursor to the next line. 相关文件: src/ops.c Patch 6.0.240 问题: Win32: building with Python 2.2 doesn't work. 解决方案: Add support for Python 2.2 with dynamic linking. (Paul Moore) 相关文件: src/if_python.c Patch 6.0.241 问题: Win32: Expanding the old value of an option that is a path that starts with a backslash, an extra backslash is inserted. 解决方案: Only insert backslashes where needed. Also handle multi-byte characters properly when removing backslashes. 相关文件: src/option.c Patch 6.0.242 问题: GUI: On a system with an Exceed X server sometimes get a "Bad Window" error. (Tommi Maekitalo) 解决方案: When forking, use a pipe to wait in the parent for the child to have done the setsid() call. 相关文件: src/gui.c Patch 6.0.243 问题: Unix: "vim --version" outputs a NL before the last line instead of after it. (Charles Campbell) 解决方案: Send the NL to the same output stream as the text. 相关文件: src/message.c, src/os_unix.c, src/proto/message.pro Patch 6.0.244 问题: Multi-byte: Problems with (illegal) UTF-8 characters in menu and file name (e.g., icon text, status line). 解决方案: 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(). 相关文件: 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 问题: After using a color scheme, setting the 'background' option might not work. (Peter Horst) 解决方案: Disable the color scheme if it switches 'background' back to the wrong value. 相关文件: src/option.c Patch 6.0.246 问题: ":echomsg" didn't use the highlighting set by ":echohl". (Gary Holloway) 解决方案: Use the specified attributes for the message. (Yegappan Lakshmanan) 相关文件: src/eval.c Patch 6.0.247 问题: GTK GUI: Can't use gvim in a kpart widget. 解决方案: Add the "--echo-wid" argument to let Vim echo the window ID on stdout. (Philippe Fremy) 相关文件: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c, src/main.c Patch 6.0.248 问题: When using compressed help files and 'encoding' isn't "latin1", Vim converts the help file before decompressing. (David Reviejo) 解决方案: Don't convert a help file when 'binary' is set. 相关文件: src/fileio.c Patch 6.0.249 问题: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit(). 解决方案: Don't set the cursor on the first line for "-c" arguments when there also is a "-t" argument. 相关文件: src/main.c Patch 6.0.250 (extra) 问题: Macintosh: Various problems when compiling. 解决方案: Various fixes, mostly #ifdefs. (Dany St. Amant) 相关文件: 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) 问题: Macintosh: menu shortcuts are not very clear. 解决方案: Show the shortcut with the Mac clover symbol. (raindog) 相关文件: src/gui_mac.c Patch 6.0.252 问题: 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) 解决方案: Don't reset did_emsg when the function is to be aborted. 相关文件: src/ex_docmd.c Patch 6.0.253 问题: When 'insertmode' is set, after "<C-O>
:edit file" the next<C-O>
doesn't work. (Benji Fisher)<C-L>
has the same problem. 解决方案: Reset need_start_insertmode once in edit(). 相关文件: src/edit.c Patch 6.0.254 (extra) 问题: Borland C++ 5.5: Checking for stack overflow doesn't work correctly. Matters when using a complicated regexp. 解决方案: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto) 相关文件: src/Make_bc5.mak Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121) 问题: Win32: ACL support doesn't work well on Samba drives. 解决方案: Add a check for working ACL support. (Mike Williams) 相关文件: src/os_win32.c Patch 6.0.256 (extra) 问题: Win32: ":highlight Comment guifg=asdf" does not give an error message. (Randall W. Morris) Also for other systems. 解决方案: Add gui_get_color() to give one error message for all systems. 相关文件: 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 问题: 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) 解决方案: Reset need_mouse_correct after checking timestamps. 相关文件: src/fileio.c Patch 6.0.258 问题: 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) 解决方案: When putting the cursor halfway the window start counting lines at the end of a fold. 相关文件: src/move.c Patch 6.0.259 问题: MS-DOS: after editing the command line the cursor shape may remain like in Insert mode. (Volker Kiefel) 解决方案: Reset the cursor shape after editing the command line. 相关文件: src/ex_getln.c Patch 6.0.260 问题: GUI: May crash while starting up when giving an error message for missing color. (Servatius Brandt) 解决方案: 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. 相关文件: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c Patch 6.0.261 问题: nr2char() and char2nr() don't work with multi-byte characters. 解决方案: Use 'encoding' for these functions. (Yasuhiro Matsumoto) 相关文件: runtime/doc/eval.txt, src/eval.c Patch 6.0.262 (extra) 问题: Win32: IME doesn't work properly. OnImeComposition() isn't used at all. 解决方案: Adjust various things for IME. 相关文件: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro, src/structs.h, src/ui.c Patch 6.0.263 问题: GTK: When a dialog is closed by the window manager, Vim hangs. (Christian J. Robinson) 解决方案: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE(). 相关文件: src/gui_gtk.c, src/gui_gtk_x11.c Patch 6.0.264 问题: 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. 解决方案: Get the amount of physical memory with sysctl(), sysconf() or sysinfo() when possible. 相关文件: src/auto/configure, src/configure.in, src/config.h.in, src/os_unix.c, src/os_unix.h Patch 6.0.265 问题: Win32: Using backspace while 'fkmap' is set causes a crash. (Jamshid Oasjmoha) 解决方案: Don't try mapping special keys. 相关文件: src/farsi.c Patch 6.0.266 问题: The rename() function deletes the file if the old and the new name are the same. (Volker Kiefel) 解决方案: Don't do anything if the names are equal. 相关文件: src/fileio.c Patch 6.0.267 问题: UTF-8: Although 'isprint' says a character is printable, utf_char2cells() still considers it unprintable. 解决方案: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto) 相关文件: src/mbyte.c Patch 6.0.268 (extra) (depends on patch 6.0.255) 问题: Win32: ACL check crashes when using forward slash in file name. 解决方案: Improve the check for the path in the file name. 相关文件: src/os_win32.c Patch 6.0.269 问题: Unprintable characters in a file name may cause problems when using the 'statusline' option or when 'buftype' is "nofile". 解决方案: call trans_characters() for the resulting statusline. (Yasuhiro Matsumoto) 相关文件: src/buffer.c, src/screen.c, src/charset.c Patch 6.0.270 (depends on patch 6.0.267) 问题: A tab causes UTF-8 text to be displayed in the wrong position. (Ron Aaron) 解决方案: Correct utf_char2cells() again. 相关文件: src/mbyte.c Patch 6.1a.001 (extra) 问题: 32bit DOS: copying text to the clipboard may cause a crash. (Jonathan D Johnston) 解决方案: Don't copy one byte too much in SetClipboardData(). 相关文件: src/os_msdos.c Patch 6.1a.002 问题: GTK: On some configurations, when closing a dialog from the window manager, Vim hangs. 解决方案: Catch the "destroy" signal. (Aric Blumer) 相关文件: src/gui_gtk.c Patch 6.1a.003 问题: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set: yanking in Visual mode doesn't include the last byte. (Eric Long) 解决方案: Don't add a space for a double-wide character. 相关文件: src/ops.c Patch 6.1a.004 (extra) 问题: MINGW: undefined type. (Ron Aaron) 解决方案: Make GetCompositionString_inUCS2() static. 相关文件: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro Patch 6.1a.005 (extra) 问题: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan Johnston) 解决方案: Don't keep the driver context when using ":hardcopy!". (Vince Negri) 相关文件: src/os_mswin.c Patch 6.1a.006 问题: multi-byte: after setting 'encoding' the window title might be wrong. 解决方案: Force resetting the title. (Yasuhiro Matsumoto) 相关文件: src/option.c Patch 6.1a.007 问题: Filetype detection for "*.inc" doesn't work. 解决方案: Use a ":let" command. (David Schweikert) 相关文件: runtime/filetype.vim Patch 6.1a.008 (extra) 问题: Win32: ACL detection for network shares doesn't work. 解决方案: Include the trailing (back)slash in the root path. (Mike Williams) 相关文件: src/os_win32.c Patch 6.1a.009 问题: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a () part that follows, but it generates an error message. 解决方案: Allow a forward reference when there is a following "\@<=" or "\@<!". 相关文件: runtime/doc/pattern.txt, src/regexp.c Patch 6.1a.010 问题: When using ":help" and opening a new window, the alternate file isn't set. 解决方案: Set the alternate file to the previously edited file. 相关文件: src/ex_cmds.c Patch 6.1a.011 问题: GTK: ":set co=77", change width with the mouse, ":set co=77" doesn't resize the window. (Darren Hiebert) 解决方案: Set the form size after handling a resize event. 相关文件: src/gui_gtk_x11.c Patch 6.1a.012 问题: GTK: The file browser always returns a full path. (Lohner) 解决方案: Shorten the file name if possible. 相关文件: src/gui_gtk.c Patch 6.1a.013 问题: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the last character of the word isn't ignored. (Raul Segura Acevedo) 解决方案: Ignore case when checking the last typed character. 相关文件: src/edit.c Patch 6.1a.014 问题: After patch 6.1a.006 can't compile without the title feature. 解决方案: Add an #ifdef. 相关文件: src/option.c Patch 6.1a.015 问题: MS-Windows: When expanding a file name that contains a '[' or '{' an extra backslash is inserted. (Raul Segura Acevedo) 解决方案: Avoid adding the backslash. 相关文件: src/ex_getln.c Patch 6.1a.016 问题: Completion after ":language" doesn't include "time". (Raul Segura Acevedo) 解决方案: Add the alternative to the completions. 相关文件: src/ex_cmds2.c Patch 6.1a.017 问题: Clicking the mouse in the top row of a window where the first line doesn't fit moves the cursor to the wrong column. 解决方案: Add the skipcol also for the top row of a window. 相关文件: src/ui.c Patch 6.1a.018 问题: When 'scrolloff' is one and the window height is one, "gj" can put the cursor above the window. (Raul Segura Acevedo) 解决方案: Don't let skipcol become bigger than the cursor column. 相关文件: src/move.c Patch 6.1a.019 问题: 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) 解决方案: Don't move the cursor by displaying characters when there are composing characters. 相关文件: src/screen.c Patch 6.1a.020 问题: GTK: after patch 6.1a.011 resizing with the mouse doesn't always work well for small sizes. (Adrien Beau) 解决方案: Use another way to avoid the problem with ":set co=77". 相关文件: src/gui_gtk_x11.c Patch 6.1a.021 问题: Several Syntax menu entries are wrong or confusing. 解决方案: Rephrase and correct the menu entries. (Adrien Beau) 相关文件: runtime/makemenu.vim, runtime/menu.vim Patch 6.1a.022 问题: A tags file might be used twice on case insensitive systems. (Rick Swanton) 解决方案: Don't use the same file name twice in the default for the 'tags' option. Ignore case when comparing names of already visited files. 相关文件: src/misc2.c, src/option.c Patch 6.1a.023 问题: When starting the GUI get "C" characters echoed in the terminal.  相关文件: src/screen.c Patch 6.1a.024 问题: In other editorsCTRL-F
is often used for a find dialog. 解决方案: In evim useCTRL-F
for the find dialog. 相关文件: runtime/evim.vim Patch 6.1a.025 问题: The choices for the fileformat dialog can't be translated. 解决方案: Add g:menutrans_fileformat_choices. (Adrien Beau) 相关文件: runtime/menu.vim Patch 6.1a.026 问题: Indenting Java files is wrong with "throws", "extends" and "implements" clauses. 解决方案: Update the Java indent script. 相关文件: runtime/indent/java.vim Patch 6.1a.027 问题: A few Syntax menu entries missing or incorrect. 解决方案: Add and correct the menu entries. (Adrien Beau) Shorten a few menus to avoid they become too long. 相关文件: runtime/makemenu.vim, runtime/menu.vim Patch 6.1a.028 问题: XIM: problems with feedback and some input methods. 解决方案: Use iconv for calculating the cells. Remove the queue for key_press_event only when text was changed. (Yasuhiro Matsumoto) 相关文件: src/globals.h, src/mbyte.c, src/screen.c Patch 6.1a.029 问题: After patch 6.1a.028 can't compile GTK version with XIM but without multi-byte chars. 解决方案: Add an #ifdef. (Aschwin Marsman) 相关文件: src/mbyte.c Patch 6.1a.030 问题: With double-byte encodings toupper() and tolower() may have wrong results. 解决方案: Skip double-byte characters. (Eric Long) 相关文件: src/eval.c Patch 6.1a.031 问题: Accessing the 'balloondelay' variable may cause a crash. 解决方案: Make the variable for 'balloondelay' a long. (Olaf Seibert) 相关文件: src/option.h Patch 6.1a.032 (extra) 问题: Some menu files used a wrong encoding name for "scriptencoding". 解决方案: 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. 相关文件: 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 问题: XIM: doesn't reset input context. 解决方案: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka) 相关文件: src/mbyte.c Patch 6.1a.034 (extra) 问题: Win32: The ACL checks for a readonly file still don't work well. 解决方案: Remove the ACL checks, go back to how it worked in Vim 6.0. 相关文件: src/os_win32.c Patch 6.1a.035 问题: multi-byte: When using ":sh" in the GUI, typed and displayed multi-byte characters are not handled correctly. 解决方案: Deal with multi-byte characters to and from the shell. (Yasuhiro Matsumoto) Also handle UTF-8 composing characters. 相关文件: src/os_unix.c Patch 6.1a.036 问题: GTK: the save-yourself event was not handled. 解决方案: Catch the save-yourself event and preserve swap files. (Neil Bird) 相关文件: src/gui_gtk_x11.c Patch 6.1a.037 问题: The MS-Windows key mapping doesn't includeCTRL-S
for saving. (Vlad Sandrini) 解决方案: MapCTRL-S
to ":update". 相关文件: runtime/mswin.vim Patch 6.1a.038 问题: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't work. (Antonio Colombo) 解决方案: Don't include sys/sysinfo.h when not calling sysinfo(). 相关文件: src/os_unix.c Patch 6.1a.039 问题: Not all visual basic files are recognized. 解决方案: Add checks to catch *.ctl files. (Raul Segura Acevedo) 相关文件: runtime/filetype.vim Patch 6.1a.040 问题: A *.pl file is recognized as Perl, but it could be a prolog file. 解决方案: Check the first non-empty line. (Kontra Gergely) 相关文件: runtime/filetype.vim Patch 6.1a.041 问题: When pressing the left mouse button in the command line and them moving the mouse upwards, nearly all the text is selected. 解决方案: Don't try extending a modeless selection when there isn't one. 相关文件: src/ui.c Patch 6.1a.042 问题: When merging files, ":diffput" and ":diffget" are used a lot, but they require a lot of typing. 解决方案: Add "dp" for ":diffput" and "do" for ":diffget". 相关文件: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro Patch 6.1b.001 (extra) 问题: Checking for wildcards in a path does not handle multi-byte characters with a trail byte which is a wildcard. 解决方案: Handle multi-byte characters correctly. (Muraoka Taro) 相关文件: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, src/os_unix.c Patch 6.1b.002 问题: A regexp that ends in "\{" is not flagged as an error. May cause a stack overflow when 'incsearch' is set. (Gerhard Hochholzer) 解决方案: Handle a missing "}" as an error. 相关文件: src/regexp.c Patch 6.1b.003 (extra) 问题: The RISC OS GUI doesn't compile. 解决方案: Include changes since Vim 5.7. (Andy Wingate) 相关文件: 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 问题: col("'>") returns a negative number for linewise selection. (Neil Bird) 解决方案: Don't add one to MAXCOL. 相关文件: src/eval.c Patch 6.1b.005 问题: 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. 解决方案: Stop 'hlsearch' highlighting when the regexp causes an error. Stop searching for 'incsearch' when a character is typed. 相关文件: src/globals.h, src/message.c, src/screen.c, src/search.c, src/vim.h Patch 6.1b.006 问题: When entering a composing character on the command line withCTRL-V
, the text isn't redrawn correctly. 解决方案: Redraw the text under and after the cursor. 相关文件: src/ex_getln.c Patch 6.1b.007 问题: 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. 解决方案: Backup the cursor one character in these situations. 相关文件: src/search.c Patch 6.1b.008 问题: *.xsl files are not recognized as xslt but xml. Monk files are not recognized. 解决方案: Delete the duplicate line for *.xsl. (Johannes Zellner) Recognize monk files. 相关文件: runtime/filetype.vim Patch 6.1b.009 问题: Can't always compile small features and then adding eval feature, "sandbox" is undefined. (Axel Kielhorn) 解决方案: Always define "sandbox" when the eval feature is used. 相关文件: src/globals.h Patch 6.1b.010 (extra) 问题: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings. 解决方案: Change "true" to "TRUE". (Walter Briscoe) 相关文件: GvimExt/gvimext.cpp Patch 6.1b.011 问题: When using a very long string for confirm(), can't quit the displaying at the more prompt. (Hari Krishna Dara) 解决方案: Jump to the end of the message to show the choices. 相关文件: src/message.c Patch 6.1b.012 问题: 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) 解决方案: Fix the way the extra ">" character is counted when 'showbreak' is set. Don't correct cursor for virtual editing on a double-wide character. 相关文件: src/charset.c, src/edit.c Patch 6.1b.013 问题: 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. 解决方案: Find the full global match even after a partly local match.  Positioning the cursor in the GUI causes garbage. 解决方案: Insert an ESC in the terminal code. (Ralf Schandl) Use "\b" instead of "\010" for KS_LE. 相关文件: src/os_unix.c, src/term.c Patch 6.1b.015 问题: Vimtutor has a typo. Get a warning for "tempfile" if it doesn't exist. 解决方案: Move a quote to the end of a line. (Max Ischenko) Use "mktemp" first, more systems have it. 相关文件: src/vimtutor Patch 6.1b.016 问题: GTK: loading a fontset that works partly, Vim might hang or crash. 解决方案: Avoid that char_width becomes zero. (Yasuhiro Matsumoto) 相关文件: src/gui_gtk_x11.c Patch 6.1b.017 问题: GUI: When using ":shell" and there is a beep, nothing happens. 解决方案: Call vim_beep() to produce the beep from the shell. (Yasuhiro Matsumoto) 相关文件: src/message.c Patch 6.1b.018 (depends on 6.1b.006) 问题: When entering the encryption key, special keys may still reveal the typed characters. 解决方案: Make sure stars are used or nothing is shown in all cases. 相关文件: src/digraph.c, src/getchar.c, src/ex_getln.c Patch 6.1b.019 (depends on 6.1b.005) 问题: A search pattern that takes a long time slows down typing when 'incsearch' is set. 解决方案: Pass SEARCH_PEEK to dosearch(). 相关文件: src/ex_getln.c Patch 6.1b.020 问题: When using the matchit plugin, "%" finds a match on the "end" of a ":syntax region" command in Vim scripts. 解决方案: Skip over ":syntax region" commands by setting b:match_skip. 相关文件: runtime/ftplugin/vim.vim Patch 6.1b.021 问题: when 'mousefocus' is set,CTRL-W
CTRL-]
sometimes doesn't warp the pointer to the new window. (Robert Webb) 解决方案: Don't reset need_mouse_correct when checking the timestamp of a file. 相关文件: src/fileio.c Patch 6.1b.022 问题: With lots of folds "j" does not obey 'scrolloff' properly.  相关文件: src/move.c Patch 6.1b.023 问题: On MS-Windows system() may cause checking timestamps, because Vim loses and gains input focus, while this doesn't happen on Unix. 解决方案: Don't check timestamps while system() is busy. 相关文件: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c Patch 6.1b.024 (extra) 问题: Gettext 0.11 complains that "sjis" is not a standard name. 解决方案: Use "cp932" instead. 相关文件: src/po/sjiscorr.c Patch 6.1b.025 (extra) 问题: 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. 解决方案: Put the dialog in the middle of the screen. 相关文件: src/gui_w48.c Patch 6.1b.026 问题: When 'diffopt' contains'iwhite'
but not'icase'
: differences in case are not highlighted properly. (Gerhard Hochholzer) 解决方案: Don't ignore case when ignoring white space differences. 相关文件: src/diff.c Patch 6.1b.027 问题: "vim --remote +" may cause a crash. 解决方案: Check for missing file name argument. (Martin Kahlert) 相关文件: src/main.c Patch 6.1b.028 (extra) 问题: Win16: Can't compile after patch 6.1b.025. 解决方案: Add code specifically for Win16. (Vince Negri) 相关文件: src/gui_w48.c Patch 6.1b.029 问题: 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) 解决方案: Use the Unix code to check for a writable directory. If not, then make a backup copy and overwrite the file. 相关文件: src/fileio.c Patch 6.1b.030 (extra) 问题: Mac: small mistake in the build script and prototypes. 解决方案: Fix the build script and add the prototypes. (Axel Kielhorn) 相关文件: src/os_mac.build, src/gui_mac.c Patch 6.1b.031 (extra) 问题: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting font name. (Vlad Sandrini) 解决方案: Put the code back in gui_mch_init_font() to form the font name out of the logfont. 相关文件: src/gui_w48.c Patch 6.1b.032 问题: Athena: Setting a color scheme before the GUI has started causes a crash. (Todd Blumer) 解决方案: Don't try using color names that haven't been set yet. 相关文件: src/gui_athena.c Patch 6.1b.033 问题: When using a count after a ":s" command may get ml_get errors. (Dietmar Lang) 解决方案: Check that the resulting range does not go past the end of the buffer. 相关文件: src/ex_cmds.c Patch 6.1b.034 问题: 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) 解决方案: Adjust the start of the Visual area when deleting the auto-indent. 相关文件: src/edit.c Patch 6.1b.035 问题: When using evim, dropping a file on Vim and then double clicking on a word, it is changed to "i". (Merlin Hansen) 解决方案: Reset need_start_insertmode after editing the file. 相关文件: src/ex_docmd.c
6.2 版 本 *version-6.2*
本小节讨论 6.2 和 6.3 版本之间的改进。 这是一个漏洞修正版。也有一些新特性。 主要的新特性: - 支持 GTK 2。(Daniel Elstner) - 支持编辑阿拉伯文本。(Nadim Shaikli 和 Isam Bayazidi) - ":try" 命令和例外处理。(Servatius Brandt) - 支持 neXtaw GUI 工具集 (非常像 Athena)。(Alexey Froloff) - Win32 的 Cscope 支持。(Khorev Sergey) - 支持各种 8 位编码的 PostScript 打印。(Mike Williams) 改动 *changed-6.2*
删除 scheme 缩进文件，内部的 Lisp 缩进现在已经很好了。
GvimEXt、OleVim 和 VisVim 目录移到 "src" 目录。和 xxd 的处理方式更加一致。
VisVim.dll 文件安装在顶层目录，紧靠着 gvimext.dll，而不是在 "VisVim" 子目录。
修正 NSIS 卸载它时找到错误目录的问题。
删除 art 缩进文件。它什么都不做。
submatch() 返回的换行符过去使用 CR 而不是 LF。
Win32 的 makefile 更加统一，也能编译 gvimext.dll。(Dan Sharp)
'cindent': "//" 注释和前一行的 "//" 注释对齐。(Helmut Stiegler)
以前只有 xterm 和相近的终端上跟踪父窗口组件 (widget) 以寻找标题和图标文字。现
在对所有的终端模拟器都这么做。
"%" 匹配时可以识别反斜杠。'cpoptions' 的 'M' 标志位禁止如此。(Haakon Riiser)
删除 Turbo C 的 Make_tcc.mak makefile。已经不能用而我们可能也没有办法让它好起
来 (编译器内存溢出)。
即使文档说明的是关键字，"[ CTRL-D
" 过去使用 'isident' 来寻找匹配。现在改为
'iskeyword'。也适用于其它搜索头文件里宏定义单词的命令，包括 ":dsearch"、"[D"
和 "[d"。
使得 'keywordprg' 为全局-局部变量。(Christian Robinson)
缺省打开 Netbeans 接口。反转 configure 的参数，从 "--enable-netbeans" 到
"--disable-netbeans"。
(Dan Sharp)
新编译器插件:
Checkstyle (Doug Kearns)
g77 (Ralf Wildenhues)
fortran (Johann-Guenter Simon)
Xmllint (Doug Kearns)
Ruby (Tim Hammerquist)
Modelsim vcom (Paul Baleme)
新菜单翻译:
巴西 (葡萄牙) 语 (José de Paula)
英国英语 (Mike Williams)
UTF-8 韩语 (Nam SungHyun)
挪威语 (Øyvind Holm)
塞尔维亚语 (Aleksandar Jelenak)
挪威语的新消息翻译。(Øyvind Holm)
新色彩方案:
desert (Hans Fugal)
阿拉伯专用特性。'arabicshape'、'termbidi'、'arabic' 和 'rightleftcmd' 选项。
(Nadim Shaikli 和 Isam Bayazidi)
支持 neXtaw GUI toolkit，基本类似于 Athena。(Alexey Froloff)
Win32: cscope 支持。(Khorev Sergey)
VMS: 若干文档和 makefile 的改进。(Zoltan Arpadffy)
探索器插件加入 "x" 键: 执行缺省动作。(Yasuhiro Matsumoto)
用 MingW 编译 gvimext.dll。(Rene de Zwart)
加入 "tohtml.vim" 插件。它定义了 ":TOhtml" 用户命令，提供把文本转换为 HTML 的
简易方法。
加入 ":try" / ":catch" / ":finally" / ":endtry" 命令。加入 E999 编号到所有的错
误信息，以便能用编号捕获它们。(Servatius Brandt)
ex_docmd.c 部分内容移到新的 ex_eval.c 源文件。
加入 GTK+ 2.2.x 的支持 (Daniel Elstner)
加入 "~" 寄存器: 拖放文本。
加入 'toolbariconsize' 选项。
运行 lint 时加入 -Dalloca，处理 alloca() 原型的问题。
在错误窗口里选择项目用于跳转时，努力寻找一个普通窗口 (不是预览窗口) 来显示该文
件。
支持若干 8 位编码的 PostScript 打印。(Mike Williams)
inputdialog() 接受第三个参数，取消对话框时使用。可以用来区别取消和什么都不输入
的情况。
加入 Aap 构造文件 (recipe)。用于更新 Vim 到最新的版本、编译和安装。
'cinoptions' 的 "/" 选项: 注释行的额外缩进。(Helmut Stiegler)
Vim 变量 "v:register" 和 setreg()、getreg() 和 getregtype() 函数。(Michael
Geddes)
'cpoptions' 的 "v" 标志位: 插入模式使用退格保留屏幕上的文本。(Phillip Vandry)
Dosinst.exe 也会在 "GvimExt" 目录里寻找 gvimext.dll。用于在 "src" 目录安装时进
行测试。
支持忽略大小写的排序方式的标签文件。(Flemming Madsen)
补全开头的路径部分里的通配符，如 "../*/Makefile" 时，只列出最后一个部分
("Makefile")。支持自定义的命令行补全。(Flemming Madsen)
"rxvt" 也被识别为和 xterm 类似的终端。(Tomas Styblo)
适当的 X11 会话处理。修正流行的桌面系统不使用 WM_SAVE_YOURSELF 事件的问题。
(Neil Bird)
不用于 Gnome 2，它有自己的处理方式。
支持 Borland 3 makefile 的 BOR、DEBUG 和 SPAWNO 参数。(Walter Briscoe)
支持打印时的换页。'printoptions' 加入 "formfeed" 字段。(Mike Williams)
Mac OSX: 多语言支持: iconv 和 gettext。(Muraoka Taro，Axel Kielhorn)
模式里的 "\Z" 标志位: 忽略组合用字符的差异。(Ron Aaron)
加入 'preserveindent' 和 'copyindent' 选项。它们使用已存在的空白字符，而不是尽
可能多地使用制表。(Chris Leishman)
更新 Unicode 表到 Unicode 4.0。(Raphael Finkel)
支持 rxvt 里的鼠标滚轮。(AIDA Shinra)
Win32: 加入 ":8" 文件名修饰符以得到短文件名。Test50 测试 Win32 系统的 ":8" 扩
展。(Michael Geddes)
'cscopequickfix' 选项: Cscope 命令的 quickfix 窗口。同时清理代码，给出消息。
(Khorev Sergey)
GUI: 鼠标位置支持多于 222 列。
":stopinsert" 命令: 不回到插入模式。
调试模式的 "interrupt" 命令。用于模拟 CTRL-C
。(Servatius Brandt)
修正 *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. CripplesCTRL-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) UsingCTRL-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 usingCTRL-T
. Patch 6.1.001 问题: 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. 解决方案: Check for a composing character on a space. 相关文件: src/edit.c, src/misc1.c, src/screen.c Patch 6.1.002 (extra) 问题: Win32: after a ":popup" command the mouse pointer stays hidden. 解决方案: Unhide the mouse pointer before showing the menu. 相关文件: src/gui_w48.c Patch 6.1.003 问题: When 'laststatus' is zero and there is a vertical split, the vertical separator is drawn in the command line. (Srikant Sankaran) 解决方案: Don't draw the vertical separator where there is no statusline. 相关文件: src/screen.c Patch 6.1.004 问题: Unicode 3.2 changes width and composing of a few characters. (Markus Kuhn) 解决方案: Adjust the Unicode functions for the character width and composing characters. 相关文件: src/mbyte.c Patch 6.1.005 问题: When using more than 50 items in 'statusline' Vim might crash. (Steve Hall) 解决方案: Increment itemcnt in check_stl_option(). (Flemming Madsen) 相关文件: src/option.c Patch 6.1.006 问题: When using "P" in Visual mode to put linewise selected text, the wrong text is deleted. (Jakub Turski) 解决方案: 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. 相关文件: src/normal.c, src/ops.c Patch 6.1.007 问题: Using ":filetype plugin off" when filetype plugins were never enabled causes an error message. (Yiu Wing) 解决方案: Use ":silent!" to avoid the error message. 相关文件: runtime/ftplugof.vim Patch 6.1.008 问题: The "%" command doesn't ignore \" inside a string, it's seen as the end of the string. (Ken Clark) 解决方案: Skip a double quote preceded by an odd number of backslashes. 相关文件: src/search.c Patch 6.1.009 问题: Vim crashes when using a huge number for the maxwid value in a statusline. (Robert M. Nowotniak) 解决方案: Check for an overflow that makes maxwid negative. 相关文件: src/buffer.c Patch 6.1.010 问题: Searching backwards for a question mark with "?\?" doesn't work. (Alan Isaac) Same problem in ":s?\??" and ":g?\??". 解决方案: Change the "\?" in a pattern to "?" when using "?" as delimiter. 相关文件: 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 问题: XIM: doesn't work correctly when 'number' is set. Also, a focus problem when selecting candidates. 解决方案: Fix the XIM problems. (Yasuhiro Matsumoto) 相关文件: src/mbyte.c, src/screen.c Patch 6.1.012 问题: A system() call might fail if fread() does CR-LF to LF translation. 解决方案: Open the output file in binary mode. (Pavol Huhas) 相关文件: src/misc1.c Patch 6.1.013 问题: Win32: The default for 'printexpr' doesn't work when there are special characters in 'printdevice'. 解决方案: Add double quotes around the device name. (Mike Williams) 相关文件: runtime/doc/option.txt, src/option.c Patch 6.1.014 问题: An operator like "r" used in Visual block mode doesn't use 'virtualedit' when it's set to "block". 解决方案: Check for 'virtualedit' being active in Visual block mode when the operator was started. 相关文件: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c, src/ops.c, src/undo.c Patch 6.1.015 问题: After patch 6.1.014 can't compile with tiny features. (Christian J. Robinson) 解决方案: Add the missing define of virtual_op. 相关文件: src/vim.h Patch 6.1.016 (extra) 问题: Win32: Outputting Hebrew or Arabic text might have a problem with reversing. 解决方案: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron) 相关文件: src/gui_w32.c Patch 6.1.017 问题: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O. (Pavol Juhas) 解决方案: Define BINARY_FILE_IO for Cygwin. 相关文件: src/os_unix.h Patch 6.1.018 问题: Error message when using cterm highlighting. (Leonardo Di Lella) 解决方案: Remove a backslash before a question mark. 相关文件: runtime/syntax/cterm.vim Patch 6.1.019 (extra) 问题: Win32: File name is messed up when editing just a drive name. (Walter Briscoe) 解决方案: Append a NUL after the drive name. (Vince Negri) 相关文件: src/os_win32.c Patch 6.1.020 问题: col("'>") returns a huge number after using Visual line mode. 解决方案: Return the length of the line instead. 相关文件: src/eval.c Patch 6.1.021 (depends on patch 6.1.009) 问题: Vim crashes when using a huge number for the minwid value in a statusline. (Robert M. Nowotniak) 解决方案: Check for an overflow that makes minwid negative. 相关文件: src/buffer.c Patch 6.1.022 问题: Grabbing the status line above the command-line window works like the bottom status line was grabbed. (Jim Battle) 解决方案: Make it possible to grab the status line above the command-line window, so that it can be resized. 相关文件: src/ui.c Patch 6.1.023 (extra) 问题: VMS: running tests doesn't work properly. 解决方案: Adjust the makefile. (Zoltan Arpadffy) 相关文件: src/testdir/Make_vms.mms Patch 6.1.024 问题: When header files use a new syntax for declaring functions, Vim can't figure out missing prototypes properly. 解决方案: Accept braces around a function name. (M. Warner Losh) 相关文件: src/osdef.sh Patch 6.1.025 问题: Five messages for "vim --help" don't start with a capital. (Vlad Sandrini) 解决方案: Make the messages consistent. 相关文件: src/main.c Patch 6.1.026 问题: *.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. 解决方案: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP scripts. (Roman Neuhauser) 相关文件: runtime/filetype.vim, runtime/scripts.vim Patch 6.1.027 问题: When 'foldcolumn' is non-zero, a special character that wraps to the next line disturbs the foldcolumn highlighting. (Yasuhiro Matsumoto) 解决方案: Only use the special highlighting when drawing text characters. 相关文件: src/screen.c Patch 6.1.028 问题: Client-server: When a --remote-expr fails, Vim still exits with status zero. 解决方案: Exit Vim with a non-zero status to indicate the --remote-expr failed. (Thomas Scott Urban) 相关文件: src/main.c Patch 6.1.029 问题: When 'encoding' is an 8-bit encoding other than "latin1", editing a utf-8 or other Unicode file uses the wrong conversion. (Jan Fedak) 解决方案: Don't use Unicode to latin1 conversion for 8-bit encodings other than "latin1". 相关文件: src/fileio.c Patch 6.1.030 问题: WhenCTRL-N
is mapped in Insert mode, it is also mapped afterCTRL-X
CTRL-N
, while it is not mapped afterCTRL-X
CTRL-F
. (Kontra Gergely) 解决方案: Don't mapCTRL-N
afterCTRL-X
CTRL-N
. Same forCTRL-P
. 相关文件: src/getchar.c Patch 6.1.031 问题: Cygwin: Xxd could read a file in text mode instead of binary mode. 解决方案: Use "rb" or "rt" when needed. (Pavol Juhas) 相关文件: src/xxd/xxd.c Patch 6.1.032 问题: Can't specify a quickfix file without jumping to the first error. 解决方案: Add the ":cgetfile" command. (Yegappan Lakshmanan) 相关文件: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, src/quickfix.c Patch 6.1.033 问题: GUI: When the selection is lost and the Visual highlighting is changed to underlining, the cursor is left in a different position. (Christian Michon) 解决方案: Update the cursor position after redrawing the selection. 相关文件: src/ui.c Patch 6.1.034 问题: A CVS diff file isn't recognized as diff filetype. 解决方案: Skip lines starting with "? " before checking for an "Index:" line. 相关文件: runtime/scripts.vim Patch 6.1.035 (extra, depends on 6.1.016) 问题: Win32: Outputting Hebrew or Arabic text might have a problem with reversing on MS-Windows 95/98/ME. 解决方案: Restore the RevOut() function and use it in specific situations only. (Ron Aaron) 相关文件: src/gui_w32.c Patch 6.1.036 问题: This command may cause a crash: ":v/./,//-j". (Ralf Arens) 解决方案: Compute the right length of the regexp when it's empty. 相关文件: src/search.c Patch 6.1.037 问题: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt causes an incomplete redraw and the cursor isn't positioned. (Lubomir Host) 解决方案: Overrule 'lazyredraw' when do_redraw is set. 相关文件: src/main.c, src/screen.c Patch 6.1.038 问题: Multi-byte: When a ":s" command contains a multi-byte character where the trail byte is '~' the text is messed up. 解决方案: Properly skip multi-byte characters in regtilde() (Muraoka Taro) 相关文件: src/regexp.c Patch 6.1.039 问题: When folds are defined and the file is changed outside of Vim, reloading the file doesn't update the folds. (Anders Schack-Nielsen) 解决方案: Recompute the folds after reloading the file. 相关文件: src/fileio.c Patch 6.1.040 问题: When changing directory for expanding a file name fails there is no error message. 解决方案: Give an error message for this situation. Don't change directory if we can't return to the original directory. 相关文件: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c, src/os_unix.c Patch 6.1.041 问题: ":mkvimrc" doesn't handle a mapping that has a leading space in the rhs. (Davyd Ondrejko) 解决方案: Insert aCTRL-V
before the leading space. Also display leading and trailing white space in<>
form. 相关文件: src/getchar.c, src/message.c Patch 6.1.042 问题: "vim -r" doesn't show all matches when 'wildignore' removes swap files. (Steve Talley) 解决方案: Keep all matching swap file names. 相关文件: src/memline.c Patch 6.1.043 问题: After patch 6.1.040 a few warnings are produced. 解决方案: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn) 相关文件: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c Patch 6.1.044 (extra) 问题: 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. 解决方案: 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. 相关文件: 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 问题: 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) 解决方案: Take into account that the cursor may be on the last line of a closed fold. 相关文件: src/move.c Patch 6.1.046 问题: 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) 解决方案: Correctly compute the height of the horizontal cursor. 相关文件: src/gui_gtk_x11.c, src/gui_x11.c Patch 6.1.047 问题: When skipping commands after an error was encountered, expressions for ":if", ";elseif" and ":while" are still evaluated. 解决方案: Skip the expression after an error. (Servatius Brandt) 相关文件: src/ex_docmd.c Patch 6.1.048 问题: Unicode 3.2 changes were missing a few Hangul Jamo characters. 解决方案: Recognize more characters as composing characters. (Jungshik Shin) 相关文件: src/mbyte.c Patch 6.1.049 (extra) 问题: On a 32 bit display a valid color may cause an error message, because its pixel value is negative. (Chris Paulson-Ellis) 解决方案: Check for -11111 instead of the color being negative. Don't add one to the pixel value, -1 may be used for white. 相关文件: 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) 问题: After patch 6.1.049 the non-GUI version doesn't compile. 解决方案: Add an #ifdef FEAT_GUI. (Robert Stanton) 相关文件: src/syntax.c Patch 6.1.051 (depends on 6.1.044) 问题: Doesn't compile with GUI and small features. 解决方案: Adjust the #if for ga_append(). 相关文件: src/misc2.c Patch 6.1.052 问题: Unix: The executable() function doesn't work when the "which" command isn't available. 解决方案: Go through $PATH manually. Also makes it work for VMS. 相关文件: src/os_unix.c Patch 6.1.053 问题: When 'sessionoptions' contains "globals", or "localoptions" and an option value contains a line break, the resulting script is wrong. 解决方案: Use "\n" and "\r" for a line break. (Srinath Avadhanula) 相关文件: src/eval.c Patch 6.1.054 问题: GUI: A mouse click is not recognized at the more prompt, even when 'mouse' includes 'r'. 解决方案: 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'. 相关文件: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, src/structs.h Patch 6.1.055 问题: When editing a compressed file, Vim will inspect the contents to guess the filetype. 解决方案: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files. 相关文件: runtime/filetype.vim, runtime/plugin/gzip.vim Patch 6.1.056 问题: Loading the Syntax menu can take quite a bit of time. 解决方案: Add the "skip_syntax_sel_menu" variable. When it's defined the available syntax files are not in the Syntax menu. 相关文件: runtime/doc/gui.txt, runtime/menu.vim Patch 6.1.057 问题: 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) 解决方案: Make it work as documented. 相关文件: src/normal.c Patch 6.1.058 问题: When there is a closed fold just above the first line in the window, usingCTRL-X
CTRL-Y
in Insert mode will show only one line of the fold. (Alexey Marinichev) 解决方案: Correct the topline by putting it at the start of the fold. 相关文件: src/move.c Patch 6.1.059 问题: ":redir > ~/file" doesn't work. (Stephen Rasku) 解决方案: Expand environment variables in the ":redir >" argument. 相关文件: src/ex_docmd.c Patch 6.1.060 问题: 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) 解决方案: Don't replace the tab by spaces when it's not needed. Correctly save the line before it's changed. 相关文件: src/ops.c Patch 6.1.061 问题: 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) 解决方案: Use a different way to exclude the character under the cursor. 相关文件: src/screen.c Patch 6.1.062 问题: The "man" filetype plugin doesn't work properly on Solaris 5. 解决方案: Use a different way to detect that "man -s" should be used. (Hugh Sasse) 相关文件: runtime/ftplugin/man.vim Patch 6.1.063 问题: Java indenting doesn't work properly. 解决方案: Ignore comments when checking if the indent doesn't increase after a "}". 相关文件: runtime/indent/java.vim Patch 6.1.064 问题: The URLs that the netrw plugin recognized for ftp and rcp did not conform to the standard method://[user@]host[:port]/path. 解决方案: 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) 相关文件: runtime/plugin/netrw.vim Patch 6.1.065 问题: VMS: The colorscheme, keymap and compiler menus are not filled in. 解决方案: Ignore case when looking for ".vim" files. (Coen Engelbarts) 相关文件: runtime/menu.vim Patch 6.1.066 (extra) 问题: When calling system() in a plugin reading stdin hangs. 解决方案: Don't set the terminal to RAW mode when it wasn't in RAW mode before the system() call. 相关文件: 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 问题: ":set viminfo+=f0" is not working. (Benji Fisher) 解决方案: Check the "f" flag instead of "'" in 'viminfo'. 相关文件: src/mark.c Patch 6.1.068 问题: When a file is reloaded after it was changed outside of Vim, diff mode isn't updated. (Michael Naumann) 解决方案: Invalidate the diff info so that it's updated when needed. 相关文件: src/fileio.c Patch 6.1.069 问题: When 'showmatch' is set and "$" is in 'cpoptions', using "C}<Esc>
" may forget to remove the "$". (Preben Guldberg) 解决方案: Restore dollar_vcol after displaying the matching cursor position. 相关文件: src/search.c Patch 6.1.070 (depends on 6.1.060) 问题: Compiler warning for signed/unsigned mismatch. (Mike Williams) 解决方案: Add a typecast to int. 相关文件: src/ops.c Patch 6.1.071 问题: When 'selection' is exclusive, gCTRL-G
in Visual mode counts one character too much. (David Necas) 解决方案: Subtract one from the end position. 相关文件: src/ops.c Patch 6.1.072 问题: 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. 解决方案: Check if there is a matching BufReadCmd autocommand and try to open the file. 相关文件: src/fileio.c, src/proto/fileio.pro, src/tag.c Patch 6.1.073 (extra) 问题: BC5: Can't easily specify a tiny, small, normal, big or huge version. 解决方案: Allow selecting the version with the FEATURES variable. (Ajit Thakkar) 相关文件: src/Make_bc5.mak Patch 6.1.074 问题: 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) 解决方案: Use a separate list for the already searched directories. 相关文件: src/misc2.c Patch 6.1.075 (depends on 6.1.072) 问题: Can't compile fileio.c on MS-Windows. 解决方案: Add a declaration for the "p" pointer. (Madoka Machitani) 相关文件: src/fileio.c Patch 6.1.076 (extra) 问题: Macintosh: explorer plugin doesn't work on Mac Classic. IME doesn't work. Dialog boxes don't work on Mac OS X 解决方案: Fix explorer plugin and key modifiers. (Axel Kielhorn) Fix IME support. (Muraoka Taro) Disable dialog boxes. (Benji Fisher) 相关文件: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c Patch 6.1.077 问题: On a Debian system with ACL linking fails. (Lubomir Host) 解决方案: When the "acl" library is used, check if the "attr" library is present and use it. 相关文件: src/auto/configure, src/configure.in, src/link.sh Patch 6.1.078 问题: When using 'foldmethod' "marker" and the end marker appears before the start marker in the file, no fold is found.  相关文件: src/fold.c Patch 6.1.079 问题: 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) 解决方案: Insert the right text and extend short lines. 相关文件: src/ops.c Patch 6.1.080 问题: When using gcc with /usr/local already in the search path, adding it again causes problems. 解决方案: Adjust configure.in to avoid adding /usr/local/include and /usr/local/lib when using GCC and they are already used. (Johannes Zellner) 相关文件: src/auto/configure, src/configure.in Patch 6.1.081 问题: ":helpCTRL-\
_CTRL-N
" doesn't work. (Christian J. Robinson) 解决方案: Double the backslash to avoid the special meaning of "\_". 相关文件: src/ex_cmds.c Patch 6.1.082 问题: 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. 解决方案: Remove the mapping of "p" from vimrc_example.vim, it's obsolete. (Vlad Sandrini) 相关文件: runtime/vimrc_example.vim Patch 6.1.083 问题: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found. (Martin Lacko) 解决方案: Guess the right menu file based on the system. 相关文件: runtime/lang/menu_sk_sk.vim Patch 6.1.084 (depends on 6.1.080) 问题: "include" and "lib" are mixed up when checking the directories gcc already searches. 解决方案: Swap the variable names. (SunHo Kim) 相关文件: src/auto/configure, src/configure.in Patch 6.1.085 问题: When usingCTRL-O
CTRL-\
CTRL-N
from Insert mode, the displayed mode "(insert)" isn't removed. (Benji Fisher) 解决方案: Clear the command line. 相关文件: src/normal.c Patch 6.1.086 (depends on 6.1.049) 问题: The guifg color for CursorIM doesn't take effect. 解决方案: Use the foreground color when it's defined. (Muraoka Taro) 相关文件: src/gui.c Patch 6.1.087 问题: A thesaurus with Japanese characters has problems with characters in different word classes. 解决方案: Only separate words with single-byte non-word characters. (Muraoka Taro) 相关文件: src/edit.c Patch 6.1.088 (extra) 问题: Win32: no debugging info is generated. Tags file excludes .cpp files. 解决方案: Add "/map" to compiler flags. Add "*.cpp" to ctags command. (Muraoka Taro) 相关文件: src/Make_mvc.mak Patch 6.1.089 问题: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan) 解决方案: Use ss_base instead. 相关文件: src/auto/configure, src/configure.in, src/config.h.in, src/os_unix.c Patch 6.1.090 问题:CTRL-F
gets stuck when 'scrolloff' is non-zero and there is a mix of long wrapping lines and a non-wrapping line. 解决方案: Check thatCTRL-F
scrolls at least one line. 相关文件: src/move.c Patch 6.1.091 问题: GTK: Can't change preeditstate without setting 'imactivatekey'. 解决方案: Add some code to change preeditstate for OnTheSpot. (Yasuhiro Matsumoto) 相关文件: src/mbyte.c Patch 6.1.092 问题: ":mapclear<buffer>
" doesn't work. (Srikanth Adayapalam) 解决方案: Allow an argument for ":mapclear". 相关文件: src/ex_cmds.h Patch 6.1.093 (extra) 问题: Mac and MS-Windows GUI: when scrolling while ":s" is working the results can be messed up, because the cursor is moved. 解决方案: Disallow direct scrolling when not waiting for a character. 相关文件: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c Patch 6.1.094 问题: Cygwin: Passing a file name that has backslashes isn't handled very well. 解决方案: Convert file name arguments to Posix. (Chris Metcalf) 相关文件: src/main.c Patch 6.1.095 问题: When using signs can free an item on the stack. Overruling sign colors doesn't work. (Srikanth Sankaran) 解决方案: Don't free the item on the stack. Use NULL instead of "none" for the value of the color. 相关文件: src/gui_x11.c Patch 6.1.096 问题: When erasing the right halve of a double-byte character, it may cause further characters to be erased. (Yasuhiro Matsumoto) 解决方案: Make sure only one character is erased. 相关文件: src/screen.c Patch 6.1.097 (depends on 6.1.090) 问题: When 'scrolloff' is set to a huge value,CTRL-F
at the end of the file scrolls one line. (Lubomir Host) 解决方案: Don't scroll whenCTRL-F
detects the end-of-file. 相关文件: src/move.c Patch 6.1.098 问题: MS-Windows: When the xxd program is under "c:\program files" the "Convert to Hex" menu doesn't work. (Brian Mathis) 解决方案: Put the path to xxd in double quotes. 相关文件: runtime/menu.vim Patch 6.1.099 问题: Memory corrupted when closing a fold with more than 99999 lines. 解决方案: Allocate more space for the fold text. (Walter Briscoe) 相关文件: src/eval.c Patch 6.1.100 (extra, depends on 6.1.088) 问题: Win32: VC5 and earlier don't support the /mapinfo option. 解决方案: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro) 相关文件: src/Make_mvc.mak Patch 6.1.101 问题: 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. 解决方案: Use ":setlocal" instead of ":set". Change "aw" to "awa". Don't map space in Insert mode. 相关文件: runtime/optwin.vim Patch 6.1.102 问题: Unprintable and multi-byte characters in a statusline item are not truncated correctly. (Yasuhiro Matsumoto) 解决方案: Count the width of characters instead of the number of bytes. 相关文件: src/buffer.c Patch 6.1.103 问题: 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. 解决方案: Move the verbose message about returning from a function to call_func(). (Servatius Brandt) 相关文件: src/eval.c Patch 6.1.104 问题: GCC 3.1 appears to have an optimizer problem that makes test 3 crash. 解决方案: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug. Filter out extra info from "gcc --version". 相关文件: src/auto/configure, src/configure.in Patch 6.1.105 问题: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion Nicolaas) 解决方案: Redirect stderr, depending on the shell (like for 'shellredir'). 相关文件: src/option.c Patch 6.1.106 问题: The maze program crashes. 解决方案: Change "11" to "27" and it works. (Greg Roelofs) 相关文件: runtime/macros/maze/mazeansi.c Patch 6.1.107 问题: When 'list' is set the current line in the error window may be displayed wrong. (Muraoka Taro) 解决方案: Don't continue the line after the $ has been displayed and the rightmost column is reached. 相关文件: src/screen.c Patch 6.1.108 问题: When interrupting a filter command such as "!!sleep 20" the file becomes read-only. (Mark Brader) 解决方案: 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. 相关文件: src/ex_cmds.c, src/fileio.c Patch 6.1.109 问题: When 'eadirection' is "hor", usingCTRL-W
= doesn't equalize the window heights. (Roman Neuhauser) 解决方案: Ignore 'eadirection' forCTRL-W
= 相关文件: src/window.c Patch 6.1.110 问题: When using ":badd file" when "file" is already present but not listed, it stays unlisted. (David Frey) 解决方案: Set 'buflisted'. 相关文件: src/buffer.c Patch 6.1.111 问题: It's not possible to detect using the Unix sources on Win32 or Mac. 解决方案: Add has("macunix") and has("win32unix"). 相关文件: runtime/doc/eval.txt, src/eval.c Patch 6.1.112 问题: 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. 解决方案: Only remember the cursor position from before the ":argdo", ":bufdo" and ":windo". 相关文件: src/ex_cmds2.c, src/mark.c Patch 6.1.113 问题: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser) 解决方案: Decide what buffer to go to next before executing the command. 相关文件: src/ex_cmds2.c Patch 6.1.114 问题: ":python import vim", ":python vim.current.buffer[0:0] = []" gives a lalloc(0) error. (Chris Southern) 解决方案: Don't allocate an array when it's size is zero. 相关文件: src/if_python.c Patch 6.1.115 问题: "das" on the white space at the end of a paragraph does not delete the "." the sentence ends with. 解决方案: Don't exclude the last character when it is not white space. 相关文件: src/search.c Patch 6.1.116 问题: When 'endofline' is changed while 'binary' is set a file should be considered modified. (Olaf Buddenhagen) 解决方案: 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. 相关文件: src/option.c, src/structs.h Patch 6.1.117 问题: Small problem with editing a file over ftp: and with Cygwin. 解决方案: Remove a dot from a ":normal" command. Use "cygdrive" where appropriate. (Charles Campbell) 相关文件: runtime/plugin/netrw.vim Patch 6.1.118 问题: 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) 解决方案: After reloading a file in diff mode mark all windows in diff mode for redraw. 相关文件: src/diff.c Patch 6.1.119 (extra) 问题: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be a crash when connecting to Sniff. 解决方案: Initialize sniff_rq_sep such that its value can be changed. (Martin Egloff) 相关文件: src/if_sniff.c Patch 6.1.120 (depends on 6.1.097) 问题: 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) 解决方案: Adjust the first line to the start of a fold. 相关文件: src/move.c Patch 6.1.121 (depends on 6.1.098) 问题: When starting Select mode from Insert mode, then using the Paste menu entry, the cursor is left before the last pasted character. (Mario Schweigler) 解决方案: Set the cursor for Insert mode one character to the right. 相关文件: runtime/menu.vim Patch 6.1.122 问题: ":file name" creates a new buffer to hold the old buffer name, which becomes the alternate file. This buffer is unexpectedly listed. 解决方案: Create the buffer for the alternate name unlisted. 相关文件: src/ex_cmds.c Patch 6.1.123 问题: A ":match" command with more than one argument doesn't report an error. 解决方案: Check for extra characters. (Servatius Brandt) 相关文件: src/ex_docmd.c Patch 6.1.124 问题: When trying to exit and there is a hidden buffer that had 'eol' off and 'bin' set exiting isn't possible. (John McGowan) 解决方案: Set b_start_eol when clearing the buffer. 相关文件: src/buffer.c Patch 6.1.125 问题: Explorer plugin asks for saving a modified buffer even when it's open in another window as well. 解决方案: Count the number of windows using the buffer. 相关文件: runtime/plugin/explorer.vim Patch 6.1.126 问题: Adding the choices in the syntax menu is consuming much of the startup time of the GUI while it's not often used. 解决方案: Only add the choices when the user wants to use them. 相关文件: Makefile, runtime/makemenu.vim, runtime/menu.vim, runtime/synmenu.vim, src/Makefile Patch 6.1.127 问题: When using "--remote file" and the server has 'insertmode' set, commands are inserted instead of being executed. (Niklas Volbers) 解决方案: Go to Normal mode again after the ":drop" command. 相关文件: src/main.c Patch 6.1.128 问题: The expression "input('very long prompt')" puts the cursor in the wrong line (column is OK). 解决方案: Add the wrapped lines to the indent. (Yasuhiro Matsumoto) 相关文件: src/ex_getln.c Patch 6.1.129 问题: On Solaris editing "file/" and then "file" results in using the same buffer. (Jim Battle) 解决方案: Before using stat(), check that there is no illegal trailing slash. 相关文件: src/auto/configure, src/config.h.in, src/configure.in, src/macros.h src/misc2.c, src/proto/misc2.pro Patch 6.1.130 问题: The documentation for some of the 'errorformat' items is unclear. 解决方案: Add more examples and explain hard to understand items. (Stefan Roemer) 相关文件: runtime/doc/quickfix.txt Patch 6.1.131 问题: X11 GUI: when expanding a CSI byte in the input stream to K_CSI, the CSI byte itself isn't copied. 解决方案: Copy the CSI byte. 相关文件: src/gui_x11.c Patch 6.1.132 问题: Executing a register in Ex mode may cause commands to be skipped. (John McGowan) 解决方案: In Ex mode use an extra check if the register contents was consumed, to avoid input goes into the typeahead buffer. 相关文件: src/ex_docmd.c Patch 6.1.133 问题: When drawing double-wide characters in the statusline, may clear half of a character. (Yasuhiro Matsumoto) 解决方案: 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. 相关文件: src/screen.c Patch 6.1.134 问题: An error for a trailing argument of ":match" should not be given after ":if 0". (Servatius Brandt) 解决方案: Only do the check when executing commands. 相关文件: src/ex_docmd.c Patch 6.1.135 问题: Passing a command to the shell that includes a newline always has a backslash before the newline. 解决方案: Remove one backslash before the newline. (Servatius Brandt) 相关文件: src/ex_docmd.c Patch 6.1.136 问题: When $TERM is "linux" the default for 'background' is "dark", even though the GUI uses a light background. (Hugh Allen) 解决方案: 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. 相关文件: src/option.c Patch 6.1.137 问题: Converting to HTML has a clumsy way of dealing with tabs which may change the highlighting. 解决方案: Replace tabs with spaces after converting a line to HTML. (Preben Guldberg) 相关文件: runtime/syntax/2html.vim Patch 6.1.138 (depends on 6.1.126) 问题: Adding extra items to the Syntax menu can't be done when the "Show individual choices" menu is used. 解决方案: 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. 相关文件: runtime/menu.vim Patch 6.1.139 问题: Cygwin: PATH_MAX is not defined. 解决方案: Include limits.h. (Dan Sharp) 相关文件: src/main.c Patch 6.1.140 问题: Cygwin: ":args `ls *.c`" does not work if the shell command produces CR NL line separators. 解决方案: Remove the CR characters ourselves. (Pavol Juhas) 相关文件: src/os_unix.c Patch 6.1.141 问题: ":wincmd gx" may cause problems when mixed with other commands. ":wincmd c" doesn't close the window immediately. (Benji Fisher) 解决方案: Pass the extra command character directly instead of using the stuff buffer and call ex_close() directly. 相关文件: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, src/proto/window.pro, src/window.c Patch 6.1.142 问题: Defining paragraphs without a separating blank line isn't possible. Paragraphs can't be formatted automatically. 解决方案: Allow defining paragraphs with lines that end in white space. Added the 'w' and 'a' flags in 'formatoptions'. 相关文件: 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) 问题: 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. 解决方案: 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. 相关文件: src/edit.c, src/ops.c, src/normal.c Patch 6.1.144 问题: Obtaining the size of a line in screen characters can be wrong. A pointer may wrap around zero. 解决方案: In win_linetabsize() check for a MAXCOL length argument. (Jim Dunleavy) 相关文件: src/charset.c Patch 6.1.145 问题: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael Marchand) 解决方案: Rewrite the code that parses the received list of files to be more robust. 相关文件: src/charset.c, src/gui_gtk_x11.c Patch 6.1.146 问题: MS-Windows: When $HOME is constructed from $HOMEDRIVE and $HOMEPATH, it is not used for storing the _viminfo file. (Normal Diamond) 解决方案: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH. 相关文件: src/misc1.c Patch 6.1.147 (extra) 问题: MS-Windows: When a dialog has no default button, pressing Enter ends it anyway and all buttons are selected. 解决方案: Don't end a dialog when there is no default button. Don't select all button when there is no default. (Vince Negri) 相关文件: src/gui_w32.c Patch 6.1.148 (extra) 问题: MS-Windows: ACL is not properly supported. 解决方案: Add an access() replacement that also works for ACL. (Mike Williams) 相关文件: runtime/doc/editing.txt, src/os_win32.c Patch 6.1.149 (extra) 问题: MS-Windows: Can't use diff mode from the file explorer. 解决方案: Add a "diff with Vim" context menu entry. (Dan Sharp) 相关文件: GvimExt/gvimext.cpp, GvimExt/gvimext.h Patch 6.1.150 问题: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd() still uses backslash. (Yegappan Lakshmanan) 解决方案: Adjust slashes in getcwd(). 相关文件: src/eval.c Patch 6.1.151 (extra) 问题: Win32: The NTFS substream isn't copied. 解决方案: Copy the substream when making a backup copy. (Muraoka Taro) 相关文件: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro Patch 6.1.152 问题: When $LANG is iso8859-1 translated menus are not used. 解决方案: Change iso8859 to iso_8859. 相关文件: runtime/menu.vim Patch 6.1.153 问题: Searching in included files may search recursively when the path starts with "../". (Sven Berkvens-Matthijsse) 解决方案: Compare full file names, use inode/device when possible. 相关文件: src/search.c Patch 6.1.154 (extra) 问题: DJGPP: "vim -h" leaves the cursor in a wrong position. 解决方案: Don't position the cursor using uninitialized variables. (Jim Dunleavy) 相关文件: src/os_msdos.c Patch 6.1.155 问题: Win32: Cursor may sometimes disappear in Insert mode. 解决方案: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe) 相关文件: src/option.c Patch 6.1.156 问题: Conversion between DBCS and UCS-2 isn't implemented cleanly. 解决方案: Clean up a few things. 相关文件: src/mbyte.c, src/structs.h Patch 6.1.157 问题: 'hlsearch' highlights only the second comma in ",,,,," with "/,\@<=[^,]*". (Preben Guldberg) 解决方案: Also check for an empty match to start just after a previous match. 相关文件: src/screen.c Patch 6.1.158 问题: "zs" and "ze" don't work correctly with ":set nowrap siso=1". (Preben Guldberg) 解决方案: Take 'siso' into account when computing the horizontal scroll position for "zs" and "ze". 相关文件: src/normal.c Patch 6.1.159 问题: When expanding an abbreviation that includes a multi-byte character too many characters are deleted. (Andrey Urazov) 解决方案: Delete the abbreviation counting characters instead of bytes. 相关文件: src/getchar.c Patch 6.1.160 问题: ":$read file.gz" doesn't work. (Preben Guldberg) 解决方案: Don't use the '[ mark after it has become invalid. 相关文件: runtime/plugin/gzip.vim Patch 6.1.161 (depends on 6.1.158) 问题: Warning for signed/unsigned compare. Can set 'siso' to a negative value. (Mike Williams) 解决方案: Add a typecast. Add a check for 'siso' being negative. 相关文件: src/normal.c, src/option.c Patch 6.1.162 问题: Python interface: Didn't initialize threads properly. 解决方案: Call PyEval_InitThreads() when starting up. 相关文件: src/if_python.c Patch 6.1.163 问题: Win32: Can't compile with Python after 6.1.162. 解决方案: Dynamically load PyEval_InitThreads(). (Dan Sharp) 相关文件: src/if_python.c Patch 6.1.164 问题: If 'modifiable' is off, converting to xxd fails and 'filetype' is changed to "xxd" anyway. 解决方案: Don't change 'filetype' when conversion failed. 相关文件: runtime/menu.vim Patch 6.1.165 问题: 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) 解决方案: 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. 相关文件: src/undo.c Patch 6.1.166 问题: When 'autoindent' is set and mswin.vim has been sourced, pasting withCTRL-V
just after auto-indenting removes the indent. (Shlomi Fish) 解决方案: First insert an "x" and delete it again, so that the auto-indent remains. 相关文件: runtime/mswin.vim Patch 6.1.167 问题: When giving a negative argument to ":retab" strange things start happening. (Hans Ginzel) 解决方案: Check for a negative value. 相关文件: src/ex_cmds.c Patch 6.1.168 问题: PressingCTRL-C
at the hit-enter prompt doesn't end the prompt. 解决方案: MakeCTRL-C
stop the hit-enter prompt. 相关文件: src/message.c Patch 6.1.169 问题: bufexists() finds a buffer by using the name of a symbolic link to it, but bufnr() doesn't. (Yegappan Lakshmanan) 解决方案: When bufnr() can't find a buffer, try using the same method as bufexists(). 相关文件: src/eval.c Patch 6.1.170 问题: Using ":mksession" uses the default session file name, but "vim -S" doesn't. (Hans Ginzel) 解决方案: Use the default session file name if "-S" is the last command line argument or another option follows. 相关文件: runtime/doc/starting.txt, src/main.c Patch 6.1.171 问题: 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) 解决方案: Update the flag that indicates the cursor is in a closed fold. 相关文件: src/misc1.c Patch 6.1.172 问题: Command line completion of ":tag /pat" does not show the same results as the tags the command actually finds. (Gilles Roy) 解决方案: Don't modify the pattern to make it a regexp. 相关文件: src/ex_getln.c, src/tag.c Patch 6.1.173 问题: 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. 解决方案: Don't split the window, keep editing the same buffer. Use the ":drop" command in VisVim to avoid the problem there. 相关文件: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, VisVim/Commands.cpp Patch 6.1.174 问题: It is difficult to know in a script whether an option not only exists but really works. 解决方案: Add "exists('+option')". 相关文件: runtime/doc/eval.txt, src/eval.c Patch 6.1.175 问题: When reading commands from a pipe and aCTRL-C
is pressed, Vim will hang. (Piet Delport) 解决方案: Don't keep reading characters to clear typeahead when an interrupt was detected, stop when a singleCTRL-C
is read. 相关文件: src/getchar.c, src/ui.c Patch 6.1.176 问题: When the stack limit is very big a false out-of-stack error may be detected. 解决方案: Add a check for overflow of the stack limit computation. (Jim Dunleavy) 相关文件: src/os_unix.c Patch 6.1.177 (depends on 6.1.141) 问题: ":wincmd" does not allow a following command. (Gary Johnson) 解决方案: Check for a following " | cmd". Also give an error for trailing characters. 相关文件: src/ex_docmd.c Patch 6.1.178 问题: When 'expandtab' is set "r<C-V>
<Tab>
" still expands the Tab. (Bruce deVisser) 解决方案: Replace with a literal Tab. 相关文件: src/normal.c Patch 6.1.179 (depends on 6.1.091) 问题: When using X11R5 XIMPreserveState is undefined. (Albert Chin) 解决方案: Include the missing definitions. 相关文件: src/mbyte.c Patch 6.1.180 问题: Use of the GUI code for forking is inconsistent. 解决方案: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer) 相关文件: src/gui.c Patch 6.1.181 问题: 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) 解决方案: Don't output a space to mark the wrap, but the same character again. 相关文件: src/screen.c Patch 6.1.182 (depends on 6.1.142) 问题: It is not possible to auto-format comments only. (Moshe Kaminsky) 解决方案: When the 'a' and 'c' flags are in 'formatoptions' only auto-format comments. 相关文件: runtime/doc/change.txt, src/edit.c Patch 6.1.183 问题: 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. 解决方案: For this specific error use "ILLEGAL BYTE" and don't set 'readonly'. 相关文件: src/fileio.c Patch 6.1.184 (extra) 问题: The extra mouse buttons found on some mice don't work. 解决方案: Support two extra buttons for MS-Windows. (Michael Geddes) 相关文件: 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) 问题: Can't compile without +comments feature. 解决方案: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson) 相关文件: src/edit.c Patch 6.1.186 (depends on 6.1.177) 问题: ":wincmd" does not allow a following comment. (Aric Blumer) 解决方案: Check for a following double quote. 相关文件: src/ex_docmd.c Patch 6.1.187 问题: Using ":doarg" with 'hidden' set and the current file is the only argument and was modified gives an error message. (Preben Guldberg) 解决方案: Don't try re-editing the same file. 相关文件: src/ex_cmds2.c Patch 6.1.188 (depends on 6.1.173) 问题: Unused variable in the small version. 解决方案: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS. 相关文件: src/ex_cmds2.c Patch 6.1.189 问题: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric Blumer) 解决方案: Fall back to the input() function in this situation. 相关文件: src/eval.c Patch 6.1.190 (extra) 问题: VMS: doesn't build with GTK GUI. Various other problems. 解决方案: Fix building for GTK. Improved Perl, Python and TCL support. Improved VMS documentation. (Zoltan Arpadffy) Added Vimtutor for VMS (T. R. Wyant) 相关文件: 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 问题: 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. 解决方案: Don't delay when reading commands from a script. 相关文件: src/main.c Patch 6.1.192 问题: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson) 解决方案: Add "hor" to 'scrollopt' each time ":diffsplit" is used. 相关文件: src/diff.c, src/main.c Patch 6.1.193 问题: Crash in in_id_list() for an item with a "containedin" list. (Dave Fishburn) 解决方案: Check for a negative syntax id, used for keywords. 相关文件: src/syntax.c Patch 6.1.194 问题: 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. 解决方案: Scroll the text up in the Vim page before swapping to the terminal page. (Michael Schroeder) 相关文件: src/os_unix.c Patch 6.1.195 问题: The quickfix and preview windows always keep their height, while other windows can't fix their height. 解决方案: 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. 相关文件: 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) 问题: On Mac OS X 10.2 generating osdef.h fails. 解决方案: Add -no-cpp-precomp to avoid using precompiled header files, which disables printing the search path. (Ben Fowler) 相关文件: src/auto/configure, src/configure.in Patch 6.1.197 问题: ":help<C-V>
<C-\><C-V>
<C-N>
" (resulting in<1c>
<0e>
) gives an error message. (Servatius Brandt) 解决方案: Double the backslash in "CTRL-\
". 相关文件: src/ex_cmds.c Patch 6.1.198 (extra) (depends on 6.1.076) 问题: Mac OS X: Dialogues don't work. 解决方案: Fix a crashing problem for some GUI dialogues. Fix a problem when saving to a new file from the GUI. (Peter Cucka) 相关文件: src/feature.h, src/gui_mac.c Patch 6.1.199 问题: 'guifontwide' doesn't work on Win32. 解决方案: Output each wide character separately. (Michael Geddes) 相关文件: src/gui.c Patch 6.1.200 问题: ":syn sync fromstart" is not skipped after ":if 0". This can make syntax highlighting very slow. 解决方案: Check "eap->skip" appropriately. (Rob West) 相关文件: src/syntax.c Patch 6.1.201 (depends on 6.1.192) 问题: Warning for illegal pointer combination. (Zoltan Arpadffy) 解决方案: Add a typecast. 相关文件: src/diff.c Patch 6.1.202 (extra)(depends on 6.1.148) 问题: Win32: filewritable() doesn't work properly on directories. 解决方案: fix filewritable(). (Mike Williams) 相关文件: src/os_win32.c Patch 6.1.203 问题: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway) 解决方案: Avoid reading past the end of a line when "~" is empty. 相关文件: src/regexp.c Patch 6.1.204 (depends on 6.1.129) 问题: Warning for an illegal pointer on Solaris. 解决方案: Add a typecast. (Derek Wyatt) 相关文件: src/misc2.c Patch 6.1.205 问题: The gzip plugin changes the alternate file when editing a compressed file. (Oliver Fuchs) 解决方案: Temporarily remove the 'a' and 'A' flags from 'cpo'. 相关文件: runtime/plugin/gzip.vim Patch 6.1.206 问题: The script generated with ":mksession" doesn't work properly when some commands are mapped. 解决方案: Use ":normal!" instead of ":normal". And use ":wincmd" where possible. (Muraoka Taro) 相关文件: src/ex_docmd.c, src/fold.c Patch 6.1.207 问题: Indenting a Java file hangs below a line with a comment after a command. 解决方案: Break out of a loop. (Andre Pang) Also line up } with matching {. 相关文件: runtime/indent/java.vim Patch 6.1.208 问题: Can't use the buffer number from the Python interface. 解决方案: Add buffer.number. (Michal Vitecek) 相关文件: src/if_python.c Patch 6.1.209 问题: Printing doesn't work on Mac OS classic. 解决方案: Use a ":" for path separator when opening the resource file. (Axel Kielhorn) 相关文件: src/ex_cmds2.c Patch 6.1.210 问题: When there is an iconv() conversion error when reading a file there can be an error the next time iconv() is used. 解决方案: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto) 相关文件: src/fileio.c Patch 6.1.211 问题: The message "use ! to override" is confusing. 解决方案: Make it "add ! to override". 相关文件: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c, src/globals.h Patch 6.1.212 问题: When Vim was started with "-R" ":new" creates a buffer 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg) 解决方案: Don't set 'readonly in a new empty buffer for ":enew". 相关文件: src/ex_docmd.c Patch 6.1.213 问题: UsingCTRL-W
H may cause a big gap to appear below the last window. (Aric Blumer) 解决方案: Don't set the window height when there is a vertical split. (Yasuhiro Matsumoto) 相关文件: src/window.c Patch 6.1.214 问题: When installing Vim and the runtime files were checked out from CVS the CVS directories will also be installed. 解决方案: Avoid installing the CVS dirs and their contents. 相关文件: src/Makefile Patch 6.1.215 问题: Win32: ":pwd" uses backslashes even when 'shellslash' is set. (Xiangjiang Ma) 解决方案: Adjust backslashes before printing the message. 相关文件: src/ex_docmd.c Patch 6.1.216 问题: When dynamically loading the iconv library, the error codes may be confused. 解决方案: Use specific error codes for iconv and redefine them for dynamic loading. (Yasuhiro Matsumoto) 相关文件: src/fileio.c, src/mbyte.c, src/vim.h Patch 6.1.217 问题: 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) 解决方案: Turn the script name into a full path before using it. On Unix compare inode/device numbers. 相关文件: src/ex_cmds2.c Patch 6.1.218 问题: No error message for using the function argument "5+". (Servatius Brandt) 解决方案: Give an error message if a function or variable is expected but is not found. 相关文件: src/eval.c Patch 6.1.219 问题: When using ":amenu :b 1<CR>
" with a Visual selection and 'insertmode' is set, Vim does not return to Insert mode. (Mickael Marchand) 解决方案: Add the commandCTRL-\
CTRL-G
that goes to Insert mode if 'insertmode' is set and to Normal mode otherwise. Append this to menus defined with ":amenu". 相关文件: src/edit.c, src/ex_getln.c, src/normal.c Patch 6.1.220 问题: 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) 解决方案: 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. 相关文件: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h, src/proto/buffer.pro Patch 6.1.221 问题: Changing case may not work properly, depending on the current locale. 解决方案: 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. 相关文件: 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) 问题: Patch 6.1.219 was incomplete. 解决方案: Add the changes for ":amenu". 相关文件: src/menu.c Patch 6.1.223 (extra) 问题: 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) 解决方案: 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. 相关文件: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c Patch 6.1.224 问题: "expand('$VAR')" returns an empty string when the expanded $VAR is not an existing file. (Aric Blumer) 解决方案: Included non-existing files, as documented. 相关文件: src/eval.c Patch 6.1.225 问题: 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. 解决方案: 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). 相关文件: src/buffer.c Patch 6.1.226 问题: Using ":debug" with a ":normal" command may cause a hang. (Colin Keith) 解决方案: Save the typeahead buffer when obtaining a debug command. 相关文件: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro Patch 6.1.227 问题: It is possible to use a variable name "asdf:asdf" and ":let j:asdf = 5" does not give an error message. (Mikolaj Machowski) 解决方案: Check for a ":" inside the variable name. 相关文件: src/eval.c Patch 6.1.228 (extra) 问题: 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. 解决方案: Remove HanExtTextOut(). Delete the dead code around bInComposition and ImeGetTempComposition(). 相关文件: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c Patch 6.1.229 问题: Win32: Conversion to/from often used codepages requires the iconv library, which is not always available. 解决方案: Use standard MS-Windows functions for the conversion when possible. (mostly by Glenn Maynard) Also fixes missing declaration for patch 6.1.220. 相关文件: src/fileio.c Patch 6.1.230 (extra) 问题: Win16: building doesn't work. 解决方案: Exclude the XBUTTON handling. (Vince Negri) 相关文件: src/gui_w48.c Patch 6.1.231 问题: Double clicking with the mouse to select a word does not work for multi-byte characters. 解决方案: 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. 相关文件: src/normal.c Patch 6.1.232 (depends on 6.1.226) 问题: Using ex_normal_busy while it might not be available. (Axel Kielhorn) 解决方案: Only use ex_normal_busy when FEAT_EX_EXTRA is defined. 相关文件: src/ex_cmds2.c Patch 6.1.233 问题: ":help expr-||" does not work. 解决方案: Don't use the '|' as a command separator 相关文件: src/ex_cmds.c Patch 6.1.234 (depends on 6.1.217) 问题: Get a warning for using a negative value for st_dev. 解决方案: Don't assign a negative value to st_dev. 相关文件: src/ex_cmds2.c Patch 6.1.235 (depends on 6.1.223) 问题: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter Valach) 解决方案: Check "State" before resetting it to NORMAL. 相关文件: src/edit.c Patch 6.1.236 问题: Memory leaks when appending lines for ":diffget" or ":diffput" and when reloading a changed buffer. 解决方案: Free a line after calling ml_append(). 相关文件: src/diff.c, src/fileio.c Patch 6.1.237 问题: Putting in Visual block mode does not work correctly when "$" was used or when the first line is short. (Christian Michon) 解决方案: First delete the selected text and then put the new text. Save and restore registers as necessary. 相关文件: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro, src/vim.h Patch 6.1.238 (extra) 问题: Win32: The "icon=" argument for the ":menu" command does not search for the bitmap file. 解决方案: Expand environment variables and search for the bitmap file. (Vince Negri) Make it consistent, use the same mechanism for X11 and GTK. 相关文件: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c, src/proto/gui.pro Patch 6.1.239 问题: Giving an error for missing :endif or :endwhile when being interrupted. 解决方案: Don't give these messages when interrupted. 相关文件: src/ex_docmd.c, src/os_unix.c Patch 6.1.240 (extra) 问题: Win32 with BCC 5: CPU may be defined in the environment, which causes a wrong argument for the compiler. (Walter Briscoe) 解决方案: Use CPUNR instead of CPU. 相关文件: src/Make_bc5.mak Patch 6.1.241 问题: Something goes wrong when drawing or undrawing the cursor. 解决方案: Remember when the cursor invalid in a better way. 相关文件: src/gui.c Patch 6.1.242 问题: When pasting a large number of lines on the command line it is not possible to interrupt. (Jean Jordaan) 解决方案: Check for an interrupt after each pasted line. 相关文件: src/ops.c Patch 6.1.243 (extra) 问题: 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). 解决方案: Check if registering is possible before asking whether it should be done. (Walter Briscoe) Also avoid restarting Vim after registering. 相关文件: src/if_ole.cpp Patch 6.1.244 问题: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg) 解决方案: Include it here. 相关文件: src/vim.h Patch 6.1.245 问题: 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) 解决方案: Handle ignore-case compare for Unicode differently. 相关文件: src/mbyte.c Patch 6.1.246 问题: ":blast" goes to the first buffer if the last one is unlisted. (Andrew Stryker) 解决方案: From the last buffer search backwards for the first listed buffer instead of forwards. 相关文件: src/ex_docmd.c Patch 6.1.247 问题: ACL support doesn't always work properly. 解决方案: Add a configure argument to disable ACL "--disable-acl". (Thierry Vignaud) 相关文件: src/auto/configure, src/configure.in Patch 6.1.248 问题: Typing 'q' at the more-prompt for ":let" does not quit the listing. (Hari Krishna Dara) 解决方案: Quit the listing when got_int is set. 相关文件: src/eval.c Patch 6.1.249 问题: Can't expand a path on the command line if it includes a "|" as a trail byte of a multi-byte character. 解决方案: Check for multi-byte characters. (Yasuhiro Matsumoto) 相关文件: src/ex_docmd.c Patch 6.1.250 问题: When changing the value of 'lines' inside the expression set with 'diffexpr' Vim might crash. (Dave Fishburn) 解决方案: Don't allow changing the screen size while updating the screen. 相关文件: src/globals.h, src/option.c, src/screen.c Patch 6.1.251 问题: Can't use completion for ":lcd" and ":lchdir" like ":cd". 解决方案: Expand directory names for these commands. (Servatius Brandt) 相关文件: src/ex_docmd.c Patch 6.1.252 问题: "vi}" does not include a line break when the "}" is at the start of a following line. (Kamil Burzynski) 解决方案: Include the line break. 相关文件: src/search.c Patch 6.1.253 (extra) 问题: Win32 with Cygwin: Changes the path of arguments in a wrong way. (Xiangjiang Ma) 解决方案: Don't use cygwin_conv_to_posix_path() for the Win32 version. Update the Cygwin makefile to support more features. (Dan Sharp) 相关文件: src/Make_cyg.mak, src/if_ole.cpp, src/main.c Patch 6.1.254 问题: 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)}