to go back to a help file, it becomes listed. (Andrew Nesbit) Using ":tag" or ":tjump" in a help file doesn't keep the help file settings (e.g. for 'iskeyword'). 解决方案: Don't mark a buffer as listed when its help flag is set. Put all the option settings for a help buffer together in do_ecmd(). 相关文件: src/ex_cmds.c Patch 6.2.283 问题: The "local additions" in help.txt are used without conversion, causing latin1 characters showing up wrong when 'enc' is utf-8. (Antoine J. Mechelynck) 解决方案: Convert the text to 'encoding'. 相关文件: src/ex_cmds.c Patch 6.2.284 问题: Listing a function puts "endfunction" in the message history. Typing "q" at the more prompt isn't handled correctly when listing variables and functions. (Hara Krishna Dara) 解决方案: Don't use msg() for "endfunction". Check "got_int" regularly. 相关文件: src/eval.c Patch 6.2.285 问题: GUI: In a single wrapped line that fills the window, "gj" in the last screen line leaves the cursor behind. (Ivan Tarasov) 解决方案: Undraw the cursor before scrolling the text up. 相关文件: src/gui.c Patch 6.2.286 问题: When trying to rename a file and it doesn't exist, the destination file is deleted anyway. (Luc Deux) 解决方案: Don't delete the destination when the source doesn't exist. (Taro Muraoka) 相关文件: src/fileio.c Patch 6.2.287 (after 6.2.264) 问题: Duplicate lines are added to the viminfo file. 解决方案: Compare with existing entries without an offset. Also fixes reading very long history lines from viminfo. 相关文件: src/ex_getln.c Patch 6.2.288 (extra) 问题: Mac: An external program can't be interrupted. 解决方案: Don't use the 'c' key for backspace. (Eckehard Berns) 相关文件: src/gui_mac.c Patch 6.2.289 问题: Compiling the Tcl interface with thread support causes ":make" to fail. (Juergen Salk) 解决方案: Use $TCL_DEFS from the Tcl config script to obtain the required compile flags for using the thread library. 相关文件: src/auto/configure, src/configure.in Patch 6.2.290 (extra) 问题: Mac: The mousewheel doesn't work. 解决方案: Add mousewheel support. Also fix updating the thumb after a drag and then using another way to scroll. (Eckehard Berns) 相关文件: src/gui_mac.c Patch 6.2.291 (extra) 问题: Mac: the plus button and close button don't do anything. 解决方案: Make the plus button maximize the window and the close button close Vim. (Eckehard Berns) 相关文件: src/gui.c, src/gui_mac.c Patch 6.2.292 问题: Motif: When removing GUI arguments from argv[] a "ps -ef" shows the last argument repeated. 解决方案: Set argv[argc] to NULL. (Michael Jarvis) 相关文件: src/gui_x11.c Patch 6.2.293 (after 6.2.255) 问题: GTK: A new item in a menu is put before the tearoff item. 解决方案: Do increment the menu item index for non-popup menu items. 相关文件: src/gui_gtk.c Patch 6.2.294 (extra) 问题: Mac: Cannot use modifiers with Space, Tab, Enter and Escape. 解决方案: Handle all modifiers for these keys. (Eckehard Berns) 相关文件: src/gui_mac.c Patch 6.2.295 问题: When in debug mode, receiving a message from a remote client causes a crash. Evaluating an expression causes Vim to wait for "cont" to be typed, without a prompt. (Hari Krishna Dara) 解决方案: Disable debugging when evaluating an expression for a client. (Michael Geddes) Don't try reading into the typeahead buffer when it may have been filled in another way. 相关文件: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c, src/misc1.c, src/proto/getchar.pro, src/proto/main.pro, src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h, src/os_unix.c, src/ui.c Patch 6.2.296 (extra) 问题: Same as 6.2.295. 解决方案: Extra files for patch 6.2.295. 相关文件: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c, src/proto/os_amiga.pro, src/proto/os_msdos.pro, src/proto/os_riscos.pro, src/proto/os_win32.pro Patch 6.2.297 (after 6.2.232) 问题: Cannot invoke Python commands recursively. 解决方案: With Python 2.3 and later use the available mechanisms to invoke Python recursively. (Matthew Mueller) 相关文件: src/if_python.c Patch 6.2.298 问题: A change always sets the '. mark and an insert always sets the '^ mark, even when this is not wanted. Cannot go back to the position of older changes without undoing those changes. 解决方案: Add the ":keepjumps" command modifier. Add the "g," and "g;" commands. 相关文件: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c, src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro, src/structs.h, src/undo.c Patch 6.2.299 问题: Can only use one language for help files. 解决方案: Add the 'helplang' option to select the preferred language(s). Make ":helptags" generate tags files for all languages. 相关文件: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c, src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro, src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h, src/tag.c, src/vim.h Patch 6.2.300 (after 6.2.297) 问题: Cannot build Python interface with Python 2.2 or earlier. 解决方案: Add a semicolon. 相关文件: src/if_python.c Patch 6.2.301 问题: The "select all" item from the popup menu doesn't work for Select mode. 解决方案: Use the same commands as for the "Edit.select all" menu. (Benji Fisher) 相关文件: runtime/menu.vim Patch 6.2.302 问题: Using "CTRL-O
." in Insert mode doesn't work properly. (Benji Fisher) 解决方案: Restore "restart_edit" after an insert command that was not typed. Avoid waiting with displaying the mode when there is no text to be overwritten. Fix that "CTRL-O
." sometimes doesn't put the cursor back after the end-of-line. Only reset the flag thatCTRL-O
was used past the end of the line when restarting editing. Update "o_lnum" number when inserting text and "o_eol" is set. 相关文件: src/edit.c, src/normal.c Patch 6.2.303 问题: Cannot use Unicode digraphs while 'encoding' is not Unicode. 解决方案: Convert the character from Unicode to 'encoding' when needed. Use the Unicode digraphs for the Macintosh. (Eckehard Berns) 相关文件: src/digraph.c Patch 6.2.304 (extra, after 6.2.256) 问题: Mac: No proper support for 'encoding'. Conversion without iconv() is not possible. 解决方案: Convert input from 'termencoding' to 'encoding'. Add mac_string_convert(). Convert text for the clipboard when needed. (Eckehard Berns) 相关文件: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h Patch 6.2.305 (after 6.2.300) 问题: Win32: Cannot build Python interface with Python 2.3. (Ajit Thakkar) 解决方案: Add two functions to the dynamic loading feature. 相关文件: src/if_python.c Patch 6.2.306 (extra) 问题: Win32: Building console version with BCC 5.5 gives a warning for get_cmd_args() prototype missing. (Ajit Thakkar) 解决方案: Don't build os_w32exe.c for the console version. 相关文件: src/Make_bc5.mak Patch 6.2.307 (after 6.2.299) 问题: Installing help files fails. 解决方案: Expand wildcards for translated help files separately. 相关文件: src/Makefile Patch 6.2.308 问题: Not all systems have "whoami", resulting in an empty user name. 解决方案: Use "logname" when possible, "whoami" otherwise. (David Boyce) 相关文件: src/Makefile Patch 6.2.309 问题: "3grx" waits for two ESC to be typed. (Jens Paulus) 解决方案: Append the ESC to the stuff buffer when redoing the "gr" insert. 相关文件: src/edit.c Patch 6.2.310 问题: When setting 'undolevels' to -1, making a change and setting 'undolevels' to a positive value an "undo list corrupt" error occurs. (Madoka Machitani) 解决方案: Sync undo before changing 'undolevels'. 相关文件: src/option.c Patch 6.2.311 (after 6.2.298) 问题: When making several changes in one line the changelist grows quickly. There is no error message for reaching the end of the changelist. Reading changelist marks from viminfo doesn't work properly. 解决方案: Only make a new entry in the changelist when making a change in another line or 'textwidth' columns away. Add E662, E663 and E664 error messages. Put a changelist mark from viminfo one position before the end. 相关文件: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c Patch 6.2.312 (after 6.2.299) 问题: "make install" clears the screen when installing the docs. 解决方案: Execute ":helptags" in silent mode. 相关文件: runtime/doc/Makefile Patch 6.2.313 问题: When opening folds in a diff window, other diff windows no longer show the same text. 解决方案: Sync the folds in diff windows. 相关文件: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro, src/proto/move.pro Patch 6.2.314 问题: When 'virtualedit' is set "rx" may cause a crash with a blockwise selection and using "$". (Moritz Orbach) 解决方案: Don't try replacing chars in a line that has no characters in the block. 相关文件: src/ops.c Patch 6.2.315 问题: UsingCTRL-C
in a Visual mode mapping while 'insertmode' is set stops Vim from returning to Insert mode. 解决方案: Don't reset "restart_edit" when aCTRL-C
is found and 'insertmode' is set. 相关文件: src/normal.c Patch 6.2.316 (after 6.2.312) 问题: "make install" tries connecting to the X server when installing the docs. (Stephen Thomas) 解决方案: Add the "-X" argument. 相关文件: runtime/doc/Makefile Patch 6.2.317 (after 6.2.313) 问题: When using "zi" in a diff window, other diff windows are not adjusted. (Richard Curnow) 解决方案: Distribute a change in 'foldenable' to other diff windows. 相关文件: src/normal.c Patch 6.2.318 问题: When compiling with _THREAD_SAFE external commands don't echo typed characters. 解决方案: Don't set the terminal mode to TMODE_SLEEP when it's already at TMODE_COOK. 相关文件: src/os_unix.c Patch 6.2.319 (extra) 问题: Building gvimext.dll with Mingw doesn't work properly. 解决方案: Use gcc instead of dllwrap. Use long option names. (Alejandro Lopez-Valencia) 相关文件: src/GvimExt/Make_ming.mak Patch 6.2.320 问题: Win32: Adding and removing the menubar resizes the Vim window. (Jonathon Merz) 解决方案: Don't let a resize event change 'lines' unexpectedly. 相关文件: src/gui.c Patch 6.2.321 问题: When using modeless selection, wrapping lines are not recognized, a line break is always inserted. 解决方案: Add LineWraps[] to remember whether a line wrapped or not. 相关文件: src/globals.h, src/screen.c, src/ui.c Patch 6.2.322 问题: With 'showcmd' set, after typing "dd" the next "d" may not be displayed. (Jens Paulus) 解决方案: Redraw the command line after updating the screen, scrolling may have set "clear_cmdline". 相关文件: src/screen.c Patch 6.2.323 问题: Win32: expanding "~/file" in an autocommand pattern results in backslashes, while this pattern should only have forward slashes. 解决方案: Make expanding environment variables respect 'shellslash' and set p_ssl when expanding the autocommand pattern. 相关文件: src/fileio.c, src/misc1.c, src/proto/fileio.pro Patch 6.2.324 (extra) 问题: Win32: when "vimrun.exe" has a path with white space, such as "Program Files", executing external commands may fail. 解决方案: Put double quotes around the path to "vimrun". 相关文件: src/os_win32.c Patch 6.2.325 问题: When $HOME includes a space, doing ":set tags=~/tags" doesn't work, the space is used to separate file names. (Brett Stahlman) 解决方案: Escape the space with a backslash. 相关文件: src/option.c Patch 6.2.326 问题: ":windo set syntax=foo" doesn't work. (Tim Chase) 解决方案: Don't change 'eventignore' for ":windo". 相关文件: src/ex_cmds2.c Patch 6.2.327 问题: When formatting text all marks in the formatted lines are lost. A word is not joined to a previous line when this would be possible. (Mikolaj Machowski) 解决方案: Try to keep marks in the same position as much as possible. Also keep mark positions when joining lines. Start auto-formatting in the previous line when appropriate. Add the "gw" operator: Like "gq" but keep the cursor where it is. 相关文件: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c, src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro, src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h Patch 6.2.328 问题: XIM with GTK: It is hard to understand what XIM is doing. 解决方案: Add xim_log() to log XIM events and help with debugging. 相关文件: src/mbyte.c Patch 6.2.329 问题: ":=" does not work Vi compatible. (Antony Scriven) 解决方案: Print the last line number instead of the current line. Don't print "line". 相关文件: src/ex_cmds.h, src/ex_docmd.c Patch 6.2.330 (extra, after 6.2.267) 问题: Win32: Crash when tearing off a menu. 解决方案: Terminate a string with a NUL. (Yasuhiro Matsumoto) 相关文件: src/gui_w32.c Patch 6.2.331 (after 6.2.327) 问题: "gwap" leaves cursor in the wrong line. 解决方案: Remember the cursor position before finding the ends of the paragraph. 相关文件: src/normal.c, src/ops.c, src/structs.h Patch 6.2.332 (extra) 问题: Amiga: Compile error for string array. Compiling the Amiga GUI doesn't work. 解决方案: Use a char pointer instead. Move including "gui_amiga.h" to after including "vim.h". Add a semicolon. (Ali Akcaagac) 相关文件: src/gui_amiga.c, src/os_amiga.c Patch 6.2.333 (extra) 问题: Win32: printing doesn't work with specified font charset. 解决方案: Use the specified font charset. (Mike Williams) 相关文件: src/os_mswin.c Patch 6.2.334 (extra, after 6.2.296) 问题: Win32: evaluating client expression in debug mode requires typing "cont". 解决方案: Use eval_client_expr_to_string(). 相关文件: src/os_mswin.c Patch 6.2.335 问题: The ":sign" command cannot be followed by another command. 解决方案: Add TRLBAR to the command flags. 相关文件: src/ex_cmds.h Patch 6.2.336 (after 6.2.327) 问题: Mixup of items in an expression. 解决方案: Move "== NUL" to the right spot. 相关文件: src/edit.c Patch 6.2.337 (extra, after 6.2.319) 问题: Building gvimext.dll with Mingw doesn't work properly. 解决方案: Fix white space and other details. (Alejandro Lopez-Valencia) 相关文件: src/GvimExt/Make_ming.mak Patch 6.2.338 (after 6.2.331) 问题: When undoing "gwap" the cursor is always put at the start of the paragraph. When undoing auto-formatting the cursor may be above the change. 解决方案: Try to move the cursor back to where it was or to the first line that actually changed. 相关文件: src/normal.c, src/ops.c, src/undo.c Patch 6.2.339 问题: Crash when using many different highlight groups and a User highlight group. (Juergen Kraemer) 解决方案: Do not use the sg_name_u pointer when it is NULL. Also simplify use of the highlight group table. 相关文件: src/syntax.c Patch 6.2.340 问题: ":reg" doesn't show the actual contents of the clipboard if it was filled outside of Vim. (Stuart MacDonald) 解决方案: Obtain the clipboard contents before displaying it. 相关文件: src/ops.c Patch 6.2.341 (extra) 问题: Win32: When the path to diff.exe contains a space and using the vimrc generated by the install program, diff mode does not work. 解决方案: Put the first double quote just before the space instead of before the path. 相关文件: src/dosinst.c Patch 6.2.342 (extra) 问题: Win32: macros are not always used as expected. 解决方案: Define WINVER to 0x0400 instead of 0x400. (Alejandro Lopez-Valencia) 相关文件: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak Patch 6.2.343 问题: Title doesn't work with some window managers. X11: Setting the text property for the window title is hard coded. 解决方案: Use STRING format when possible. Use the UTF-8 function when it's available and 'encoding' is utf-8. Use XStringListToTextProperty(). Do the same for the icon name. (David Harrison) 相关文件: src/os_unix.c Patch 6.2.344 (extra, after 6.2.337) 问题: Cannot build gvimext.dll with MingW on Linux. 解决方案: Add support for cross compiling. (Ronald Hoellwarth) 相关文件: src/GvimExt/Make_ming.mak Patch 6.2.345 (extra) 问题: Win32: Copy/paste between two Vims fails if 'encoding' is not set properly or there are illegal bytes. 解决方案: Use a raw byte format. Always set it when copying. When pasting use the raw format if 'encoding' is the same. 相关文件: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h Patch 6.2.346 问题: Win32 console: After using "chcp" Vim does not detect the different codepage. 解决方案: Use GetConsoleCP() and when it is different from GetACP() set 'termencoding'. 相关文件: src/option.c Patch 6.2.347 (extra) 问题: Win32: XP theme support is missing. 解决方案: Add a manifest and refer to it from the resource file. (Michael Wookey) 相关文件: Makefile, src/gvim.exe.mnf, src/vim.rc Patch 6.2.348 问题: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname' default value doesn't contain parenthesis. 解决方案: Temporarily add '(' and ')' to 'isfname' when expanding file name arguments. 相关文件: src/main.c Patch 6.2.349 问题: Finding a match using 'matchpairs' may cause a crash. 'matchpairs' is not used for 'showmatch'. 解决方案: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for 'showmatch'. (Dave Olszewkski) 相关文件: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c Patch 6.2.350 问题: Not enough info about startup timing. 解决方案: Add a few more TIME_MSG() calls. 相关文件: src/main.c Patch 6.2.351 问题: Win32: $HOME may be set to %USERPROFILE%. 解决方案: Expand %VAR% at the start of $HOME. 相关文件: src/misc1.c Patch 6.2.352 (after 6.2.335) 问题: ":sign texthl=||" does not work. 解决方案: Remove the check for a following command. Give an error for extra arguments after "buff=1". 相关文件: src/ex_cmds.c, src/ex_cmds.h Patch 6.2.353 (extra) 问题: Win32: Supported server name length is limited. (Paul Bossi) 解决方案: Use MAX_PATH instead of 25. 相关文件: src/os_mswin.c Patch 6.2.354 (extra) 问题: Win32: When the mouse pointer is on a tear-off menu it is hidden when typing but is not redisplayed when moved. (Markx Hackmann) 解决方案: Handle the pointer move event for the tear-off menu window. 相关文件: src/gui_w32.c Patch 6.2.355 (after 6.2.303) 问题: When 'encoding' is a double-byte encoding different from the current locale, the width of characters is not correct. Possible failure and memory leak when using iconv, Unicode digraphs and 'encoding' is not "utf-8". 解决方案: Use iconv() to discover the actual width of characters. Add the "vc_fail" field to vimconv_T. When converting a digraph, init the conversion type to NONE and cleanup afterwards. 相关文件: src/digraph.c, src/mbyte.c, src/structs.h Patch 6.2.356 问题: When using a double-byte 'encoding' and 'selection' is "exclusive", "vy" only yanks the first byte of a double-byte character. (Xiangjiang Ma) 解决方案: Correct the column in unadjust_for_sel() to position on the first byte, always include the trailing byte of the selected text. 相关文件: src/normal.c Patch 6.2.357 (after 6.2.321) 问题: Memory leak when resizing the Vim window. 解决方案: Free the LineWraps array. 相关文件: src/screen.c Patch 6.2.358 (after 6.2.299) 问题: Memory leak when using ":help" and the language doesn't match. 解决方案: Free the array with matching tags. 相关文件: src/ex_cmds.c Patch 6.2.359 (after 6.2.352) 问题: Compiler warning for long to int type cast. 解决方案: Add explicit type cast. 相关文件: src/ex_cmds.c Patch 6.2.360 问题: "100|" in an empty line results in a ruler "1,0-100". (Pavol Juhas) 解决方案: Recompute w_virtcol if the target column was not reached. 相关文件: src/misc2.c Patch 6.2.361 (extra) 问题: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while pressing Esc, then release Alt: Cursor disappears and typing a key causes a beep. (Hari Krishna Dara) 解决方案: Don't ignore the WM_SYSKEYUP event when the menu is disabled. 相关文件: src/gui_w32.c Patch 6.2.362 (extra, after 6.2.347) 问题: Win32: The manifest causes Gvim not to work. (Dave Roberts) 解决方案: Change "x86" to "X86". (Serge Pirotte) 相关文件: src/gvim.exe.mnf Patch 6.2.363 问题: In an empty file with 'showmode' off, "i" doesn't change the ruler from "0-1" to "1". Typing "x<BS>
" does show "1", but then<Esc>
doesn't make it "0-1" again. Same problem for ruler in statusline. (Andrew Pimlott) 解决方案: Remember the "empty line" flag with Insert mode and'ed to it. 相关文件: src/screen.c Patch 6.2.364 问题: HTML version of the documentation doesn't mention the encoding, which is a problem for mbyte.txt. 解决方案: Adjust the awk script. (Ilya Sher) 相关文件: runtime/doc/makehtml.awk Patch 6.2.365 问题: The configure checks for Perl and Python may add compile and link arguments that break building Vim. 解决方案: Do a sanity check: try building with the arguments. 相关文件: src/auto/configure, src/configure.in Patch 6.2.366 问题: When the GUI can't start because no valid font is found, there is no error message. (Ugen) 解决方案: Add an error message. 相关文件: src/gui.c Patch 6.2.367 问题: Building the help tags file while installing may fail if there is another Vim in $PATH. 解决方案: Specify the just installed Vim executable. (Gordon Prieur) 相关文件: src/Makefile Patch 6.2.368 问题: When 'autochdir' is set, closing a window doesn't change to the directory of the new current window. (Salman Halim) 解决方案: Handle 'autochdir' always when a window becomes the current one. 相关文件: src/window.c Patch 6.2.369 问题: Various memory leaks: when using globpath(), when searching for help tags files, when defining a function inside a function, when giving an error message through an exception, for the final "." line in ":append", in expression "cond ? a : b" that fails and for missing ")" in an expression. Using NULL pointer when adding first user command and for pointer computations with regexp. (tests by Dominique Pelle) 解决方案: Fix the leaks by freeing the allocated memory. Don't use the array of user commands when there are no entries. Use a macro instead of a function call for saving and restoring regexp states. 相关文件: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/misc2.c, src/regexp.c, src/screen.c, src/tag.c Patch 6.2.370 (extra, after6.2.341) 问题: Win32: When the path to diff.exe contains a space and using the vimrc generated by the install program, diff mode may not work. (Alejandro Lopez-Valencia) 解决方案: Do not use double quotes for arguments that do not have a space. 相关文件: src/dosinst.c Patch 6.2.371 问题: When 'virtualedit' is set and there is a Tab before the next "x", "dtx" does not delete the whole Tab. (Ken Hashishi) 解决方案: Move the cursor to the last position of the Tab. Also for "df<Tab>
". 相关文件: src/normal.c Patch 6.2.372 问题: When using balloon evaluation, no value is displayed for members of structures and items of an array. 解决方案: Include "->", "." and "[*]" in the expression. 相关文件: src/gui_beval.c, src/normal.c, src/vim.h Patch 6.2.373 问题: When 'winminheight' is zero and a window is reduced to zero height, the ruler always says "Top" instead of the cursor position. (Antoine J. Mechelynck) 解决方案: Don't recompute w_topline for a zero-height window. 相关文件: src/window.c Patch 6.2.374 问题: ":echo "hello" | silent normal n" removes the "hello" message. (Servatius Brandt) 解决方案: Don't echo the search string when ":silent" was used. Also don't show the mode. In general: don't clear to the end of the screen. 相关文件: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro, src/screen.c, src/search.c, src/window.c Patch 6.2.375 问题: When changing 'guioptions' the hit-enter prompt may be below the end of the Vim window. 解决方案: Call screen_alloc() before showing the prompt. 相关文件: src/message.c Patch 6.2.376 问题: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6. 解决方案: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina) 相关文件: src/if_ruby.c Patch 6.2.377 (after 6.2.372) 问题: Compiler warnings for signed/unsigned compare. (Michael Wookey) 解决方案: Add type cast. 相关文件: src/normal.c Patch 6.2.378 (extra, after 6.2.118) 问题: Mac: cannot build with Project Builder. 解决方案: Add remove_tail_with_ext() to locate and remove the "build" directory from the runtime path. Include os_unix.c when needed. (Dany St Amant) 相关文件: src/misc1.c, src/os_macosx.c, src/vim.h Patch 6.2.379 问题: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to "delete". (Michael Naumann) 解决方案: Do not add buffer-specific option values to a global vimrc file. 相关文件: src/option.c Patch 6.2.380 (extra) 问题: DOS: "make test" fails when running it again. Can't "make test" with Borland C. 解决方案: Make sure ".out" files are deleted when they get in the way. Add a "test" target to the Borland C Makefile. 相关文件: src/Make_bc5.mak, src/testdir/Make_dos.mak Patch 6.2.381 问题: Setting 'fileencoding' to a comma separated list (confusing it with 'fileencodings') does not result in an error message. Setting 'fileencoding' in an empty file marks it as modified. There is no "+" in the title after setting 'fileencoding'. 解决方案: Check for a comma in 'fileencoding'. Only consider a non-empty file modified by changing 'fileencoding'. Update the title after changing 'fileencoding'. 相关文件: src/option.c Patch 6.2.382 问题: Running "make test" puts marks from test files in viminfo. 解决方案: Specify a different viminfo file to use. 相关文件: src/testdir/test15.in, src/testdir/test49.in Patch 6.2.383 问题: ":hi foo term='bla" crashes Vim. (Antony Scriven) 解决方案: Check that the closing ' is there. 相关文件: src/syntax.c Patch 6.2.384 问题: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated. 解决方案: Also compare the names without '&' characters. 相关文件: src/menu.c Patch 6.2.385 (extra) 问题: Win32: forward_slash() and trash_input_buf() are undefined when compiling with small features. (Ajit Thakkar) 解决方案: Change the #ifdefs for forward_slash(). Don't call trash_input_buf() if the input buffer isn't used. 相关文件: src/fileio.c, src/os_win32.c Patch 6.2.386 问题: Wasting time trying to read marks from the viminfo file for a buffer without a name. 解决方案: Skip reading marks when the buffer has no name. 相关文件: src/fileio.c Patch 6.2.387 问题: There is no highlighting of translated items in help files. 解决方案: Search for a "help_ab.vim" syntax file when the help file is called "*.abx". Also improve the help highlighting a bit. 相关文件: runtime/syntax/help.vim Patch 6.2.388 问题: GTK: When displaying some double-width characters they are drawn as single-width, because of conversion to UTF-8. 解决方案: Check the width that GTK uses and add a space if it's one instead of two. 相关文件: src/gui_gtk_x11.c Patch 6.2.389 问题: When working over a slow connection, it's very annoying that the last line is partly drawn and then cleared for every change. 解决方案: Don't redraw the bottom line if no rows were inserted or deleted. Don't draw the line if we know "@" lines will be used. 相关文件: src/screen.c Patch 6.2.390 问题: Using "r*" in Visual mode on multi-byte characters only replaces every other character. (Tyson Roberts) 解决方案: Correct the cursor position after replacing each character. 相关文件: src/ops.c Patch 6.2.391 (extra) 问题: The ":highlight" command is not tested. 解决方案: Add a test script for ":highlight". 相关文件: src/testdir/Makefile, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/testdir/test51.in, src/testdir/test51.ok Patch 6.2.392 (after 6.2.384) 问题: Unused variable. 解决方案: Remove "dlen". 相关文件: src/menu.c Patch 6.2.393 问题: When using very long lines the viminfo file can become very big. 解决方案: Add the "s" flag to 'viminfo': skip registers with more than the specified Kbyte of text. 相关文件: runtime/doc/options.txt, src/ops.c, src/option.c Patch 6.2.394 (after 6.2.391) 问题: Test 51 fails on a terminal with 8 colors. (Tony Leneis) 解决方案: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute. 相关文件: src/testdir/test51.in Patch 6.2.395 问题: When using ":tag" or ":pop" the previous matching tag is used. But since the current file is different, the ordering of the tags may change. 解决方案: Remember what the current buffer was for when re-using cur_match. 相关文件: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h, src/tag.c Patch 6.2.396 问题: WhenCTRL-T
jumps to another file and an autocommand moves the cursor to the '" mark, don't end up on the right line. (Michal Malecki) 解决方案: Set the line number after loading the file. 相关文件: src/tag.c Patch 6.2.397 问题: When using a double-byte 'encoding' mapping<M-x>
doesn't work. (Yasuhiro Matsumoto) 解决方案: Do not set the 8th bit of the character but use a modifier. 相关文件: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c Patch 6.2.398 (extra) 问题: Win32 console: no extra key modifiers are supported. 解决方案: Encode the modifiers into the input stream. Also fix that special keys are converted and stop working when 'tenc' is set. Also fix that when 'tenc' is initialized the input and output conversion is not setup properly until 'enc' or 'tenc' is set.  解决方案: Include all the text of the message in the error message. 相关文件: src/charset.c, src/option.c Patch 6.2.400 问题: Can't compile if_xcmdsrv.c on HP-UX 11.0. 解决方案: Include header file poll.h. (Malte Neumann) 相关文件: src/if_xcmdsrv.c Patch 6.2.401 问题: When opening a buffer that was previously opened, Vim does not restore the cursor position if the first line starts with white space. (Gregory Margo) 解决方案: Don't skip restoring the cursor position if it is past the blanks in the first line. 相关文件: src/buffer.c Patch 6.2.402 问题: Mac: "make install" doesn't generate help tags. (Benji Fisher) 解决方案: Generate help tags before copying the runtime files. 相关文件: src/Makefile Patch 6.2.403 问题: ":@y" checks stdin if there are more commands to execute. This fails if stdin is not connected, e.g., when starting the GUI from KDE. (Ned Konz) 解决方案: Only check for a next command if there still is typeahead. 相关文件: src/ex_docmd.c Patch 6.2.404 问题: Our own function to determine width of Unicode characters may get outdated. (Markus Kuhn) 解决方案: Use wcwidth() when it is available. Also use iswprint(). 相关文件: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c Patch 6.2.405 问题: Cannot map zero without breaking the count before a command. (Benji Fisher) 解决方案: Disable mapping zero when entering a count. 相关文件: src/getchar.c, src/globals.h, src/normal.c Patch 6.2.406 问题: ":help \zs", ":help \@=" and similar don't find useful help. 解决方案: Prepend "/\" to the arguments to find the desired help tag. 相关文件: src/ex_cmds.c Patch 6.2.407 (after 6.2.299) 问题: ":help \@<=" doesn't find help. 解决方案: Avoid that ":help \@<=" searches for the "<=" language. 相关文件: src/tag.c Patch 6.2.408 问题: ":compiler" is not consistent: Sets local options and a global variable. (Douglas Potts) There is no error message when a compiler is not supported. 解决方案: Use ":compiler!" to set a compiler globally, otherwise it's local to the buffer and "b:current_compiler" is used. Give an error when no compiler script could be found.Note:
updated compiler plugins can be found at ftp://ftp.vim.org/pub/vim/runtime/compiler/ 相关文件: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c, src/ex_cmds2.c Patch 6.2.409 问题: The cursor ends up in the last column instead of after the line when doing "i//<Esc>
o" with 'indentexpr' set to "cindent(v:lnum)". (Toby Allsopp) 解决方案: Adjust the cursor as if in Insert mode. 相关文件: src/misc1.c Patch 6.2.410 (after 6.2.389) 问题: In diff mode, when there are more filler lines than fit in the window, they are not drawn. 解决方案: Check for filler lines when skipping to draw a line that doesn't fit. 相关文件: src/screen.c Patch 6.2.411 问题: A "\n" inside a string is not seen as a line break by the regular expression matching. (Hari Krishna Dara) 解决方案: Add the vim_regexec_nl() function for strings where "\n" is to be matched with a line break. 相关文件: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c Patch 6.2.412 问题: Ruby: "ruby << EOF" inside a function doesn't always work. Also for ":python", ":tcl" and ":perl". 解决方案: Check for "<< marker" and skip until "marker" before checking for "endfunction". 相关文件: src/eval.c Patch 6.2.413 (after 6.2.411) 问题: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky) 解决方案: Now really include the prototype. 相关文件: src/proto/regexp.pro Patch 6.2.414 问题: The function used for custom completion of user commands cannot have<SID>
to make it local. (Hari Krishna Dara) 解决方案: Pass the SID of the script where the user command was defined on to the completion. Also clean up #ifdefs. 相关文件: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h Patch 6.2.415 问题: Vim may crash after a sequence of events that change the window size. The window layout assumes a larger window than is actually available. (Servatius Brandt) 解决方案: Invoke win_new_shellsize() from screenalloc() instead of from set_shellsize(). 相关文件: src/screen.c, src/term.c Patch 6.2.416 问题: Compiler warning for incompatible pointer. 解决方案: Remove the "&" in the call to poll(). (Xavier de Gaye) 相关文件: src/os_unix.c Patch 6.2.417 (after 6.2.393) 问题: Many people forget that the '"' item in 'viminfo' needs to be preceded with a backslash, 解决方案: Add '<' as an alias for the '"' item. 相关文件: runtime/doc/options.txt, src/ops.c, src/option.c Patch 6.2.418 问题: Using ":nnoremap<F12>
:echo "cheese" and ":cabbr cheese xxx": when pressing<F12>
still uses the abbreviation. (Hari Krishna) 解决方案: Also apply "noremap" to abbreviations. 相关文件: src/getchar.c Patch 6.2.419 (extra) 问题: Win32: Cannot open the Vim window inside another application. 解决方案: Add the "-P" argument to specify the window title of the application to run inside. (Zibo Zhao) 相关文件: runtime/doc/starting.txt, src/main.c, src/gui_w32.c, src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c, src/proto/gui_w32.pro Patch 6.2.420 问题: Cannot specify a file to be edited in binary mode without setting the global value of the 'binary' option. 解决方案: Support ":edit ++bin file". 相关文件: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h, src/ex_docmd.c, src/fileio.c, src/misc2.c Patch 6.2.421 问题: Cannot set the '[ and '] mark, which may be necessary when an autocommand simulates reading a file. 解决方案: Allow using "m[" and "m]". 相关文件: runtime/doc/motion.txt, src/mark.c Patch 6.2.422 问题: InCTRL-X
completion messages the "/" makes them less readable. 解决方案: Remove the slashes. (Antony Scriven) 相关文件: src/edit.c Patch 6.2.423 问题: ":vertical wincmd ]" does not split vertically. 解决方案: Add "postponed_split_flags". 相关文件: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c Patch 6.2.424 问题: A BufEnter autocommand that sets an option stops 'mousefocus' from working in Insert mode (Normal mode is OK). (Gregory Seidman) 解决方案: In the Insert mode loop invoke gui_mouse_correct() when needed. 相关文件: src/edit.c Patch 6.2.425 问题: Vertical split and command line window: can only drag status line above the cmdline window on the righthand side, not lefthand side. 解决方案: Check the status line row instead of the window pointer. 相关文件: src/ui.c Patch 6.2.426 问题: A syntax region end match with a matchgroup that includes a line break only highlights the last line with matchgroup. (Gary Holloway) 解决方案: Also use the line number of the position where the region highlighting ends. 相关文件: src/syntax.c Patch 6.2.427 (extra) 问题: When pasting a lot of text in a multi-byte encoding, conversion from 'termencoding' to 'encoding' may fail for some characters. (Kuang-che Wu) 解决方案: When there is an incomplete byte sequence at the end of the read text keep it for the next time. 相关文件: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro, src/proto/os_mswin.pro, src/ui.c Patch 6.2.428 问题: The X11 clipboard supports the Vim selection for char/line/block mode, but since the encoding is not included can't copy/paste between two Vims with a different 'encoding'. 解决方案: Add a new selection format that includes the 'encoding'. Perform conversion when necessary. 相关文件: src/gui_gtk_x11.c, src/ui.c, src/vim.h Patch 6.2.429 问题: Unix: glob() doesn't work for a directory with a single quote in the name. (Nazri Ramliy) 解决方案: When using the shell to expand, only put double quotes around spaces and single quotes, not the whole thing. 相关文件: src/os_unix.c Patch 6.2.430 问题: BOM at start of a vim script file is not recognized and causes an error message. 解决方案: Detect the BOM and skip over it. Also fix that after using ":scriptencoding" the iconv() file descriptor was not closed (memory leak). 相关文件: src/ex_cmds2.c Patch 6.2.431 问题: When using the horizontal scrollbar, the scrolling is limited to the length of the cursor line. 解决方案: Make the scroll limit depend on the longest visible line. The cursor is moved when necessary. Including the 'h' flag in 'guioptions' disables this. 相关文件: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c, src/misc2.c, src/option.h Patch 6.2.432 (after 6.2.430 and 6.2.431) 问题: Lint warnings. 解决方案: Add type casts. 相关文件: src/ex_cmds2.c, src/gui.c Patch 6.2.433 问题: Translating "VISUAL" and "BLOCK" separately doesn't give a good result. (Alejandro Lopez Valencia) 解决方案: Use a string for each combination. 相关文件: src/screen.c Patch 6.2.434 (after 6.2.431) 问题: Compiler warning. (Salman Halim) 解决方案: Add type casts. 相关文件: src/gui.c Patch 6.2.435 问题: When there are vertically split windows the minimal Vim window height is computed wrong. 解决方案: Use frame_minheight() to correctly compute the minimal height. 相关文件: src/window.c Patch 6.2.436 问题: Running the tests changes the user's viminfo file. 解决方案: In test 49 tell the extra Vim to use the test viminfo file. 相关文件: src/testdir/test49.vim Patch 6.2.437 问题: ":mksession" always puts "set nocompatible" in the session file. This changes option settings. (Ron Aaron) 解决方案: Add an "if" to only change 'compatible' when needed. 相关文件: src/ex_docmd.c Patch 6.2.438 问题: When the 'v' flag is present in 'cpoptions', backspacing and then typing text again: one character too much is overtyped before inserting is done again. 解决方案: Set "dollar_vcol" to the right column. 相关文件: src/edit.c Patch 6.2.439 问题: GTK 2: Changing 'lines' may cause a mismatch between the window layout and the size of the window. 解决方案: Disable the hack with force_shell_resize_idle(). 相关文件: src/gui_gtk_x11.c Patch 6.2.440 问题: When 'lazyredraw' is set the window title is still updated. The size of the Visual area and the ruler are displayed too often. 解决方案: Postpone redrawing the window title. Only show the Visual area size when waiting for a character. Don't draw the ruler unnecessary. 相关文件: src/buffer.c, src/normal.c, src/screen.c Patch 6.2.441 问题: ":unabbreviate foo " doesn't work, because of the trailing space, while an abbreviation with a trailing space is not possible. (Paul Jolly) 解决方案: Accept a match with the lhs of an abbreviation without the trailing space. 相关文件: src/getchar.c Patch 6.2.442 问题: Cannot manipulate the command line from a function. 解决方案: Add getcmdline(), getcmdpos() and setcmdpos() functions and theCTRL-\
e command. 相关文件: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, src/proto/ops.pro Patch 6.2.443 问题: With ":silent! echoerr something" you don't get the position of the error. emsg() only writes the message itself and returns. 解决方案: Also redirect the position of the error. 相关文件: src/message.c Patch 6.2.444 问题: When adding the 'c' flag to a ":substitute" command it may replace more times than without the 'c' flag. Happens for a match that starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus Bosau). 解决方案: Correct "prev_matchcol" when replacing the line. Don't replace the line when the pattern uses look-behind matching. 相关文件: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c Patch 6.2.445 问题: Copying vimtutor to /tmp/something is not secure, a symlink may cause trouble. 解决方案: Create a directory and create the file in it. Use "umask" to create the directory with mode 700. (Stefan Nordhausen) 相关文件: src/vimtutor Patch 6.2.446 (after 6.2.404) 问题: Using library functions wcwidth() and iswprint() results in display problems for Hebrew characters. (Ron Aaron) 解决方案: Disable the code to use the library functions, use our own. 相关文件: src/mbyte.c Patch 6.2.447 (after 6.2.440) 问题: Now that the title is only updated when redrawing, it is no longer possible to show it while executing a function. (Madoka Machitani) 解决方案: Make ":redraw" also update the title. 相关文件: src/ex_docmd.c Patch 6.2.448 (after 6.2.427) 问题: Mac: conversion done when 'termencoding' differs from 'encoding' fails when pasting a longer text. 解决方案: Check for an incomplete sequence at the end of the chunk to be converted. (Eckehard Berns) 相关文件: src/mbyte.c Patch 6.2.449 (after 6.2.431) 问题: Get error messages when switching files. 解决方案: Check for a valid line number when calculating the width of the horizontal scrollbar. (Helmut Stiegler) 相关文件: src/gui.c Patch 6.2.450 问题: " #include" and " #define" are not recognized with the default option values for 'include' and'defined'
. (RG Kiran) 解决方案: Adjust the default values to allow white space before the #. 相关文件: runtime/doc/options.txt, src/option.c Patch 6.2.451 问题: GTK: when using XIM there are various problems, including setting 'modified' and breaking undo at the wrong moment. 解决方案: Add "xim_changed_while_preediting", "preedit_end_col" and im_is_preediting(). (Yasuhiro Matsumoto) 相关文件: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c, src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c, src/undo.c Patch 6.2.452 问题: In diff mode, when DiffAdd and DiffText highlight settings are equal, an added line is highlighted with DiffChange. (Tom Schumm) 解决方案: Remember the diff highlight type instead of the attributes. 相关文件: src/screen.c Patch 6.2.453 问题: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar". (Pavel Papushev) 解决方案: When the pattern can match a line break also try matching at the NUL at the end of a line. 相关文件: src/ex_cmds.c, src/regexp.c Patch 6.2.454 问题: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let b:changedtick = 99" does not give an error message. 解决方案: Add code to recognize ":let b:changedtick". 相关文件: src/eval.c Patch 6.2.455 (after 6.2.297) 问题: In Python commands the current locale changes how certain Python functions work. (Eugene M. Minkovskii) 解决方案: Set the LC_NUMERIC locale to "C" while executing a Python command. 相关文件: src/if_python.c Patch 6.2.456 (extra) 问题: Win32: Editing a file by its Unicode name (dropping it on Vim or using the file selection dialog) doesn't work. (Yakov Lerner, Alex Jakushev) 解决方案: Use wide character functions when file names are involved and convert from/to 'encoding' where needed. 相关文件: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c, src/os_mswin.c, src/os_win32.c Patch 6.2.457 (after 6.2.244) 问题: When 'encoding' is "utf-8" and writing text with chars above 0x80 in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm) 解决方案: Correct the utf_ptr2len_check_len() function and fix the problem of displaying 0xf7 in utfc_ptr2len_check_len(). 相关文件: src/mbyte.c Patch 6.2.458 问题: When 'virtualedit' is set "$" doesn't move to the end of an unprintable character, causing "y$" not to include that character. (Fred Ma) 解决方案: Set "coladd" to move the cursor to the end of the character. 相关文件: src/misc2.c Patch 6.2.459 (after 6.2.454) 问题: Variable "b" cannot be written. (Salman Halim) 解决方案: Compare strings properly. 相关文件: src/eval.c Patch 6.2.460 (extra, after 6.2.456) 问题: Compiler warnings for missing prototypes. 解决方案: Include the missing prototypes. 相关文件: src/proto/os_win32.pro Patch 6.2.461 问题: After using a search command "x" starts putting single characters in the numbered registers. 解决方案: Reset "use_reg_one" at the right moment. 相关文件: src/normal.c Patch 6.2.462 问题: Finding a matching parenthesis does not correctly handle a backslash in a trailing byte. 解决方案: Handle multi-byte characters correctly. (Taro Muraoka) 相关文件: src/search.c Patch 6.2.463 (extra) 问题: Win32: An NTFS file system may contain files with extra info streams. The current method to copy them creates one and then deletes it again. (Peter Toennies) Also, only three streams with hard coded names are copied. 解决方案: Use BackupRead() to check which info streams the original file contains and only copy these streams. 相关文件: src/os_win32.c Patch 6.2.464 (extra, after 6.2.427) 问题: Amiga: Compilation error with gcc. (Ali Akcaagac) 解决方案: Move the #ifdef outside of Read(). 相关文件: src/os_amiga.c Patch 6.2.465 问题: When resizing the GUI window the window manager sometimes moves it left of or above the screen. (Michael McCarty) 解决方案: Check the window position after resizing it and move it onto the screen when it isn't. 相关文件: src/gui.c Patch 6.2.466 (extra, after 6.2.456) 问题: Win32: Compiling with Borland C fails, and an un/signed warning. 解决方案: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro Matsumoto) 相关文件: src/os_win32.c Patch 6.2.467 (extra, after 6.2.463) 问题: Win32: can't compile without multi-byte feature. (Ajit Thakkar) 解决方案: Add #ifdefs around the info stream code. 相关文件: src/os_win32.c Patch 6.2.468 问题: Compiler warnings for shadowed variables. (Matthias Mohr) 解决方案: Delete superfluous variables and rename others. 相关文件: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c, src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c, src/regexp.c Patch 6.2.469 (extra, after 6.2.456) 问题: Win32: Can't create swap file when 'encoding' differs from the active code page. (Kriton Kyrimis) 解决方案: In enc_to_ucs2() terminate the converted string with a NUL 相关文件: src/os_mswin.c Patch 6.2.470 问题: The name returned by tempname() may be equal to the file used for shell output when ignoring case. 解决方案: Skip 'O' and 'I' in tempname(). 相关文件: src/eval.c Patch 6.2.471 问题: "-L/usr/lib" is used in the link command, even though it's supposed to be filtered out. "-lw" and "-ldl" are not automatically added when needed for "-lXmu". (Antonio Colombo) 解决方案: Check for a space after the argument instead of before. Also remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl" before trying "-lXmu". 相关文件: src/auto/configure, src/configure.in, src/link.sh Patch 6.2.472 问题: When using a FileChangedShell autocommand that changes the current buffer, a buffer exists that can't be wiped out. Also, Vim sometimes crashes when executing an external command that changes the buffer and a FileChangedShell autocommand is used. (Hari Krishna Dara) Users are confused by the warning for a file being changed outside of Vim. 解决方案: Avoid that the window counter for a buffer is incremented twice. Avoid that buf_check_timestamp() is used recursively. Add a hint to look in the help for more info. 相关文件: src/ex_cmds.c, src/fileio.c Patch 6.2.473 问题: UsingCTRL-]
in a help buffer without a name causes a crash. 解决方案: Check for name to be present before using it. (Taro Muraoka) 相关文件: src/tag.c Patch 6.2.474 (extra, after 6.2.456) 问题: When Vim is starting up conversion is done unnecessarily. Failure to find the runtime files on Windows 98. (Randall W. Morris) 解决方案: Init enc_codepage negative, only use it when not negative. Don't use GetFileAttributesW() on Windows 98 or earlier. 相关文件: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c Patch 6.2.475 问题: Commands after "perl <<EOF" are parsed as Vim commands when they are not executed. 解决方案: Properly skip over the perl commands. 相关文件: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/if_tcl.c, src/misc2.c Patch 6.2.476 问题: When reloading a hidden buffer changed outside of Vim and the current buffer is read-only, the reloaded buffer becomes read-only. (Hari Krishna Dara) 解决方案: Save the 'readonly' flag of the reloaded buffer instead of the current buffer. 相关文件: src/fileio.c Patch 6.2.477 问题: Using remote_send(v:servername, "\<C-V>
") causes Vim to hang. (Yakov Lerner) 解决方案: When the resulting string is empty don't set received_from_client. 相关文件: src/main.c Patch 6.2.478 问题: Win32: "--remote file" fails changing directory if the current directory name starts with a single quote. (Iestyn Walters) 解决方案: Add a backslash where it will be removed later. 相关文件: src/main.c, src/misc2.c, src/proto/misc2.pro Patch 6.2.479 问题: The error message for errors during recovery goes unnoticed. 解决方案: Avoid that the hit-enter prompt overwrites the message. Add a few lines to make the error stand out. 相关文件: src/main.c, src/message.c, src/memline.c Patch 6.2.480 问题: NetBeans: Using negative index in array. backslash at end of message may cause Vim to crash. (Xavier de Gaye) 解决方案: Initialize buf_list_used to zero. Check for trailing backslash. 相关文件: src/netbeans.c Patch 6.2.481 问题: When writing a file it is not possible to specify that hard and/or symlinks are to be broken instead of preserved. 解决方案: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'. (Simon Ekstrand) 相关文件: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h Patch 6.2.482 问题: Repeating insert ofCTRL-K
1 S doesn't work. The superscript 1 is considered to be a digit. (Juergen Kraemer) 解决方案: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for speed where possible. Also add vim_isxdigit(). 相关文件: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c, src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c, src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h, src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/option.c, src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c, src/syntax.c, src/tag.c, src/term.c, src/termlib.c Patch 6.2.483 (extra, after 6.2.482) 问题: See 6.2.482. 解决方案: Extra part of patch 6.2.482. 相关文件: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c Patch 6.2.484 问题: MS-Windows: With the included diff.exe, differences after aCTRL-Z
are not recognized. (Peter Keresztes) 解决方案: Write the files with unix fileformat and invoke diff with --binary if possible. 相关文件: src/diff.c Patch 6.2.485 问题: A BufWriteCmd autocommand cannot know if "!" was used or not. (Hari Krishna Dara) 解决方案: Add the v:cmdbang variable. 相关文件: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, src/fileio.c, src/vim.h Patch 6.2.486 (6.2.482) 问题: Diff for eval.c is missing. 解决方案: Addition to patch 6.2.482. 相关文件: src/eval.c Patch 6.2.487 (extra, after 6.2.456) 问题: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia) 解决方案: Delete the prototype for Handle_WM_Notify(). 相关文件: src/proto/gui_w32.pro Patch 6.2.488 问题: Missing ")" in *.ch filetype detection. 解决方案: Add the ")". (Ciaran McCreesh) 相关文件: runtime/filetype.vim Patch 6.2.489 问题: When accidentally opening a session in Vim which has already been opened in another Vim there is a long row of ATTENTION prompts. Need to quit each of them to get out. (Robert Webb) 解决方案: Add the "Abort" alternative to the dialog. 相关文件: src/memline.c Patch 6.2.490 问题: With'paragraph'
it is not possible to use a single dot as a paragraph boundary. (Dorai Sitaram) 解决方案: Allow using " " (two spaces) in'paragraph'
to match ".$" or ". $" 相关文件: src/search.c Patch 6.2.491 问题: Decrementing a position doesn't take care of multi-byte chars. 解决方案: Adjust the column for multi-byte characters. Remove mb_dec(). (Yasuhiro Matsumoto) 相关文件: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro Patch 6.2.492 问题: When using ":redraw" while there is a message, the next ":echo" still causes text to scroll. (Yasuhiro Matsumoto) 解决方案: Reset msg_didout and msg_col, so that after ":redraw" the next message overwrites an existing one. 相关文件: src/ex_docmd.c Patch 6.2.493 问题: "@x" doesn't work when 'insertmode' is set. (Benji Fisher) 解决方案: Put "restart_edit" in the typeahead buffer, so that it's used after executing the register contents. 相关文件: src/ops.c Patch 6.2.494 问题: Using diff mode with two windows, when moving horizontally in inserted lines, a fold in the other window may open. 解决方案: Compute the line number in the other window correctly. 相关文件: src/diff.c Patch 6.2.495 (extra, after 6.2.456) 问题: Win32: The file dialog doesn't work on Windows 95. 解决方案: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use it only on Windows NT/2000/XP. 相关文件: src/gui_w32.c, src/gui_w48.c Patch 6.2.496 问题: FreeBSD 4.x: When compiled with the pthread library (Python) a complicated pattern may cause Vim to crash. Catching the signal doesn't work. 解决方案: When compiled with threads, instead of using the normal stacksize limit, use the size of the initial stack. 相关文件: src/auto/configure, src/config.h.in, src/configure.in, src/os_unix.c Patch 6.2.497 (extra) 问题: Russian messages are only available in one encoding. 解决方案: Convert the messages to MS-Windows codepages. (Vassily Ragosin) 相关文件: src/po/Makefile Patch 6.2.498 问题: Non-latin1 help files are not properly supported. 解决方案: Support utf-8 help files and convert them to 'encoding' when needed. 相关文件: src/fileio.c Patch 6.2.499 问题: When writing a file and halting the system, the file might be lost when using a journaling file system. 解决方案: Use fsync() to flush the file data to disk after writing a file. (Radim Kolar) 相关文件: src/fileio.c Patch 6.2.500 (extra) 问题: The DOS/MS-Windows the installer doesn't use the --binary flag for diff. 解决方案: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez- Valencia) 相关文件: src/dosinst.c Patch 6.2.501 问题: Vim does not compile with MorphOS. 解决方案: Add a Makefile and a few changes to make Vim work with MorphOS. (Ali Akcaagac) 相关文件: runtime/doc/os_amiga.txt, src/INSTALLami.txt, src/Make_morphos.mak, src/memfile.c, src/term.c Patch 6.2.502 问题: Building fails for generating message files. 解决方案: Add dummy message files. 相关文件: src/po/ca.po, src/po/ru.po, src/po/sv.po Patch 6.2.503 问题: Mac: Can't compile MacRoman conversions without the GUI. 解决方案: Also link with the Carbon framework for the terminal version, for the MacRoman conversion functions. (Eckehard Berns) Remove -ltermcap from the GUI link command, it is not needed. 相关文件: src/auto/configure, src/Makefile, src/configure.in Patch 6.2.504 问题: Various problems with 'cindent', among which that a list of variable declarations is not indented properly. 解决方案: Fix the wrong indenting. Improve indenting of C++ methods. Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by Helmut Stiegler) Improve indenting of preprocessor-continuation lines. 相关文件: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok Patch 6.2.505 问题: Help for -P argument is missing. (Ronald Hoellwarth) 解决方案: Add the patch that was missing in 6.2.419. 相关文件: runtime/doc/starting.txt Patch 6.2.506 (extra) 问题: Win32: When 'encoding' is a codepage then reading a utf-8 file only works when iconv is available. Writing a file in another codepage uses the wrong kind of conversion. 解决方案: Use internal conversion functions. Enable reading and writing files with 'fileencoding' different from 'encoding' for all valid codepages and utf-8 without the need for iconv. 相关文件: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in, src/testdir/test52.ok Patch 6.2.507 问题: The ownership of the file with the password for the NetBeans connection is not checked. "-nb={file}
" doesn't work for GTK. 解决方案: Only accept the file when owned by the user and not accessible by others. Detect "-nb=" for GTK. 相关文件: src/netbeans.c, src/gui_gtk_x11.c Patch 6.2.508 问题: Win32: "v:lang" does not show the current language for messages if it differs from the other locale settings. 解决方案: Use the value of the $LC_MESSAGES environment variable. 相关文件: src/ex_cmds2.c Patch 6.2.509 (after 6.2.508) 问题: Crash when $LANG is not set. 解决方案: Add check for NULL pointer. (Ron Aaron) 相关文件: src/ex_cmds2.c Patch 6.2.510 (after 6.2.507) 问题: Warning for pointer conversion. 解决方案: Add a type cast. 相关文件: src/gui_gtk_x11.c Patch 6.2.511 问题: Tags in Russian help files are in utf-8 encoding, which may be different from 'encoding'. 解决方案: Use the "TAG_FILE_ENCODING" field in the tags file to specify the encoding of the tags. Convert help tags from 'encoding' to the tag file encoding when searching for matches, do the reverse when listing help tags.  (Gerfried Fuchs) 解决方案: Remove the _() around it. 相关文件: src/main.c, src/memline.c Patch 6.2.513 (after 6.2.507) 问题: NetBeans: the check for owning the connection info file can be simplified. (Nikolay Molchanov) 解决方案: Only check if the access mode is right. 相关文件: src/netbeans.c Patch 6.2.514 问题: When a highlight/syntax group name contains invalid characters there is no warning. 解决方案: Add an error for unprintable characters and a warning for other invalid characters. 相关文件: src/syntax.c Patch 6.2.515 问题: When using the options window 'swapfile' is reset. 解决方案: Use ":setlocal" instead of ":set". 相关文件: runtime/optwin.vim Patch 6.2.516 问题: The sign column cannot be seen, looks like there are two spaces before the text. (Rob Retter) 解决方案: Add the SignColumn highlight group. 相关文件: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, src/screen.c, src/syntax.c, src/vim.h Patch 6.2.517 问题: Using "r*" in Visual mode on multi-byte characters replaces too many characters. In Visual Block mode replacing with a multi-byte character doesn't work. 解决方案: Adjust the operator end for the difference in byte length of the original and the replaced character. Insert all bytes of a multi-byte character, take care of double-wide characters. 相关文件: src/ops.c Patch 6.2.518 问题: Last line of a window is not updated after using "J" and then "D". (Adri Verhoef) 解决方案: When no line is found below a change that doesn't need updating, update all lines below the change. 相关文件: src/screen.c Patch 6.2.519 问题: Mac: cannot read/write files in MacRoman format. 解决方案: Do internal conversion from/to MacRoman to/from utf-8 and latin1. (Eckehard Berns) 相关文件: src/fileio.c Patch 6.2.520 (extra) 问题: The NSIS installer is outdated. 解决方案: Make it work with NSIS 2.0. Also include console executables for Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use "/oname" to avoid having to rename files before running NSIS. 相关文件: Makefile, nsis/gvim.nsi Patch 6.2.521 问题: When using silent Ex mode the "changing a readonly file" warning is omitted but the one second wait isn't. (Yakov Lerner) 解决方案: Skip the delay when "silent_mode" is set. 相关文件: src/misc1.c Patch 6.2.522 问题: GUI: when changing 'cmdheight' in the gvimrc file the window layout is messed up. (Keith Dart) 解决方案: Skip updating the window layout when changing 'cmdheight' while still starting up. 相关文件: src/option.c Patch 6.2.523 问题: When loading a session and aborting when a swap file already exists, the user is left with useless windows. (Robert Webb) 解决方案: Load one file before creating the windows. 相关文件: src/ex_docmd.c Patch 6.2.524 (extra, after 6.2.520) 问题: Win32: (un)installing gvimext.dll may fail if it was used. The desktop and start menu links are created for the current user instead of all users. Using the home directory as working directory for the links is a bad idea for multi-user systems. Cannot use Vim from the "Open With..." menu. 解决方案: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use macros for the directory of the source and runtime files. Use "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. Do not specify a working directory in the links. Add Vim to the "Open With..." menu. (Giuseppe Bilotta) 相关文件: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c Patch 6.2.525 问题: When the history contains a very long line ":history" causes a crash. (Volker Kiefel) 解决方案: Shorten the history entry to fit it in one line. 相关文件: src/ex_getln.c Patch 6.2.526 问题: When s:lang is "ja" the Japanese menus are not used. 解决方案: Add 'encoding' to the language when there is no charset. 相关文件: runtime/menu.vim Patch 6.2.527 问题: The 2html script uses ":wincmd p", which breaks when using some autocommands. 解决方案: Remember the window numbers and jump to them with ":wincmd w". Also add XHTML support. (Panagiotis Issaris) 相关文件: runtime/syntax/2html.vim Patch 6.2.528 问题: NetBeans: Changes of the "~" command are not reported. 解决方案: Call netbeans_inserted() after performing "~". (Gordon Prieur) Also change NetBeans debugging to append to the log file. Also fix that "~" in Visual block mode changes too much if there are multi-byte characters. 相关文件: src/nbdebug.c, src/normal.c, src/ops.c Patch 6.2.529 (extra) 问题: VisVim only works for Admin. Doing it for one user doesn't work. (Alexandre Gouraud) 解决方案: When registering the module fails, simply continue. 相关文件: src/VisVim/VisVim.cpp Patch 6.2.530 问题: Warning for missing prototype on the Amiga. 解决方案: Include time.h 相关文件: src/version.c Patch 6.2.531 问题: In silent ex mode no messages are given, which makes debugging very difficult. 解决方案: Do output messages when 'verbose' is set. 相关文件: src/message.c, src/ui.c Patch 6.2.532 (extra) 问题: Compiling for Win32s with VC 4.1 doesn't work. 解决方案: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* when not defined. 相关文件: src/dosinst.h, src/fileio.c Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto) Patch 6.3a.001 问题: Win32: if testing for the "--binary" option fails, diff isn't used at all. 解决方案: Handle the "ok" flag properly. (Yasuhiro Matsumoto) 相关文件: src/diff.c Patch 6.3a.002 问题: NetBeans: An insert command from NetBeans beyond the end of a buffer crashes Vim. (Xavier de Gaye) 解决方案: Use a local pos_T structure for the position. 相关文件: src/netbeans.c Patch 6.3a.003 问题: E315 error with auto-formatting comments. (Henry Van Roessel) 解决方案: Pass the line number to same_leader(). 相关文件: src/ops.c Patch 6.3a.004 问题: Test32 fails on Windows XP for the DJGPP version. Renaming test11.out fails. 解决方案: Don't try renaming, create new files to use for the test. 相关文件: src/testdir/test32.in, src/testdir/test32.ok Patch 6.3a.005 问题: ":checkpath!" does not use 'includeexpr'. 解决方案: Use a file name that was found directly. When a file was not found and the located name is empty, use the rest of the line. 相关文件: src/search.c Patch 6.3a.006 问题: "yip" moves the cursor to the first yanked line, but not to the first column. Looks like not all text was yanked. (Jens Paulus) 解决方案: Move the cursor to the first column. 相关文件: src/search.c Patch 6.3a.007 问题: 'cindent' recognizes "enum" but not "typedef enum". 解决方案: Skip over "typedef" before checking for "enum". (Helmut Stiegler) Also avoid that searching for this item goes too far back. 相关文件: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok Patch 6.3a.008 (extra) 问题: Windows 98: Some of the wide functions are not implemented, resulting in file I/O to fail. This depends on what Unicode support is installed. 解决方案: Handle the failure and fall back to non-wide functions. 相关文件: src/os_win32.c Patch 6.3a.009 问题: Win32: Completion of filenames does not work properly when 'encoding' differs from the active code page. 解决方案: Use wide functions for expanding wildcards when appropriate. 相关文件: src/misc1.c Patch 6.3a.010 (extra) 问题: Win32: Characters in the window title that do not appear in the active codepage are replaced by a question mark. 解决方案: Use DefWindowProcW() instead of DefWindowProc() when possible. 相关文件: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c Patch 6.3a.011 问题: Using the explorer plugin changes a local directory to the global directory. 解决方案: Don't use ":chdir" to restore the current directory. Make "expand('%:p')" remove "/../" and "/./" items from the path. 相关文件: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c Patch 6.3a.012 (extra) 问题: On Windows 98 the installer doesn't work, don't even get the "I agree" button. The check for the path ending in "vim" makes the browse dialog hard to use. The default path when no previous Vim is installed is "c:\vim" instead of "c:\Program Files\Vim". 解决方案: Remove the background gradient command. Change the .onVerifyInstDir function to a leave function for the directory page. Don't let the install program default to c:\vim when no path could be found. 相关文件: nsis/gvim.nsi, src/dosinst.c Patch 6.3a.013 (extra) 问题: Win32: Characters in the menu that are not in the active codepage are garbled. 解决方案: Convert menu strings from 'encoding' to the active codepage. 相关文件: src/gui_w32.c, src/gui_w48.c Patch 6.3a.014 问题: Using multi-byte text and highlighting in a statusline causes gaps to appear. (Helmut Stiegler) 解决方案: Advance the column by text width instead of number of bytes. Add the vim_strnsize() function. 相关文件: src/charset.c, src/proto/charset.pro, src/screen.c Patch 6.3a.015 问题: Using the "select all" menu item when 'insertmode' is set and clicking the mouse button doesn't return to Insert mode. The Buffers/Delete menu doesn't offer a choice to abandon a changed buffer. (Jens Paulus) 解决方案: Don't useCTRL-\
CTRL-N
. Add ":confirm" for the Buffers menu items. 相关文件: runtime/menu.vim Patch 6.3a.016 问题: After cancelling the ":confirm" dialog the error message and hit-enter prompt may not be displayed properly. 解决方案: Flush output after showing the dialog. 相关文件: src/message.c Patch 6.3a.017 问题: servername() doesn't work when Vim was started with the "-X" argument or when the "exclude" in 'clipboard' matches the terminal name. (Robert Nowotniak) 解决方案: Force connecting to the X server when using client-server commands. 相关文件: src/eval.c, src/globals.h, src/os_unix.c Patch 6.3a.018 (after 6.3a.017) 问题: Compiler warning for return value of make_connection(). 解决方案: Use void return type. 相关文件: src/eval.c Patch 6.3a.019 (extra) 问题: Win32: typing non-latin1 characters doesn't work. 解决方案: Invoke _OnChar() directly to avoid that the argument is truncated to a byte. Convert the UTF-16 character to bytes according to 'encoding' and ignore 'termencoding'. Same for _OnSysChar(). 相关文件: src/gui_w32.c, src/gui_w48.c Patch 6.3a.020 (extra) 问题: Missing support for AROS (AmigaOS reimplementation). Amiga GUI doesn't work. 解决方案: Add AROS support. (Adam Chodorowski) Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac) 相关文件: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, src/memfile.c, src/os_amiga.c, src/term.c Patch 6.3a.021 (after 6.3a.017) 问题: Can't compile with X11 but without GUI. 解决方案: Put use of "gui.in_use" inside an #ifdef. 相关文件: src/eval.c Patch 6.3a.022 问题: When typing Tabs when 'softtabstop' is used and 'list' is set a tab is counted for two spaces. 解决方案: Use the "L" flag in 'cpoptions' to tell whether a tab is counted as two spaces or as 'tabstop'. (Antony Scriven) 相关文件: runtime/doc/options.txt, src/edit.c Patch 6.3a.023 问题: Completion on the command line doesn't handle backslashes properly. Only the tail of matches is shown, even when not completing filenames. 解决方案: When turning the string into a pattern double backslashes. Don't omit the path when not expanding files or directories. 相关文件: src/ex_getln.c Patch 6.3a.024 问题: The "save all" toolbar item fails for buffers that don't have a name. When using ":wa" or closing the Vim window and there are nameless buffers, browsing for a name may cause the name being given to the wrong buffer or not stored properly. ":browse" only worked for one file. 解决方案: Use ":confirm browse" for "save all". Pass buffer argument to setfname(). Restore "browse" flag and "forceit" after doing the work for one file. 相关文件: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, src/message.c, src/window.c, src/proto/buffer.pro, src/proto/ex_cmds2.pro, src/proto/memline.pro Patch 6.3a.025 问题: Setting 'virtualedit' moves the cursor. (Benji Fisher) 解决方案: Update the virtual column before using it. 相关文件: src/option.c Patch 6.3a.026 (extra, after 6.3a.008) 问题: Editing files on Windows 98 doesn't work when 'encoding' is "utf-8" (Antoine Mechelynck) Warning for missing function prototype. 解决方案: For all wide functions check if it failed because it is not implemented. Use ANSI function declaration for char_to_string(). 相关文件: src/gui_w48.c, src/os_mswin.c, src/os_win32.c Patch 6.3a.027 (extra, after 6.3a.026) 问题: Compiler warning for function argument. 解决方案: Declare both char and WCHAR arrays. 相关文件: src/gui_w48.c Patch 6.3a.028 问题: ":normal ." doesn't work inside a function, because redo is saved and restored. (Benji Fisher) 解决方案: Make a copy of the redo buffer when executing a function. 相关文件: src/getchar.c Patch 6.3b.001 (extra) 问题: Bcc 5: The generated auto/pathdef can't be compiled. 解决方案: Fix the way quotes and backslashes are escaped. 相关文件: src/Make_bc5.mak Patch 6.3b.002 问题: Win32: conversion during file write fails when a double-byte character is split over two writes. 解决方案: Fix the conversion retry without a trailing byte. (Taro Muraoka) 相关文件: src/fileio.c Patch 6.3b.003 (extra) 问题: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8" then Vim can't open files under MS-Windows 98. (Antoine J. Mechelynck) 解决方案: Don't use _wstat(), _wopen() and _wfopen() in this situation. 相关文件: src/os_mswin.c, src/os_win32.c Patch 6.3b.004 问题: ":helpgrep" includes a trailing CR in the text line. 解决方案: Remove the CR. 相关文件: src/quickfix.c Patch 6.3b.005 问题: ":echo &g:ai" results in the local option value. (Salman Halim) 解决方案: Pass the flags from find_option_end() to get_option_value(). 相关文件: src/eval.c Patch 6.3b.006 问题: When using "mswin.vim",CTRL-V
in Insert mode leaves cursor before last pasted character. (Mathew Davis) 解决方案: Use the same Paste() function as in menu.vim. 相关文件: runtime/mswin.vim Patch 6.3b.007 问题: Session file doesn't restore view on windows properly. (Robert Webb) 解决方案: Restore window sizes both before and after restoring the view, so that the view, cursor position and size are restored properly. 相关文件: src/ex_docmd.c Patch 6.3b.008 问题: Using ":finally" in a user command doesn't always work. (Hari Krishna Dara) 解决方案: Don't assume that using getexline() means the command was typed. 相关文件: src/ex_docmd.c Patch 6.3b.009 (extra) 问题: Win32: When the -P argument is not found in a window title, there is no error message. 解决方案: When the window can't be found give an error message and exit. Also use try/except to catch failing to open the MDI window. (Michael Wookey) 相关文件: src/gui_w32.c Patch 6.3b.010 问题: Win32: Using the "-D" argument and expanding arguments may cause a hang, because the terminal isn't initialized yet. (Vince Negri) 解决方案: Don't go into debug mode before the terminal is initialized. 相关文件: src/main.c Patch 6.3b.011 问题: UsingCTRL-\
e while obtaining an expression aborts the command line. (Hari Krishna Dara) 解决方案: Insert theCTRL-\
e as typed. 相关文件: src/ex_getln.c Patch 6.3b.012 (after 6.3b.010) 问题: Can't compile with tiny features. (Norbert Tretkowski) 解决方案: Add #ifdefs. 相关文件: src/main.c Patch 6.3b.013 问题: Loading a session file results in editing the wrong file in the first window when this is not the file at the current position in the argument list. (Robert Webb) 解决方案: Check w_arg_idx_invalid to decide whether to edit a file. 相关文件: src/ex_docmd.c Patch 6.3b.014 问题: ":runtime! foo*.vim" may using freed memory when a sourced script changes the value of 'runtimepath'. 解决方案: Make a copy of 'runtimepath' when looping over the matches. 相关文件: src/ex_cmds2.c Patch 6.3b.015 问题: Get lalloc(0) error when using "p" in Visual mode while 'clipboard' contains "autoselect,unnamed". (Mark Wagonner) 解决方案: Avoid allocating zero bytes. Obtain the clipboard when necessary. 相关文件: src/ops.c Patch 6.3b.016 问题: When 'virtualedit' is used "x" doesn't delete the last character of a line that has as many characters as 'columns'. (Yakov Lerner) 解决方案: When the cursor isn't moved let oneright() return FAIL. 相关文件: src/edit.c Patch 6.3b.017 问题: Win32: "vim --remote-wait" doesn't exit when the server finished editing the file. (David Fishburn) 解决方案: In the rrhelper plugin change backslashes to forward slashes and escape special characters. 相关文件: runtime/plugin/rrhelper.vim Patch 6.3b.018 问题: The list of help files in the "local additions" table doesn't recognize utf-8 encoding. (Yasuhiro Matsumoto) 解决方案: Recognize utf-8 characters. 相关文件: src/ex_cmds.c Patch 6.3b.019 问题: When $VIMRUNTIME is not a full path name the "local additions" table lists all the help files. 解决方案: Use fullpathcmp() instead of fnamecmp() to compare the directory names. 相关文件: src/ex_cmds.c Patch 6.3b.020 问题: When usingCTRL-^
when entering a search string, the item in the statusline that indicates the keymap is not updated. (Ilya Dogolazky) 解决方案: Mark the statuslines for updating. 相关文件: src/ex_getln.c Patch 6.3b.021 问题: The swapfile is not readable for others, the ATTENTION prompt does not show all info when someone else is editing the same file. (Marcel Svitalsky) 解决方案: Use the protection of original file for the swapfile and set it after creating the swapfile. 相关文件: src/fileio.c Patch 6.3b.022 问题: Using "4v" to select four times the old Visual area may put the cursor beyond the end of the line. (Jens Paulus) 解决方案: Correct the cursor column. 相关文件: src/normal.c Patch 6.3b.023 问题: When "3dip" starts in an empty line, white lines after the non-white lines are not deleted. (Jens Paulus) 解决方案: Include the white lines. 相关文件: src/search.c Patch 6.3b.024 问题: "2daw" does not delete leading white space like "daw" does. (Jens Paulus) 解决方案: Include the white space when a count is used. 相关文件: src/search.c Patch 6.3b.025 问题: Percentage in ruler isn't updated when a line is deleted. (Jens Paulus) 解决方案: Check for a change in line count when deciding to update the ruler. 相关文件: src/screen.c, src/structs.h Patch 6.3b.026 问题: When selecting "abort" at the ATTENTION prompt for a file that is already being edited Vim crashes. 解决方案: Don't abort creating a new buffer when we really need it. 相关文件: src/buffer.c, src/vim.h Patch 6.3b.027 问题: Win32: When enabling the menu in a maximized window, Vim uses more lines than what is room for. (Shizhu Pan) 解决方案: When deciding to call shell_resized(), also compare the text area size with Rows and Columns, not just with screen_Rows and screen_Columns. 相关文件: src/gui.c Patch 6.3b.028 问题: When in diff mode, setting 'rightleft' causes a crash. (Eddine) 解决方案: Check for last column differently when 'rightleft' is set. 相关文件: src/screen.c Patch 6.3b.029 问题: Win32: warning for uninitialized variable. 解决方案: Initialize to zero. 相关文件: src/misc1.c Patch 6.3b.030 问题: After Visually selecting four characters, changing it to other text, Visually selecting and yanking two characters: "." changes four characters, another "." changes two characters. (Robert Webb) 解决方案: Don't store the size of the Visual area when redo is active. 相关文件: src/normal.c
6.4 版 本 *version-6.4*
本小节讨论 6.3 和 6.4 版本之间的改进。 这是一个漏洞修正版。也有一些新特性。主要的新项目来自运行时文件和翻译。 MS-Windows 的 big 版本现在使用: Ruby 1.8.3 版本 Perl 5.8.7 版本 Python 2.4.2 版本 改动 *changed-6.4*
删除了 runtime/tools/tcltags，Exuberant ctags 做得更好。 新增 *added-6.4*
Alsaconf 语法文件 (Nikolai Weibull) Eruby 语法、缩进、编译器和文件类型插件文件 (Doug Kearns) Esterel 语法文件 (Maurizio Tranchero) Mathematica 缩进文件 (Steve Layland) Netrc 语法文件 (Nikolai Weibull) PHP 编译器文件 (Doug Kearns) Pascal 缩进文件 (Neil Carter) Prescribe 语法文件 (Klaus Muth) Rubyunit 编译器文件 (Doug Kearns) SMTPrc 语法文件 (Kornel Kielczewski) Sudoers 语法文件 (Nikolai Weibull) TPP 语法文件 (Gerfried Fuchs) VHDL 文件类型插件文件 (R. Shankar) Verilog-AMS 语法文件 (S. Myles Prather) 保加利亚键盘映射表 (Alberto Mardegan) 加拿大键盘映射表 (Eric Joanis) 匈牙利语菜单翻译，UTF-8 格式 (Kantra Gergely) 乌克兰语菜单翻译 (Bohdan Vlasyuk) 爱尔兰语消息翻译 (Kevin Patrick Scannell) configure 也加入 tclsh8.4 的检查。 修正 *fixed-6.4*
"dFxd;" deleted the character under the cursor, "d;" didn't remember the exclusiveness of the motion. When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one line for the cmdline. (Christian Robinson) Invoke command_height() after the GUI has started up. Gcc would warn "dereferencing type-punned pointer will break strict -aliasing rules". Avoid using typecasts for variable pointers. Gcc 3.x interprets the -MM argument differently. Change "-I /path" to "-isystem /path" for "make depend". Patch 6.3.001 问题: ":browse split" gives the file selection dialog twice. (Gordon Bazeley) Same problem for ":browse diffpatch". 解决方案: Reset cmdmod.browse before calling do_ecmd(). 相关文件: src/diff.c, src/ex_docmd.c Patch 6.3.002 问题: When using translated help files with non-ASCII latin1 characters in the first line the utf-8 detection is wrong. 解决方案: Properly detect utf-8 characters. When a mix of encodings is detected continue with the next language and avoid a "no matches" error because of "got_int" being set. Add the directory name to the error message for a duplicate tag. 相关文件: src/ex_cmds.c Patch 6.3.003 问题: Crash when using a console dialog and the first choice does not have a default button. (Darin Ohashi) 解决方案: Allocate two more characters for the [] around the character for the default choice. 相关文件: src/message.c Patch 6.3.004 问题: When searching for a long string (140 chars in a 80 column terminal) get three hit-enter prompts. (Robert Webb) 解决方案: Avoid the hit-enter prompt when giving the message for wrapping around the end of the buffer. Don't give that message again when the string was not found. 相关文件: src/message.c, src/search.c Patch 6.3.005 问题: Crash when searching for a pattern with a character offset and starting in a closed fold. (Frank Butler) 解决方案: Check for the column to be past the end of the line. Also fix that a pattern with a character offset relative to the end isn't read back from the viminfo properly. 相关文件: src/search.c Patch 6.3.006 问题: ":breakadd file *foo" prepends the current directory to the file pattern. (Hari Krishna Dara) 解决方案: Keep the pattern as-is. 相关文件: src/ex_cmds2.c Patch 6.3.007 问题: When there is a buffer with 'buftype' set to "nofile" and using a ":cd" command, the swap file is not deleted when exiting. 解决方案: Use the full path of the swap file also for "nofile" buffers. 相关文件: src/fileio.c Patch 6.3.008 问题: Compiling fails under OS/2. 解决方案: Include "e_screenmode" also for OS/2. (David Sanders) 相关文件: src/globals.h Patch 6.3.009 (after 6.3.006) 问题: ":breakadd file /path/foo.vim" does not match when a symbolic link is involved. (Servatius Brandt) 解决方案: Do expand the pattern when it does not start with "*". 相关文件: runtime/doc/repeat.txt, src/ex_cmds2.c Patch 6.3.010 问题: When writing to a named pipe there is an error for fsync() failing. 解决方案: Ignore the fsync() error for devices. 相关文件: src/fileio.c Patch 6.3.011 问题: Crash when the completion function of a user-command uses a "normal :cmd" command. (Hari Krishna Dara) 解决方案: Save the command line when invoking the completion function. 相关文件: src/ex_getln.c Patch 6.3.012 问题: Internal lalloc(0) error when using a complicated multi-line pattern in a substitute command. (Luc Hermitte) 解决方案: Avoid going past the end of a line. 相关文件: src/ex_cmds.c Patch 6.3.013 问题: Crash when editing a command line and typingCTRL-R
= to evaluate a function that uses "normal :cmd". (Hari Krishna Dara) 解决方案: Save and restore the command line when evaluating an expression forCTRL-R
=. 相关文件: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, src/proto/ops.pro Patch 6.3.014 问题: When using Chinese or Taiwanese the default for 'helplang' is wrong. (Simon Liang) 解决方案: Use the part of the locale name after "zh_". 相关文件: src/option.c Patch 6.3.015 问题: The string that winrestcmd() returns may end in garbage. 解决方案: NUL-terminate the string. (Walter Briscoe) 相关文件: src/eval.c Patch 6.3.016 问题: The default value for 'define' has "\s" before '#'. 解决方案: Add a star after "\s". (Herculano de Lima Einloft Neto) 相关文件: src/option.c Patch 6.3.017 问题: "8zz" may leave the cursor beyond the end of the line. (Niko Maatjes) 解决方案: Correct the cursor column after moving to another line. 相关文件: src/normal.c Patch 6.3.018 问题: ":0argadd zero" added the argument after the first one, instead of before it. (Adri Verhoef) 解决方案: Accept a zero range for ":argadd". 相关文件: src/ex_cmds.h Patch 6.3.019 问题: Crash in startup for debug version. (David Rennals) 解决方案: Move the call to nbdebug_wait() to after allocating NameBuff. 相关文件: src/main.c Patch 6.3.020 问题: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not delete a word but only a combining character of the first character, if there is one. (Raphael Finkel) 解决方案: Correctly check that one character is being deleted. 相关文件: src/misc1.c Patch 6.3.021 问题: When the last character of a file name is a multi-byte character and the last byte is a path separator, the file cannot be edited. 解决方案: Check for the last byte to be part of a multi-byte character. (Taro Muraoka) 相关文件: src/fileio.c Patch 6.3.022 (extra) 问题: Win32: When the last character of a file name is a multi-byte character and the last byte is a path separator, the file cannot be written. A trail byte that is a space makes that a file cannot be opened from the command line. 解决方案: Recognize double-byte characters when parsing the command line. In mch_stat() check for the last byte to be part of a multi-byte character. (Taro Muraoka) 相关文件: src/gui_w48.c, src/os_mswin.c Patch 6.3.023 问题: When the "to" part of a mapping starts with its "from" part, abbreviations for the same characters is not possible. For example, when<Space>
is mapped to something that starts with a space, typing<Space>
does not expand abbreviations. 解决方案: Only disable expanding abbreviations when a mapping is not remapped, don't disable it when the RHS of a mapping starts with the LHS. 相关文件: src/getchar.c, src/vim.h Patch 6.3.024 问题: In a few places a string in allocated memory is not terminated with a NUL. 解决方案: Add ga_append(NUL) in script_get(), gui_do_findrepl() and serverGetVimNames(). 相关文件: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c Patch 6.3.025 (extra) 问题: Missing NUL for list of server names. 解决方案: Add ga_append(NUL) in serverGetVimNames(). 相关文件: src/os_mswin.c Patch 6.3.026 问题: When ~/.vim/after/syntax/syncolor.vim contains a command that reloads the colors an endless loop and/or a crash may occur. 解决方案: Only free the old value of an option when it was originally allocated. Limit recursiveness of init_highlight() to 5 levels. 相关文件: src/option.c, src/syntax.c Patch 6.3.027 问题: VMS: Writing a file may insert extra CR characters. Not all terminals are recognized correctly. Vt320 doesn't support colors. Environment variables are not expanded correctly. 解决方案: Use another method to write files. Add vt320 termcap codes for colors. (Zoltan Arpadffy) 相关文件: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h, src/term.c Patch 6.3.028 问题: When appending to a file the BOM marker may be written. (Alex Jakushev) 解决方案: Do not write the BOM marker when appending. 相关文件: src/fileio.c Patch 6.3.029 问题: Crash when inserting a line break. (Walter Briscoe) 解决方案: In the syntax highlighting code, don't use an old state after a change was made, current_col may be past the end of the line. 相关文件: src/syntax.c Patch 6.3.030 问题: GTK 2: Crash when sourcing a script that deletes the menus, sets 'encoding' to "utf-8" and loads the menus again. GTK error message when tooltip text is in a wrong encoding. 解决方案: Don't copy characters from the old screen to the new screen when switching 'encoding' to utf-8, they may be invalid. Only set the tooltip when it is valid utf-8. 相关文件: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c Patch 6.3.031 问题: When entering a mapping and pressing Tab halfway the command line isn't redrawn properly. (Adri Verhoef) 解决方案: Reposition the cursor after drawing over the "..." of the completion attempt. 相关文件: src/ex_getln.c Patch 6.3.032 问题: Using Python 2.3 with threads doesn't work properly. 解决方案: Release the lock after initialization. 相关文件: src/if_python.c Patch 6.3.033 问题: When a mapping ends in a Normal mode command of more than one character Vim doesn't return to Insert mode. 解决方案: Check that the mapping has ended after obtaining all characters of the Normal mode command. 相关文件: src/normal.c Patch 6.3.034 问题: VMS: crash when using ":help". 解决方案: Avoid using "tags-??", some Open VMS systems can't handle the "?" wildcard. (Zoltan Arpadffy) 相关文件: src/tag.c Patch 6.3.035 (extra) 问题: RISC OS: Compile errors. 解决方案: Change e_screnmode to e_screenmode. Change the way __riscosify_control is set. Improve the makefile. (Andy Wingate) 相关文件: src/os_riscos.c, src/search.c, src/Make_ro.mak Patch 6.3.036 问题: ml_get errors when the whole file is a fold, switching 'foldmethod' and doing "zj". (Christian J. Robinson) Was not deleting the fold but creating a fold with zero lines. 解决方案: Delete the fold properly. 相关文件: src/fold.c Patch 6.3.037 (after 6.3.032) 问题: Warning for unused variable. 解决方案: Change the #ifdefs for the saved thread stuff. 相关文件: src/if_python.c Patch 6.3.038 (extra) 问题: Win32: When the "file changed" dialog pops up after a click that gives gvim focus and not moving the mouse after that, the effect of the click may occur when moving the mouse later. (Ken Clark) Happened because the release event was missed. 解决方案: Clear the s_button_pending variable when any input is received. 相关文件: src/gui_w48.c Patch 6.3.039 问题: When 'number' is set and inserting lines just above the first displayed line (in another window on the same buffer), the line numbers are not updated. (Hitier Sylvain) 解决方案: When 'number' is set and lines are inserted/deleted redraw all lines below the change. 相关文件: src/screen.c Patch 6.3.040 问题: Error handling does not always work properly and may cause a buffer to be marked as if it's viewed in a window while it isn't. Also when selecting "Abort" at the attention prompt. 解决方案: Add enter_cleanup() and leave_cleanup() functions to move saving/restoring things for error handling to one place. Clear a buffer read error when it's unloaded. 相关文件: src/buffer.c, src/ex_docmd.c, src/ex_eval.c, src/proto/ex_eval.pro, src/structs.h, src/vim.h Patch 6.3.041 (extra) 问题: Win32: When the path to a file has Russian characters, ":cd %:p:h" doesn't work. (Valery Kondakoff) 解决方案: Use a wide function to change directory. 相关文件: src/os_mswin.c Patch 6.3.042 问题: When there is a closed fold at the top of the window,CTRL-X
CTRL-E
in Insert mode reduces the size of the fold instead of scrolling the text up. (Gautam) 解决方案: Scroll over the closed fold. 相关文件: src/move.c Patch 6.3.043 问题: 'hlsearch' highlighting sometimes disappears when inserting text in PHP code with syntax highlighting. (Marcel Svitalsky) 解决方案: Don't use pointers to remember where a match was found, use an index. The pointers may become invalid when searching in other lines. 相关文件: src/screen.c Patch 6.3.044 (extra) 问题: Mac: When 'linespace' is non-zero the Insert mode cursor leaves pixels behind. (Richard Sandilands) 解决方案: Erase the character cell before drawing the text when needed. 相关文件: src/gui_mac.c Patch 6.3.045 问题: Unusual characters in an option value may cause unexpected behavior, especially for a modeline. (Ciaran McCreesh) 解决方案: Don't allow setting termcap options or 'printdevice' in a modeline. Don't list options for "termcap" and "all" in a modeline. Don't allow unusual characters in 'filetype', 'syntax', 'backupext', 'keymap', 'patchmode' and 'langmenu'. 相关文件: src/option.c, runtime/doc/options.txt Patch 6.3.046 问题: ":registers" doesn't show multi-byte characters properly. (Valery Kondakoff) 解决方案: Get the length of each character before displaying it. 相关文件: src/ops.c Patch 6.3.047 (extra) 问题: Win32 with Borland C 5.5 on Windows XP: A new file is created with read-only attributes. (Tony Mechelynck) 解决方案: Don't use the _wopen() function for Borland. 相关文件: src/os_win32.c Patch 6.3.048 (extra) 问题: Build problems with VMS on IA64. 解决方案: Add dependencies to the build file. (Zoltan Arpadffy) 相关文件: src/Make_vms.mms Patch 6.3.049 (after 6.3.045) 问题: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy) 解决方案: Add a typecast. 相关文件: src/option.c Patch 6.3.050 问题: When SIGHUP is received while busy exiting, non-reentrant functions such as free() may cause a crash. 解决方案: Ignore SIGHUP when exiting because of an error. (Scott Anderson) 相关文件: src/misc1.c, src/main.c Patch 6.3.051 问题: When 'wildmenu' is set and completed file names contain multi-byte characters Vim may crash. 解决方案: Reserve room for multi-byte characters. (Yasuhiro Matsumoto) 相关文件: src/screen.c Patch 6.3.052 (extra) 问题: Windows 98: typed keys that are not ASCII may not work properly. For example with a Russian input method. (Jiri Jezdinsky) 解决方案: Assume that the characters arrive in the current codepage instead of UCS-2. Perform conversion based on that. 相关文件: src/gui_w48.c Patch 6.3.053 问题: Win32: ":loadview" cannot find a file with non-ASCII characters. (Valerie Kondakoff) 解决方案: Use mch_open() instead of open() to open the file. 相关文件: src/ex_cmds2.c Patch 6.3.054 问题: When 'insertmode' is set<C-L>
4ixxx<C-L>
hangs Vim. (Jens Paulus) Vim is actually still working but redraw is disabled. 解决方案: When stopping Insert mode withCTRL-L
don't put an Esc in the redo buffer but aCTRL-L
. 相关文件: src/edit.c Patch 6.3.055 (after 6.3.013) 问题: Can't use getcmdline(), getcmdpos() or setcmdpos() with<C-R>
= when editing a command line. Using <C-\>e may crash Vim. (Peter Winters) 解决方案: When moving ccline out of the way for recursive use, make it available to the functions that need it. Also save and restore ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at the end of getcmdline(). 相关文件: src/ex_getln.c Patch 6.3.056 问题: The last characters of a multi-byte file name may not be displayed in the window title. 解决方案: Avoid to remove a multi-byte character where the last byte looks like a path separator character. (Yasuhiro Matsumoto) 相关文件: src/buffer.c, src/ex_getln.c Patch 6.3.057 问题: When filtering lines folds are not updated. (Carl Osterwisch) 解决方案: Update folds for filtered lines. 相关文件: src/ex_cmds.c Patch 6.3.058 问题: When 'foldcolumn' is equal to the window width and 'wrap' is on Vim may crash. Disabling the vertical split feature breaks compiling. (Peter Winters) 解决方案: Check for zero room for wrapped text. Make compiling without vertical splits possible. 相关文件: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c Patch 6.3.059 问题: Crash when expanding an ":edit" command containing several spaces with the shell. (Brian Hirt) 解决方案: Allocate enough space for the quotes. 相关文件: src/os_unix.c Patch 6.3.060 问题: UsingCTRL-R
CTRL-O
in Insert mode with an invalid register name still causes something to be inserted. 解决方案: Check the register name for being valid. 相关文件: src/edit.c Patch 6.3.061 问题: When editing a utf-8 file in an utf-8 xterm and there is a multi-byte character in the last column, displaying is messed up. (Joël Rio) 解决方案: Check for a multi-byte character, not a multi-column character. 相关文件: src/screen.c Patch 6.3.062 问题: ":normal! gQ" hangs. 解决方案: Quit getcmdline() and do_exmode() when out of typeahead. 相关文件: src/ex_getln.c, src/ex_docmd.c Patch 6.3.063 问题: When a CursorHold autocommand changes to another window (temporarily) 'mousefocus' stops working. 解决方案: Call gui_mouse_correct() after triggering CursorHold. 相关文件: src/gui.c Patch 6.3.064 问题: line2byte(line("$") + 1) sometimes returns the wrong number. (Charles Campbell) 解决方案: Flush the cached line before counting the bytes. 相关文件: src/memline.c Patch 6.3.065 问题: The euro digraph doesn't always work. 解决方案: Add an "e=" digraph for Unicode euro character and adjust the help files. 相关文件: src/digraph.c, runtime/doc/digraph.txt Patch 6.3.066 问题: Backup file may get wrong permissions. 解决方案: Use permissions of original file for backup file in more places. 相关文件: src/fileio.c Patch 6.3.067 (after 6.3.066) 问题: Newly created file gets execute permission. 解决方案: Check for "perm" to be negative before using it. 相关文件: src/fileio.c Patch 6.3.068 问题: When editing a compressed file xxx.gz which is a symbolic link to the actual file a ":write" renames the link. 解决方案: Resolve the link, so that the actual file is renamed and compressed. 相关文件: runtime/plugin/gzip.vim Patch 6.3.069 问题: When converting text with illegal characters Vim may crash. 解决方案: Avoid that too much is subtracted from the length. (Da Woon Jung) 相关文件: src/mbyte.c Patch 6.3.070 问题: After ":set number linebreak wrap" and a vertical split, moving the vertical separator far left will crash Vim. (Georg Dahn) 解决方案: Avoid dividing by zero. 相关文件: src/charset.c Patch 6.3.071 问题: The message forCTRL-X
mode is still displayed after an error for 'thesaurus' or 'dictionary' being empty. 解决方案: Clear "edit_submode". 相关文件: src/edit.c Patch 6.3.072 问题: Crash in giving substitute message when language is Chinese and encoding is utf-8. (Yongwei) 解决方案: Make the msg_buf size larger when using multi-byte. 相关文件: src/vim.h Patch 6.3.073 问题: Win32 GUI: When the Vim window is partly above or below the screen, scrolling causes display errors when the taskbar is not on that side. 解决方案: Use the SW_INVALIDATE flag when the Vim window is partly below or above the screen. 相关文件: src/gui_w48.c Patch 6.3.074 问题: When mswin.vim is used and 'insertmode' is set, typing text in Select mode and then usingCTRL-V
results in<SNR>
99_Pastegi. (Georg Dahn) 解决方案: When restart_edit is set use "d" instead of "c" to remove the selected text to avoid calling edit() twice. 相关文件: src/normal.c Patch 6.3.075 问题: After unloading another buffer, syntax highlighting in the current buffer may be wrong when it uses "containedin". (Eric Arnold) 解决方案: Use "buf" instead of "curbuf" in syntax_clear(). 相关文件: src/syntax.c Patch 6.3.076 问题: Crash when using cscope and there is a parse error (e.g., line too long). (Alexey I. Froloff) 解决方案: Pass the actual number of matches to cs_manage_matches() and correctly handle the error situation. 相关文件: src/if_cscope.c Patch 6.3.077 (extra) 问题: VMS: First character input after ESC was not recognized. 解决方案: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy) 相关文件: src/os_vms.c Patch 6.3.078 (extra, after 6.3.077) 问题: VMS: Performance issue after patch 6.3.077 解决方案: Add a timeout in the itemlist. (Zoltan Arpadffy) 相关文件: src/os_vms.c Patch 6.3.079 问题: Crash when executing a command in the command line window while syntax highlighting is enabled. (Pero Brbora) 解决方案: Don't use a pointer to a buffer that has been deleted. 相关文件: src/syntax.c Patch 6.3.080 (extra) 问题: Win32: With 'encoding' set to utf-8 while the current codepage is Chinese editing a file with some specific characters in the name fails. 解决方案: Use _wfullpath() instead of _fullpath() when necessary. 相关文件: src/os_mswin.c Patch 6.3.081 问题: Unix: glob() may execute a shell command when it's not wanted. (Georgi Guninski) 解决方案: Verify the sandbox flag is not set. 相关文件: src/os_unix.c Patch 6.3.082 (after 6.3.081) 问题: Unix: expand() may execute a shell command when it's not wanted. (Georgi Guninski) 解决方案: A more generic solution than 6.3.081. 相关文件: src/os_unix.c Patch 6.3.083 问题: VMS: The vt320 termcap entry is incomplete. 解决方案: Add missing function keys. (Zoltan Arpadffy) 相关文件: src/term.c Patch 6.3.084 (extra) 问题: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored. Failure when $(OUTDIR) already exists. "po" makefile is missing. 解决方案: Use changes tested in Vim 7. (Tony Mechelynck) 相关文件: src/Make_cyg.mak, src/po/Make_cyg.mak Patch 6.3.085 问题: Crash in syntax highlighting code. (Marc Espie) 解决方案: Prevent current_col going past the end of the line. 相关文件: src/syntax.c Patch 6.3.086 (extra) 问题: Can't produce message translation file with msgfmt that checks printf strings. 解决方案: Fix the Russian translation. 相关文件: src/po/ru.po, src/po/ru.cp1251.po Patch 6.3.087 问题: MS-DOS: Crash. (Jason Hood) 解决方案: Don't call fname_case() with a NULL pointer. 相关文件: src/ex_cmds.c Patch 6.3.088 问题: Editing ".in" causes error E218. (Stefan Karlsson) 解决方案: Require some characters before ".in". Same for ".orig" and others. 相关文件: runtime/filetype.vim Patch 6.3.089 问题: A session file doesn't work when created while the current directory contains a space or the directory of the session files contains a space. (Paolo Giarrusso) 解决方案: Escape spaces with a backslash. 相关文件: src/ex_docmd.c Patch 6.3.090 问题: A very big value for 'columns' or 'lines' may cause a crash. 解决方案: Limit the values to 10000 and 1000. 相关文件: src/option.c Patch 6.4a.001 问题: The Unix Makefile contained too many dependencies and a few uncommented lines. 解决方案: Run "make depend" with manual changes to avoid a gcc incompatibility. Comment a few lines. 相关文件: src/Makefile Patch 6.4b.001 问题: Vim reports "Vim 6.4a" in the ":version" output. 解决方案: Change "a" to "b". (Tony Mechelynck) 相关文件: src/version.h Patch 6.4b.002 问题: In Insert mode, pasting a multi-byte character after the end of the line leaves the cursor just before that character. 解决方案: Make sure "gP" leaves the cursor in the right place when 'virtualedit' is set. 相关文件: src/ops.c Patch 6.4b.003 (after 6.4b.002) 问题: The problem still exists when 'encoding' is set to "cp936". 解决方案: Fix the problem in getvvcol(), compute the coladd field correctly. 相关文件: src/charset.c, src/ops.c Patch 6.4b.004 问题: Selecting a{}
block with "viB" includes the '}' when there is an empty line before it. 解决方案: Don't advance the cursor to include a line break when it's already at the line break. 相关文件: src/search.c vim:tw=78:ts=8:ft=help:norl:
Generated by vim2html on Mon Aug 26 07:43:46 UTC 2013


We have scraped a large database of court case summaries from
here. For each district, a sample of cases, ranging from ~1000 in number for some districts, to more than 500,000 for other districts is created. Each of these samples, is analysed across several different metrics to identify anomalies. Additionally, we have created an aggregate performance metric, using KL divergence.