Patches for Vim - Vi IMproved 7.4 The files in this directory contain source code changes to fix problems in a released version of Vim. Each file also contains an explanation of the problem that is fixed, like the message that was sent to the vim-dev maillist. The best is to apply the patches in sequence. This avoids problems when a patch depends on a previous patch. Before patching, change to the top Vim directory, where the "src" and "runtime" directories are located. Depending on the version of "patch" that you use, you may have add an argument to make it patch the right file: patch -p < 7.4.001 patch -p0 < 7.4.001 After applying a patch, you need to compile Vim. There are no patches for binaries. Checksums for the patch files can be found in the file MD5. Individual patches for Vim 7.4: SIZE NAME FIXES 13179 7.4.001 'ic' doesn't work for patterns such as [a-z] 2522 7.4.002 pattern with two alternative look-behind matches doesn't match 2680 7.4.003 memory access error in Ruby syntax highlighting 7145 7.4.004 when closing a window fails ":bwipe" may hang 1391 7.4.005 "vaB" while 'virtualedit' is set selects the wrong area 1952 7.4.006 mkdir("foo/bar/", "p") gives an error message 2538 7.4.007 creating a preview window on startup messes up the screen 2176 7.4.008 new regexp engine can't be interrupted 2051 7.4.009 too easy to write a file was not decrypted (yet) 2307 7.4.010 (after 7.4.006) crash with invalid argument to mkdir() 2270 7.4.011 cannot find out if "acl" and "xpm" features are supported 6180 7.4.012 MS-Windows: resolving multi-bye shortcut does not work 2986 7.4.013 MS-Windows: File name buffer too small for utf-8 2671 7.4.014 MS-Windows: check for writing to device does not work 3135 7.4.015 MS-Windows: Detecting node type fails for multi-byte chars 5999 7.4.016 MS-Windows: File name completion has problem with Chinese 2319 7.4.017 ":help !!" does not find the "!!" tag in the help file 1400 7.4.018 when completing item becomes unselected 1948 7.4.019 file name completion fails with Chinese characters 2586 7.4.020 NFA engine matches too much with \@> 2806 7.4.021 NFA regexp: Using \ze may result in wrong end 4209 7.4.022 deadlock while exiting, because of allocating memory 1704 7.4.023 MS-Windows: warning for 64 bit type 1992 7.4.024 current user cannot always use the undo file he created 2074 7.4.025 reading before start of a string 1710 7.4.026 clang warning for int shift overflow 2815 7.4.027 valgrind error when using CTRL-X CTRL-F at start of the line 27323 7.4.028 equivalence classes are not working for multi-byte characters 1837 7.4.029 an error in a pattern is reported twice 2724 7.4.030 the -mno-cygwin argument is no longer supported by Cygwin 1748 7.4.031 ":diffoff!" resets options even when 'diff' is not set 2629 7.4.032 NFA engine does not match the NUL character 3610 7.4.033 if terminal has 20 lines test 92 and 93 overwrite input file 5336 7.4.034 using "p" in Visual block mode only changes the first line 1696 7.4.035 MS-Windows: mouse pointer flickers when going to Normal mode 7996 7.4.036 NFA engine does not capture group correctly when using \@> 4274 7.4.037 "\ze" in a sub-pattern does set the end of the match 3579 7.4.038 Using "zw" and "zg" when 'spell' is off give confusing error 6108 7.4.039 MS-Windows: < MSCV10 can't handle symlinks to a directory 2320 7.4.040 error on exit when variable holds reference to a script scope 1695 7.4.041 Visual selection does not remain after being copied over 2104 7.4.042 after ":setlocal" 'spell'/'spellang' :spelldump doesn't work 2920 7.4.043 VMS can't handle long function names 2134 7.4.044 can't build with old MSVC 3167 7.4.045 substitute() has a problem with pattern starting with "\ze". 2147 7.4.046 can't use Tcl 8.6 1685 7.4.047 input() does not work in a function invoked by a mapping 4441 7.4.048 recent clang version complains about -fno-strength-reduce 2145 7.4.049 in Ex mode substitute prompt is wrong with line numbers 2605 7.4.050 "gn" may select too much when there are two matching lines 2068 7.4.051 syntax highlighting a Yaml file causes a crash 5890 7.4.052 cursor may end up in the wrong position when auto-formatting 1251 7.4.053 test75 has a wrong header 1441 7.4.054 reading past end of the 'stl' string 4758 7.4.055 Mac: Where macros are defined depends on the system 1651 7.4.056 Mac: Compilation problem with OS X 10.9 Mavericks 7773 7.4.057 byteidx() does not work for composing characters 2094 7.4.058 warnings on 64 bit Windows 1479 7.4.059 set_last_cursor() may encounter w_buffer being NULL 3582 7.4.060 declaration has wrong return type for PyObject_SetAttrString() 4688 7.4.061 (after 7.4.056) configure check in the wrong place 2634 7.4.062 (after 7.4.061) wrong configure check for AvailabilityMacros.h 3619 7.4.063 crash when using invalid key in Python dictionary 5347 7.4.064 in Visual block mode replacing with CR does not break lines 2117 7.4.065 the character typed at the hit-enter prompt is recorded twice 9483 7.4.066 MS-Windows: swap file name wrong if colon in file name 4139 7.4.067 CTRL-\ CTRL-O moves the cursor after inserting comment leader 5093 7.4.068 cannot build Vim on Mac with non-Apple compilers 73551 7.4.069 cannot right shift comment lines starting with # 1387 7.4.070 (after 7.4.069) can't compile with tiny features 38365 7.4.071 (after 7.4.069) passing limits around too often 1748 7.4.072 crash when using Insert mode completion 11426 7.4.073 setting undolevels for one buffer changes undo in another 2054 7.4.074 when undo'ing all and making a change, undo structure is wrong 9907 7.4.075 locally setting 'undolevels' is not tested 1894 7.4.076 "cgn" does not wrap around the end of the file 2216 7.4.077 DOS installer creates shortcut without a path 3552 7.4.078 MSVC 2013 is not supported 13657 7.4.079 a script cannot detect whether 'hlsearch' highlighting is on 1873 7.4.080 (after 7.4.079) missing documentation for v:hlsearch 1659 7.4.081 (after 7.4.078) wrong logic when ANALYZE is "yes" 11034 7.4.082 using "gf" in a changed buffer suggests adding "!" 4493 7.4.083 hard to avoid adding a used pattern to the search history 5971 7.4.084 Python: interrupt not being properly discarded 3581 7.4.085 can't move cursor when inserting text in Visual block mode 4786 7.4.086 can't skip over expression when not evaluating for dict member 1770 7.4.087 compiler warning on 64 bit Windows systems 16587 7.4.088 Asian characters are always marked as spell errors 1397 7.4.089 Vim doesn't set the security context on a renamed file 7859 7.4.090 Win32: no completion if dir name contains an exclamation mark 1926 7.4.091 (after 7.4.089) missing semicolon 1697 7.4.092 (after 7.4.088) can't build small version 2993 7.4.093 configure can't use LuaJIT on ubuntu 12.04 4837 7.4.094 configure may not find that -lint is needed for gettext() 3138 7.4.095 (after 7.4.093) regexp for LuaJIT version doesn't work on BSD 2294 7.4.096 can't change directory to an UNC path 1615 7.4.097 unexpected behavior change related to 'virtualedit' 8357 7.4.098 error for line numbers out of range when using ":'<,'>del" 3122 7.4.099 append in blockwise Visual mode with "$" is wrong 3069 7.4.100 NFA regexp doesn't handle backreference correctly 2899 7.4.101 using \1 in pattern goes one line too far 2128 7.4.102 crash when interrupting "z=" 3846 7.4.103 dos installer escapes spaces in the diff command wrong 2823 7.4.104 ":help s/\_" reports an internal error 1792 7.4.105 completing a tag pattern may give an error for invalid pattern 1971 7.4.106 can't build with Ruby using Cygwin 21498 7.4.107 Python try/catch doesn't catch Vim error in vim.eval() 5478 7.4.108 "zG" and "zW" leave temp files around on MS-Windows 3775 7.4.109 ColorScheme autocommand matches with the current buffer name 3703 7.4.110 "gUgn" cannot be repeeated 1709 7.4.111 memory leak in Python OptionsAssItem 1862 7.4.112 MS-Windows: defaults for 'dir' and 'bdir' do not include $TEMP 2561 7.4.113 MSVC static analysis gives warnings 3353 7.4.114 new GNU make directory change messages are different 1633 7.4.115 Zsh: expanding ~abc fails when the result contains a space 1381 7.4.116 'showcmd' does not show a typed space 8049 7.4.117 can't build with Cygwin/MingW and Perl 5.18 2394 7.4.118 redrawing status lines may causes recursive call 7060 7.4.119 Vim doesn't work well on OpenVMS 1702 7.4.120 (after 7.4.117) can't build with Perl 5.18 on Linux 1426 7.4.121 completion doesn't work for ":py3d" and ":py3f" 6071 7.4.122 Win32: :grep doesn't work when 'encoding' and ACP differ 1883 7.4.123 Win32: Getting user name does not use wide function 1730 7.4.124 Win32: Getting host name does not use wide function 1568 7.4.125 Win32: Dealing with messages may not work for multi-byte chars 1946 7.4.126 compiler warnings for "const" and incompatible types 1949 7.4.127 Perl 5.18 on Unix doesn't work 1948 7.4.128 Perl 5.18 for MSVC doesn't work 1499 7.4.129 getline(-1) returns zero 2064 7.4.130 relative line numbers mix up windows when using folds 3038 7.4.131 syncbind causes E315 errors in some situations 1559 7.4.132 (after 7.4.122) Win32: flags/inherit_handles args mixed up 2043 7.4.133 Clang warns for using NUL 1562 7.4.134 spurious space in MingW Makefile 1696 7.4.135 missing dot in MingW test Makefile 2314 7.4.136 (after 7.4.096) Windows: readonly when saving UNC path file 6184 7.4.137 cannot use IME with Windows 8 console 3391 7.4.138 (after 7.4.114) directory change messages are not recognized 2254 7.4.139 crash when using :cd in autocommand 5016 7.4.140 crash when autocommand wipes out only other buffer 2430 7.4.141 problems when building with Borland 4651 7.4.142 (after 7.4.137) on MS-Windows 8 IME input doen't work well 6310 7.4.143 TextChangedI is not triggered. 1480 7.4.144 MingW also supports intptr_t for OPEN_OH_ARGTYPE 2513 7.4.145 getregtype() does not return zero for unknown register 2324 7.4.146 when starting Vim with "-u NONE" v:oldfiles is NULL 2583 7.4.147 cursor position wrong when using "gj" after "$" 2554 7.4.148 cannot build with Cygwin and X1. 24083 7.4.149 get E685 error when assigning a function to autoload variable 2596 7.4.150 :keeppatterns is not respected for :s 37572 7.4.151 Python: slices with steps are not supported 19610 7.4.152 Python: Cannot iterate over options 6150 7.4.153 compiler warning for pointer type 5202 7.4.154 (after 7.4.149) still a problem with auto-loading 2233 7.4.155 (after 7.4.150) search offset not kept with :keeppatterns 1466 7.4.156 test file missing from distribution 1643 7.4.157 error number used twice 4006 7.4.158 pattern containing \zs not handled correctly by substitute() 3819 7.4.159 completion hangs when using the current buffer after keywords 2026 7.4.160 Win32: Crash when executing external command 2296 7.4.161 crash in Python exception handling 1395 7.4.162 running tests in shadow dir doesn't work 2083 7.4.163 (after 7.4.142) MS-Windows 7 input doesn't work properly 2050 7.4.164 problem with event handling on Windows 8 2313 7.4.165 by default, after closing a buffer changes can't be undone 1685 7.4.166 auto-loading a function for code that won't be executed 7150 7.4.167 (after 7.4.149) fixes are not tested 2549 7.4.168 can't compile with Ruby 2.1.0 1656 7.4.169 ":sleep" puts cursor in the wrong column 3474 7.4.170 some help tags don't work with ":help" 21030 7.4.171 redo does not set v:count and v:count1 9545 7.4.172 blowfish code says OFB, but it's doing CFB 2110 7.4.173 when using scrollbind the cursor can end up below last line 2945 7.4.174 compiler warnings for Python interface 5133 7.4.175 wrong fall-back to non-wide function if wide function fails 2606 7.4.176 Python: Dictionary.update() thows an unexpected error 1491 7.4.177 compiler warning for unused variable 1957 7.4.178 the J command does not update '[ and '] marks 1675 7.4.179 Compiler warning for type-punned pointer 2650 7.4.180 (after 7.4.174) older Python versions don't support %ld 1947 7.4.181 when using 'pastetoggle' the status lines are not updated 1916 7.4.182 building with mzscheme and racket does not work 1493 7.4.183 MSVC Visual Studio update not supported 5677 7.4.184 match() does not work properly with a {count} argument 1837 7.4.185 Clang gives warnings 5437 7.4.186 (after 7.4.085) Visual mode insert mode is sometimes wrong 3991 7.4.187 delete that crosses line break splits multi-byte character 19236 7.4.188 SIZEOF_LONG clashes with similar defines in header files 1429 7.4.189 compiler warning for unused argument 2139 7.4.190 compiler warning for using %lld for off_t 27520 7.4.191 can't escape a file name for shell commands without a function 1329 7.4.192 memory leak when giving E853 3561 7.4.193 typos in messages 1829 7.4.194 can't build for Android 7729 7.4.195 (after 7.4.193) Python tests fail 1651 7.4.196 tests fail on Solaris 9 and 10 34900 7.4.197 various problems on VMS 3101 7.4.198 can't build with non-threding Perl and dynamic loading 2946 7.4.199 (issue 197) ]P doesn't paste over Visual selection 1817 7.4.200 too many #ifdefs in the code 7626 7.4.201 'lispwords' is a global option 7151 7.4.202 MS-Windows: non-ASCII font names don't work 7124 7.4.203 parsing 'errorformat' is not correct 3446 7.4.204 a mapping where the second byte is 0x80 doesn't work 2953 7.4.205 ":mksession" does not handle the argument list correctly 2217 7.4.206 compiler warnings on 64 bit Windows 4843 7.4.207 cursor report sometimes not recognized causing replace mode 1112 7.4.208 Mercurial picks up files that are not distributed (empty) 1924 7.4.209 when repeating a filter command "%" and "#" are expanded 3997 7.4.210 Visual block mode + virtual edit doesn't work well with tabs 2404 7.4.211 ":lu" is abbreviation for ":lua", but it should be ":lunmap" 137444 7.4.212 #ifdefs for the +visual feature are not useful 6508 7.4.213 it's not possible to open a new buffer without a swapfile 1523 7.4.214 compilation problems on HP_nonStop (Tandem) 3488 7.4.215 ":sp foo" reloads "foo" if it is the current buffer 1922 7.4.216 compiler warnings 3225 7.4.217 "make clean" may run configure pointlessly 19321 7.4.218 it's not easy to remove duplicates from a list 2890 7.4.219 redraw too often when 'relativenumber' or 'cursorline' set 4640 7.4.220 test 105 does not work in a shadow dir 1755 7.4.221 quickfix doesn't resize on ":copen 20" 3882 7.4.222 the Ruby directory is constructed from parts 220004 7.4.223 still using an older autoconf version 7317 7.4.224 /usr/bin/grep on Solaris does not support -F 2702 7.4.225 dynamic Ruby doesn't work on Solaris 3535 7.4.226 (after 7.4.219) cursorline highlight not always redrawn 2832 7.4.227 (after 7.4.225) can't build with Ruby 1.8 6200 7.4.228 compiler warnings when building with Python 3.2 3782 7.4.229 ":let" fails when listing vars with a curly braces expression 1673 7.4.230 error when using ":options" 9286 7.4.231 an error in ":options" is not caught by the tests 3599 7.4.232 ":%s/\n//" uses a lot of memory 2222 7.4.233 escaping special chars in ":!cmd %" is inconsistant 3017 7.4.234 can't get the command that was used to start Vim 16436 7.4.235 it is not easy to get the full path of a command 5191 7.4.236 it's not that easy to check the Vim patch version 4893 7.4.237 (after 7.4.236) has() not checking for specific patch 14829 7.4.238 Vim does not support the smack library 1714 7.4.239 ":e +" does not position cursor at end of the file 1676 7.4.240 ":tjump" shows "\n" as "\\n" 12078 7.4.241 submatch() does not distinguish between a NL and a NUL 15570 7.4.242 getreg() does not distinguish between a NL and a NUL character 32738 7.4.243 cannot use setreg() to add text that includes a NUL 1807 7.4.244 (after 7.4.238) the smack feature causes stray error messages 1874 7.4.245 crash for "vim -u NONE -N -c '&&'" 3736 7.4.246 configure message for detecting smack are out of sequence 5838 7.4.247 NUL and NL mixed up when giving input to system() 13519 7.4.248 cannot distinguish between NL and NUL in output of system() 6037 7.4.249 using setreg() with a list of numbers does not work 1641 7.4.250 some test files missing from distribution 4570 7.4.251 crash when BufAdd autocommand wipes out the buffer 1446 7.4.252 critical error in GTK, removing timer twice 2643 7.4.253 crash when using external reference in syntax regexp 5407 7.4.254 smack support detection is incomplete 3397 7.4.255 configure check for smack doesn't work with all shells 2252 7.4.256 (after 7.4.248) systemlist() does not work properly 1948 7.4.257 compiler warning, possibly for mismatch in parameter name 5726 7.4.258 configure fails if $CC contains options 1554 7.4.259 warning for misplaced "const" 8693 7.4.260 no error for function name with colon or lowercase char 2863 7.4.261 an interactive :s to replace a "\n" with line break may fail 9779 7.4.262 duplicate code in regexec() 1306 7.4.263 GCC 4.8 compiler warning for hiding a declaration 5143 7.4.264 (after 7.4.260) can't define function g:Foo() 4813 7.4.265 (after 7.4.260) can't call function with "g:" in an expression 1347 7.4.266 test 62 fails 13880 7.4.267 (after 7.4.178) '[ mark is in the wrong position after "gq" 3312 7.4.268 exists() on a funcref for script-local function does not work 6283 7.4.269 CTRL-U in Insert mode does not work after using a cursor key 1947 7.4.270 comparing pointers instead of the string they point to 1457 7.4.271 compiler warning on 64 bit windows 4216 7.4.272 using just "$" does not cause an error message 2136 7.4.273 "make autoconf/reconfig" may run configure pointlessly 1522 7.4.274 check for timestamp does not always detect a changed file 1747 7.4.275 no error message when changing type of unplaced sign 8604 7.4.276 the fish shell is not supported 2243 7.4.277 using ":sign unplace *" may leave the cursor in wrong position 5402 7.4.278 list_remove() conflicts with Sun header file 18280 7.4.279 globpath() returns a string, a list would be better 3504 7.4.280 relative position of cursor not restored if session has 2 tabs 2486 7.4.281 positions are off when loading session with two tabpages 1429 7.4.282 (after 7.4.279) test 97 fails on Mac 1771 7.4.283 (after 7.4.276) compiler warning about unused variable 1727 7.4.284 setting 'langmap' in the modeline can cause trouble 1549 7.4.285 line numbers are not always updated for 'relativenumber' 1610 7.4.286 error messages are inconsistant 1394 7.4.287 patches for .hgignore don't work 1397 7.4.288 when 'spellfile' is set the screen is not redrawn 3604 7.4.289 NFA regexp with repeated backreference does not match 6261 7.4.290 a non-greedy match followed by a branch is too greedy 1650 7.4.291 compiler warning for int to pointer of different size 4141 7.4.292 pattern "a" matches accented "a" when pattern is one byte 9143 7.4.293 can't ignore composing characters in a pattern 4480 7.4.294 (after 7.4.293) test files missing from patch 5287 7.4.295 various typos, bad white space and unclear comments 1927 7.4.296 can't run tests on Solaris 2593 7.4.297 memory leak from result of get_isolated_shell_name() 1789 7.4.298 can't have a funcref start with "t:" 19202 7.4.299 when running configure twice DYNAMIC_PYTHON_DLL becomes empty 2262 7.4.300 the way config.cache is removed doesn't always work 1651 7.4.301 (after 7.4.280) scrolling problem when loading a session file 2241 7.4.302 signs don't show up after filler lines 2182 7.4.303 double-width chars on the command line sometimes truncated 1559 7.4.304 cannot always use Python with Vim 7820 7.4.305 making 'ttymouse' empty causes problems 2660 7.4.306 getchar(0) does not return Esc 4150 7.4.307 can't build without the +termresponse feature