diff options
-rw-r--r-- | runtime/doc/Makefile | 8 | ||||
-rw-r--r-- | runtime/doc/help.txt | 4 | ||||
-rw-r--r-- | runtime/doc/version4.txt | 355 | ||||
-rw-r--r-- | runtime/doc/version5.txt | 7813 | ||||
-rw-r--r-- | runtime/doc/version6.txt | 14530 | ||||
-rw-r--r-- | runtime/doc/version7.txt | 18311 |
6 files changed, 0 insertions, 41021 deletions
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile index d36490a75f..8bd5aaf049 100644 --- a/runtime/doc/Makefile +++ b/runtime/doc/Makefile @@ -136,10 +136,6 @@ DOCS = \ usr_90.txt \ usr_toc.txt \ various.txt \ - version4.txt \ - version5.txt \ - version6.txt \ - version7.txt \ vi_diff.txt \ visual.txt \ windows.txt \ @@ -268,10 +264,6 @@ HTMLS = \ usr_90.html \ usr_toc.html \ various.html \ - version4.html \ - version5.html \ - version6.html \ - version7.html \ vi_diff.html \ vimindex.html \ visual.html \ diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index f13a5294ec..a9af50dd09 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -173,10 +173,6 @@ Interfaces ~ Versions ~ |vi_diff.txt| Main differences between Vim and Vi -|version4.txt| Differences between Vim version 3.0 and 4.x -|version5.txt| Differences between Vim version 4.6 and 5.x -|version6.txt| Differences between Vim version 5.7 and 6.x -|version7.txt| Differences between Vim version 6.4 and 7.x *sys-file-list* Remarks about specific systems ~ |os_390.txt| OS/390 Unix diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt deleted file mode 100644 index 6b791be88b..0000000000 --- a/runtime/doc/version4.txt +++ /dev/null @@ -1,355 +0,0 @@ -*version4.txt* For Vim version 7.4. Last change: 2006 Apr 24 - - - VIM REFERENCE MANUAL by Bram Moolenaar - - -This document lists the incompatible differences between Vim 3.0 and Vim 4.0. -Although 4.0 is mentioned here, this is also for version 4.1, 4.2, etc.. - -This file is important for everybody upgrading from Vim 3.0. Read it -carefully to avoid unexpected problems. - -'backup' option default changed |backup-changed| -Extension for backup file changed |backup-extension| -Structure of swap file changed |swapfile-changed| -"-w scriptout" argument changed |scriptout-changed| -Backspace and Delete keys |backspace-delete| -Escape for | changed |escape-bar| -Key codes changed |key-codes-changed| -Terminal options changed |termcap-changed| -'errorformat' option changed |errorformat-changed| -'graphic' option gone |graphic-option-gone| -'yankendofline' option gone |ye-option-gone| -'icon' and 'title' default value changed |icon-changed| -'highlight' option changed |highlight-changed| -'tildeop' and 'weirdinvert' short names changed |short-name-changed| -Use of "v", "V" and "CTRL-V" in Visual mode |use-visual-cmds| -CTRL-B in Insert mode removed |toggle-revins| - - -'backup' option default changed *backup-changed* -------------------------------- - -The default value for 'backup' used to be on. This resulted in a backup file -being made when the original file was overwritten. - -Now the default for 'backup' is off. As soon as the writing of the file has -successfully finished, the backup file is deleted. If you want to keep the -backup file, set 'backup' on in your vimrc. The reason for this change is -that many people complained that leaving a backup file behind is not -Vi-compatible. |'backup'| - - -Extension for backup file changed *backup-extension* ---------------------------------- - -The extension for the backup file used to be ".bak". Since other programs -also use this extension and some users make copies with this extension, it was -changed to the less obvious "~". Another advantage is that this takes less -space, which is useful when working on a system with short file names. For -example, on MS-DOS the backup files for "longfile.c" and "longfile.h" would -both become "longfile.bak"; now they will be "longfile.c~" and "longfile.h~". - -If you prefer to use ".bak", you can set the 'backupext' option: > - :set bex=.bak - - -Structure of swap file changed *swapfile-changed* ------------------------------- - -The contents of the swap file were extended with several parameters. Vim -stores the user name and other information about the edited file to make -recovery more easy and to be able to know where the swap file comes from. The -first part of the swap file can now be understood on a machine with a -different byte order or sizeof(int). When you try to recover a file on such a -machine, you will get an error message that this is not possible. - -Because of this change, swap files cannot be exchanged between 3.0 and 4.0. -If you have a swap file from a crashed session with 3.0, use Vim 3.0 to -recover the file---don't use 4.0. |swap-file| - - -"-w scriptout" argument changed *scriptout-changed* -------------------------------- - -"vim -w scriptout" used to append to the scriptout file. Since this was -illogical, it now creates a new file. An existing file is not overwritten -(to avoid destroying an existing file for those who rely on the appending). -[This was removed again later] |-w| - - -Backspace and Delete keys *backspace-delete* -------------------------- - -In 3.0 both the delete key and the backspace key worked as a backspace in -insert mode; they deleted the character to the left of the cursor. In 4.0 the -delete key has a new function: it deletes the character under the cursor, just -like it does on the command-line. If the cursor is after the end of the line -and 'bs' is set, two lines are joined. |<Del>| |i_<Del>| - -In 3.0 the backspace key was always defined as CTRL-H and delete as CTRL-?. -In 4.0 the code for the backspace and delete key is obtained from termcap or -termlib, and adjusted for the "stty erase" value on Unix. This helps people -who define the erase character according to the keyboard they are working on. - |<BS>| |i_<BS>| - -If you prefer backspace and delete in Insert mode to have the old behavior, -put this line in your vimrc: - - inoremap ^? ^H - -And you may also want to add these, to fix the values for <BS> and <Del>: - - set t_kb=^H - set t_kD=^? - -(Enter ^H with CTRL-V CTRL-H and ^? with CTRL-V CTRL-? or <Del>.) - -If the value for t_kb is correct, but the t_kD value is not, use the ":fixdel" -command. It will set t_kD according to the value of t_kb. This is useful if -you are using several different terminals. |:fixdel| - -When ^H is not recognized as <BS> or <Del>, it is used like a backspace. - - -Escape for | changed *escape-bar* --------------------- - -When the 'b' flag is present in 'cpoptions', the backslash cannot be used to -escape '|' in mapping and abbreviate commands, only CTRL-V can. This is -Vi-compatible. If you work in Vi-compatible mode and had used "\|" to include -a bar in a mapping, this needs to be replaced by "^V|". See |:bar|. - - -Key codes changed *key-codes-changed* ------------------ - -The internal representation of key codes has changed dramatically. In 3.0 a -one-byte code was used to represent a key. This caused problems with -different characters sets that also used these codes. In 4.0 a three-byte -code is used that cannot be confused with a character. |key-notation| - -If you have used the single-byte key codes in your vimrc for mappings, you -will have to replace them with the 4.0 codes. Instead of using the three-byte -code directly, you should use the symbolic representation for this in <>. See -the table below. The table also lists the old name, as it was used in the 3.0 -documentation. - -The key names in <> can be used in mappings directly. This makes it possible -to copy/paste examples or type them literally. The <> notation has been -introduced for this |<>|. The 'B' and '<' flags must not be present in -'cpoptions' to enable this to work |'cpoptions'|. - -old name new name old code old MS-DOS code ~ - hex dec hex dec ~ -<ESC> <Esc> -<TAB> <Tab> -<LF> <NL> <NewLine> <LineFeed> -<SPACE> <Space> -<NUL> <Nul> -<BELL> <Bell> -<BS> <BS> <BackSpace> -<INSERT> <Insert> -<DEL> <Del> <Delete> -<HOME> <Home> -<END> <End> -<PAGE_UP> <PageUp> -<PAGE_DOWN> <PageDown> - -<C_UP> <Up> 0x80 128 0xb0 176 -<C_DOWN> <Down> 0x81 129 0xb1 177 -<C_LEFT> <Left> 0x82 130 0xb2 178 -<C_RIGHT> <Right> 0x83 131 0xb3 179 -<SC_UP> <S-Up> 0x84 132 0xb4 180 -<SC_DOWN> <S-Down> 0x85 133 0xb5 181 -<SC_LEFT> <S-Left> 0x86 134 0xb6 182 -<SC_RIGHT> <S-Right> 0x87 135 0xb7 183 - -<F1> <F1> 0x88 136 0xb8 184 -<F2> <F2> 0x89 137 0xb9 185 -<F3> <F3> 0x8a 138 0xba 186 -<F4> <F4> 0x8b 139 0xbb 187 -<F5> <F5> 0x8c 140 0xbc 188 -<F6> <F6> 0x8d 141 0xbd 189 -<F7> <F7> 0x8e 142 0xbe 190 -<F8> <F8> 0x8f 143 0xbf 191 -<F9> <F9> 0x90 144 0xc0 192 -<F10> <F10> 0x91 145 0xc1 193 - -<SF1> <S-F1> 0x92 146 0xc2 194 -<SF2> <S-F2> 0x93 147 0xc3 195 -<SF3> <S-F3> 0x94 148 0xc4 196 -<SF4> <S-F4> 0x95 149 0xc5 197 -<SF5> <S-F5> 0x96 150 0xc6 198 -<SF6> <S-F6> 0x97 151 0xc7 199 -<SF7> <S-F7> 0x98 152 0xc8 200 -<SF8> <S-F8> 0x99 153 0xc9 201 -<SF9> <S-F9> 0x9a 154 0xca 202 -<SF10> <S-F10> 0x9b 155 0xcb 203 - -<HELP> <Help> 0x9c 156 0xcc 204 -<UNDO> <Undo> 0x9d 157 0xcd 205 - - (not used) 0x9e 158 0xce 206 - (not used) 0x9f 159 0xcf 207 - - -Terminal options changed *termcap-changed* ------------------------- - -The names of the terminal options have been changed to match the termcap names -of these options. All terminal options now have the name t_xx, where xx is -the termcap name. Normally these options are not used, unless you have a -termcap entry that is wrong or incomplete, or you have set the highlight -options to a different value. |terminal-options| - -Note that for some keys there is no termcap name. Use the <> type of name -instead, which is a good idea anyway. - -Note that "t_ti" has become "t_mr" (invert/reverse output) and "t_ts" has -become "t_ti" (init terminal mode). Be careful when you use "t_ti"! - -old name new name meaning ~ -t_cdl t_DL delete number of lines *t_cdl* -t_ci t_vi cursor invisible *t_ci* -t_cil t_AL insert number of lines *t_cil* -t_cm t_cm move cursor -t_cri t_RI cursor number of chars right *t_cri* -t_cv t_ve cursor visible *t_cv* -t_cvv t_vs cursor very visible *t_cvv* -t_dl t_dl delete line -t_cs t_cs scroll region -t_ed t_cl clear display *t_ed* -t_el t_ce clear line *t_el* -t_il t_al insert line *t_il* - t_da display may be retained above the screen - t_db display may be retained below the screen -t_ke t_ke put terminal out of keypad transmit mode -t_ks t_ks put terminal in keypad transmit mode -t_ms t_ms save to move cursor in highlight mode -t_se t_se normal mode (undo t_so) -t_so t_so shift out (standout) mode -t_ti t_mr reverse highlight -t_tb t_md bold mode *t_tb* -t_tp t_me highlight end *t_tp* -t_sr t_sr scroll reverse -t_te t_te out of termcap mode -t_ts t_ti into termcap mode *t_ts_old* -t_vb t_vb visual bell -t_csc t_CS cursor is relative to scroll region *t_csc* - -t_ku t_ku <Up> arrow up -t_kd t_kd <Down> arrow down -t_kr t_kr <Right> arrow right -t_kl t_kl <Left> arrow left -t_sku <S-Up> shifted arrow up *t_sku* -t_skd <S-Down> shifted arrow down *t_skd* -t_skr t_%i <S-Right> shifted arrow right *t_skr* -t_skl t_#4 <S-Left> shifted arrow left *t_skl* -t_f1 t_k1 <F1> function key 1 *t_f1* -t_f2 t_k2 <F2> function key 2 *t_f2* -t_f3 t_k3 <F3> function key 3 *t_f3* -t_f4 t_k4 <F4> function key 4 *t_f4* -t_f5 t_k5 <F5> function key 5 *t_f5* -t_f6 t_k6 <F6> function key 6 *t_f6* -t_f7 t_k7 <F7> function key 7 *t_f7* -t_f8 t_k8 <F8> function key 8 *t_f8* -t_f9 t_k9 <F9> function key 9 *t_f9* -t_f10 t_k; <F10> function key 10 *t_f10* -t_sf1 <S-F1> shifted function key 1 *t_sf1* -t_sf2 <S-F2> shifted function key 2 *t_sf2* -t_sf3 <S-F3> shifted function key 3 *t_sf3* -t_sf4 <S-F4> shifted function key 4 *t_sf4* -t_sf5 <S-F5> shifted function key 5 *t_sf5* -t_sf6 <S-F6> shifted function key 6 *t_sf6* -t_sf7 <S-F7> shifted function key 7 *t_sf7* -t_sf8 <S-F8> shifted function key 8 *t_sf8* -t_sf9 <S-F9> shifted function key 9 *t_sf9* -t_sf10 <S-F10> shifted function key 10 *t_sf10* -t_help t_%1 <Help> help key *t_help* -t_undo t_&8 <Undo> undo key *t_undo* - - -'errorformat' option changed *errorformat-changed* ----------------------------- - -'errorformat' can now contain several formats, separated by commas. The first -format that matches is used. The default values have been adjusted to catch -the most common formats. |errorformat| - -If you have a format that contains a comma, it needs to be preceded with a -backslash. Type two backslashes, because the ":set" command will eat one. - - -'graphic' option gone *graphic-option-gone* ---------------------- - -The 'graphic' option was used to make the characters between <~> and 0xa0 -display directly on the screen. Now the 'isprint' option takes care of this -with many more possibilities. The default setting is the same; you only need -to look into this if you previously set the 'graphic' option in your vimrc. - |'isprint'| - - -'yankendofline' option gone *ye-option-gone* ---------------------------- - -The 'yankendofline' option has been removed. Instead you can just use - :map Y y$ - - -'icon' and 'title' default value changed *icon-changed* ----------------------------------------- - -The 'title' option is now only set by default if the original title can be -restored. Avoids "Thanks for flying Vim" titles. If you want them anyway, -put ":set title" in your vimrc. |'title'| - -The default for 'icon' now depends on the possibility of restoring the -original value, just like 'title'. If you don't like your icon titles to be -changed, add this line to your vimrc: |'icon'| - :set noicon - - -'highlight' option changed *highlight-changed* --------------------------- - -The 'i' flag now means italic highlighting, instead of invert. The 'r' flag -is used for reverse highlighting, which is what 'i' used to be. Normally you -won't see the difference, because italic mode is not supported on most -terminals and reverse mode is used as a fallback. |'highlight'| - -When an occasion is not present in 'highlight', use the mode from the default -value for 'highlight', instead of reverse mode. - - -'tildeop' and 'weirdinvert' short names changed *short-name-changed* ------------------------------------------------ - -Renamed 'to' (abbreviation for 'tildeop') to 'top'. |'tildeop'| -Renamed 'wi' (abbreviation for 'weirdinvert') to 'wiv'. |'weirdinvert'| - -This was done because Vi uses 'wi' as the short name for 'window' and 'to' as -the short name for 'timeout'. This means that if you try setting these -options, you won't get an error message, but the effect will be different. - - -Use of "v", "V" and "CTRL-V" in Visual mode *use-visual-cmds* -------------------------------------------- - -In Visual mode, "v", "V", and "CTRL-V" used to end Visual mode. Now this -happens only if the Visual mode was in the corresponding type. Otherwise the -type of Visual mode is changed. Now only ESC can be used in all circumstances -to end Visual mode without doing anything. |v_V| - - -CTRL-B in Insert mode removed *toggle-revins* ------------------------------ - -CTRL-B in Insert mode used to toggle the 'revins' option. If you don't know -this and accidentally hit CTRL-B, it is very difficult to find out how to undo -it. Since hardly anybody uses this feature, it is disabled by default. If -you want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'| - - vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt deleted file mode 100644 index 1cc6a25597..0000000000 --- a/runtime/doc/version5.txt +++ /dev/null @@ -1,7813 +0,0 @@ -*version5.txt* For Vim version 7.4. Last change: 2012 Aug 08 - - - VIM REFERENCE MANUAL by Bram Moolenaar - -Welcome to Vim Version 5.0! - -This document lists the differences between Vim 4.x and Vim 5.0. -Although 5.0 is mentioned here, this is also for version 5.1, 5.2, etc. -See |vi_diff.txt| for an overview of differences between Vi and Vim 5.0. -See |version4.txt| for differences between Vim 3.0 and Vim 4.0. - -INCOMPATIBLE: |incompatible-5| - -Default value for 'compatible' changed |cp-default| -Text formatting command "Q" changed |Q-command-changed| -Command-line arguments changed |cmdline-changed| -Autocommands are kept |autocmds-kept| -Use of 'hidden' changed |hidden-changed| -Text object commands changed |text-objects-changed| -X-Windows Resources removed |x-resources| -Use of $VIM |$VIM-use| -Use of $HOME for MS-DOS and Win32 |$HOME-use| -Tags file format changed |tags-file-changed| -Options changed |options-changed| -CTRL-B in Insert mode gone |i_CTRL-B-gone| - -NEW FEATURES: |new-5| - -Syntax highlighting |new-highlighting| -Built-in script language |new-script| -Perl and Python support |new-perl-python| -Win32 GUI version |added-win32-GUI| -VMS version |added-VMS| -BeOS version |added-BeOS| -Macintosh GUI version |added-Mac| -More Vi compatible |more-compatible| -Read input from stdin |read-stdin| -Regular expression patterns |added-regexp| -Overloaded tags |tag-overloaded| -New commands |new-commands| -New options |added-options| -New command-line arguments |added-cmdline-args| -Various additions |added-various| - -IMPROVEMENTS |improvements-5| - -COMPILE TIME CHANGES |compile-changes-5| - -BUG FIXES |bug-fixes-5| - -VERSION 5.1 |version-5.1| -Changed |changed-5.1| -Added |added-5.1| -Fixed |fixed-5.1| - -VERSION 5.2 |version-5.2| -Long lines editable |long-lines| -File browser added |file-browser-5.2| -Dialogs added |dialogs-added| -Popup menu added |popup-menu-added| -Select mode added |new-Select-mode| -Session files added |new-session-files| -User defined functions and commands |new-user-defined| -New interfaces |interfaces-5.2| -New ports |ports-5.2| -Multi-byte support |new-multi-byte| -New functions |new-functions-5.2| -New options |new-options-5.2| -New Ex commands |new-ex-commands-5.2| -Changed |changed-5.2| -Added |added-5.2| -Fixed |fixed-5.2| - -VERSION 5.3 |version-5.3| -Changed |changed-5.3| -Added |added-5.3| -Fixed |fixed-5.3| - -VERSION 5.4 |version-5.4| -Runtime directory introduced |new-runtime-dir| -Filetype introduced |new-filetype-5.4| -Vim script line continuation |new-line-continuation| -Improved session files |improved-sessions| -Autocommands improved |improved-autocmds-5.4| -Encryption |new-encryption| -GTK GUI port |new-GTK-GUI| -Menu changes |menu-changes-5.4| -Viminfo improved |improved-viminfo| -Various new commands |new-commands-5.4| -Various new options |new-options-5.4| -Vim scripts |new-script-5.4| -Avoid hit-enter prompt |avoid-hit-enter| -Improved quickfix |improved-quickfix| -Regular expressions |regexp-changes-5.4| -Changed |changed-5.4| -Added |added-5.4| -Fixed |fixed-5.4| - -VERSION 5.5 |version-5.5| -Changed |changed-5.5| -Added |added-5.5| -Fixed |fixed-5.5| - -VERSION 5.6 |version-5.6| -Changed |changed-5.6| -Added |added-5.6| -Fixed |fixed-5.6| - -VERSION 5.7 |version-5.7| -Changed |changed-5.7| -Added |added-5.7| -Fixed |fixed-5.7| - -VERSION 5.8 |version-5.8| -Changed |changed-5.8| -Added |added-5.8| -Fixed |fixed-5.8| - -============================================================================== - INCOMPATIBLE *incompatible-5* - -Default value for 'compatible' changed *cp-default* --------------------------------------- - -Vim version 5.0 tries to be more Vi compatible. This helps people who use Vim -as a drop-in replacement for Vi, but causes some things to be incompatible -with version 4.x. - -In version 4.x the default value for the 'compatible' option was off. Now the -default is on. The first thing you will notice is that the "u" command undoes -itself. Other side effects will be that mappings may work differently or not -work at all. - -Since a lot of people switching from Vim 4.x to 5.0 will find this annoying, -the 'compatible' option is switched off if Vim finds a vimrc file. This is a -bit of magic to make sure that 90% of the Vim users will not be bitten by -this change. - -What does this mean? -- If you prefer to run in 'compatible' mode and don't have a vimrc file, you - don't have to do anything. -- If you prefer to run in 'nocompatible' mode and do have a vimrc file, you - don't have to do anything. -- If you prefer to run in 'compatible' mode and do have a vimrc file, you - should put this line first in your vimrc file: > - :set compatible -- If you prefer to run in 'nocompatible' mode and don't have a vimrc file, - you can do one of the following: - - Create an empty vimrc file (e.g.: "~/.vimrc" for Unix). - - Put this command in your .exrc file or $EXINIT: > - :set nocompatible -< - Start Vim with the "-N" argument. - -If you are new to Vi and Vim, using 'nocompatible' is strongly recommended, -because Vi has a lot of unexpected side effects, which are avoided by this -setting. See 'compatible'. - -If you like some things from 'compatible' and some not, you can tune the -compatibility with 'cpoptions'. - -When you invoke Vim as "ex" or "gex", Vim always starts in compatible mode. - - -Text formatting command "Q" changed *Q-command-changed* ------------------------------------ - -The "Q" command formerly formatted lines to the width the 'textwidth' option -specifies. The command for this is now "gq" (see |gq| for more info). The -reason for this change is that "Q" is the standard Vi command to enter "Ex" -mode, and Vim now does in fact have an "Ex" mode (see |Q| for more info). - -If you still want to use "Q" for formatting, use this mapping: > - :noremap Q gq -And if you also want to use the functionality of "Q": > - :noremap gQ Q - - -Command-line arguments changed *cmdline-changed* ------------------------------- - -Command-line file-arguments and option-arguments can now be mixed. You can -give options after the file names. Example: > - vim main.c -g - -This is not possible when editing a file that starts with a '-'. Use the "--" -argument then |---|: > - vim -g -- -main.c - -"-v" now means to start Ex in Vi mode, use "-R" for read-only mode. -old: "vim -v file" |-v| -new: "vim -R file" |-R| - -"-e" now means to start Vi in Ex mode, use "-q" for quickfix. -old: "vim -e errorfile" |-e| -new: "vim -q errorfile" |-q| - -"-s" in Ex mode now means to run in silent (batch) mode. |-s-ex| - -"-x" reserved for crypt, use "-f" to avoid starting a new CLI (Amiga). -old: "vim -x file" |-x| -new: "vim -f file" |-f| - -Vim allows up to ten "+cmd" and "-c cmd" arguments. Previously Vim executed -only the last one. - -"-n" now overrides any setting for 'updatecount' in a vimrc file, but not in -a gvimrc file. - - -Autocommands are kept *autocmds-kept* ---------------------- - -Before version 5.0, autocommands with the same event, file name pattern, and -command could appear only once. This was fine for simple autocommands (like -setting option values), but for more complicated autocommands, where the same -command might appear twice, this restriction caused problems. Therefore -Vim stores all autocommands and keeps them in the order that they are defined. - -The most obvious side effect of this change is that when you source a vimrc -file twice, the autocommands in it will be defined twice. To avoid this, do -one of these: - -- Remove any autocommands that might potentially defined twice before - defining them. Example: > - :au! * *.ext - :au BufEnter *.ext ... - -- Put the autocommands inside an ":if" command. Example: > - if !exists("did_ext_autocmds") - let did_ext_autocmds = 1 - autocmd BufEnter *.ext ... - endif - -- Put your autocommands in a different autocommand group so you can remove - them before defining them |:augroup|: > - augroup uncompress - au! - au BufReadPost *.gz ... - augroup END - - -Use of 'hidden' changed *hidden-changed* ------------------------ - -In version 4.x, only some commands used the 'hidden' option. Now all commands -uses it whenever a buffer disappears from a window. - -Previously you could do ":buf xxx" in a changed buffer and that buffer would -then become hidden. Now you must set the 'hidden' option for this to work. - -The new behavior is simpler: whether Vim hides buffers no longer depends on -the specific command that you use. -- with 'hidden' not set, you never get hidden buffers. Exceptions are the - ":hide" and ":close!" commands and, in rare cases, where you would otherwise - lose changes to the buffer. -- With 'hidden' set, you almost never unload a buffer. Exceptions are the - ":bunload" or ":bdel" commands. - -":buffer" now supports a "!": abandon changes in current buffer. So do -":bnext", ":brewind", etc. - - -Text object commands changed *text-objects-changed* ----------------------------- - -Text object commands have new names. This allows more text objects and makes -characters available for other Visual mode commands. Since no more single -characters were available, text objects names now require two characters. -The first one is always 'i' or 'a'. - OLD NEW ~ - a aw a word |v_aw| - A aW a WORD |v_aW| - s as a sentence |v_as| - p ap a paragraph |v_ap| - S ab a () block |v_ab| - P aB a {} block |v_aB| - -There is another set of text objects that starts with "i", for "inner". These -select the same objects, but exclude white space. - - -X-Windows Resources removed *x-resources* --------------------------- - -Vim no longer supports the following X resources: -- boldColor -- italicColor -- underlineColor -- cursorColor - -Vim now uses highlight groups to set colors. This avoids the confusion of -using a bold Font, which would imply a certain color. See |:highlight| and -|gui-resources|. - - -Use of $VIM *$VIM-use* ------------ - -Vim now uses the VIM environment variable to find all Vim system files. This -includes the global vimrc, gvimrc, and menu.vim files and all on-line help -and syntax files. See |$VIM|. Starting with version 5.4, |$VIMRUNTIME| can -also be used. -For Unix, Vim sets a default value for $VIM when doing "make install". -When $VIM is not set, its default value is the directory from 'helpfile', -excluding "/doc/help.txt". - - -Use of $HOME for MS-DOS and Win32 *$HOME-use* ---------------------------------- - -The MS-DOS and Win32 versions of Vim now first check $HOME when searching for -a vimrc or exrc file and for reading/storing the viminfo file. Previously Vim -used $VIM for these systems, but this causes trouble on a system with several -users. Now Vim uses $VIM only when $HOME is not set or the file is not found -in $HOME. See |_vimrc|. - - -Tags file format changed *tags-file-changed* ------------------------- - -Only tabs are allowed to separate fields in a tags file. This allows for -spaces in a file name and is still Vi compatible. In previous versions of -Vim, any white space was allowed to separate the fields. If you have a file -which doesn't use a single tab between fields, edit the tags file and execute -this command: > - :%s/\(\S*\)\s\+\(\S*\)\s\+\(.*\)/\1\t\2\t\3/ - - -Options changed *options-changed* ---------------- - -The default value of 'errorfile' has changed from "errors.vim" to "errors.err". -The reason is that only Vim scripts should have the ".vim" extensions. - -The ":make" command no longer uses the 'errorfile' option. This prevents the -output of the ":make" command from overwriting a manually saved error file. -":make" uses the 'makeef' option instead. This also allows for generating a -unique name, to prevent concurrently running ":make" commands from overwriting -each other's files. - -With 'insertmode' set, a few more things change: -- <Esc> in Normal mode goes to Insert mode. -- <Esc> in Insert mode doesn't leave Insert mode. -- When doing ":set im", go to Insert mode immediately. - -Vim considers a buffer to be changed when the 'fileformat' (formerly the -'textmode' option) is different from the buffer's initial format. - - -CTRL-B in Insert mode gone *i_CTRL-B-gone* --------------------------- - -When Vim was compiled with the |+rightleft| feature, you could use CTRL-B to -toggle the 'revins' option. Unfortunately, some people hit the 'B' key -accidentally when trying to type CTRL-V or CTRL-N and then didn't know how to -undo this. Since toggling the 'revins' option can easily be done with the -mapping below, this use of the CTRL-B key is disabled. You can still use the -CTRL-_ key for this |i_CTRL-_|. > - :imap <C-B> <C-O>:set revins!<CR> - -============================================================================== - NEW FEATURES *new-5* - -Syntax highlighting *new-highlighting* -------------------- - -Vim now has a very flexible way to highlighting just about any type of file. -See |syntax|. Summary: > - :syntax on - -Colors and attributes can be set for the syntax highlighting, and also for -other highlighted items with the ':' flag in the 'highlight' option. All -highlighted items are assigned a highlight group which specifies their -highlighting. See |:highlight|. The default colors have been improved. - -You can use the "Normal" group to set the default fore/background colors for a -color terminal. For the GUI, you can use this group to specify the font, too. - -The "2html.vim" script can be used to convert any file that has syntax -highlighting to HTML. The colors will be exactly the same as how you see them -in Vim. With a HTML viewer you can also print the file with colors. - - -Built-in script language *new-script* ------------------------- - -A few extra commands and an expression evaluator enable you to write simple -but powerful scripts. Commands include ":if" and ":while". Expressions can -manipulate numbers and strings. You can use the '=' register to insert -directly the result of an expression. See |expression|. - - -Perl and Python support *new-perl-python* ------------------------ - -Vim can call Perl commands with ":perldo", ":perl", etc. See |perl|. -Patches made by Sven Verdoolaege and Matt Gerassimoff. - -Vim can call Python commands with ":python" and ":pyfile". See |python|. - -Both of these are only available when enabled at compile time. - - -Win32 GUI version *added-win32-GUI* ------------------ - -The GUI has been ported to MS Windows 95 and NT. All the features of the X11 -GUI are available to Windows users now. |gui-w32| -This also fixes problems with running the Win32 console version under Windows -95, where console support has always been bad. -There is also a version that supports OLE automation interface. |if_ole.txt| -Vim can be integrated with Microsoft Developer Studio using the VisVim DLL. -It is possible to produce a DLL version of gvim with Borland C++ (Aaron). - - -VMS version *added-VMS* ------------ - -Vim can now also be used on VMS systems. Port done by Henk Elbers. -This has not been tested much, but it should work. -Sorry, no documentation! - - -BeOS version *added-BeOS* ------------- - -Vim can be used on BeOS systems (including the BeBox). (Olaf Seibert) -See |os_beos.txt|. - - -Macintosh GUI version *added-Mac* ---------------------- - -Vim can now be used on the Macintosh. (Dany St-Amant) -It has not been tested much yet, be careful! -See |os_mac.txt|. - - -More Vi compatible *more-compatible* ------------------- - -There is now a real Ex mode. Started with the "Q" command, or by calling the -executable "ex" or "gex". |Ex-mode| - -Always allow multi-level undo, also in Vi compatible mode. When the 'u' flag -in 'cpoptions' is included, CTRL-R is used for repeating the undo or redo -(like "." in Nvi). - - -Read input from stdin *read-stdin* ---------------------- - -When using the "-" command-line argument, Vim reads its text input from stdin. -This can be used for putting Vim at the end of a pipe: > - grep "^a.*" *.c | vim - -See |--|. - - -Regular expression patterns *added-regexp* ---------------------------- - -Added specifying a range for the number of matches of an atom: "\{a,b}". |/\{| -Added the "shortest match" regexp "\{-}" (Webb). -Added "\s", matches a white character. Can replace "[ \t]". |/\s| -Added "\S", matches a non-white character. Can replace "[^ \t]". |/\S| - - -Overloaded tags *tag-overloaded* ---------------- - -When using a language like C++, there can be several tags for the same -tagname. Commands have been added to be able to jump to any of these -overloaded tags: -|:tselect| List matching tags, and jump to one of them. -|:stselect| Idem, and split window. -|g_CTRL-]| Do ":tselect" with the word under the cursor. - - After ":ta {tagname}" with multiple matches: -|:tnext| Go to next matching tag. -|:tprevious| Go to previous matching tag. -|:trewind| Go to first matching tag. -|:tlast| Go to last matching tag. - -The ":tag" command now also accepts wildcards. When doing command-line -completion on tags, case-insensitive matching is also available (at the end). - - -New commands *new-commands* ------------- - -|:amenu| Define menus for all modes, inserting a CTRL-O for Insert - mode, ESC for Visual and CTRL-C for Cmdline mode. "amenu" is - used for the default menus and the Syntax menu. - -|:augroup| Set group to be used for following autocommands. Allows the - grouping of autocommands to enable deletion of a specific - group. - -|:crewind| Go to first error. -|:clast| Go to last error. - -|:doautoall| Execute autocommands for all loaded buffers. - -|:echo| Echo its argument, which is an expression. Can be used to - display messages which include variables. - -|:execute| Execute its argument, which is an expression. Can be used to - built up an Ex command with anything. - -|:hide| Works like ":close". - -|:if| Conditional execution, for built-in script language. - -|:intro| Show introductory message. This is always executed when Vim - is started without file arguments. - -|:let| Assign a value to an internal variable. - -|:omap| Map only in operator-pending mode. Makes it possible to map - text-object commands. - -|:redir| Redirect output of messages to a file. - -|:update| Write when buffer has changed. - -|:while| While-loop for built-in script language. - -Visual mode: -|v_O| "O" in Visual block mode, moves the cursor to the other corner - horizontally. -|v_D| "D" in Visual block mode deletes till end of line. - -Insert mode: -|i_CTRL-]| Triggers abbreviation, without inserting any character. - - -New options *added-options* ------------ - -'background' Used for selecting highlight color defaults. Also used in - "syntax.vim" for selecting the syntax colors. Often set - automatically, depending on the terminal used. - -'complete' Specifies how Insert mode completion works. - -'eventignore' Makes it possible to ignore autocommands temporarily. - -'fileformat' Current file format. Replaces 'textmode'. -'fileformats' Possible file formats. Replaces 'textauto'. - New is that this also supports Macintosh format: A single <CR> - separates lines. - The default for 'fileformats' for MS-DOS, Win32 and OS/2 is - "dos,unix", also when 'compatible' set. Unix type files - didn't work anyway when 'fileformats' was empty. - -'guicursor' Set the cursor shape and blinking in various modes. - Default is to adjust the cursor for Insert and Replace mode, - and when an operator is pending. Blinking is default on. - -'fkmap' Farsi key mapping. - -'hlsearch' Highlight all matches with the last used search pattern. - -'hkmapp' Phonetic Hebrew mapping. (Ilya Dogolazky) - -'iconstring' Define the name of the icon, when not empty. (Version 5.2: the - string is used literally, a newline can be used to make two - lines.) - -'lazyredraw' Don't redraw the screen while executing macros, registers or - other not typed commands. - -'makeef' Errorfile to be used for ":make". "##" is replaced with a - unique number. Avoids that two Vim sessions overwrite each - others errorfile. The Unix default is "/tmp/vim##.err"; for - Amiga "t:vim##.Err, for others "vim##.err". - -'matchtime' 1/10s of a second to show a matching paren, when 'showmatch' - is set. Like Nvi. - -'mousehide' Hide mouse pointer in GUI when typing text. - -'nrformats' Defines what bases Vim will consider for numbers when using - the CTRL-A and CTRL-X commands. Default: "hex,octal". - -'shellxquote' Add extra quotes around the whole shell command, including - redirection. - -'softtabstop' Make typing behave like tabstop is set at this value, without - changing the value of 'tabstop'. Makes it more easy to keep - 'ts' at 8, while still getting four spaces for a <Tab>. - -'titlestring' String for the window title, when not empty. (Version 5.2: - this string is used literally, a newline can be used to make - two lines.) - -'verbose' Level of verbosity. Makes it possible to show which .vimrc, - .exrc, .viminfo files etc. are used for initializing. Also - to show autocommands that are being executed. Can also be set - by using the "-V" command-line argument. - - -New command-line arguments *added-cmdline-args* --------------------------- - -|-U| Set the gvimrc file to be used. Like "-u" for the vimrc. - -|-V| Set the 'verbose' option. E.g. "vim -V10". - -|-N| Start in non-compatible mode. - -|-C| Start in compatible mode. - -|-Z| Start in restricted mode, disallow shell commands. Can also - be done by calling the executable "rvim". - -|-h| Show usage information and exit. - - -Various additions *added-various* ------------------ - -Added support for SNiFF+ connection (submitted by Toni Leherbauer). Vim can -be used as an editor for SNiFF. No documentation available... - -For producing a bug report, the bugreport.vim script has been included. -Can be used with ":so $VIMRUNTIME/bugreport.vim", which creates the file -"bugreport.txt" in the current directory. |bugs| - -Added range to ":normal" command. Now you can repeat the same command for -each line in the range. |:normal-range| - -Included support for the Farsi language (Shiran). Only when enabled at -compile time. See |farsi|. - -============================================================================== - IMPROVEMENTS *improvements-5* - -Performance: -- When 'showcmd' was set, mappings would execute much more slowly because the - output would be flushed very often. Helps a lot when executing the "life" - macros with 'showcmd' set. -- Included patches for binary searching in tags file (David O'Neill). - Can be disabled by resetting the 'tagbsearch' option. -- Don't update the ruler when repeating insert (slowed it down a lot). -- For Unix, file name expansion is now done internally instead of starting a - shell for it. -- Expand environment variables with expand_env(), instead of calling the - shell. Makes ":so $VIMRUNTIME/syntax/syntax.vim" a LOT faster. -- Reduced output for cursor positioning: Use CR-LF for moving to first few - columns in next few lines; Don't output CR twice when using termios. -- Optimized cursor positioning. Use CR, BS and NL when it's shorter than - absolute cursor positioning. -- Disable redrawing while repeating insert "1000ii<Esc>". -- Made "d$" or "D" for long lines a lot faster (delete all characters at once, - instead of one by one). -- Access option table by first letter, instead of searching from start. -- Made setting special highlighting attributes a lot faster by using - highlight_attr[], instead of searching in the 'highlight' string. -- Don't show the mode when redrawing is disabled. -- When setting an option, only redraw the screen when required. -- Improved performance of Ex commands by using a lookup table for the first - character. - -Options: -'cinoptions' Added 'g' flag, for C++ scope declarations. -'cpoptions' Added 'E' flag: Disallow yanking, deleting, etc. empty text - area. Default is to allow empty yanks. When 'E' is included, - "y$" in an empty line now is handled as an error (Vi - compatible). - Added 'j' flag: Only add two spaces for a join after a '.', - not after a '?' or '!'. - Added 'A' flag: don't give ATTENTION message. - Added 'L' flag: When not included, and 'list' is set, - 'textwidth' formatting works like 'list' is not set. - Added 'W' flag: Let ":w!" behave like Vi: don't overwrite - readonly files, or a file owned by someone else. -'highlight' Added '@' flag, for '@' characters after the last line on the - screen, and '$' at the end of the line when 'list' is set. - Added 'i' flag: Set highlighting for 'incsearch'. Default - uses "IncSearch" highlight group, which is linked to "Visual". - Disallow 'h' flag in 'highlight' (wasn't used anymore since - 3.0). -'guifont' Win32 GUI only: When set to "*" brings up a font requester. -'guipty' Default on, because so many people need it. -'path' Can contain wildcards, and "**" for searching a whole tree. -'shortmess' Added 'I' flag to avoid the intro message. -'viminfo' Added '%' flag: Store buffer list in viminfo file. - -- Increased defaults for 'maxmem' and 'maxmemtot' for Unix and Win32. Most - machines have much more RAM now that prices have dropped. -- Implemented ":set all&", set all options to their default value. |:set| - -Swap file: -- Don't create a swap file for a readonly file. Then create one on the first - change. Also create a swapfile when the amount of memory used is getting - too high. |swap-file| -- Make swap file "hidden", if possible. On Unix this is done by prepending a - dot to the swap file name. When long file names are used, the DJGPP and - Win32 versions also prepend a dot, in case a file on a mounted Unix file - system is edited. |:swapname| On MSDOS the hidden file attribute is NOT - set, because this causes problems with share.exe. -- 'updatecount' always defaults to non-zero, also for Vi compatible mode. - This means there is a swap file, which can be used for recovery. - -Tags: -- Included ctags 2.0 (Darren Hiebert). The syntax for static tags changed - from - {tag}:{fname} {fname} {command} - to - {tag} {fname} {command};" file: - Which is both faster to parse, shorter and Vi compatible. The old format is - also still accepted, unless disabled in src/feature.h (see OLD_STATIC_TAGS). - |tags-file-format| -- Completion of tags now also includes static tags for other files, at the - end. -- Included "shtags" from Stephen Riehm. -- When finding a matching tag, but the file doesn't exist, continue searching - for another match. Helps when using the same tags file (with links) for - different versions of source code. -- Give a tag with a global match in the current file a higher priority than a - global match in another file. - -Included xxd version V1.8 (Juergen Weigert). - -Autocommands: -- VimLeave autocommands are executed after writing the viminfo file, instead - of before. |VimLeave| -- Allow changing autocommands while executing them. This allows for - self-modifying autocommands. (idea from Goldberg) -- When using autocommands with two or more patterns, could not split - ":if/:endif" over two lines. Now all matching autocommands are executed in - one do_cmdline(). -- Autocommands no longer change the command repeated with ".". -- Search patterns are restored after executing autocommands. This avoids - that the 'hlsearch' highlighting is messed up by autocommands. -- When trying to execute an autocommand, also try matching the pattern with - the short file name. Helps when short file name is different from full - file name (expanded symbolic links). |autocmd-patterns| -- Made the output of ":autocmd" shorter and look better. -- Expand <sfile> in an ":autocmd" when it is defined. |<sfile>| -- Added "nested" flag to ":autocmd", allows nesting. |autocmd-nested| -- Added [group] argument to ":autocmd". Overrides the currently set group. - |autocmd-groups| -- new events: - |BufUnload| before a buffer is unloaded - |BufDelete| before a buffer is deleted from the buffer list - |FileChangedShell| when a file's modification time has changed after - executing a shell command - |User| user-defined autocommand -- When 'modified' was set by a BufRead* autocommand, it was reset again - afterwards. Now the ":set modified" is remembered. - -GUI: -- Improved GUI scrollbar handling when redrawing is slower than the scrollbar - events are generated. -- "vim -u NONE" now also stops loading the .gvimrc and other GUI inits. |-u| - Use "-U" to use another gvimrc file. |-U| -- Handle CTRL-C for external command, also for systems where "setsid()" is - supported. -- When starting the GUI, restrict the window size to the screen size. -- The default menus are read from $VIMRUNTIME/menu.vim. This allows for a - customized default menu. |menu.vim| -- Improved the default menus. Added File/Print, a Window menu, Syntax menu, - etc. -- Added priority to the ":menu" command. Now each menu can be put in a place - where you want it, independent of the order in which the menus are defined. - |menu-priority| - -Give a warning in the intro screen when running the Win32 console version on -Windows 95 because there are problems using this version under Windows 95. -|win32-problems| - -Added 'e' flag for ":substitute" command: Don't complain when not finding a -match (Campbell). |:s| - -When using search commands in a mapping, only the last one is kept in the -history. Avoids that the history is trashed by long mappings. - -Ignore characters after "ex", "view" and "gvim" when checking startup mode. -Allows the use of "gvim5" et. al. |gvim| "gview" starts the GUI in readonly -mode. |gview| - -When resizing windows, the cursor is kept in the same relative position, if -possible. (Webb) - -":all" and ":ball" no longer close and then open a window for the same buffer. -Avoids losing options, jumplist, and other info. - -"-f" command-line argument is now ignored if Vim was compiled without GUI. -|-f| - -In Visual block mode, the right mouse button picks up the nearest corner. - -Changed default mappings for DOS et al. Removed the DOS-specific mappings, -only use the Windows ones. Added Shift-Insert, Ctrl-Insert, Ctrl-Del and -Shift-Del. - -Changed the numbers in the output of ":jumps", so you can see where {count} -CTRL-O takes you. |:jumps| - -Using "~" for $HOME now works for all systems. |$HOME| - -Unix: Besides using CTRL-C, also use the INTR character from the tty settings. -Somebody has INTR set to DEL. - -Allow a <LF> in a ":help" command argument to end the help command, so another -command can follow. - -Doing "%" on a line that starts with " #if" didn't jump to matching "#else". -Don't recognize "#if", "#else" etc. for '%' when 'cpo' contains the '%' flag. -|%| - -Insert mode expansion with "CTRL-N", "CTRL-P" and "CTRL-X" improved -|ins-completion|: -- 'complete' option added. -- When 'nowrapscan' is set, and no match found, report the searched direction - in the error message. -- Repeating CTRL-X commands adds following words/lines after the match. -- When adding-expansions, accept single character matches. -- Made repeated CTRL-X CTRL-N not break undo, and "." repeats the whole - insertion. Also fixes not being able to backspace over a word that has been - inserted with CTRL-N. - -When copying characters in Insert mode from previous/next line, with CTRL-E or -CTRL-Y, 'textwidth' is no longer used. |i_CTRL-E| - -Commands that move in the arglist, like ":n" and ":rew", keep the old cursor -position of the file (this is mostly Vi compatible). - -Vim now remembers the '< and '> marks for each buffer. This fixes a problem -that a line-delete in one buffer invalidated the '< and '> marks in another -buffer. |'<| - -For MSDOS, Unix and OS/2: When $VIM not set, use the path from the executable. -When using the executable path for $VIM, remove "src/" when present. Should -make Vim find the docs and syntax files when it is run directly after -compiling. |$VIM| - -When quitting Visual mode with <Esc>, the cursor is put at start of the Visual -area (like after executing an operator). - -Win32 and Unix version: Removed 1100 character limit on external commands. - -Added possibility to include a space in a ":edit +command" argument, by -putting a backslash before it. |+cmd| - -After recovery, BufReadPost autocommands are applied. |:recover| - -Added color support for "os2ansi", OS/2 console. (Slootman) |os2ansi| - -Allow "%:p:h" when % is empty. |:_%| - -Included "<sfile>": file name from the ":source" command. |<sfile>| - -Added "<Bslash>" special character. Helps for avoiding multiple backslashes -in mappings and menus. - -In a help window, a double-click jumps to the tag under the cursor (like -CTRL-]). - -<C-Left> and <C-Right> now work like <S-Left> and <S-Right>, move a word -forward/backward (Windows compatible). |<C-Left>| - -Removed the requirement for a ":version" command in a .vimrc file. It wasn't -used for anything. You can use ":if" to handle differences between versions. -|:version| - -For MS-DOS, Win32 and OS/2: When comparing file names for autocommands, don't -make a difference between '/' and '\' for path separator. - -New termcap options: -"mb": blink. Can only be used by assigning it to one of the other highlight - options. |t_mb| -"bc": backspace character. |t_bc| -"nd": Used for moving the cursor right in the GUI, to avoid removing one line - of pixels from the last bold character. |t_nd| -"xs": highlighting not erased by overwriting, for hpterm. Combined with - 'weirdinvert'. Visual mode works on hpterm now. |t_xs| - -Unix: Set time of patch and backup file same as original file. (Hiebert). - -Amiga: In QuickFix mode no longer opens another window. Shell commands can be -used now. - -Added decmouse patches from David Binette. Can now use Dec and Netterm mouse. -But only when enabled at compile time. - -Added '#' register: Alternate file name |quote#|. Display '#' register with -":dis" command. |:display| - -Removed ':' from 'isfname' default for Unix. Check for "://" in a file name -anyway. Also check for ":\\", for MS-DOS. - -Added count to "K"eyword command, when 'keywordprg' is "man", is inserted in -the man command. "2K" results in "!man 2 <cword>". |K| - -When using "gf" on a relative path name, remove "../" from the file name, like -it's done for file names in the tags file. |gf| - -When finishing recording, don't make the recorded register the default put -register. - -When using "!!", don't put ":5,5!" on the command-line, but ":.!". And some -other enhancements to replace the line number with "." or "$" when possible. - -MSDOS et al.: Renamed $VIM/viminfo to $VIM/_viminfo. It's more consistent: -.vimrc/_vimrc and .viminfo/_viminfo - -For systems where case doesn't matter in file names (MSDOS, Amiga), ignore -case while sorting file names. For buffer names too. - -When reading from stdin doesn't work, read from stderr (helps for "foo | xargs -vim"). - -32 bit MS-DOS version: Replaced csdpmi3 by csdpmi4. - -Changed <C-Left> and <C-Right> to skip a WORD instead of a word. - -Warning for changed modified time when overwriting a file now also works on -other systems than Unix. - -Unix: Changed the defaults for configure to be the same as the defaults for -Makefile: include GUI, Perl, and Python. - -Some versions of Motif require "-lXpm". Added check for this in configure. - -Don't add "-L/usr/lib" to the link line, causes problems on a few systems. - -============================================================================== - COMPILE TIME CHANGES *compile-changes-5* - -When compiling, allow a choice for minimal, normal or maximal features in an -easy way, by changing a single line in src/feature.h. -The DOS16 version has been compiled with minimal features to avoid running -out of memory too quickly. |dos16| -The Win32, DJGPP, and OS/2 versions use maximal features, because they have -enough memory. -The Amiga version is available with normal and maximal features. - -Added "make test" to Unix version Makefile. Allows for a quick check if most -"normal" commands work properly. Also tests a few specific commands. - -Added setlocale() with codepage support for DJGPP version. - -autoconf: -- Added autoconf check for -lXdmcp. -- Included check for -lXmu, no longer needed to edit the Makefile for this. -- Switched to autoconf 2.12. -- Added configure check for <poll.h>. Seems to be needed when including - Perl on Linux? -- termlib is now checked before termcap. -- Added configure check for strncasecmp(), stricmp() and strnicmp(). Added - vim_stricmp() for when there's no library function for stricmp(). -- Use "datadir" in configure, instead of our own check for HELPDIR. - -Removed "make proto" from Makefile.manx. Could not make it work without a lot -of #ifdefs. - -Removed "proto/" from paths in proto.h. Needed for the Mac port. - -Drastically changed Makefile.mint. Now it includes the Unix Makefile. - -Added support for Dos16 in Makefile.b32 (renamed Makefile.b32 to Makefile.bor) - -All source files are now edited with a tabstop of 8 instead of 4, which is -better when debugging and using other tools. 'softtabstop' is set to 4, to -make editing easier. - -Unix: Added "link.sh" script, which removes a few unnecessary libraries from -the link command. - -Don't use HPUX digraphs by default, but only when HPUX_DIGRAPHS is defined. -|digraphs-default| - -============================================================================== - BUG FIXES *bug-fixes-5* - -Note: Some of these fixes may only apply to test versions which were - created after version 4.6, but before 5.0. - - -When doing ":bdel", try going to the next loaded buffer. Don't rewind to the -start of the buffer list. - -mch_isdir() for Unix returned TRUE for "" on some systems. - -Win32: 'shell' set to "mksnt/sh.exe" breaks ":!" commands. Don't use -backslashes in the temp file names. - -On linux, with a FAT file system, could get spurious "file xxx changed since -editing started" messages, because the time is rounded off to two seconds -unexpectedly. - -Crash in GUI, when selecting a word (double click) and then extend until an -empty line. - -For systems where isdigit() can't handle characters > 255, get_number() caused -a crash when moving the mouse during the prompt for recovery. - -In Insert mode, "CTRL-O P" left the cursor on the last inserted character. -Now the cursor is left after the last putted character. - -When quickfix found an error type other than 'e' or 'w', it was never printed. - -A setting for 'errorfile' in a .vimrc overruled the "-q errorfile" argument. - -Some systems create a file when generating a temp file name. Filtering would -then create a backup file for this, which was never deleted. Now no backup -file is made when filtering. - -simplify_filename() could remove a ".." after a link, resulting in the wrong -file name. Made simplify_filename also work for MSDOS. Don't use it for -Amiga, since it doesn't have "../". - -otherfile() was unreliable when using links. Could think that reading/writing -was for a different file, when it was the same. - -Pasting with mouse in Replace mode didn't replace anything. - -Window height computed wrong when resizing a window with an autocommand (could -cause a crash). - -":s!foo!bar!" wasn't possible (Vi compatible). - -do_bang() freed memory twice when called recursively, because of autocommands -(test11). Thanks to Electric Fence! - -"v$d" on an empty line didn't remove the "-- VISUAL --" mode message from the -command-line, and inverted the cursor. - -":mkexrc" didn't check for failure to open the file, causing a crash. -(Felderhoff). - -Win32 mch_write() wrote past fixed buffer, causing terminal keys no longer to -be recognized. Both console and GUI version. - -Athena GUI: Crash when removing a menu item. Now Vim doesn't crash, but the -reversing of the menu item is still wrong. - -Always reset 'list' option for the help window. - -When 'scrolloff' is non-zero, a 'showmatch' could cause the shown match to be -in the wrong line and the window to be scrolled (Acevedo). - -After ":set all&", 'lines' and 'ttytype' were still non-default, because the -defaults never got set. Now the defaults for 'lines' and 'columns' are set -after detecting the window size. 'term' and 'ttytype' defaults are set when -detecting the terminal type. - -For (most) non-Unix systems, don't add file names with illegal characters when -expanding. Fixes "cannot open swapfile" error when doing ":e *.burp", when -there is no match. - -In X11 GUI, drawing part of the cursor obscured the text. Now the text is -drawn over the cursor, like when it fills the block. (Seibert) - -when started with "-c cmd -q errfile", the cursor would be left in line 1. -Now a ":cc" is done after executing "cmd". - -":ilist" never ignored case, even when 'ignorecase' set. - -"vim -r file" for a readonly file, then making a change, got ATTENTION message -in insert mode, display mixed up until <Esc> typed. Also don't give ATTENTION -message after recovering a file. - -The abbreviation ":ab #i #include" could not be removed. - -CTRL-L completion (longest common match) on command-line didn't work properly -for case-insensitive systems (MS-DOS, Windows, etc.). (suggested by Richard -Kilgore). - -For terminals that can hide the cursor ("vi" termcap entry), resizing the -window caused the cursor to disappear. - -Using an invalid mark in an Ex address didn't abort the command. - -When 'smarttab' set, would use 'shiftround' when inserting a TAB after a -space. Now it always rounds to a tabstop. - -Set '[ and '] marks for ":copy", ":move", ":append", ":insert", ":substitute" -and ":change". (Acevedo). - -"d$" in an empty line still caused an error, even when 'E' is not in -'cpoptions'. - -Help files were stored in the viminfo buffer list without a path. - -GUI: Displaying cursor was not synchronized with other displaying. Caused -several display errors. For example, when the last two lines in the file -start with spaces, "dd" on the last line copied text to the (then) last line. - -Win32: Needed to type CTRL-SHIFT-- to get CTRL-_. - -GUI: Moving the cursor forwards over bold text would remove one column of bold -pixels. - -X11 GUI: When a bold character in the last column was scrolled up or down, one -column of pixels would not be copied. - -Using <BS> to move the cursor left can sometimes erase a character. Now use -"le" termcap entry for this. - -Keyword completion with regexp didn't work. e.g., for "b.*crat". - -Fixed: With CTRL-O that jumps to another file, cursor could end up just after -the line. - -Amiga: '$' was missing from character recognized as wildcards, causing $VIM -sometimes not to be expanded. - -":change" didn't adjust marks for deleted lines. - -":help [range]" didn't work. Also for [pattern], [count] and [quotex]. - -For 'cindent'ing, typing "class::method" doesn't align like a label when the -second ':' is typed. -When inserting a CR with 'cindent' set (and a bunch of other conditions) the -cursor went to a wrong location. -'cindent' was wrong for a line that ends in '}'. -'cindent' was wrong after "else {". - -While editing the cmdline in the GUI, could not use the mouse to select text -from the command-line itself. - -When deleting lines, marks in tag stack were only adjusted for the current -window, not for other windows on the same buffer. - -Tag guessing could find a function "some_func" instead of the "func" we were -looking for. - -Tags file name relative to the current file didn't work. - -":g/pat2/s//pat2/g", causing the number of subs to be reported, used to cause -a scroll up. Now you no longer have to hit <CR>. - -X11 GUI: Selecting text could cause a crash. - -32 bit DOS version: CTRL-C in external command killed Vim. When SHELL is set -to "sh.exe", external commands didn't work. Removed using of command.com, no -longer need to set 'shellquote'. - -Fixed crash when using ":g/pat/i". - -Fixed (potential) crash for X11 GUI, when using an X selection. Was giving a -pointer on the stack to a callback function, now it's static. - -Using "#" and "*" with an operator didn't work. E.g. "c#". - -Command-line expansion didn't work properly after ":*". (Acevedo) - -Setting 'weirdinvert' caused highlighting to be wrong in the GUI. - -":e +4 #" didn't work, because the "4" was in unallocated memory (could cause -a crash). - -Cursor position was wrong for ":e #", after ":e #" failed, because of changes -to the buffer. - -When doing ":buf N", going to a buffer that was edited with ":view", the -readonly flag was reset. Now make a difference between ":e file" and ":buf -file": Only set/reset 'ro' for the first one. - -Avoid |hit-enter| prompt when not able to write viminfo on exit. - -When giving error messages in the terminal where the GUI was started, GUI -escape codes would be written to the terminal. In an xterm this could be seen -as a '$' after the message. - -Mouse would not work directly after ":gui", because full_screen isn't set, -which causes starttermcap() not to do its work. - -'incsearch' did not scroll the window in the same way as the actual search. -When 'nowrap' set, incsearch didn't show a match when it was off the side of -the screen. Now it also shows the whole match, instead of just the cursor -position (if possible). - -":unmap", ":unab" and ":unmenu" did not accept a double quote, it was seen as -the start of a comment. Now it's Vi compatible. - -Using <Up><Left><Left><Up> in the command-line, when there is no previous -cmdline in the history, inserted a NUL on the command-line. - -"i<Esc>" when on a <Tab> in column 0 left the cursor in the wrong place. - -GUI Motif: When adding a lot of menu items, the menu bar goes into two rows. -Deleting menu items, reducing the number of rows, now also works. - -With ":g/pat/s//foo/c", a match in the first line was scrolled off of the -screen, so you could not see it. -When using ":s//c", with 'nowrap' set, a match could be off the side of the -screen, so you could not see it. - -When 'helpfile' was set to a fixed, non-absolute path in feature.h, Vim would -crash. mch_Fullname can now handle file names in read-only memory. (Lottem) - -When using CTRL-A or CTRL-@ in Insert mode, there could be strange effects -when using CTRL-D next. Also, when repeating inserted text that included "0 -CTRL-D" or "^ CTRL-D" this didn't work. (Acevedo) -Using CTRL-D after using CTRL-E or CTRL-Y in Insert mode that inserted a '0' -or '^', removed the '0' or '^' and more indent. - -The command "2".p" caused the last inserted text to be executed as commands. -(Acevedo) - -Repeating the insert of "CTRL-V 048" resulted in "^@" to be inserted. - -Repeating Insert completion could fail if there are special characters in the -text. (Acevedo) - -":normal /string<CR>" caused the window to scroll. Now all ":normal" commands -are executed without scrolling messages. - -Redo of CTRL-E or CTRL-Y in Insert mode interpreted special characters as -commands. - -Line wrapping for 'tw' was done one character off for insert expansion -inserts. - -buffer_exists() function didn't work properly for buffer names with a symbolic -link in them (e.g. when using buffer_exists(#)). - -Removed the "MOTIF_COMMENT" construction from Makefile. It now works with -FreeBSD make, and probably with NeXT make too. - -Matching the 'define' and 'include' arguments now honor the settings for -'ignorecase'. (Acevedo) - -When one file shown in two windows, Visual selection mixed up cursor position -in current window and other window. - -When doing ":e file" from a help file, the 'isk' option wasn't reset properly, -because of a modeline in the help file. - -When doing ":e!", a cursor in another window on the same buffer could become -invalid, leading to "ml_get: invalid lnum" errors. - -Matching buffer name for when expanded name has a different path from not -expanded name (Brugnara). - -Normal mappings didn't work after an operator. For example, with ":map Q gq", -"QQ" didn't work. - -When ":make" resulted in zero errors, a "No Errors" error message was given -(which breaks mappings). - -When ":sourcing" a file, line length was limited to 1024 characters. CTRL-V -before <EOL> was not handled Vi compatible. (Acevedo) - -Unexpected exit for X11 GUI, caused by SAVE_YOURSELF event. (Heimann) - -CTRL-X CTRL-I only found one match per line. (Acevedo) -When using an illegal CTRL-X key in Insert mode, the CTRL-X mode message -was stuck. - -Finally managed to ignore the "Quit" menu entry of the Window manager! Now -Vim only exists when there are no changed buffers. - -Trying to start the GUI when $DISPLAY is not set resulted in a crash. -When $DISPLAY is not set and gvim starts vim, title was restored to "Thanks -for flying Vim". -When $DISPLAY not set, starting "gvim" (dropping back to vim) and then -selecting text with the mouse caused a crash. - -"J", with 'joinspaces' set, on a line ending in ". ", caused one space too -many to be added. (Acevedo) - -In insert mode, a CTRL-R {regname} which didn't insert anything left the '"' -on the screen. - -":z10" didn't work. (Clapp) - -"Help "*" didn't work. - -Renamed a lot of functions, to avoid clashes with POSIX name space. - -When adding characters to a line, making it wrap, the following lines were -sometimes not shifted down (e.g. after a tag jump). - -CTRL-E, with 'so' set and cursor on last line, now does not move cursor as -long as the last line is on the screen. - -When there are two windows, doing "^W+^W-" in the bottom window could cause -the status line to be doubled (not redrawn correctly). - -This command would hang: ":n `cat`". Now connect stdin of the external -command to /dev/null, when expanding. - -Fixed lalloc(0,) error for ":echo %:e:r". (Acevedo) - -The "+command" argument to ":split" didn't work when there was no file name. - -When selecting text in the GUI, which is the output of a command-line command -or an external command, the inversion would sometimes remain. - -GUI: "-mh 70" argument was broken. Now, when menuheight is specified, it is -not changed anymore. - -GUI: When using the scrollbar or mouse while executing an external command, -this caused garbage characters. - -Showmatch sometimes jumped to the wrong position. Was caused by a call to -findmatch() when redrawing the display (when syntax highlighting is on). - -Search pattern "\(a *\)\{3} did not work correctly, also matched "a a". -Problem with brace_count not being decremented. - -Wildcard expansion added too many non-matching file names. - -When 'iskeyword' contains characters like '~', "*" and "#" didn't work -properly. (Acevedo) - -On Linux, on a FAT file system, modification time can change by one second. -Avoid a "file has changed" warning for a one second difference. - -When using the page-switching in an xterm, Vim would position the cursor on -the last line of the window on exit. Also removed the cursor positioning for -":!" commands. - -":g/pat/p" command (partly) overwrote the command. Now the output is on a -separate line. - -With 'ic' and 'scs' set, a search for "Keyword", ignore-case matches were -highlighted too. - -"^" on a line with only white space, put cursor beyond the end of the line. - -When deleting characters before where insertion started ('bs' == 2), could not -use abbreviations. - -CTRL-E at end of file puts cursor below the file, in Visual mode, when 'so' is -non-zero. CTRL-E didn't work when 'so' is big and the line below the window -wraps. CTRL-E, when 'so' is non-zero, at end of the file, caused jumping -up-down. - -":retab" didn't work well when 'list' is set. - -Amiga: When inserting characters at the last line on the screen, causing it -to wrap, messed up the display. It appears that a '\n' on the last line -doesn't always cause a scroll up. - -In Insert mode "0<C-D><C-D>" deleted an extra character, because Vim thought -that the "0" was still there. (Acevedo) - -"z{count}l" ignored the count. Also for "zh" et. al. (Acevedo) - -"S" when 'autoindent' is off didn't delete leading white space. - -"/<Tab>" landed on the wrong character when 'incsearch' is set. - -Asking a yes/no question could cause a |hit-enter| prompt. - -When the file consists of one long line (>4100 characters), making changes -caused various errors and a crash. - -DJGPP version could not save long lines (>64000) for undo. - -"yw" on the last char in the file didn't work. Also fixed "6x" at the end of -the line. "6X" at the start of a line fails, but does not break a mapping. In -general, a movement for an operator doesn't beep or flush a mapping, but when -there is nothing to operate on it beeps (this is Vi compatible). - -"m'" and "m`" now set the '' mark at the cursor position. - -Unix: Resetting of signals for external program didn't work, because SIG_DFL -and NULL are the same! For "!!yes|dd count=1|, the yes command kept on -running. - -Partly fixed: Unix GUI: Typeahead while executing an external command was lost. -Now it's not lost while the command is producing output. - -Typing <S-Tab> in Insert mode, when it isn't mapped, inserted "<S-Tab>". Now -it works like a normal <Tab>, just like <C-Tab> and <M-Tab>. - -Redrawing ruler didn't check for old value correctly (caused UMR warnings in -Purify). - -Negative array index in finish_viminfo_history(). - -":g/^/d|mo $" deleted all the lines. The ":move" command now removes the -:global mark from the moved lines. - -Using "vG" while the last line in the window is a "@" line, didn't update -correctly. Just the "v" showed "~" lines. - -"daw" on the last char of the file, when it's a space, moved the cursor beyond -the end of the line. - -When 'hlsearch' was set or reset, only the current buffer was redrawn, while -this affects all windows. - -CTRL-^, positioning the cursor somewhere from 1/2 to 1 1/2 screen down the -file, put the cursor at the bottom of the window, instead of halfway. - -When scrolling up for ":append" command, not all windows were updated -correctly. - -When 'hlsearch' is set, and an auto-indent is highlighted, pressing <Esc> -didn't remove the highlighting, although the indent was deleted. - -When 'ru' set and 'nosc', using "$j" showed a wrong ruler. - -Under Xfree 3.2, Shift-Tab didn't work (wrong keysym is used). - -Mapping <S-Tab> didn't work. Changed the key translations to use the shortest -key code possible. This makes the termcode translations and mappings more -consistent. Now all modifiers work in all combinations, not only with <Tab>, -but also with <Space>, <CR>, etc. - -For Unix, restore three more signals. And Vim catches SIGINT now, so CTRL-C -in Ex mode doesn't make Vim exit. - -""a5Y" yanked 25 lines instead of 5. - -"vrxxx<Esc>" in an empty line could not be undone. - -A CTRL-C that breaks ":make" caused the errorfile not to be read (annoying -when you want to handle what ":make" produced so far). - -":0;/pat" didn't find "pat" in line 1. - -Search for "/test/s+1" at first char of file gave bottom-top message, or -didn't work at all with 'nowrapscan'. - -Bug in viminfo history. Could cause a crash on exit. - -":print" didn't put cursor on first non-blank in line. - -":0r !cat </dev/null" left cursor in line zero, with very strange effects. - -With 'showcmd' set and 'timeoutlen' set to a few seconds, trick to position -the cursor leftwards didn't work. - -AIX stty settings were restored to cs5 instead of cs8 (Winn). - -File name completion didn't work for "zsh" versions that put spaces between -file names, instead of NULs. - -Changed "XawChain*" to "XtChain*", should work for more systems. - -Included quite a few fixes for rightleft mode (Lottem). - -Didn't ask to |hit-enter| when GUI is started and error messages are printed. - -When trying to edit a file in a non-existent directory, ended up with editing -"No file". - -"gqap" to format a paragraph did too much redrawing. - -When 'hlsearch' set, only the current window was updated for a new search -pattern. - -Sometimes error messages on startup didn't cause a |hit-enter| prompt, -because of autocommands containing an empty line. - -Was possible to select part of the window in the border, below the command -line. - -'< and '> marks were not at the correct position after linewise Visual -selection. - -When translating a help argument to "CTRL-x", prepend or append a '_', when -applicable. - -Blockwise visual mode wasn't correct when moving vertically over a special -character (displayed as two screen characters). - -Renamed "struct option" to "struct vimoption" to avoid name clash with GNU -getopt(). - -":abclear" didn't work (but ":iabclear" and ":cabclear" did work). - -When 'nowrap' used, screen wasn't always updated correctly. - -"vim -c split file" displayed extra lines. - -After starting the GUI, searched the termcap for a "gui" term. - -When 'hls' used, search for "^$" caused a hang. -When 'hls' was set, an error in the last regexp caused trouble. - -Unix: Only output an extra <EOL> on exit when outputted something in the -alternate screen, or when there is a message that needs to be cleared. - -"/a\{" did strange things, depending on previous search. - -"c}" only redrew one line (with -u NONE). - -For mappings, CTRL-META-A was shown as <M-^A> instead of <MC-A>, while :map -only accepts <MC-A>. Now <M-C-A> is shown. - -Unix: When using full path name in a tags file, which contains a link, and -'hidden' set and jumping to a tag in the current file, would get bogus -ATTENTION message. Solved by always expanding file names, even when starting -with '/'. - -'hlsearch' highlighting of special characters (e.g., a TAB) didn't highlight -the whole thing. - -"r<CR>" didn't work correctly on the last char of a line. - -Sometimes a window resize or other signal caused an endless loop, involving -set_winsize(). - -"vim -r" didn't work, it would just hang (using tgetent() while 'term' is -empty). - -"gk" while 'nowrap' set moved two lines up. - -When windows are split, a message that causes a scroll-up messed up one of the -windows, which required a CTRL-L to be typed. - -Possible endless loop when using shell command in the GUI. - -Menus defined in the .vimrc were removed when GUI started. - -Crash when pasting with the mouse in insert mode. - -Crash with ":unmenu *" in .gvimrc for Athena. - -"5>>" shifted 5 lines 5 times, instead of 1 time. - -CTRL-C when getting a prompt in ":global" didn't interrupt. - -When 'so' is non-zero, and moving the scrollbar completely to the bottom, -there was a lot of flashing. - -GUI: Scrollbar ident must be long for DEC Alpha. - -Some functions called vim_regcomp() without setting reg_magic, which could -lead to unpredictable magicness. - -Crash when clicking around the status line, could get a selection with a -backwards range. - -When deleting more than one line characterwise, the last character wasn't -deleted. - -GUI: Status line could be overwritten when moving the scrollbar quickly (or -when 'wd' is non-zero). - -An ESC at the end of a ":normal" command caused a wait for a terminal code to -finish. Now, a terminal code is not recognized when its start comes from a -mapping or ":normal" command. - -Included patches from Robert Webb for GUI. Layout of the windows is now done -inside Vim, instead of letting the layout manager do this. Makes Vim work -with Lesstif! - -UMR warning in set_expand_context(). - -Memory leak: b_winlnum list was never freed. - -Removed TIOCLSET/TIOCLGET code from os_unix.c. Was changing some of the -terminal settings, and looked like it wasn't doing anything good. (suggested -by Juergen Weigert). - -Ruler overwrote "is a directory" message. When starting up, and 'cmdheight' -set to > 1, first message could still be in the last line. - -Removed prototype for putenv() from proto.h, it's already in osdef2.h.in. - -In replace mode, when moving the cursor and then backspacing, wrong characters -were inserted. - -Win32 GUI was checking for a CTRL-C too often, making it slow. - -Removed mappings for MS-DOS that were already covered by commands. - -When visually selecting all lines in a file, cursor at last line, then "J". -Gave ml_get errors. Was a problem with scrolling down during redrawing. - -When doing a linewise operator, and then an operator with a mouse click, it -was also linewise, instead of characterwise. - -When 'list' is set, the column of the ruler was wrong. - -Spurious error message for "/\(b\+\)*". - -When visually selected many lines, message from ":w file" disappeared when -redrawing the screen. - -":set <M-b>=^[b", then insert "^[b", waited for another character. And then -inserted "<M-b>" instead of the real <M-b> character. Was trying to insert -K_SPECIAL x NUL. - -CTRL-W ] didn't use count to set window height. - -GUI: "-font" command-line argument didn't override 'guifont' setting from -.gvimrc. (Acevedo) - -GUI: clipboard wasn't used for "*y". And some more Win32/X11 differences -fixed for the clipboard (Webb). - -Jumping from one help file to another help file, with 'compatible' set, -removed the 'help' flag from the buffer. - -File-writable bit could be reset when using ":w!" for a readonly file. - -There was a wait for CTRL-O n in Insert mode, because the search pattern was -shown. -Reduced wait, to allow reading a message, from 10 to 3 seconds. It seemed -nothing was happening. - -":recover" found same swap file twice. - -GUI: "*yy only worked the second time (when pasting to an xterm)." - -DJGPP version (dos32): The system flags were cleared. - -Dos32 version: Underscores were sometimes replaced with y-umlaut (Levin). - -Version 4.1 of ncurses can't handle tputs("", ..). Avoid calling tputs() with -an empty string. - -<S-Tab> in the command-line worked like CTRL-P when no completion started yet. -Now it does completion, last match first. - -Unix: Could get annoying "can't write viminfo" message after doing "su". Now -the viminfo file is overwritten, and the user set back to the original one. - -":set term=builtin_gui" started the GUI in a wrong way. Now it's not -allowed anymore. But "vim -T gui" does start the GUI correctly now. - -GUI: Triple click after a line only put last char in selection, when it is a -single character word. - -When the window is bigger than the screen, the scrolling up of messages was -wrong (e.g. ":vers", ":hi"). Also when the bottom part of the window was -obscured by another window. - -When using a wrong option only an error message is printed, to avoid that the -usage information makes it scroll off the screen. - -When exiting because of not being able to read from stdin, didn't preserve the -swap files properly. - -Visual selecting all chars in more than one line, then hit "x" didn't leave an -empty line. For one line it did leave an empty line. - -Message for which autocommand is executing messed up file write message (for -FileWritePost event). - -"vim -h" included "-U" even when GUI is not available, and "-l" when lisp is -not available. - -Crash for ":he <C-A>" (command-line longer than screen). - -":s/this/that/gc", type "y" two times, then undo, did reset the modified -option, even though the file is still modified. - -Empty lines in a tags file caused a ":tag" to be aborted. - -When hitting 'q' at the more prompt for ":menu", still scrolled a few lines. - -In an xterm that uses the bold trick a single row of characters could remain -after an erased bold character. Now erase one extra char after the bold char, -like for the GUI. - -":pop!" didn't work. - -When the reading a buffer was interrupted, ":w" should not be able to -overwrite the file, ":w!" is required. - -":cf%" caused a crash. - -":gui longfilename", when forking is enabled, could leave part of the -longfilename at the shell prompt. - -============================================================================== -VERSION 5.1 *version-5.1* - -Improvements made between version 5.0 and 5.1. - -This was mostly a bug-fix release, not many new features. - - -Changed *changed-5.1* -------- - -The expand() function now separates file names with <NL> instead of a space. -This avoids problems for file names with embedded spaces. To get the old -result, use substitute(expand(foo), "\n", " ", "g"). - -For Insert-expanding dictionaries allow a backslash to be used for -wildchars. Allows expanding "ze\kra", when 'isk' includes a backslash. - -New icon for the Win32 GUI. - -":tag", ":tselect" etc. only use the argument as a regexp when it starts -with '/'. Avoids that ":tag xx~" gives an error message: "No previous sub. -regexp". Also, when the :tag argument contained wildcard characters, it was -not Vi compatible. -When using '/', the argument is taken literally too, with a higher priority, -so it's found before wildcard matches. -Only when the '/' is used are matches with different case found, even though -'ignorecase' isn't set. -Changed "g^]" to only do ":tselect" when there is more than on matching tag. - -Changed some of the default colors, because they were not very readable on a -dark background. - -A character offset to a search pattern can move the cursor to the next or -previous line. Also fixes that "/pattern/e+2" got stuck on "pattern" at the -end of a line. - -Double-clicks in the status line do no longer start Visual mode. Dragging a -status line no longer stops Visual mode. - -Perl interface: Buffers() and Windows() now use more logical arguments, like -they are used in the rest of Vim (Moore). - -Init '" mark to the first character of the first line. Makes it possible to -use '" in an autocommand without getting an error message. - - -Added *added-5.1* ------ - -"shell_error" internal variable: result of last shell command. - -":echohl" command: Set highlighting for ":echo". - -'S' flag in 'highlight' and StatusLineNC highlight group: highlighting for -status line of not-current window. Default is to use bold for current -window. - -Added buffer_name() and buffer_number() functions (Aaron). -Added flags argument "g" to substitute() function (Aaron). -Added winheight() function. - -Win32: When an external command starts with "start ", no console is opened -for it (Aaron). - -Win32 console: Use termcap codes for bold/reverse based on the current -console attributes. - -Configure check for "strip". (Napier) - -CTRL-R CTRL-R x in Insert mode: Insert the contents of a register literally, -instead of as typed. - -Made a few "No match" error messages more informative by adding the pattern -that didn't match. - -"make install" now also copies the macro files. - -tools/tcltags, a shell script to generate a tags file from a TCL file. - -"--with-tlib" setting for configure. Easy way to use termlib: "./configure ---with-tlib=termlib". - -'u' flag in 'cino' for setting the indent for contained () parts. - -When Win32 OLE version can't load the registered type library, ask the user -if he wants to register Vim now. (Erhardt) -Win32 with OLE: When registered automatically, exit Vim. -Included VisVim 1.1b, with a few enhancements and the new icon (Heiko -Erhardt). - -Added patch from Vince Negri for Win32s support. Needs to be compiled with -VC 4.1! - -Perl interface: Added $curbuf. Rationalized Buffers() and Windows(). -(Moore) Added "group" argument to Msg(). - -Included Perl files in DOS source archive. Changed Makefile.bor and -Makefile.w32 to support building a Win32 version with Perl included. - -Included new Makefile.w32 from Ken Scott. Now it's able to make all Win32 -versions, including OLE, Perl and Python. - -Added CTRL-W g ] and CTRL-W g ^]: split window and do g] or g^]. - -Added "g]" to always do ":tselect" for the ident under the cursor. -Added ":tjump" and ":stjump" commands. -Improved listing of ":tselect" when tag names are a bit long. - -Included patches for the Macintosh version. Also for Python interface. -(St-Amant) - -":buf foo" now also restores cursor column, when the buffer was used before. - -Adjusted the Makefile for different final destinations for the syntax files -and scripts (for Debian Linux). - -Amiga: $VIM can be used everywhere. When $VIM is not defined, "VIM:" is -used. This fixes that "VIM:" had to be assigned for the help files, and -$VIM set for the syntax files. Now either of these work. - -Some xterms send vt100 compatible function keys F1-F4. Since it's not -possible to detect this, recognize both type of keys and translate them to -<F1> - <F4>. - -Added "VimEnter" autocommand. Executed after loading all the startup stuff. - -BeOS version now also runs on Intel CPUs (Seibert). - - -Fixed *fixed-5.1* ------ - -":ts" changed position in the tag stack when cancelled with <CR>. -":ts" changed the cursor position for CTRL-T when cancelled with <CR>. -":tn" would always jump to the second match. Was using the wrong entry in -the tag stack. -Doing "tag foo", then ":tselect", overwrote the original cursor position in -the tag stack. - -"make install" changed the vim.1 manpage in a wrong way, causing "doc/doc" -to appear for the documentation files. - -When compiled with MAX_FEAT, xterm mouse handling failed. Was caused by DEC -mouse handling interfering. - -Was leaking memory when using selection in X11. - -CTRL-D halfway a command-line left some characters behind the first line(s) -of the listing. - -When expanding directories for ":set path=", put two extra backslashes -before a space in a directory name. - -When 'lisp' set, first line of a function would be indented. Now its indent -is set to zero. And use the indent of the first previous line that is at -the same () level. Added test33. - -"so<Esc>u" in an empty file didn't work. - -DOS: "seek error in swap file write" errors, when using DOS 6.2 share.exe, -because the swap file was made hidden. It's no longer hidden. - -":global" command would sometimes not execute on a matching line. Happened -when a data block is full in ml_replace(). - -For AIX use a tgetent buffer of 2048 bytes, instead of 1024. - -Win32 gvim now only sets the console size for external commands to 25x80 -on Windows 95, not on NT. - -Win32 console: Dead key could cause a crash, because of a missing "WINAPI" -(Deshpande). - -The right mouse button started Visual mode, even when 'mouse' is empty, and -in the command-line, a left click moved the cursor when 'mouse' is empty. -In Visual mode, 'n' in 'mouse' would be used instead of 'v'. - -A blinking cursor or focus change cleared a non-Visual selection. - -CTRL-Home and CTRL-End didn't work for MS-DOS versions. - -Could include NUL in 'iskeyword', causing a crash when doing insert mode -completion. - -Use _dos_commit() to flush the swap file to disk for MSDOS 16 bit version. - -In mappings, CTRL-H was replaced by the backspace key code. This caused -problems when it was used as text, e.g. ":map _U :%s/.^H//g<CR>". - -":set t_Co=0" was not handled like a normal term. Now it's translated into -":set t_Co=", which works. - -For ":syntax keyword" the "transparent" option did work, although not -mentioned in the help. But synID() returned wrong name. - -"gqG" in a file with one-word-per-line (e.g. a dictionary) was very slow and -not interruptible. - -"gq" operator inserted screen lines in the wrong situation. Now screen -lines are inserted or deleted when this speeds up displaying. - -cindent was wrong when an "if" contained "((". - -'r' flag in 'viminfo' was not used for '%'. Could get files in the buffer -list from removable media. - -Win32 GUI with OLE: if_ole_vc.mak could not be converted into a project. -Hand-edited to fix this... - -With 'nosol' set, doing "$kdw" below an empty line positioned the cursor at -the end of the line. - -Dos32 version changed "\dir\file" into "/dir/file", to work around a DJGPP -bug. That bug appears to have been fixed, therefore this translation has -been removed. - -"/^*" didn't work (find '*' in first column). - -"<afile>" was not always set for autocommands. E.g., for ":au BufEnter * -let &tags = expand("<afile>:p:h") . "/tags". - -In an xterm, the window may be a child of the outer xterm window. Use the -parent window when getting the title and icon names. (Smith) - -When starting with "gvim -bg black -fg white", the value of 'background' is -only set after reading the .gvimrc file. This causes a ":syntax on" to use -the wrong colors. Now allow using ":gui" to open the GUI window and set the -colors. Previously ":gui" in a gvimrc crashed Vim. - -tempname() returned the same name all the time, unless the file was actually -created. Now there are at least 26 different names. - -File name used for <afile> was sometimes full path, sometimes file name -relative to current directory. - -When 'background' was set after the GUI window was opened, it could change -colors that were set by the user in the .gvimrc file. Now it only changes -colors that have not been set by the user. - -Ignore special characters after a CSI in the GUI version. These could be -interpreted as special characters in a wrong way. (St-Amant) - -Memory leak in farsi code, when using search or ":s" command. -Farsi string reversing for a mapping was only done for new mappings. Now it -also works for replacing a mapping. - -Crash in Win32 when using a file name longer than _MAX_PATH. (Aaron) - -When BufDelete autocommands were executed, some things for the buffer were -already deleted (esp. Perl stuff). - -Perl interface: Buffer specific items were deleted too soon; fixes "screen -no longer exists" messages. (Moore) - -The Perl functions didn't set the 'modified' flag. - -link.sh did not return an error on exit, which may cause Vim to start -installing, even though there is no executable to install. (Riehm) - -Vi incompatibility: In Vi "." redoes the "y" command. Added the 'y' flag to -'cpoptions'. Only for 'compatible' mode. - -":echohl" defined a new group, when the argument was not an existing group. - -"syn on" and ":syn off" could move the cursor, if there is a hidden buffer -that is shorter that the current cursor position. - -The " mark was not set when doing ":b file". - -When a "nextgroup" is used with "skipwhite" in syntax highlighting, space at -the end of the line made the nextgroup also be found in the next line. - -":he g<CTRL-D>", then ":" and backspace to the start didn't redraw. - -X11 GUI: "gvim -rv" reversed the colors twice on Sun. Now Vim checks if the -result is really reverse video (background darker than foreground). - -"cat link.sh | vim -" didn't set syntax highlighting. - -Win32: Expanding "file.sw?" matched ".file.swp". This is an error of -FindnextFile() that we need to work around. (Kilgore) - -"gqgq" gave an "Invalid lnum" error on the last line. -Formatting with "gq" didn't format the first line after a change of comment -leader. - -There was no check for out-of-memory in win_alloc(). - -"vim -h" didn't mention "-register" and "-unregister" for the OLE version. - -Could not increase 'cmdheight' when the last window is only one line. Now -other windows are also made smaller, when necessary. - -Added a few {} to avoid "suggest braces around" warnings from gcc 2.8.x. -Changed return type of main() from void to int. (Nam) - -Using '~' twice in a substitute pattern caused a crash. - -"syn on" and ":syn off" could scroll the window, if there is a hidden buffer -that is shorter that the current cursor position. - -":if 0 | if 1 | endif | endif" didn't work. Same for ":while" and "elseif". - -With two windows on modified files, with 'autowrite' set, cursor in second -window, ":qa" gave a warning for the file in the first window, but then -auto-wrote the file in the second window. (Webb) - -Win32 GUI scrollbar could only handle 32767 lines. Also makes the -intellimouse wheel use the configurable number of scrolls. (Robinson) - -When using 'patchmode', and the backup file is on another partition, the file -copying messed up the write-file message. - -GUI X11: Alt-Backspace and Alt-Delete didn't work. - -"`0" could put the cursor after the last character in the line, causing -trouble for other commands, like "i". - -When completing tags in insert mode with ^X^], some matches were skipped, -because the compare with other tags was wrong. E.g., when "mnuFileSave" was -already there, "mnuFile" would be skipped. (Negri) - -When scrolling up/down, a syntax item with "keepend" didn't work properly. -Now the flags are also stored for the syntax state at the start of each line. - -When 'ic' was changed while 'hlsearch' is on, there was no redraw to show the -effect. - -Win32 GUI: Don't display "No write since last chance" in a message box, but in -the Vim window. - -============================================================================== -VERSION 5.2 *version-5.2* - -Improvements made between version 5.1 and 5.2. - - -Long lines editable *long-lines* -------------------- - -A single long line that doesn't fit in the window doesn't show a line of @@@ -anymore. Redrawing starts at a character further on in the line, such that -the text around the cursor can be seen. This makes it possible to edit these -long lines when wrapping is on. - - -File browser added *file-browser-5.2* ------------------- - -The Win32, Athena and Motif GUI bring up a file requester if the user asks to -":browse" for the ":e", ":w", ":r", ":so", ":redirect" and -":mkexrc/vimrc/vsess" commands. ":browse e /foo/bar" opens the requester in -the /foo/bar directory, so you can have nice mapping rhs's like ":browse so -$vim/macros". If no initial dir specified for ":browse e", can be compiled to -either begin in the current directory, or that of the current buffer. (Negri -and Kahn) -Added the 'browsedir' option, with value "current", "last" or "buffer". Tells -whether a browse dialog starts in last used dir, dir of current buffer, or -current dir. ":browse w" is unaffected. -The default menus have been changed to use the ":browse" command. - - -Dialogs added *dialogs-added* -------------- - -Added the ":confirm" command. Works on ":e", ":q", ":w", ":cl". Win32, -Athena and Motif GUI uses a window-dialog. All other platforms can use -prompt in command-line. ":confirm qa" offers a choice to save all modified -files. - -confirm() function: allows user access to the confirm engine. - -Added 'v' flag to 'guioptions'. When included, a vertical button layout is -always used for the Win32 GUI dialog. Otherwise, a horizontal layout is -preferred. - -Win32 GUI: ":promptfind" and ":promptrepl" pop up a dialog to find/replace. -To be used from a menu entry. (Negri) - - -Popup menu added *popup-menu-added* ----------------- - -When the 'mousemodel' option is set to "popup", the right mouse button -displays the top level menu headed with "PopUp" as pop-up context menu. The -"PopUp" menu is not displayed in the normal menu bar. This currently only -works for Win32 and Athena GUI. - - -Select mode added *new-Select-mode* ------------------ - -A new mode has been added: "Select mode". It is like Visual mode, but typing -a printable character replaces the selection. -- CTRL-G can be used to toggle between Visual mode and Select mode. -- CTRL-O can be used to switch from Select mode to Visual mode for one command. -- Added 'selectmode' option: tells when to start Select mode instead of Visual - mode. -- Added 'mousemodel' option: Change use of mouse buttons. -- Added 'keymodel' option: tells to use shifted special keys to start a - Visual or Select mode selection. -- Added ":behave". Can be used to quickly set 'selectmode', 'mousemodel' - and 'keymodel' for MS-Windows and xterm behavior. -- The xterm-like selection is now called modeless selection. -- Visual mode mappings and menus are used in Select mode. They automatically - switch to Visual mode first. Afterwards, reselect the area, unless it was - deleted. The "gV" command can be used in a mapping to skip the reselection. -- Added the "gh", "gH" and "g^H" commands: start Select (highlight) mode. -- Backspace in Select mode deletes the selected area. - -"mswin.vim" script. Sets behavior mostly like MS-Windows. - - -Session files added *new-session-files* -------------------- - -":mks[ession]" acts like "mkvimrc", but also writes the full filenames of the -currently loaded buffers and current directory, so that :so'ing the file -re-loads those files and cd's to that directory. Also stores and restores -windows. File names are made relative to session file. -The 'sessionoptions' option sets behavior of ":mksession". (Negri) - - -User defined functions and commands *new-user-defined* ------------------------------------ - -Added user defined functions. Defined with ":function" until ":endfunction". -Called with "Func()". Allows the use of a variable number of arguments. -Included support for local variables "l:name". Return a value with ":return". -See |:function|. -Call a function with ":call". When using a range, the function is called for -each line in the range. |:call| -"macros/justify.vim" is an example of using user defined functions. -User functions do not change the last used search pattern or the command to be -redone with ".". -'maxfuncdepth' option. Restricts the depth of function calls. Avoids trouble -(crash because of out-of-memory) when a function uses endless recursion. - -User definable Ex commands: ":command", ":delcommand" and ":comclear". -(Moore) See |user-commands|. - - -New interfaces *interfaces-5.2* --------------- - -Tcl interface. (Wilken) See |tcl|. -Uses the ":tcl", ":tcldo" and "tclfile" commands. - -Cscope support. (Kahn) (Sekera) See |cscope|. -Uses the ":cscope" and ":cstag" commands. Uses the options 'cscopeprg', -'cscopetag', 'cscopetagorder' and 'cscopeverbose'. - - -New ports *ports-5.2* ---------- - -Amiga GUI port. (Nielsen) Not tested much yet! - -RISC OS version. (Thomas Leonard) See |riscos|. -This version can run either with a GUI or in text mode, depending upon where -it is invoked. -Deleted the "os_archie" files, they were not working anyway. - - -Multi-byte support *new-multi-byte* ------------------- - -MultiByte support for Win32 GUI. (Baek) -The 'fileencoding' option decides how the text in the file is encoded. -":ascii" works for multi-byte characters. Multi-byte characters work on -Windows 95, even when using the US version. (Aaron) -Needs to be enabled in feature.h. -This has not been tested much yet! - - -New functions *new-functions-5.2* -------------- - -|browse()| puts up a file requester when available. (Negri) -|escape()| escapes characters in a string with a backslash. -|fnamemodify()| modifies a file name. -|input()| asks the user to enter a line. (Aaron) There is a separate - history for lines typed for the input() function. -|argc()| -|argv()| can be used to access the argument list. -|winbufnr()| buffer number of a window. (Aaron) -|winnr()| window number. (Aaron) -|matchstr()| Return matched string. -|setline()| Set a line to a string value. - - -New options *new-options-5.2* ------------ - -'allowrevins' Enable the CTRL-_ command in Insert and Command-line mode. -'browsedir' Tells in which directory a browse dialog starts. -'confirm' when set, :q :w and :e commands always act as if ":confirm" - is used. (Negri) -'cscopeprg' -'cscopetag' -'cscopetagorder' -'cscopeverbose' Set the |cscope| behavior. -'filetype' RISC-OS specific type of file. -'grepformat' -'grepprg' For the |:grep| command. -'keymodel' Tells to use shifted special keys to start a Visual or Select - mode selection. -'listchars' Set character to show in 'list' mode for end-of-line, tabs and - trailing spaces. (partly by Smith) Also sets character to - display if a line doesn't fit when 'nowrap' is set. -'matchpairs' Allows matching '<' with '>', and other single character - pairs. -'mousefocus' Window focus follows mouse (partly by Terhaar). Changing the - focus with a keyboard command moves the pointer to that - window. Also move the pointer when changing the window layout - (split window, change window height, etc.). -'mousemodel' Change use of mouse buttons. -'selection' When set to "inclusive" or "exclusive", the cursor can go one - character past the end of the line in Visual or Select mode. - When set to "old" the old behavior is used. When - "inclusive", the character under the cursor is included in the - operation. When using "exclusive", the new "ve" entry of - 'guicursor' is used. The default is a vertical bar. -'selectmode' Tells when to start Select mode instead of Visual mode. -'sessionoptions' Sets behavior of ":mksession". (Negri) -'showfulltag' When completing a tag in Insert mode, show the tag search - pattern (tidied up) as a choice as well (if there is one). -'swapfile' Whether to use a swap file for a buffer. -'syntax' When it is set, the syntax by that name is loaded. Allows for - setting a specific syntax from a modeline. -'ttymouse' Allows using xterm mouse codes for terminals which name - doesn't start with "xterm". -'wildignore' List of patterns for files that should not be completed at - all. -'wildmode' Can be used to set the type of expansion for 'wildchar'. - Replaces the CTRL-T command for command line completion. - Don't beep when listing all matches. -'winaltkeys' Win32 and Motif GUI. When "yes", ALT keys are handled - entirely by the window system. When "no", ALT keys are never - used by the window system. When "menu" it depends on whether - a key is a menu shortcut. -'winminheight' Minimal height for each window. Default is 1. Set to 0 if - you want zero-line windows. Scrollbar is removed for - zero-height windows. (Negri) - - - -New Ex commands *new-ex-commands-5.2* ---------------- - -|:badd| Add file name to buffer list without side effects. (Negri) -|:behave| Quickly set MS-Windows or xterm behavior. -|:browse| Use file selection dialog. -|:call| Call a function, optionally with a range. -|:cnewer| -|:colder| To access a stack of quickfix error lists. -|:comclear| Clear all user-defined commands. -|:command| Define a user command. -|:continue| Go back to ":while". -|:confirm| Ask confirmation if something unexpected happens. -|:cscope| Execute cscope command. -|:cstag| Use cscope to jump to a tag. -|:delcommand| Delete a user-defined command. -|:delfunction| Delete a user-defined function. -|:endfunction| End of user-defined function. -|:function| Define a user function. -|:grep| Works similar to ":make". (Negri) -|:mksession| Create a session file. -|:nohlsearch| Stop 'hlsearch' highlighting for a moment. -|:Print| This is Vi compatible. Does the same as ":print". -|:promptfind| Search dialog (Win32 GUI). -|:promptrepl| Search/replace dialog (Win32 GUI). -|:return| Return from a user-defined function. -|:simalt| Win32 GUI: Simulate alt-key pressed. (Negri) -|:smagic| Like ":substitute", but always use 'magic'. -|:snomagic| Like ":substitute", but always use 'nomagic'. -|:tcl| Execute TCL command. -|:tcldo| Execute TCL command for a range of lines. -|:tclfile| Execute a TCL script file. -|:tearoff| Tear-off a menu (Win32 GUI). -|:tmenu| -|:tunmenu| Win32 GUI: menu tooltips. (Negri) -|:star| :* Execute a register. - - -Changed *changed-5.2* -------- - -Renamed functions: - buffer_exists() -> bufexists() - buffer_name() -> bufname() - buffer_number() -> bufnr() - file_readable() -> filereadable() - highlight_exists() -> hlexists() - highlightID() -> hlID() - last_buffer_nr() -> bufnr("$") -The old ones are still there, for backwards compatibility. - -The CTRL-_ command in Insert and Command-line mode is only available when the -new 'allowrevins' option is set. Avoids that people who want to type SHIFT-_ -accidentally enter reverse Insert mode, and don't know how to get out. - -When a file name path in ":tselect" listing is too long, remove a part in the -middle and put "..." there. - -Win32 GUI: Made font selector appear inside Vim window, not just any odd -place. (Negri) - -":bn" skips help buffers, unless currently in a help buffer. (Negri) - -When there is a status line and only one window, don't show '^' in the status -line of the current window. - -":*" used to be used for "'<,'>", the Visual area. But in Vi it's used as an -alternative for ":@". When 'cpoptions' includes '*' this is Vi compatible. - -When 'insertmode' is set, using CTRL-O to execute a mapping will work like -'insertmode' was not set. This allows "normal" mappings to be used even when -'insertmode' is set. - -When 'mouse' was set already (e.g., in the .vimrc file), don't automatically -set 'mouse' when the GUI starts. - -Removed the 'N', 'I' and 'A' flags from the 'mouse' option. - -Renamed "toggle option" to "boolean option". Some people thought that ":set -xyz" would toggle 'xyz' on/off each time. - -The internal variable "shell_error" contains the error code from the shell, -instead of just 0 or 1. - -When inserting or replacing, typing CTRL-V CTRL-<CR> used to insert "<C-CR>". -That is not very useful. Now the CTRL key is ignored and a <CR> is inserted. -Same for all other "normal" keys with modifiers. Mapping these modified key -combinations is still possible. -In Insert mode, <C-CR> and <S-Space> can be inserted by using CTRL-K and then -the special character. - -Moved "quotes" file to doc/quotes.txt, and "todo" file to doc/todo.txt. They -are now installed like other documentation files. - -winheight() function returns -1 for a non-existing window. It used to be -zero, but that is a valid height now. - -The default for 'selection' is "inclusive", which makes a difference when -using "$" or the mouse to move the cursor in Visual mode. - -":q!" does not exit when there are changed buffers which are hidden. Use -":qa!" to exit anyway. - -Disabled the Perl/Python/Tcl interfaces by default. Not many people use them -and they make the executable a lot bigger. The internal scripting language is -now powerful enough for most tasks. - -The strings from the 'titlestring' and 'iconstring' options are used -untranslated for the Window title and icon. This allows for including a <CR>. -Previously a <CR> would be shown as "^M" (two characters). - -When a mapping is started in Visual or Select mode which was started from -Insert mode (the mode shows "(insert) Visual"), don't return to Insert mode -until the mapping has ended. Makes it possible to use a mapping in Visual -mode that also works when the Visual mode was started from Select mode. - -Menus in $VIMRUNTIME/menu.vim no longer overrule existing menus. This helps -when defining menus in the .vimrc file, or when sourcing mswin.vim. - -Unix: Use /var/tmp for .swp files, if it exists. Files there survive a -reboot (at least on Linux). - - -Added *added-5.2* ------ - ---with-motif-lib configure argument. Allows for using a static Motif library. - -Support for mapping numeric keypad +,-,*,/ keys. (Negri) -When not mapped, they produce the normal character. - -Win32 GUI: When directory dropped on Gvim, cd there and edit new buffer. -(Negri) - -Win32 GUI: Made CTRL-Break work as interrupt, so that CTRL-C can be -used for mappings. - -In the output of ":map", highlight the "*" to make clear it's not part of the -rhs. (Roemer) - -When showing the Visual area, the cursor is not switched off, so that it can -be located. The Visual area is now highlighted with a grey background in the -GUI. This makes the cursor visible when it's also reversed. - -Win32: When started with single full pathname (e.g. via double-clicked file), -cd to that file's directory. (Negri) - -Win32 GUI: Tear-off menus, with ":tearoff <menu-name>" command. (Negri) -'t' option to 'guioptions': Add tearoff menu items for Win32 GUI and Motif. -It's included by default. -Win32 GUI: tearoff menu with submenus is indicated with a ">>". (Negri) - -Added ^Kaa and ^KAA digraphs. -Added "euro" symbol to digraph.c. (Corry) - -Support for Motif menu shortcut keys, using '&' like MS-Windows (Ollis). -Other GUIs ignore '&' in a menu name. - -DJGPP: Faster screen updating (John Lange). - -Clustering of syntax groups ":syntax cluster" (Bigham). -Including syntax files: ":syntax include" (Bigham). - -Keep column when switching buffers, when 'nosol' is set (Radics). - -Number function for Perl interface. - -Support for Intellimouse in Athena GUI. (Jensen) - -":sleep" also accepts an argument in milliseconds, when "m" is used. - -Added 'p' flag in 'guioptions': Install callbacks for enter/leave window -events. Makes cursor blinking work for Terhaar, breaks it for me. - -"--help" and "--version" command-line arguments. - -Non-text in ":list" output is highlighted with NonText. - -Added text objects: "i(" and "i)" as synonym for "ib". "i{" and "i}" as -synonym for "iB". New: "i<" and "i>", to select <thing>. All this also for -"a" objects. - -'O' flag in 'shortmess': message for reading a file overwrites any previous -message. (Negri) - -Win32 GUI: 'T' flag in 'guioptions': switch toolbar on/off. -Included a list with self-made toolbar bitmaps. (Negri) - -Added menu priority for sub-menus. Implemented for Win32 and Motif GUI. -Display menu priority with ":menu" command. -Default and Syntax menus now include priority for items. Allows inserting -menu items in between the default ones. - -When the 'number' option is on, highlight line numbers with the LineNr group. - -"Ignore" highlight group: Text highlighted with this is made blank. It is -used to hide special characters in the help text. - -Included Exuberant Ctags version 2.3, with C++ support, Java support and -recurse into directories. (Hiebert) - -When a tags file is not sorted, and this is detected (in a simplistic way), an -error message is given. - -":unlet" accepts a "!", to ignore non-existing variables, and accepts more -than one argument. (Roemer) -Completion of variable names for ":unlet". (Roemer) - -When there is an error in a function which is called by another function, show -the call stack in the error message. - -New file name modifiers: -":.": reduce file name to be relative to current dir. -":~": reduce file name to be relative to home dir. -":s?pat?sub?": substitute "pat" with "sub" once. -":gs?pat?sub?": substitute "pat" with "sub" globally. - -New configure arguments: --enable-min-features and --enable-max-features. -Easy way to switch to minimum or maximum features. - -New compile-time feature: modify_fname. For file name modifiers, e.g, -"%:p:h". Can be disabled to save some code (16 bit DOS). - -When using whole-line completion in Insert mode, and 'cindent' is set, indent -the line properly. - -MSDOS and Win32 console: 'guicursor' sets cursor thickness. (Negri) - -Included new set of Farsi fonts. (Shiran) - -Accelerator text now also works in Motif. All menus can be defined with & for -mnemonic and TAB for accelerator text. They are ignored on systems that don't -support them. -When removing or replacing a menu, compare the menu name only up to the <Tab> -before the mnemonic. - -'i' and 'I' flags after ":substitute": ignore case or not. - -"make install" complains if the runtime files are missing. - -Unix: When finding an existing swap file that can't be opened, mention the -owner of the file in the ATTENTION message. - -The 'i', 't' and 'k' options in 'complete' now also print the place where they -are looking for matches. (Acevedo) - -"gJ" command: Join lines without inserting a space. - -Setting 'keywordprg' to "man -s" is handled specifically. The "-s" is removed -when no count given, the count is added otherwise. Configure checks if "man --s 2 read" works, and sets the default for 'keywordprg' accordingly. - -If you do a ":bd" and there is only one window open, Vim tries to move to a -buffer of the same type (i.e. non-help to non-help, help to help), for -consistent behavior to :bnext/:bprev. (Negri) - -Allow "<Nop>" to be used as the rhs of a mapping. ":map xx <Nop>", maps "xx" -to nothing at all. - -In a ":menu" command, "<Tab>" can be used instead of a real tab, in the menu -path. This makes it more easy to type, no backslash needed. - -POSIX compatible character classes for regexp patterns: [:alnum:], [:alpha:], -[:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], -[:space:], [:upper:] and [:xdigit:]. (Briscoe) - -regexp character classes (for fast syntax highlight matching): - digits: \d [0-9] \D not digit (Roemer) - hex: \x [0-9a-fA-F] \X not hex - octal: \o [0-7] \O not octal - word: \w [a-zA-Z0-9_] \W not word - head: \h [a-zA-Z_] \H not head - alphabetic: \a [a-zA-Z] \A not alphabetic - lowercase: \l [a-z] \L not lowercase - uppercase: \u [A-Z] \U not uppercase - -":set" now accepts "+=", |^=" and "-=": add or remove parts of a string -option, add or subtract a number from a number option. A comma is -automagically inserted or deleted for options that are a comma separated list. - -Filetype feature, for autocommands. Uses a file type instead of a pattern to -match a file. Currently only used for RISC OS. (Leonard) - -In a pattern for an autocommand, environment variables can be used. They are -expanded when the autocommand is defined. - -"BufFilePre" and "BufFilePost" autocommand evens: Before and after applying -the ":file" command to change the name of a buffer. -"VimLeavePre" autocommand event: before writing the .viminfo file. - -For autocommands argument: <abuf> is buffer number, like <afile>. - -Made syntax highlighting a bit faster when scrolling backwards, by keeping -more syncing context. - -Win32 GUI: Made scrolling faster by avoiding a redraw when deleting or -inserting screen lines. - -GUI: Made scrolling faster by not redrawing the scrollbar when the thumb moved -less than a pixel. - -Included ":highlight" in bugreport.vim. - -Created install.exe program, for simplistic installation on DOS and -MS-Windows. - -New register: '_', the black hole. When writing to it, nothing happens. When -reading from it, it's always empty. Can be used to avoid a delete or change -command to modify the registers, or reduce memory use for big changes. - -CTRL-V xff enters character by hex number. CTRL-V o123 enters character by -octal number. (Aaron) - -Improved performance of syntax highlighting by skipping check for "keepend" -when there isn't any. - -Moved the mode message ("-- INSERT --") to the last line of the screen. When -'cmdheight' is more than one, messages will remain readable. - -When listing matching files, they are also sorted on 'suffixes', such that -they are listed in the same order as CTRL-N retrieves them. - -synIDattr() takes a third argument (optionally), which tells for which -terminal type to get the attributes for. This makes it possible to run -2html.vim outside of gvim (using color names instead of #RRGGBB). - -Memory profiling, only for debugging. Prints at exit, and with "g^A" command. -(Kahn) - -DOS: When using a file in the current drive, remove the drive name: -"A:\dir\file" -> "\dir\file". This helps when moving a session file on a -floppy from "A:\dir" to "B:\dir". - -Increased number of remembered jumps from 30 to 50 per window. - -Command to temporarily disable 'hls' highlighting until the next search: -":nohlsearch". - -"gp" and "gP" commands: like "p" and "P", but leave the cursor just after the -inserted text. Used for the CTRL-V command in MS-Windows mode. - - -Fixed *fixed-5.2* ------ - -Win32 GUI: Could draw text twice in one place, for fake-bold text. Removed -this, Windows will handle the bold text anyway. (Negri) - -patch 5.1.1: Win32s GUI: pasting caused a crash (Negri) - -patch 5.1.2: When entering another window, where characters before the cursor -have been deleted, could have a cursor beyond the end of the line. - -patch 5.1.3: Win32s GUI: Didn't wait for external command to finish. (Negri) - -patch 5.1.4: Makefile.w32 can now also be used to generate the OLE version -(Scott). - -patch 5.1.5: Crashed when using syntax highlighting: cursor on a line that -doesn't fit in the window, and splitting that line in two. - -patch 5.1.6: Visual highlighting bug: After ":set nowrap", go to end of line -(so that the window scrolls horizontally), ":set wrap". Following Visual -selection was wrong. - -patch 5.1.7: When 'tagbsearch' off, and 'ignorecase' off, still could do -binary searching. - -patch 5.1.8: Win32 GUI: dragging the scrollbar didn't update the ruler. - -patch 5.1.9: Using ":gui" in .vimrc, caused xterm cursor to disappear. - -patch 5.1.10: A CTRL-N in Insert mode could cause a crash, when a buffer -without a name exists. - -patch 5.1.11: "make test" didn't work in the shadow directory. Also adjusted -"make shadow" for the links in the ctags directory. - -patch 5.1.12: "buf 123foo" used "123" as a count, instead as the start of a -buffer name. - -patch 5.1.13: When completing file names on the command-line, reallocating the -command-line may go wrong. - -patch 5.1.14: ":[nvci]unmenu" removed menu for all modes, when full menu patch -specified. - -Graceful handling of NULLs in drag-dropped file list. Handle passing NULL to -Fullname_save(). (Negri) - -Win32: ":!start" to invoke a program without opening a console, swapping -screens, or waiting for completion in either console or gui version, e.g. you -can type ":!start winfile". ALSO fixes "can't delete swapfile after spawning -a shell" bug. (enhancement of Aaron patch) (Negri) - -Win32 GUI: Fix CTRL-X default keymapping to be more Windows-like. (Negri) - -Shorten filenames on startup. If in /foo/bar, entering "vim ../bar/bang.c" -displays "bang.c" in status bar, not "/foo/bar/bang.c" (Negri) - -Win32 GUI: No copy to Windows clipboard when it's not desired. - -Win32s: Fix pasting from clipboard - made an assumption not valid under -Win32s. (Negri) - -Win32 GUI: Speed up calls to gui_mch_draw_string() and cursor drawing -functions. (Negri) - -Win32 GUI: Middle mouse button emulation now works in GUI! (Negri) - -Could skip messages when combining commands in one line, e.g.: -":echo "hello" | write". - -Perl interpreter was disabled before executing VimLeave autocommands. Could -not use ":perl" in them. (Aaron) - -Included patch for the Intellimouse (Aaron/Robinson). - -Could not set 'ls' to one, when last window has only one line. (Mitterand) - -Fixed a memory leak when removing menus. - -After ":only" the ruler could overwrite a message. - -Dos32: removed changing of __system_flags. It appears to work better when -it's left at the default value. - -p_aleph was an int instead of along, caused trouble on systems where -sizeof(int) != sizeof(long). (Schmidt) - -Fixed enum problems for Ultrix. (Seibert) - -Small redraw problem: "dd" on last line in file cleared wrong line. - -Didn't interpret "cmd | endif" when "cmd" starts with a range. E.g. "if 0 | -.d | endif". - -Command "+|" on the last line of the file caused ml_get errors. - -Memory underrun in eval_vars(). (Aaron) - -Don't rename files in a difficult way, except on Windows 95 (was also done on -Windows NT). - -Win32 GUI: An external command that produces an error code put the error -message in a dialog box. had to close the window and close the dialog. Now -the error code is displayed in the console. (Negri) - -"comctl32.lib" was missing from the GUI libraries in Makefile.w32. (Battle) - -In Insert mode, when entering a window in Insert mode, allow the cursor to be -one char beyond the text. - -Renamed machine dependent rename() to mch_rename(). Define mch_rename() to -rename() when it works properly. - -Rename vim_chdir() to mch_chdir(), because it's machine dependent. - -When using an arglist, and editing file 5 of 4, ":q" could cause "-1 more -files to edit" error. - -In if_python.c, VimCommand() caused an assertion when a do_cmdline() failed. -Moved the Python_Release_Vim() to before the VimErrorCheck(). (Harkins) - -Give an error message for an unknown argument after "--". E.g. for "vim ---xyz". - -The FileChangedShell autocommand didn't set <afile> to the name of the changed -file. - -When doing ":e file", causing the attention message, there sometimes was no -hit-enter prompt. Caused by empty line or "endif" at end of sourced file. - -A large number of patches for the VMS version. (Hunsaker) - -When CTRL-L completion (find longest match) results in a shorter string, no -completion is done (happens with ":help"). - -Crash in Win32 GUI version, when using an Ex "@" command, because -LinePointers[] was used while not initialized. - -Win32 GUI: allow mapping of Alt-Space. - -Output from "vim -h" was sent to stderr. Sending it to stdout is better, so -one can use "vim -h | more". - -In command-line mode, ":vi[!]" should reload the file, just like ":e[!]". -In Ex mode, ":vi" stops Ex mode, but doesn't reload the file. This is Vi -compatible. - -When using a ":set ls=1" in the .gvimrc file, would get a status line for a -single window. (Robinson) - -Didn't give an error message for ":set ai,xx". (Roemer) -Didn't give an error message for ":set ai?xx", ":set ai&xx", ":set ai!xx". - -Non-Unix systems: That a file exists but is unreadable is recognized as "new -file". Now check for existence when file can't be opened (like Unix). - -Unix: osdef.sh didn't handle declarations where the function name is at the -first column of the line. - -DJGPP: Shortening of file names didn't work properly, because get_cwd() -returned a path with backslashes. (Negri) - -When using a 'comments' part where a space is required after the middle part, -always insert a space when starting a new line. Helps for C comments, below a -line with "/****". - -Replacing path of home directory with "~/" could be wrong for file names -with embedded spaces or commas. - -A few fixes for the Sniff interface. (Leherbauer) - -When asking to hit 'y' or 'n' (e.g. for ":3,1d"), using the mouse caused -trouble. Same for ":s/x/y/c" prompt. - -With 'nowrap' and 'list', a Tab halfway on the screen was displayed as blanks, -instead of the characters specified with 'listchars'. Also for other -characters that take more than one screen character. - -When setting 'guifont' to an unknown font name, the previous font was lost and -a default font would be used. (Steed) - -DOS: Filenames in the root directory didn't get shortened properly. (Negri) - -DJGPP: making a full path name out of a file name didn't work properly when -there is no _fullpath() function. (Negri) - -Win32 console: ":sh" caused a crash. (Negri) - -Win32 console: Setting 'lines' and/or 'columns' in the _vimrc failed miserably -(could hang Windows 95). (Negri) - -Win32: The change-drive function was not correct, went to the wrong drive. -(Tsindlekht) - -GUI: When editing a command line in Ex mode, Tabs were sometimes not -backspaced properly, and unprintable characters were displayed directly. -non-GUI can still be wrong, because a system function is called for this. - -":set" didn't stop after an error. For example ":set no ai" gave an error for -"no", but still set "ai". Now ":set" stops after the first error. - -When running configure for ctags, $LDFLAGS wasn't passed to it, causing -trouble for IRIX. - -"@%" and "@#" when file name not set gave an error message. Now they just -return an empty string. (Steed) - -CTRL-X and CTRL-A didn't work correctly with negative hex and octal numbers. -(Steed) - -":echo" always started with a blank. - -Updating GUI cursor shape didn't always work (e.g., when blinking is off). - -In silent Ex mode ("ex -s" or "ex <file") ":s///p" didn't print a line. Also -a few other commands that explicitly print a text line didn't work. Made this -Vi compatible. - -Win32 version of _chdrive() didn't return correct value. (Tsindlekht) - -When using 't' in 'complete' option, no longer give an error message for a -missing tags file. - -Unix: tgoto() can return NULL, which was not handled correctly in configure. - -When doing ":help" from a buffer where 'binary' is set, also edited the help -file in binary mode. Caused extra ^Ms for DOS systems. - -Cursor position in a file was reset to 1 when closing a window. - -":!ls" in Ex mode switched off echo. - -When doing a double click in window A, while currently in window B, first -click would reset double click time, had to click three times to select a -word. - -When using <F11> in mappings, ":mkexrc" produced an exrc file that can't be -used in Vi compatible mode. Added setting of 'cpo' to avoid this. Also, add -a CTRL-V in front of a '<', to avoid a normal string to be interpreted as a -special key name. - -Gave confusing error message for ":set guifont=-*-lucida-*": first "font is -not fixed width", then "Unknown font". - -Some options were still completely left out, instead of included as hidden -options. - -While running the X11 GUI, ignore SIGHUP signals. Avoids a crash after -executing an external command (in rare cases). - -In os_unixx.h, signal() was defined to sigset(), while it already was. - -Memory leak when executing autocommands (was reported as a memory leak in -syntax highlighting). - -Didn't print source of error sometimes, because pointers were the same, -although names were different. - -Avoid a number of UMR errors from Purify (third argument to open()). - -A swap file could still be created just after setting 'updatecount' to zero, -when there is an empty buffer and doing ":e file". (Kutschera) - -Test 35 failed on 64 bit machines. (Schild) - -With "p" and "P" commands, redrawing was slow. - -Awk script for html documentation didn't work correctly with AIX awk. -Replaced "[ ,.);\] ]" with "[] ,.); ]". (Briscoe) -The makehtml.awk script had a small problem, causing extra lines to be -inserted. (Briscoe) - -"gqgq" could not be repeated. Repeating for "gugu" and "gUgU" worked in a -wrong way. Also made "gqq" work to be consistent with "guu". - -C indent was wrong after "case ':':". - -":au BufReadPre *.c put": Line from put text was deleted, because the buffer -was still assumed to be empty. - -Text pasted with the Edit/Paste menu was subject to 'textwidth' and -'autoindent'. That was inconsistent with using the mouse to paste. Now "*p -is used. - -When using CTRL-W CTRL-] on a word that's not a tag, and then CTRL-] on a tag, -window was split. - -":ts" got stuck on a tags line that has two extra fields. - -In Insert mode, with 'showmode' on, <C-O><C-G> message was directly -overwritten by mode message, if preceded with search command warning message. - -When putting the result of an expression with "=<expr>p, newlines were -inserted like ^@ (NUL in the file). Now the string is split up in lines at -the newline. - -putenv() was declared with "const char *" in pty.c, but with "char *" in -osdef2.h.in. Made the last one also "const char *". - -":help {word}", where +{word} is a feature, jumped to the feature list instead -of where the command was explained. E.g., ":help browse", ":help autocmd". - -Using the "\<xx>" form in an expression only got one byte, even when using a -special character that uses several bytes (e.g., "\<F9>"). -Changed "\<BS>" to produce CTRL-H instead of the special key code for the -backspace key. "\<Del>" produces 0x7f. - -":mkvimrc" didn't write a command to set 'compatible' or 'nocompatible'. - -The shell syntax didn't contain a "syn sync maxlines" setting. In a long file -without recognizable items, syncing took so long it looked like Vim hangs. -Added a maxlines setting, and made syncing interruptible. - -The "gs" command didn't flush output before waiting. - -Memory leaks for: - ":if 0 | let a = b . c | endif" - "let a = b[c]" - ":so {file}" where {file} contains a ":while" - -GUI: allocated fonts were never released. (Leonard) - -Makefile.bor: -- Changed $(DEFINES) into a list of "-D" options, so that it can also be used - for the resource compiler. (not tested!) -- "bcc.cfg" was used for all configurations. When building for another - configuration, the settings for the previous one would be used. Moved - "bcc.cfg" to the object directory. (Geddes) -- Included targets for vimrun, install, ctags and xxd. Changed the default to - use the Borland DLL Runtime Library, makes Vim.exe a log smaller. (Aaron) - -"2*" search for the word under the cursor with "2" prepended. (Leonard) - -When deleting into a specific register, would still overwrite the non-Win32 -GUI selection. Now ""x"*P works. - -When deleting into the "" register, would write to the last used register. -Now ""x always writes to the unnamed register. - -GUI Athena: A submenu with a '.' in it didn't work. E.g., -":amenu Syntax.XY\.Z.foo lll". - -When first doing ":tag foo" and then ":tnext" and/or ":tselect" the order of -matching tags could change, because the current file is different. Now the -existing matches are kept in the same order, newly found matches are added -after them, not matter what the current file is. - -":ta" didn't find the second entry in a tags file, if the second entry was -longer than the first one. - -When using ":set si tw=7" inserting "foo {^P}" made the "}" inserted at the -wrong position. can_si was still TRUE when the cursor is not in the indent of -the line. - -Running an external command in Win32 version had the problem that Vim exits -when the X on the console is hit (and confirmed). Now use the "vimrun" -command to start the external command indirectly. (Negri) - -Win32 GUI: When running an external filter, do it in a minimized DOS box. -(Negri) - -":let" listed variables without translation into printable characters. - -Win32 console: When resizing the window, switching back to the old size -(when exiting or executing an external command) sometimes failed. (Negri) -This appears to also fix a "non fixable" problem: -Win32 console in NT 4.0: When running Vim in a cmd window with a scrollbar, -the scrollbar disappeared and was not restored when Vim exits. This does work -under NT 3.51, it appears not to be a Vim problem. - -When executing BufDelete and BufUnload autocommands for a buffer without a -name, the name of the current buffer was used for <afile>. - -When jumping to a tag it reported "tag 1 of >2", while in fact there could be -only two matches. Changed to "tag 1 of 2 or more". - -":tjump tag" did a linear search in the tags file, which can be slow. - -Configure didn't find "LibXm.so.2.0", a Xm library with a version number. - -Win32 GUI: When using a shifted key with ALT, the shift modifier would remain -set, even when it was already used by changing the used key. E.g., "<M-S-9>" -resulted in "<M-S-(>", but it should be "<M-(>". (Negri) - -A call to ga_init() was often followed by setting growsize and itemsize. -Created ga_init2() for this, which looks better. (Aaron) - -Function filereadable() could call fopen() with an empty string, which might -be illegal. - -X Windows GUI: When executing an external command that outputs text, could -write one character beyond the end of a buffer, which caused a crash. (Kohan) - -When using "*" or "#" on a string that includes '/' or '?' (when these are -included in 'isk'), they were not escaped. (Parmelan) - -When adding a ToolBar menu in the Motif GUI, the submenu_id field was not -cleared, causing random problems. - -When adding a menu, the check if this menu (or submenu) name already exists -didn't compare with the simplified version (no mnemonic or accelerator) of the -new menu. Could get two menus with the same name, e.g., "File" and "&File". - -Breaking a line because of 'textwidth' at the last line in the window caused a -redraw of the whole window instead of a scroll. Speeds up normal typing with -'textwidth' a lot for slow terminals. - -An invalid line number produced an "invalid range" error, even when it wasn't -to be executed (inside "if 0"). - -When the unnamed, first buffer is re-used, the "BufDelete" autocommand was -not called. It would stick in a buffer list menu. - -When doing "%" on the NUL after the line, a "{" or "}" in the last character -of the line was not found. - -The Insert mode menu was not used for the "s" command, the Operator-pending -menu was used instead. - -With 'compatible' set, some syntax highlighting was not correct, because of -using "[\t]" for a search pattern. Now use the regexps for syntax -highlighting like the 'cpoptions' option is empty (as was documented already). - -When using "map <M-Space> ms" or "map <Space> sss" the output of ":map" didn't -show any lhs for the mapping (if 'isprint' includes 160). Now always use -<Space> and <M-Space>, even when they are printable. - -Adjusted the Syntax menu, so that the lowest entry fits on a small screen (for -Athena, where menus don't wrap). - -When using CTRL-E or CTRL-Y in Insert mode for characters like 'o', 'x' and -digits, repeating the insert didn't work. - -The file "tools/ccfilter.README.txt" could not be unpacked when using short -file names, because of the two dots. Renamed it to -"tools/ccfilter_README.txt". - -For a dark 'background', using Blue for Directory and SpecialKey highlight -groups is not very readable. Use Cyan instead. - -In the function uc_scan_attr() in ex_docmd.c there was a goto that jumped into -a block with a local variable. That's illegal for some compilers. - -Win32 GUI: There was a row of pixels at the bottom of the window which was not -drawn. (Aaron) - -Under DOS, editing "filename/" created a swap file of "filename/.swp". Should -be "filename/_swp". - -Win32 GUI: pointer was hidden when executing an external command. - -When 'so' is 999, "J" near the end of the file didn't redisplay correctly. - -":0a" inserted after the first line, instead of before the first line. - -Unix: Wildcard expansion didn't handle single quotes and {} patterns. Now -":file 'window.c'" removes the quotes and ":e 'main*.c'" works (literal '*'). -":file {o}{n}{e}" now results in file name "one". - -Memory leak when setting a string option back to its default value. - -============================================================================== -VERSION 5.3 *version-5.3* - -Version 5.3 was a bug-fix version of 5.2. There are not many changes. -Improvements made between version 5.2 and 5.3: - -Changed *changed-5.3* -------- - -Renamed "IDE" menu to "Tools" menu. - - -Added *added-5.3* ------ - -Win32 GUI: Give a warning when Vim is activated, and one of the files changed -since editing started. (Negri) - - -Fixed *fixed-5.3* ------ - -5.2.1: Win32 GUI: space for external command was not properly allocated, could -cause a crash. (Aaron) This was the reason to bring out 5.3 quickly after -5.2. - -5.2.2: Some commands didn't complain when used without an argument, although -they need one: ":badd", ":browse", ":call", ":confirm", ":behave", -":delfunction", ":delcommand" and ":tearoff". -":endfunction" outside of a function gave wrong error message: "Command not -implemented". Should be ":endfunction not inside a function". - -5.2.3: Win32 GUI: When gvim was installed in "Program files", or another path -with a space in it, executing external commands with vimrun didn't work. - -5.2.4: Pasting with the mouse in Insert mode left the cursor on the last -pasted character, instead of behind it. - -5.2.5: In Insert mode, cursor after the end of the line, a shift-cursor-left -didn't include the last character in the selection. - -5.2.6: When deleting text from Insert mode (with "<C-O>D" or the mouse), which -includes the last character in the line, the cursor could be left on the last -character in the line, instead of just after it. - -5.2.7: Win32 GUI: scrollbar was one pixel too big. - -5.2.8: Completion of "PopUp" menu showed the derivatives "PopUpc", "PopUPi", -etc. ":menu" also showed these. - -5.2.9: When using two input() functions on a row, the prompt would not be -drawn in column 0. - -5.2.10: A loop with input() could not be broken with CTRL-C. - -5.2.11: ":call asdf" and ":call asdf(" didn't give an error message. - -5.2.12: Recursively using ":normal" crashes Vim after a while. E.g.: -":map gq :normal gq<CR>" - -5.2.13: Syntax highlighting used 'iskeyword' from wrong buffer. When using -":help", then "/\k*" in another window with 'hlsearch' set. - -5.2.14: When using ":source" from a function, global variables would not be -available unless "g:" was used. - -5.2.15: XPM files can have the extension ".pm", which is the same as for Perl -modules. Added "syntax/pmfile.vim" to handle this. - -5.2.16: On Win32 and Amiga, "echo expand("%:p:h")" removed one dirname in an -empty buffer. mch_Fullname() didn't append a slash at the end of a directory -name. - -Should include the character under the cursor in the Visual area when using -'selection' "exclusive". This wasn't done for "%", "e", "E", "t" and "f". - -""p would always put register 0, instead of the unnamed (last used) register. -Reverse the change that ""x doesn't write in the unnamed (last used) register. -It would always write in register 0, which isn't very useful. Use "-x for the -paste mappings in Visual mode. - -When there is one long line on the screen, and 'showcmd' is off, "0$" didn't -redraw the screen. - -Win32 GUI: When using 'mousehide', the pointer would flicker when the cursor -shape is changed. (Negri) - -When cancelling Visual mode, and the cursor moves to the start, the wanted -column wasn't set, "k" or "j" moved to the wrong column. - -When using ":browse" or ":confirm", was checking for a comment and separating -bar, which can break some commands. - -Included fixes for Macintosh. (Kielhorn) - -============================================================================== -VERSION 5.4 *version-5.4* - -Version 5.4 adds new features, useful changes and a lot of bug fixes. - - -Runtime directory introduced *new-runtime-dir* ----------------------------- - -The distributed runtime files are now in $VIMRUNTIME, the user files in $VIM. -You normally don't set $VIMRUNTIME but let Vim find it, by using -$VIM/vim{version}, or use $VIM when that doesn't exist. This allows for -separating the user files from the distributed files and makes it more easy to -upgrade to another version. It also makes it possible to keep two versions of -Vim around, each with their own runtime files. - -In the Unix distribution the runtime files have been moved to the "runtime" -directory. This makes it possible to copy all the runtime files at once, -without the need to know what needs to be copied. - -The archives for DOS, Windows, Amiga and OS/2 now have an extra top-level -"vim" directory. This is to make clear that user-modified files should be put -here. The directory that contains the executables doesn't have '-' or '.' -characters. This avoids strange extensions. - -The $VIM and $VIMRUNTIME variables are set when they are first used. This -allows them to be used by Perl, for example. - -The runtime files are also found in a directory called "$VIM/runtime". This -helps when running Vim after just unpacking the runtime archive. When using -an executable in the "src" directory, Vim checks if "vim54" or "runtime" can -be added after removing it. This make the runtime files be found just after -compiling. - -A default for $VIMRUNTIME can be given in the Unix Makefile. This is useful -if $VIM doesn't point to above the runtime directory but to e.g., "/etc/". - - -Filetype introduced *new-filetype-5.4* -------------------- - -Syntax files are now loaded with the new FileType autocommand. Old -"mysyntaxfile" files will no longer work. |filetypes| - -The scripts for loading syntax highlighting have been changed to use the -new Syntax autocommand event. - -This combination of Filetype and Syntax events allows tuning the syntax -highlighting a bit more, also when selected from the Syntax menu. The -FileType autocommand can also be used to set options and mappings specifically -for that type of file. - -The "$VIMRUNTIME/filetype.vim" file is not loaded automatically. The -":filetype on" command has been added for this. ":syntax on" also loads it. - -The 'filetype' option has been added. It is used to trigger the FileType -autocommand event, like the 'syntax' option does for the Syntax event. - -":set syntax=OFF" and ":set syntax=ON" can be used (in a modeline) to switch -syntax highlighting on/off for the current file. - -The Syntax menu commands have been moved to $VIMRUNTIME/menu.vim. The Syntax -menu is included both when ":filetype on" and when ":syntax manual" is used. - -Renamed the old 'filetype' option to 'osfiletype'. It was only used for -RISCOS. 'filetype' is now used for the common file type. - -Added the ":syntax manual" command. Allows manual selection of the syntax to -be used, e.g., from a modeline. - - -Vim script line continuation *new-line-continuation* ----------------------------- - -When an Ex line starts with a backslash, it is concatenated to the previous -line. This avoids the need for long lines. |line-continuation| (Roemer) -Example: > - if has("dialog_con") || - \ has("dialog_gui") - :let result = confirm("Enter your choice", - \ "&Yes\n&No\n&Maybe", - \ 2) - endif - - -Improved session files *improved-sessions* ----------------------- - -New words for 'sessionoptions': -- "help" Restore the help window. -- "blank" Restore empty windows. -- "winpos" Restore the Vim window position. Uses the new ":winpos" - command -- "buffers" Restore hidden and unloaded buffers. Without it only the - buffers in windows are restored. -- "slash" Replace backward by forward slashes in file names. -- "globals" Store global variables. -- "unix" Use unix file format (<NL> instead of <CR><NL>) - -The ":mksession" and 'sessionoptions' are now in the +mksession feature. - -The top line of the window is also restored when using a session file. - -":mksession" and ":mkvimrc" don't store 'fileformat', it should be detected -when loading a file. - -(Most of this was done by Vince Negri and Robert Webb) - - -Autocommands improved *improved-autocmds-5.4* ---------------------- - -New events: -|FileType| When the file type has been detected. -|FocusGained| When Vim got input focus. (Negri) -|FocusLost| When Vim lost input focus. (Negri) -|BufCreate| Called just after a new buffer has been created or has been - renamed. (Madsen) -|CursorHold| Triggered when no key has been typed for 'updatetime'. Can be - used to do something with the word under the cursor. (Negri) - Implemented CursorHold autocommand event for Unix. (Zellner) - Also for Amiga and MS-DOS. -|GUIEnter| Can be used to do something with the GUI window after it has - been created (e.g., a ":winpos 100 50"). -|BufHidden| When a buffer becomes hidden. Used to delete the - option-window when it becomes hidden. - -Also trigger |BufDelete| just before a buffer is going to be renamed. (Madsen) - -The "<amatch>" pattern can be used like "<afile>" for autocommands, except -that it is the matching value for the FileType and Syntax events. - -When ":let @/ = <string>" is used in an autocommand, this last search pattern -will be used after the autocommand finishes. - -Made loading autocommands a bit faster. Avoid doing strlen() on each exiting -pattern for each new pattern by remembering the length. - - -Encryption *new-encryption* ----------- - -Files can be encrypted when writing and decrypted when reading. Added the -'key' option, "-x" command line argument and ":X" command. |encryption| (based -on patch from Mohsin Ahmed) - -When reading a file, there is an automatic detection whether it has been -crypted. Vim will then prompt for the key. - -Note that the encryption method is not compatible with Vi. The encryption is -not unbreakable. This allows it to be exported from the US. - - -GTK GUI port *new-GTK-GUI* ------------- - -New GUI port for GTK+. Includes a toolbar, menu tearoffs, etc. |gui-gtk| -Added the |:helpfind| command. (Kahn and Dalecki) - - -Menu changes *menu-changes-5.4* ------------- - -Menus can now also be used in the console. It is enabled by the new -'wildmenu' option. This shows matches for command-line completion like a -menu. This works as a minimal file browser. - -The new |:emenu| command can be used to execute a menu item. - -Uses the last status line to list items, or inserts a line just above the -command line. (Negri) - -The 'wildcharx' option can be used to trigger 'wildmenu' completion from a -mapping. - -When compiled without menus, this can be detected with has("menu"). Also show -this in the ":version" output. Allow compiling GUI versions without menu -support. Only include toolbar support when there is menu support. - -Moved the "Window" menu all the way to the right (priority 70). Looks more -familiar for people working with MS-Windows, shouldn't matter for others. - -Included "Buffers" menu. Works with existing autocommands and functions. It -can be disabled by setting the "no_buffers_menu" variable. (Aaron and Madsen) - -Win32 supports separators in a menu: "-.*-". (Geddes) -Menu separators for Motif now work too. - -Made Popup menu for Motif GUI work. (Madsen) - -'M' flag in 'guioptions': Don't source the system menu. - -All the menu code has been moved from gui.c to menu.c. - - -Viminfo improved *improved-viminfo* ----------------- - -New flags for 'viminfo': -'!' Store global variables in the viminfo file if they are in uppercase - letters. (Negri) -'h' Do ":nohlsearch" when loading a viminfo file. - -Store search patterns in the viminfo file with their offset, magic, etc. Also -store the flag whether 'hlsearch' highlighting is on or off (which is not used -if the 'h' flag is in 'viminfo'). - -Give an error message when setting 'viminfo' without commas. - - -Various new commands *new-commands-5.4* --------------------- - -Operator |g?|: rot13 encoding. (Negri) - -|zH| and |zL| commands: Horizontal scrolling by half a page. -|gm| move cursor to middle of screen line. (Ideas by Campbell) - -Operations on Visual blocks: |v_b_I|, |v_b_A|, |v_b_c|, |v_b_C|, |v_b_r|, -|v_b_<| and |v_b_>|. (Kelly) - -New command: CTRL-\ CTRL-N, which does nothing in Normal mode, and goes to -Normal mode when in Insert or Command-line mode. Can be used by VisVim or -other OLE programs to make sure Vim is in Normal mode, without causing a beep. -|CTRL-\_CTRL-N| - -":cscope kill" command to use the connection filename. |:cscope| (Kahn) - -|:startinsert| command: Start Insert mode next. - -|:history| command, to show all four types of histories. (Roemer) - -|[m|, |[M|, |]m| and |]M| commands, for jumping backward/forward to start/end -of method in a (Java) class. - -":@*" executes the * register. |:@| (Acevedo) - -|go| and |:goto| commands: Jump to byte offset in the file. - -|gR| and |gr| command: Virtual Replace mode. Replace characters without -changing the layout. (Webb) - -":cd -" changes to the directory from before the previous ":cd" command. -|:cd-| (Webb) - -Tag preview commands |:ptag|. Shows the result of a ":tag" in a dedicated -window. Can be used to see the context of the tag (e.g., function arguments). -(Negri) -|:pclose| command, and CTRL-W CTRL-Z: Close preview window. (Moore) -'previewheight' option, height for the preview window. -Also |:ppop|, |:ptnext|, |:ptprevious|, |:ptNext|, |:ptrewind|, |:ptlast|. - -|:find| and |:sfind| commands: Find a file in 'path', (split window) and edit -it. - -The |:options| command opens an option window that shows the current option -values. Or use ":browse set" to open it. Options are grouped by function. -Offers short help on each option. Hit <CR> to jump to more help. Edit the -option value and hit <CR> on a "set" line to set a new value. - - -Various new options *new-options-5.4* -------------------- - -Scroll-binding: 'scrollbind' and 'scrollopt' options. Added |:syncbind| -command. Makes windows scroll the same amount (horizontally and/or -vertically). (Ralston) - -'conskey' option for MS-DOS. Use direct console I/O. This should work with -telnet (untested!). - -'statusline' option: Configurable contents of the status line. Also allows -showing the byte offset in the file. Highlighting with %1* to %9*, using the -new highlight groups User1 to User9. (Madsen) - -'rulerformat' option: Configurable contents of the ruler, like 'statusline'. -(Madsen) - -'write' option: When off, writing files is not allowed. Avoids overwriting a -file even with ":w!". The |-m| command line option resets 'write'. - -'clipboard' option: How the clipboard is used. Value "unnamed": Use unnamed -register like "*. (Cortopassi) Value "autoselect": Like what 'a' in -'guioptions' does but works in the terminal. - -'guifontset' option: Specify fonts for the +fontset feature, for the X11 GUI -versions. Allows using normal fonts when vim is compiled with this feature. -(Nam) - -'guiheadroom' option: How much room to allow above/below the GUI window. -Used for Motif, Athena and GTK. - -Implemented 'tagstack' option: When off, pushing tags onto the stack is -disabled (Vi compatible). Useful for mappings. - -'shellslash' option. Only for systems that use a backslash as a file -separator. This option will use a forward slash in file names when expanding -it. Useful when 'shell' is sh or csh. - -'pastetoggle' option: Key sequence that toggles 'paste'. Works around the -problem that mappings don't work in Insert mode when 'paste' is set. - -'display' option: When set to "lastline", the last line fills the window, -instead of being replaced with "@" lines. Only the last three characters are -replaced with "@@@", to indicate that the line has not finished yet. - -'switchbuf' option: Allows re-using existing windows on a buffer that is being -jumped to, or split the window to open a new buffer. (Roemer) - -'titleold' option. Replaces the fixed string "Thanks for flying Vim", which -is used to set the title when exiting. (Schild) - - -Vim scripts *new-script-5.4* ------------ - -The |exists()| function can also check for existence of a function. (Roemer) -An internal function is now found with a binary search, should be a bit -faster. (Roemer) - -New functions: -- |getwinposx()| and |getwinposy()|: get Vim window position. (Webb) -- |histnr()|, |histadd()|, |histget()| and |histdel()|: Make history - available. (Roemer) -- |maparg()|: Returns rhs of a mapping. Based on a patch from Vikas. -- |mapcheck()|: Check if a map name matches with an existing one. -- |visualmode()|: Return type of last Visual mode. (Webb) -- |libcall()|: Call a function in a library. Currently only for Win32. (Negri) -- |bufwinnr()|: find window that contains the specified buffer. (Roemer) -- |bufloaded()|: Whether a buffer exists and is loaded. -- |localtime()| and |getftime()|: wall clock time and last modification time - of a file (Webb) -- |glob()|: expand file name wildcards only. -- |system()|: get the raw output of an external command. (based on a patch - from Aaron). -- |strtrans()|: Translate String into printable characters. Used for - 2html.vim script. -- |append()|: easy way to append a line of text in a buffer. - -Changed functions: -- Optional argument to |strftime()| to give the time in seconds. (Webb) -- |expand()| now also returns names for files that don't exist. - -Allow numbers in the name of a user command. (Webb) - -Use "v:" for internal Vim variables: "v:errmsg", "v:shell_error", etc. The -ones from version 5.3 can be used without "v:" too, for backwards -compatibility. - -New variables: -"v:warningmsg" and "v:statusmsg" internal variables. Contain the last given -warning and status message. |v:warningmsg| |v:statusmsg| (Madsen) -"v:count1" variable: like "v:count", but defaults to one when no count is -used. |v:count1| - -When compiling without expression evaluation, "if 1" can be used around the -not supported commands to avoid it being executed. Works like in Vim 4.x. -Some of the runtime scripts gave errors when used with a Vim that was compiled -with minimal features. Now "if 1" is used around code that is not always -supported. - -When evaluating an expression with && and ||, skip the parts that will not -influence the outcome. This makes it faster and avoids error messages. (Webb) -Also optimized the skipping of expressions inside an "if 0". - - -Avoid hit-enter prompt *avoid-hit-enter* ------------------------ - -Added 'T' flag to 'shortmess': Truncate all messages that would cause the -hit-enter prompt (unless that would happen anyway). -The 'O' flag in 'shortmess' now also applies to quickfix messages, e.g., from -the ":cn" command. - -The default for 'shortmess' is now "filnxtToO", to make most messages fit on -the command line, and not cause the hit-enter prompt. - -Previous messages can be viewed with the new |:messages| command. - -Some messages are shown fully, even when 'shortmess' tells to shorten -messages, because the user is expected to want to see them in full: CTRL-G and -some quickfix commands. - - -Improved quickfix *improved-quickfix* ------------------ - -Parse change-directory lines for gmake: "make[1]: Entering directory 'name'". -Uses "%D" and "%X" in 'errorformat'. -Also parse "Making {target} in {dir}" messages from make. Helps when not -using GNU make. (Schandl) - -Use 'isfname' for "%f" in 'errorformat'. - -Parsing of multi-line messages. |errorformat-multi-line| - -Allow a range for the |:clist| command. (Roemer) - -Support for "global" file names, for error formats that output the file name -once for several errors. (Roemer) - -|:cnfile| jumps to first error in next file. - -"$*" in 'makeprg' is replaced by arguments to ":make". (Roemer) - - -Regular expressions *regexp-changes-5.4* -------------------- - -In a regexp, a '$' before "\)" is also considered to be an end-of-line. |/$| -In patterns "^" after "\|" or "\(" is a start-of-line. |/^| (Robinson) - -In a regexp, in front of "\)" and "\|" both "$" and "\$" were considered -end-of-line. Now use "$" as end-of-line and "\$" for a literal dollar. Same -for '^' after "\(" and "\|". |/\$| |/\^| - -Some search patterns can be extremely slow, even though they are not really -illegal. For example: "\([^a-z]\+\)\+Q". Allow interrupting any regexp -search with CTRL-C. - -Register "/: last search string (read-only). (Kohan) Changed to use last used -search pattern (like what 'hlsearch' uses). Can set the search pattern with -":let @/ = {expr}". - -Added character classes to search patterns, to avoid the need for removing the -'l' flag from 'cpoptions': |[:tab:]|, |[:return:]|, |[:backspace:]| and -|[:escape:]|. - -By adding a '?' after a comparative operator in an expression, the comparison -is done by ignoring case. |expr-==?| - - -Other improvements made between version 5.3 and 5.4 ---------------------------------------------------- - -Changed *changed-5.4* -------- - -Unix: Use $TMPDIR for temporary files, if it is set and exists. - -Removed "Empty buffer" message. It isn't useful and can cause a hit-enter -prompt. (Negri) - -"ex -" now reads commands from stdin and works in silent mode. This is to be -compatible with the original "ex" command that is used for scripts. - -Default range for ":tcldo" is the whole file. - -Cancelling Visual mode with ESC moved the cursor. There appears to be no -reason for this. Now leave the cursor where it is. - -The ":grep" and ":make" commands see " as part of the arguments, instead of -the start of a comment. - -In expressions the "=~" and "!~" operators no longer are affected by -'ignorecase'. - -Renamed vimrc_example to vimrc_example.vim and gvimrc_example to -gvimrc_example.vim. Makes them being recognized as vim scripts. - -"gd" no longer starts searching at the end of the previous function, but at -the first blank line above the start of the current function. Avoids that -using "gd" in the first function finds global a variable. - -Default for 'complete' changed from ".,b" to ".,w,b,u,t,i". Many more matches -will be found, at the cost of time (the search can be interrupted). - -It is no longer possible to set 'shell*' options from a modeline. Previously -only a warning message was given. This reduces security risks. - -The ordering of the index of documentation files was changed to make it more -easy to find a subject. - -On MS-DOS and win32, when $VIM was not set, $HOME was used. This caused -trouble if $HOME was set to e.g., "C:\" for some other tool, the runtime files -would not be found. Now use $HOME only for _vimrc, _gvimrc, etc., not to find -the runtime file. - -When 'tags' is "./{fname}" and there is no file name for the current buffer, -just use it. Previously it was skipped, causing "vim -t {tag}" not to find -many tags. - -When trying to select text in the 'scrolloff' area by mouse dragging, the -resulting scrolling made this difficult. Now 'scrolloff' is temporarily set -to 0 or 1 to avoid this. But still allow scrolling in the top line to extend -to above the displayed text. - -Default for 'comments' now includes "sl:/*,mb: *,ex:*/", to make javadoc -comments work. Also helps for C comments that start with "/*******". - -CTRL-X CTRL-] Insert mode tag expansion tried to expand to all tags when used -after a non-ID character, which can take a very long time. Now limit this to -200 matches. Also used for command-line tag completion. - -The OS/2 distribution has been split in two files. It was too big to fit on a -floppy. The same runtime archive as for the PC is now used. - -In the documentation, items like <a-z> have been replaced with {a-z} for -non-optional arguments. This avoids confusion with key names: <C-Z> is a -CTRL-Z, not a character between C and Z, that is {C-Z}. - - -Added *added-5.4* ------ - -Color support for the iris-ansi builtin termcap entry. (Tubman) - -Included VisVim version 1.3a. (Erhardt) - -Win32 port for SNiFF+ interface. (Leherbauer) -Documentation file for sniff interface: if_sniff.txt. (Leherbauer) - -Included the "SendToVim" and "OpenWithVim" programs in the OleVim directory. -To be used with the OLE version of gvim under MS-Windows. (Schaller) - -Included Exuberant Ctags version 3.2.4 with Eiffel support. (Hiebert) - -When a file that is being edited is deleted, give a warning (like when the -time stamp changed). - -Included newer versions of the HTML-generating Awk and Perl scripts. (Colombo) - -Linux console mouse support through "gpm". (Tsindlekht) - -Security fix: Disallow changing 'secure' and 'exrc' from a modeline. When -'secure' is set, give a warning for changing options that contain a program -name. - -Made the Perl interface work with Perl 5.005 and threads. (Verdoolaege) - -When giving an error message for an ambiguous mapping, include the offending -mapping. (Roemer) - -Command line editing: -- Command line completion of mappings. (Roemer) -- Command line completion for ":function", ":delfunction", ":let", ":call", - ":if", etc. (Roemer) -- When using CTRL-D completion for user commands that have - "-complete=tag_listfiles" also list the file names. (Madsen) -- Complete the arguments of the ":command" command. (Webb) -- CTRL-R . in command line inserts last inserted text. CTRL-F, CTRL-P, CTRL-W - and CTRL-A after CTRL-R are used to insert an object from under the cursor. - (Madsen) - -Made the text in uganda.txt about copying Vim a bit more clear. - -Updated the Vim tutor. Added the "vimtutor" command, which copies the tutor -and starts Vim on it. "make install" now also copies the tutor. - -In the output of ":clist" the current entry is highlighted, with the 'i' -highlighting (same as used for 'incsearch'). - -For the ":clist" command, you can scroll backwards with "b" (one screenful), -"u" (half a screenful) and "k" (one line). - -Multi-byte support: -- X-input method for multi-byte characters. And various fixes for multi-byte - support. (Nam) -- Hangul input method feature: |hangul|. (Nam) -- Cleaned up configuration of multi-byte support, XIM, fontset and Hangul - input. Each is now configurable separately. -- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam) -- Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam) -- XIM support for GTK+. (Nam) -- First attempt to include support for SJIS encoding. (Nagano) -- When a double-byte character doesn't fit at the end of the line, put a "~" - there and print it on the next line. -- Optimize output of multi-byte text. (Park) -- Win32 IME: preedit style is like over-the-spot. (Nagano) -- Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano) -- GUI Athena: file selection dialog can display multi-byte characters. - (Nagano) -- Selection reply for XA_TEXT as XA_STRING. (Nagano) - -"runtime/macros/diffwin.vim". Mappings to make a diff window. (Campbell) - -Added ".obj" to the 'suffixes' option. - -Reduced size of syntax/synload.vim by using the ":SynAu" user command. -Automated numbering of Syntax menu entries in menu.vim. -In the Syntax menu, insert separators between syntax names that start with -a different letter. (Geddes) - -Xterm: -- Clipboard support when using the mouse in an xterm. (Madsen) -- When using the xterm mouse, track dragging of the mouse. Use xterm escape - sequences when possible. It is more precise than other methods, but - requires a fairly recent xterm version. It is enabled with "xterm2" in - 'ttymouse'. (Madsen) -- Check xterm patch level, to set the value of 'ttymouse'. Has only been - added to xterm recently (patch level > 95). Uses the new 't_RV' termcap - option. Set 'ttymouse' to "xterm2" when a correct response is recognized. - Will make xterm mouse dragging work better. -- Support for shifted function keys on xterm. Changed codes for shifted - cursor keys to what the xterm actually produces. Added codes for shifted - <End> and <Home>. -- Added 't_WP' to set the window position in pixels and 't_WS' to set the - window size in characters. Xterm can now move (used for ":winpos") and - resize (use for ":set lines=" and ":set columns="). - -X11: -- When in Visual mode but not owning the selection, display the Visual area - with the VisualNOS group to show this. (Madsen) -- Support for requesting the type of clipboard support. Used for AIX and - dtterm. (Wittig) -- Support compound_text selection (even when compiled without multi-byte). - -Swap file: -- New variation for naming swap files: Replace path separators into %, place - all swap files in one directory. Used when a name in 'dir' ends in two path - separators. (Madsen) -- When a swap file is found, show whether it contains modifications or not in - the informative message. (Madsen) -- When dialogs are supported, use a dialog to ask the user what to do when a - swapfile already exists. - -"popup_setpos" in 'mousemodel' option. Allows for moving the cursor when -using the right mouse button. - -When a buffer is deleted, the selection for which buffer to display instead -now uses the most recent entry from the jump list. (Madsen) - -When using CTRL-O/CTRL-I, skip deleted buffers. - -A percentage is shown in the ruler, when there is room. - -Used autoconf 1.13 to generate configure. - -Included get_lisp_indent() from Dirk van Deun. Does better Lisp indenting -when 'p' flag in 'cpoptions' is not included. - -Made the 2html.vim script quite a bit faster. (based on ideas from Geddes) - -Unix: -- Included the name of the user that compiled Vim and the system name it was - compiled on in the version message. -- "make install" now also installs the "tools" directory. Makes them - available for everybody. -- "make check" now does the same as "make test". "make test" checks for - Visual block mode shift, insert, replace and change. -- Speed up comparing a file name with existing buffers by storing the - device/inode number with the buffer. -- Added configure arguments "--disable-gtk", "--disable-motif" and - "--disable-athena", to be able to disable a specific GUI (when it doesn't - work). -- Renamed the configure arguments for disabling the check for specific GUIs. - Should be clearer now. (Kahn) -- On a Digital Unix system ("OSF1") check for the curses library before - termlib and termcap. (Schild) -- "make uninstall_runtime" will only delete the version-specific files. Can - be used to delete the runtime files of a previous version. - -Macintosh: (St-Amant) -- Dragging the scrollbar, like it's done for the Win32 GUI. Moved common code - from gui_w32.c to gui.c -- Added dialogs and file browsing. -- Resource fork preserved, warning when it will be lost. -- Copy original file attributes to newly written file. -- Set title/notitle bug solved. -- Filename completion improved. -- Grow box limit resize to a char by char size. -- Use of rgb.txt for more colors (but give back bad color). -- Apple menu works (beside the about...). -- Internal border now vim compliant. -- Removing a menu doesn't crash anymore. -- Weak-linking of Python 1.5.1 (only on PPC). Python is supported when the - library is available. -- If an error is encountered when sourcing the users .vimrc, the alert box now - shows right away with the OK button defaulted. There's no more "Delete"-key - sign at the start of each line -- Better management of environment variables. Now $VIM is calculated only - once, not regenerated every time it is used. -- No more CPU hog when in background. -- In a sourced Vim script the Mac file format can be recognized, just like DOS - file format is. - -When both "unix" and "mac" are present in 'fileformats', prefer "mac" format -when there are more CR than NL characters. -When using "mac" fileformat, use CR instead of a NL, because NL is used for -NUL. Will preserve all characters in a file. (Madsen) - -The DOS install.exe now contains checks for an existing installation. It -avoids setting $VIM and $PATH again. -The install program for Dos/Windows can now install Vim in the popup menu, by -adding two registry keys. - -Port to EGCS/mingw32. New Makefile.ming. (Aaron) - -DOS 16 bit: Don't include cursor shape stuff. Save some bytes. - -TCL support to Makefile.w32. (Duperval) - -OS/2: Use argv[0] to find runtime files. - -When using "gf" to go to a buffer that has already been used, jump to the -line where the cursor last was. - -Colored the output of ":tselect" a bit more. Different highlighting between -tag name and file name. Highlight field name ("struct:") separately from -argument. - -Backtick expansion for non-Unix systems. Based on a patch from Aaron. -Allows the use of things like ":n `grep -l test *.c`" and -"echo expand('`ls m*`')". - -Check for the 'complete' option when it is set. (Acevedo) -'d' flag in 'complete' searches for defined names or macros. -While searching for Insert mode completions in include files and tags files, -check for typeahead, so that you can use matches early. (Webb) -The '.' flag in 'complete' now scans the current buffer completely, ignoring -'nowrapscan'. (Webb) - -Added '~' flag to 'whichwrap'. (Acevedo) - -When ending the Visual mode (e.g., with ESC) don't grab ownership of the -selection. - -In a color terminal, "fg" and "bg" can be used as color names. They stand for -the "Normal" colors. - -A few cscope cleanups. (Kahn) - -Included changed vimspell.sh from Schemenauer. - -Concatenation of strings in an expression with "." is a bit faster. (Roemer) - -The ":redir" command can now redirect to a register: ":redir @r". (Roemer) - -Made the output of ":marks" and ":jumps" look similar. When the mark is in -the current file, show the text at the mark. Also for ":tags". - -When configure finds ftello() and fseeko(), they are used in tag.c (for when -you have extremely big tags files). - -Configure check for "-FOlimit,2000" argument for the compiler. (Borsenkow) - -GUI: -- When using ":gui" in a non-GUI Vim, give a clear error message. -- "gvim -v" doesn't start the GUI (if console support is present). -- When in Ex mode, use non-Visual selection for the whole screen. -- When starting with "gvim -f" and using ":gui" in the .gvimrc file, Vim - forked anyway. Now the "-f" flag is remembered for ":gui". Added "gui -b" - to run gvim in the background anyway. - -Motif GUI: -- Check for "-lXp" library in configure (but it doesn't work yet...). -- Let configure check for Lesstif in "/usr/local/Lesstif/Motif*". Changed the - order to let a local Motif version override a system standard version. - -Win32 GUI: -- When using "-register" or "-unregister" in the non-OLE version, give an - error message. -- Use GTK toolbar icons. Make window border look better. Use sizing handles - on the lower left&right corners of the window. (Negri) -- When starting an external command with ":!start" and the command can not be - executed, give an error message. (Webb) -- Use sizing handles for the grey rectangles below the scrollbars. Can draw - toolbar in flat mode now, looks better. (Negri) -- Preparations for MS-Windows 3.1 addition. Mostly changing WIN32 to MSWIN - and USE_GUI_WIN32 to USE_GUI_MSWIN. (Negri) - -Avoid allocating the same string four times in buflist_findpat(). (Williams) - -Set title and icon text with termcap options 't_ts', 't_fs', 't_IS' and -'t_IE'. Allows doing this on any terminal that supports setting the title -and/or icon text. (Schild) - -New 'x' flag in 'comments': Automatically insert the end part when its last -character is typed. Helps to close a /* */ comment in C. (Webb) - -When expand() has a second argument which is non-zero, don't use 'suffixes' -and 'wildignore', return all matches. - -'O' flag in 'cpoptions' When not included, Vim will not overwrite a file, if -it didn't exist when editing started but it does exist when the buffer is -written to the file. The file must have been created outside of Vim, possibly -without the user knowing it. When this is detected after a shell command, -give a warning message. - -When editing a new file, CTRL-G will show [New file]. When there were errors -while reading the file, CTRL-G will show [Read errors]. - -":wall" can now use a dialog and file-browsing when needed. - -Grouped functionality into new features, mainly to reduce the size of the -minimal version: -+linebreak: 'showbreak', 'breakat' and 'linebreak' -+visualextra: "I"nsert and "A"ppend in Visual block mode, "c"hange all lines - in a block, ">" and "<": Shifting a block, "r": Replacing a - Visual area with one character. -+comments: 'comments' -+cmdline_info: 'ruler' and 'showcmd'. Replaces +showcmd. -"+title" Don't add code to set title or icon for MSDOS, this was not - possible anyway. -+cmdline_compl Disable commandline completion at compile time, except for - files, directories and help items. - -Moved features from a list of function calls into an array. Should save a bit -of space. - -While entering the body of a function, adjust indent according to "if" and -"while" commands. - -VMS: Adjusted os_vms.mms a bit according to suggestions from Arpadffy. - -The flags in the 'comments' option can now include an offset. This makes it -possible to align "/*****", "/* xxx" and "/*" comments with the same -'comments' setting. The default value for 'comments' uses this. -Added 'O' flag: Don't use this part for the "O" command. Useful for "set -com=sO:*\ -,mO:*\ \ ,exO:*/" - -FileType autocommands recognize ".bak", ".orig" and "~" extensions and remove -them to find the relevant extension. - -The tutorial for writing a Vim script file has been extended. - -Some more highlighting in help files, for items that are not typed literally. - -Can use "CTRL-W CTRL-G" like "CTRL-W g". - -"make test" for OS/2. - -Adjusted configure to automatically use the GUI for BeOS. - - -Fixed *fixed-5.4* ------ - -5.3.1: When using an autocommand for BufWritePre that changes the name of the -buffer, freed memory would be used. (Geddes) - -Mac: Compiler didn't understand start of skip_class_name(). - -Win32 GUI: -- When cancelling the font requester, don't give an error message. -- When a tearoff-menu is open and its menu is deleted, Vim could crash. - (Negri) -- There was a problem on Windows 95 with (un)maximizing the window. - (Williams) -- when 'mousehide' is set, the mouse would stay hidden when a menu is dropped - with the keyboard. (Ralston) -- The tempname() function already created the file. Caused problems when - using ":w". Now the file is deleted. -- Cursor disappeared when ending up in the top-left character on the screen - after scrolling. (Webb) -- When adding a submenu for a torn-off menu, it was not updated. -- Menu tooltip was using the toolbar tooltip. (Negri) -- Setting 'notitle' didn't remove the title. (Steed) -- Using ":!start cmd" scrolled the screen one line up, and didn't wait for - return when the command wasn't found. - -Cscope interface: Sorting of matches was wrong. Starting the interface could -fail. (Kahn) - -Motif GUI: Could not compile with Motif 1.1, because some tear-off -functionality was not in #ifdefs. - -Configure could sometimes not compile or link the test program for sizeof(int) -properly. This caused alignment problems for the undo structure allocations. -Added a safety check that SIZEOF_INT is not zero. - -Added configure check to test if strings.h can be included after string.h. -Some systems can't handle it. -Some systems need both string.h and strings.h included. Adjusted vim.h for -that. Removed including string.h from os_unixx.h, since it's already in -vim.h. (Savage) -AIX: defining _NO_PROTO in os_unix.h causes a conflict between string.h and -strings.h, but after the configure check said it was OK. Also define -_NO_PROTO for AIX in the configure check. (Winn) - -When closing a window with CTRL-W c, the value of 'hidden' was not taken into -account, the buffer was always unloaded. (Negri) - -Unix Makefile: "make install" always tried to rename an older executable and -remove it. This caused an error message when it didn't exit. Added a check -for the existence of an old executable. -The command line for "make install" could get too long, because of the many -syntax files. Now first do a "cd" to reduce the length. - -On RISCOS and MSDOS, reading a file could fail, because the short filename was -used, which can be wrong after a ":!cd". - -In the DOS versions, the wrong install.exe was included (required Windows). -Now the install.exe version is included that is the same as the Vim version. -This also supports long file names where possible. - -When recording, and stopping while in Insert mode with CTRL-O q, the CTRL-O -would also be recorded. - -32bit DOS version: "vim \file", while in a subdirectory, resulted in "new -file" for "file" in the local directory, while "\file" did exist. When -"file" in the current directory existed, this didn't happen. - -MSDOS: Mouse could not go beyond 80 columns in 132 columns mode. (Young) - -"make test" failed in the RedHat RPM, because compatible is off by default. - -In Insert mode <C-O><C-W><C-W> changes to other window, but the status bars -were not updated until another character was typed. - -MSDOS: environment options in lowercase didn't work, although they did in the -Win32 versions. (Negri) - -After ":nohlsearch", a tag command switched highlighting back on. - -When using "append" command as the last line in an autocommand, Vim would -crash. - -RISCOS: The scroll bumpers (?) were not working properly. (Leonard) - -"zl" and "zh" could move the cursor, but this didn't set the column in which -e.g., "k" would move the cursor. - -When doing ":set all&" the value of 'scroll' was not set correctly. This -caused an error message when later setting any other number option. - -When 'hlsearch' highlighting has been disabled with ":nohlsearch", -incremental searching would switch it back on too early. - -When listing tags for ":tselect", and using a non-search command, and the last -character was equal to the first (e.g., "99"), the last char would not be -shown. - -When searching for tags with ":tag" Vim would assume that all matches had been -found when there were still more (e.g. from another tags file). - -Win32: Didn't recognize "c:\" (e.g., in tags file) as absolute path when -upper/lowercase was different. - -Some xterms (Debian) send <Esc>OH for HOME and <Esc>OF for END. Added these -to the builtin-xterm. - -In ex mode, any CR was seen as the end of the line. Only a NL should be -handled that way. broke ":s/foo/some^Mtext/". - -In menu.vim, a vmenu was used to override an amenu. That didn't work, because -the system menu file doesn't overwrite existing menus. Added explicit vunmenu -to solve this. - -Configure check for terminal library could find a library that doesn't work at -runtime (Solaris: shared library not found). Added a check that a program -with tgoto() can run correctly. - -Unix: "echo -n" in the Makefile doesn't work on all systems, causing errors -compiling pathdef.c. Replaced it with "tr". - -Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files. - -Various XIM and multi-byte fixes: -- Fix user cannot see his language while he is typing his language with - off-the-spot method. (Nagano) -- Fix preedit position using text/edit area (using gui.wid). (Nagano) -- remove 'fix dead key' codes. It was needed since XNFocusWindow was - "x11_window", XNFocusWindow is now gui.wid. (Nagano) -- Remove some compile warnings and fix typos. (Namsh) -- For status area, check the gtk+ version while Vim runs. I believe it is - better than compile time check. (Namsh) -- Remove one FIXME for gtk+-xim. (Namsh) -- XIM: Dead keys didn't work for Czech. (Vyskovsky) -- Multibyte: If user input only 3byte such as mb1_mb2_eng or eng_mb1_mb2 VIM - could convert it to special character. (Nam) -- Athena/Motif with XIM: fix preedit area. (Nam) -- XIM: Composed strings were sometimes ignored. Vim crashed when compose - string was longer than 256 bytes. IM's geometry control is fixed. (Nam, - Nagano) -- Win32 multi-byte: hollowed cursor width on a double byte char was wrong. - (Nagano) -- When there is no GUI, selecting XIM caused compilation problems. - Automatically disable XIM when there is no GUI in configure. -- Motif and Athena: When compiled with XIM, but the input method was not - enabled, there would still be a status line. Now the status line is gone if - the input method doesn't work. (Nam) - -Win32: tooltip was not removed when selecting a parent menu (it was when -selecting a menu entry). (Negri) - -Unix with X: Some systems crash on exit, because of the XtCloseDisplay() call. -Removed it, it should not be necessary when exiting. - -Win32: Crash on keypress when compiled with Borland C++. (Aaron) - -When checking for Motif library files, prefer the same location as the include -files (with "include" replaced with "lib") above another entry. - -Athena GUI: Changed "XtOffset()" in gui_at_fs.c to "XtOffsetOf()", like it's -used in gui_x11.c. - -Win32: When testing for a timestamp of a file on floppy, would get a dialog -box when the floppy has been removed. Now return with an error. (Negri) - -Win32 OLE: When forced to come to the foreground, a minimized window was still -minimized, now it's restored. (Zivkov) - -There was no check for a positive 'shiftwidth'. A negative value could cause -a hangup, a zero value a crash. - -Athena GUI: horizontal scrollbar wasn't updated correctly when clicking right -or left of the thumb. - -When making a Visual-block selection in one window, and trying to scroll -another, could cause errors for accessing non-existent line numbers. - -When 'matchpairs' contains "`:'", jumping from the ` to the ' didn't work -properly. - -Changed '\"' to '"' to make it compatible with old C compilers. - -The command line expansion for mappings caused a script with a TAB between lhs -and rhs of a map command to fail. Assume the TAB is to separate lhs and rhs -when there are no mappings to expand. - -When editing a file with very long lines with 'scrolloff' set, "j" would -sometimes end up in a line which wasn't displayed. - -When editing a read-only file, it was completely read into memory, even when -it would not fit. Now create a swap file for a read-only file when running -out of memory while reading the file. - -When using ":set cino={s,e-s", a line after "} else {" was not indented -properly. Also added a check for this in test3.in. - -The Hebrew mapping for the command line was remembered for the next command -line. That isn't very useful, a command is not Hebrew. (Kol) - -When completing file names with embedded spaces, like "Program\ files", this -didn't work. Also for user commands. Moved backslash_halve() down to -mch_expandpath(). - -When using "set mouse=a" in Ex mode, mouse events were handled like typed -text. Then typing "quit" screwed up the mouse behavior of the xterm. - -When repeating an insert with "." that contains a CTRL-Y, a number 5 was -inserted as "053". - -Yanking a Visual area, with the cursor past the line, didn't move the cursor -back onto the line. Same for "~", "u", "U" and "g?" - -Win32: Default for 'grepprg' could be "findstr /n" even though there is no -findstr.exe (Windows 95). Check if it exists, and fall back to "grep -n" if -it doesn't. - -Because gui_mouse_moved() inserted a leftmouse click in the input buffer, -remapping a leftmouse click caused strange effects. Now Insert another code -in the input buffer. Also insert a leftmouse release, to avoid the problem -with ":map <LeftMouse> l" that the next release is seen as the release for the -focus click. - -With 'wrap' on, when using a line that doesn't fit on the screen, if the start -of the Visual area is before the start of the screen, there was no -highlighting. Also, 'showbreak' doesn't work properly. - -DOS, Win32: A pattern "[0-9]\+" didn't work in autocommands. - -When creating a swap file for a buffer which isn't the current buffer, could -get a mixup of short file name, resulting in a long file name when a short -file name was required. makeswapname() was calling modname() instead of -buf_modname(). - -When a function caused an error, and the error message was very long because -of recursiveness, this would cause a crash. - -'suffixes' were always compared with matching case. For MS-DOS, Win32 and -OS/2 case is now ignored. - -The use of CHARBITS in regexp.c didn't work on some Linux. Don't use it. - -When generating a script file, 'cpo' was made empty. This caused backslashes -to disappear from mappings. Set it to "B" to avoid that. - -Lots of typos in the documentation. (Campbell) - -When editing an existing (hidden) buffer, jump to the last used cursor -position. (Madsen) - -On a Sun the xterm screen was not restored properly when suspending. (Madsen) - -When $VIMINIT is processed, 'nocompatible' was only set after processing it. - -Unix: Polling for a character wasn't done for GPM, Sniff and Xterm clipboard -all together. Cleaned up the code for using select() too. - -When executing external commands from the GUI, some typeahead was lost. Added -some code to regain as much typeahead as possible. - -When the window height is 5 lines or fewer, <PageDown> didn't use a one-line -overlap, while <PageUp> does. Made sure that <PageUp> uses the same overlap -as <PageDown>, so that using them both always displays the same lines. - -Removed a few unused functions and variables (found with lint). - -Dictionary completion didn't use 'infercase'. (Raul) - -Configure tests failed when the Perl library was not in LD_LIBRARY_PATH. -Don't use the Perl library for configure tests, add it to the linker line only -when linking Vim. - -When using ncurses/terminfo, could get a 't_Sf' and 't_Sb' termcap entry that -has "%d" instead of "%p1%d". The light background colors didn't work then. - -GTK GUI with ncurses: Crashed when starting up in tputs(). Don't use tputs() -when the GUI is active. - -Could use the ":let" command to set the "count", "shell_error" and "version" -variables, but that didn't work. Give an error message when trying to set -them. - -On FreeBSD 3.0, tclsh is called tclsh8.0. Adjusted configure.in to find it. - -When Vim is linked with -lncurses, but python uses -ltermcap, this causes -trouble: "OOPS". Configure now removes the -ltermcap. - -:@" and :*" didn't work properly, because the " was recognized as the start of -a comment. - -Win32s GUI: Minimizing the console where a filter command runs in caused -trouble for detecting that the filter command has finished. (Negri) - -After executing a filter command from an xterm, the mouse would be disabled. -It would work again after changing the mode. - -Mac GUI: Crashed in newenv(). (St-Amant) - -The menus and mappings in mswin.vim didn't handle text ending in a NL -correctly. (Acevedo) - -The ":k" command didn't check if it had a valid argument or extra characters. -Now give a meaningful error message. (Webb) - -On SGI, the signal function doesn't always have three arguments. Check for -struct sigcontext to find out. Might still be wrong... - -Could crash when using 'hlsearch' and search pattern is "^". - -When search patterns were saved and restored, status of no_hlsearch was not -also saved and restored (from ":nohlsearch" command). - -When using setline() to make a line shorter, the cursor position was not -adjusted. - -MS-DOS and Win95: When trying to edit a file and accidentally adding a slash -or backslash at the end, the file was deleted. Probably when trying to create -the swap file. Explicitly check for a trailing slash or backslash before -trying to read a file. - -X11 GUI: When starting the GUI failed and received a deadly signal while -setting the title, would lock up when trying to exit, because the title is -reset again. Avoid using mch_settitle() recursively. - -X11 GUI: When starting the GUI fails, and then trying it again, would crash, -because argv[] has been freed and x11_display was reset to NULL. - -Win32: When $HOME was set, would put "~user" in the swap file, which would -never compare with a file name, and never cause the attention message. Put -the full path in the swap file instead. - -Win32 console: There were funny characters at the end of the "vim -r" swap -files message (direct output of CR CR LF). - -DOS 32 bit: "vim -r" put the text at the top of the window. - -GUI: With 'mousefocus' set, got mouse codes as text with "!sleep 100" or "Q". - -Motif and Win32 GUI: When changing 'guifont' to a font of the same size the -screen wasn't redrawn. - -Unix: When using ":make", jumping to a file b.c, which is already open as a -symbolic link a.c, opened a new buffer instead of using the existing one. - -Inserting text in the current buffer while sourcing the .vimrc file would -cause a crash or hang. The memfile for the current buffer was never -allocated. Now it's allocated as soon as something is written in the buffer. - -DOS 32 bit: "lightblue" background worked for text, but not drawn parts were -black. - -DOS: Colors of console were not restored upon exiting. - -When recording, with 'cmdheight' set to 2 and typing Esc> in Insert mode -caused the "recording" message to be doubled. - -Spurious "file changed" messages could happen on Windows. Now tolerate a one -second difference, like for Linux. - -GUI: When returning from Ex mode, scrollbars were not updated. - -Win32: Copying text to the clipboard containing a <CR>, pasting it would -replace it with a <NL> and drop the next character. - -Entering a double byte character didn't work if the second byte is in [xXoO]. -(Eric Lee) - -vim_realloc was both defined and had a prototype in proto/misc2.pro. Caused -conflicts on Solaris. - -A pattern in an autocommand was treated differently on DOS et al. than on -Unix. Now it's the same, also when using backslashes. - -When using <Tab> twice for command line completion, without a match, the <Tab> -would be inserted. (Negri) - -Bug in MS-Visual C++ 6.0 when compiling ex_docmd.c with optimization. (Negri) - -Testing the result of mktemp() for failure was wrong. Could cause a crash. -(Peters) - -GUI: When checking for a ".gvimrc" file in the current directory, didn't check -for a "_gvimrc" file too. - -Motif GUI: When using the popup menu and then adding an item to the menu bar, -the menu bar would get very high. - -Mouse clicks and special keys (e.g. cursor keys) quit the more prompt and -dialogs. Now they are ignored. - -When at the more-prompt, xterm selection didn't work. Now use the 'r' flag in -'mouse' also for the more-prompt. - -When selecting a Visual area of more than 1023 lines, with 'guioptions' set to -"a", could mess up the display because of a message in free_yank(). Removed -that message, except for the Amiga. - -Moved auto-selection from ui_write() to the screen update functions. Avoids -unexpected behavior from a low-level function. Also makes the different -feedback of owning the selection possible. - -Vi incompatibility: Using "i<CR>" in an indent, with 'ai' set, used the -original indent instead of truncating it at the cursor. (Webb) - -":echo x" didn't stop at "q" for the more prompt. - -Various fixes for Macintosh. (St-Amant) - -When using 'selectmode' set to "exclusive", selecting a word and then using -CTRL-] included the character under the cursor. - -Using ":let a:name" in a function caused a crash. (Webb) - -When using ":append", an empty line didn't scroll up. - -DOS etc.: A file name starting with '!' didn't work. Added '!' to default for -'isfname'. - -BeOS: Compilation problem with prototype of skip_class_name(). (Price) - -When deleting more than one line, e.g., with "de", could still use "U" -command, which didn't work properly then. - -Amiga: Could not compile ex_docmd.c, it was getting too big. Moved some -functions to ex_cmds.c. - -The expand() function would add a trailing slash for directories. - -Didn't give an error message when trying to assign a value to an argument of a -function. (Webb) - -Moved including sys/ptem.h to after termios.h. Needed for Sinix. - -OLE interface: Don't delete the object in CVimCF::Release() when the reference -count becomes zero. (Cordell) -VisVim could still crash on exit. (Erhardt) - -"case a: case b:" (two case statements in one line) aligned with the second -case. Now it uses one 'sw' for indent. (Webb) - -Font initialisation wasn't right for Athena/Motif GUI. Moved the call to -highlight_gui_started() gui_mch_init() to gui_mch_open(). (Nam) - -In Replace mode, backspacing over a TAB before where the replace mode started -while 'sts' is different from 'ts', would delete the TAB. - -Win32 console: When executing external commands and switching between the two -console screens, Vim would copy the text between the buffers. That caused the -screen to be messed up for backtick expansion. - -":winpos -1" then ":winpos" gave wrong error message. - -Windows commander creates files called c:\tmp\$wc\abc.txt. Don't remove the -backslash before the $. Environment variables were not expanded anyway, -because of the backslash before the dollar. - -Using "-=" with ":set" could remove half a part when it contains a "\,". -E.g., ":set path+=a\\,b" and then "set path-=b" removed ",b". - -When Visually selecting lines, with 'selection' set to "inclusive", including -the last char of the line, "<<" moved an extra line. Also for other operators -that always work on lines. - -link.sh changed "-lnsl_s" to "_s" when looking for "nsl" to be removed. -Now it only remove whole words. - -When jumped to a mark or using "fz", and there is an error, the current column -was lost. E.g. when using "$fzj". - -The "g CTRL-G" command could not be interrupted, even though it can take a -long time. - -Some terminals do have <F4> and <xF4>. <xF4> was always interpreted as <F4>. -Now map <xF4> to <F4>, so that the user can override this. - -When compiling os_win32.c with MIN_FEAT the apply_autocmds() should not be -used. (Aaron) - -This autocommand looped forever: ":au FileChangedShell * nested e <afile>" -Now FileChangeShell never nests. (Roemer) - -When evaluating an ":elseif" that was not going to matter anyway, ignore -errors. (Roemer) - -GUI Lesstif: Tearoff bar was the last item, instead of the first. - -GUI Motif: Colors of tear-off widgets was wrong when 't' flag added to -'guioptions' afterwards. When 't' flag in 'guioptions' is excluded, would -still get a tearoff item in a new menu. - -An inode number can be "long long". Use ino_t instead of long. Added -configure check for ino_t. - -Binary search for tags was using a file offset "long" instead of "off_t". - -Insert mode completion of tags was not using 'ignorecase' properly. - -In Insert mode, the <xFn> keys were not properly mapped to <Fn> for the -default mappings. Also caused errors for ":mkvimrc" and ":mksession". - -When jumping to another window while in Insert mode, would get the "warning: -changing readonly file" even when not making a change. - -A '(' or '{' inside a trailing "//" comment would disturb C-indenting. -When using two labels below each other, the second one was not indented -properly. Comments could mess up C-indenting in many places. (Roemer) - -Could delete or redefine a function while it was being used. Could cause a -crash. -In a function it's logical to prepend "g:" to a system variable, but this -didn't work. (Roemer) - -Hangul input: Buffer would overflow when user inputs invalid key sequence. -(Nam) - -When BufLoad or BufEnter autocommands change the topline of the buffer in the -window, it was overruled and the cursor put halfway the window. Now only put -the cursor halfway if the autocommands didn't change the topline. - -Calling exists("&option") always returned 1. (Roemer) - -Win32: Didn't take actually available memory into account. (Williams) - -White space after an automatically inserted comment leader was not removed -when 'ai' is not set and <CR> hit just after inserting it. (Webb) - -A few menus had duplicated accelerators. (Roemer) - -Spelling errors in documentation, quite a few "the the". (Roemer) - -Missing prototypes for Macintosh. (Kielhorn) - -Win32: When using 'shellquote' or 'shellxquote', the "!start cmd" wasn't -executed in a disconnected process. - -When resizing the window, causing a line before the cursor to wrap or unwrap, -the cursor was displayed in the wrong position. - -There was quite a bit of dead code when compiling with minimal features. - -When doing a ":%s///" command that makes lines shorter, such that lines above -the final cursor position no longer wrap, the cursor position was not updated. - -get_id_list() could allocate an array one too small, when a "contains=" item -has a wildcard that matches a group name that is added just after it. E.g.: -"contains=a.*b,axb". Give an error message for it. - -When yanking a Visual area and using the middle mouse button -> crash. When -clipboard doesn't work, now make "* always use "". - -Win32: Using ":buf a\ b\file" didn't work, it was interpreted as "ab\file". - -Using ":ts ident", then hit <CR>, with 'cmdheight' set to 2: command line was -not cleared, the tselect prompt was on the last but one line. - -mksession didn't restore the cursor column properly when it was after a tab. -Could not get all windows back when using a smaller terminal screen. Didn't -restore all windows when "winsize" was not in 'sessionoptions'. (Webb) - -Command line completion for ":buffer" depended on 'ignorecase' for Unix, but -not for DOS et al. Now don't use 'ignorecase', but let it depend on whether -file names are case sensitive or not (like when expanding file names). - -Win32 GUI: (Negri) -- Redrawing the background caused flicker when resizing the window. Removed - _OnEraseBG(). Removed CS_HREDRAW and CS_VREDRAW flags from the - sndclass.style. -- Some parts of the window were drawn in grey, instead of using the color from - the user color scheme. -- Dropping a file on gvim didn't activate the window. -- When there is no menu ('guioptions' excludes 'm'), never use the ALT key for - it. - -GUI: When resizing the window, would make the window height a bit smaller. -Now round off to the nearest char cell size. (Negri) - -In Vi the ")" and "(" commands don't stop at a single space after a dot. -Added 'J' flag in 'cpoptions' to make this behave Vi compatible. (Roemer) - -When saving a session without any buffers loaded, there would be a ":normal" -command without arguments in it. (Webb) - -Memory leaks fixed: (Madsen) -- eval.c: forgot to release func structure when func deleted -- ex_docmd.c: forgot to release string after "<sfile>" -- misc1.c: leak when completion pattern had no matches. -- os_unix.c: forgot to release regexp after file completions - -Could crash when using a buffer without a name. (Madsen) -Could crash when doing file name completion, because of backslash_halve(). -(Madsen) - -":@a" would do mappings on register a, which is not Vi compatible. (Roemer) - -":g/foo.*()/s/foobar/_&/gc" worked fine, but then "n" searched for "foobar" -and displayed "/foo.*()". (Roemer) - -OS/2: get_cmd_output() was not included. Didn't check for $VIM/.vimrc file. - -Command line completion of options didn't work after "+=" and "-=". - -Unix configure: Test for memmove()/bcopy()/memcpy() tried redefining these -functions, which could fail if they are defined already. Use mch_memmove() to -redefine. - -Unix: ":let a = expand("`xterm`&")" started an xterm asynchronously, but -":let a = expand("`xterm&`")" generated an error message, because the -redirection was put after the '&'. - -Win32 GUI: Dialog buttons could not be selected properly with cursor keys, -when the default is not the first button. (Webb) - -The "File has changed since editing started" (when regaining focus) could not -always be seen. (Webb) - -When starting with "ex filename", the file message was overwritten with -the "entering Ex mode" message. - -Output of ":tselect" listed name of file directly from the tags file. Now it -is corrected for the position of the tags file. - -When 'backspace' is 0, could backspace over autoindent. Now it is no longer -allowed (Vi compatible). - -In Replace mode, when 'noexpandtab' and 'smarttab' were set, and inserting -Tabs, backspacing didn't work correctly for Tabs inserted at the start of the -line (unless 'sts' was set too). Also, when replacing the first non-blank -after which is a space, rounding the indent was done on the first non-blank -instead of on the character under the cursor. - -When 'sw' at 4, 'ts' at 8 and 'smarttab' set: When a tab was appended after -four spaces (they are replaced with a tab) couldn't backspace over the tab. - -In Insert mode, with 'bs' set to 0, couldn't backspace to before autoindent, -even when it was removed with CTRL-D. - -When repeating an insert command where a <BS>, <Left> or other key causes an -error, would flush buffers and remain in Insert mode. No longer flush -buffers, only beep and continue with the insert command. - -Dos and Win32 console: Setting t_me didn't work to get another color. Made -this works backwards compatible. - -For Turkish (LANG = "tr") uppercase 'i' is not an 'I'. Use ASCII uppercase -translation in vim_strup() to avoid language problems. (Komur) - -Unix: Use usleep() or nanosleep() for mch_delay() when available. Hopefully -this avoids a hangup in select(0, ..) for Solaris 2.6. - -Vim would crash when using a script file with 'let &sp = "| tee"', starting -vim with "vim -u test", then doing ":set sp=". The P_WAS_SET flag wasn't set -for a string option, could cause problems with any string option. - -When using "cmd | vim -", stdin is not a terminal. This gave problems with -GPM (Linux console mouse) and when executing external commands. Now close -stdin and re-open it as a copy of stderr. - -Syntax highlighting: A "nextgroup" item was not properly stored in the state -list. This caused missing of next groups when not redrawing from start to -end, but starting halfway. - -Didn't check for valid values of 'ttymouse'. - -When executing an external command from the GUI, waiting for the child to -terminate might not work, causing a hang. (Parmelan) - -"make uninstall" didn't delete the vimrc_example.vim and gvimrc_example.vim -files and the vimtutor. - -Win32: "expand("%:p:h")" with no buffer name removed the directory name. -"fnamemodify("", ":p")" did not add a trailing slash, fname_case() removed it. - -Fixed: When 'hlsearch' was set and the 'c' flag was not in 'cpoptions': -highlighting was not correct. Now overlapping matches are handled correctly. - -Athena, Motif and GTK GUI: When started without focus, cursor was shown as if -with focus. - -Don't include 'shellpipe' when compiled without quickfix, it's not used. -Don't include 'dictionary' option when compiled without the +insert_expand -feature. -Only include the 'shelltype' option for the Amiga. - -When making a change to a line, with 'hlsearch' on, causing it to wrap, while -executing a register, the screen would not be updated correctly. This was a -generic problem in update_screenline() being called while must_redraw is -VALID. - -Using ":bdelete" in a BufUnload autocommand could cause a crash. The window -height was added to another window twice in close_window(). - -Win32 GUI: When removing a menu item, the tearoff wasn't updated. (Negri) - -Some performance bottlenecks removed. Allocating memory was not efficient. -For Win32 checking for available memory was slow, don't check it every time -now. On NT obtaining the user name takes a long time, cache the result (for -all systems). - -fnamemodify() with an argument ":~:." or ":.:~" didn't work properly. - -When editing a new file and exiting, the marks for the buffer were not saved -in the viminfo file. - -":confirm only" didn't put up a dialog. - -These text objects didn't work when 'selection' was "exclusive": va( vi( va{ -vi{ va< vi< vi[ va[. - -The dialog for writing a readonly file didn't have a valid default. (Negri) - -The line number used for error messages when sourcing a file was reset when -modelines were inspected. It was wrong when executing a function. - -The file name and line number for an error message wasn't displayed when it -was the same as for the last error, even when this was long ago. Now reset -the name/lnum after a hit-enter prompt. - -In a session file, a "%" in a file name caused trouble, because fprintf() was -used to write it to the file. - -When skipping statements, a mark in an address wasn't skipped correctly: -"ka|if 0|'ad|else|echo|endif". (Roemer) - -":wall" could overwrite a not-edited file without asking. - -GUI: When $DISPLAY was not set or starting the GUI failed in another way, the -console mode then started with wrong colors and skipped initializations. Now -do an early check if the GUI can be started. Don't source the menu.vim or -gvimrc when it will not. Also do normal terminal initializations if the GUI -might not start. - -When using a BufEnter autocommand to position the cursor and scroll the -window, the cursor was always put at the last used line and halfway the window -anyhow. - -When 'wildmode' was set to "longest,list:full", ":e *.c<Tab><Tab>" didn't list -the matches. Also avoid that listing after a "longest" lists the wrong -matches when the first expansion changed the string in front of the cursor. - -When using ":insert", ":append" or ":change" inside a while loop, was not able -to break out of it with a CTRL-C. - -Win32: ":e ." took an awful long time before an error message when used in -"C:\". Was caused by adding another backslash and then trying to get the full -name for "C:\\". - -":winpos -10 100" was working like ":winpos -10 -10", because a pointer was -not advanced past the '-' sign. - -When obtaining the value of a hidden option, would give an error message. Now -just use a zero value. - -OS/2: Was using argv[0], even though it was not a useful name. It could be -just "vim", found in the search path. - -Xterm: ":set columns=78" didn't redraw properly (when lines wrap/unwrap) until -after a delay of 'updatetime'. Didn't check for the size-changed signal. - -'scrollbind' didn't work in Insert mode. -Horizontal scrollbinding didn't always work for "0" and "$" commands (e.g., -when 'showcmd' was off). - -When compiled with minimal features but with GUI, switching on the mouse in an -xterm caused garbage, because the mouse codes were not recognized. Don't -enable the mouse when it can't be recognized. In the GUI it also didn't work, -the arguments to the mouse code were not interpreted. - -When 'showbreak' used, in Insert mode, when the cursor is just after the last -character in the line, which is also the in the rightmost column, the cursor -position would be like the 'showbreak' string is shown, but it wasn't. - -Autocommands could move the cursor in a new file, so that CTRL-W i didn't show -the right line. Same for when using a filemark to jump to another file. - -When redefining the argument list, the title used for other windows could be -showing the wrong info about the position in the argument list. Also update -this for a ":split" command without arguments. - -When editing file 97 of 13, ":Next" didn't work. Now it goes to the last -file in the argument list. - -Insert mode completion (for dictionaries or included files) could not be -interrupted by typing an <Esc>. Could get hit-enter prompt after line -completion, or whenever the informative message would get too long. - -When using the ":edit" command to re-edit the same file, an autocommand to -jump to the last cursor position caused the cursor to move. Now set the last -used cursor position to avoid this. - -When 'comments' has a part that starts with white space, formatting the -comment didn't work. - -At the ":tselect" prompt Normal mode mappings were used. That has been -disabled. - -When 'selection' is not "old", some commands still didn't allow the cursor -past the end-of-line in Visual mode. - -Athena: When a menu was deleted, it would appear again (but not functional) -when adding another menu. Now they don't reappear anymore (although they are -not really deleted either). - -Borland C++ 4.x had an optimizer problem in fill_breakat_flags(). (Negri) - -"ze" didn't work when 'number' was on. (Davis) - -Win32 GUI: Intellimouse code didn't work properly on Windows 98. (Robinson) - -A few files were including proto.h a second time, after vim.h had already done -that, which could cause problems with the vim_realloc() macro. - -Win32 console: <M-x> or ALT-x was not recognized. Also keypad '+', '-' and -'*'. (Negri) -MS-DOS: <M-x> didn't work, produced a two-byte code. Now the alphabetic and -number keys work. (Negri) - -When finding a lot of matches for a tag completion, the check for avoiding -double matches could take a lot of time. Add a line_breakcheck() to be able -to interrupt this. (Deshpande) - -When the command line was getting longer than the screen, the more-prompt -would be given regularly, and the cursor position would be wrong. Now only -show the part of the command line that fits on the screen and force the cursor -to be positioned on the visible part. There can be text after the cursor -which isn't editable. - -At the more prompt and with the console dialog, a cursor key was interpreted -as <Esc> and OA. Now recognize special keys in get_keystroke(). Ignore mouse -and scrollbar events. - -When typing a BS after inserting a middle comment leader, typing the last char -of the end comment leader still changed it into the end comment leader. (Webb) - -When a file system is full, writing to a swap file failed. Now first try to -write one block to the file. Try next entry in 'dir' if it fails. - -When "~" is in 'whichwrap', doing "~" on last char of a line didn't update the -display. - -Unix: Expanding wildcards for ":file {\\}" didn't work, because "\}" was -translated to "}" before the shell got it. Now don't remove backslashes when -wildcards are going to be expanded. - -Unix: ":e /tmp/$uid" didn't work. When expanding environment variables in a -file name doesn't work, use the shell to expand the file name. ":e /tmp/$tty" -still doesn't work though. - -"make test" didn't always work on DOS/Windows for test30, because it depended -on the external "echo" command. - -The link.sh script used "make" instead of $MAKE from the Makefile. Caused -problems for generating pathdef.c when "make" doesn't work properly. - -On versions that can do console and GUI: In the console a typed CSI code could -cause trouble. - -The patterns in expression evaluation didn't ignore the 'l' flag in -'cpoptions'. This broke the working of <CR> in the options window. - -When 'hls' off and 'ai' on, "O<Esc>" did remove the indent, but it was still -highlighted red for trailing space. - -Win32 GUI: Dropping an encrypted file on a running gvim didn't work right. Vim -would loop while outputting "*" characters. vgetc() was called recursively, -thus it returns NUL. Added safe_vgetc(), which reads input directly from the -user in this situation. - -While reading text from stdin, only an empty screen was shown. Now show that -Vim is reading from stdin. - -The cursor shape wasn't set properly when returning to Insert mode, after -using a CTRL-O /asdf command which fails. It would be OK after a few seconds. -Now it's OK right away. - -The 'isfname' default for DOS/Windows didn't include the '@' character. File -names that contained "dir\@file" could not be edited. - -Win32 console: <C-S-Left> could cause a crash when compiled with Borland or -egcs. (Aaron) - -Unix and VMS: "#if HAVE_DIRENT_H" caused problems for some compilers. Use -"#ifdef HAVE_DIRENT_H" instead. (Jones) - -When a matching tag is in the current file but has a search pattern that -doesn't match, the cursor would jump to the first line. - -Unix: Dependencies for pty.c were not included in Makefile. Dependency of -ctags/config.h was not included (only matters for parallel make). - -Removed a few Uninitialized Memory Reads (potential crashes). In do_call() -calling clear_var() when not evaluating. In win32_expandpath() and -dos_expandpath() calling backslash_halve() past the end of a file name. - -Removed memory leaks: Set_vim_var_string() never freed the value. The -next_list for a syntax keyword was never freed. - -On non-Unix systems, using a file name with wildcards without a match would -silently fail. E.g., ":e *.sh". Now give a "No match" error message. - -The life/life.mac, urm/urm.mac and hanoi/hanoi.mac files were not recognized -as Vim scripts. Renamed them to *.vim. - -[Note: some numbered patches are not relevant when upgrading from version 5.3, -they have been removed] - -Patch 5.4m.1 -Problem: When editing a file with a long name, would get the hit-enter - prompt, even though all settings are such that the name should be - truncated to avoid that. filemess() was printing the file name - without truncating it. -Solution: Truncate the message in filemess(). Use the same code as for - msg_trunc_attr(), which is moved to the new function - msg_may_trunc(). -Files: src/message.c, src/proto/message.pro, src/fileio.c - -Patch 5.4m.3 -Problem: The Motif libraries were not found by configure for Digital Unix. -Solution: Add "/usr/shlib" to the search path. (Andy Kahn) -Files: src/configure.in, src/configure - -Patch 5.4m.5 -Problem: Win32 GUI: When using the Save-As menu entry and selecting an - existing file in the file browser, would get a dialog to confirm - overwriting twice. (Ed Krall) -Solution: Removed the dialog from the file browser. It would be nicer to - set the "forceit" flag and skip Vim's ":confirm" dialog, but it - requires quite a few changes to do that. -Files: src/gui_w32.c - -Patch 5.4m.6 -Problem: Win32 GUI: When reading text from stdin, e.g., "cat foo | gvim -", - a message box would pop up with "-stdin-" (when exiting). (Michael - Schaap) -Solution: Don't switch off termcap mode for versions that are GUI-only. - They use another terminal to read from stdin. -Files: src/main.c, src/fileio.c - -Patch 5.4m.7 -Problem: Unix: running configure with --enable-gtk-check, - --enable-motif-check, --enable-athena-check or --enable-gtktest - had the reverse effect. (Thomas Koehler) -Solution: Use $enable_gtk_check variable correctly in AC_ARG_ENABLE(). -Files: src/configure.in, src/configure - -Patch 5.4m.9 -Problem: Multi-byte: With wrapping lines, the cursor was sometimes 2 - characters to the left. Syntax highlighting was wrong when a - double-byte character was split for a wrapping line. When - 'showbreak' was on the splitting also didn't work. -Solution: Adjust getvcol() and win_line(). (Chong-Dae Park) -Files: src/charset.c, src/screen.c - -Patch 5.4m.11 -Problem: The ":call" command didn't check for illegal trailing characters. - (Stefan Roemer) -Solution: Add the check in do_call(). -Files: src/eval.c - -Patch 5.4m.13 -Problem: With the ":s" command: - 1. When performing a substitute command, the mouse would be - disabled and enabled for every substitution. - 2. The cursor position could be beyond the end of the line. - Calling line_breakcheck() could try to position the cursor, - which causes a crash in the Win32 GUI. - 3. When using ":s" in a ":g" command, the cursor was not put on - the first non-white in the line. - 4. There was a hit-enter prompt when confirming the substitution - and the replacement was a bit longer. -Solution: 1. Only disable/enable the mouse when asking for confirmation. - 2. Always put the cursor on the first character, it is going to be - moved to the first non-blank anyway. - Don't use the cursor position in gui_mch_draw_hollow_cursor(), - get the character from the screen buffer. - 3. Added global_need_beginline flag to call beginline() after ":g" - has finished all substitutions. - 4. Clear the need_wait_return flag after prompting the user. -Files: src/ex_cmds.c, src/gui_w32.c - -Patch 5.4m.14 -Problem: When doing "vim xxx", ":opt", ":only" and then ":e xxx" we end - up with two swapfiles for "xxx". That is caused by the ":bdel" - command which is executed when unloading the option-window. - Also, there was no check if closing a buffer made the new one - invalid, this could cause a crash. -Solution: When closing a buffer causes the current buffer to be deleted, - use the new buffer to replace it. Also detect that the new buffer - has become invalid as a side effect of closing the current one. - Make autocommand that calls ":bdel" in optwin.vim nested, so that - the buffer loading it triggers also executes autocommands. - Also added a test for this in test13. -Files: runtime/optwin.vim, src/buffer.c, src/ex_cmds.c, src/globals.h - src/testdir/test13.in, src/testdir/test13.ok - -Patch 5.4m.15 -Problem: When using a BufEnter autocommand to reload the syntax file, - conversion to HTML caused a crash. (Sung-Hyun Nam) -Solution: When using ":syntax clear" the current stack of syntax items was - not cleared. This will cause memory to be used that has already - been freed. Added call to invalidate_current_state() in - syntax_clear(). -Files: src/syntax.c - -Patch 5.4m.17 -Problem: When omitting a ')' in an expression it would not be seen as a - failure. - When detecting an error inside (), there would be an error message - for a missing ')' too. - When using ":echo 1+|echo 2" there was no error message. (Roemer) - When using ":exe 1+" there was no error message. - When using ":return 1+" there was no error message. -Solution: Fix do_echo(), do_execute() and do_return() to give an error - message when eval1() returns FAIL. - Fix eval6() to handle trailing ')' correctly and return FAIL when - it's missing. -Files: src/eval.c - -Patch 5.4m.18 -Problem: When using input() from inside an expression entered with - "CTRL-R =" on the command line, there could be a crash. And the - resulting command line was wrong. -Solution: Added getcmdline_prompt(), which handles recursive use of - getcmdline() correctly. It also sets the command line prompt. - Removed cmdline_prompt(). Also use getcmdline_prompt() for - getting the crypt key in get_crypt_key(). -Files: src/proto/ex_getln.pro, src/ex_getln.c, src/eval.c, src/misc2.c - -Patch 5.4m.21 -Problem: When starting up, the screen structures were first allocated at - the minimal size, then initializations were done with Rows - possibly different from screen_Rows. Caused a crash in rare - situations (GTK with XIM and fontset). -Solution: Call screenalloc() in main() only after calling ui_get_winsize(). - Also avoids a potential delay because of calling screenclear() - while "starting" is non-zero. -Files: src/main.c - -Patch 5.4m.22 -Problem: In the GUI it was possible that the screen was resized and the - screen structures re-allocated while redrawing the screen. This - could cause a crash (hard to reproduce). The call sequence goes - through update_screen() .. syntax_start() .. ui_breakcheck() .. - gui_resize_window() .. screenalloc(). -Solution: Set updating_screen while redrawing. If the window is resized - remember the new size and handle it only after redrawing is - finished. - This also fixes that resizing the screen while still redrawing - (slow syntax highlighting) would not work properly. - Also disable display_hint, it was never used. -Files: src/globals.h, src/gui.c, src/screen.c, src/proto/gui.pro - -Patch 5.4m.23 -Problem: When using expand("<cword>") when there was no word under the - cursor, would get an error message. Same for <cWORD> and <cfile>. -Solution: Don't give an error message, return an empty string. -Files: src/eval.c - -Patch 5.4m.24 -Problem: ":help \|" didn't find anything. It was translated to "/\\|". -Solution: Translate "\|" into "\\bar". First check the table for specific - translations before checking for "\x". -Files: src/ex_cmds.c - -Patch 5.4m.25 -Problem: Unix: When using command line completion on files that contain - ''', '"' or '|' the file name could not be used. - Adding this file name to the Buffers menu caused an error message. -Solution: Insert a backslash before these three characters. - Adjust Mungename() function to insert a backslash before '|'. -Files: src/ex_getln.c, runtime/menu.vim - -Patch 5.4m.26 -Problem: When using a mapping of two function keys, e.g., <F1><F1>, and - only the first char of the second key has been read, the mapping - would not be recognized. Noticed on some Unix systems with xterm. -Solution: Add 'K' flag to 'cpoptions' to wait for the whole key code, even - when halfway a mapping. -Files: src/option.h, src/term.c - -Patch 5.4m.27 -Problem: When making test33 without the lisp feature it hangs. Interrupting - the execution of the script then might cause a crash. -Solution: In inchar(), after closing a script, don't use buf[] anymore. - closescript() has freed typebuf[] and buf[] might be pointing - inside typebuf[]. - Avoid that test33 hangs when the lisp feature is missing. -Files: src/getchar.c src/testdir/test33.in - -"os2" was missing from the feature list. Useful for has("os2"). - -BeOS: -- Included patches from Richard Offer for BeOS R4.5. -- menu code didn't work right. Crashed in the Buffers menu. The window title - wasn't set. (Offer) - -Patch 5.4n.3 -Problem: C-indenting was wrong after " } else". The white space was not - skipped. Visible when 'cino' has "+10". -Solution: Skip white space before calling cin_iselse(). (Norbert Zeh) -Files: src/misc1.c - -Patch 5.4n.4 -Problem: When the 't' flag in 'cpoptions' is included, after a - ":nohlsearch" the search highlighting would not be enabled again - after a tag search. (Norbert Zeh) -Solution: When setting the new search pattern in jumpto_tag(), don't restore - no_hlsearch. -Files: src/tag.c - -Patch 5.4n.5 -Problem: When using ":normal" from a CursorHold autocommand Vim hangs. The - autocommand is executed down from vgetc(). Calling vgetc() - recursively to execute the command doesn't work then. -Solution: Forbid the use of ":normal" when vgetc_busy is set. Give an error - message when this happens. -Files: src/ex_docmd.c, runtime/doc/autocmd.txt - -Patch 5.4n.6 -Problem: "gv" could reselect a Visual that starts and/or ends past the end - of a line. (Robert Webb) -Solution: Check that the start and end of the Visual area are on a valid - character by calling adjust_cursor(). -Files: src/normal.c - -Patch 5.4n.8 -Problem: When a mark was on a non existing line (e.g., when the .viminfo - was edited), jumping to it caused ml_get errors. (Alexey - Marinichev). -Solution: Added check_cursor_lnum() in nv_gomark(). -Files: src/normal.c - -Patch 5.4n.9 -Problem: ":-2" moved the cursor to a negative line number. (Ralf Schandl) -Solution: Give an error message for a negative line number. -Files: src/ex_docmd.c - -Patch 5.4n.10 -Problem: Win32 GUI: At the hit-enter prompt, it was possible to scroll the - text. This erased the prompt and made Vim look like it is in - Normal mode, while it is actually still waiting for a <CR>. -Solution: Disallow scrolling at the hit-enter prompt for systems that use - on the fly scrolling. -Files: src/message.c - -Patch 5.4n.14 -Problem: Win32 GUI: When using ":winsize 80 46" and the height is more than - what fits on the screen, the window size was made smaller than - asked for (that's OK) and Vim crashed (that's not OK)> -Solution: Call check_winsize() from gui_set_winsize() to resize the windows. -Files: src/gui.c - -Patch 5.4n.16 -Problem: Win32 GUI: The <F10> key both selected the menu and was handled as - a key hit. -Solution: Apply 'winaltkeys' to <F10>, like it is used for Alt keys. -Files: src/gui_w32.c - -Patch 5.4n.17 -Problem: Local buffer variables were freed when the buffer is unloaded. - That's not logical, since options are not freed. (Ron Aaron) -Solution: Free local buffer variables only when deleting the buffer. -Files: src/buffer.c - -Patch 5.4n.19 -Problem: Doing ":e" (without argument) in an option-window causes trouble. - The mappings for <CR> and <Space> are not removed. When there is - another buffer loaded, the swap file for it gets mixed up. - (Steve Mueller) -Solution: Also remove the mappings at the BufUnload event, if they are still - present. - When re-editing the same file causes the current buffer to be - deleted, don't try editing it. - Also added a test for this situation. -Files: runtime/optwin.vim, src/ex_cmds.c, src/testdir/test13.in, - src/testdir/test13.ok - -Patch 5.4n.24 -Problem: BeOS: configure never enabled the GUI, because $with_x was "no". - Unix prototypes caused problems, because Display and Widget are - undefined. - Freeing fonts on exit caused a crash. -Solution: Only disable the GUI when $with_x is "no" and $BEOS is not "yes". - Add dummy defines for Display and Widget in proto.h. - Don't free the fonts in gui_exit() for BeOS. -Files: src/configure.in, src/configure, src/proto.h, src/gui.c. - - -The runtime/vim48x48.xpm icon didn't have a transparent background. (Schild) - -Some versions of the mingw32/egcs compiler didn't have WINBASEAPI defined. -(Aaron) - -VMS: -- mch_setenv() had two arguments instead of three. -- The system vimrc and gvimrc files were called ".vimrc" and ".gvimrc". - Removed the dot. -- call to RealWaitForChar() had one argument too many. (Campbell) -- WaitForChar() is static, removed the prototype from proto/os_vms.pro. -- Many file accesses failed, because Unix style file names were used. - Translate file names to VMS style by using vim_fopen(). -- Filtering didn't work, because the temporary file name was generated wrong. -- There was an extra newline every 9192 characters when writing a file. Work - around it by writing line by line. (Campbell) -- os_vms.c contained "# typedef int DESC". Should be "typedef int DESC;". - Only mattered for generating prototypes. -- Added file name translation to many places. Made easy by defining macros - mch_access(), mch_fopen(), mch_fstat(), mch_lstat() and mch_stat(). -- Set default for 'tagbsearch' to off, because binary tag searching apparently - doesn't work for VMS. -- make mch_get_host_name() work with /dec and /standard=vaxc. (Campbell) - - -Patch 5.4o.2 -Problem: Crash when using "gf" on "file.c://comment here". (Scott Graham) -Solution: Fix wrong use of pointers in get_file_name_in_path(). -Files: src/window.c - -Patch 5.4o.3 -Problem: The horizontal scrollbar was not sized correctly when 'number' is - set and 'wrap' not set. - Athena: Horizontal scrollbar wasn't updated when the cursor was - positioned with a mouse click just after dragging. -Solution: Subtract 8 from the size when 'number' set and 'wrap' not set. - Reset gui.dragged_sb when a mouse click is received. -Files: src/gui.c - -Patch 5.4o.4 -Problem: When running in an xterm and $WINDOWID is set to an illegal value, - Vim would exit with "Vim: Got X error". -Solution: When using the display which was opened for the xterm clipboard, - check if x11_window is valid by trying to obtain the window title. - Also add a check in setup_xterm_clip(), for when using X calls to - get the pointer position in an xterm. -Files: src/os_unix.c - -Patch 5.4o.5 -Problem: Motif version with Lesstif: When removing the menubar and then - using a menu shortcut key, Vim would crash. (raf) -Solution: Disable the menu mnemonics when the menu bar is removed. -Files: src/gui_motif.c - -Patch 5.4o.9 -Problem: The DOS install.exe program used the "move" program. That doesn't - work on Windows NT, where "move" is internal to cmd.exe. -Solution: Don't use an external program for moving the executables. Use C - functions to copy the file and delete the original. -Files: src/dosinst.c - -Motif and Athena obtained the status area height differently from GTK. Moved -status_area_enabled from global.h to gui_x11.c and call -xim_get_status_area_height() to get the status area height. - -Patch 5.4p.1 -Problem: When using auto-select, and the "gv" command is used, would not - always obtain ownership of the selection. Caused by the Visual - area still being the same, but ownership taken away by another - program. -Solution: Reset the clipboard Visual mode to force updating the selection. -Files: src/normal.c - -Patch 5.4p.2 -Problem: Motif and Athena with XIM: Typing 3-byte - <multibyte><multibyte><space> doesn't work correctly with Ami XIM. -Solution: Avoid using key_sym XK_VoidSymbol. (Nam) -Files: src/multbyte.c, src/gui_x11.c - -Patch 5.4p.4 -Problem: Win32 GUI: The scrollbar values were reduced for a file with more - than 32767 lines. But this info was kept global for all - scrollbars, causing a mixup between the windows. - Using the down arrow of a scrollbar in a large file didn't work. - Because of round-off errors there is no scroll at all. -Solution: Give each scrollbar its own scroll_shift field. When the down - arrow is used, scroll several lines. -Files: src/gui.h, src/gui_w32.c - -Patch 5.4p.5 -Problem: When changing buffers in a BufDelete autocommand, there could be - ml_line errors and/or a crash. (Schandl) Was caused by deleting - the current buffer. -Solution: When the buffer to be deleted unexpectedly becomes the current - buffer, don't delete it. - Also added a check for this in test13. -Files: src/buffer.c, src/testdir/test13.in, src/testdir/test13.ok - -Patch 5.4p.7 -Problem: Win32 GUI: When using 'mousemodel' set to "popup_setpos" and - clicking the right mouse button outside of the selected area, the - selected area wasn't removed until the popup menu has gone. - (Aaron) -Solution: Set the cursor and update the display before showing the popup - menu. -Files: src/normal.c - -Patch 5.4p.8 -Problem: The generated bugreport didn't contain information about - $VIMRUNTIME and whether runtime files actually exist. -Solution: Added a few checks to the bugreport script. -Files: runtime/bugreport.vim - -Patch 5.4p.9 -Problem: The windows install.exe created a wrong entry in the popup menu. - The "%1" was "". The full directory was included, even when the - executable had been moved elsewhere. (Ott) -Solution: Double the '%' to get one from printf. Only include the path to - gvim.exe when it wasn't moved and it's not in $PATH. -Files: src/dosinst.c - -Patch 5.4p.10 -Problem: Win32: On top of 5.4p.9: The "Edit with Vim" entry sometimes used - a short file name for a directory. -Solution: Change the "%1" to "%L" in the registry entry. -Files: src/dosinst.c - -Patch 5.4p.11 -Problem: Motif, Athena and GTK: When closing the GUI window when there is a - changed buffer, there was only an error message and Vim would not - exit. -Solution: Put up a dialog, like for ":confirm qa". Uses the code that was - already used for MS-Windows. -Files: src/gui.c, src/gui_w32.c - -Patch 5.4p.12 -Problem: Win32: Trying to expand a string that is longer than 256 - characters could cause a crash. (Steed) -Solution: For the buffer in win32_expandpath() don't use a fixed size array, - allocate it. -Files: src/os_win32.c - -MSDOS: Added "-Wall" to Makefile.djg compile flags. Function prototypes for -fname_case() and mch_update_cursor() were missing. "fd" was unused in -mf_sync(). "puiLocation" was unused in myputch(). "newcmd" unused in -mch_call_shell() for DJGPP version. - -============================================================================== -VERSION 5.5 *version-5.5* - -Version 5.5 is a bug-fix version of 5.4. - - -Changed *changed-5.5* -------- - -The DJGPP version is now compiled with "-O2" instead of "-O4" to reduce the -size of the executables. - -Moved the src/STYLE file to runtime/doc/develop.txt. Added the design goals -to it. - -'backspace' is now a string option. See patch 5.4.15. - - -Added *added-5.5* ------ - -Included Exuberant Ctags version 3.3. (Darren Hiebert) - -In runtime/mswin.vim, map CTRL-Q to CTRL-V, so that CTRL-Q can be used -everywhere to do what CTRL-V used to do. - -Support for decompression of bzip2 files in vimrc_example.vim. - -When a patch is included, the patch number is entered in a table in version.c. -This allows skipping a patch without breaking a next one. - -Support for mouse scroll wheel in X11. See patch 5.5a.14. - -line2byte() can be used to get the size of the buffer. See patch 5.4.35. - -The CTRL-R CTRL-O r and CTRL-R CTRL-P r commands in Insert mode are used to -insert a register literally. See patch 5.4.48. - -Uninstall program for MS-Windows. To be able to remove the registry entries -for "Edit with Vim". It is registered to be run from the "Add/Remove -programs" application. See patch 5.4.x7. - - -Fixed *fixed-5.5* ------ - -When using vimrc_example.vim: An error message when the cursor is on a line -higher than the number of lines in the compressed file. Move the autocommand -for jumping to the last known cursor position to after the decompressing -autocommands. - -":mkexrc" and ":mksession" wrote the current value of 'textmode'. That may -mark a file as modified, which causes problems. This is a buffer-specific -setting, it should not affect all files. - -"vim --version" wrote two empty lines. - -Unix: The alarm signal could kill Vim. It is generated by the Perl alarm() -function. Ignore SIGALRM. - -Win32 GUI: Toolbar still had the yellow bitmap for running a Vim script. - -BeOS: "tmo" must be bigtime_t, instead of double. (Seibert) - -Patch 5.4.1 -Problem: Test11 fails when $GZIP is set to "-v". (Matthew Jackson) -Solution: Set $GZIP to an empty string. -Files: src/testdir/test11.in - -Patch 5.4.2 -Problem: Typing <Esc> at the crypt key prompt caused a crash. (Kallingal) -Solution: Check for a NULL pointer returned from get_crypt_key(). -Files: src/fileio.c - -Patch 5.4.3 -Problem: Python: Trying to use the name of an unnamed buffer caused a - crash. (Daniel Burrows) -Solution: Check for b_fname being a NULL pointer. -Files: src/if_python.c - -Patch 5.4.4 -Problem: Win32: When compiled without toolbar, but the 'T' flag is in - 'guioptions', there would be an empty space for the toolbar. -Solution: Add two #ifdefs where checking for the 'T' flag. (Vince Negri) -Files: src/gui.c - -Patch 5.4.5 -Problem: Athena GUI: Using the Buffers.Refresh menu entry caused a crash. - Looks like any ":unmenu" command may cause trouble. -Solution: Disallow ":unmenu" in the Athena version. Disable the Buffers - menu, because the Refresh item would not work. -Files: src/menu.c, runtime/menu.vim - -Patch 5.4.6 -Problem: GTK GUI: Using ":gui" in the .gvimrc file caused an error. Only - happens when the GUI forks. -Solution: Don't fork in a recursive call of gui_start(). -Files: src/gui.c - -Patch 5.4.7 -Problem: Typing 'q' at the more prompt for the ATTENTION message causes the - file loading to be interrupted. (Will Day) -Solution: Reset got_int after showing the ATTENTION message. -Files: src/memline.c - -Patch 5.4.8 -Problem: Edit some file, ":he", ":opt": options from help window are shown, - but pressing space updates from the other window. (Phillipps) - Also: When there are changes in the option-window, ":q!" gives an - error message. -Solution: Before creating the option-window, go to a non-help window. - Use ":bdel!" to delete the buffer. -Files: runtime/optwin.vim - -Patch 5.4.9 - Just updates version.h. The real patch has been moved to 5.4.x1. - This patch is just to keep the version number correct. - -Patch 5.4.10 -Problem: GTK GUI: When $DISPLAY is invalid, "gvim -f" just exits. It - should run in the terminal. -Solution: Use gtk_init_check() instead of gtk_init(). -Files: src/gui_gtk_x11.c - -Patch 5.4.11 -Problem: When using the 'S' flag in 'cpoptions', 'tabstop' is not copied to - the next buffer for some commands, e.g., ":buffer". -Solution: When the BCO_NOHELP flag is given to buf_copy_options(), still - copy the options used by do_help() when neither the "from" or "to" - buffer is a help buffer. -Files: src/option.c - -Patch 5.4.12 -Problem: When using 'smartindent', there would be no extra indent if the - current line did not have any indent already. (Hanus Adler) -Solution: There was a wrongly placed "else", that previously matched with - the "if" that set trunc_line. Removed the "else" and added a - check for trunc_line to be false. -Files: src/misc1.c - -Patch 5.4.13 -Problem: New SGI C compilers need another option for optimisation. -Solution: Add a check in configure for "-OPT:Olimit". (Chin A Young) -Files: src/configure.in, src/configure - -Patch 5.4.14 -Problem: Motif GUI: When the popup menu is present, a tiny window appears - on the desktop for some users. -Solution: Set the menu widget ID for a popup menu to 0. (Thomas Koehler) -Files: src/gui_motif.c - -Patch 5.4.15 -Problem: Since 'backspace' set to 0 has been made Vi compatible, it is no - longer possible to only allow deleting autoindent. -Solution: Make 'backspace' a list of parts, to allow each kind of - backspacing separately. -Files: src/edit.c, src/option.c, src/option.h, src/proto/option.pro, - runtime/doc/option.txt, runtime/doc/insert.txt - -Patch 5.4.16 -Problem: Multibyte: Locale zh_TW.Big5 was not checked for in configure. -Solution: Add zh_TW.Big5 to configure check. (Chih-Tsun Huang) -Files: src/configure.in, src/configure - -Patch 5.4.17 -Problem: GUI: When started from inside gvim with ":!gvim", Vim would not - start. ":!gvim -f" works fine. -Solution: After forking, wait a moment in the parent process, to give the - child a chance to set its process group. -Files: src/gui.c - -Patch 5.4.18 -Problem: Python: The clear_history() function also exists in a library. -Solution: Rename clear_history() to clear_hist(). -Files: src/ex_getln.c, src/eval.c, src/proto/ex_getln.pro - -Patch 5.4.19 -Problem: In a terminal with 25 lines, there is a more prompt after the - ATTENTION message. When hitting 'q' here the dialog prompt - doesn't appear and file loading is interrupted. (Will Day) -Solution: Don't allow quitting the printing of a message for the dialog - prompt. Added the msg_noquit_more flag for this. -Files: src/message.c - -Patch 5.4.20 -Problem: GTK: When starting gvim, would send escape sequences to the - terminal to switch the cursor off and on. -Solution: Don't call msg_start() if the GUI is expected to start. -Files: src/main.c - -Patch 5.4.21 -Problem: Motif: Toplevel menu ordering was wrong when using tear-off items. -Solution: Don't add one to the index for a toplevel menu. -Files: src/gui_motif.c - -Patch 5.4.22 -Problem: In Insert mode, <C-Left>, <S-Left>, <C-Right> and <S-Right> didn't - update the column used for vertical movement. -Solution: Set curwin->w_set_curswant for those commands. -Files: src/edit.c - -Patch 5.4.23 -Problem: When a Visual selection is lost to another program, and then the - same text is Visually selected again, the clipboard ownership - wasn't regained. -Solution: Set clipboard.vmode to NUL to force regaining the clipboard. -Files: src/normal.c - -Patch 5.4.24 -Problem: Encryption: When using ":r file" while 'key' has already entered, - the 'key' option would be messed up. When writing the file it - would be encrypted with an unknown key and lost! (Brad Despres) -Solution: Don't free cryptkey when it is equal to the 'key' option. -Files: src/fileio.c - -Patch 5.4.25 -Problem: When 'cindent' is set, but 'autoindent' isn't, comments are not - properly indented when starting a new line. (Mitterand) -Solution: When there is a comment leader for the new line, but 'autoindent' - isn't set, do C-indenting. -Files: src/misc1.c - -Patch 5.4.26 -Problem: Multi-byte: a multi-byte character is never recognized in a file - name, causing a backslash before it to be removed on Windows. -Solution: Assume that a leading-byte character is a file name character in - vim_isfilec(). -Files: src/charset.c - -Patch 5.4.27 -Problem: Entries in the PopUp[nvic] menus were added for several modes, but - only deleted for the mode they were used for. This resulted in - the entry remaining in the PopUp menu. - When removing a PopUp[nvic] menu, the name had been truncated, - could result in greying-out the whole PopUp menu. -Solution: Remove entries for all modes from the PopUp[nvic] menus. Remove - the PopUp[nvic] menu entries first, before the name is changed. -Files: src/menu.c - -Patch 5.4.28 -Problem: When using a BufWritePre autocommand to change 'fileformat', the - new value would not be used for writing the file. -Solution: Check 'fileformat' after executing the autocommands instead of - before. -Files: src/fileio.c - -Patch 5.4.29 -Problem: Athena GUI: When removing the 'g' flag from 'guioptions', using a - menu can result in a crash. -Solution: Always grey-out menus for Athena, don't hide them. -Files: src/menu.c - -Patch 5.4.30 -Problem: BeOS: Suspending Vim with CTRL-Z didn't work (killed Vim). The - first character typed after ":sh" goes to Vim, instead of the - started shell. -Solution: Don't suspend Vim, start a new shell. Kill the async read thread - when starting a new shell. It will be restarted later. (Will Day) -Files: src/os_unix.c, src/ui.c - -Patch 5.4.31 -Problem: GUI: When 'mousefocus' is set, moving the mouse over where a - window boundary was, causes a hit-enter prompt to be finished. - (Jeff Walker) -Solution: Don't use 'mousefocus' at the hit-enter prompt. Also ignore it - for the more prompt and a few other situations. When an operator - is pending, abort it first. -Files: src/gui.c - -Patch 5.4.32 -Problem: Unix: $LDFLAGS was not passed to configure. -Solution: Pass $LDFLAGS to configure just like $CFLAGS. (Jon Miner) -Files: src/Makefile - -Patch 5.4.33 -Problem: Unix: After expanding an environment variable with the shell, the - next expansion would also use the shell, even though it is not - needed. -Solution: Reset "recursive" before returning from gen_expand_wildcards(). -Files: src/misc1.c - -Patch 5.4.34 (also see 5.4.x5) -Problem: When editing a file, and the file name is relative to a directory - above the current directory, the file name was made absolute. - (Gregory Margo) -Solution: Add an argument to shorten_fnames() which indicates if all file - names should be shortened, or only absolute names. In main() only - use shorten_fnames() to shorten absolute names. -Files: src/ex_docmd.c, src/fileio.c, src/main.c, src/proto/fileio.pro - -Patch 5.4.35 -Problem: There is no function to get the current file size. -Solution: Allow using line2byte() with the number of lines in the file plus - one. This returns the offset of the line past the end of the - file, which is the file size plus one. -Files: src/eval.c, runtime/doc/eval.txt - -Patch 5.4.36 -Problem: Comparing strings while ignoring case didn't work correctly for - some machines. (Mide Steed) -Solution: vim_stricmp() and vim_strnicmp() only returned 0 or 1. Changed - them to return -1 when the first argument is smaller. -Files: src/misc2.c - -Patch 5.4.37 (also see 5.4.40 and 5.4.43) -Problem: Long strings from the viminfo file are truncated. -Solution: When writing a long string to the viminfo file, first write a line - with the length, then the string itself in a second line. -Files: src/eval.c, src/ex_cmds.c, src/ex_getln.c, src/mark.c, src/ops.c, - src/search.c, src/proto/ex_cmds.pro, runtime/syntax/viminfo.vim - -Patch 5.4.38 -Problem: In the option-window, ":set go&" resulted in 'go' being handled - like a boolean option. - Mappings for <Space> and <CR> were overruled by the option-window. -Solution: When the value of an option isn't 0 or 1, don't handle it like a - boolean option. - Save and restore mappings for <Space> and <CR> when entering and - leaving the option-window. -Files: runtime/optwin.vim - -Patch 5.4.39 -Problem: When setting a hidden option, spaces before the equal sign were - not skipped and cause an error message. E.g., ":set csprg =cmd". -Solution: When skipping over a hidden option, check for a following "=val" - and skip it too. -Files: src/option.c - -Patch 5.4.40 (depends on 5.4.37) -Problem: Compiler error for "atol(p + 1)". (Axel Kielhorn) -Solution: Add a typecast: "atol((char *)p + 1)". -Files: src/ex_cmds.c - -Patch 5.4.41 -Problem: Some commands that were not included would give an error message, - even when after "if 0". -Solution: Don't give an error message for an unsupported command when not - executing the command. -Files: src/ex_docmd.c - -Patch 5.4.42 -Problem: ":w" would also cause a truncated message to appear in the message - history. -Solution: Don't put a kept message in the message history when it starts - with "<". -Files: src/message.c - -Patch 5.4.43 (depends on 5.4.37) -Problem: Mixing long lines with multiple lines in a register causes errors - when writing the viminfo file. (Robinson) -Solution: When reading the viminfo file to skip register contents, skip - lines that start with "<". -Files: src/ops.c - -Patch 5.4.44 -Problem: When 'whichwrap' includes '~', a "~" command that goes on to the - next line cannot be properly undone. (Zellner) -Solution: Save each line for undo in n_swapchar(). -Files: src/normal.c - -Patch 5.4.45 (also see 5.4.x8) -Problem: When expand("$ASDF") fails, there is an error message. -Solution: Remove the global expand_interactively. Pass a flag down to skip - the error message. - Also: expand("$ASDF") returns an empty string if $ASDF isn't set. - Previously it returned "$ASDF" when 'shell' is "sh". - Also: system() doesn't print an error when the command returns an - error code. -Files: many - -Patch 5.4.46 -Problem: Backspacing did not always use 'softtabstop' after hitting <CR>, - inserting a register, moving the cursor, etc. -Solution: Reset inserted_space much more often in edit(). -Files: src/edit.c - -Patch 5.4.47 -Problem: When executing BufWritePre or BufWritePost autocommands for a - hidden buffer, the cursor could be moved to a non-existing - position. (Vince Negri) -Solution: Save and restore the cursor and topline for the current window - when it is going to be used to execute autocommands for a hidden - buffer. Use an existing window for the buffer when it's not - hidden. -Files: src/fileio.c - -Patch 5.4.48 -Problem: A paste with the mouse in Insert mode was not repeated exactly the - same with ".". For example, when 'autoindent' is set and pasting - text with leading indent. (Perry) -Solution: Add the CTRL-R CTRL-O r and CTRL-R CTRL-P r commands in Insert - mode, which insert the contents of a register literally. -Files: src/edit.c, src/normal.c, runtime/doc/insert.txt - -Patch 5.4.49 -Problem: When pasting text with [ <MiddleMouse>, the cursor could end up - after the last character of the line. -Solution: Correct the cursor position for the change in indent. -Files: src/ops.c - -Patch 5.4.x1 (note: Replaces patch 5.4.9) -Problem: Win32 GUI: menu hints were never used, because WANT_MENU is not - defined until vim.h is included. -Solution: Move the #ifdef WANT_MENU from where MENUHINTS is defined to where - it is used. -Files: src/gui_w32.c - -Patch 5.4.x2 -Problem: BeOS: When pasting text, one character was moved to the end. -Solution: Re-enable the BeOS code in fill_input_buf(), and fix timing out - with acquire_sem_etc(). (Will Day) -Files: src/os_beos.c, src/ui.c - -Patch 5.4.x3 -Problem: Win32 GUI: When dropping a directory on a running gvim it crashes. -Solution: Avoid using a NULL file name. Also display a message to indicate - that the current directory was changed. -Files: src/gui_w32.c - -Patch 5.4.x4 -Problem: Win32 GUI: Removing an item from the popup menu doesn't work. -Solution: Don't remove the item from the menubar, but from the parent popup - menu. -Files: src/gui_w32.c - -Patch 5.4.x5 (addition to 5.4.34) -Files: src/gui_w32.c - -Patch 5.4.x6 -Problem: Win32: Expanding (dir)name starting with a dot doesn't work. - (McCormack) Only when there is a path before it. -Solution: Fix the check, done before expansion, if the file name pattern - starts with a dot. -Files: src/os_win32.c - -Patch 5.4.x7 -Problem: Win32 GUI: Removing "Edit with Vim" from registry is difficult. -Solution: Add uninstall program to remove the registry keys. It is installed - in the "Add/Remove programs" list for ease of use. - Also: don't set $VIM when the executable is with the runtime files. - Also: Add a text file with a step-by-step description of how to - uninstall Vim for DOS and Windows. -Files: src/uninstal.c, src/dosinst.c, src/Makefile.w32, uninstal.txt - -Patch 5.4.x8 (addition to 5.4.45) -Files: many - -Patch 5.4.x9 -Problem: Win32 GUI: After executing an external command, focus is not - always regained (when using focus-follows-mouse). -Solution: Add SetFocus() in mch_system(). (Mike Steed) -Files: src/os_win32.c - - -Patch 5.5a.1 -Problem: ":let @* = @:" did not work. The text was not put on the - I clipboard. (Fisher) -Solution: Own the clipboard and put the text on it. -Files: src/ops.c - -Patch 5.5a.2 -Problem: append() did not mark the buffer modified. Marks below the - new line were not adjusted. -Solution: Fix the f_append() function. -Files: src/eval.c - -Patch 5.5a.3 -Problem: Editing compressed ".gz" files doesn't work on non-Unix systems, - because there is no "mv" command. -Solution: Add the rename() function and use it instead of ":!mv". - Also: Disable the automatic jump to the last position, because it - changes the jumplist. -Files: src/eval.c, runtime/doc/eval.txt, runtime/vimrc_example.vim - -Patch 5.5a.4 -Problem: When using whole-line completion in insert mode while the cursor - is in the indent, get "out of memory" error. (Stekrt) -Solution: Don't allocate a negative amount of memory in ins_complete(). -Files: src/edit.c - -Patch 5.5a.5 -Problem: Win32: The 'path' option can hold only up to 256 characters, - because _MAX_PATH is 256. (Robert Webb) -Solution: Use a fixed path length of 1024. -Files: src/os_win32.h - -Patch 5.5a.6 -Problem: Compiling with gcc on Win32, using the Unix Makefile, didn't work. -Solution: Add $(SUFFIX) to all places where an executable is used. Also - pass it to ctags. (Reynolds) -Files: src/Makefile - -Patch 5.5a.7 -Problem: When using "cat | vim -" in an xterm, the xterm version reply - would end up in the file. -Solution: Read the file from stdin before switching the terminal to RAW - mode. Should also avoid problems with programs that use a - specific terminal setting. - Also: when using the GUI, print "Reading from stdin..." in the GUI - window, to give a hint why it doesn't do anything. -Files: src/main.c, src/fileio.c - -Patch 5.5a.8 -Problem: On multi-threaded Solaris, suspending doesn't work. -Solution: Call pause() when the SIGCONT signal was not received after - sending the SIGTSTP signal. (Nagano) -Files: src/os_unix.c - -Patch 5.5a.9 -Problem: 'winaltkeys' could be set to an empty argument, which is illegal. -Solution: Give an error message when doing ":set winaltkeys=". -Files: src/option.c - -Patch 5.5a.10 -Problem: Win32 console: Using ALTGR on a German keyboard to produce "}" - doesn't work, because the 8th bit is set when ALT is pressed. -Solution: Don't set the 8th bit when ALT and CTRL are used. (Leipert) -Files: src/os_win32.c - -Patch 5.5a.11 -Problem: Tcl: Configure always uses tclsh8.0. - Also: Loading a library doesn't work. -Solution: Add "--with-tclsh" configure argument to allow specifying another - name for the tcl shell. - Call Tcl_Init() in tclinit() to make loading libraries work. - (Johannes Zellner) -Files: src/configure.in, src/configure, src/if_tcl.c - -Patch 5.5a.12 -Problem: The "user_commands" feature is called "user-commands". -Solution: Replace "user-commands" with "user_commands". (Kim Sung-bom) - Keep "user-commands" for the has() function, to remain backwards - compatible with 5.4. -Files: src/eval.c, src/version.c - -Patch 5.5a.13 -Problem: OS/2: When $HOME is not defined, "C:/" is used for the viminfo - file. That is very wrong when OS/2 is on another partition. -Solution: Use $VIM for the viminfo file when it is defined, like for MSDOS. - Also: Makefile.os2 didn't depend on os_unix.h. -Files: src/os_unix.h, src/Makefile.os2 - -Patch 5.5a.14 -Problem: Athena, Motif and GTK: The Mouse scroll wheel doesn't work. -Solution: Interpret a click of the wheel as a key press of the <MouseDown> - or <MouseUp> keys. Default behavior is to scroll three lines, or - a full page when Shift is used. -Files: src/edit.c, src/ex_getln.c, src/gui.c, src/gui_gtk_x11.c, - src/gui_x11.c, src/keymap.h, src/message.c, src/misc1.c, - src/misc2.c, src/normal.c, src/proto/normal.pro, src/vim.h, - runtime/doc/scroll.txt - -Patch 5.5a.15 -Problem: Using CTRL-A in Insert mode doesn't work correctly when the insert - started with the <Insert> key. (Andreas Rohrschneider) -Solution: Replace <Insert> with "i" before setting up the redo buffer. -Files: src/normal.c - -Patch 5.5a.16 -Problem: VMS: GUI does not compile and run. -Solution: Various fixes. (Zoltan Arpadffy) - Moved functions from os_unix.c to ui.c, so that VMS can use them - too: open_app_context(), x11_setup_atoms() and clip_x11* functions. - Made xterm_dpy global, it's now used by ui.c and os_unix.c. - Use gethostname() always, sys_hostname doesn't exist. -Files: src/globals.h, src/gui_x11.c, src/os_vms.mms, src/os_unix.c, - src/os_vms.c, src/ui.c, src/proto/os_unix.pro, src/proto/ui.pro - -Renamed AdjustCursorForMultiByteCharacter() to AdjustCursorForMultiByteChar() -to avoid symbol length limit of 31 characters. (Steve P. Wall) - -Patch 5.5b.1 -Problem: SASC complains about dead assignments and implicit type casts. -Solution: Removed the dead assignments. Added explicit type casts. -Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds.c, - src/ex_getln.c, src/fileio.c, src/getchar.c, src/memline.c, - src/menu.c, src/misc1.c, src/normal.c, src/ops.c, src/quickfix.c, - src/screen.c - -Patch 5.5b.2 -Problem: When using "CTRL-O O" in Insert mode, hit <Esc> and then "o" in - another line truncates that line. (Devin Weaver) -Solution: When using a command that starts Insert mode from CTRL-O, reset - "restart_edit" first. This avoids that edit() is called with a - mix of starting a new edit command and restarting a previous one. -Files: src/normal.c - -============================================================================== -VERSION 5.6 *version-5.6* - -Version 5.6 is a bug-fix version of 5.5. - - -Changed *changed-5.6* -------- - -Small changes to OleVim files. (Christian Schaller) - -Inserted "/**/" between patch numbers in src/version.c. This allows for one -line of context, which some versions of patch need. - -Reordered the Syntax menu to avoid long submenus. Removed keyboard shortcuts -for alphabetical items to avoid a clash with fixed items. - - -Added *added-5.6* ------ - -Included Exuberant Ctags version 3.4. (Darren Hiebert) - -OpenWithVim in Python. (Christian Schaller) - -Win32 GUI: gvimext.dll, for the context menu "Edit with Vim" entry. Avoids -the reported problems with the MS Office taskbar. Now it's a Shell Extension. -(Tianmiao Hu) - -New syntax files: -abel Abel (John Cook) -aml Arc Macro Language (Nikki Knuit) -apachestyle Apache-style config file (Christian Hammers) -cf Cold Fusion (Jeff Lanzarotta) -ctrlh files with CTRL-H sequences (Bram Moolenaar) -cupl CUPL (John Cook) -cuplsim CUPL simulation (John Cook) -erlang Erlang (Kresimir Marzic) -gedcom Gedcom (Paul Johnson) -icon Icon (Wendell Turner) -ist MakeIndex style (Peter Meszaros) -jsp Java Server Pages (Rafael Garcia-Suarez) -rcslog Rcslog (Joe Karthauser) -remind Remind (Davide Alberani) -sqr Structured Query Report Writer (Paul Moore) -tads TADS (Amir Karger) -texinfo Texinfo (Sandor Kopanyi) -xpm2 X Pixmap v2 (Steve Wall) - -The 'C' flag in 'cpoptions' can be used to switch off concatenation for -sourced lines. See patch 5.5.013 below. |line-continuation| - -"excludenl" argument for the ":syntax" command. See patch 5.5.032 below. -|:syn-excludenl| - -Implemented |z+| and |z^| commands. See patch 5.5.050 below. - -Vim logo in Corel Draw format. Can be scaled to any resolution. - - -Fixed *fixed-5.6* ------ - -Using this mapping in Select mode, terminated completion: -":vnoremap <C-N> <Esc>a<C-N>" (Benji Fisher) -Ignore K_SELECT in ins_compl_prep(). - -VMS (Zoltan Arpadffy, David Elins): -- ioctl() in pty.c caused trouble, #ifndef VMS added. -- Cut & paste mismatch corrected. -- Popup menu line crash corrected. (Patch 5.5.047) -- Motif directories during open and save as corrected. -- Handle full file names with version numbers. (Patch 5.5.046) -- Directory handling (CD command etc.) -- Corrected file name conversion VMS to Unix and v.v. -- Recovery was not working. -- Terminal and signal handling was outdated compared to os_unix.c. -- Improved os_vms.txt. - -Configure used fprintf() instead of printf() to check for __DATE__ and -__TIME__. (John Card II) - -BeOS: Adjust computing the char_height and char_ascent. Round them up -separately, avoids redrawing artifacts. (Mike Steed) - -Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and -findmatchlimit(). (Taro Muraoka) - -GTK GUI: -- With GTK 1.2.5 and later the scrollbars were not redrawn correctly. -- Adjusted the gtk_form_draw() function. -- SNiFF connection didn't work. -- 'mousefocus' was not working. (Dalecki) -- Some keys were not working with modifiers: Shift-Tab, Ctrl-Space and CTRL-@. - - -Patch 5.5.001 -Problem: Configure in the top directory did not pass on an argument with a - space correctly. For example "./configure --previs="/My home". - (Stephane Chazelas) -Solution: Use '"$@"' instead of '$*' to pass on the arguments. -Files: configure - -Patch 5.5.002 -Problem: Compilation error for using "fds[] & POLLIN". (Jeff Walker) -Solution: Use "fds[].revents & POLLIN". -Files: src/os_unix.c - -Patch 5.5.003 -Problem: The autoconf check for sizeof(int) is wrong on machines where - sizeof(size_t) != sizeof(int). -Solution: Use our own configure check. Also fixes the warning for - cross-compiling. -Files: src/configure.in, src/configure - -Patch 5.5.004 -Problem: On Unix it's not possible to interrupt ":sleep 100". -Solution: Switch terminal to cooked mode while asleep, to allow a SIGINT to - wake us up. But switch off echo, added TMODE_SLEEP. -Files: src/term.h, src/os_unix.c - -Patch 5.5.005 -Problem: When using <f-args> with a user command, an empty argument to the - command resulted in one empty string, while no string was - expected. -Solution: Catch an empty argument and pass no argument to the function. - (Paul Moore) -Files: src/ex_docmd.c - -Patch 5.5.006 -Problem: Python: When platform-dependent files are in another directory - than the platform-independent files it doesn't work. -Solution: Also check the executable directory, and add it to CFLAGS. (Tessa - Lau) -Files: src/configure.in, src/configure - -Patch 5.5.007 (extra) -Problem: Win32 OLE: Occasional crash when exiting while still being used - via OLE. -Solution: Move OleUninitialize() to before deleting the application object. - (Vince Negri) -Files: src/if_ole.cpp - -Patch 5.5.008 -Problem: 10000@@ takes a long time and cannot be interrupted. -Solution: Check for CTRL-C typed while in the loop to push the register. -Files: src/normal.c - -Patch 5.5.009 -Problem: Recent Sequent machines don't link with "-linet". (Kurtis Rader) -Solution: Remove configure check for Sequent. -Files: src/configure.in, src/configure - -Patch 5.5.010 -Problem: Ctags freed a memory block twice when exiting. When out of - memory, a misleading error message was given. -Solution: Update to ctags 3.3.2. Also fixes a few other problems. (Darren - Hiebert) -Files: src/ctags/* - -Patch 5.5.011 -Problem: After "CTRL-V s", the cursor jumps back to the start, while all - other operators leave the cursor on the last changed character. - (Xiangjiang Ma) -Solution: Position cursor on last changed character, if possible. -Files: src/ops.c - -Patch 5.5.012 -Problem: Using CTRL-] in Visual mode doesn't work when the text includes a - space (just where it's useful). (Stefan Bittner) -Solution: Don't escape special characters in a tag name with a backslash. -Files: src/normal.c - -Patch 5.5.013 -Problem: The ":append" and ":insert" commands allow using a leading - backslash in a line. The ":source" command concatenates those - lines. (Heinlein) -Solution: Add the 'C' flag in 'cpoptions' to switch off concatenation. -Files: src/ex_docmd.c, src/option.h, runtime/doc/options.txt, - runtime/filetype.vim, runtime/scripts.vim - -Patch 5.5.014 -Problem: When executing a register with ":@", the ":append" command would - get text lines with a ':' prepended. (Heinlein) -Solution: Remove the ':' characters. -Files: src/ex_docmd.c, src/ex_getln.c, src/globals.h - -Patch 5.5.015 -Problem: When using ":g/pat/p", it's hard to see where the output starts, - the ":g" command is overwritten. Vi keeps the ":g" command. -Solution: Keep the ":g" command, but allow overwriting it with the report - for the number of changes. -Files: src/ex_cmds.c - -Patch 5.5.016 (extra) -Problem: Win32: Using regedit to install Vim in the popup menu requires the - user to confirm this in a dialog. -Solution: Use "regedit /s" to avoid the dialog -Files: src/dosinst.c - -Patch 5.5.017 -Problem: If an error occurs when closing the current window, Vim could get - stuck in the error handling. -Solution: Don't set curwin to NULL when closing the current window. -Files: src/window.c - -Patch 5.5.018 -Problem: Absolute paths in shell scripts do not always work. -Solution: Use /usr/bin/env to find out the path. -Files: runtime/doc/vim2html.pl, runtime/tools/efm_filter.pl, - runtime/tools/shtags.pl - -Patch 5.5.019 -Problem: A function call in 'statusline' stops using ":q" twice from - exiting, when the last argument hasn't been edited. -Solution: Don't decrement quitmore when executing a function. (Madsen) -Files: src/ex_docmd.c - -Patch 5.5.020 -Problem: When the output of CTRL-D completion in the commandline goes all - the way to the last column, there is an empty line. -Solution: Don't add a newline when the cursor wrapped already. (Madsen) -Files: src/ex_getln.c - -Patch 5.5.021 -Problem: When checking if a file name in the tags file is relative, - environment variables were not expanded. -Solution: Expand the file name before checking if it is relative. (Madsen) -Files: src/tag.c - -Patch 5.5.022 -Problem: When setting or resetting 'paste' the ruler wasn't updated. -Solution: Update the status lines when 'ruler' changes because of 'paste'. -Files: src/option.c - -Patch 5.5.023 -Problem: When editing a new file and autocommands change the cursor - position, the cursor was moved back to the first non-white, unless - 'startofline' was reset. -Solution: Keep the new column, just like the line number. -Files: src/ex_cmds.c - -Patch 5.5.024 (extra) -Problem: Win32 GUI: When using confirm() to put up a dialog without a - default button, the dialog would not have keyboard focus. - (Krishna) -Solution: Always set focus to the dialog window. Only set focus to a button - when a default one is specified. -Files: src/gui_w32.c - -Patch 5.5.025 -Problem: When using "keepend" in a syntax region, a contained match that - includes the end-of-line could still force that region to - continue, if there is another contained match in between. -Solution: Check the keepend_level in check_state_ends(). -Files: src/syntax.c - -Patch 5.5.026 -Problem: When starting Vim in a white-on-black xterm, with 'bg' set to - "dark", and then starting the GUI with ":gui", setting 'bg' to - "light" in the gvimrc, the highlighting isn't set. (Tsjokwing) -Solution: Set the highlighting when 'bg' is changed in the gvimrc, even - though full_screen isn't set. -Files: src/option.c - -Patch 5.5.027 -Problem: Unix: os_unix.c doesn't compile when XTERM_CLIP is used but - WANT_TITLE isn't. (Barnum) -Solution: Move a few functions that are used by the X11 title and clipboard - and put another "#if" around it. -Files: src/os_unix.c - -Patch 5.5.028 (extra) -Problem: Win32 GUI: When a file is dropped on Win32 gvim while at the ":" - prompt, the file is edited but the command line is actually still - there, the cursor goes back to command line on the next command. - (Krishna) -Solution: When dropping a file or directory on gvim while at the ":" prompt, - insert the name of the file/directory. Allows using the - file/directory name for any Ex command. -Files: src/gui_w32.c - -Patch 5.5.029 -Problem: "das" at the end of the file didn't delete the last character of - the sentence. -Solution: When there is no character after the sentence, make the operation - inclusive in current_sent(). -Files: src/search.c - -Patch 5.5.030 -Problem: Unix: in os_unix.c, "term_str" is used, which is also defined in - vim.h as a macro. (wuxin) -Solution: Renamed "term_str" to "buf" in do_xterm_trace(). -Files: src/os_unix.c - -Patch 5.5.031 (extra) -Problem: Win32 GUI: When exiting Windows, gvim will leave swap files behind - and will be killed ungracefully. (Krishna) -Solution: Catch the WM_QUERYENDSESSION and WM_ENDSESSION messages and try to - exit gracefully. Allow the user to cancel the shutdown if there - is a changed buffer. -Files: src/gui_w32.c - -Patch 5.5.032 -Problem: Patch 5.5.025 wasn't right. And C highlighting was still not - working correctly for a #define. -Solution: Added "excludenl" argument to ":syntax", to be able not to extend - a containing item when there is a match with the end-of-line. -Files: src/syntax.c, runtime/doc/syntax.txt, runtime/syntax/c.vim - -Patch 5.5.033 -Problem: When reading from stdin, a long line in viminfo would mess up the - file message. readfile() uses IObuff for keep_msg, which could be - overwritten by anyone. -Solution: Copy the message from IObuff to msg_buf and set keep_msg to that. - Also change vim_fgets() to not use IObuff any longer. -Files: src/fileio.c - -Patch 5.5.034 -Problem: "gvim -rv" caused a crash. Using 't_Co' before it's set. -Solution: Don't try to initialize the highlighting before it has been - initialized from main(). -Files: src/syntax.c - -Patch 5.5.035 -Problem: GTK with XIM: Resizing with status area was messy, and - ":set guioptions+=b" didn't work. -Solution: Make status area a separate widget, but not a separate window. - (Chi-Deok Hwang) -Files: src/gui_gtk_f.c, src/gui_gtk_x11.c, src/multbyte.c - -Patch 5.5.036 -Problem: The GZIP_read() function in $VIMRUNTIME/vimrc_example.vim to - uncompress a file did not do detection for 'fileformat'. This is - because the filtering is done with 'binary' set. -Solution: Split the filtering into separate write, filter and read commands. -Files: runtime/vimrc_example.vim - -Patch 5.5.037 -Problem: The "U" command didn't mark the buffer as changed. (McCormack) -Solution: Set the 'modified' flag when using "U". -Files: src/undo.c - -Patch 5.5.038 -Problem: When typing a long ":" command, so that the screen scrolls up, - causes the hit-enter prompt, even though the user just typed - return to execute the command. -Solution: Reset need_wait_return if (part of) the command was typed in - getcmdline(). -Files: src/ex_getln.c - -Patch 5.5.039 -Problem: When using a custom status line, "%a" (file # of #) reports the - index of the current window for all windows. -Solution: Pass a window pointer to append_arg_number(), and pass the window - being updated from build_stl_str_hl(). (Stephen P. Wall) -Files: src/buffer.c, src/screen.c, src/proto/buffer.pro - -Patch 5.5.040 -Problem: Multi-byte: When there is some error in xim_real_init(), it can - close XIM and return. After this there can be a segv. -Solution: Test "xic" for being non-NULL, don't set "xim" to NULL. Also try - to find more matches for supported styles. (Sung-Hyun Nam) -Files: src/multbyte.c - -Patch 5.5.041 -Problem: X11 GUI: CTRL-_ requires the SHIFT key only on some machines. -Solution: Translate CTRL-- to CTRL-_. (Robert Webb) -Files: src/gui_x11.c - -Patch 5.5.042 -Problem: X11 GUI: keys with ALT were assumed to be used for the menu, even - when the menu has been disabled by removing 'm' from 'guioptions'. -Solution: Ignore keys with ALT only when gui.menu_is_active is set. (Raf) -Files: src/gui_x11.c - -Patch 5.5.043 -Problem: GTK: Handling of fontset fonts was not right when 'guifontset' - contains exactly 14 times '-'. -Solution: Avoid setting fonts when working with a fontset. (Sung-Hyun Nam) -Files: src/gui_gtk_x11.c - -Patch 5.5.044 -Problem: pltags.pl contains an absolute path "/usr/local/bin/perl". That - might not work everywhere. -Solution: Use "/usr/bin/env perl" instead. -Files: runtime/tools/pltags.pl - -Patch 5.5.045 -Problem: Using "this_session" variable does not work, requires preceding it - with "v:". Default filename for ":mksession" isn't mentioned - in the docs. (Fisher) -Solution: Support using "this_session" to be backwards compatible. -Files: src/eval.c, runtime/doc/options.txt - -Patch 5.5.046 (extra) -Problem: VMS: problems with path and filename. -Solution: Truncate file name at last ';', etc. (Zoltan Arpadffy) -Files: src/buffer.c, src/fileio.c, src/gui_motif.c, src/os_vms.c, - src/proto/os_vms.pro - -Patch 5.5.047 -Problem: VMS: Crash when using the popup menu -Solution: Turn the #define MENU_MODE_CHARS into an array. (Arpadffy) -Files: src/structs.h, src/menu.c - -Patch 5.5.048 -Problem: HP-UX 11: Compiling doesn't work, because both string.h and - strings.h are included. (Squassabia) -Solution: The configure test for including both string.h and strings.h - must include <Xm/Xm.h> first, because it causes problems. -Files: src/configure.in, src/configure, src/config.h.in - -Patch 5.5.049 -Problem: Unix: When installing Vim, the protection bits of files might be - influenced by the umask. -Solution: Add $(FILEMOD) to Makefile. (Shetye) -Files: src/Makefile - -Patch 5.5.050 -Problem: "z+" and "z^" commands are missing. -Solution: Implemented "z+" and "z^". -Files: src/normal.c, runtime/doc/scroll.txt, runtime/doc/index.txt - -Patch 5.5.051 -Problem: Several Unix systems have a problem with the optimization limits - check in configure. -Solution: Removed the configure check, let the user add it manually in - Makefile or the environment. -Files: src/configure.in, src/configure, src/Makefile - -Patch 5.5.052 -Problem: Crash when using a cursor key at the ATTENTION prompt. (Alberani) -Solution: Ignore special keys at the console dialog. Also ignore characters - > 255 for other uses of tolower() and toupper(). -Files: src/menu.c, src/message.c, src/misc2.c - -Patch 5.5.053 -Problem: Indenting is wrong after a function when 'cino' has "fs". Another - problem when 'cino' has "{s". -Solution: Put line after closing "}" of a function at the left margin. - Apply ind_open_extra in the right way after a '{'. -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 5.5.054 -Problem: Unix: ":e #" doesn't work if the alternate file name contains a - space or backslash. (Hudacek) -Solution: When replacing "#", "%" or other items that stand for a file name, - prepend a backslash before special characters. -Files: src/ex_docmd.c - -Patch 5.5.055 -Problem: Using "<C-V>$r-" in blockwise Visual mode replaces one character - beyond the end of the line. (Zivkov) -Solution: Only replace existing characters. -Files: src/ops.c - -Patch 5.5.056 -Problem: After "z20<CR>" messages were printed at the old command line - position once. (Veselinovic) -Solution: Set msg_row and msg_col when changing cmdline_row in - win_setheight(). -Files: src/window.c - -Patch 5.5.057 -Problem: After "S<Esc>" it should be possible to restore the line with "U". - (Veselinovic) -Solution: Don't call u_clearline() in op_delete() when changing only one - line. -Files: src/ops.c - -Patch 5.5.058 -Problem: Using a long search pattern and then "n" causes the hit-enter - prompt. (Krishna) -Solution: Truncate the echoed pattern, like other messages. Moved code for - truncating from msg_attr() to msg_strtrunc(). -Files: src/message.c, src/proto/message.pro, src/search.c - -Patch 5.5.059 -Problem: GTK GUI: When $term is invalid, using "gvim" gives an error - message, even though $term isn't really used. (Robbins) -Solution: When the GUI is about to start, skip the error messages for a - wrong $term. -Files: src/term.c - -Patch 5.5.060 (extra) -Problem: Dos 32 bit: When a directory in 'backupdir' doesn't exist, ":w" - causes the file to be renamed to "axlqwqhy.ba~". (Matzdorf) -Solution: The code to work around a LFN bug in Windows 95 doesn't handle a - non-existing target name correctly. When renaming fails, make - sure the file has its original name. Also do this for the Win32 - version, although it's unlikely that it runs into this problem. -Files: src/os_msdos.c, src/os_win32.c - -Patch 5.5.061 -Problem: When using "\:" in a modeline, the backslash is included in the - option value. (Mohsin) -Solution: Remove one backslash before the ':' in a modeline. -Files: src/buffer.c, runtime/doc/options.txt - -Patch 5.5.062 (extra) -Problem: Win32 console: Temp files are created in the root of the current - drive, which may be read-only. (Peterson) -Solution: Use the same mechanism of the GUI version: Use $TMP, $TEMP or the - current directory. Cleaned up vim_tempname() a bit. -Files: src/fileio.c, src/os_win32.h, runtime/doc/os_dos.txt - -Patch 5.5.063 -Problem: When using whole-line completion in Insert mode, 'cindent' is - applied, even after changing the indent of the line. -Solution: Don't reindent the completed line after inserting/removing indent. - (Robert Webb) -Files: src/edit.c - -Patch 5.5.064 -Problem: has("sniff") doesn't work correctly. -Solution: Return 1 when Vim was compiled with the +sniff feature. (Pruemmer) -Files: src/eval.c - -Patch 5.5.065 -Problem: When dropping a file on Vim, the 'shellslash' option is not - effective. (Krishna) -Solution: Fix the slashes in the dropped file names according to - 'shellslash'. -Files: src/ex_docmd.c, runtime/doc/options.txt - -Patch 5.5.066 -Problem: For systems with backslash in file name: Setting a file name - option to a value starting with "\\machine" removed a backslash. -Solution: Keep the double backslash for "\\machine", but do change - "\\\\machine" to "\\machine" for backwards compatibility. -Files: src/option.c, runtime/doc/options.txt - -Patch 5.5.067 -Problem: With 'hlsearch' set, the pattern "\>" doesn't highlight the first - match in a line. (Benji Fisher) -Solution: Fix highlighting an empty match. Also highlight the first - character in an empty line for "$". -Files: src/screen.c - -Patch 5.5.068 -Problem: Crash when a ":while" is used with an argument that has an error. - (Sylvain Viart) -Solution: Was using an uninitialized index in the cs_line[] array. The - crash only happened when the index was far off. Made sure the - uninitialized index isn't used. -Files: src/ex_docmd.c - -Patch 5.5.069 -Problem: Shifting lines in blockwise Visual mode didn't set the 'modified' - flag. -Solution: Do set the 'modified' flag. -Files: src/ops.c - -Patch 5.5.070 -Problem: When editing a new file, creating that file outside of Vim, then - editing it again, ":w" still warns for overwriting an existing - file. (Nam) -Solution: The BF_NEW flag in the "b_flags" field wasn't cleared properly. -Files: src/buffer.c, src/fileio.c - -Patch 5.5.071 -Problem: Using a matchgroup in a ":syn region", which is the same syntax - group as the region, didn't stop a contained item from matching in - the start pattern. -Solution: Also push an item on the stack when the syntax ID of the - matchgroup is the same as the syntax ID of the region. -Files: src/syntax.c - -Patch 5.5.072 (extra) -Problem: Dos 32 bit: When setting 'columns' to a too large value, Vim may - crash, and the DOS console too. -Solution: Check that the value of 'columns' isn't larger than the number of - columns that the BIOS reports. -Files: src/os_msdos.c, src/proto/os_msdos.pro, src/option.c - -Patch 5.5.073 (extra) -Problem: Win 32 GUI: The Find and Find/Replace dialogs didn't show the - "match case" checkbox. The Find/Replace dialog didn't handle the - "match whole word" checkbox. -Solution: Support the "match case" and "match whole word" checkboxes. -Files: src/gui_w32.c - -Patch 5.6a.001 -Problem: Using <C-End> with a count doesn't work like it does with "G". - (Benji Fisher) -Solution: Accept a count for <C-End> and <C-Home>. -Files: src/normal.c - -Patch 5.6a.002 -Problem: The script for conversion to HTML was an older version. -Solution: Add support for running 2html.vim on a color terminal. -Files: runtime/syntax/2html.vim - -Patch 5.6a.003 -Problem: Defining a function inside a function didn't give an error - message. A missing ":endfunction" doesn't give an error message. -Solution: Allow defining a function inside a function. -Files: src/eval.c, runtime/doc/eval.txt - -Patch 5.6a.004 -Problem: A missing ":endwhile" or ":endif" doesn't give an error message. - (Johannes Zellner) -Solution: Check for missing ":endwhile" and ":endif" in sourced files. - Add missing ":endif" in file selection macros. -Files: src/ex_docmd.c, runtime/macros/file_select.vim - -Patch 5.6a.005 -Problem: 'hlsearch' was not listed alphabetically. The value of 'toolbar' - was changed when 'compatible' is set. -Solution: Moved entry of 'hlsearch' in options[] table down. - Don't reset 'toolbar' option to the default value when - 'compatible' is set. -Files: src/option.c - -Patch 5.6a.006 -Problem: Using a backwards range inside ":if 0" gave an error message. -Solution: Don't complain about a range when it is not going to be used. - (Stefan Roemer) -Files: src/ex_docmd.c - -Patch 5.6a.007 -Problem: ":let" didn't show internal Vim variables. (Ron Aaron) -Solution: Do show ":v" variables for ":let" and ":let v:name". -Files: src/eval.c - -Patch 5.6a.008 -Problem: Selecting a syntax from the Syntax menu gives an error message. -Solution: Replace "else if" in SetSyn() with "elseif". (Ronald Schild) -Files: runtime/menu.vim - -Patch 5.6a.009 -Problem: When compiling with +extra_search but without +syntax, there is a - compilation error in screen.c. (Axel Kielhorn) -Solution: Adjust the #ifdef for declaring and initializing "line" in - win_line(). Also solve compilation problem when +statusline is - used without +eval. Another one when +cmdline_compl is used - without +eval. -Files: src/screen.c, src/misc2.c - -Patch 5.6a.010 -Problem: In a function, ":startinsert!" does not append to the end of the - line if a ":normal" command was used to move the cursor. (Fisher) -Solution: Reset "w_set_curswant" to avoid that w_curswant is changed again. -Files: src/ex_docmd.c - -Patch 5.6a.011 (depends on 5.6a.004) -Problem: A missing ":endif" or ":endwhile" in a function doesn't give an - error message. -Solution: Give that error message. -Files: src/ex_docmd.c - -Patch 5.6a.012 (depends on 5.6a.008) -Problem: Some Syntax menu entries caused a hit-enter prompt. -Solution: Call a function to make the command shorter. Also rename a few - functions to avoid name clashes. -Files: runtime/menu.vim - -Patch 5.6a.013 -Problem: Command line completion works different when another completion - was done earlier. (Johannes Zellner) -Solution: Reset wim_index when starting a new completion. -Files: src/ex_getln.c - -Patch 5.6a.014 -Problem: Various warning messages when compiling and running lint with - different combinations of features. -Solution: Fix the warning messages. -Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/gui_gtk_x11.c, - src/option.c, src/screen.c, src/search.c, src/syntax.c, - src/feature.h, src/globals.h - -Patch 5.6a.015 -Problem: The vimtutor command doesn't always know the value of $VIMRUNTIME. -Solution: Let Vim expand $VIMRUNTIME, instead of the shell. -Files: src/vimtutor - -Patch 5.6a.016 (extra) -Problem: Mac: Window size is restricted when starting. Cannot drag the - window all over the desktop. -Solution: Get real screen size instead of assuming 640x400. Do not use a - fixed number for the drag limits. (Axel Kielhorn) -Files: src/gui_mac.c - -Patch 5.6a.017 -Problem: The "Paste" entry in popup menu for Visual, Insert and Cmdline - mode is in the wrong position. (Stol) -Solution: Add priority numbers for all Paste menu entries. -Files: runtime/menu.vim - -Patch 5.6a.018 -Problem: GTK GUI: submenu priority doesn't work. - Help dialog could be destroyed too soon. - When closing a dialog window (e.g. the "ATTENTION" one), Vim would - just hang. - When GTK theme is changed, Vim doesn't adjust to the new colors. - Argument for ":promptfind" isn't used. -Solution: Fixed the mentioned problems. - Made the dialogs look&feel nicer. - Moved functions to avoid the need for a forward declaration. - Fixed reentrancy of the file browser dialog. - Added drag&drop support for GNOME. - Init the text for the Find/replace dialog from the last used - search string. Set "match whole word" toggle button correctly. - Made repeat rate for drag outside of window depend on the - distance from the window. (Marcin Dalecki) - Made the drag in Visual mode actually work. - Removed recursiveness protection from gui_mch_get_rgb(), it might - cause more trouble than it solves. -Files: src/ex_docmd.c, src/gui_gtk.c, src/gui_gtk_x11.c, src/ui.c, - src/proto/ui.pro, src/misc2.c - -Patch 5.6a.019 -Problem: When trying to recover through NFS, which uses a large block size, - Vim might think the swap file is empty, because mf_blocknr_max is - zero. (Scott McDermott) -Solution: When computing the number of blocks of the file in mf_open(), - round up instead of down. -Files: src/memfile.c - -Patch 5.6a.020 -Problem: GUI GTK: Could not set display for gvim. -Solution: Add "-display" and "--display" arguments. (Marcin Dalecki) -Files: src/gui_gtk_x11.c - -Patch 5.6a.021 -Problem: Recovering still may not work when the block size of the device - where the swap file is located is larger than 4096. -Solution: Read block 0 with the minimal block size. -Files: src/memline.c, src/memfile.c, src/vim.h - -Patch 5.6a.022 (extra) -Problem: Win32 GUI: When an error in the vimrc causes a dialog to pop up - (e.g., for an existing swap file), Vim crashes. (David Elins) -Solution: Before showing a dialog, open the main window. -Files: src/gui_w32.c - -Patch 5.6a.023 -Problem: Using expand("%:gs??/?") causes a crash. (Ron Aaron) -Solution: Check for running into the end of the string in do_string_sub(). -Files: src/eval.c - -Patch 5.6a.024 -Problem: Using an autocommand to delete a buffer when leaving it can cause - a crash when jumping to a tag. (Franz Gorkotte) -Solution: In do_tag(), store tagstacklen before jumping to another buffer. - Check tagstackidx after jumping to another buffer. - Add extra check in win_split() if tagname isn't NULL. -Files: src/tag.c, src/window.c - -Patch 5.6a.025 (extra) -Problem: Win32 GUI: The tables for toupper() and tolower() are initialized - too late. (Mike Steed) -Solution: Move the initialization to win32_init() and call it from main(). -Files: src/main.c, src/os_w32.c, src/proto/os_w32.pro - -Patch 5.6a.026 -Problem: When the SNiFF connection is open, shell commands hang. (Pruemmer) -Solution: Skip a second wait() call if waitpid() already detected that the - child has exited. -Files: src/os_unix.c - -Patch 5.6a.027 (extra) -Problem: Win32 GUI: The "Edit with Vim" popup menu entry causes problems - for the Office toolbar. -Solution: Use a shell extension dll. (Tianmiao Hu) - Added it to the install and uninstal programs, replaces the old - "Edit with Vim" menu registry entries. -Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt - -Patch 5.6a.028 (extra) -Problem: Win32 GUI: Dialogs and tear-off menus can't handle multi-byte - characters. -Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters - correctly. -Files: src/gui_w32.c - -============================================================================== -VERSION 5.7 *version-5.7* - -Version 5.7 is a bug-fix version of 5.6. - -Changed *changed-5.7* -------- - -Renamed src/INSTALL.mac to INSTALL_mac.txt to avoid it being recognized with a -wrong file type. Also renamed src/INSTALL.amiga to INSTALL_ami.txt. - - -Added *added-5.7* ------ - -New syntax files: -stp Stored Procedures (Jeff Lanzarotta) -snnsnet, snnspat, snnsres SNNS (Davide Alberani) -mel MEL (Robert Minsk) -ruby Ruby (Mirko Nasato) -tli TealInfo (Kurt W. Andrews) -ora Oracle config file (Sandor Kopanyi) -abaqus Abaqus (Carl Osterwisch) -jproperties Java Properties (Simon Baldwin) -apache Apache config (Allan Kelly) -csp CSP (Jan Bredereke) -samba Samba config (Rafael Garcia-Suarez) -kscript KDE script (Thomas Capricelli) -hb Hyper Builder (Alejandro Forero Cuervo) -fortran Fortran (rewritten) (Ajit J. Thakkar) -sml SML (Fabrizio Zeno Cornelli) -cvs CVS commit (Matt Dunford) -aspperl ASP Perl (Aaron Hope) -bc BC calculator (Vladimir Scholtz) -latte Latte (Nick Moffitt) -wml WML (Gerfried Fuchs) - -Included Exuberant ctags 3.5.1. (Darren Hiebert) - -"display" and "fold" arguments for syntax items. For future extension, they -are ignored now. - -strftime() function for the Macintosh. - -macros/explorer.vim: A file browser script (M A Aziz Ahmed) - - -Fixed *fixed-5.7* ------ - -The 16 bit MS-DOS version is now compiled with Bcc 3.1 instead of 4.0. The -executable is smaller. - -When a "make test" failed, the output file was lost. Rename it to -test99.failed to be able to see what went wrong. - -After sourcing bugreport.vim, it's not clear that bugreport.txt has been -written in the current directory. Edit bugreport.txt to avoid that. - -Adding IME support when using Makefile.w32 didn't work. (Taro Muraoka) - -Win32 console: Mouse drags were passed on even when the mouse didn't move. - -Perl interface: In Buffers(), type of argument to SvPV() was int, should be -STRLEN. (Tony Leneis) - -Problem with prototype for index() on AIX 4.3.0. Added check for _AIX43 in -os_unix.h. (Jake Hamby) - -Mappings in mswin.vim could break when some commands are mapped. Add "nore" -to most mappings to avoid re-mapping. - -modify_fname() made a copy of a file name for ":p" when it already was a full -path name, which is a bit slow. - -Win32 with Borland C++ 5.5: Pass the path to the compiler on to xxd and ctags, -to avoid depending on $PATH. Fixed "make clean". - -Many fixes to Macintosh specific parts: (mostly by Dany StAmant) -- Only one Help menu. -- No more crash when removing a menu item. -- Support as External Editor for Codewarrior (still some little glitches). -- Popup menu support. -- Fixed crash when pasting after application switch. -- Color from rgb.txt properly displayed. -- 'isprint' default includes all chars above '~'. (Axel Kielhorn) -- mac_expandpath() was leaking memory. -- Add digraphs table. (Axel Kielhorn) -- Multi-byte support: (Kenichi Asai) - Switch keyscript when going in/out of Insert mode. - Draw multi-byte character correctly. - Don't use mblen() but highest bit of char to detect multi-byte char. - Display value of multi-byte in statusline (also for other systems). -- mouse button was not initialized properly to MOUSE_LEFT when - USE_CTRLCLICKMENU not defined. -- With Japanese SJIS characters: Make "w", "b", and "e" work - properly. (Kenichi Asai) -- Replaced old CodeWarrior file os_mac.CW9.hqx with os_mac.cw5.sit.hqx. - -Fixes for VMS: (Zoltan Arpadffy) (also see patch 5.6.045 below) -- Added Makefile_vms.mms and vimrc.vms to src/testdir to be able to run the - tests. -- Various fixes. -- Set 'undolevels' to 1000 by default. -- Made mch_settitle() equivalent to the one in os_unix.c. - -RiscOS: A few prototypes for os_riscos.c were outdated. Generate prototypes -automatically. - - -Previously released patches: - -Patch 5.6.001 -Problem: When using "set bs=0 si cin", Inserting "#<BS>" or "}<BS>" which - reduces the indent doesn't delete the "#" or "}". (Lorton) -Solution: Adjust ai_col in ins_try_si(). -Files: src/edit.c - -Patch 5.6.002 -Problem: When using the vim.vim syntax file, a comment with all uppercase - characters causes a hang. -Solution: Adjust pattern for vimCommentTitle (Charles Campbell) -Files: runtime/syntax/vim.vim - -Patch 5.6.003 -Problem: GTK GUI: Loading a user defined toolbar bitmap gives a warning - about the colormap. Probably because the window has not been - opened yet. -Solution: Use gdk_pixmap_colormap_create_from_xpm() to convert the xpm file. - (Keith Radebaugh) -Files: src/gui_gtk.c - -Patch 5.6.004 (extra) -Problem: Win32 GUI with IME: When setting 'guifont' to "*", the font - requester appears twice. -Solution: In gui_mch_init_font() don't call get_logfont() but copy - norm_logfont from fh. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 5.6.005 -Problem: When 'winminheight' is zero, CTRL-W - with a big number causes a - crash. (David Kotchan) -Solution: Check for negative window height in win_setheight(). -Files: src/window.c - -Patch 5.6.006 -Problem: GTK GUI: Bold font cannot always be used. Memory is freed too - early in gui_mch_init_font(). -Solution: Move call to g_free() to after where sdup is used. (Artem Hodyush) -Files: src/gui_gtk_x11.c - -Patch 5.6.007 (extra) -Problem: Win32 IME: Font is not changed when screen font is changed. And - IME composition window does not trace the cursor. -Solution: Initialize IME font. When cursor is moved, set IME composition - window with ImeSetCompositionWindow(). Add call to - ImmReleaseContext() in several places. (Taro Muraoka) -Files: src/gui.c, src/gui_w32.c, src/proto/gui_w32.pro - -Patch 5.6.008 (extra) -Problem: Win32: When two files exist with the same name but different case - (through NFS or Samba), fixing the file name case could cause the - wrong one to be edited. -Solution: Prefer a perfect match above a match while ignoring case in - fname_case(). (Flemming Madsen) -Files: src/os_win32.c - -Patch 5.6.009 (extra) -Problem: Win32 GUI: Garbage in Windows Explorer help line when selecting - "Edit with Vim" popup menu entry. -Solution: Only return the help line when called with the GCS_HELPTEXT flag. - (Tianmiao Hu) -Files: GvimExt/gvimext.cpp - -Patch 5.6.010 -Problem: A file name which contains a TAB was not read correctly from the - viminfo file and the ":ls" listing was not aligned properly. -Solution: Parse the buffer list lines in the viminfo file from the end - backwards. Count a Tab for two characters to align the ":ls" list. -Files: src/buffer.c - -Patch 5.6.011 -Problem: When 'columns' is huge (using a tiny font) and 'statusline' is - used, Vim can crash. -Solution: Limit maxlen to MAXPATHL in win_redr_custom(). (John Mullin) -Files: src/screen.c - -Patch 5.6.012 -Problem: When using "zsh" for /bin/sh, toolcheck may hang until "exit" is - typed. (Kuratczyk) -Solution: Add "-c exit" when checking for the shell version. -Files: src/toolcheck - -Patch 5.6.013 -Problem: Multibyte char in tooltip is broken. -Solution: Consider multibyte char in replace_termcodes(). (Taro Muraoka) -Files: src/term.c - -Patch 5.6.014 -Problem: When cursor is at the end of line and the character under cursor - is a multibyte character, "yl" doesn't yank 1 multibyte-char. - (Takuhiro Nishioka) -Solution: Recognize a multibyte-char at end-of-line correctly in oneright(). - (Taro Muraoka) - Also: make "+quickfix" in ":version" output appear alphabetically. -Files: src/edit.c - -Patch 5.6.015 -Problem: New xterm delete key sends <Esc>[3~ by default. -Solution: Added <kDel> and <kIns> to make the set of keypad keys complete. -Files: src/edit.c, src/ex_getln.c, src/keymap.h, src/misc1.c, - src/misc2.c, src/normal.c, src/os_unix.c, src/term.c - -Patch 5.6.016 -Problem: When deleting a search string from history from inside a mapping, - another entry is deleted too. (Benji Fisher) -Solution: Reset last_maptick when deleting the last entry of the search - history. Also: Increment maptick when starting a mapping from - typed characters to avoid a just added search string being - overwritten or removed from history. -Files: src/ex_getln.c, src/getchar.c - -Patch 5.6.017 -Problem: ":s/e/\^M/" should replace an "e" with a CTRL-M, not split the - line. (Calder) -Solution: Replace the backslash with a CTRL-V internally. (Stephen P. Wall) -Files: src/ex_cmds.c - -Patch 5.6.018 -Problem: ":help [:digit:]" takes a long time to jump to the wrong place. -Solution: Insert a backslash to avoid the special meaning of '[]'. -Files: src/ex_cmds.c - -Patch 5.6.019 -Problem: "snd.c", "snd.java", etc. were recognized as "mail" filetype. -Solution: Make pattern for mail filetype more strict. -Files: runtime/filetype.vim - -Patch 5.6.020 (extra) -Problem: The DJGPP version eats processor time (Walter Briscoe). -Solution: Call __dpmi_yield() in the busy-wait loop. -Files: src/os_msdos.c - -Patch 5.6.021 -Problem: When 'selection' is "exclusive", a double mouse click in Insert - mode doesn't select last char in line. (Lutz) -Solution: Allow leaving the cursor on the NUL past the line in this case. -Files: src/edit.c - -Patch 5.6.022 -Problem: ":e \~<Tab>" expands to ":e ~\$ceelen", which doesn't work. -Solution: Re-insert the backslash before the '~'. -Files: src/ex_getln.c - -Patch 5.6.023 (extra) -Problem: Various warnings for the Ming compiler. -Solution: Changes to avoid the warnings. (Bill McCarthy) -Files: src/ex_cmds.c, src/gui_w32.c, src/os_w32exe.c, src/os_win32.c, - src/syntax.c, src/vim.rc - -Patch 5.6.024 (extra) -Problem: Win32 console: Entering CTRL-_ requires the shift key. (Kotchan) -Solution: Specifically catch keycode 0xBD, like the GUI. -Files: src/os_win32.c - -Patch 5.6.025 -Problem: GTK GUI: Starting the GUI could be interrupted by a SIGWINCH. - (Nils Lohner) -Solution: Repeat the read() call to get the gui_in_use value when - interrupted by a signal. -Files: src/gui.c - -Patch 5.6.026 (extra) -Problem: Win32 GUI: Toolbar bitmaps are searched for in - $VIMRUNTIME/bitmaps, while GTK looks in $VIM/bitmaps. (Keith - Radebaugh) -Solution: Use $VIM/bitmaps for both, because these are not part of the - distribution but defined by the user. -Files: src/gui_w32.c, runtime/doc/gui.txt - -Patch 5.6.027 -Problem: TCL: Crash when using a Tcl script (reported for Win32). -Solution: Call Tcl_FindExecutable() in main(). (Brent Fulgham) -Files: src/main.c - -Patch 5.6.028 -Problem: Xterm patch level 126 sends codes for mouse scroll wheel. - Fully works with xterm patch level 131. -Solution: Recognize the codes for button 4 (0x60) and button 5 (0x61). -Files: src/term.c - -Patch 5.6.029 -Problem: GTK GUI: Shortcut keys cannot be used for a dialog. (Johannes - Zellner) -Solution: Add support for shortcut keys. (Marcin Dalecki) -Files: src/gui_gtk.c - -Patch 5.6.030 -Problem: When closing a window and 'ea' is set, Vim can crash. (Yasuhiro - Matsumoto) -Solution: Set "curbuf" to a valid value in win_close(). -Files: src/window.c - -Patch 5.6.031 -Problem: Multi-byte: When a double-byte character ends in CSI, Vim waits - for another character to be typed. -Solution: Recognize the CSI as the second byte of a character and don't wait - for another one. (Yasuhiro Matsumoto) -Files: src/getchar.c - -Patch 5.6.032 -Problem: Functions with an argument that is a line number don't all accept - ".", "$", etc. (Ralf Arens) -Solution: Add get_art_lnum() and use it for setline(), line2byte() and - synID(). -Files: src/eval.c - -Patch 5.6.033 -Problem: Multi-byte: "f " sometimes skips to the second space. (Sung-Hyun - Nam) -Solution: Change logic in searchc() to skip trailing byte of a double-byte - character. - Also: Ask for second byte when searching for double-byte - character. (Park Chong-Dae) -Files: src/search.c - -Patch 5.6.034 (extra) -Problem: Compiling with Borland C++ 5.5 fails on tolower() and toupper(). -Solution: Use TO_LOWER() and TO_UPPER() instead. Also adjust the Makefile - to make using bcc 5.5 easier. -Files: src/edit.c, src/ex_docmd.c, src/misc1.c, src/Makefile.bor - -Patch 5.6.035 -Problem: Listing the"+comments" feature in the ":version" output depended - on the wrong ID. (Stephen P. Wall) -Solution: Change "CRYPTV" to "COMMENTS". -Files: src/version.c - -Patch 5.6.036 -Problem: GTK GUI: Copy/paste text doesn't work between gvim and Eterm. -Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang) -Files: src/gui_gtk_x11.c - -Patch 5.6.037 -Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI. -Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam) -Files: src/gui_gtk_x11.c, src/multbyte.c - -Patch 5.6.038 -Problem: Multi-clicks in GUI are interpreted as a mouse wheel click. When - 'ttymouse' is "xterm" a mouse click is interpreted as a mouse - wheel click. -Solution: Don't recognize the mouse wheel in check_termcode() in the GUI. - Use 0x43 for a mouse drag in do_xterm_trace(), not 0x63. -Files: src/term.c, src/os_unix.c - -Patch 5.6.039 -Problem: Motif GUI under KDE: When trying to logout, Vim hangs up the - system. (Hermann Rochholz) -Solution: When handling the WM_SAVE_YOURSELF event, set the WM_COMMAND - property of the window to let the session manager know we finished - saving ourselves. -Files: src/gui_x11.c - -Patch 5.6.040 -Problem: When using ":s" command, matching the regexp is done twice. -Solution: After copying the matched line, adjust the pointers instead of - finding the match again. (Loic Grenie) Added vim_regnewptr(). -Files: src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro - -Patch 5.6.041 -Problem: GUI: Athena, Motif and GTK don't give more than 10 dialog buttons. -Solution: Remove the limit on the number of buttons. - Also support the 'v' flag in 'guioptions'. - For GTK: Center the buttons. -Files: src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c - -Patch 5.6.042 -Problem: When doing "vim -u vimrc" and vimrc contains ":q", the cursor in - the terminal can remain off. -Solution: Call cursor_on() in mch_windexit(). -Files: src/os_unix.c - -Patch 5.6.043 (extra) -Problem: Win32 GUI: When selecting guifont with the dialog, 'guifont' - doesn't include the bold or italic attributes. -Solution: Append ":i" and/or ":b" to 'guifont' in gui_mch_init_font(). -Files: src/gui_w32.c - -Patch 5.6.044 (extra) -Problem: MS-DOS and Windows: The line that dosinst.exe appends to - autoexec.bat to set PATH is wrong when Vim is in a directory with - an embedded space. -Solution: Use double quotes for the value when there is an embedded space. -Files: src/dosinst.c - -Patch 5.6.045 (extra) (fixed version) -Problem: VMS: Various small problems. -Solution: Many small changes. (Zoltan Arpadffy) - File name modifier ":h" keeps the path separator. - File name modifier ":e" also removes version. - Compile with MAX_FEAT by default. - When checking for autocommands ignore version in file name. - Be aware of file names being case insensitive. - Added vt320 builtin termcap. - Be prepared for an empty default_vim_dir. -Files: runtime/gvimrc_example.vim, runtime/vimrc_example.vim, - runtime/doc/os_vms.txt, src/eval.c, src/feature.h, src/fileio.c, - src/gui_motif.c, src/gui_vms_conf.h, src/main.c, src/memline.c, - src/misc1.c, src/option.c, src/os_vms_conf.h, src/os_vms.c, - src/os_vms.h, src/os_vms.mms, src/tag.c, src/term.c, src/version.c - -Patch 5.6.046 -Problem: Systems with backslash in file name: With 'shellslash' set, "vim - */*.c" only uses a slash for the first file name. (Har'El) -Solution: Fix slashes in file name arguments after reading the vimrc file. -Files: src/option.c - -Patch 5.6.047 -Problem: $CPPFLAGS is not passed on to ctags configure. -Solution: Add it. (Walter Briscoe) -Files: src/config.mk.in, src/Makefile - -Patch 5.6.048 -Problem: CTRL-R in Command-line mode is documented to insert text as typed, - but inserts text literally. -Solution: Make CTRL-R insert text as typed, use CTRL-R CTRL-R to insert - literally. This is consistent with Insert mode. But characters - that end Command-line mode are inserted literally. -Files: runtime/doc/index.txt, runtime/doc/cmdline.txt, src/ex_getln.c, - src/ops.c, src/proto/ops.pro - -Patch 5.6.049 -Problem: Documentation for [!] after ":ijump" is wrong way around. (Benji - Fisher) -Solution: Fix the documentation. Also improve the code to check for a match - after a /* */ comment. -Files: runtime/doc/tagsearch.txt, src/search.c - -Patch 5.6.050 -Problem: Replacing is wrong when replacing a single-byte char with - double-byte char or the other way around. -Solution: Shift the text after the character when it is replaced. - (Yasuhiro Matsumoto) -Files: src/normal.c, src/misc1.c - -Patch 5.6.051 -Problem: ":tprev" and ":tnext" don't give an error message when trying to - go before the first or beyond the last tag. (Robert Webb) -Solution: Added error messages. Also: Delay a second when a file-read - message is going to overwrite an error message, otherwise it won't - be seen. -Files: src/fileio.c, src/tag.c - -Patch 5.6.052 -Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte, - it terminates the command. -Solution: Skip second byte of multi-byte char when checking for '|' and '"'. - (Asai Kenichi) -Files: src/ex_docmd.c - -Patch 5.6.053 -Problem: CTRL-] doesn't work on a tag that contains a '|'. (Cesar Crusius) -Solution: Escape '|', '"' and '\' in tag names when using CTRL-] and also - for command-line completion. -Files: src/ex_getln.c, src/normal.c - -Patch 5.6.054 -Problem: When using ":e" and ":e #" the cursor is put in the first column - when 'startofline' is set. (Cordell) -Solution: Use the last known column when 'startofline' is set. - Also, use ECMD_LAST more often to simplify the code. -Files: src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/buffer.pro - -Patch 5.6.055 -Problem: When 'statusline' only contains a text without "%" and doesn't fit - in the window, Vim crashes. (Ron Aaron) -Solution: Don't use the pointer for the first item if there is no item. -Files: src/screen.c - -Patch 5.6.056 (extra) -Problem: MS-DOS: F11 and F12 don't work when 'bioskey' is set. -Solution: Use enhanced keyboard functions. (Vince Negri) - Detect presence of enhanced keyboard and set bioskey_read and - bioskey_ready. -Files: src/os_msdos.c - -Patch 5.6.057 (extra) -Problem: Win32 GUI: Multi-byte characters are wrong in dialogs and tear-off - menus. -Solution: Use system font instead of a fixed font. (Matsumoto, Muraoka) -Files: src/gui_w32.c - -Patch 5.6.058 -Problem: When the 'a' flag is not in 'guioptions', non-Windows systems - copy Visually selected text to the clipboard/selection on a yank - or delete command anyway. On Windows it isn't done even when the - 'a' flag is included. -Solution: Respect the 'a' flag in 'guioptions' on all systems. -Files: src/normal.c - -Patch 5.6.059 (extra) -Problem: When moving the cursor over italic text and the characters spill - over to the cell on the right, that spill-over is deleted. - Noticed in the Win32 GUI, can happen on other systems too. -Solution: Redraw italic text starting from a blank, like this is already - done for bold text. (Vince Negri) -Files: src/gui.c, src/gui.h, src/gui_w32.c - -Patch 5.6.060 -Problem: Some bold characters spill over to the cell on the left, that - spill-over can remain sometimes. -Solution: Redraw a character when the next character was bold and needs - redrawing. (Robert Webb) -Files: src/screen.c - -Patch 5.6.061 -Problem: When xterm sends 8-bit controls, recognizing the version response - doesn't work. - When using CSI instead of <Esc>[ for the termcap color codes, - using 16 colors doesn't work. (Neil Bird) -Solution: Also accept CSI in place of <Esc>[ for the version string. - Also check for CSI when handling colors 8-15 in term_color(). - Use CSI for builtin xterm termcap entries when 'term' contains - "8bit". -Files: runtime/doc/term.txt, src/ex_cmds.c, src/option.c, src/term.c, - src/os_unix.c, src/proto/option.pro, src/proto/term.pro - -Patch 5.6.062 -Problem: The documentation says that setting 'smartindent' doesn't have an - effect when 'cindent' is set, but it does make a difference for - lines starting with "#". (Neil Bird) -Solution: Really ignore 'smartindent' when 'cindent' is set. -Files: src/misc1.c, src/ops.c - -Patch 5.6.063 -Problem: Using "I" in Visual-block mode doesn't accept a count. (Johannes - Zellner) -Solution: Pass the count on to do_insert() and edit(). (Allan Kelly) -Files: src/normal.c, src/ops.c, src/proto/ops.pro - -Patch 5.6.064 -Problem: MS-DOS and Win32 console: Mouse doesn't work correctly after - including patch 5.6.28. (Vince Negri) -Solution: Don't check for mouse scroll wheel when the mouse code contains - the number of clicks. -Files: src/term.c - -Patch 5.6.065 -Problem: After moving the cursor around in Insert mode, typing a space can - still trigger an abbreviation. (Benji Fisher) -Solution: Don't check for an abbreviation after moving around in Insert mode. -Files: src/edit.c - -Patch 5.6.066 -Problem: Still a few bold character spill-over remains after patch 60. -Solution: Clear character just in front of blanking out rest of the line. - (Robert Webb) -Files: src/screen.c - -Patch 5.6.067 -Problem: When a file name contains a NL, the viminfo file is corrupted. -Solution: Use viminfo_writestring() to convert the NL to CTRL-V n. - Also fix the Buffers menu and listing a menu name with a newline. -Files: runtime/menu.vim, src/buffer.c, src/mark.c, src/menu.c - -Patch 5.6.068 -Problem: Compiling the Perl interface doesn't work with Perl 5.6.0. - (Bernhard Rosenkraenzer) -Solution: Also check xs_apiversion for the version number when prepending - defines for PL_*. -Files: src/Makefile - -Patch 5.6.069 -Problem: "go" doesn't always end up at the right character when - 'fileformat' is "dos". (Bruce DeVisser) -Solution: Correct computations in ml_find_line_or_offset(). -Files: src/memline. - -Patch 5.6.070 (depends on 5.6.068) -Problem: Compiling the Perl interface doesn't work with Perl 5.6.0. - (Bernhard Rosenkraenzer) -Solution: Simpler check instead of the one from patch 68. -Files: src/Makefile - -Patch 5.6.071 -Problem: "A" in Visual block mode on a Tab positions the cursor one char to - the right. (Michael Haumann) -Solution: Correct the column computation in op_insert(). -Files: src/ops.c - -Patch 5.6.072 -Problem: When starting Vim with "vim +startinsert", it enters Insert mode - only after typing the first command. (Andrew Pimlott) -Solution: Insert a dummy command in the stuff buffer. -Files: src/main.c - -Patch 5.6.073 (extra) (depends on 5.6.034) -Problem: Win32 GUI: When compiled with Bcc 5.5 menus don't work. - In dosinst.c toupper() and tolower() give an "internal compiler - error" for Bcc 5.5. -Solution: Define WINVER to 4 to avoid compiling for Windows 2000. (Dan - Sharp) Also cleaned up compilation arguments. - Use our own implementation of toupper() in dosinst.c. Use - mytoupper() instead of tolower(). -Files: src/Makefile.bor, src/dosinst.c - -Patch 5.6.074 (extra) -Problem: Entering CSI directly doesn't always work, because it's recognized - as the start of a special key. Mostly a problem with multi-byte - in the GUI. -Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI, - <xCSI> for a CSI typed in the GUI. -Files: runtime/doc/intro.txt, src/getchar.c, src/gui_amiga.c, - src/gui_gtk_x11.c, src/gui_mac.c, src/gui_riscos.c, src/gui_w32.c, - src/keymap.h, src/misc2.c - -Patch 5.6.075 -Problem: When using "I" or "A" in Visual block mode while 'sts' is set may - change spaces to a Tab the inserted text is not correct. (Mike - Steed) And some other problems when using "A" to append after the - end of the line. -Solution: Check for change in spaces/tabs after inserting the text. Append - spaces to fill the gap between the end-of-line and the right edge - of the block. -Files: src/ops.c - -Patch 5.6.076 -Problem: GTK GUI: Mapping <M-Space> doesn't work. -Solution: Don't use the "Alt" modifier twice in key_press_event(). -Files: src/gui_gtk_x11.c - -Patch 5.6.077 -Problem: GUI: When interrupting an external program with CTRL-C, gvim might - crash. (Benjamin Korvemaker) -Solution: Avoid using a NULL pointer in ui_inchar_undo(). -Files: src/ui.c - -Patch 5.6.078 -Problem: Locale doesn't always work on FreeBSD. (David O'Brien) -Solution: Link with the "xpg4" library when available. -Files: src/configure.in, src/configure - -Patch 5.6.079 -Problem: Vim could crash when several Tcl interpreters are created and - destroyed. -Solution: handle the "exit" command and nested ":tcl" commands better. (Ingo - Wilken) -Files: runtime/doc/if_tcl.txt, src/if_tcl.c - -Patch 5.6.080 -Problem: When jumping to a tag, generating the tags file and jumping to the - same tag again uses the old search pattern. (Sung-Hyun Nam) -Solution: Flush cached tag matches when executing an external command. -Files: src/misc2.c, src/proto/tag.pro, src/tag.c - -Patch 5.6.081 -Problem: ":syn include" uses a level for the included file, this confuses - contained items included at the same level. -Solution: Use a unique tag for each included file. Changed sp_syn_inc_lvl - to sp_syn_inc_tag. (Scott Bigham) -Files: src/syntax.c, src/structs.h - -Patch 5.6.082 -Problem: When using cscope, Vim can crash. -Solution: Initialize tag_fname in find_tags(). (Anton Blanchard) -Files: src/tag.c - -Patch 5.6.083 (extra) -Problem: Win32: The visual beep can't be seen. (Eric Roesinger) -Solution: Flush the output before waiting with GdiFlush(). (Maurice S. Barnum) - Also: Allow specifying the delay in t_vb for the GUI. -Files: src/gui.c, src/gui_amiga.c, src/gui_gtk_x11.c, src/gui_mac.c, - src/gui_riscos.c, src/gui_w32.c, src/gui_x11.c, src/gui_beos.cc, - src/proto/gui_amiga.pro, src/proto/gui_gtk_x11.pro, - src/proto/gui_mac.pro, src/proto/gui_riscos.pro, - src/proto/gui_w32.pro, src/proto/gui_x11.pro, - src/proto/gui_beos.pro - -Patch 5.6.084 (depends on 5.6.074) -Problem: GUI: Entering CSI doesn't always work for Athena and Motif. -Solution: Handle typed CSI as <xCSI> (forgot this bit in 5.6.074). -Files: src/gui_x11.c - -Patch 5.6.085 -Problem: Multi-byte: Using "r" to replace a double-byte char with a - single-byte char moved the cursor one character. (Matsumoto) - Also, using a count when replacing a single-byte char with a - double-byte char didn't work. -Solution: Don't use del_char() to delete the second byte. - Get "ptr" again after calling ins_char(). -Files: src/normal.c - -Patch 5.6.086 (extra) -Problem: Win32: When using libcall() and the returned value is not a valid - pointer, Vim crashes. -Solution: Use IsBadStringPtr() to check if the pointer is valid. -Files: src/os_win32.c - -Patch 5.6.087 -Problem: Multi-byte: Commands and messages with multi-byte characters are - displayed wrong. -Solution: Detect double-byte characters. (Yasuhiro Matsumoto) -Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c - -Patch 5.6.088 -Problem: Multi-byte with Motif or Athena: The message "XIM requires - fontset" is annoying when Vim was compiled with XIM support but it - is not being used. -Solution: Remove that message. -Files: src/multbyte.c - -Patch 5.6.089 -Problem: On non-Unix systems it's possible to overwrite a read-only file - without using "!". -Solution: Check if the file permissions allow overwriting before moving the - file to become the backup file. -Files: src/fileio.c - -Patch 5.6.090 -Problem: When editing a file in "/home/dir/home/dir" this was replaced with - "~~". (Andreas Jellinghaus) -Solution: Replace the home directory only once in home_replace(). -Files: src/misc1.c - -Patch 5.6.091 -Problem: When editing many "no file" files, can't create swap file, because - .sw[a-p] have all been used. (Neil Bird) -Solution: Also use ".sv[a-z]", ".su[a-z]", etc. -Files: src/memline.c - -Patch 5.6.092 -Problem: FreeBSD: When setting $TERM to a non-valid terminal name, Vim - hangs in tputs(). -Solution: After tgetent() returns an error code, call it again with the - terminal name "dumb". This apparently creates an environment in - which tputs() doesn't fail. -Files: src/term.c - -Patch 5.6.093 (extra) -Problem: Win32 GUI: "ls | gvim -" will show a message box about reading - stdin when Vim exits. (Donohue) -Solution: Don't write a message about the file read from stdin until the GUI - has started. -Files: src/fileio.c - -Patch 5.6.094 -Problem: Problem with multi-byte string for ":echo var". -Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam) - Also make do_echo() aware of multi-byte characters. -Files: src/eval.c, src/message.c - -Patch 5.6.095 -Problem: With an Emacs TAGS file that include another a relative path - doesn't always work. -Solution: Use expand_tag_fname() on the name of the included file. - (Utz-Uwe Haus) -Files: src/tag.c - -Patch 5.6.096 -Problem: Unix: When editing many files, startup can be slow. (Paul - Ackersviller) -Solution: Halve the number of stat() calls used to add a file to the buffer - list. -Files: src/buffer.c - -Patch 5.7a.001 -Problem: GTK doesn't respond on drag&drop from ROX-Filer. -Solution: Add "text/uri-list" target. (Thomas Leonard) - Also: fix problem with checking for trash arguments. -Files: src/gui_gtk_x11.c - -Patch 5.7a.002 -Problem: Multi-byte: 'showmatch' is performed when second byte of an - inserted double-byte char is a paren or brace. -Solution: Check IsTrailByte() before calling showmatch(). (Taro Muraoka) -Files: src/misc1.c - -Patch 5.7a.003 -Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at - the end of the line on a multi-byte character the cursor moves to - the left. -Solution: Check for multi-byte character at end-of-line. (Taro Muraoka) - Also: fix cls() to detect a double-byte character. (Chong-Dae Park) -Files: src/edit.c, src/search.c - -Patch 5.7a.004 -Problem: When reporting the search pattern offset, the string could be - unterminated, which may cause a crash. -Solution: Terminate the string for the search offset. (Stephen P. Wall) -Files: src/search.c - -Patch 5.7a.005 -Problem: When ":s//~/" doesn't find a match it reports "[NULL]" for the - pattern. -Solution: Use get_search_pat() to obtain the actually used pattern. -Files: src/ex_cmds.c, src/proto/search.pro, src/search.c - -Patch 5.7a.006 (extra) -Problem: VMS: Various problems, also with the VAXC compiler. -Solution: In many places use the Unix code for VMS too. - Added time, date and compiler version to version message. - (Zoltan Arpadffy) -Files: src/ex_cmds.c, src/ex_docmd.c, src/globals.h, src/gui_vms_conf.h, - src/main.c, src/message.c, src/misc1.c, src/os_vms.c, - src/os_vms.h, src/os_vms.mms, src/os_vms_conf.h, - src/proto/os_vms.pro, src/proto/version.pro, src/term.c, - src/version.c, src/xxd/os_vms.mms, src/xxd/xxd.c - -Patch 5.7a.007 -Problem: Motif and Athena GUI: CTRL-@ is interpreted as CTRL-C. -Solution: Only use "intr_char" when it has been set. -Files: src/gui_x11.c - -Patch 5.7a.008 -Problem: GTK GUI: When using CTRL-L the screen is redrawn twice, causing - trouble for bold characters. Also happens when moving with the - scrollbar. Best seen when 'writedelay' is non-zero. - When starting the GUI with ":gui" the screen is redrawn once with - the wrong colors. -Solution: Only set the geometry hints when the window size really changed. - This avoids setting it each time the scrollbar is forcefully - redrawn. - Don't redraw in expose_event() when gui.starting is still set. -Files: src/gui_gtk_x11.c - - -============================================================================== -VERSION 5.8 *version-5.8* - -Version 5.8 is a bug-fix version of 5.7. - - -Changed *changed-5.8* -------- - -Ctags is no longer included with Vim. It has grown into a project of its own. -You can find it here: http://ctags.sf.net. It is highly recommended as a Vim -companion when you are writing programs. - - -Added *added-5.8* ------ - -New syntax files: -acedb AceDB (Stewart Morris) -aflex Aflex (Mathieu Clabaut) -antlr Antlr (Mathieu Clabaut) -asm68k 68000 Assembly (Steve Wall) -automake Automake (John Williams) -ayacc Ayacc (Mathieu Clabaut) -b B (Mathieu Clabaut) -bindzone BIND zone (glory hump) -blank Blank (Rafal Sulejman) -cfg Configure files (Igor Prischepoff) -changelog ChangeLog (Gediminas Paulauskas) -cl Clever (Phil Uren) -crontab Crontab (John Hoelzel) -csc Essbase script (Raul Segura Acevedo) -cynlib Cynlib(C++) (Phil Derrick) -cynpp Cyn++ (Phil Derrick) -debchangelog Debian Changelog (Wichert Akkerman) -debcontrol Debian Control (Wichert Akkerman) -dns DNS zone file (Jehsom) -dtml Zope's DTML (Jean Jordaan) -dylan Dylan, Dylan-intr and Dylan-lid (Brent Fulgham) -ecd Embedix Component Description (John Beppu) -fgl Informix 4GL (Rafal Sulejman) -foxpro FoxPro (Powing Tse) -gsp GNU Server Pages (Nathaniel Harward) -gtkrc GTK rc (David Necas) -hercules Hercules (Avant! Corporation) (Dana Edwards) -htmlos HTML/OS by Aestiva (Jason Rust) -inittab SysV process control (David Necas) -iss Inno Setup (Dominique Stephan) -jam Jam (Ralf Lemke) -jess Jess (Paul Baleme) -lprolog LambdaProlog (Markus Mottl) -ia64 Intel Itanium (parth malwankar) -kix Kixtart (Nigel Gibbs) -mgp MaGic Point (Gerfried Fuchs) -mason Mason (HTML with Perl) (Andrew Smith) -mma Mathematica (Wolfgang Waltenberger) -nqc Not Quite C (Stefan Scherer) -omnimark Omnimark (Paul Terray) -openroad OpenROAD (Luis Moreno Serrano) -named BIND configuration (glory hump) -papp PApp (Marc Lehmann) -pfmain Postfix main config (Peter Kelemen) -pic PIC assembly (Aleksandar Veselinovic) -ppwiz PPWizard (Stefan Schwarzer) -progress Progress (Phil Uren) -psf Product Specification File (Rex Barzee) -r R (Tom Payne) -registry MS-Windows registry (Dominique Stephan) -robots Robots.txt (Dominique Stephan) -rtf Rich Text Format (Dominique Stephan) -setl SETL (Alex Poylisher) -sgmldecl SGML Declarations (Daniel A. Molina W.) -sinda Sinda input (Adrian Nagle) -sindacmp Sinda compare (Adrian Nagle) -sindaout Sinda output (Adrian Nagle) -smith SMITH (Rafal Sulejman) -snobol4 Snobol 4 (Rafal Sulejman) -strace Strace (David Necas) -tak TAK input (Adrian Nagle) -takcmp TAK compare (Adrian Nagle) -takout TAK output (Adrian Nagle) -tasm Turbo assembly (FooLman) -texmf TeX configuration (David Necas) -trasys Trasys input (Adrian Nagle) -tssgm TSS Geometry (Adrian Nagle) -tssop TSS Optics (Adrian Nagle) -tsscl TSS Command line (Adrian Nagle) -virata Virata Configuration Script (Manuel M.H. Stol) -vsejcl VSE JCL (David Ondrejko) -wdiff Wordwise diff (Gerfried Fuchs) -wsh Windows Scripting Host (Paul Moore) -xkb X Keyboard Extension (David Necas) - -Renamed php3 to php, it now also supports php4 (Lutz Eymers) - -Patch 5.7.015 -Problem: Syntax files for Vim 6.0 can't be used with 5.x. -Solution: Add the "default" argument to the ":highlight" command: Ignore the - command if highlighting was already specified. -Files: src/syntax.c - -Generate the Syntax menu with makemenu.vim, so that it doesn't have to be done -when Vim is starting up. Reduces the startup time of the GUI. - - -Fixed *fixed-5.8* ------ - -Conversion of docs to HTML didn't convert "|tag|s" to a hyperlink. - -Fixed compiling under NeXT. (Jeroen C.M. Goudswaard) - -optwin.vim gave an error when used in Vi compatible mode ('cpo' contains 'C'). - -Tcl interpreter: "buffer" command didn't check for presence of an argument. -(Dave Bodenstab) - -dosinst.c: Added checks for too long file name. - -Amiga: a file name starting with a colon was considered absolute but it isn't. -Amiga: ":pwd" added a slash when in the root of a drive. - -Macintosh: Warnings for unused variables. (Bernhard Pruemmer) - -Unix: When catching a deadly signal, handle it in such a way that it's -unlikely that Vim will hang. Call _exit() instead of exit() in case of a -severe problem. - -Setting the window title from nothing to something didn't work after patch 29. - -Check for ownership of .exrc and .vimrc was done with stat(). Use lstat() as -well for extra security. - -Win32 GUI: Printing a file with 'fileformat' "unix" didn't work. Set -'fileformat' to "dos" before writing the temp file. - -Unix: Could start waiting for a character when checking for a CTRL-C typed -when an X event is received. - -Could not use Perl and Python at the same time on FreeBSD, because Perl used -"-lc" and Python used the threaded C library. - -Win32: The Mingw compiler gave a few warning messages. - -When using "ZZ" and an autocommand for writing uses an abbreviation it didn't -work. Don't stuff the ":x" command but execute it directly. (Mikael Berthe) - -VMS doesn't always have lstat(), added an #ifdef around it. - -Added a few corrections for the Macintosh. (Axel Kielhorn) - -Win32: Gvimext could not edit more than a few files at once, the length of the -argument was fixed. - - -Previously released patches for Vim 5.7: - -Patch 5.7.001 -Problem: When the current buffer is crypted, and another modified buffer - isn't, ":wall" will encrypt the other buffer. -Solution: In buf_write() use "buf" instead of "curbuf" to check for the - crypt key. -Files: src/fileio.c - -Patch 5.7.002 -Problem: When 'showmode' is set, using "CTRL-O :r file" waits three seconds - before displaying the read text. (Wichert Akkerman) -Solution: Set "keep_msg" to the file message so that the screen is redrawn - before the three seconds wait for displaying the mode message. -Files: src/fileio.c - -Patch 5.7.003 -Problem: Searching for "[[:cntrl:]]" doesn't work. -Solution: Exclude NUL from the matching characters, it terminates the list. -Files: src/regexp.c - -Patch 5.7.004 -Problem: GTK: When selecting a new font, Vim can crash. -Solution: In gui_mch_init_font() unreference the old font, not the new one. -Files: src/gui_gtk_x11.c - -Patch 5.7.005 -Problem: Multibyte: Inserting a wrapped line corrupts kterm screen. - Pasting TEXT/COMPOUND_TEXT into Vim does not work. - On Motif no XIM status line is displayed even though it is - available. -Solution: Don't use xterm trick for wrapping lines for multibyte mode. - Correct a missing "break", added TEXT/COMPOUND_TEXT selection - request. - Add XIMStatusArea fallback code. - (Katsuhito Nagano) -Files: src/gui_gtk_x11.c, src/multbyte.c, src/screen.c, src/ui.c - -Patch 5.7.006 -Problem: GUI: redrawing the non-Visual selection is wrong when the window - is unobscured. (Jean-Pierre Etienne) -Solution: Redraw the selection properly and don't clear it. Added "len" - argument to clip_may_redraw_selection(). -Files: src/gui.c, src/ui.c, src/proto/ui.pro - -Patch 5.7.007 -Problem: Python: Crash when using the current buffer twice. -Solution: Increase the reference count for buffer and window objects. - (Johannes Zellner) -Files: src/if_python.c - -Patch 5.7.008 -Problem: In Ex mode, backspacing over the first TAB doesn't work properly. - (Wichert Akkerman) -Solution: Switch the cursor on before printing the newline. -Files: src/ex_getln.c - -Patch 5.7.009 (extra) -Problem: Mac: Crash when using a long file. -Solution: Don't redefine malloc() and free(), because it will break using - realloc(). -Files: src/os_mac.h - -Patch 5.7.010 -Problem: When using CTRL-A on a very long number Vim can crash. (Michael - Naumann) -Solution: Truncate the length of the new number to avoid a buffer overflow. -Files: src/ops.c - -Patch 5.7.011 (extra) -Problem: Win32 GUI on NT 5 and Win98: Displaying Hebrew is reversed. -Solution: Output each character separately, to avoid that Windows reverses - the text for some fonts. (Ron Aaron) -Files: src/gui_w32.c - -Patch 5.7.012 -Problem: When using "-complete=buffer" for ":command" the user command - fails. -Solution: In a user command don't replace the buffer name with a count for - the buffer number. -Files: src/ex_docmd.c - -Patch 5.7.013 -Problem: "gD" didn't always find a match in the first line, depending on - the column the search started at. -Solution: Reset the column to zero before starting to search. -Files: src/normal.c - -Patch 5.7.014 -Problem: Rot13 encoding was done on characters with accents, which is - wrong. (Sven Gottwald) -Solution: Only do rot13 encoding on ASCII characters. -Files: src/ops.c - -Patch 5.7.016 -Problem: When hitting 'n' for a ":s///c" command, the ignore-case flag was - not restored, some matches were skipped. (Daniel Blaustein) -Solution: Restore the reg_ic variable when 'n' was hit. -Files: src/ex_cmds.c - -Patch 5.7.017 -Problem: When using a Vim script for Vim 6.0 with <SID> before a function - name, it produces an error message even when inside an "if version - >= 600". (Charles Campbell) -Solution: Ignore errors in the function name when the function is not going - to be defined. -Files: src/eval.c - -Patch 5.7.018 -Problem: When running "rvim" or "vim -Z" it was still possible to execute a - shell command with system() and backtick-expansion. (Antonios A. - Kavarnos) -Solution: Disallow executing a shell command in get_cmd_output() and - mch_expand_wildcards(). -Files: src/misc1.c, src/os_unix.c - -Patch 5.7.019 -Problem: Multibyte: In a substitute string, a multi-byte character isn't - skipped properly, can be a problem when the second byte is a - backslash. -Solution: Skip an extra byte for a double-byte character. (Muraoka Taro) -Files: src/ex_cmds.c - -Patch 5.7.020 -Problem: Compilation doesn't work on MacOS-X. -Solution: Add a couple of #ifdefs. (Jamie Curmi) -Files: src/regexp.c, src/ctags/general.h - -Patch 5.7.021 -Problem: Vim sometimes produces a beep when started in an xterm. Only - happens when compiled without mouse support. -Solution: Requesting the xterm version results in a K_IGNORE. This wasn't - handled when mouse support is disabled. Accept K_IGNORE always. -Files: src/normal.c - -Patch 5.7.022 -Problem: %v in 'statusline' is not displayed when it's equal to %c. -Solution: Check if %V or %v is used and handle them differently. -Files: src/screen.c - -Patch 5.7.023 -Problem: Crash when a WinLeave autocommand deletes the buffer in the other - window. -Solution: Check that after executing the WinLeave autocommands there still - is a window to be closed. Also update the test that was supposed - to check for this problem. -Files: src/window.c, testdir/test13.in, testdir/test13.ok - -Patch 5.7.024 -Problem: Evaluating an expression for 'statusline' can have side effects. -Solution: Evaluate the expression in a sandbox. -Files: src/edit.c, src/eval.c, src/proto/eval.pro, src/ex_cmds.c, - src/ex_cmds.h, src/ex_docmd.c, src/globals.h, src/option.c, - src/screen.c, src/undo.c - -Patch 5.7.025 (fixed) -Problem: Creating a temp file has a race condition. -Solution: Create a private directory to write the temp files in. -Files: src/fileio.c, src/misc1.c, src/proto/misc1.pro, - src/proto/fileio.pro, src/memline.c, src/os_unix.h - -Patch 5.7.026 (extra) -Problem: Creating a temp file has a race condition. -Solution: Create a private directory to write the temp files in. - This is the extra part of patch 5.7.025. -Files: src/os_msdos.h - -Patch 5.7.027 -Problem: Starting to edit a file can cause a crash. For example when in - Insert mode, using CTRL-O :help abbr<Tab> to scroll the screen and - then <CR>, which edits a help file. (Robert Bogomip) -Solution: Check if keep_msg is NULL before copying it. -Files: src/fileio.c - -Patch 5.7.028 -Problem: Creating a backup or swap file could fail in rare situations. -Solution: Use O_EXCL for open(). -Files: src/fileio.c, src/memfile.c - -Patch 5.7.029 -Problem: Editing a file with an extremely long name crashed Vim. -Solution: Check for length of the name when setting the window title. -Files: src/buffer.c - -Patch 5.7.030 -Problem: A ":make" or ":grep" command with a very long argument could cause - a crash. -Solution: Allocate the buffer for the shell command. -Files: src/ex_docmd.c - - - vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt deleted file mode 100644 index f18fea8705..0000000000 --- a/runtime/doc/version6.txt +++ /dev/null @@ -1,14530 +0,0 @@ -*version6.txt* For Vim version 7.4. Last change: 2013 Jul 28 - - - VIM REFERENCE MANUAL by Bram Moolenaar - - -Welcome to Vim Version 6.0! A large number of features has been added. This -file mentions all the new items that have been added, changes to existing -features and bug fixes compared to Vim 5.x. - -See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0. -See |version4.txt| for differences between Vim 3.0 and Vim 4.0. -See |version5.txt| for differences between Vim 4.0 and Vim 5.0. - -INCOMPATIBLE CHANGES |incompatible-6| - -Cursor position in Visual mode |curpos-visual| -substitute command Vi compatible |substitute-CR| -global option values introduced |new-global-values| -'fileencoding' changed |fileencoding-changed| -Digraphs changed |digraphs-changed| -Filetype detection changed |filetypedetect-changed| -Unlisted buffers introduced |new-unlisted-buffers| -CTRL-U in Command-line mode changed |CTRL-U-changed| -Ctags gone |ctags-gone| -Documentation reorganized |documentation-6| -Modeless selection and clipboard |modeless-and-clipboard| -Small incompatibilities |incomp-small-6| - -NEW FEATURES |new-6| - -Folding |new-folding| -Vertically split windows |new-vertsplit| -Diff mode |new-diff-mode| -Easy Vim: click-and-type |new-evim| -User manual |new-user-manual| -Flexible indenting |new-indent-flex| -Extended search patterns |new-searchpat| -UTF-8 support |new-utf-8| -Multi-language support |new-multi-lang| -Plugin support |new-plugins| -Filetype plugins |new-filetype-plugins| -File browser |new-file-browser| -Editing files over a network |new-network-files| -Window for command-line editing |new-cmdwin| -Debugging mode |new-debug-mode| -Cursor in virtual position |new-virtedit| -Debugger interface |new-debug-itf| -Communication between Vims |new-vim-server| -Buffer type options |new-buftype| -Printing |new-printing| -Ports |ports-6| -Quickfix extended |quickfix-6| -Operator modifiers |new-operator-mod| -Search Path |new-search-path| -Writing files improved |new-file-writing| -Argument list |new-argument-list| -Restore a View |new-View| -Color schemes |new-color-schemes| -Various new items |new-items-6| - -IMPROVEMENTS |improvements-6| - -COMPILE TIME CHANGES |compile-changes-6| - -BUG FIXES |bug-fixes-6| - -VERSION 6.1 |version-6.1| -Changed |changed-6.1| -Added |added-6.1| -Fixed |fixed-6.1| - -VERSION 6.2 |version-6.2| -Changed |changed-6.2| -Added |added-6.2| -Fixed |fixed-6.2| - -VERSION 6.3 |version-6.3| -Changed |changed-6.3| -Added |added-6.3| -Fixed |fixed-6.3| - -VERSION 6.4 |version-6.4| -Changed |changed-6.4| -Added |added-6.4| -Fixed |fixed-6.4| - -============================================================================== -INCOMPATIBLE CHANGES *incompatible-6* - -These changes are incompatible with previous releases. Check this list if you -run into a problem when upgrading from Vim 5.x to 6.0 - - -Cursor position in Visual mode *curpos-visual* ------------------------------- - -When going from one window to another window on the same buffer while in -Visual mode, the cursor position of the other window is adjusted to keep the -same Visual area. This can be used to set the start of the Visual area in one -window and the end in another. In vim 5.x the cursor position of the other -window would be used, which could be anywhere and was not very useful. - - -Substitute command Vi compatible *substitute-CR* --------------------------------- - -The substitute string (the "to" part of the substitute command) has been made -Vi compatible. Previously a CTRL-V had a special meaning and could be used to -prevent a <CR> to insert a line break. This made it impossible to insert a -CTRL-V before a line break. Now a backslash is used to prevent a <CR> to -cause a line break. Since the number of backslashes is halved, it is still -possible to insert a line break at the end of the line. This now works just -like Vi, but it's not compatible with Vim versions before 6.0. - -When a ":s" command doesn't make any substitutions, it no longer sets the '[ -and '] marks. This is not related to Vi, since it doesn't have these marks. - - -Global option values introduced *new-global-values* -------------------------------- - -There are now global values for options which are local to a buffer or window. -Previously the local options were copied from one buffer to another. When -editing another file this could cause option values from a modeline to be used -for the wrong file. Now the global values are used when entering a buffer -that has not been used before. Also, when editing another buffer in a window, -the local window options are reset to their global values. The ":set" command -sets both the local and global values, this is still compatible. But a -modeline only sets the local value, this is not backwards compatible. - -":let &opt = val" now sets the local and global values, like ":set". New -commands have been added to set the global or local value: - :let &opt = val like ":set" - :let &g:opt = val like ":setglobal" - :let &l:opt = val like ":setlocal" - - -'fileencoding' changed *fileencoding-changed* ----------------------- - -'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim. -This was a bit strange, because it was local to a buffer and worked for all -buffers. It could never be different between buffers, because it changed the -way text in all buffers was interpreted. -It is now used for the encoding of the file related to the buffer. If you -still set 'fileencoding' it is likely to be overwritten by the detected -encoding from 'fileencodings', thus it is "mostly harmless". -The old FileEncoding autocommand now does the same as the new EncodingChanged -event. - - -Digraphs changed *digraphs-changed* ----------------- - -The default digraphs now correspond to RFC1345. This is very different from -what was used in Vim 5.x. |digraphs| - - -Filetype detection changed *filetypedetect-changed* --------------------------- - -The filetype detection previously was using the "filetype" autocommand group. -This caused confusion with the FileType event name (case is ignored). The -group is now called "filetypedetect". It still works, but if the "filetype" -group is used the autocommands will not be removed by ":filetype off". - The support for 'runtimepath' has made the "myfiletypefile" and -"mysyntaxfile" mechanism obsolete. They are still used for backwards -compatibility. - -The connection between the FileType event and setting the 'syntax' option was -previously in the "syntax" autocommand group. That caused confusion with the -Syntax event name. The group is now called "syntaxset". - -The distributed syntax files no longer contain "syntax clear". That makes it -possible to include one in the other without tricks. The syntax is now -cleared when the 'syntax' option is set (by an autocommand added from -synload.vim). This makes the syntax cleared when the value of 'syntax' does -not correspond to a syntax file. Previously the existing highlighting was -kept. - - -Unlisted buffers introduced *new-unlisted-buffers* ---------------------------- - -There is now a difference between buffers which don't appear in the buffer -list and buffers which are really not in the buffer list. Commands like -":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the -buffer list. |unlisted-buffer| -The 'buflisted' option can be used to make a buffer appear in the buffer list -or not. - -Several commands that previously added a buffer to the buffer list now create -an unlisted buffer. This means that a ":bnext" and ":ball" will not find these -files until they have actually been edited. For example, buffers used for the -alternative file by ":write file" and ":read file". - Other commands previously completely deleted a buffer and now only remove -the buffer from the buffer list. Commands relying on a buffer not to be -present might fail. For example, a ":bdelete" command in an autocommand that -relied on something following to fail (was used in the automatic tests). -|:bwipeout| can be used for the old meaning of ":bdelete". - -The BufDelete autocommand event is now triggered when a buffer is removed from -the buffer list. The BufCreate event is only triggered when a buffer is -created that is added to the buffer list, or when an existing buffer is added -to the buffer list. BufAdd is a new name for BufCreate. -The new BufNew event is for creating any buffer and BufWipeout for really -deleting a buffer. - -When doing Insert mode completion, only buffers in the buffer list are -scanned. Added the 'U' flag to 'complete' to do completion from unlisted -buffers. - -Unlisted buffers are not stored in a viminfo file. - - -CTRL-U in Command-line mode changed *CTRL-U-changed* ------------------------------------ - -Using CTRL-U when editing the command line cleared the whole line. Most -shells only delete the characters before the cursor. Made it work like that. -(Steve Wall) - -You can get the old behavior with CTRL-E CTRL-U: > - :cnoremap <C-U> <C-E><C-U> - - -Ctags gone *ctags-gone* ----------- - -Ctags is no longer part of the Vim distribution. It's now a grown-up program -by itself, it deserves to be distributed separately. -Ctags can be found here: http://ctags.sf.net/. - - -Documentation reorganized *documentation-6* -------------------------- - -The documentation has been reorganized, an item may not be where you found it -in Vim 5.x. -- The user manual was added, some items have been moved to it from the - reference manual. -- The quick reference is now in a separate file (so that it can be printed). - -The examples in the documentation were previously marked with a ">" in the -first column. This made it difficult to copy/paste them. There is now a -single ">" before the example and it ends at a "<" or a non-blank in the first -column. This also looks better without highlighting. - -'helpfile' is no longer used to find the help tags file. This allows a user -to add its own help files (e.g., for plugins). - - -Modeless selection and clipboard *modeless-and-clipboard* --------------------------------- - -The modeless selection is used to select text when Visual mode can't be used, -for example when editing the command line or at the more prompt. -In Vim 5.x the modeless selection was always used. On MS-Windows this caused -the clipboard to be overwritten, with no way to avoid that. The modeless -selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and -"autoselectml" in 'clipboard'. By default there is no automatic copy on -MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection. - -To get the old behavior back, do this: > - - :set clipboard^=autoselectml guioptions+=A - - -Small incompatibilities *incomp-small-6* ------------------------ - -'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg', -'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg', -'viminfo' and 'runtimepath' can no longer be set from a modeline, for better -security. - -Removed '_' from the 'breakat' default: It's commonly used in keywords. - -The default for 'mousehide' is on, because this works well for most people. - -The Amiga binary is now always compiled with "big" features. The "big" binary -archive no longer exists. - -The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in -'statusline' no longer have a leading space. - -Non-Unix systems: When expanding wildcards for the Vim arguments, don't use -'suffixes'. It now works as if the shell had expanded the arguments. - -The 'lisp', 'smartindent' and 'cindent' options are not switched off when -'paste' is set. The auto-indenting is disabled when 'paste' is set, but -manual indenting with "=" still works. - -When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there -is no change in indent, this is not counted as a change ('modified' isn't set -and there is nothing to undo). - -Report 'modified' as changed when 'fileencoding' or 'fileformat' was set. -Thus it reflects the possibility to abandon the buffer without losing changes. - -The "Save As" menu entry now edits the saved file. Most people expect it to -work like this. - -A buffer for a directory is no longer added to the Buffers menu. - -Renamed <Return> to <Enter>, since that's what it's called on most keyboards. -Thus it's now the hit-enter prompt instead of the hit-return prompt. -Can map <Enter> just like <CR> or <Return>. - -The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't -set. Most people will want to use it, including beginners, but it required -setting the option, which isn't that easy. - -After using ":colder" the newer error lists are overwritten. This makes it -possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99" -to get the old behavior. - -The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and -sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to -match case. - -The 16 bit MS-DOS version is now compiled without the +listcmds feature -(buffer list manipulation commands). They are not often needed and this -executable needs to be smaller. - -'sessionoptions' now includes "curdir" by default. This means that restoring -a session will result in the current directory being restored, instead of -going to the directory where the session file is located. - -A session deleted all buffers, deleting all marks. Now keep the buffer list, -it shouldn't hurt for some existing buffers to remain present. -When the argument list is empty ":argdel *" caused an error message. - -No longer put the search pattern from a tag jump in the history. - -Use "SpecialKey" highlighting for unprintable characters instead of "NonText". -The idea is that unprintable text or any text that's displayed differently -from the characters in the file is using "SpecialKey", and "NonText" is used -for text that doesn't really exist in the file. - -Motif now uses the system default colors for the menu and scrollbar. Used to -be grey. It's still possible to set the colors with ":highlight" commands and -resources. - -Formatting text with "gq" breaks a paragraph at a non-empty blank line. -Previously the line would be removed, which wasn't very useful. - -":normal" does no longer hang when the argument ends in half a command. -Previously Vim would wait for more characters to be typed, without updating -the screen. Now it pretends an <Esc> was typed. - -Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in -the "bitmaps" directories in 'runtimepath'. - -Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal -mode menus. This generally works better and allows using the "Copy" menu to -produce CTRL-Y to copy the modeless selection. - -Moved the font selection from the Window to the Edit menu, together with the -other settings. - -The default values for 'isfname' include more characters to make "gf" work -better. - -Changed the license for the documentation to the Open Publication License. -This seemed fair, considering the inclusion of parts of the Vim book, which is -also published under the OPL. The downside is that we can't force someone who -would sell copies of the manual to contribute to Uganda. - -After "ayy don't let ""yy or :let @" = val overwrite the "a register. -Use the unnamed register instead. - -MSDOS: A pattern "*.*" previously also matched a file name without a dot. -This was inconsistent with other versions. - -In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously -it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N, -which is supposed to take us to Normal mode (especially in ":amenu"). - -Allow using ":" commands after an operator. Could be used to implement a new -movement command. Thus it no longer aborts a pending operator. - -For the Amiga the "-d {device}" argument was possible. When compiled with the -diff feature, this no longer works. Use "-dev {device}" instead. |-dev| - -Made the default mappings for <S-Insert> in Insert mode insert the text -literally, avoids that special characters like BS cause side effects. - -Using ":confirm" applied to the rest of the line. Now it applies only to the -command right after it. Thus ":confirm if x | edit | endif" no longer works, -use ":if x | confirm edit | endif". This was the original intention, that it -worked differently was a bug. - -============================================================================== -NEW FEATURES *new-6* - -Folding *new-folding* -------- - -Vim can now display a buffer with text folded. This allows overviewing the -structure of a file quickly. It is also possible to yank, delete and put -folded text, for example to move a function to another position. - -There is a whole bunch of new commands and options related to folding. -See |folding|. - - -Vertically split windows *new-vertsplit* ------------------------- - -Windows can also be split vertically. This makes it possible to have windows -side by side. One nice use for this is to compare two similar files (see -|new-diff-mode|). The 'scrollbind' option can be used to synchronize -scrolling. - -A vertical split can be created with the commands: - :vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit| - :vnew |:vnew| - :vertical {cmd} |:vertical| -The last one is a modifier, which has a meaning for any command that splits a -window. For example: > - :vertical stag main -Will vertically split the window and jump to the tag "main" in the new window. - -Moving from window to window horizontally can be done with the |CTRL-W_h| and -|CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed -to jump to the window above or below the cursor position. - -The vertical and horizontal splits can be mixed as you like. Resizing windows -is easy when using the mouse, just position the pointer on a status line or -vertical separator and drag it. In the GUI a special mouse pointer shape -indicates where you can drag a status or separator line. - -To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands. -To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|. - -To force a new window to use the full width or height of the Vim window, -these two modifiers are available: - :topleft {cmd} New window appears at the top with full - width or at the left with full height. - :botright {cmd} New window appears at the bottom with full - width or at the right with full height. -This can be combined with ":vertical" to force a vertical split: > - :vert bot dsplit DEBUG -This will open a window at the far right, occupying the full height of the Vim -window, with the cursor on the first definition of "DEBUG". -The help window is opened at the top, like ":topleft" was used, if the current -window is fewer than 80 characters wide. - -A few options can be used to set the preferences for vertically split windows. -They work similar to their existing horizontal equivalents: - horizontal vertical ~ - 'splitbelow' 'splitright' - 'winheight' 'winwidth' - 'winminheight' 'winminwidth' -It's possible to set 'winminwidth' to zero, so that temporarily unused windows -hardly take up space without closing them. - -The new 'eadirection' option tells where 'equalalways' applies: - :set eadirection=both both directions - :set eadirection=ver equalize window heights - :set eadirection=hor equalize windows widths -This can be used to avoid changing window sizes when you want to keep them. - -Since windows can become quite narrow with vertical splits, text lines will -often not fit. The 'sidescrolloff' has been added to keep some context left -and right of the cursor. The 'listchars' option has been extended with the -"precedes" item, to show a "<" for example, when there is text left off the -screen. (Utz-Uwe Haus) - -"-O" command line argument: Like "-o" but split windows vertically. (Scott -Urban) - -Added commands to move the current window to the very top (CTRL-W K), bottom -(CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the -window uses the full width/height of the screen. - -When there is not enough room in the status line for both the file name and -the ruler, use up to half the width for the ruler. Useful for narrow windows. - - -Diff mode *new-diff-mode* ---------- - -In diff mode Vim shows the differences between two, three or four files. -Folding is used to hide the parts of the file that are equal. -Highlighting is used to show deleted and changed lines. -See |diff-mode|. - -An easy way to start in diff mode is to start Vim as "vimdiff file1 file2". -Added the vimdiff manpage. - -In a running Vim the |:diffsplit| command starts diff mode for the current -file and another file. The |:diffpatch| command starts diff mode using the -current file and a patch file. The |:diffthis| command starts diff mode for -the current window. - -Differences can be removed with the |:diffget| and |:diffput| commands. - -- The 'diff' option switches diff mode on in a window. -- The |:diffupdate| command refreshes the diffs. -- The 'diffopt' option changes how diffs are displayed. -- The 'diffexpr' option can be set how a diff is to be created. -- The 'patchexpr' option can be set how patch is applied to a file. -- Added the "diff" folding method. When opening a window for diff-mode, set - 'foldlevel' to zero and 'foldenable' on, to close the folds. -- Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to - specify the highlighting for differences. The defaults are ugly... -- Unix: make a vimdiff symbolic link for "make install". -- Removed the now obsolete "vimdiff.vim" script from the distribution. -- Added the "[c" and "]c" commands to move to the next/previous change in diff - mode. - - -Easy Vim: click-and-type *new-evim* ------------------------- - -eVim stands for "Easy Vim". This is a separate program, but can also be -started as "vim -y". - -This starts Vim with 'insertmode' set to allow click-and-type editing. The -$VIMRUNTIME/evim.vim script is used to add mappings and set options to be able -to do most things like Notepad. This is only for people who can't stand two -modes. - -eView does the same but in readonly mode. - -In the GUI a CTRL-C now only interrupts when busy with something, not when -waiting for a character. Allows using CTRL-C to copy text to the clipboard. - - -User manual *new-user-manual* ------------ - -The user manual has been added. It is organised around editing tasks. It -reads like a book, from start to end. It should allow beginners to start -learning Vim. It helps everybody to learn using the most useful Vim features. -It is much easier to read than the reference manual, but omits details. See -|user-manual|. - -The user manual includes parts of the Vim book by Steve Oualline |frombook|. -It is published under the OPL |manual-copyright|. - -When syntax highlighting is not enabled, the characters in the help file which -mark examples ('>' and '<') and header lines ('~') are replaced with a space. - -When closing the help window, the window layout is restored from before -opening it, if the window layout didn't change since then. -When opening the help window, put it at the top of the Vim window if the -current window is fewer than 80 characters and not full width. - - -Flexible indenting *new-indent-flex* ------------------- - -Automatic indenting is now possible for any language. It works with a Vim -script, which makes it very flexible to compute the indent. - -The ":filetype indent on" command enables using the provided indent scripts. -This is explained in the user manual: |30.3|. - -The 'indentexpr' option is evaluated to get the indent for a line. The -'indentkeys' option tells when to trigger re-indenting. Normally these -options are set from an indent script. Like Syntax files, indent scripts will -be created and maintained by many people. - - -Extended search patterns *new-searchpat* ------------------------- - -Added the possibility to match more than one line with a pattern. (partly by -Loic Grenie) -New items in a search pattern for multi-line matches: -\n match end-of-line, also in [] -\_[] match characters in range and end-of-line -\_x match character class and end-of-line -\_. match any character or end-of-line -\_^ match start-of-line, can be used anywhere in the regexp -\_$ match end-of-line, can be used anywhere in the regexp - -Various other new items in search patterns: -\c ignore case for the whole pattern -\C match case for the whole pattern -\m magic on for the following -\M magic off for the following -\v make following characters "very magic" -\V make following characters "very nomagic" - -\@! don't match atom before this. - Example: "foo\(bar\)\@!" matches "foo " but not "foobar". -\@= match atom, resulting in zero-width match - Example: "foo\(bar\)\@=" matches "foo" in "foobar". -\@<! don't match preceding atom before the current position -\@<= match preceding atom before the current position -\@> match preceding atom as a subexpression - -\& match only when branch before and after it match - -\%[] optionally match a list of atoms; "end\%[if]" matches "end", - "endi" and "endif" -\%(\) like \(\), but without creating a back-reference; there can be - any number of these, overcomes the limit of nine \( \) pairs -\%^ match start-of-file (Chase Tingley) -\%$ match end-of-file (Chase Tingley) -\%# Match with the cursor position. (Chase Tingley) -\? Just like "\=" but can't be used in a "?" command. - -\%23l match in line 23 -\%<23l match before line 23 -\%>23l match after line 23 -\%23c, \%<23c, \%>23c match in/before/after column 23 -\%23v, \%<23v, \%>23v match in/before/after virtual column 23 - - -For syntax items: -\z(...\) external reference match set (in region start pattern) -\z1 - \z9 external reference match use (in region skip or end pattern) - (Scott Bigham) - -\zs use position as start of match -\ze use position as end of match - -Removed limit of matching only up to 32767 times with *, \+, etc. - -Added support to match multi-byte characters. (partly by Muraoka Taro) -Made "\<" and "\>" work for UTF-8. (Muraoka Taro) - - -UTF-8 support *new-utf-8* -------------- - -Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be -used, but only 16 bit characters are displayed. Up to two combining -characters are supported, they overprint the preceding character. -Double-wide characters are also supported. See |UTF-8|. - -UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to -UTF-8 internally. There is also support for editing Unicode files in a Latin1 -environment. Other encodings are converted with iconv() or an external -converter specified with 'charconvert'. - -Many new items for Multi-byte support: -- Added 'encoding' option: specifies character encoding used inside Vim. It - can be any 8-bit encoding, some double-byte encodings or Unicode. - It is initialized from the environment when a supported value is found. -- Added 'fileencoding' and 'fileencodings': specify character coding in a - file, similar to 'fileformat' and 'fileformats'. - When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will - automatically switch to latin1 if a file does not contain valid UTF-8. -- Added 'bomb' option and detection of a BOM at the start of a file. Can be - used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode - file if it starts with a BOM. Especially useful on MS-Windows (NT and - 2000), which uses ucs-2le files with a BOM (e.g., when exporting the - registry). -- Added the 'termencoding' option: Specifies the encoding used for the - terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: > - :let &termencoding = &encoding - :set encoding=utf-8 -- When 'viminfo' contains the 'c' flag, the viminfo file is converted from the - 'encoding' it was written with to the current 'encoding'. -- Added ":scriptencoding" command: convert lines in a sourced script to - 'encoding'. Useful for menu files. -- Added 'guifontwide' to specify a font for double-wide characters. -- Added Korean support for character class detection. Also fix cls() in - search.c. (Chong-Dae Park) -- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev) -- Win32 with Mingw: compile with iconv library. (Ron Aaron) -- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro) -- Make it possible to build a version with multi-byte and iconv support with - Borland 5.5. (Yasuhiro Matsumoto) -- Added 'delcombine' option: Delete combining character separately. (Ron - Aaron) -- The "xfontset" feature isn't required for "xim". These are now two - independent features. -- XIM: enable XIM when typing a language character (Insert mode, Search - pattern, "f" or "r" command). Disable XIM when typing a Normal mode - command. -- When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun) -- Support "CursorIM" for XIM. (Nam SungHyun) -- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at - each multibyte character, not only at a space. -- Made ":syntax keyword" work with multi-byte characters. -- Added support for Unicode upper/lowercase flipping and comparing. (based on - patch by Raphael Finkel) - Let "~" on multi-byte characters that have a third case ("title case") - switch between the three cases. (Raphael Finkel) - -Allow defining digraphs for multi-byte characters. -Added RFC1345 digraphs for Unicode. -Most Normal mode commands that accept a character argument, like "r", "t" and -"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain -Vi compatible. - -Added Language mapping and 'keymap' to be able to type multi-byte characters: -- Added the ":lmap" command and friends: Define mappings that are used when - typing characters in the language of the text. Also for "r", "t", etc. In - Insert and Command-line mode CTRL-^ switches the use of the mappings on/off. - CTRL-^ also toggles the use of an input method when no language mappings are - present. Allows switching the IM back on halfway typing. -- "<char-123>" argument to ":map", allows to specify the decimal, octal or - hexadecimal value of a character. -- Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to - define mappings for the keymap. The new ":loadkeymap" command is used in - the keymap file. -- Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when - it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are - active. Show this text in the default statusline too. -- Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings - and Input Method with an option. (Muraoka Taro) - Added 'imcmdline' option: When set the input method is always enabled when - starting to edit a command line. Useful for a XIM that uses dead keys to - type accented characters. - Added 'imactivatekey' option to better control XIM. (Muraoka Taro) -- When typing a mapping that's not finished yet, display the last character - under the cursor in Insert mode and Command-line mode. Looks good for dead - characters. -- Made the 'langmap' option recognize multi-byte characters. But mapping only - works for 8-bit characters. Helps when using UTF-8. -- Use a different cursor for when ":lmap" mappings are active. Can specify - two highlight groups for an item in 'guicursor'. By default "lCursor" and - "Cursor" are equal, the user must set a color he likes. - Use the cursor color for hangul input as well. (Sung-Hyun Nam) -- Show "(lang)" for 'showmode' when language mapping is enabled. -- UTF-8: Made "r" work with a ":lmap" that includes a composing character. - Also works for "f", which now works to find a character that includes a - composing character. - -Other multi-byte character additions: -- Support double-byte single-width characters for euc-jp: Characters starting - with 0x8E. Added ScreenLines2[] to store the second byte. - - -Multi-language support *new-multi-lang* ----------------------- - -The messages used in Vim can be translated. Several translations are -available. This uses the gettext mechanism. It allows adding a translation -without recompiling Vim. |multi-lang| (partly by Marcin Dalecki) - -The translation files are in the src/po directory. The src/po/README.txt file -explains a few things about doing a translation. - -Menu translations are available as well. This uses the new |:menutranslate| -command. The translations are found in the runtime directory "lang". This -allows a user to add a translation. - -Added |:language| command to set the language (locale) for messages, time and -character type. This allows switching languages in Vim without changing the -locale outside of Vim. - -Made it possible to have vimtutor use different languages. (Eduardo Fernandez) -Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro -Matsumoto) and French (Adrien Beau) translations are included. -Added "vimtutor.bat": script to start Vim on a copy of the tutor file for -MS-Windows. (Dan Sharp) - -- Added v:lang variable to be able to get current language setting. - (Marcin Dalecki) Also v:lc_time and v:ctype. -- Make it possible to translate the dialogs used by the menus. Uses global - "menutrans_" variables. ":menutrans clear" deletes them. -- removed "broken locale" (Marcin Dalecki). -- Don't use color names in icons, use RGB values. The names could be - translated. -- Win32: Added global IME support (Muraoka) -- Win32: Added dynamic loading of IME support. -- ":messages" prints a message about who maintains the messages or the - translations. Useful to find out where to make a remark about a wrong - translation. -- --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun - Nam) -- Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez) -- When available, call bind_textdomain_codeset() to have gettext() translate - messages to 'encoding'. This requires GNU gettext 0.10.36 or later. -- Added gettext support for Win32. This means messages will be translated - when the locale is set and libintl.dll can be found. (Muraoka Taro) - Also made it work with MingW compiler. (Eduardo Fernandez) - Detect the language and set $LANG to get the appropriate translated messages - (if supported). Also use $LANG to select a language, v:lang is a very - different kind of name. -- Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto) - - -Plugin support *new-plugins* --------------- - -To make it really easy to load a Vim script when starting Vim, the "plugin" -runtime directory can be used. All "*.vim" files in it will be automatically -loaded. For Unix, the directory "~/.vim/plugin" is used by default. The -'runtimepath' option can be set to look in other directories for plugins. -|load-plugins| |add-plugin| - -The |:runtime| command has been added to load one or more files in -'runtimepath'. - -Standard plugins: -netrw.vim - Edit files over a network |new-network-files| -gzip.vim - Edit compressed files -explorer.vim - Browse directories |new-file-browser| - -Added support for local help files. |add-local-help|. -When searching for help tags, all "doc/tags" files in 'runtimepath' are used. -Added the ":helptags" command: Generate a tags file for a help directory. -The first line of each help file is automagically added to the "LOCAL -ADDITIONS" section in doc/help.txt. - -Added the <unique> argument to ":map": only add a mapping when it wasn't -defined before. - -When displaying an option value with 'verbose' set will give a message about -where the option was last set. Very useful to find out which script did set -the value. - -The new |:scriptnames| command displays a list of all scripts that have been -sourced. - -GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps" -directories in 'runtimepath'. Allows adding your own bitmaps. - - -Filetype plugins *new-filetype-plugins* ------------------ - -A new group of files has been added to do settings for specific file types. -These can be options and mappings which are specifically used for one value of -'filetype'. - -The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option -makes it possible to use several sets of plugins: Your own, system-wide, -included in the Vim distribution, etc. - -To be able to make this work, several features were added: -- Added the "s:" variables, local to a script. Avoids name conflicts with - global variables. They can be used in the script and in functions, - autocommands and user commands defined in the script. They are kept between - invocations of the same script. |s:var| -- Added the global value for local options. This value is used when opening - a new buffer or editing another file. The option value specified in a - modeline or filetype setting is not carried over to another buffer. - ":set" sets both the local and the global value. - ":setlocal" sets the local option value only. - ":setglobal" sets or displays the global value for a local option. - ":setlocal name<" sets a local option to its global value. -- Added the buffer-local value for some global options: 'equalprg', 'makeprg', - 'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags', - 'include' and 'define'. This allows setting a local value for these global - options, without making it incompatible. -- Added mappings and abbreviations local to a buffer: ":map <buffer>". -- In a mapping "<Leader>" can be used to get the value of the "mapleader" - variable. This simplifies mappings that use "mapleader". "<Leader>" - defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This - is to be used for mappings local to a buffer. -- Added <SID> Script ID to define functions and mappings local to a script. -- Added <script> argument to ":noremap" and ":noremenu": Only remap - script-local mappings. Avoids that mappings from other scripts get in the - way, but does allow using mappings defined in the script. -- User commands can be local to a buffer: ":command -buffer". - -The new ":setfiletype" command is used in the filetype detection autocommands, -to avoid that 'filetype' is set twice. - - -File browser *new-file-browser* ------------- - -When editing a directory, the explorer plugin will list the files in the -directory. Pressing <Enter> on a file name edits that file. Pressing <Enter> -on a directory moves the browser to that directory. - -There are several other possibilities, such as opening a file in the preview -window, renaming files and deleting files. - - -Editing files over a network *new-network-files* ----------------------------- - -Files starting with scp://, rcp://, ftp:// and http:// are recognized as -remote files. An attempt is made to access these files with the indicated -method. For http:// only reading is possible, for the others writing is also -supported. Uses the netrw.vim script as a standard "plugin". |netrw| - -Made "gf" work on a URL. It no longer assumes the file is local on the -computer (mostly didn't work anyway, because the full path was required). -Adjusted test2 for this. - -Allow using a URL in 'path'. Makes ":find index.html" work. - -GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes -care of downloading the file. (MiKael Berthe) - - -Window for command-line editing *new-cmdwin* -------------------------------- - -The Command-line window can be used to edit a command-line with Normal and -Insert mode commands. When it is opened it contains the history. This allows -copying parts of previous command lines. |cmdwin| - -The command-line window can be opened from the command-line with the key -specified by the 'cedit' option (like Nvi). It can also be opened directly -from Normal mode with "q:", "q/" and "q?". - -The 'cmdwinheight' is used to specify the initial height of the window. - -In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like -it's done on the command-line. This is also useful for writing Vim scripts! - -Additionally, there is "improved Ex mode". Entered when Vim is started as -"exim" or "vim -E", and with the "gQ" command. Works like repeated use of -":", with full command-line editing and completion. (Ulf Carlsson) - - -Debugging mode *new-debug-mode* --------------- - -In debugging mode sourced scripts and user functions can be executed line by -line. There are commands to step over a command or step into it. |debug-mode| - -Breakpoints can be set to run until a certain line in a script or user -function is executed. |:breakadd| - -Debugging can be started with ":debug {cmd}" to debug what happens when a -command executes. The |-D| argument can be used to debug while starting up. - - -Cursor in virtual position *new-virtedit* --------------------------- - -Added the 'virtualedit' option: Allow positioning the cursor where there is no -actual character in Insert mode, Visual mode or always. (Matthias Kramm) -This is especially useful in Visual-block mode. It allows positioning a -corner of the area where there is no text character. (Many improvements by -Chase Tingley) - - -Debugger interface *new-debug-itf* ------------------- - -This was originally made to work with Sun Visual Workshop. (Gordon Prieur) -See |debugger.txt|, |sign.txt| and |workshop.txt|. - -Added the ":sign" command to define and place signs. They can be displayed -with two ASCII characters or an icon. The line after it can be highlighted. -Useful to display breakpoints and the current PC position. - -Added the |:wsverb| command to execute debugger commands. - -Added balloon stuff: 'balloondelay' and 'ballooneval' options. - -Added "icon=" argument for ":menu". Allows defining a specific icon for a -ToolBar item. - - -Communication between Vims *new-vim-server* --------------------------- - -Added communication between two Vims. Makes it possible to send commands from -one Vim to another. Works for X-Windows and MS-Windows |clientserver|. - -Use "--remote" to have files be edited in an already running Vim. -Use "--remote-wait" to do the same and wait for the editing to finish. -Use "--remote-send" to send commands from one Vim to another. -Use "--remote-expr" to have an expression evaluated in another Vim. -Use "--serverlist" to list the currently available Vim servers. (X only) -There are also functions to communicate between the server and the client. -|remote_send()| |remote_expr()| - -(X-windows version implemented by Flemming Madsen, MS-Windows version by Paul -Moore) - -Added the command server name to the window title, so you can see which server -name belongs to which Vim. - -Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the -distribution. Can now use "gvim --remote" and "gvim --remote-send", which is -portable. - -GTK+: Support running Vim inside another window. Uses the --socketid argument -(Neil Bird) - - -Buffer type options *new-buftype* -------------------- - -The 'buftype' and 'bufhidden' options have been added. They can be set to -have different kinds of buffers. For example: -- 'buftype' = "quickfix": buffer with error list -- 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be - deleted as soon as there is no window displaying it. - -'bufhidden' can be used to overrule the 'hidden' option for one buffer. - -In combination with 'buflisted' and 'swapfile' this offers the possibility to -use various kinds of special buffers. See |special-buffers|. - - -Printing *new-printing* --------- - -Included first implementation of the ":hardcopy" command for printing -to paper. For MS-Windows any installed printer can be used. For other -systems a PostScript file is generated, which can be printed with the -'printexpr' option. -(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and -Mike Williams) - -Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro -Matsumoto) - -Added options to tune the way printing works: (Vince Negri) -- 'printoptions' defines various things. -- 'printheader' specifies the header format. Added "N" field to 'statusline' - for the page number. -- 'printfont' specifies the font name and attributes. -- 'printdevice' defines the default printer for ":hardcopy!". - - -Ports *ports-6* ------ - -Port to OS/390 Unix (Ralf Schandl) -- A lot of changes to handle EBCDIC encoding. -- Changed Ctrl('x') to Ctrl_x define. - -Included jsbmouse support. (Darren Garth) -Support for dec mouse in Unix. (Steve Wall) - -Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri) - -Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid) - -Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron) -Added Python support for compiling with Mingw. (Ron Aaron) - -Dos 32 bit: Added support the Windows clipboard. (David Kotchan) - -Win32: Dynamically load Perl and Python. Allows compiling Vim with these -interfaces and will try to find the DLLs at runtime. (Muraoka Taro) - -Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and -uninstall. (Gerfried) - -Mac: Make Vim compile with the free MPW compiler supplied by Apple. And -updates for CodeWarrior. (Axel Kielhorn) - -Added typecasts and ifdefs as a start to make Vim work on Win64 (George -Reilly) - - -Quickfix extended *quickfix-6* ------------------ - -Added the "error window". It contains all the errors of the current error -list. Pressing <Enter> in a line makes Vim jump to that line (in another -window). This makes it easy to navigate through the error list. -|quickfix-window|. - -- |:copen| opens the quickfix window. -- |:cclose| closes the quickfix window. -- |:cwindow| takes care that there is a quickfix window only when there are - recognized errors. (Dan Sharp) - -- Quickfix also knows "info", next to "warning" and "error" types. "%I" can be - used for the start of a multi-line informational message. (Tony Leneis) -- The "%p" argument can be used in 'errorformat' to get the column number from - a line where "^" points to the column. (Stefan Roemer) -- When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:" - in the filename, even when using "%f:". - - -Operator modifiers *new-operator-mod* ------------------- - -Insert "v", "V" or CTRL-V between an operator and a motion command to force -the operator to work characterwise, linewise or blockwise. |o_v| - - -Search Path *new-search-path* ------------ - -Vim can search in a directory tree not only in downwards but also upwards. -Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl) - -Also use "**" for 'tags' option. (Ralf Schandl) - -Added 'includeexpr', can be used to modify file name found by 'include' -option. -Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found -without modification. Useful for doing "gf" on the name after an include or -import statement. - -Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf) - -Added the 'suffixesadd' option: Suffixes to be added to a file name when -searching for a file for the "gf", "[I", etc. commands. - - -Writing files improved *new-file-writing* ----------------------- - -Added the 'backupcopy' option: Select whether a file is to be copied or -renamed to make a backup file. Useful on Unix to speed up writing an ordinary -file. Useful on other systems to preserve file attributes and when editing a -file on a Unix filesystem. - -Added the 'autowriteall' option. Works like 'autowrite' but for more -commands. - -Added the 'backupskip' option: A list of file patterns to skip making a backup -file when it matches. The default for Unix includes "/tmp/*", this makes -"crontab -e" work. - -Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL -is copied from the original file to the new file (or the backup if it's -copied). -ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren) -And on SGI. - - -Argument list *new-argument-list* -------------- - -The support for the argument list has been extended. It can now be -manipulated to contain the files you want it to contain. - -The argument list can now be local to a window. It is created with the -|:arglocal| command. The |:argglobal| command can be used to go back to the -global argument list. - -The |:argdo| command executes a command on all files in the argument list. - -File names can be added to the argument list with |:argadd|. File names can -be removed with |:argdelete|. - -"##" can be used like "#", it is replaced by all the names in the argument -list concatenated. Useful for ":grep foo ##". - -The |:argedit| adds a file to the argument list and edits it. Like ":argadd" -and then ":edit". - - -Restore a View *new-View* --------------- - -The ":mkview" command writes a Vim script with the settings and mappings for -one window. When the created file is sourced, the view of the window is -restored. It's like ":mksession" for one window. -The View also contains the local argument list and manually created, opened -and closed folds. - -Added the ":loadview" command and the 'viewdir' option: Allows for saving and -restoring views of a file with simple commands. ":mkview 1" saves view 1 for -the current file, ":loadview 1" loads it again. Also allows quickly switching -between two views on one file. And saving and restoring manual folds and the -folding state. - -Added 'viewoptions' to specify how ":mkview" works. - -":mksession" now also works fine with vertical splits. It has been further -improved and restores the view of each window. It also works properly with -preview and quickfix windows. - -'sessionoptions' is used for ":mkview" as well. -Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what -the current directory will be restored to. - -The session file now also contains the argument list(s). - - -Color schemes *new-color-schemes* -------------- - -Support for loading a color scheme. Added the ":colorscheme" command. -Automatically add menu entries for available schemes. -Should now properly reset the colors when 'background' or 't_Co' is changed. -":highlight clear" sets the default colors again. -":syntax reset" sets the syntax highlight colors back to the defaults. -For ":set bg&" guess the value. This allows a color scheme to switch back to -the default colors. -When syntax highlighting is switched on and a color scheme was defined, reload -the color scheme to define the colors. - - -Various new items *new-items-6* ------------------ - -Normal mode commands: ~ - -"gi" Jump to the ^ mark and start Insert mode. Also works when the - mark is just after the line. |gi| - -"g'm" and "g`m" - Jump to a mark without changing the jumplist. Now you can use - g`" to jump to the last known position in a file without side - effects. Also useful in mappings. - -[', [`, ]' and ]` - move the cursor to the next/previous lowercase mark. - -g_ Go to last non-blank in line. (Steve Wall) - - -Options: ~ - -'autoread' When detected that a file changed outside of Vim, - automatically read a buffer again when it's not changed. - It has a global and a local value. Use ":setlocal autoread<" - to go back to using the global value for 'autoread'. - -'debug' When set to "msg" it will print error messages that would - otherwise be omitted. Useful for debugging 'indentexpr' and - 'foldexpr'. - -'lispwords' List of words used for lisp indenting. It was previously hard - coded. Added a number of Lisp names to the default. - -'fold...' Many new options for folding. - -'modifiable' When off, it is impossible to make changes to a buffer. - The %m and %M items in 'statusline' show a '-'. - -'previewwindow' Set in the preview window. Used in a session file to mark a - window as the preview window. - -'printfont' -'printexpr' -'printheader' -'printdevice' -'printoptions' for ":hardcopy". - -'buflisted' Makes a buffer appear in the buffer list or not. - -Use "vim{version}:" for modelines, only to be executed when the version is ->= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}". - - -Ex commands: ~ - -:sav[eas][!] {file} - Works like ":w file" and ":e #", but without loading the file - again and avoiding other side effects. |:saveas| - -:silent[!] {cmd} - Execute a command silently. Also don't use a delay that would - come after the message. And don't do 'showmatch'. - RISCOS: Removed that "!~cmd" didn't output anything, and - didn't wait for <Enter> afterwards. Can use ":silent !cmd" - now. -:menu <silent> Add a menu that won't echo Ex commands. -:map <silent> Add a mapping that won't echo Ex commands. - -:checktime Check for changed buffers. - -:verbose {cmd} Set 'verbose' for one command. - -:echomsg {expr} -:echoerr {expr} Like ":echo" but store the message in the history. (Mark - Waggoner) - -:grepadd Works just like ":grep" but adds to the current error list - instead of defining a new list. |:grepadd| - -:finish Finish sourcing a file. Can be used to skip the rest of a Vim - script. |:finish| - -:leftabove -:aboveleft Split left/above current window. - -:rightbelow -:belowright Split right/below current window. - -:first, :bfirst, :ptfirst, etc. - Alias for ":rewind". It's more logical compared to ":last". - -:enew Edit a new, unnamed buffer. This is needed, because ":edit" - re-edits the same file. (Wall) - -:quitall Same as ":qall". - -:match Define match highlighting local to a window. Allows - highlighting an item in the current window without interfering - with syntax highlighting. - -:menu enable -:menu disable Commands to enable/disable menu entries without removing them. - (Monish Shah) - -:windo Execute a command in all windows. -:bufdo Execute a command in all buffers. - -:wincmd Window (CTRL-W) command. Useful when a Normal mode command - can't be used (e.g., for a CursorHold autocommand). See - |CursorHold-example| for a nice application with it. - -:lcd and :lchdir - Set local directory for a window. (Benjie Chen) - -:hide {command} - Execute {command} with 'hidden' set. - -:emenu in Visual mode to execute a ":vmenu" entry. - -:popup Pop up a popup menu. - -:redraw Redraw the screen even when busy with a script or function. - -:hardcopy Print to paper. - -:compiler Load a Vim script to do settings for a specific compiler. - -:z# List numbered lines. (Bohdan Vlasyuk) - - -New marks: ~ - -'( and ') Begin or end of current sentence. Useful in Ex commands. -'{ and '} Begin or end of current paragraph. Useful in Ex commands. -'. Position of the last change in the current buffer. -'^ Position where Insert mode was stopped. - -Store the ^ and . marks in the viminfo file. Makes it possible to jump to the -last insert position or changed text. - - -New functions: ~ -argidx() Current index in argument list. -buflisted() Checks if the buffer exists and has 'buflisted' set. -cindent() Get indent according to 'cindent'. -eventhandler() Returns 1 when inside an event handler and interactive - commands can't be used. -executable() Checks if a program or batch script can be executed. -filewritable() Checks if a file can be written. (Ron Aaron) -foldclosed() Find out if there is a closed fold. (Johannes Zellner). -foldcloseend() Find the end of a closed fold. -foldlevel() Find out the foldlevel. (Johannes Zellner) -foreground() Move the GUI window to the foreground. -getchar() Get one character from the user. Can be used to define a - mapping that takes an argument. -getcharmod() Get last used key modifier. -getbufvar() gets the value of an option or local variable in a buffer (Ron - Aaron) -getfsize() Return the size of a file. -getwinvar() gets the value of an option or local variable in a window (Ron - Aaron) -globpath() Find matching files in a list of directories. -hasmapto() Detect if a mapping to a string is already present. -iconv() Convert a string from one encoding to another. -indent() gets the indent of a line (Ron Aaron) -inputdialog() Like input() but use a GUI dialog when possible. Currently - only works for Win32, Motif, Athena and GTK. - Use inputdialog() for the Edit/Settings/Text Width menu. Also - for the Help/Find.. and Toolbar FindHelp items. - (Win32 support by Thore B. Karlsen) - (Win16 support by Vince Negri) -inputsecret() Ask the user to type a string without showing the typed keys. - (Charles Campbell) -libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall) -libcallnr() for Win32 and Unix -lispindent() Get indent according to 'lisp'. -mode() Return a string that indicates the current mode. -nextnonblank() Skip blank lines forwards. -prevnonblank() Skip blank lines backwards. Useful to for indent scripts. -resolve() MS-Windows: resolve a shortcut to the file it points to. - Unix: resolve a symbolic link. -search() Search for a pattern. -searchpair() Search for matching pair. Can be used in indent files to find - the "if" matching an endif. -setbufvar() sets an option or variable local to a buffer (Ron Aaron) -setwinvar() sets an option or variable local to a window (Ron Aaron) -stridx() Search for first occurrence of one string in another. -strridx() Search for last occurrence of one string in another. -tolower() Convert string to all-lowercase. -toupper() Convert string to all-uppercase. -type() Check the type of an expression. -wincol() window column of the cursor -winwidth() Width of a window. (Johannes Zellner) -winline() window line of the cursor - - -Added expansion of curly braces in variable and function names. This can be -used for variable names that include the value of an option. Or a primitive -form of arrays. (Vince Negri) - - -New autocommand events: ~ -BufWinEnter Triggered when a buffer is displayed in a window, after using - the modelines. Can be used to load a view. -BufWinLeave Triggered when a buffer is no longer in a window. Also - triggered when exiting Vim. Can be used to save views. -FileChangedRO Triggered before making the first change to a read-only file. - Can be used to check-out the file. (Scott Graham) -TermResponse Triggered when the terminal replies to the version-request. - The v:termresponse internal variable holds the result. Can be - used to react to the version of the terminal. (Ronald Schild) -FileReadCmd Triggered before reading a file. -BufReadCmd Triggered before reading a file into a buffer. -FileWriteCmd Triggered before writing a file. -BufWriteCmd Triggered before writing a buffer into a file. -FileAppendCmd Triggered before appending to a file. -FuncUndefined Triggered when a user function is not defined. (Ron Aaron) - -The autocommands for the *Cmd events read or write the file instead of normal -file read/write. Use this in netrw.vim to be able to edit files on a remote -system. (Charles Campbell) - - -New Syntax files: ~ - -bdf BDF font definition (Nikolai Weibull) -catalog SGML catalog (Johannes Zellner) -debchangelog Debian Changelog (Wichert Akkerman) -debcontrol Debian Control (Wichert Akkerman) -dot dot (Markus Mottl) -dsl DSSSL syntax (Johannes Zellner) -eterm Eterm configuration (Nikolai Weibull) -indent Indent profile (Nikolai Weibull) -lftp LFTP (Nikolai Weibull) -lynx Lynx config (Doug Kearns) -mush mush sourcecode (Bek Oberin) -natural Natural (Marko Leipert) -pilrc Pal resource compiler (Brian Schau) -plm PL/M (Philippe Coulonges) -povini Povray configuration (David Necas) -ratpoison Ratpoison config/command (Doug Kearns) -readline readline config (Nikolai Weibull) -screen Screen RC (Nikolai Weibull) -specman Specman (Or Freund) -sqlforms SQL*Forms (Austin Ziegler) -terminfo terminfo (Nikolai Weibull) -tidy Tidy configuration (Doug Kearns) -wget Wget configuration (Doug Kearns) - - -Updated many syntax files to work both with Vim 5.7 and 6.0. - -Interface to Ruby. (Shugo Maeda) -Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro) -Support this for Mingw too. (Benoit Cerrina) - -Win32: Added possibility to load TCL dynamically. (Muraoka Taro) -Also for Borland 5.5. (Dan Sharp) - -Win32: When editing a file that is a shortcut (*.lnk file), edit the file it -links to. Unless 'binary' is set, then edit the shortcut file itself. -(Yasuhiro Matsumoto) - -The ":command" command now accepts a "-bar" argument. This allows the user -command to be followed by "| command". - -The preview window is now also used by these commands: -- |:pedit| edits the specified file in the preview window -- |:psearch| searches for a word in included files, like |:ijump|, and - displays the found text in the preview window. -Added the CTRL-W P command: go to preview window. - -MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly -for NT systems with multiple users. - -A double-click of the mouse on a character that has a "%" match selects from -that character to the match. Similar to "v%". - -"-S session.vim" argument: Source a script file when starting up. Convenient -way to start Vim with a session file. - -Added "--cmd {command}" Vim argument to execute a command before a vimrc file -is loaded. (Vince Negri) - -Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow -making changes and writing files. - -Added runtime/delmenu.vim. Source this to remove all menus and prepare for -loading new menus. Useful when changing 'langmenu'. - -Perl script to filter Perl error messages to quickfix usable format. (Joerg -Ziefle) - -Added runtime/macros/less.vim: Vim script to simulate less, but with syntax -highlighting. - -MS-Windows install program: (Jon Merz) -- The Win32 program can now create shortcuts on the desktop and install Vim in - the Start menu. -- Possibly remove old "Edit with Vim" entries. -- The Vim executable is never moved or $PATH changed. A small batch file is - created in a directory in $PATH. Fewer choices to be made. -- Detect already installed Vim versions and offer to uninstall them first. - -Improved the MS-Windows uninstal program. It now also deletes the entries in -the Start menu, icons from the desktop and the created batch files. (Jon Merz) -Also made it possible to delete only some of these. Also unregister gvim for -OLE. - -Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon -Merz et al.) - -Added ":filetype detect". Try detecting the filetype again. Helps when -writing a new shell script, after adding "#!/bin/csh". - -Added ":augroup! name" to delete an autocommand group. Needed for the -client-server "--remote-wait". - -Add the Vim version number to the viminfo file, useful for debugging. - -============================================================================== -IMPROVEMENTS *improvements-6* - -Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not -put between line numbers from 'number' option. Makes it a lot easier to read -wrapped lines. - -When there is a format error in a tags file, the byte position is reported so -that the error can be located. - -"gf" works in Visual mode: Use the selected text as the file name. (Chase -Tingley) - -Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest -matching one is used. Especially useful for ":lmap" and 'keymap'. - -Encryption: Ask the key to be typed twice when crypting the first time. -Otherwise a typo might cause the text to be lost forever. (Chase Tingley) - -The window title now has "VIM" on the end. The file name comes first, useful -in the taskbar. A "+" is added when the file is modified. "=" is added for -a read-only file. "-" is added for a file with 'modifiable' off. - -In Visual mode, mention the size of the selected area in the 'showcmd' -position. - -Added the "b:changedtick" variable. Incremented at each change, also for -undo. Can be used to take action only if the buffer has been changed. - -In the replacement string of a ":s" command "\=" can be used to replace with -the result of an expression. From this expression the submatch() function can -be used to access submatches. - -When doing ":qall" and there is a change in a buffer that is being edited in -another window, jump to that window, instead of editing that buffer in the -current window. - -Added the "++enc=" and "++ff=" arguments to file read/write commands to force -using the given 'encoding' or 'fileformat'. And added the "v:cmdarg" -variable, to be used for FileReadCmd autocommands that read/write the file -themselves. - -When reading stdin, first read the text in binary mode and then re-read it -with automatic selection of 'fileformat' and 'fileencoding'. This avoids -problems with not being able to rewind the file (e.g., when a line near the -end of the file ends in LF instead of CR-LF). -When reading text from stdin and the buffer is empty, don't mark it changed. -Allows exiting without trouble. - -Added an ID to many error messages. This will make it easier to find help for -a message. - -Insert mode: -- "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same - column. Useful for editing a table. -- Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri) -- Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus - completion. Added the 's' flag in 'complete'. -- Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also - scans other loaded buffers for matching lines. -- CTRL-R now also works in Insert mode while doing completion with CTRL-X or - CTRL-N. (Neil Bird) -- When doing Insert mode completion, when completion is finished check for a - match with words from 'cinkeys' or 'indentkeys'. - -Performance: -- Made display updating more efficient. Insert/delete lines may be used for - all changes, also for undo/redo. -- The display is not redrawn when there is typeahead in Insert mode. Speeds - up CTRL-R a lot. -- Improved speed of screen output for 32 bit DOS version. (Vince Negri) -- When dragging with the mouse, there is a lookahead to skip mouse codes when - there is another one next. Makes dragging with the mouse a lot faster. -- Also a memory usage improvement: When calling u_save with a single line, - don't save it if the line was recently saved for the same undo already. -- When using a script that appends one character at a time, the amount of - allocated memory was growing steadily. Also when 'undolevels' is -1. - Caused by the line saved for "U" never to be freed. Now free an undo block - when it becomes empty. -- GUI and Dos32: Use a vertical scroll region, to make scrolling in a - vertically split window faster. No need to redraw the whole window. -- When scrolling isn't possible with terminal codes (e.g., for a vertically - split window) redraw from ScreenLines[]. That should be faster than going - through the lines with win_line(), especially when using syntax - highlighting. -- The Syntax menu is now pre-generated by a separate script. Makes loading - the menu 70% faster. This can halve the startup time of gvim. -- When doing ":help tag", don't open help.txt first, jump directly to the help - tag. It's faster and avoids an extra message. -- Win32: When a file name doesn't end in ".lnk" don't try resolving a - shortcut, it takes quite a bit of time. -- Don't update the mouse pointer shape while there are typeahead characters. -- Change META[] from a string into an array, avoids using strchr() on it. -- Don't clear the command line when adding characters, avoids that screen_fill - is called but doesn't do anything. - -Robustness: -- Unix: Check for running out of stack space when executing a regexp. Avoids - a nasty crash. Only works when the system supports running the signal - function on another stack. -- Disallow ":source <dirname>". On unix it's possible to read a directory, - does not make sense to use it as Vim commands. - -Security: -- When reading from or writing to a temporary file, check that it isn't a - symbolic link. Gives some protection against symlink attacks. -- When creating a backup file copy or a swap file, check for it already - existing to avoid a symlink attack. (Colin Phipps) -- Evaluating options which are an expression is done in a |sandbox|. If the - option was set by a modeline, it cannot cause damage. -- Use a secure way to generate temp file names: Create a private directory for - temp files. Used for Unix, MS-DOS and OS/2. -- 'makeef' can be empty, which means that an internally generated file name is - used. The old default was "/tmp/file", which is a security risk. - Writing 'makeef' in the current directory fails in a read-only directory and - causes trouble when using ":grep" on all files. Made the default empty for - all systems, so that a temp file is used. -- The command from a tags file is executed in the sandbox for better security. -- The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They - might do dangerous things. Perl is still possible, but limited to the Safe - environment. (Donnie Smith) - -Syntax highlighting: -- Optimized the speed by caching the state stack all over the file, not just - the part being displayed. Required for folding. -- Added ":syntax sync fromstart": Always parse from the start of the file. -- Added the "display" argument for syntax items: use the item only when - displaying the result. Can make parsing faster for text that isn't going to - be displayed. -- When using CTRL-L, the cached states are deleted, to force parsing the text - again. -- Use elfhash algorithm for table of keywords. This should give a better - distribution and speedup keyword lookup. (Campbell) -- Also allow the "lc" leading context for skip and end patterns. (Scott - Bigham) -- Syntax items can have the "extend" argument to undo the effect of a - "keepend" argument of an item it is contained in. Makes it possible to have - some contained items extend a region while others don't. -- ":syntax clear" now deletes the b:current_syntax variable. That's logical, - since no syntax is defined after this command. -- Added ":syntax enable": switch on syntax highlighting without changing the - colors. This allows specifying the colors in the .vimrc file without the - need for a mysyntaxfile. -- Added ":syntax reset": reset the colors to their defaults. -- Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it - possible to define a transparent item that doesn't contain itself. -- Added a "containedin" argument to syntax items. Allows adding a contained - item to an existing item (e.g., to highlight a name in a comment). - -Modeless selection: -- When in the command-line window, use modeless selection in the other - windows. Makes it possible to copy visible text to the command-line window. -- Support modeless selection on the cmdline in a terminal. Previously it was - only possible for the GUI. -- Make double-right-click in modeless selection select a whole word. Single - right click doesn't use the word selection started by a double-left-click. - Makes it work like in Visual mode. -- The modeless selection no longer has an implied automatic copy to the - clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or - "autoselect" and "autoselectml" in 'clipboard'. -- Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to - the clipboard. Also works at the hit-enter prompt and the more prompt. - Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in - cmdline-mode to be able to use CTRL-Y in the new way. - -Reduced the amount of stack space used by regmatch() to allow it to handle -complicated patterns on a longer text. - -'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS. - -Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave -like the ASCII equivalent. (Ivan Wellesz and Vince Negri) -Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home> - -Also trigger the BufUnload event when Vim is going to exit. Perhaps a script -needs to do some cleaning up. - -Expand expression in backticks: `={expr}`. Can be used where backtick -expansion is done. (Vince Negri) - -GUI: -- Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only - when there is a vertically split window. -- X11: When a color can't be allocated, use the nearest match from the - colormap. This avoids that black is used for many things. (Monish Shah) - Also do this for the menu and scrollbar, to avoid that they become black. -- Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to - the current mode. (Vince Negri) -- Added the 'linespace' option: Insert a pixel line between lines. (Nam) -- Allow modeless selection (without moving the cursor) by keeping CTRL and - SHIFT pressed. (Ivan Wellesz) -- Motif: added toolbar. (Gordon Prieur) Also added tooltips. -- Athena: added toolbar and tooltips. (David Harrison -- based on Gordon - Prieur's work) -- Made the 'toolbar' option work for Athena and Motif. Can now switch between - text and icons on the fly. (David Harrison) -- Support menu separator lines for Athena. (David Harrison) -- Athena: Adjust the arrow pixmap used in a pullright menu to the size of the - font. (David Harrison) -- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem - Khodush) -- When no --enable-xim argument is given, automatically enable it when a X GUI - is used. Required for dead key support (and multi-byte input). -- After a file selection dialog, check that the edited files were not changed - or deleted. The Win32 dialog allows deleting and renaming files. -- Motif and Athena: Added support for "editres". (Marcin Dalecki) -- Motif and Athena: Added "menuFont" to be able to specify a font or fontset - for the menus. Can also be set with the "Menu" highlight group. Useful - when the locale is different from 'encoding'. (David Harrison) - When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should - avoid trouble with changing from a font to a fontset. (David Harrison) -- Highlighting and font for the tooltips can be specified with the "Tooltip" - highlight group. (David Harrison) -- The Cmdline-mode menus can be used at the more-prompt. This mostly works - fine, because they start with a CTRL-C. The "Copy" menu works to copy the - modeless selection. Allows copying the output of ":set all" or ":intro" - without auto-selection. -- When starting the GUI when there is no terminal connected to stdout and - stderr, display error messages in a dialog. Previously they wouldn't be - displayed at all. -- Allow setting 'browsedir' to the name of a directory, to be used for the - file dialog. (Dan Sharp) -- b:browsefilter and g:browsefilter can be set to the filters used for the - file dialog. Supported for Win32 and Motif GUI. (Dan Sharp) - -X11: -- Support for the clipboard selection as register "+. When exiting or - suspending copy the selection to cut buffer 0. Should allow copy/paste with - more applications in a X11-standard way. (Neil Bird) -- Use the X clipboard in any terminal, not just in an xterm. - Added "exclude:" in 'clipboard': Specify a pattern to match against terminal - names for which no connection should be made to the X server. The default - currently work for FreeBSD and Linux consoles. -- Added a few messages for when 'verbose' is non-zero to show what happens - when trying to connect to the X server. Should help when trying to find out - why startup is slow. - -GTK GUI: (partly by Marcin Dalecki) -- With some fonts the characters can be taller than ascent + descent. E.g., - "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character - cell height. -- Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut, - when 'wak' changed after creating the menus. -- Setting 'wak' after the GUI started works. -- recycle text GC's to reduce communication. -- Adjust icon size to window manager. -- Cleanup in font handling. -- Replace XQueryColor with GDK calls. -- Gnome support. Detects Gnome in configure and uses different widgets. - Otherwise it's much like GTK. (Andy Kahn) - It is disabled by default, because it causes a few problems. -- Removed the special code to fork first and then start the GUI. Now use - _exit() instead of exit(), this works fine without special tricks. -- Dialogs sometimes appeared a bit far away. Position the dialogs inside - the gvim window. (Brent Verner) -- When dropping a file on Vim, remove extra slashes from the start of the - path. Also shorten the file name if possible. - -Motif: (Marcin Dalecki) -- Made the dialog layout better. -- Added find and find/replace dialogs. -- For the menus, change "iso-8859" to "iso_8859", Linux appears to need this. -- Added icon to dialogs, like for GTK. -- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include - file when it's available. -- Change the shadow of the toolbar items to get a visual feedback of it being - pressed on non-LessTif. -- Use gadgets instead of windows for some items for speed. - -Command line completion: -- Complete environment variable names. (Mike Steed) -- For ":command", added a few completion methods: "mapping", "function", - "expression" and "environment". -- When a function doesn't take arguments, let completion add () instead of (. - -For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR. -(Walter Briscoe) - -Redirect messages to the clipboard ":redir @*" and to the unnamed register -":redir @"". (Wall) - -":let @/ = ''" clears the search pattern, instead of setting it to an empty -string. - -Expression evaluation: -- "? :" can be used like in C. -- col("$") returns the length of the cursor line plus one. (Stephen P. Wall) -- Optional extra argument for match(), matchend() and matchstr(): Offset to - start looking for a match. -- Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera) -- exists() can also be used to check for Ex commands and defined autocommands. -- Added extra argument to input(): Default text. -- Also set "v:errmsg" when using ":silent! cmd". -- Added the v:prevcount variable: v:count for the previous command. -- Added "v:progname", name with which Vim was started. (Vince Negri) -- In the verbose message about returning from a function, also show the return - value. - -Cscope: -- Added the cscope_connection() function. (Andy Kahn) -- ":cscope kill -1" kills all cscope connections. (Andy Kahn) -- Added the 'cscopepathcomp' option. (Scott Hauck) -- Added ":scscope" command, split window and execute Cscope command. (Jason - Duell) - -VMS: -- Command line arguments are always uppercase. Interpret a "-X" argument as - "-x" and "-/X" as "-X". -- Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy) -- Use the X-clipboard feature and the X command server. (Zoltan Arpadffy) - -Macintosh: (Dany St-Amant) -- Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn) -- Carbonized (while keeping non Carbon code) - (Some work "stolen" from Ammon Skidmore) -- Improved the menu item index handling (should be faster) -- Runtime commands now handle / in file name (MacOS 9 version) -- Added ":winpos" support. -- Support using "~" in file names for home directory. - -Options: -- When using set += or ^= , check for items used twice. Duplicates are - removed. (Vince Negri) -- When setting an option that is a list of flags, remove duplicate flags. -- If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina) -- Added "alpha" to 'nrformats': increment or decrement an alphabetic character - with CTRL-A and CTRL-X. -- ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim - default. Useful to set 'cpo' to its Vim default without knowing what flags - that includes. -- 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the - window. -- Added more option settings to the default menus. -- Updated the option window with new options. Made it a bit easier to read. - -Internal changes: -- Split line pointers in text part and attributes part. Allows for future - change to make attribute more than one byte. -- Provide a qsort() function for systems that don't have it. -- Changed the big switch for Normal mode commands into a table. This cleans - up the code considerably and avoids trouble for some optimizing compilers. -- Assigned a negative value to special keys, to avoid them being mixed up with - Unicode characters. -- Global variables expand_context and expand_pattern were not supposed to be - global. Pass them to ExpandOne() and all functions called by it. -- No longer use the global reg_ic flag. It caused trouble and in a few places - it was not set. -- Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids - problem with autocommands. -- Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too - big. Also moved some code from screen.c to move.c. -- Don't include the CRC table for encryption, generate it. Saves quite a bit - of space in the source code. (Matthias Kramm) -- Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems. -- Removed the GTK implementation of ":findhelp", it now uses the - ToolBar.FindHelp menu entry. -- Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and - mch_shellinit() to mch_init(). - -Highlighting: -- In a ":highlight" listing, show "xxx" with the highlight color. -- Added support for xterm with 88 or 256 colors. The right color numbers will - be used for the name used in a ":highlight" command. (Steve Wall) -- Added "default" argument for ":highlight". When included, the command is - ignored if highlighting for the group was already defined. - All syntax files now use ":hi default ..." to allow the user to specify - colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed - anymore. This greatly simplifies using non-default colors for a specific - language. -- Adjusted colortest.vim: Included colors on normal background and reduced the - size by using a while loop. (Rafael Garcia-Suarez) -- Added the "DarkYellow" color name. Just to make the list of standard colors - consistent, it's not really a nice color to use. - -When an xterm is in 8-bit mode this is detected by the code returned for -|t_RV|. All key codes are automatically converted to their 8-bit versions. - -The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the -actual key codes used and the number of colors for t_Co. Only when |t_RV| is -also used. - -":browse set" now also works in the console mode. ":browse edit" will give an -error message. - -":bdelete" and ":bunload" only report the number of deleted/unloaded buffers -when more than 'report'. The message was annoying when deleting a buffer in a -script. - -Jump list: -- The number of marks kept in the jumplist has been increased from 50 to 100. -- The jumplist is now stored in the viminfo file. CTRL-O can be used to jump - to positions from a previous edit session. -- When doing ":split" copy the jumplist to the new window. - -Also set the '[ and '] marks for the "~" and "r" commands. These marks are -now always set when making a change with a Normal mode command. - -Python interface: Allow setting the width of a vertically split window. (John -Cook) - -Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys'). - -Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes -Zellner) -Added the "l" flag in 'cinoptions'. (Anduin Withers) -Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt) - -When doing ":wall" or ":wqall" and a modified buffer doesn't have a name, -mention its buffer number in the error message. - -":function Name" lists the function with line numbers. Makes it easier to -find out where an error happened. - -In non-blockwise Visual mode, "r" replaces all selected characters with the -typed one, like in blockwise Visual mode. - -When editing the last file in the argument list in any way, allow exiting. -Previously this was only possible when getting to that file with ":next" or -":last". - -Added the '1' flag to 'formatoptions'. (Vit Stradal) -Added 'n' flag in 'formatoptions': format a numbered list. - -Swap file: -- When a swap file already exists, and the user selects "Delete" at the - ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo" - file which won't always be found. -- When giving the ATTENTION message and the date of the file is newer than the - date of swap file, give a warning about this. -- Made the info for an existing swap file a bit shorter, so that it still fits - on a 24 line screen. -- It was possible to make a symlink with the name of a swap file, linking to a - file that doesn't exist. Vim would then silently use another file (if open - with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do - another check for an existing swap file just before creating it to catch a - symlink attack. - -The g CTRL-G command also works in Visual mode and counts the number of words. -(Chase Tingley) - -Give an error message when using 'shell' and it's empty. - -Added the possibility to include "%s" in 'shellpipe'. - -Added "uhex" value for 'display': show non-printable characters as <xx>. -Show unprintable characters with NonText highlighting, also in the command -line. - -When asked to display the value of a hidden option, tell it's not supported. - -Win32: -- When dropping a shortcut on gvim (.lnk file) edit the target, not the - shortcut itself. (Yasuhiro Matsumoto) -- Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe) -- When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too. - Also check for the Unix shell names. -- When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig - Barkhouse) - -Win32 console version: -- Includes the user and system name in the ":version" message, when available. - It generates a pathdef.c file for this. (Jon Miner) -- Set the window icon to Vim's icon (only for Windows 2000). While executing - a shell command, modify the window title to show this. When exiting, - restore the cursor position too. (Craig Barkhouse) -- The Win32 console version can be compiled with OLE support. It can only - function as a client, not as an OLE server. - -Errorformat: -- Let "%p" in 'errorformat' (column of error indicated by a row of characters) - also accept a line of dots. -- Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp) -- Added a default 'errorformat' value for VMS. (Jim Bush) - -The "p" command can now be used in Visual mode. It overwrites the selected -text with the contents of a register. - -Highlight the <> items in the intro message to make clear they are special. - -When using the "c" flag for ":substitute", allow typing "l" for replacing this -item and then stop: "last". - -When printing a verbose message about sourcing another file, print the line -number. - -When resizing the Vim window, don't use 'equalalways'. Avoids that making the -Vim window smaller makes split windows bigger. And it's what the docs say. - -When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR -kept the remaining white space. Now made it work like BS: delete the -autoindent to avoid a blank non-empty line results. - -Added a GetHwnd() call to the OLE interface. (Vince Negri) - -Made ":normal" work in an event handler. Useful when dropping a file on Vim -and for CursorHold autocommands. - -For the MS-Windows version, don't change to the directory of the file when a -slash is used instead of a backslash. Explorer should always use a backslash, -the user can use a slash when typing the command. - -Timestamps: -- When a buffer was changed outside of Vim and regaining focus, give a dialog - to allow the user to reload the file. Now also for other GUIs than - MS-Windows. And also used in the console, when compiled with dialog - support. -- Inspect the file contents to find out if it really changed, ignore - situations where only the time stamp changed (e.g., checking the file out - from CVS). -- When checking the timestamp, first check if the file size changed, to avoid - a file compare then. Makes it quicker for large (log) files that are - appended to. -- Don't give a warning for a changed or deleted file when 'buftype' is set. -- No longer warn for a changed directory. This avoids that the file explorer - produces warnings. -- Checking timestamps is only done for buffers that are not hidden. These - will be checked when they become unhidden. -- When checking for a file being changed outside of Vim, also check if the - file permissions changed. When the file contents didn't change but the - permissions did, give a warning. -- Avoid checking too often, otherwise the dialog keeps popping up for a log - file that steadily grows. - -Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to -"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very -hard to find problems. Disallow mapping part of a multi-byte character. - -For ":python" and ":tcl" accept an in-line script. (Johannes Zellner) -Also for ":ruby" and ":perl". (Benoit Cerrina) - -Made ":syn include" use 'runtimepath' when the file name is not a full path. - -When 'switchbuf' contains "split" and the current window is empty, don't split -the window. - -Unix: Catch SIGPWR to preserve files when the power is about to go down. - -Sniff interface: (Anton Leherbauer) -- fixed windows code, esp. the event handling stuff -- adaptations for sniff 4.x ($SNIFF_DIR4) -- support for adding sniff requests at runtime - -Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt -key is used. - -":find" accepts a count, which means that the count'th match in 'path' is -used. - -":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a -buffer is active show "a" instead of nothing. When a buffer isn't loaded -show nothing instead of "-". - -Unix install: -- When installing the tools, set absolute paths in tools scripts efm_perl.pl - and mve.awk. Avoids that the user has to edit these files. -- Install Icons for KDE when the directories exist and the icons do not exist - yet. - -Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and -NT/2000/XP in a Vim script. - -When a ":cd" command was typed, echo the new current directory. (Dan Sharp) - -When using ":winpos" before the GUI window has been opened, remember the -values until it is opened. - -In the ":version" output, add "/dyn" for features that are dynamically loaded. -This indicates the feature may not always work. - -On Windows NT it is possible that a directory is read-only, but a file can be -deleted. When making a backup by renaming the file and 'backupdir' doesn't -use the current directory, this causes the original file to be deleted, -without the possibility to create a new file. Give an extra error message -then to warn to user about this. - -Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's -consistent with Insert mode. - -============================================================================== -COMPILE TIME CHANGES *compile-changes-6* - -All generated files have been moved out of the "src" directory. This makes it -easy to see which files are not edited by hand. The files generated by -configure are now in the "src/auto" directory. For Unix, compiled object -files go in the objects directory. - -The source archive was over the 1.4M floppy limit. The archives are now split -up into two runtime and two source archives. Also provide a bzip2 compressed -archive that contains all the sources and runtime files. - -Added "reconfig" as a target for make. Useful when changing some of the -arguments that require flushing the cache, such as switching from GTK to -Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent -over different GUIs. - -Added src/README.txt to give an overview of the main parts of the source code. - -The Unix Makefile now fully supports using $(DESTDIR) to install to a specific -location. Replaces the manual setting of *ENDLOC variables. - -Added the possibility for a maintainer of a binary version to include his -e-mail address with the --with-compiledby configure argument. - -Included features are now grouped in "tiny", "small", "normal", "big" and -"huge". This replaces "min-features" and "max-features". Using "tiny" -disables multiple windows for a really small Vim. - -For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin -are equal to curwin and don't use w_next and w_prev. - -Added the +listcmds feature. Can be used to compile without the Vim commands -that manipulate the buffer list and argument list (the buffer list itself is -still there, can't do without it). - -Added the +vreplace feature. It is disabled in the "small" version to avoid -that the 16 bit DOS version runs out of memory. - -Removed GTK+ support for versions older than 1.1.16. - -The configure checks for using PTYs have been improved. Code taken from a -recent version of screen. - -Added configure options to install Vim, Ex and View under another name (e.g., -vim6, ex6 and view6). - -Added "--with-global-runtime" configure argument. Allows specifying the -global directory used in the 'runtimepath' default. - -Made enabling the SNiFF+ interface possible with a configure argument. - -Configure now always checks /usr/local/lib for libraries and -/usr/local/include for include files. Helps finding the stuff for iconv() and -gettext(). - -Moved the command line history stuff into the +cmdline_hist feature, to -exclude the command line history from the tiny version. - -MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids -having to change two files for one problem. (Vince Negri) - -Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri) - -The jumplist is now a separate feature. It is disabled for the "small" -version (16 bit MS-DOS). - -Renamed all types ending in _t to end in _T. Avoids potential problems with -system types. - -Added a configure check for X11 header files that implicitly define the return -type to int. (Steve Wall) - -"make doslang" in the top directory makes an archive with the menu and .mo -files for Windows. This uses the files generated on Unix, these should work -on MS-Windows as well. - -Merged a large part of os_vms.c with os_unix.c. The code was duplicated in -the past which made maintenance more work. (Zoltan Arpadffy) - -Updated the Borland C version 5 Makefile: (Dan Sharp) -- Fixed the Perl build -- Added python and tcl builds -- Added dynamic perl and dynamic python builds -- Added uninstal.exe build -- Use "yes" and "no" for the options, like in Make_mvc.mak. - -Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's -much smaller, many unnecessary text has been removed. (Walter Briscoe) -Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in -MS-Devstudio. (Walter Briscoe) - -MS-Windows: The big gvim.exe, which includes OLE, now also includes -dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1, -ActivePython 2.1.1 and ActiveTCL 8.3.3 - -Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for -Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile. - -Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6. -(Vipin Aravind) - -Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto) - -Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro -Matsumoto) - -============================================================================== -BUG FIXES *bug-fixes-6* - -When checking the command name for "gvim", "ex", etc. ignore case. Required -for systems where case is ignored in command names. - -Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'. - -When double-clicking in another window, wasn't recognized as double click, -because topline is different. Added set_mouse_topline(). - -The BROKEN_LOCALE check was broken. (Marcin Dalecki) - -When "t_Co" is set, the default colors remain the same, thus wrong. Reset the -colors after changing "t_Co". (Steve Wall) - -When exiting with ":wqall" the messages about writing files could overwrite -each other and be lost forever. - -When starting Vim with an extremely long file name (around 1024 characters) it -would crash. Added a few checks to avoid buffer overflows. - -CTRL-E could get stuck in a file with very long lines. - -":au syntax<Tab>" expanded event names while it should expand groups starting -with "syntax". - -When expanding a file name caused an error (e.g., for <amatch>) it was -produced even when inside an "if 0". - -'cindent' formatted C comments differently from what the 'comments' option -specified. (Steve Wall) - -Default for 'grepprg' didn't include the file name when only grepping in one -file. Now /dev/null has been added for Unix. - -Opening the option window twice caused trouble. Now the cursor goes to the -existing option window. - -":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set -'readonly', unless the buffer is also edited in another window. - -GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar -and menubar to disappear and resize the window (which clears the text). -Now always grey-out the toplevel menus to avoid that the menubar changes size -or disappears. - -When re-using the current buffer for a new buffer, buffer-local variables were -not deleted. - -GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a -down scroll. Now pass on a mouse event with mouse_row set to -1. - -Win32: Console version didn't work on telnet, because of switching between two -console screens. Now use one console screen and save/restore the contents -when needed. (Craig Barkhouse) - -When reading a file the magic number for encryption was included in the file -length. (Antonio Colombo) - -The quickfix window contained leading whitespace and NULs for multi-line -messages. (David Harrison) - -When using cscope, redundant tags were removed. This caused a numbering -problem, because they were all listed. Don't remove redundant cscope tags. -(David Bustos). - -Cscope: Test for which matches are in the current buffer sometimes failed, -causing a jump to another match than selected. (David Bustos) - -Win32: Buffer overflow when adding a charset name in a font. - -'titlestring' and 'iconstring' were evaluating an expression in the current -context, which could be a user function, which is a problem for local -variables vs global variables. - -Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in -_OnSysChar(). - -Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle. -Could also happen for the ruler. screen_puts() didn't clear the right char in -ScreenLines[] for the bold trick. - -Win32: ":%!sort|uniq" didn't work, because the input file name touches the -"|". Insert a space before the "|". - -OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to -fail, which caused syntax highlighting to fail. - -Pasting a register containing CTRL-R on the command line could cause an -endless loop that can't be interrupted. Now it can be stopped with CTRL-C. - -When 'verbose' is set, a message for file read/write could overwrite the -previous message. -When 'verbose' is set, the header from ":select" was put after the last -message. Now start a new line. - -The hit-enter prompt reacted to the response of the t_RV string, causing -messages at startup to disappear. - -When t_Co was set to 1, colors were still used. Now only use color when t_Co -> 1. - -Listing functions with ":function" didn't quit when 'q' or ':' was typed at -the more prompt. - -Use mkstemp() instead of mktemp() when it's available, avoids a warning for -linking on FreeBSD. - -When doing Insert mode completion it's possible that b_sfname is NULL. Don't -give it to printf() for the "Scanning" message. - -":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards -was done after trying to remove the string. Now for ":set opt+=val" and ":set -opt-=val" the expansion of wildcards is done before adding or removing "val". - -Using CTRL-V with the "r" command with a blockwise Visual selection inserted a -CTRL-V instead of getting a special character. - -Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE -after -lXdmcp. Should fix link problem on HP-UX 10.20. - -Don't remove the last "-lm" from the link line. Vim may link but fail later -when the GUI starts. - -When the shell returns with an error when trying to expand wildcards, do -include the pattern when the "EW_NOTFOUND" flag was set. -When expanding wildcards with the shell fails, give a clear error message -instead of just "1 returned". - -Selecting a Visual block, with the start partly on a Tab, deleting it leaves -the cursor too far to the left. Causes "s" to work in the wrong position. - -Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead. - -Warning for changing a read-only file wasn't given when 'insertmode' was set. - -Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start -notepad file" doesn't work. Remove the double quotes added by 'shellxquote' -when using ":!start". (Pavol Juhas) - -The "<f-args>" argument of ":command" didn't accept Tabs for white space. -Also, don't add an empty argument when there are trailing blanks. - -":e test\\je" edited "test\je", but ":next test\\je" edited "testje". -Backslashes were removed one time too many for ":next". - -VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file -name. (Zoltan Arpadffy) - -After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all -characters are redrawn with the right background. - -When doing "make test" without +eval or +windows feature, many tests failed. -Now have test1 generate a script to copy the correct output, so that a test -that doesn't work is skipped. - -On FreeBSD the Perl interface added "-lc" to the link command and Python added -"-pthread". These two don't work together, because the libc_r library should -be used. Removed "-lc" from Perl, it should not be needed. -Also: Add "-pthread" to $LIBS, so that the checks for functions is done with -libc_r. Sigaltstack() appears to be missing from libc_r. - -The Syntax sub-menus were getting too long, reorganized them and added another -level for some languages. - -Visual block "r"eplace didn't work well when a Tab is partly included. -(Matthias Kramm) - -When yanking a Visual block, where some lines end halfway the block, putting -the text somewhere else doesn't insert a block. Padd with spaces for missing -characters. Added "y_width" to struct yankreg. (Matthias Kramm) - -If a substitute string has a multibyte character after a backslash only the -first byte of it was skipped. (Muraoka Taro) - -Win32: Numeric keypad keys were missing from the builtin termcap entry. - -When a file was read-only ":wa!" didn't force it to be written. (Vince Negri) - -Amiga: A file name starting with a colon was considered absolute but it isn't. -Amiga: ":pwd" added a slash when in the root of a drive. - -Don't let 'ttymouse' default to "dec" when compiled with dec mouse support. -It breaks the gpm mouse (Linux console). - -The prototypes for the Perl interface didn't work for threaded Perl. Added a -sed command to remove the prototypes from proto/if_perl.pro and added them -manually to if_perl.xs. - -When ":w!" resets the 'readonly' option the title and status lines were not -updated. - -":args" showed the current file when the argument list was empty. Made this -work like Vi: display nothing. - -"99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode. -Don't set v:count when executing a stuffed command. - -Amiga: Got a requester for "home:" because it's in the default runtime path. -Don't bring up a requester when searching for a file in 'path', sourcing the -.vimrc file or using ":runtime". - -Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same -file to appear as two different buffers. - -Win32: Renaming a file to an empty string crashed Vim. Happened when using -explorer.vim and hitting ESC at the rename prompt. - -Win32: strftime() crashed when called with a "-1" value for the time. - -Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not -to be found. - -Cscope sometimes jumped to the wrong tag. (David Bustos) - -OS/2: Could not find the tags file. mch_expand_wildcards() added another -slash to a directory name. - -When using ">>" the `] mark was not in the last column. - -When Vim was compiled without menu support, filetype.vim was still trying to -source the menu.vim script. (Rafael Garcia-Suarez) - -":ptag" added an item to the tag stack. - -Win32 IME: "gr" didn't use IME mode. - -In the "vim --help" message the term "options" was used for arguments. That's -confusing, call them "arguments". - -When there are two windows, and a BufUnload autocommand for closing window #1 -closed window #2, Vim would crash. - -When there is a preview window and only one other window, ":q" wouldn't exit. - -In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed. - -On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows -glob("*") also returned files starting with a dot. Made this work like Unix -on all systems. - -Win32: Removed old code to open a console. Vimrun is now used and works fine. - -Compute the room needed by the intro message accurately, so that it also fits -on a 25 line console. (Craig Barkhouse) - -":ptnext" was broken. Now remember the last tag used in the preview window -separately from the tagstack. - -Didn't check for "-display" being the last argument. (Wichert Akkerman) - -GTK GUI: When starting "gvim" under some conditions there would be an X error. -Don't replace the error handler when creating the xterm clipboard. (Wichert -Akkerman) - -Adding a space after a help tag caused the tag not to be found. E.g., ":he -autoindent ". - -Was trying to expand a URL into a full path name. On Windows this resulted in -the current directory to be prepended to the URL. Added vim_isAbsName() and -vim_FullName() to avoid that various machine specific functions do it -differently. - -":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only -does it for the current file (looks like a bug). Now remember the buffer used -for the entry in the argument list and use its name (adjusted when doing -":cd"), unless it's deleted. - -When inserting a special key as its name ("<F8>" as four characters) after -moving around in Insert mode, undo didn't work properly. - -Motif GUI: When using the right mouse button, for some people gvim froze for -a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup -menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or -"popup_setpos". (David Harrison) - -Motif: When adding many menu items, the "Help" menu disappeared but the -menubar didn't wrap. Now manually set the menubar height. - -When using <BS> in Insert mode to remove a line break, or using "J" to join -lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro) - -Removed defining SVR4 in configure. It causes problems for some X header -files and doesn't appear to be used anywhere. - -When 'wildignore' is used, 'ignorecase' for a tag match was not working. - -When 'wildignore' contains "*~" it was impossible to edit a file ending in a -"~". Now don't recognize a file ending in "~" as containing wildcards. - -Disabled the mouse code for OS/2. It was not really used. - -":mksession" always used the full path name for a buffer, also when the short -name could be used. -":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a -way that they would be restored. Now use the key name if possible, this is -portable. - -After recovering a file and abandoning it, an ":edit" command didn't give the -ATTENTION prompt again. Would be useful to be able to delete the file in an -easy way. Reset the BF_RECOVERED flag when unloading the buffer. - -histdel() could match or ignore case, depending on what happened before it. -Now always match case. - -When a window size was specified when splitting a window, it would still get -the size from 'winheight' or 'winwidth' if it's larger. - -When using "append" or "insert" inside a function definition, a line starting -with "function" or "endfunction" caused confusion. Now recognize the commands -and skip lines until a ".". - -At the end of any function or sourced file need_wait_return could be reset, -causing messages to disappear when redrawing. - -When in a while loop the line number for error messages stayed fixed. Now the -line number is remembered in the while loop. - -"cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash. - -MS-Windows: getftime() didn't work when a directory had a trailing slash or -backslash. Didn't show the time in the explorer because of this. - -When doing wildcard completion, a directory "a/" sorted after "a-b". Now -recognize path separators when sorting files. - -Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were -created as different buffers, although it's the same file. Expand to a full -file name also when an absolute name contains "..". - -"g&" didn't repeat the last substitute properly. - -When 'clipboard' was set to "unnamed", a "Y" command would not write to "0. -Now make a copy of register 0 to the clipboard register. - -When the search pattern matches in many ways, it could not always be -interrupted with a CTRL-C. And CTRL-C would have to be hit once for every -line when 'hlsearch' is on. -When 'incsearch' is on and interrupting the search for a match, don't abandon -the command line. - -When turning a directory name into a full path, e.g., with fnamemodify(), -sometimes a slash was added. Make this consistent: Don't add a slash. - -When a file name contains a "!", using it in a shell command will cause -trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time -when 'shell' contains "sh". - -Completing a file name that has a tail that starts with a "~" didn't work: -":e view/~<Tab>". - -Using a ":command" argument that contains < and > but not for a special -argument was not skipped properly. - -The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in -$PATH didn't work, it always found it in the current directory. -Rename the vim.exe in the current dir to avoid this. (Walter Briscoe) - -In the MS-DOS/Windows install program, use %VIM% instead of an absolute path, -so that moving Vim requires only one change in the batch file. - -Mac: mch_FullName() changed the "fname" argument and didn't always initialize -the buffer. - -MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file -name. - -"echo expand("%:p:h")" with an empty file name removed one directory name on -MS-DOS. For Unix, when the file name is a directory, the directory name was -removed. Now make it consistent: "%:p" adds a path separator for all systems, -but no path separator is added in other situations. - -Unix: When checking for a CTRL-C (could happen any time) and there is an X -event (e.g., clipboard updated) and there is typeahead, Vim would hang until a -character was typed. - -MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon, -had the slash removed. - -":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even -"he :set^=" didn't find it. - -A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work -when the current path for D: isn't the root of the drive. - -Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary. - -When using a dtterm or various other color terminals, and the Normal group has -been set to use a different background color, the background wouldn't always -be displayed with that color. Added check for "ut" termcap entry: If it's -missing, clearing the screen won't give us the current background color. Need -to draw each character instead. Vim now also works when the "cl" (clear -screen) termcap entry is missing. - -When repeating a "/" search command with a line offset, the "n" did use the -offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the -same. - -Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash. - -OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty(). - -C-indenting: Indented a line starting with ")" with the matching "(", but not -a line starting with "x)" looks strange. Also compute the indent for aligning -with items inside the () and use the lowest indent. - -MS-DOS and Windows: ":n *.vim" also matched files ending in "~". -Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are -equal. - -Macintosh: (Dany St-Amant) -- In Vi-compatible mode didn't read files with CR line separators. -- Fixed a bug in the handling of Activate/Deactivate Event -- Fixed a bug in gui_mch_dialog (using wrong pointer) - -Multibyte GDK XIM: While composing a multibyte-word, if user presses a -mouse button, then the word is removed. It should remain and composing end. -(Sung-Hyun Nam) - -MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF -conversion by the C library got in the way of detecting a "dos" 'fileformat'. - -When 'smartcase' is set, patterns with "\S" would also make 'ignorecase' -reset. - -When clicking the mouse in a column larger than 222, it moved to the first -column. Can't encode a larger number in a character. Now limit the number to -222, don't jump back to the first column. - -GUI: In some versions CSI would cause trouble, either when typed directly or -when part of a multi-byte sequence. - -When using multibyte characters in a ":normal" command, a trailing byte that -is CSI or K_SPECIAL caused problems. - -Wildmenu didn't handle multi-byte characters. - -":sleep 10" could not be interrupted on Windows, while "gs" could. Made them -both work the same. - -Unix: When waiting for a character is interrupted by an X-windows event (e.g., -to obtain the contents of the selection), the wait time would not be honored. -A message could be overwritten quickly. Now compute the remaining waiting -time. - -Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then -the name is invalid. Don't insert the backslash. - -When doing an auto-write before ":make", IObuff was overwritten and the wrong -text displayed later. - -On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults -for 'backupdir' and 'directory', they don't exist. - -The check for a new file not to be on an MS-DOS filesystem created the file -temporarily, which can be slow. Don't do this if there is another check for -the swap file being on an MS-DOS filesystem. - -Don't give the "Changing a readonly file" warning when reading from stdin. - -When using the "Save As" menu entry and not entering a file name, would get an -error message for the trailing ":edit #". Now only do that when the -alternate file name was changed. - -When Vim owns the X11 selection and is being suspended, an application that -tries to use the selection hangs. When Vim continues it could no longer -obtain the selection. Now give up the selection when suspending. - -option.h and globals.h were included in some files, while they were already -included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it -twice. - -When repeating an operator that used a search pattern and the search pattern -contained characters that have a special meaning on the cmdline (e.g., CTRL-U) -it didn't work. - -Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in -a (multibyte) character. For example, the "r" command could not be repeated. - -The DOS/Windows install program didn't always work from a directory with a -long filename, because $VIM and the executable name would not have the same -path. - -Multi-byte: -- Using an any-but character range [^x] in a regexp didn't work for UTF-8. - (Muraoka Taro) -- When backspacing over inserted characters in Replace mode multi-byte - characters were not handled correctly. (Muraoka Taro) -- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka - Taro) -- Word completion in Insert mode didn't work with multibyte characters. - (Muraoka Taro) -- Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too - wide (number of bytes instead of cell width). -- When changing 'encoding' to "euc-jp" and inserting a character Vim would - crash. -- For euc-jp characters positioning the cursor would sometimes be wrong. - Also, with two characters with 0x8e leading byte only the first one would be - displayed. -- When using DYNAMIC_ICONV on Win32 conversion might fail because of using the - wrong error number. (Muraoka Taro) -- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce - the right character. -- When using Visual block selection and only the left halve of a double-wide - character is selected, the highlighting continued to the end of the line. -- Visual-block delete didn't work properly when deleting the right halve of a - double-wide character. -- Overstrike mode for the cmdline replaced only the first byte of a multibyte - character. -- The cursor in Replace mode (also in the cmdline) was to small on a - double-wide character. -- When a multibyte character contained a 0x80 byte, it didn't work (was using - a CSI byte instead). (Muraoka Taro) -- Wordwise selection with the mouse didn't work. -- Yanking a modeless selection of multi-byte characters didn't work. -- When 'selection' is "exclusive", selecting a word that ends in a multi-byte - character used wrong highlighting for the following character. - -Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse) - -Win32 GUI: When "vimrun.exe" is used to execute an external command, don't -give a message box with the return value, it was already printed by vimrun. -Also avoid printing the return value of the shell when ":silent!" is used. - -Win32: selecting a lot of text and using the "find/replace" dialog caused a -crash. - -X11 GUI: When typing a character with the 8th bit set and the Meta/Alt -modifier, the modifier was removed without changing the character. - -Truncating a message to make it fit on the command line, using "..." for the -middle, didn't always compute the space correctly. - -Could not imap <C-@>. Now it works like <Nul>. - -VMS: -- Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M - characters. (Zoltan Arpadffy and John W. Hamill) -- Added VMS-specific defaults for the 'isfname' and 'isprint' options. - (Zoltan Arpadffy) -- Removed os_vms_osdef.h, it's no longer used. - -The gzip plugin used a ":normal" command, this doesn't work when dropping a -compressed file on Vim. - -In very rare situations a binary search for a tag would fail, because an -uninitialized value happens to be half the size of the tag file. (Narendran) - -When using BufEnter and BufLeave autocommands to enable/disable a menu, it -wasn't updated right away. - -When doing a replace with the "c"onfirm flag, the cursor was positioned after -the ruler, instead of after the question. With a long replacement string the -screen could scroll up and cause a "more" prompt. Now the message is -truncated to make it fit. - -Motif: The autoconf check for the Xp library didn't work. - -When 'verbose' is set to list lines of a sourced file, defining a function -would reset the counter used for the "more" prompt. - -In the Win32 find/replace dialog, a '/' character caused problems. Escape it -with a backslash. - -Starting a shell with ":sh" was different from starting a shell for CTRL-Z -when suspending doesn't work. They now work the same way. - -Jumping to a file mark while in a changed buffer gave a "mark not set" error. - -":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch -all commands that cause too much recursiveness. - -Removed "Failed to open input method" error message, too many people got this -when they didn't want to use a XIM. - -GUI: When compiled without the +windows feature, the scrollbar would start -below line one. - -Removed the trick with redefining character class functions from regexp.c. - -Win32 GUI: Find dialog gives focus back to main window, when typing a -character mouse pointer is blanked, it didn't reappear when moving it in the -dialog window. (Vince Negri) - -When recording and typing a CTRL-C, no character was recorded. When in Insert -mode or cancelling half a command, playing back the recorded sequence wouldn't -work. Now record the CTRL-C. - -When the GUI was started, mouse codes for DEC and netterm were still checked -for. - -GUI: When scrolling and 'writedelay' is non-zero, the character under the -cursor was displayed in the wrong position (one line above/below with -CTRL-E/CTRL-Y). - -A ":normal" command would reset the 'scrollbind' info. Causes problems when -using a ":normal" command in an autocommand for opening a file. - -Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka -Taro) - -When 'scrollbind' wasn't set would still remember the current position, -wasting time. - -GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of -exit() when the child couldn't execute the shell. - -Multi-byte: -- GUI with double-byte encoding: a mouse click in left halve of double-wide - character put the cursor in previous char. -- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey" - included the character after the word. -- When using a double-byte encoding and there is a lead byte at the end of the - line, the preceding line would be displayed. "ga" also showed wrong info. -- "gf" didn't include multi-byte characters before the cursor properly. - (Muraoka Taro) - -GUI: The cursor was sometimes not removed when scrolling. Changed the policy -from redrawing the cursor after each call to gui_write() to only update it at -the end of update_screen() or when setting the cursor position. Also only -update the scrollbars at the end of update_screen(), that's the only place -where the window text may have been scrolled. - -Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now -remove the space before the Tab. -Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next -line. Now keep the space after the Tab. - -In some places non-ASCII alphabetical characters were accepted, which could -cause problems. For example, ":X" (X being such a character). - -When a pattern matches the end of the line, the last character in the line was -highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the -character just after the line. - -Motif: If a dialog was closed by clicking on the "X" of the window frame Vim -would no longer respond. - -When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would -crash. (Matsumoto) - -When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in -Select mode. Insert mode wasn't restarted after overwriting the text. -Now allow nesting Insert mode with insert and change commands. CTRL-O -cwfoo<Esc> now also works. - -Clicking with the right mouse button in another window started Visual mode, -but used the start position of the current window. Caused ml_get errors when -the line number was invalid. Now stay in the same window. - -When 'selection' is "exclusive", "gv" sometimes selected one character fewer. - -When 'comments' contains more than one start/middle/end triplet, the optional -flags could be mixed up. Also didn't align the end with the middle part. - -Double-right-click in Visual mode didn't update the shown mode. - -When the Normal group has a font name, it was never used when starting up. -Now use it when 'guifont' and 'guifontset' are empty. -Setting a font name to a highlight group before the GUI was started didn't -work. - -"make test" didn't use the name of the generated Vim executable. - -'cindent' problems: -- Aligned with an "else" inside a do-while loop for a line below that loop. - (Meikel Brandmeyer) -- A line before a function would be indented even when terminated with a - semicolon. (Meikel Brandmeyer) -- 'cindent' gave too much indent to a line after a "};" that ends an array - init. -- Support declaration lines ending in "," and "\". (Meikel Brandmeyer) -- A case statement inside a do-while loop was used for indenting a line after - the do-while loop. (Meikel Brandmeyer) -- When skipping a string in a line with one double quote it could continue in - the previous line. (Meikel Brandmeyer) - -When 'list' is set, 'hlsearch' didn't highlight a match at the end of the -line. Now highlight the '$'. - -The Paste menu item in the menu bar, the popup menu and the toolbar were all -different. Now made them all equal to how it was done in mswin.vim. - -st_dev can be smaller than "unsigned". The compiler may give an overflow -warning. Added a configure check for dev_t. - -Athena: closing a confirm() dialog killed Vim. - -Various typos in the documentation. (Matt Dunford) - -Python interface: The definition of _DEBUG could cause trouble, undefine it. -The error message for not being able to load the shared library wasn't -translated. (Muraoka Taro) - -Mac: (Dany St-Amant and Axel Kielhorn) -- Several fixes. -- Vim was eating 80% of the CPU time. -- The project os_mac.pbxproj didn't work, Moved it to a subdirectory. -- Made the menu priority work for the menubar. -- Fixed a problem with dragging the scrollbar. -- Cleaned up the various #ifdefs. - -Unix: When catching a deadly signal and we keep getting one use _exit() to -exit in a quick and dirty way. - -Athena menu ordering didn't work correctly. (David Harrison) - -A ":make" or ":grep" command with a long argument could cause a crash. - -Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new -window. - -GTK: When starting the GUI and there is an error in the .vimrc file, don't -present the wait-return prompt, since the message was given in the terminal. - -When there was an error in a .vimrc file the terminal where gvim was started -could be cleared. Set msg_row in main.c before writing any messages. - -GTK and X11 GUI: When trying to read characters from the user (e.g. with -input()) before the Vim window was opened caused Vim to hang when it was -started from the desktop. - -OS/390 uses 31 bit pointers. That broke some computations with MAX_COL. -Reduce MAX_COL by one bit for OS/390. (Ralf Schandl) - -When defining a function and it already exists, Vim didn't say it existed -until after typing it. Now do this right away when typing it. - -The message remembered for displaying later (keep_msg) was sometimes pointing -into a generic buffer, which might be changed by the time the message is -displayed. Now make a copy of the message. - -When using multi-byte characters in a menu and a trailing byte is a backslash, -the menu would not be created correctly. (Muraoka Taro) -Using a multibyte character in the substitute string where a trail byte is a -backslash didn't work. (Muraoka Taro) - -When setting "t_Co" in a vimrc file, then setting it automatically from an -xterm termresponse and then setting it again manually caused a crash. - -When getting the value of a string option that is not supported, the number -zero was returned. This breaks a check like "&enc == "asdf". Now an empty -string is returned for string options. - -Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting -'title' in the gvimrc and starting the GUI with ":gui". Closed the connection -to the X server accidentally. - -Had to hit return after selecting an entry for ":ts". - -The message from ":cn" message was sometimes cleared. Now display it after -redrawing if it doesn't cause a scroll (truncated when necessary). - -hangulin.c didn't compile when the GUI was disabled. Disable it when it won't -work. - -When setting a termcap option like "t_CO", the value could be displayed as -being for a normal key with a modifier, like "<M-=>". - -When expanding the argument list, entries which are a directory name did not -get included. This stopped "vim c:/" from opening the file explorer. - -":syn match sd "^" nextgroup=asdf" skipped the first column and matched the -nextgroup in the second column. - -GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing -the output. - -Don't define the <NetMouse> termcode in an xterm, reduces the problem when -someone types <Esc> } in Insert mode. - -Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro -Matsumoto) -Using a filename in Big5 encoding for autocommands didn't work (backslash in -trailbyte). (Yasuhiro Matsumoto) - -DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like -Unix to avoid problems with Windows dir functions. Merged the DOS and Win32 -functions. - -Win32: Gvimext could not edit more than a few files at once, the length of the -argument was fixed. - -"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to -raw mode when needed. Use dup() to copy the stderr file descriptor to stdin -to make shell commands work. No longer requires an external program to do -this. - -When using ":filetype off", ftplugin and indent usage would be switched off at -the same time. Don't do this, setting 'filetype' manually can still use them. - -GUI: When writing a double-byte character, it could be split up in two calls -to gui_write(), which doesn't work. Now flush before the output buffer -becomes full. - -When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message -would be written over the status line. -The ":intro" command didn't work when there wasn't enough room. - -Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha) - -Athena: When deleting the directory in which Vim was started, using the file -browser made Vim exit. Removed the use of XtAppError(). - -When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef -UNIX" to a separate line. - -Win32: Disabled _OnWindowPosChanging() to make maximize work better. - -Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe) - -Athena: -- Finally fixed the problems with deleting a menu. (David Harrison) -- Athena: When closing the confirm() dialog, worked like OK was pressed, - instead of Cancel. - -The file explorer didn't work in compatible mode, because of line -continuation. - -Didn't give an error message for ":digraph a". - -When using Ex mode in the GUI and typing a special key, <BS> didn't delete it -correctly. Now display '?' for a special key. - -When an operator is pending, clicking in another window made it apply to that -window, even though the line numbers could be beyond the end of the buffer. - -When a function call doesn't have a terminating ")" Vim could crash. - -Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers) - -Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin) - -Using a syntax cluster that includes itself made Vim crash. - -GUI: With 'ls' set to 2, dragging the status line all the way up, then making -the Vim window smaller: Could not the drag status line anymore. - -"vim -c startinsert! file" placed cursor on last char of a line, instead of -after it. A ":set" command in the buffer menu set w_set_curswant. Now don't -do this when w_curswant is MAXCOL. - -Win32: When the gvim window was maximized and selecting another font, the -window would no longer fill the screen. - -The line with 'pastetoggle' in ":options" didn't show the right value when it -is a special key. Hitting <CR> didn't work either. - -Formatting text, resulting in a % landing in the first line, repeated the % in -the following lines, like it's the start of a comment. - -GTK: When adding a toolbar item while gvim is already running, it wasn't -possible to use the tooltip. Now it works by adding the tooltip first. - -The output of "g CTRL-G" mentioned "Char" but it's actually bytes. - -Searching for the end of a oneline region didn't work correctly when there is -an offset for the highlighting. - -Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the -start of a comment. - -Win32: Without scrollbars present, the MS mouse scroll wheel didn't work. -Also handle the scrollbars when they are not visible. - -Motif: When there is no right scrollbar, the bottom scrollbar would still -leave room for it. (Marcin Dalecki) - -When changing 'guicursor' and the value is invalid, some of the effects would -still take place. Now first check for errors and only make the new value -effective when it's OK. - -Using "A" In Visual block mode, appending to lines that don't extend into the -block, padding was wrong. - -When pasting a block of text, a character that occupies more than one screen -column could be deleted and spaces inserted instead. Now only do that with a -tab. - -Fixed conversion of documentation to HTML using Perl. (Dan Sharp) - -Give an error message when a menu name starts with a dot. - -Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem" -even when sys/ptem.h isn't present. - -When creating the temp directory, make sure umask is 077, otherwise the -directory is not accessible when it was set to 0177. - -Unix: When resizing the window and a redraw is a bit slow, could get a window -resize event while redrawing, resulting in a messed up window. Any input -(e.g., a mouse click) would redraw. - -The "%B" item in the status line became zero in Insert mode (that's normal) -for another than the current window. - -The menu entries to convert to xxd and back didn't work in Insert mode. - -When ":vglobal" didn't find a line where the pattern doesn't match, the error -message would be the wrong way around. - -When ignoring a multi-line error message with "%-A", the continuation lines -would be used anyway. (Servatius Brandt) - -"grx" on a double-wide character inserted "x", instead of replacing the -character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace -at all. When doing "gRxx" on a control character the first "x" would be -inserted, breaking the alignment. - -Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place -as where "==" would put it. - -Win32: When maximized, adding/removing toolbar didn't resize the text area. - -When using <C-RightMouse> a count was discarded. - -When typing CTRL-V and <RightMouse> in the command line, would insert -<LeftMouse>. - -Using "vis" or "vas" when 'selection' is exclusive didn't include the last -character. - -When adding to an option like 'grepprg', leading space would be lost. Don't -expand environment variables when there is no comma separating the items. - -GUI: When using a bold-italic font, would still use the bold trick and -underlining. - -Motif: The default button didn't work in dialogs, the first one was always -used. Had to give input focus to the default button. - -When using CTRL-T to jump within the same file, the '' mark wasn't set. - -Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the -whole ":s" command instead of each confirmed replacement. - -The Buffers menu, when torn-off, disappeared when being refreshed. Add a -dummy item to avoid this. - -Removed calling msg_start() in main(), it should not be needed. - -vim_strpbrk() did not support multibyte characters. (Muraoka Taro) - -The Amiga version didn't compile, the code was too big for relative jumps. -Moved a few files from ex_docmd.c to ex_cmds2.c - -When evaluating the "= register resulted in the "= register being changed, Vim -would crash. - -When doing ":view file" and it fails, the current buffer was made read-only. - -Motif: For some people the separators in the toolbar disappeared when resizing -the Vim window. (Marcin Dalecki) - -Win32 GUI: when setting 'lines' to a huge number, would not compute the -available space correctly. Was counting the menu height twice. - -Conversion of the docs to HTML didn't handle the line with the +quickfix tag -correctly. (Antonio Colombo) - -Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro -Matsumoto) - -The Cygwin version had trouble with fchdir(). Don't use that function for -Cygwin. - -The generic check in scripts.vim for "conf" syntax was done before some checks -in filetype.vim, resulting in "conf" syntax too often. - -Dos32: Typing lagged behind. Would wait for one biostick when checking if a -character is available. - -GTK: When setting 'columns' while starting up "gvim", would set the width of -the terminal it was started in. - -When using ESC in Insert mode, an autoindent that wraps to the next line -caused the cursor to move to the end of the line temporarily. When the -character before the cursor was a double-wide multi-byte character the cursor -would be on the right halve, which causes problems with some terminals. - -Didn't handle multi-byte characters correctly when expanding a file name. -(Yasuhiro Matsumoto) - -Win32 GUI: Errors generated before the GUI is decided to start were not -reported. - -globpath() didn't reserve enough room for concatenated results. (Anduin -Withers) - -When expanding an option that is very long already, don't do the expansion, it -would be truncated to MAXPATHL. (Anduin Withers) - -When 'selection' is "exclusive", using "Fx" in Visual mode only moved until -just after the character. - -When using IME on the console to enter a file name, the screen may scroll up. -Redraw the screen then. (Yasuhiro Matsumoto) - -Motif: In the find/replace dialog the "Replace" button didn't work first time, -second time it replaced all matches. Removed the use of ":s///c". -GTK: Similar problems with the find/replace dialog, moved the code to a common -function. - -X11: Use shared GC's for text. (Marcin Dalecki) - -"]i" found the match under the cursor, instead of the first one below it. -Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D". - -Win16: When maximized and the font is changed, don't change the window size. -(Vince Negri) - -When 'lbr' is set, deleting a block of text could leave the cursor in the -wrong position. - -Win32: When opening a file with the "Edit with Vim" popup menu entry, -wildcards would cause trouble. Added the "--literal" argument to avoid -expanding file names. - -When using "gv", it didn't restore that "$" was used in Visual block mode. - -Win32 GUI: While waiting for a shell command to finish, the window wasn't -redrawn at all. (Yasuhiro Matsumoto) - -Syntax highlighting: A match that continues on a next line because of a -contained region didn't end when that region ended. - -The ":s" command didn't allow flags like 'e' and 'i' right after it. - -When using ":s" to split a line, marks were moved to the next line. Vi keeps -them in the first line. - -When using ":n" ":rew", the previous context mark was at the top of the file, -while Vi puts it in the same place as the cursor. Made it Vi compatible. - -Fixed Vi incompatibility: Text was not put in register 1 when using "c" and -"d" with a motion character, when deleting within one line with one of the -commands: % ( ) `<character> / ? N n { } - -Win32 GUI: The tooltip for tear-off items remained when the tear-off item was -no longer selected. - -GUI: When typing ":" at the more prompt, would return to Normal mode and not -redraw the screen. - -When starting Vim with an argument "-c g/at/p" the printed lines would -overwrite each other. - -BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check -removed them. Various changes to os_beos.cc. (Joshua Haberman) -Removed the check for the hardware platform, the BeBox has not been produced -for a long time now. - -Win32 GUI: don't use a message box when the shell returns an error code, -display the message in the Vim window. - -Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't -work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp) - -When a line in the tags file ended in ;" (no TAB following) the command would -not be recognized as a search command. - -X11: The inputMethod resource never worked. Don't use the "none" input method -for SGI, it apparently makes the first character in Input method dropped. - -Fixed incorrect tests in os_mac.h. (Axel Kielhorn) - -Win32 console: When the console where Vim runs in is closed, Vim could hang in -trying to restore the window icon. (Yasuhiro Matsumoto) - -When using ":3call func()" or ":3,3call func() the line number was ignored. - -When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes -continued until the end of the line. - -GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't' -when starting up. - -MS-Windows: When the current directory includes a "~", searching files with -"gf" or ":find" didn't work. A "$" in the directory had the same problem. -Added mch_has_exp_wildcard() functions. - -When reducing the Vim window height while starting up, would get an -out-of-memory error message. - -When editing a very long search pattern, 'incsearch' caused the redraw of the -command line to fail. - -Motif GUI: On some systems the "Help" menu would not be on the far right, as -it should be. On some other systems (esp. IRIX) the command line would not -completely show. Solution is to only resize the menubar for Lesstif. - -Using "%" in a line that contains "\\" twice didn't take care of the quotes -properly. Now make a difference between \" and \\". - -For non-Unix systems a dummy file is created when finding a swap name to -detect a 8.3 filesystem. When there is an existing swap file, would get a -warning for the file being created outside of Vim. Also, when closing the Vim -window the file would remain. - -Motif: The menu height was always computed, using a "-menuheight" argument -was setting the room for the command line. Now make clear the argument is not -supported. - -For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to -avoid a duplicate case in a switch. - -The GUI may have problems when forking. Always call _exit() instead of exit() -in the parent, the child will call exit(). - -Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus. -Now use CP_ACP instead of CP_OEMCP. (Vince Negri) - -When displaying text with syntax highlighting causes an error (e.g., running -out of stack) the syntax highlighting is disabled to avoid further messages. - -When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was -started from the desktop (no place to display messages) it would hang. Now -open the GUI window early to be able to display the messages and pop up the -dialog. - -"r<CR>" on a multi-byte character deleted only the first byte of the -character. "3r<CR>" deleted three bytes instead of three characters. - -When interrupting reading a file, Vi considers the buffer modified. Added the -'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to -do ":q"). - -When using an item in 'guicursor' that starts with a colon, Vim would get -stuck or crash. - -When putting a file mark in a help file and later jumping back to it, the -options would not be set. Extended the modeline in all help files to make -this work better. - -When a modeline contained "::" the local option values would be printed. Now -ignore it. - -Some help files did not use a 8.3 names, which causes problems when using -MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to -"rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to -"os_risc.txt". - -When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That -doesn't seem right, only do this when in linewise mode. But then do it -always, not only when start and end of Visual mode are equal. - -When using "viw" on a single-letter word and 'selection' is exclusive, would -not include the word. - -When formatting text from Insert mode, using CTRL-O, could mess up undo -information. - -While writing a file (also for the backup file) there was no check for an -interrupt (hitting CTRL-C). Vim could hang when writing a large file over a -slow network, and moving the mouse didn't make it appear (when 'mousehide' is -set) and the screen wasn't updated in the GUI. Also allow interrupting when -syncing the swap file, it can take a long time. - -When using ":mksession" while there is help window, it would later be restored -to the right file but not marked as a help buffer. ":help" would then open -another window. Now use the value "help" for 'buftype' to mark a help buffer. - -The session file contained absolute path names in option values, that doesn't -work when the home directory depends on the situation. Replace the home -directory with ~/ when possible. - -When using 'showbreak' a TAB just after the shown break would not be counted -correctly, the cursor would be positioned wrong. - -With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting -tabs did not work right. Could cause a crash. Backspacing was also wrong, -could get stuck at a line break. - -Win32: crashed when tearing off a menu with over 300 items. - -GUI: A menu or toolbar item would appear when only a tooltip was defined for -it. - -When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the -last line of the file is the first line on screen, the text wasn't displayed. - -When running "autoconf", delete the configure cache to force starting cleanly -when configure is run again. - -When changing the Normal colors for cterm, the value of 'background' was -changed even when the GUI was used. - -The warning for a missing vimrun.exe was always given on startup, but some -people just editing a file don't need to be bothered by it. Only show it when -vimrun would be used. - -When using "%" in a multibyte text it could get confused by trailbytes that -match. (Muraoka Taro) - -Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes. - -Athena: The title of a dialog window and the file selector window were not -set. (David Harrison) - -The "htmlLink" highlight group specified colors, which gives problems when -using a color scheme. Added the "Underlined" highlight group for this. - -After using ":insert" or ":change" the '[ mark would be one line too low. - -When looking for the file name after a match with 'include' one character was -skipped. Same for 'define'. - -Win32 and DJGPP: When editing a file with a short name in a directory, and -editing the same file but using the long name, would end up with two buffers -on the same file. - -"gf" on a filename that starts with "../" only worked when the file being -edited is in the current directory. An include file search didn't work -properly for files starting with "../" or ".". Now search both relative to -the file and to the current directory. - -When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline' -contained "%{" but no following "}" memory was corrupted and a crash could -happen. - -":0append" and then inserting two lines did not redraw the blank lines that -were scrolled back down. - -When using insert mode completion in a narrow window, the message caused a -scroll up. Now shorten the message if it doesn't fit and avoid writing the -ruler over the message. - -XIM still didn't work correctly on some systems, especially SGI/IRIX. Added -the 'imdisable' option, which is set by default for that system. - -Patch 6.0aw.008 -Problem: When the first character of a file name is over 127, the Buffers - menu entry would get a negative priority and cause problems. -Solution: Reduce the multiplier for the first character when computing - the hash value for a Buffers menu entry. -Files: runtime/menu.vim - -Patch 6.0aw.010 -Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas) -Solution: Change slashes to backslashes in the directory passed to the file - browser. -Files: src/gui_w48.c - -Athena file browser: On some systems wcstombs() can't be used to get the -length of a multi-byte string. Use the maximum length then. (Yasuhiro -Matsumoto) - -Patch 6.0ax.001 -Problem: When 'patchmode' is set, appending to a file gives an empty - original file. (Ed Ralston) -Solution: Also make a backup copy when appending and 'patchmode' is set. -Files: src/fileio.c - -Patch 6.0ax.002 -Problem: When 'patchmode' is set, appending to a compressed file gives an - uncompressed original file. (Ed Ralston) -Solution: Create the original file before decompressing. -Files: runtime/plugin/gzip.vim - -Patch 6.0ax.005 -Problem: Athena file selector keeps the title of the first invocation. -Solution: Set the title each time the file selector is opened. (David - Harrison) -Files: src/gui_at_fs.c - -Patch 6.0ax.007 -Problem: When using GPM (mouse driver in a Linux console) a double click is - interpreted as a scroll wheel click. -Solution: Check if GPM is being used when deciding if a mouse event is for - the scroll wheel. -Files: src/term.c - -Patch 6.0ax.010 -Problem: The Edit.Save menu and the Save toolbar button didn't work when - the buffer has no file name. -Solution: Use a file browser to ask for a file name. Also fix the toolbar - Find item in Visual mode. -Files: runtime/menu.vim - -Patch 6.0ax.012 -Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth' - doesn't redraw properly. (Stefan Schulze) -Solution: Remove the dollar before breaking the line. -Files: src/edit.c - -Patch 6.0ax.014 -Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is - "command.com" and 'makeprg' is "nmake". The environment isn't - passed on to "nmake". -Solution: Also use vimrun.exe when redirecting the output of a command. -Files: src/os_win32.c - -Patch 6.0ax.016 -Problem: The version number was reported wrong in the intro screen. -Solution: Check for a version number with two additional letters. -Files: src/version.c - -Patch 6.0ax.019 -Problem: When scrolling a window with folds upwards, switching to another - vertically split window and back may not update the scrollbar. -Solution: Limit w_botline to the number of lines in the buffer plus one. -Files: src/move.c - - -============================================================================== -VERSION 6.1 *version-6.1* - -This section is about improvements made between version 6.0 and 6.1. - -This is a bug-fix release, there are not really any new features. - - -Changed *changed-6.1* -------- - -'iminsert' and 'imsearch' are no longer set as a side effect of defining a -language-mapping using ":lmap". - - -Added *added-6.1* ------ - -Syntax files: -ampl AMPL (David Krief) -ant Ant (Johannes Zellner) -baan Baan (Her van de Vliert) -cs C# (Johannes Zellner) -lifelines Lifelines (Patrick Texier) -lscript LotusScript (Taryn East) -moo MOO (Timo Frenay) -nsis NSIS (Alex Jakushev) -ppd Postscript Printer Description (Bjoern Jacke) -rpl RPL/2 (Joel Bertrand) -scilab Scilab (Benoit Hamelin) -splint Splint (Ralf Wildenhues) -sqlj SQLJ (Andreas Fischbach) -wvdial WvDial (Prahlad Vaidyanathan) -xf86conf XFree86 config (Nikolai Weibull) -xmodmap Xmodmap (Nikolai Weibull) -xslt Xslt (Johannes Zellner) -monk Monk (Mike Litherland) -xsd Xsd (Johannes Zellner) -cdl CDL (Raul Segura Acevedo) -sendpr Send-pr (Hendrik Scholz) - -Added indent file for Scheme. (Dorai Sitaram) -Added indent file for Prolog. (Kontra Gergely) -Added indent file for Povray (David Necas) -Added indent file for IDL (Aleksandar Jelenak) -Added C# indent and ftplugin scripts. - -Added Ukrainian menu translations. (Bohdan Vlasyuk) -Added ASCII version of the Czech menus. (Jiri Brezina) - -Added Simplified Chinese translation of the tutor. (Mendel L Chan) - -Added Russian keymap for yawerty keyboard. - -Added an explanation of using the vimrc file in the tutor. -Changed tutor.vim to get the right encoding for the Taiwainese tutor. - -Added Russian tutor. (Andrey Kiselev) -Added Polish tutor. (Mikolaj Machowski) - -Added darkblue color scheme. (Bohdan Vlasyuk) - -When packing the dos language archive automatically generate the .mo files -that are required. - -Improved NSIS script to support NSIS 180. Added icons for the -enabled/disabled status. (Mirek Pruchnik) - -cp1250 version of the Slovak message translations. - -Compiler plugins for IRIX compilers. (David Harrison) - - -Fixed *fixed-6.1* ------ - -The license text was updated to make the meaning clearer and make it -compatible with the GNU GPL. Otherwise distributors have a problem when -linking Vim with a GPL'ed library. - -When installing the "less.sh" script it was not made executable. (Chuck Berg) - -Win32: The "9" key on the numpad wasn't working. (Julian Kinraid) - -The NSIS install script didn't work with NSIS 1.80 or later. Also add -Vim-specific icons. (Pruchnik) - -The script for conversion to HTML contained an "if" in the wrong place. -(Michael Geddes) - -Allow using ":ascii" in the sandbox, it's harmless. - -Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when -it's redefined to creat64(). - -The text files in the VisVim directory were in "dos" format. This caused -problems when applying a patch. Now keep them in "unix" format and convert -them to "dos" format only for the PC archives. - -Add ruby files to the dos source archive, they can be used by Make_mvc.mak. -(Mirek Pruchnik) - -"cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm --f" and "cp". - -Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger) - -The GTK file selection dialog didn't include the "Create Dir", "Delete File" -and "Rename File" buttons. - -When doing ":browse source" the dialog has the title "Run Macro". Better -would be "Source Vim script". (Yegappan Lakshmanan) - -Win32: Don't use the printer font as default for the font dialog. - -"make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to -"yes". (Mirek Pruchnik) - -The ToolBar TagJump item used "g]", which prompts for a selection even when -there is only one matching tag. Use "g<C-]>" instead. - -The ming makefile for message translations didn't have the right list of -files. - -The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile -this version without message translations. - -The Borland 5 makefile contained a check for Ruby which is no longer needed. -The URLs for the TCL library was outdated. (Dan Sharp) - -The eviso.ps file was missing from the DOS runtime archive, it's needed for -printing PostScript in the 32bit DOS version. - -In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032 -Now use ":scriptencoding" in the file where the translations are given. Do -the same for all menus in latin1 encoding. - -Included a lot of fixes for the Macintosh, mostly to make it work with Carbon. -(Dany StAmant, Axel Kielhorn, Benji Fisher) - -Improved the vimtutor shell script to use $TMPDIR when it exists, and delete -the copied file when exiting in an abnormal way. (Max Ischenko) - -When "iconv.dll" can't be found, try using "libiconv.dll". - -When encryption is used, filtering with a shell command wasn't possible. - -DJGPP: ":cd c:" always failed, can't get permissions for "c:". -Win32: ":cd c:/" failed if the previous current directory on c: had become -invalid. - -DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is -wrong. Disabled it. - -Dependencies on header files in MingW makefile was wrong. - -Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe) - -Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a -different argument to make didn't regenerate it. - -Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different -directory, the if_ole.h in the src directory may be used instead. Delete the -distributed file. - -When a window is vertically split and then ":ball" is used, the window layout -is messed up, can cause a crash. (Muraoka Taro) - -When 'insertmode' is set, using File/New menu and then double clicking, "i" is -soon inserted. (Merlin Hansen) - -When Select mode is active and using the Buffers menu to switch to another -buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer" -command. - -When Select mode is active and 'insertmode' is set, using the Buffers menu to -switch to another buffer, did not return to Insert mode. Make sure -"restart_edit" is set. - -When double clicking on the first character of a word while 'selection' is -"exclusive" didn't select that word. - - -Patch 6.0.001 -Problem: Loading the sh.vim syntax file causes error messages. (Corinna - Vinschen) -Solution: Add an "if". (Charles Campbell) -Files: runtime/syntax/sh.vim - -Patch 6.0.002 -Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert) -Solution: Add '@' to the list of accepted items. -Files: src/option.c - -Patch 6.0.003 -Problem: The configure check for ACLs on AIX doesn't work. -Solution: Fix the test program so that it compiles. (Tomas Ogren) -Files: src/configure.in, src/auto/configure - -Patch 6.0.004 -Problem: The find/replace dialog doesn't reuse a previous argument - properly. -Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo) -Files: src/gui.c - -Patch 6.0.005 -Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing. -Solution: Don't delay just after wait_return() was called. Added the - did_wait_return flag. -Files: src/globals.h, src/message.c, src/normal.c, src/screen.c - -Patch 6.0.006 -Problem: With a vertical split, 'number' set and 'scrolloff' non-zero, - making the window width very small causes a crash. (Niklas - Lindstrom) -Solution: Check for a zero width. -Files: src/move.c - -Patch 6.0.007 -Problem: When setting 'filetype' while there is no FileType autocommand, a - following ":setfiletype" would set 'filetype' again. (Kobus - Retief) -Solution: Set did_filetype always when 'filetype' has been set. -Files: src/option.c - -Patch 6.0.008 -Problem: 'imdisable' is missing from the options window. (Michael Naumann) -Solution: Add an entry for it. -Files: runtime/optwin.vim - -Patch 6.0.009 -Problem: Nextstep doesn't have S_ISBLK. (John Beppu) -Solution: Define S_ISBLK using S_IFBLK. -Files: src/os_unix.h - -Patch 6.0.010 -Problem: Using "gf" on a file name starting with "./" or "../" in a buffer - without a name causes a crash. (Roy Lewis) -Solution: Check for a NULL file name. -Files: src/misc2.c - -Patch 6.0.011 -Problem: Python: After replacing or deleting lines get an ml_get error. - (Leo Lipelis) -Solution: Adjust the cursor position for deleted or added lines. -Files: src/if_python.c - -Patch 6.0.012 -Problem: Polish translations contain printf format errors, this can result - in a crash when using one of them. -Solution: Fix for translated messages. (Michal Politowski) -Files: src/po/pl.po - -Patch 6.0.013 -Problem: Using ":silent! cmd" still gives some error messages, like for an - invalid range. (Salman Halim) -Solution: Reset emsg_silent after calling emsg() in do_one_cmd(). -Files: src/ex_docmd.c - -Patch 6.0.014 -Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB - still changes the buffer. (Muraoka Taro) -Solution: Check if saving the line for undo fails. -Files: src/normal.c - -Patch 6.0.015 -Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been - used, can get an error for deleting the b:did_ftplugin variable. - (Ralph Henderson) -Solution: Only delete the variable when it exists. -Files: runtime/ftplugin.vim - -Patch 6.0.016 -Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when - the argument is a string. (Hari Krishna Dara) - Also for setbufvar() and getbufvar(). -Solution: Also find unlisted buffers. -Files: src/eval.c - -Patch 6.0.017 -Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co - and the external one doesn't, it gets reset to empty. (David - Harrison) -Solution: Only set t_Co when it wasn't set yet. -Files: src/term.c - -Patch 6.0.018 -Problem: Initializing 'encoding' may cause a crash when setlocale() is not - used. (Dany St-Amant) -Solution: Check for a NULL pointer. -Files: src/mbyte.c - -Patch 6.0.019 -Problem: Converting a string with multi-byte characters to a printable - string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) -Solution: Correctly compute the length of the result in transstr(). -Files: src/charset.c - -Patch 6.0.020 -Problem: When obtaining the value of a global variable internally, could - get the function-local value instead. Applies to using <Leader> - and <LocalLeader> and resetting highlighting in a function. -Solution: Prepend "g:" to the variable name. (Aric Blumer) -Files: src/syntax.c, src/term.c - -Patch 6.0.021 -Problem: The 'cscopepathcomp' option didn't work. -Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng) -Files: src/option.c - -Patch 6.0.022 -Problem: When using the 'langmap' option, the second character of a command - starting with "g" isn't adjusted. -Solution: Apply 'langmap' to the second character. (Alex Kapranoff) -Files: src/normal.c - -Patch 6.0.023 -Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen) -Solution: Use ":runtime" instead of "source" to load haskell.vim. -Files: runtime/syntax/lhaskell.vim - -Patch 6.0.024 -Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah - Levitt) -Solution: Don't insert a NUL byte in the text, use a newline. -Files: src/misc1.c - -Patch 6.0.025 -Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line. - (Preben Peppe Guldberg) -Solution: Always see a "$" as end-of-line after "\v". Do the same for "^". -Files: src/regexp.c - -Patch 6.0.026 -Problem: GTK: When using arrow keys to navigate through the menus, the - separators are selected. -Solution: Set the separators "insensitive". (Pavel Kankovsky) -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 6.0.027 -Problem: VMS: Printing doesn't work, the file is deleted too quickly. - No longer need the VMS specific printing menu. - gethostname() is not available with VAXC. - The makefile was lacking selection of the tiny-huge feature set. -Solution: Adjust the 'printexpr' option default. Fix the other problems and - update the documentation. (Zoltan Arpadffy) -Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt, - src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h - -Patch 6.0.028 -Problem: Can't compile without +virtualedit and with +visualextra. (Geza - Lakner) -Solution: Add an #ifdef for +virtualedit. -Files: src/ops.c - -Patch 6.0.029 -Problem: When making a change in line 1, then in line 2 and then deleting - line 1, undo info could be wrong. Only when the changes are undone - at once. (Gerhard Hochholzer) -Solution: When not saving a line for undo because it was already done - before, remember for which entry the last line must be computed. - Added ue_getbot_entry pointer for this. When the number of lines - changes, adjust the position of newer undo entries. -Files: src/structs.h, src/undo.c - -Patch 6.0.030 -Problem: Using ":source! file" doesn't work inside a loop or after - ":argdo". (Pavol Juhas) -Solution: Execute the commands in the file right away, do not let the main - loop do it. -Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h, - src/proto/ex_docmd.pro, src/proto/getchar.pro - -Patch 6.0.031 -Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu) -Solution: Move putenv() from pty.c to misc2.c -Files: src/misc2.c, src/pty.c - -Patch 6.0.032 -Problem: When changing a setting that affects all folds, they are not - displayed immediately. -Solution: Set the redraw flag in foldUpdateAll(). -Files: src/fold.c - -Patch 6.0.033 -Problem: Using 'wildmenu' on MS-Windows, file names that include a space - are only displayed starting with that space. (Xie Yuheng) -Solution: Don't recognize a backslash before a space as a path separator. -Files: src/screen.c - -Patch 6.0.034 -Problem: Calling searchpair() with three arguments could result in a crash - or strange error message. (Kalle Bjorklid) -Solution: Don't use the fifth argument when there is no fourth argument. -Files: src/eval.c - -Patch 6.0.035 -Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work - when 'ignorecase' is set. (Allen Castaban) -Solution: Always match case when checking if a flag is already present in - 'guioptions'. -Files: runtime/menu.vim - -Patch 6.0.036 -Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a - slash in 'tags' doesn't work as expected. (Mathias Koehrer) -Solution: Only use the drive, not the whole path to the current directory. - Also make it work for "c:dir/file". -Files: src/misc2.c - -Patch 6.0.037 -Problem: When the user has set "did_install_syntax_menu" to avoid the - default Syntax menu it still appears. (Virgilio) -Solution: Don't add the three default items when "did_install_syntax_menu" - is set. -Files: runtime/menu.vim - -Patch 6.0.038 -Problem: When 'selection' is "exclusive", deleting a block of text at the - end of a line can leave the cursor beyond the end of the line. -Solution: Correct the cursor position. -Files: src/ops.c - -Patch 6.0.039 -Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is - used. Using "c" in blockwise Visual mode leaves the cursor in a - strange position. -Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave - the cursor on the last inserted character. -Files: src/ops.c - -Patch 6.0.040 -Problem: When 'fileencoding' is invalid and writing fails because of - this, the original file is gone. (Eric Carlier) -Solution: Restore the original file from the backup. -Files: src/fileio.c - -Patch 6.0.041 -Problem: Using ":language messages en" when LC_MESSAGES is undefined - results in setting LC_CTYPE. (Eric Carlier) -Solution: Set $LC_MESSAGES instead. -Files: src/ex_cmds2.c - -Patch 6.0.042 -Problem: ":mksession" can't handle file names with a space. -Solution: Escape special characters in file names with a backslash. -Files: src/ex_docmd.c - -Patch 6.0.043 -Problem: Patch 6.0.041 was wrong. -Solution: Use mch_getenv() instead of vim_getenv(). -Files: src/ex_cmds2.c - -Patch 6.0.044 -Problem: Using a "containedin" list for a syntax item doesn't work for an - item that doesn't have a "contains" argument. Also, "containedin" - doesn't ignore a transparent item. (Timo Frenay) -Solution: When there is a "containedin" argument somewhere, always check for - contained items. Don't check for the transparent item but the - item it's contained in. -Files: src/structs.h, src/syntax.c - -Patch 6.0.045 -Problem: After creating a fold with a Visual selection, another window - with the same buffer still has inverted text. (Sami Salonen) -Solution: Redraw the inverted text. -Files: src/normal.c - -Patch 6.0.046 -Problem: When getrlimit() returns an 8 byte number the check for running - out of stack may fail. (Anthony Meijer) -Solution: Skip the stack check if the limit doesn't fit in a long. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/os_unix.c - -Patch 6.0.047 -Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash. - (Samuel Lacas) -Solution: Don't allow nested atoms inside "\%[]". -Files: src/regexp.c - -Patch 6.0.048 -Problem: Win32: In the console the mouse doesn't always work correctly. - Sometimes after getting focus a mouse movement is interpreted like - a button click. -Solution: Use a different function to obtain the number of mouse buttons. - Avoid recognizing a button press from undefined bits. (Vince Negri) -Files: src/os_win32.c - -Patch 6.0.049 -Problem: When using evim the intro screen is misleading. (Adrian Nagle) -Solution: Mention whether 'insertmode' is set and the menus to be used. -Files: runtime/menu.vim, src/version.c - -Patch 6.0.050 -Problem: UTF-8: "viw" doesn't include non-ASCII characters before the - cursor. (Bertilo Wennergren) -Solution: Use dec_cursor() instead of decrementing the column number. -Files: src/search.c - -Patch 6.0.051 -Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing - characters. (Ron Aaron) -Solution: Also include the composing characters and fix redrawing them. -Files: src/ex_getln.c, src/ops.c - -Patch 6.0.052 -Problem: The check for rlim_t in patch 6.0.046 does not work on some - systems. (Zdenek Sekera) -Solution: Also look in sys/resource.h for rlim_t. -Files: src/auto/configure, src/configure.in - -Patch 6.0.053 (extra) -Problem: Various problems with QNX. -Solution: Minor fix for configure. Switch on terminal clipboard support in - main.c. Fix "pterm" mouse support. os_qnx.c didn't build without - photon. (Julian Kinraid) -Files: src/auto/configure, src/configure.in, src/gui_photon.c, - src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h, - src/syntax.c - -Patch 6.0.054 -Problem: When using mswin.vim, CTRL-V pastes a block of text like it is - normal text. Using CTRL-V in blockwise Visual mode leaves "x" - characters behind. -Solution: Make CTRL-V work as it should. Do the same for the Paste menu - entries. -Files: runtime/menu.vim, runtime/mswin.vim - -Patch 6.0.055 -Problem: GTK: The selection isn't copied the first time. -Solution: Own the selection at the right moment. -Files: src/gui_gtk_x11.c - -Patch 6.0.056 -Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode. - <Esc> doesn't leave Insert mode then. -Solution: Only use nested Insert mode when 'insertmode' is set or when a - mapping is used. -Files: src/normal.c - -Patch 6.0.057 -Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway) -Solution: Execute the command directly, instead of putting it in the - typeahead buffer. -Files: src/normal.c, src/proto/normal.pro, src/window.c - -Patch 6.0.058 -Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't - updated. (Bohdan Vlasyuk) -Solution: Update the ruler after executing the autocommands. -Files: src/gui.c - -Patch 6.0.059 -Problem: Highlighting for 'hlsearch' isn't visible in lines that are - highlighted for diff highlighting. (Gary Holloway) -Solution: Let 'hlsearch' highlighting overrule diff highlighting. -Files: src/screen.c - -Patch 6.0.060 -Problem: Motif: When the tooltip is to be popped up, Vim crashes. - (Gary Holloway) -Solution: Check for a NULL return value from gui_motif_fontset2fontlist(). -Files: src/gui_beval.c - -Patch 6.0.061 -Problem: The toolbar buttons to load and save a session do not correctly - use v:this_session. -Solution: Check for v:this_session to be empty instead of existing. -Files: runtime/menu.vim - -Patch 6.0.062 -Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan - Lakshmanan) -Solution: Avoid giving a NULL pointer to printf(). Also output a newline - and switch the cursor on. -Files: src/misc2.c - -Patch 6.0.063 -Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of - the "$" doesn't update syntax highlighting after it. -Solution: Stop displaying the "$" when typing a ')' in its position. -Files: src/search.c - -Patch 6.0.064 (extra) -Problem: The NSIS install script doesn't work with newer versions of NSIS. - The diff feature doesn't work when there isn't a good diff.exe on - the system. -Solution: Replace the GetParentDir instruction by a user function. - Fix a few cosmetic problems. Use defined constants for the - version number, so that it's defined in one place only. - Only accept the install directory when it ends in "vim". - (Eduardo Fernandez) - Add a diff.exe and use it from the default _vimrc. -Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c - -Patch 6.0.065 -Problem: When using ":normal" in 'indentexpr' it may use redo characters - before its argument. (Neil Bird) -Solution: Save and restore the stuff buffer in ex_normal(). -Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h - -Patch 6.0.066 -Problem: Sometimes undo for one command is split into two undo actions. - (Halim Salman) -Solution: Don't set the undo-synced flag when reusing a line that was - already saved for undo. -Files: src/undo.c - -Patch 6.0.067 -Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined - in the usual header file (e.g., AIX). (Mark Waggoner) -Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it. -Files: src/if_xcmdsrv.c - -Patch 6.0.068 -Problem: When formatting a Visually selected area with "gq" and the number - of lines increases the last line may not be redrawn correctly. - (Yegappan Lakshmanan) -Solution: Correct the area to be redrawn for inserted/deleted lines. -Files: src/ops.c - -Patch 6.0.069 -Problem: Using "K" on a word that includes a "!" causes a "No previous - command" error, because the "!" is expanded. (Craig Jeffries) -Solution: Put a backslash before the "!". -Files: src/normal.c - -Patch 6.0.070 -Problem: Win32: The error message for a failed dynamic linking of a Perl, - Ruby, Tcl and Python library is unclear about what went wrong. -Solution: Give the name of the library or function that could not be loaded. - Also for the iconv and gettext libraries when 'verbose' is set. -Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, - src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro, - src/proto/if_python.pro, src/proto/if_ruby.pro, - src/proto/if_tcl.pro, src/proto/mbyte.pro - -Patch 6.0.071 -Problem: The "iris-ansi" builtin termcap isn't very good. -Solution: Fix the wrong entries. (David Harrison) -Files: src/term.c - -Patch 6.0.072 -Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves - the cursor and starts Visual mode again causes a redraw problem. - (Brian Silverman) -Solution: Redraw both the old and the new Visual area when necessary. -Files: src/normal.c, src/screen.c - -Patch 6.0.073 (extra) -Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway - the text. (Volker Kiefel) -Solution: Position the system cursor before starting the shell. -Files: src/os_msdos.c - -Patch 6.0.074 -Problem: When using "&" in a substitute string a multi-byte character with - a trailbyte 0x5c is not handled correctly. -Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro) -Files: src/regexp.c - -Patch 6.0.075 -Problem: When closing a horizontally split window while 'eadirection' is - "hor" another horizontally split window is still resized. (Aron - Griffis) -Solution: Only resize windows in the same top frame as the window that is - split or closed. -Files: src/main.c, src/proto/window.pro, src/window.c - -Patch 6.0.076 -Problem: Warning for wrong pointer type when compiling. -Solution: Use char instead of char_u pointer. -Files: src/version.c - -Patch 6.0.077 -Problem: Patch 6.0.075 was incomplete. -Solution: Fix another call to win_equal(). -Files: src/option.c - -Patch 6.0.078 -Problem: Using "daw" at the end of a line on a single-character word didn't - include the white space before it. At the end of the file it - didn't work at all. (Gavin Sinclair) -Solution: Include the white space before the word. -Files: src/search.c - -Patch 6.0.079 -Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can - still overwrite a read-only file, because it's renamed. (Gary - Holloway) -Solution: Add a check for a read-only file before renaming the file to - become the backup. -Files: src/fileio.c - -Patch 6.0.080 -Problem: When using a session file that has the same file in two windows, - the fileinfo() call in do_ecmd() causes a scroll and a hit-enter - prompt. (Robert Webb) -Solution: Don't scroll this message when 'shortmess' contains 'O'. -Files: src/ex_cmds.c - -Patch 6.0.081 -Problem: After using ":saveas" the new buffer name is added to the Buffers - menu with a wrong number. (Chauk-Mean Proum) -Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer - and BufAdd for the old name (which is with a new buffer). -Files: src/ex_cmds.c - -Patch 6.0.082 -Problem: When swapping screens in an xterm and there is an (error) message - from the vimrc script, the shell prompt is after the message. -Solution: Output a newline when there was output on the alternate screen. - Also when starting the GUI. -Files: src/main.c - -Patch 6.0.083 -Problem: GTK: When compiled without menu support the buttons in a dialog - don't have any text. (Erik Edelmann) -Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define - GTK_USE_ACCEL also when not using menus. -Files: src/gui_gtk.c - -Patch 6.0.084 -Problem: UTF-8: a "r" command with an argument that is a keymap for a - character with a composing character can't be repeated with ".". - (Raphael Finkel) -Solution: Add the composing characters to the redo buffer. -Files: src/normal.c - -Patch 6.0.085 -Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then - moving the mouse pointer to another window stops Insert mode, - while this doesn't happen with "a" or "i". (Robert Webb) -Solution: Reset finish_op before calling edit(). -Files: src/normal.c - -Patch 6.0.086 -Problem: When using "gu" the message says "~ed". -Solution: Make the message say "changed". -Files: src/ops.c - -Patch 6.0.087 (lang) -Problem: Message translations are incorrect, which may cause a crash. - (Peter Figura) - The Turkish translations needed more work and the maintainer - didn't have time. -Solution: Fix order of printf arguments. Remove %2$d constructs. - Add "-v" to msgfmt to get a warning for wrong translations. - Don't install the Turkish translations for now. - Update a few more translations. -Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po, - src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po, - src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po, - src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po, - src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po - -Patch 6.0.088 -Problem: "." doesn't work after using "rx" in Visual mode. (Charles - Campbell) -Solution: Also store the replacement character in the redo buffer. -Files: src/normal.c - -Patch 6.0.089 -Problem: In a C file, using "==" to align a line starting with "* " after - a line with "* -" indents one space too few. (Piet Delport) -Solution: Align with the previous line if the comment-start-string matches - there. -Files: src/misc1.c - -Patch 6.0.090 -Problem: When a wrapping line does not fit in a window and 'scrolloff' is - bigger than half the window height, moving the cursor left or - right causes the screen to flash badly. (Lubomir Host) -Solution: When there is not enough room to show 'scrolloff' screen lines and - near the end of the line, show the end of the line. -Files: src/move.c - -Patch 6.0.091 -Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the - cursor is after the end-of-line, moves the cursor left. (Yegappan - Lakshmanan) -Solution: Keep the cursor in the same position. -Files: src/edit.c - -Patch 6.0.092 -Problem: The explorer plugin doesn't ignore case of 'suffixes' on - MS-Windows. (Mike Williams) -Solution: Match or ignore case as appropriate for the OS. -Files: runtime/plugin/explorer.vim - -Patch 6.0.093 -Problem: When the Tcl library couldn't be loaded dynamically, get an error - message when closing a buffer or window. (Muraoka Taro) -Solution: Only free structures if already using the Tcl interpreter. -Files: src/if_tcl.c - -Patch 6.0.094 -Problem: Athena: When clicking in the horizontal scrollbar Vim crashes. - (Paul Ackersviller) -Solution: Use the thumb size instead of the window pointer of the scrollbar - (which is NULL). (David Harrison) - Also avoid that scrolling goes the wrong way in a narrow window. -Files: src/gui_athena.c - -Patch 6.0.095 -Problem: Perl: Deleting lines may leave the cursor beyond the end of the - file. -Solution: Check the cursor position after deleting a line. (Serguei) -Files: src/if_perl.xs - -Patch 6.0.096 -Problem: When ":saveas fname" fails because the file already exists, the - file name is changed anyway and a following ":w" will overwrite - the file. (Eric Carlier) -Solution: Don't change the file name if the file already exists. -Files: src/ex_cmds.c - -Patch 6.0.097 -Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a - multi-byte encoding. -Solution: Avoid using a character before the start of a line. (Sergey - Vlasov) -Files: src/edit.c - -Patch 6.0.098 -Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog - boxes are not translated. -Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez) -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 6.0.099 -Problem: Cygwin: When running Vi compatible MS-DOS line endings cause - trouble. -Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible - mode. (Michael Schaap) -Files: src/option.h - -Patch 6.0.100 -Problem: ":badd +0 test%file" causes a crash. -Solution: Take into account that the "+0" is NUL terminated when allocating - room for replacing the "%". -Files: src/ex_docmd.c - -Patch 6.0.101 -Problem: ":mksession" doesn't restore editing a file that has a '#' or '%' - in its name. (Wolfgang Blankenburg) -Solution: Put a backslash before the '#' and '%'. -Files: src/ex_docmd.c - -Patch 6.0.102 -Problem: When changing folds the cursor may appear halfway a closed fold. - (Nam SungHyun) -Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto) -Files: src/move.c - -Patch 6.0.103 -Problem: When using 'scrollbind' a large value of 'scrolloff' will make the - scroll binding stop near the end of the file. (Coen Engelbarts) -Solution: Don't use 'scrolloff' when limiting the topline for scroll - binding. (Dany StAmant) -Files: src/normal.c - -Patch 6.0.104 -Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide - character that overwrites the left halve of an old double-wide - character causes a redraw problem and the cursor stops blinking. -Solution: Clear the right half of the old character. (Yasuhiro Matsumoto) -Files: src/edit.c, src/screen.c - -Patch 6.0.105 -Problem: Multi-byte: In a window of one column wide, with syntax - highlighting enabled a crash might happen. -Solution: Skip getting the syntax attribute when the character doesn't fit - anyway. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.0.106 (extra) -Problem: Win32: When the printer font is wrong, there is no error message. -Solution: Give an appropriate error message. (Yasuhiro Matsumoto) -Files: src/os_mswin.c - -Patch 6.0.107 (extra) -Problem: VisVim: When editing another file, a modified file may be written - unexpectedly and without warning. -Solution: Split the window if a file was modified. -Files: VisVim/Commands.cpp - -Patch 6.0.108 -Problem: When using folding could try displaying line zero, resulting in an - error for a NULL pointer. -Solution: Stop decrementing w_topline when the first line of a window is in - a closed fold. -Files: src/window.c - -Patch 6.0.109 -Problem: XIM: When the input method is enabled, repeating an insertion with - "." disables it. (Marcel Svitalsky) -Solution: Don't store the input method status when a command comes from the - stuff buffer. -Files: src/ui.c - -Patch 6.0.110 -Problem: Using undo after executing "OxjAxkdd" from a register in - an empty buffer gives an error message. (Gerhard Hochholzer) -Solution: Don't adjust the bottom line number of an undo block when it's - zero. Add a test for this problem. -Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok - -Patch 6.0.111 -Problem: The virtcol() function doesn't take care of 'virtualedit'. -Solution: Add the column offset when needed. (Yegappan Lakshmanan) -Files: src/eval.c - -Patch 6.0.112 -Problem: The explorer plugin doesn't sort directories with a space or - special character after a directory with a shorter name. -Solution: Ignore the trailing slash when comparing directory names. (Mike - Williams) -Files: runtime/plugin/explorer.vim - -Patch 6.0.113 -Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also, - expanding wildcards with the shell may fail. (John Daniel) -Solution: Escape spaces with a backslash when needed. -Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c - -Patch 6.0.114 -Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a - full path. For Win32 the current directory was prepended. - (Michael Geddes) -Solution: Expand the home directory. -Files: src/eval.c - -Patch 6.0.115 (extra) -Problem: Win32: When using a dialog with a textfield it cannot scroll the - text. -Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes) -Files: src/gui_w32.c - -Patch 6.0.116 (extra) -Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for - filesystems that use ACLs. -Solution: Use ACL functions to check if a file is writable. (Mike Williams) -Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro - -Patch 6.0.117 (extra) -Problem: Win32: when disabling the menu, "set lines=999" doesn't use all - the available screen space. -Solution: Don't subtract the fixed caption height but the real menu height - from the available screen space. Also: Avoid recursion in - gui_mswin_get_menu_height(). -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.0.118 -Problem: When $TMPDIR is a relative path, the temp directory is missing a - trailing slash and isn't deleted when Vim exits. (Peter Holm) -Solution: Add the slash after expanding the directory to an absolute path. -Files: src/fileio.c - -Patch 6.0.119 (depends on patch 6.0.116) -Problem: VMS: filewritable() doesn't work properly. -Solution: Use the same method as for Unix. (Zoltan Arpadffy) -Files: src/eval.c - -Patch 6.0.120 -Problem: The conversion to html isn't compatible with XHTML. -Solution: Quote the values. (Jess Thrysoee) -Files: runtime/syntax/2html.vim - -Patch 6.0.121 (extra) (depends on patch 6.0.116) -Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32. -Solution: Add an #ifdef HAVE_ACL. -Files: src/os_win32.c - -Patch 6.0.122 (extra) -Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And - dialog textfield problem from patch 6.0.115. -Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag. - (Vince Negri) -Files: src/gui_w16.c - -Patch 6.0.123 (depends on patch 6.0.119) -Problem: Win16: Compilation problems. -Solution: Move "&&" to other lines. (Vince Negri) -Files: src/eval.c - -Patch 6.0.124 -Problem: When using a ":substitute" command that starts with "\=" - (evaluated as an expression), "~" was still replaced with the - previous substitute string. -Solution: Skip the replacement when the substitute string starts with "\=". - Also adjust the documentation about doubling backslashes. -Files: src/ex_cmds.c, runtime/doc/change.txt - -Patch 6.0.125 (extra) -Problem: Win32: When using the multi_byte_ime feature pressing the shift - key would be handled as if a character was entered, thus mappings - with a shifted key didn't work. (Charles Campbell) -Solution: Ignore pressing the shift, control and alt keys. -Files: src/os_win32.c - -Patch 6.0.126 -Problem: The python library was always statically linked. -Solution: Link the python library dynamically. (Matthias Klose) -Files: src/auto/configure, src/configure.in - -Patch 6.0.127 -Problem: When using a terminal that swaps screens and the Normal background - color has a different background, using an external command may - cause the color of the wrong screen to be changed. (Mark Waggoner) -Solution: Don't call screen_stop_highlight() in stoptermcap(). -Files: src/term.c - -Patch 6.0.128 -Problem: When moving a vertically split window to the far left or right, - the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus' - is set the mouse pointer wasn't adjusted. -Solution: Adjust the scrollbars and the mouse pointer. -Files: src/window.c - -Patch 6.0.129 -Problem: When using a very long file name, ":ls" (repeated a few times) - causes a crash. Test with "vim `perl -e 'print "A"x1000'`". - (Tejeda) -Solution: Terminate a string before getting its length in buflist_list(). -Files: src/buffer.c - -Patch 6.0.130 -Problem: When using ":cprev" while the error window is open, and the new - line at the top wraps, the window isn't correctly drawn. - (Yegappan Lakshmanan) -Solution: When redrawing the topline don't scroll twice. -Files: src/screen.c - -Patch 6.0.131 -Problem: When using bufname() and there are two matches for listed buffers - and one match for an unlisted buffer, the unlisted buffer is used. - (Aric Blumer) -Solution: When there is a match with a listed buffer, don't check for - unlisted buffers. -Files: src/buffer.c - -Patch 6.0.132 -Problem: When setting 'iminsert' in the vimrc and using an xterm with two - screens the ruler is drawn in the wrong screen. (Igor Goldenberg) -Solution: Only draw the ruler when using the right screen. -Files: src/option.c - -Patch 6.0.133 -Problem: When opening another buffer while 'keymap' is set and 'iminsert' - is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg) -Solution: Don't set 'iminsert' as a side effect of defining a ":lmap" - mapping. Only do that when 'keymap' is set. -Files: src/getchar.c, src/option.c - -Patch 6.0.134 -Problem: When completing ":set tags=" a path with an embedded space causes - the completion to stop. (Sektor van Skijlen) -Solution: Escape spaces with backslashes, like for ":set path=". Also take - backslashes into account when searching for the start of the path - to complete (e.g., for 'backupdir' and 'cscopeprg'). -Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h - -Patch 6.0.135 -Problem: Menus that are not supposed to do anything used "<Nul>", which - still produced an error beep. - When CTRL-O is mapped for Insert mode, ":amenu" commands didn't - work in Insert mode. - Menu language falls back to English when $LANG ends in "@euro". -Solution: Use "<Nop>" for a menu item that doesn't do anything, just like - mappings. - Use ":anoremenu" instead of ":amenu". - Ignore "@euro" in the locale name. -Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c - -Patch 6.0.136 -Problem: When completing in Insert mode, a mapping could be unexpectedly - applied. -Solution: Don't use mappings when checking for a typed character. -Files: src/edit.c - -Patch 6.0.137 -Problem: GUI: When using the find or find/replace dialog from Insert mode, - the input mode is stopped. -Solution: Don't use the input method status when the main window doesn't - have focus. -Files: src/ui.c - -Patch 6.0.138 -Problem: GUI: When using the find or find/replace dialog from Insert mode, - the text is inserted when CTRL-O is mapped. (Andre Pang) - When opening the dialog again, a whole word search isn't - recognized. - When doing "replace all" a whole word search was never done. -Solution: Don't put a search or replace command in the input buffer, - execute it directly. - Recognize "\<" and "\>" after removing "\V". - Add "\<" and "\>" also for "replace all". -Files: src/gui.c - -Patch 6.0.139 -Problem: When stopping 'wildmenu' completion, the statusline of the - bottom-left vertically split window isn't redrawn. (Yegappan - Lakshmanan) -Solution: Redraw all the bottom statuslines. -Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c - -Patch 6.0.140 -Problem: Memory allocated for local mappings and abbreviations is leaked - when the buffer is wiped out. -Solution: Clear the local mappings when deleting a buffer. -Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h - -Patch 6.0.141 -Problem: When using ":enew" in an empty buffer, some buffer-local things - are not cleared. b:keymap_name is not set. -Solution: Clear user commands and mappings local to the buffer when re-using - the current buffer. Reload the keymap. -Files: src/buffer.c - -Patch 6.0.142 -Problem: When Python is linked statically, loading dynamic extensions might - fail. -Solution: Add an extra linking flag when needed. (Andrew Rodionoff) -Files: src/configure.in, src/auto/configure - -Patch 6.0.143 -Problem: When a syntax item includes a line break in a pattern, the syntax - may not be updated properly when making a change. -Solution: Add the "linebreaks" argument to ":syn sync". -Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c - -Patch 6.0.144 -Problem: After patch 6.0.088 redoing "veU" doesn't work. -Solution: Don't add the "U" to the redo buffer, it will be used as an undo - command. -Files: src/normal.c - -Patch 6.0.145 -Problem: When Vim can't read any input it might get stuck. When - redirecting stdin and stderr Vim would not read commands from a - file. (Servatius Brandt) -Solution: When repeatedly trying to read a character when it's not possible, - exit Vim. When stdin and stderr are not a tty, still try reading - from them, but don't do a blocking wait. -Files: src/ui.c - -Patch 6.0.146 -Problem: When 'statusline' contains "%{'-'}" this results in a zero. - (Milan Vancura) -Solution: Don't handle numbers with a minus as a number, they were not - displayed anyway. -Files: src/buffer.c - -Patch 6.0.147 -Problem: It's not easy to mark a Vim version as being modified. The new - license requires this. -Solution: Add the --modified-by argument to configure and the MODIFIED_BY - define. It's used in the intro screen and the ":version" output. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/feature.h, src/version.c - -Patch 6.0.148 -Problem: After "p" in an empty line, `[ goes to the second character. - (Kontra Gergely) -Solution: Don't increment the column number in an empty line. -Files: src/ops.c - -Patch 6.0.149 -Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search - pattern that causes a stack overflow to be detected Vim could - still hang. -Solution: Correctly report "operand could be empty" when using "\{-}". - Check for "out_of_stack" inside loops to avoid a hang. -Files: src/regexp.c - -Patch 6.0.150 -Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work - like "P". (Sung-Hyun Nam) -Solution: Compute the byte length of a multi-byte character. -Files: src/ops.c - -Patch 6.0.151 -Problem: Redrawing the status line and ruler can be wrong when it contains - multi-byte characters. -Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.0.152 -Problem: strtrans() could hang on an illegal UTF-8 byte sequence. -Solution: Skip over illegal bytes. (Yasuhiro Matsumoto) -Files: src/charset.c - -Patch 6.0.153 -Problem: When using (illegal) double-byte characters and Vim syntax - highlighting Vim can crash. (Yasuhiro Matsumoto) -Solution: Increase a pointer over a character instead of a byte. -Files: src/regexp.c - -Patch 6.0.154 -Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when - there is no xxd in the path. - When converting back from Hex the filetype may remain "xxd" if it - is not detected. -Solution: When xxd is not in the path use the one in the runtime directory, - where the install program has put it. - Clear the 'filetype' option before detecting the new value. -Files: runtime/menu.vim - -Patch 6.0.155 -Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel - Kielhorn) -Solution: Don't call mch_inchar() when NO_CONSOLE is defined. -Files: src/ui.c - -Patch 6.0.156 -Problem: Starting Vim with the -b argument and two files, ":next" doesn't - set 'binary' in the second file, like Vim 5.7. (Norman Diamond) -Solution: Set the global value for 'binary'. -Files: src/option.c - -Patch 6.0.157 -Problem: When defining a user command with "-complete=dir" files will also - be expanded. Also, "-complete=mapping" doesn't appear to work. - (Michael Naumann) -Solution: Use the expansion flags defined with the user command. - Handle expanding mappings specifically. -Files: src/ex_docmd.c - -Patch 6.0.158 -Problem: When getting the warning for a file being changed outside of Vim - and reloading the file, the 'readonly' option is reset, even when - the permissions didn't change. (Marcel Svitalsky) -Solution: Keep 'readonly' set when reloading a file and the permissions - didn't change. -Files: src/fileio.c - -Patch 6.0.159 -Problem: Wildcard expansion for ":emenu" also shows separators. -Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff". - Also, don't handle ":tmenu" as if it was ":tearoff". And leave - out the alternatives with "&" included. -Files: src/menu.c - -Patch 6.0.160 -Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the - optimizer causes a problem that makes Vim crash. -Solution: Add a configure check to avoid "-O2" for this version of gcc. -Files: src/configure.in, src/auto/configure - -Patch 6.0.161 (extra) -Problem: Win32: Bitmaps don't work with signs. -Solution: Make it possible to use bitmaps with signs. (Muraoka Taro) -Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c, - src/proto/gui_w32.pro, src/proto/gui_x11.pro - -Patch 6.0.162 -Problem: Client-server: An error message for a wrong expression appears in - the server instead of the client. -Solution: Pass the error message from the server to the client. Also - adjust the example code. (Flemming Madsen) -Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, - src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro, - runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c - -Patch 6.0.163 -Problem: When using a GUI dialog, a file name is sometimes used like it was - a directory. -Solution: Separate path and file name properly. - For GTK, Motif and Athena concatenate directory and file name for - the default selection. -Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c - -Patch 6.0.164 -Problem: After patch 6.0.135 the menu entries for pasting don't work in - Insert and Visual mode. (Muraoka Taro) -Solution: Add <script> to allow script-local mappings. -Files: runtime/menu.vim - -Patch 6.0.165 -Problem: Using --remote and executing locally gives unavoidable error - messages. -Solution: Add --remote-silent and --remote-wait-silent to silently execute - locally. - For Win32 there was no error message when a server didn't exist. -Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, - src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro - -Patch 6.0.166 -Problem: GUI: There is no way to avoid dialogs to pop up. -Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan - Lakshmanan) -Files: runtime/doc/options.txt, src/option.h, src/message.c - -Patch 6.0.167 -Problem: When 'fileencodings' is "latin2" some characters in the help files - are displayed wrong. -Solution: Force the 'fileencoding' for the help files to be "latin1". -Files: src/fileio.c - -Patch 6.0.168 -Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser) -Solution: Don't skip matches after joining two lines. -Files: src/ex_cmds.c - -Patch 6.0.169 -Problem: When run as evim and the GUI can't be started we get stuck in a - terminal without menus in Insert mode. -Solution: Exit when using "evim" and "gvim -y" when the GUI can't be - started. -Files: src/main.c - -Patch 6.0.170 -Problem: When printing double-width characters the size of tabs after them - is wrong. (Muraoka Taro) -Solution: Correctly compute the column after a double-width character. -Files: src/ex_cmds2.c - -Patch 6.0.171 -Problem: With 'keymodel' including "startsel", in Insert mode after the end - of a line, shift-Left does not move the cursor. (Steve Hall) -Solution: CTRL-O doesn't move the cursor left, need to do that explicitly. -Files: src/edit.c - -Patch 6.0.172 -Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it - does in most other situations. -Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode. -Files: src/edit.c - -Patch 6.0.173 -Problem: When using "P" to insert a line break the cursor remains past the - end of the line. -Solution: Check for the cursor being beyond the end of the line. -Files: src/ops.c - -Patch 6.0.174 -Problem: After using "gd" or "gD" the search direction for "n" may still be - backwards. (Servatius Brandt) -Solution: Reset the search direction to forward. -Files: src/normal.c, src/search.c, src/proto/search.pro - -Patch 6.0.175 -Problem: ":help /\z(\)" doesn't work. (Thomas Koehler) -Solution: Double the backslashes. -Files: src/ex_cmds.c - -Patch 6.0.176 -Problem: When killed by a signal autocommands are still triggered as if - nothing happened. -Solution: Add the v:dying variable to allow autocommands to work differently - when a deadly signal has been trapped. -Files: src/eval.c, src/os_unix.c, src/vim.h - -Patch 6.0.177 -Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf" - doesn't work. (Thomas S. Urban) -Solution: Add the marker even when 'commentstring' is empty. -Files: src/fold.c, src/normal.c - -Patch 6.0.178 -Problem: Uninitialized memory read from xp_backslash field. -Solution: Initialize xp_backslash field properly. -Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c - -Patch 6.0.179 -Problem: Win32: When displaying UTF-8 characters may read uninitialized - memory. -Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a - string. -Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c - -Patch 6.0.180 -Problem: Expanding environment variables in a string that ends in a - backslash could go past the end of the string. -Solution: Detect the trailing backslash. -Files: src/misc1.c - -Patch 6.0.181 -Problem: When using ":cd dir" memory was leaked. -Solution: Free the allocated memory. Also avoid an uninitialized memory - read. -Files: src/misc2.c - -Patch 6.0.182 -Problem: When using a regexp on multi-byte characters, could try to read a - character before the start of the line. -Solution: Don't decrement a pointer to before the start of the line. -Files: src/regexp.c - -Patch 6.0.183 -Problem: Leaking memory when ":func!" redefines a function. -Solution: Free the function name when it's not used. -Files: src/eval.c - -Patch 6.0.184 -Problem: Leaking memory when expanding option values. -Solution: Don't always copy the expanded option into allocated memory. -Files: src/option.c - -Patch 6.0.185 -Problem: Crash in Vim when pasting a selection in another application, on a - 64 bit machine. -Solution: Fix the format for an Atom to 32 bits. (Peter Derr) -Files: src/ui.c - -Patch 6.0.186 -Problem: X11: Three warnings when compiling the client-server code. -Solution: Add a typecast to unsigned char. -Files: src/if_xcmdsrv.c - -Patch 6.0.187 -Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew - Stryker) - "I" in Visual linewise mode adjusts the indent for no apparent - reason. -Solution: Only save those lines for undo that are changed. - Don't change the indent after inserting in Visual linewise mode. -Files: src/ops.c - -Patch 6.0.188 -Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't - work. -Solution: Initialize the sign icons after initializing the GUI. (Vince - Negri) -Files: src/gui.c, src/gui_x11.c - -Patch 6.0.189 -Problem: The size of the Visual area isn't always displayed when scrolling - ('ruler' off, 'showcmd' on). Also not when using a search - command. (Sylvain Hitier) -Solution: Redisplay the size of the selection after showing the mode. -Files: src/screen.c - -Patch 6.0.190 -Problem: GUI: when 'mouse' is empty a click with the middle button still - moves the cursor. -Solution: Paste at the cursor position instead of the mouse position. -Files: src/normal.c - -Patch 6.0.191 -Problem: When no servers are available serverlist() gives an error instead - of returning an empty string. (Hari Krishna) -Solution: Don't give an error message. -Files: src/eval.c - -Patch 6.0.192 -Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew - Nikitin) -Solution: Reset the flag that w_virtcol is valid when moving the cursor back - to the start of the operated area. -Files: src/normal.c - -Patch 6.0.193 -Problem: When 'virtualedit' is set, col(".") after the end of the line - should return one extra. -Solution: Add one to the column. -Files: src/eval.c - -Patch 6.0.194 -Problem: "--remote-silent" tries to send a reply to the client, like it was - "--remote-wait". -Solution: Properly check for the argument. -Files: src/main.c - -Patch 6.0.195 -Problem: When 'virtualedit' is set and a search starts in virtual space - ":call search('x')" goes to the wrong position. (Eric Long) -Solution: Reset coladd when finding a match. -Files: src/search.c - -Patch 6.0.196 -Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually - selecting part of a tab at the start of a line, "x" joins it with - the previous line. Also, when the selection spans more than one - line the whole tab is deleted. -Solution: Take coladd into account when adjusting for 'selection' being - "exclusive". Also expand a tab into spaces when deleting more - than one line. -Files: src/normal.c, src/ops.c - -Patch 6.0.197 -Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x" - doesn't delete the last character in the line. (Eric Long) -Solution: Don't reset the inclusive flag. (Helmut Stiegler) -Files: src/normal.c - -Patch 6.0.198 -Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the - cursor over the line break doesn't work properly. (Eric Long) -Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the - virtual cursor position. Adjust coladvance() and oneleft() to - skip over the 'showbreak' characters. -Files: src/edit.c, src/misc2.c - -Patch 6.0.199 -Problem: Multi-byte: could use iconv() after calling iconv_end(). - (Yasuhiro Matsumoto) -Solution: Stop converting input and output stream after calling iconv_end(). -Files: src/mbyte.c - -Patch 6.0.200 -Problem: A script that starts with "#!perl" isn't recognized as a Perl - filetype. -Solution: Ignore a missing path in a script header. Also, speed up - recognizing scripts by simplifying the patterns used. -Files: runtime/scripts.vim - -Patch 6.0.201 -Problem: When scrollbinding and doing a long jump, switching windows jumps - to another position in the file. Scrolling a few lines at a time - is OK. (Johannes Zellner) -Solution: When setting w_topline reset the flag that indicates w_botline is - valid. -Files: src/diff.c - -Patch 6.0.202 -Problem: The "icon=" argument for the menu command to define a toolbar icon - with a file didn't work for GTK. (Christian J. Robinson) - For Motif and Athena a full path was required. -Solution: Search the icon file using the specified path. Expand environment - variables in the file name. -Files: src/gui_gtk.c, src/gui_x11.c - -Patch 6.0.203 -Problem: Can change 'fileformat' even though 'modifiable' is off. - (Servatius Brandt) -Solution: Correct check for kind of set command. -Files: src/option.c - -Patch 6.0.204 -Problem: ":unlet" doesn't work for variables with curly braces. (Thomas - Scott Urban) -Solution: Handle variable names with curly braces properly. (Vince Negri) -Files: src/eval.c - -Patch 6.0.205 (extra) -Problem: "gvim -f" still forks when using the batch script to start Vim. -Solution: Add an argument to "start" to use a foreground session (Michael - Geddes) -Files: src/dosinst.c - -Patch 6.0.206 -Problem: Unix: if expanding a wildcard in a file name results in a - wildcard character and there are more parts in the path with a - wildcard, it is expanded again. - Windows: ":edit \[abc]" could never edit the file "[abc]". -Solution: Don't expand wildcards in already expanded parts. - Don't remove backslashes used to escape the special meaning of a - wildcard; can edit "[abc]" if '[' is removed from 'isfname'. -Files: src/misc1.c, src/os_unix.c - -Patch 6.0.207 (extra) -Problem: Win32: The shortcuts and start menu entries let Vim startup in the - desktop directory, which is not very useful. -Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH. -Files: src/dosinst.c - -Patch 6.0.208 -Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in - Insert mode doesn't directly change the cursor color. (Alex - Solow) -Solution: Force a redraw of the cursor after CTRL-^. -Files: src/edit.c - -Patch 6.0.209 -Problem: GUI GTK: After selecting a 'guifont' with the font dialog there - are redraw problems for multi-byte characters. -Solution: Separate the font dialog from setting the new font name to avoid - that "*" is used to find wide and bold fonts. - When redrawing extra characters for the bold trick, take care of - UTF-8 characters. -Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro, - src/proto/gui_gtk_x11.pro - -Patch 6.0.210 -Problem: After patch 6.0.167 it's no longer possible to edit a help file in - another encoding than latin1. -Solution: Let the "++enc=" argument overrule the encoding. -Files: src/fileio.c - -Patch 6.0.211 -Problem: When reading a file fails, the buffer is empty, but it might still - be possible to write it with ":w" later. The original file is - lost then. (Steve Amerige) -Solution: Set the 'readonly' option for the buffer. -Files: src/fileio.c - -Patch 6.0.212 -Problem: GUI GTK: confirm("foo", "") causes a crash. -Solution: Don't make a non-existing button the default. Add a default "OK" - button if none is specified. -Files: src/eval.c, src/gui_gtk.c - -Patch 6.0.213 -Problem: When a file name contains unprintable characters, CTRL-G and other - commands don't work well. -Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto) -Files: src/buffer.c, src/charset.c - -Patch 6.0.214 -Problem: When there is a buffer without a name, empty entries appear in the - jumplist saved in the viminfo file. -Solution: Don't write jumplist entries without a file name. -Files: src/mark.c - -Patch 6.0.215 -Problem: After using "/" from Visual mode the Paste menu and Toolbar - entries don't work. Pasting with the middle mouse doesn't work - and modeless selection doesn't work. -Solution: Use the command line mode menus and use the mouse like in the - command line. -Files: src/gui.c, src/menu.c, src/ui.c - -Patch 6.0.216 -Problem: After reloading a file, displayed in another window than the - current one, which was changed outside of Vim the part of the file - around the cursor set by autocommands may be displayed, but - jumping back to the original cursor position when entering the - window again. -Solution: Restore the topline of the window. -Files: src/fileio.c - -Patch 6.0.217 -Problem: When getting help from a help file that was used before, an empty - unlisted buffer remains in the buffer list. (Eric Long) -Solution: Wipe out the buffer used to do the tag jump from. -Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro - -Patch 6.0.218 -Problem: With explorer plugin: "vim -o filename dirname" doesn't load the - explorer window until entering the window. -Solution: Call s:EditDir() for each window after starting up. -Files: runtime/plugin/explorer.vim - -Patch 6.0.219 -Problem: ":setlocal" and ":setglobal", without arguments, display terminal - options. (Zdenek Sekera) -Solution: Skip terminal options for these two commands. -Files: src/option.c - -Patch 6.0.220 -Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro) -Solution: Don't try going to another window when there isn't one. -Files: runtime/plugin/explorer.vim - -Patch 6.0.221 -Problem: When using ":bdel" and all other buffers are unloaded the lowest - numbered buffer is jumped to instead of the most recent one. (Dave - Cecil) -Solution: Prefer an unloaded buffer from the jumplist. -Files: src/buffer.c - -Patch 6.0.222 -Problem: When 'virtualedit' is set and using autoindent, pressing Esc after - starting a new line leaves behind part of the autoindent. (Helmut - Stiegler) -Solution: After deleting the last char in the line adjust the cursor - position in del_bytes(). -Files: src/misc1.c, src/ops.c - -Patch 6.0.223 -Problem: When splitting a window that contains the explorer, hitting CR on - a file name gives error messages. -Solution: Set the window variables after splitting the window. -Files: runtime/plugin/explorer.vim - -Patch 6.0.224 -Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window - the text may jump left-right and the cursor is displayed in the - wrong position. (Aric Blumer) -Solution: When there is not enough room, compute the left column for the - window to put the cursor in the middle. -Files: src/move.c - -Patch 6.0.225 -Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath - Avadhanula) -Solution: Behave differently in a closed fold. -Files: src/normal.c - -Patch 6.0.226 -Problem: When doing ":recover file" get the ATTENTION prompt. - After recovering the same file five times get a read error or a - crash. (Alex Davis) -Solution: Set the recoverymode flag before setting the file name. - Correct the amount of used memory for the size of block zero. -Files: src/ex_docmd.c - -Patch 6.0.227 (extra) -Problem: The RISC OS port has several problems. -Solution: Update the makefile and fix some of the problems. (Andy Wingate) -Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h, - src/proto/os_riscos.pro, src/search.c - -Patch 6.0.228 -Problem: After putting text in Visual mode the '] mark is not at the end of - the put text. - Undo doesn't work properly when putting a word into a Visual - selection that spans more than one line. -Solution: Correct the '] mark for the deleting the Visually selected text. - #ifdef code that depends on FEAT_VISUAL properly. - Also fix that "d" crossing line boundary puts '[ just before - deleted text. - Fix undo by saving all deleted lines at once. -Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c, - src/structs.h, src/vim.h - -Patch 6.0.229 -Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break - at a multi-byte char followed by an ASCII char, and the other way - around. (Muraoka Taro) - When joining lines a space is inserted between multi-byte - characters, which is not always wanted. -Solution: Check for multi-byte character before and after the breakpoint. - Don't insert a space before or after a multi-byte character when - joining lines and the 'M' flag is in 'formatoptions'. Don't - insert a space between multi-byte characters when the 'B' flag is - in 'formatoptions'. -Files: src/edit.c, src/ops.c, src/option.h - -Patch 6.0.230 -Problem: The ":" used as a motion after an operator is exclusive, but - sometimes it should be inclusive. -Solution: Make the "v" in between an operator and motion toggle - inclusive/exclusive. (Servatius Brandt) -Files: runtime/doc/motion.txt, src/normal.c - -Patch 6.0.231 -Problem: "gd" and "gD" don't work when the variable matches in a comment - just above the match to be found. (Servatius Brandt) -Solution: Continue searching in the first column below the comment. -Files: src/normal.c - -Patch 6.0.232 -Problem: "vim --version" prints on stderr while "vim --help" prints on - stdout. -Solution: Make "vim --version" use stdout. -Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c - -Patch 6.0.233 -Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because - there is an upper limit. (Jim Battle) -Solution: Allow using "\{min,max}" after an atom that can be empty if there - is an upper limit. -Files: src/regexp.c - -Patch 6.0.234 -Problem: It's not easy to set the cursor position without modifying marks. -Solution: Add the cursor() function. (Yegappan Lakshmanan) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.0.235 -Problem: When writing a file and renaming the original file to make the - backup, permissions could change when setting the owner. -Solution: Only set the owner when it's needed and set the permissions again - afterwards. - When 'backupcopy' is "auto" check that the owner and permissions - of a newly created file can be set properly. -Files: src/fileio.c - -Patch 6.0.236 -Problem: ":edit" without argument should move cursor to line 1 in Vi - compatible mode. -Solution: Add 'g' flag to 'cpoptions'. -Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h - -Patch 6.0.237 -Problem: In a C file, using the filetype plugin, re-indenting a comment - with two spaces after the middle "*" doesn't align properly. -Solution: Don't use a middle entry from a start/middle/end to line up with - the start of the comment when the start part doesn't match with - the actual comment start. -Files: src/misc1.c - -Patch 6.0.238 -Problem: Using a ":substitute" command with a substitute() call in the - substitution expression causes errors. (Srinath Avadhanula) -Solution: Save and restore pointers when doing substitution recursively. -Files: src/regexp.c - -Patch 6.0.239 -Problem: Using "A" to append after a Visually selected block which is after - the end of the line, spaces are inserted in the wrong line and - other unexpected effects. (Michael Naumann) -Solution: Don't advance the cursor to the next line. -Files: src/ops.c - -Patch 6.0.240 -Problem: Win32: building with Python 2.2 doesn't work. -Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore) -Files: src/if_python.c - -Patch 6.0.241 -Problem: Win32: Expanding the old value of an option that is a path that - starts with a backslash, an extra backslash is inserted. -Solution: Only insert backslashes where needed. - Also handle multi-byte characters properly when removing - backslashes. -Files: src/option.c - -Patch 6.0.242 -Problem: GUI: On a system with an Exceed X server sometimes get a "Bad - Window" error. (Tommi Maekitalo) -Solution: When forking, use a pipe to wait in the parent for the child to - have done the setsid() call. -Files: src/gui.c - -Patch 6.0.243 -Problem: Unix: "vim --version" outputs a NL before the last line instead of - after it. (Charles Campbell) -Solution: Send the NL to the same output stream as the text. -Files: src/message.c, src/os_unix.c, src/proto/message.pro - -Patch 6.0.244 -Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and - file name (e.g., icon text, status line). -Solution: Correctly handle unprintable characters. Catch illegal UTF-8 - characters and replace them with <xx>. Truncating the status line - wasn't done correctly at a multi-byte character. (Yasuhiro - Matsumoto) - Added correct_cmdspos() and transchar_byte(). -Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c, - src/message.c, src/screen.c, src/vim.h - -Patch 6.0.245 -Problem: After using a color scheme, setting the 'background' option might - not work. (Peter Horst) -Solution: Disable the color scheme if it switches 'background' back to the - wrong value. -Files: src/option.c - -Patch 6.0.246 -Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary - Holloway) -Solution: Use the specified attributes for the message. (Yegappan - Lakshmanan) -Files: src/eval.c - -Patch 6.0.247 -Problem: GTK GUI: Can't use gvim in a kpart widget. -Solution: Add the "--echo-wid" argument to let Vim echo the window ID on - stdout. (Philippe Fremy) -Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c, - src/main.c - -Patch 6.0.248 -Problem: When using compressed help files and 'encoding' isn't "latin1", - Vim converts the help file before decompressing. (David Reviejo) -Solution: Don't convert a help file when 'binary' is set. -Files: src/fileio.c - -Patch 6.0.249 -Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit(). -Solution: Don't set the cursor on the first line for "-c" arguments when - there also is a "-t" argument. -Files: src/main.c - -Patch 6.0.250 (extra) -Problem: Macintosh: Various problems when compiling. -Solution: Various fixes, mostly #ifdefs. (Dany St. Amant) -Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h, - src/os_mac.pbproj/project.pbxproj, src/os_unix.c - -Patch 6.0.251 (extra) -Problem: Macintosh: menu shortcuts are not very clear. -Solution: Show the shortcut with the Mac clover symbol. (raindog) -Files: src/gui_mac.c - -Patch 6.0.252 -Problem: When a user function was defined with "abort", an error that is - not inside if/endif or while/endwhile doesn't abort the function. - (Servatius Brandt) -Solution: Don't reset did_emsg when the function is to be aborted. -Files: src/ex_docmd.c - -Patch 6.0.253 -Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O> - doesn't work. (Benji Fisher) <C-L> has the same problem. -Solution: Reset need_start_insertmode once in edit(). -Files: src/edit.c - -Patch 6.0.254 (extra) -Problem: Borland C++ 5.5: Checking for stack overflow doesn't work - correctly. Matters when using a complicated regexp. -Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto) -Files: src/Make_bc5.mak - -Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121) -Problem: Win32: ACL support doesn't work well on Samba drives. -Solution: Add a check for working ACL support. (Mike Williams) -Files: src/os_win32.c - -Patch 6.0.256 (extra) -Problem: Win32: ":highlight Comment guifg=asdf" does not give an error - message. (Randall W. Morris) Also for other systems. -Solution: Add gui_get_color() to give one error message for all systems. -Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c, - src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c, - src/proto/gui.pro, src/syntax.c - -Patch 6.0.257 -Problem: Win32: When 'mousefocus' is set and there is a BufRead - autocommand, after the dialog for permissions changed outside of - Vim: 'mousefocus' stops working. (Robert Webb) -Solution: Reset need_mouse_correct after checking timestamps. -Files: src/fileio.c - -Patch 6.0.258 -Problem: When 'scrolloff' is 999 and there are folds, the text can jump up - and down when moving the cursor down near the end of the file. - (Lubomir Host) -Solution: When putting the cursor halfway the window start counting lines at - the end of a fold. -Files: src/move.c - -Patch 6.0.259 -Problem: MS-DOS: after editing the command line the cursor shape may remain - like in Insert mode. (Volker Kiefel) -Solution: Reset the cursor shape after editing the command line. -Files: src/ex_getln.c - -Patch 6.0.260 -Problem: GUI: May crash while starting up when giving an error message for - missing color. (Servatius Brandt) -Solution: Don't call gui_write() when still starting up. Don't give error - message for empty color name. Don't use 't_vb' while the GUI is - still starting up. -Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c - -Patch 6.0.261 -Problem: nr2char() and char2nr() don't work with multi-byte characters. -Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.0.262 (extra) -Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used - at all. -Solution: Adjust various things for IME. -Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro, - src/structs.h, src/ui.c - -Patch 6.0.263 -Problem: GTK: When a dialog is closed by the window manager, Vim hangs. - (Christian J. Robinson) -Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE(). -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 6.0.264 -Problem: The amount of virtual memory is used to initialize 'maxmemtot', - which may be much more than the amount of physical memory, - resulting in a lot of swapping. -Solution: Get the amount of physical memory with sysctl(), sysconf() or - sysinfo() when possible. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/os_unix.c, src/os_unix.h - -Patch 6.0.265 -Problem: Win32: Using backspace while 'fkmap' is set causes a crash. - (Jamshid Oasjmoha) -Solution: Don't try mapping special keys. -Files: src/farsi.c - -Patch 6.0.266 -Problem: The rename() function deletes the file if the old and the new name - are the same. (Volker Kiefel) -Solution: Don't do anything if the names are equal. -Files: src/fileio.c - -Patch 6.0.267 -Problem: UTF-8: Although 'isprint' says a character is printable, - utf_char2cells() still considers it unprintable. -Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.0.268 (extra) (depends on patch 6.0.255) -Problem: Win32: ACL check crashes when using forward slash in file name. -Solution: Improve the check for the path in the file name. -Files: src/os_win32.c - -Patch 6.0.269 -Problem: Unprintable characters in a file name may cause problems when - using the 'statusline' option or when 'buftype' is "nofile". -Solution: call trans_characters() for the resulting statusline. (Yasuhiro - Matsumoto) -Files: src/buffer.c, src/screen.c, src/charset.c - -Patch 6.0.270 (depends on patch 6.0.267) -Problem: A tab causes UTF-8 text to be displayed in the wrong position. - (Ron Aaron) -Solution: Correct utf_char2cells() again. -Files: src/mbyte.c - -Patch 6.1a.001 (extra) -Problem: 32bit DOS: copying text to the clipboard may cause a crash. - (Jonathan D Johnston) -Solution: Don't copy one byte too much in SetClipboardData(). -Files: src/os_msdos.c - -Patch 6.1a.002 -Problem: GTK: On some configurations, when closing a dialog from the window - manager, Vim hangs. -Solution: Catch the "destroy" signal. (Aric Blumer) -Files: src/gui_gtk.c - -Patch 6.1a.003 -Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set: - yanking in Visual mode doesn't include the last byte. (Eric Long) -Solution: Don't add a space for a double-wide character. -Files: src/ops.c - -Patch 6.1a.004 (extra) -Problem: MINGW: undefined type. (Ron Aaron) -Solution: Make GetCompositionString_inUCS2() static. -Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro - -Patch 6.1a.005 (extra) -Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan - Johnston) -Solution: Don't keep the driver context when using ":hardcopy!". (Vince - Negri) -Files: src/os_mswin.c - -Patch 6.1a.006 -Problem: multi-byte: after setting 'encoding' the window title might be - wrong. -Solution: Force resetting the title. (Yasuhiro Matsumoto) -Files: src/option.c - -Patch 6.1a.007 -Problem: Filetype detection for "*.inc" doesn't work. -Solution: Use a ":let" command. (David Schweikert) -Files: runtime/filetype.vim - -Patch 6.1a.008 (extra) -Problem: Win32: ACL detection for network shares doesn't work. -Solution: Include the trailing (back)slash in the root path. (Mike Williams) -Files: src/os_win32.c - -Patch 6.1a.009 -Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a () - part that follows, but it generates an error message. -Solution: Allow a forward reference when there is a following "\@<=" or - "\@<!". -Files: runtime/doc/pattern.txt, src/regexp.c - -Patch 6.1a.010 -Problem: When using ":help" and opening a new window, the alternate file - isn't set. -Solution: Set the alternate file to the previously edited file. -Files: src/ex_cmds.c - -Patch 6.1a.011 -Problem: GTK: ":set co=77", change width with the mouse, ":set co=77" - doesn't resize the window. (Darren Hiebert) -Solution: Set the form size after handling a resize event. -Files: src/gui_gtk_x11.c - -Patch 6.1a.012 -Problem: GTK: The file browser always returns a full path. (Lohner) -Solution: Shorten the file name if possible. -Files: src/gui_gtk.c - -Patch 6.1a.013 -Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the - last character of the word isn't ignored. (Raul Segura Acevedo) -Solution: Ignore case when checking the last typed character. -Files: src/edit.c - -Patch 6.1a.014 -Problem: After patch 6.1a.006 can't compile without the title feature. -Solution: Add an #ifdef. -Files: src/option.c - -Patch 6.1a.015 -Problem: MS-Windows: When expanding a file name that contains a '[' or '{' - an extra backslash is inserted. (Raul Segura Acevedo) -Solution: Avoid adding the backslash. -Files: src/ex_getln.c - -Patch 6.1a.016 -Problem: Completion after ":language" doesn't include "time". (Raul Segura - Acevedo) -Solution: Add the alternative to the completions. -Files: src/ex_cmds2.c - -Patch 6.1a.017 -Problem: Clicking the mouse in the top row of a window where the first line - doesn't fit moves the cursor to the wrong column. -Solution: Add the skipcol also for the top row of a window. -Files: src/ui.c - -Patch 6.1a.018 -Problem: When 'scrolloff' is one and the window height is one, "gj" can put - the cursor above the window. (Raul Segura Acevedo) -Solution: Don't let skipcol become bigger than the cursor column. -Files: src/move.c - -Patch 6.1a.019 -Problem: When using a composing character on top of an ASCII character, the - "l" command clears the composing character. Only when 'ruler' and - 'showcmd' are off. (Raphael Finkel) -Solution: Don't move the cursor by displaying characters when there are - composing characters. -Files: src/screen.c - -Patch 6.1a.020 -Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always - work well for small sizes. (Adrien Beau) -Solution: Use another way to avoid the problem with ":set co=77". -Files: src/gui_gtk_x11.c - -Patch 6.1a.021 -Problem: Several Syntax menu entries are wrong or confusing. -Solution: Rephrase and correct the menu entries. (Adrien Beau) -Files: runtime/makemenu.vim, runtime/menu.vim - -Patch 6.1a.022 -Problem: A tags file might be used twice on case insensitive systems. - (Rick Swanton) -Solution: Don't use the same file name twice in the default for the 'tags' - option. Ignore case when comparing names of already visited - files. -Files: src/misc2.c, src/option.c - -Patch 6.1a.023 -Problem: When starting the GUI get "C" characters echoed in the terminal. -Solution: Don't try sending a clear-screen command while the GUI is starting - up. -Files: src/screen.c - -Patch 6.1a.024 -Problem: In other editors CTRL-F is often used for a find dialog. -Solution: In evim use CTRL-F for the find dialog. -Files: runtime/evim.vim - -Patch 6.1a.025 -Problem: The choices for the fileformat dialog can't be translated. -Solution: Add g:menutrans_fileformat_choices. (Adrien Beau) -Files: runtime/menu.vim - -Patch 6.1a.026 -Problem: Indenting Java files is wrong with "throws", "extends" and - "implements" clauses. -Solution: Update the Java indent script. -Files: runtime/indent/java.vim - -Patch 6.1a.027 -Problem: A few Syntax menu entries missing or incorrect. -Solution: Add and correct the menu entries. (Adrien Beau) - Shorten a few menus to avoid they become too long. -Files: runtime/makemenu.vim, runtime/menu.vim - -Patch 6.1a.028 -Problem: XIM: problems with feedback and some input methods. -Solution: Use iconv for calculating the cells. Remove the queue for - key_press_event only when text was changed. (Yasuhiro Matsumoto) -Files: src/globals.h, src/mbyte.c, src/screen.c - -Patch 6.1a.029 -Problem: After patch 6.1a.028 can't compile GTK version with XIM but - without multi-byte chars. -Solution: Add an #ifdef. (Aschwin Marsman) -Files: src/mbyte.c - -Patch 6.1a.030 -Problem: With double-byte encodings toupper() and tolower() may have wrong - results. -Solution: Skip double-byte characters. (Eric Long) -Files: src/eval.c - -Patch 6.1a.031 -Problem: Accessing the 'balloondelay' variable may cause a crash. -Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert) -Files: src/option.h - -Patch 6.1a.032 (extra) -Problem: Some menu files used a wrong encoding name for "scriptencoding". -Solution: Move the translations to a separate file, which is sourced after - setting "scriptencoding". - Also add Czech menu translations in ASCII and update the other - encodings. -Files: runtime/lang/menu_cs_cz.iso_8859-1.vim, - runtime/lang/menu_cs_cz.iso_8859-2.vim, - runtime/lang/menu_czech_czech_republic.1250.vim, - runtime/lang/menu_czech_czech_republic.1252.vim, - runtime/lang/menu_czech_czech_republic.ascii.vim, - runtime/lang/menu_de_de.iso_8859-1.vim, - runtime/lang/menu_de_de.latin1.vim, - runtime/lang/menu_fr_fr.iso_8859-1.vim, - runtime/lang/menu_fr_fr.latin1.vim, - runtime/lang/menu_french_france.1252.vim, - runtime/lang/menu_german_germany.1252.vim, - runtime/lang/menu_ja_jp.euc-jp.vim, - runtime/lang/menu_ja_jp.utf-8.vim, - runtime/lang/menu_japanese_japan.932.vim - -Patch 6.1a.033 -Problem: XIM: doesn't reset input context. -Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka) -Files: src/mbyte.c - -Patch 6.1a.034 (extra) -Problem: Win32: The ACL checks for a readonly file still don't work well. -Solution: Remove the ACL checks, go back to how it worked in Vim 6.0. -Files: src/os_win32.c - -Patch 6.1a.035 -Problem: multi-byte: When using ":sh" in the GUI, typed and displayed - multi-byte characters are not handled correctly. -Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro - Matsumoto) Also handle UTF-8 composing characters. -Files: src/os_unix.c - -Patch 6.1a.036 -Problem: GTK: the save-yourself event was not handled. -Solution: Catch the save-yourself event and preserve swap files. (Neil Bird) -Files: src/gui_gtk_x11.c - -Patch 6.1a.037 -Problem: The MS-Windows key mapping doesn't include CTRL-S for saving. - (Vlad Sandrini) -Solution: Map CTRL-S to ":update". -Files: runtime/mswin.vim - -Patch 6.1a.038 -Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't - work. (Antonio Colombo) -Solution: Don't include sys/sysinfo.h when not calling sysinfo(). -Files: src/os_unix.c - -Patch 6.1a.039 -Problem: Not all visual basic files are recognized. -Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo) -Files: runtime/filetype.vim - -Patch 6.1a.040 -Problem: A *.pl file is recognized as Perl, but it could be a prolog file. -Solution: Check the first non-empty line. (Kontra Gergely) -Files: runtime/filetype.vim - -Patch 6.1a.041 -Problem: When pressing the left mouse button in the command line and them - moving the mouse upwards, nearly all the text is selected. -Solution: Don't try extending a modeless selection when there isn't one. -Files: src/ui.c - -Patch 6.1a.042 -Problem: When merging files, ":diffput" and ":diffget" are used a lot, but - they require a lot of typing. -Solution: Add "dp" for ":diffput" and "do" for ":diffget". -Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro - - -Patch 6.1b.001 (extra) -Problem: Checking for wildcards in a path does not handle multi-byte - characters with a trail byte which is a wildcard. -Solution: Handle multi-byte characters correctly. (Muraoka Taro) -Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, - src/os_unix.c - -Patch 6.1b.002 -Problem: A regexp that ends in "\{" is not flagged as an error. May cause - a stack overflow when 'incsearch' is set. (Gerhard Hochholzer) -Solution: Handle a missing "}" as an error. -Files: src/regexp.c - -Patch 6.1b.003 (extra) -Problem: The RISC OS GUI doesn't compile. -Solution: Include changes since Vim 5.7. (Andy Wingate) -Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c, - src/os_riscos.h, src/proto/gui_riscos.pro - -Patch 6.1b.004 -Problem: col("'>") returns a negative number for linewise selection. (Neil - Bird) -Solution: Don't add one to MAXCOL. -Files: src/eval.c - -Patch 6.1b.005 -Problem: Using a search pattern that causes an out-of-stack error while - 'hlsearch' is set keeps giving the hit-Enter prompt. - A search pattern that takes a long time delays typing when - 'incsearch' is set. -Solution: Stop 'hlsearch' highlighting when the regexp causes an error. - Stop searching for 'incsearch' when a character is typed. -Files: src/globals.h, src/message.c, src/screen.c, src/search.c, - src/vim.h - -Patch 6.1b.006 -Problem: When entering a composing character on the command line with - CTRL-V, the text isn't redrawn correctly. -Solution: Redraw the text under and after the cursor. -Files: src/ex_getln.c - -Patch 6.1b.007 -Problem: When the cursor is in the white space between two sentences, "dis" - deletes the first character of the following sentence, "das" - deletes a space after the sentence. -Solution: Backup the cursor one character in these situations. -Files: src/search.c - -Patch 6.1b.008 -Problem: *.xsl files are not recognized as xslt but xml. - Monk files are not recognized. -Solution: Delete the duplicate line for *.xsl. (Johannes Zellner) - Recognize monk files. -Files: runtime/filetype.vim - -Patch 6.1b.009 -Problem: Can't always compile small features and then adding eval feature, - "sandbox" is undefined. (Axel Kielhorn) -Solution: Always define "sandbox" when the eval feature is used. -Files: src/globals.h - -Patch 6.1b.010 (extra) -Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings. -Solution: Change "true" to "TRUE". (Walter Briscoe) -Files: GvimExt/gvimext.cpp - -Patch 6.1b.011 -Problem: When using a very long string for confirm(), can't quit the - displaying at the more prompt. (Hari Krishna Dara) -Solution: Jump to the end of the message to show the choices. -Files: src/message.c - -Patch 6.1b.012 -Problem: Multi-byte: When 'showbreak' is set and a double-wide character - doesn't fit at the right window edge the cursor gets stuck there. - Using cursor-left gets stuck when 'virtualedit' is set. (Eric - Long) -Solution: Fix the way the extra ">" character is counted when 'showbreak' is - set. Don't correct cursor for virtual editing on a double-wide - character. -Files: src/charset.c, src/edit.c - -Patch 6.1b.013 -Problem: A user command that partly matches with a buffer-local user - command and matches full with a global user command unnecessarily - gives an 'ambiguous command' error. -Solution: Find the full global match even after a partly local match. -Files: src/ex_docmd.c - -Patch 6.1b.014 -Problem: EBCDIC: switching mouse events off causes garbage on screen. - Positioning the cursor in the GUI causes garbage. -Solution: Insert an ESC in the terminal code. (Ralf Schandl) - Use "\b" instead of "\010" for KS_LE. -Files: src/os_unix.c, src/term.c - -Patch 6.1b.015 -Problem: Vimtutor has a typo. Get a warning for "tempfile" if it - doesn't exist. -Solution: Move a quote to the end of a line. (Max Ischenko) - Use "mktemp" first, more systems have it. -Files: src/vimtutor - -Patch 6.1b.016 -Problem: GTK: loading a fontset that works partly, Vim might hang or crash. -Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto) -Files: src/gui_gtk_x11.c - -Patch 6.1b.017 -Problem: GUI: When using ":shell" and there is a beep, nothing happens. -Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro - Matsumoto) -Files: src/message.c - -Patch 6.1b.018 (depends on 6.1b.006) -Problem: When entering the encryption key, special keys may still reveal - the typed characters. -Solution: Make sure stars are used or nothing is shown in all cases. -Files: src/digraph.c, src/getchar.c, src/ex_getln.c - -Patch 6.1b.019 (depends on 6.1b.005) -Problem: A search pattern that takes a long time slows down typing when - 'incsearch' is set. -Solution: Pass SEARCH_PEEK to dosearch(). -Files: src/ex_getln.c - -Patch 6.1b.020 -Problem: When using the matchit plugin, "%" finds a match on the "end" of a - ":syntax region" command in Vim scripts. -Solution: Skip over ":syntax region" commands by setting b:match_skip. -Files: runtime/ftplugin/vim.vim - -Patch 6.1b.021 -Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the - pointer to the new window. (Robert Webb) -Solution: Don't reset need_mouse_correct when checking the timestamp of a - file. -Files: src/fileio.c - -Patch 6.1b.022 -Problem: With lots of folds "j" does not obey 'scrolloff' properly. - (Srinath Avadhanula) -Solution: Go to end of the fold before counting context lines. -Files: src/move.c - -Patch 6.1b.023 -Problem: On MS-Windows system() may cause checking timestamps, because Vim - loses and gains input focus, while this doesn't happen on Unix. -Solution: Don't check timestamps while system() is busy. -Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c - -Patch 6.1b.024 (extra) -Problem: Gettext 0.11 complains that "sjis" is not a standard name. -Solution: Use "cp932" instead. -Files: src/po/sjiscorr.c - -Patch 6.1b.025 (extra) -Problem: Win32: When closing gvim while it is minimized and has a changed - file, the file-changed dialog pops up in a corner of the screen. -Solution: Put the dialog in the middle of the screen. -Files: src/gui_w48.c - -Patch 6.1b.026 -Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in - case are not highlighted properly. (Gerhard Hochholzer) -Solution: Don't ignore case when ignoring white space differences. -Files: src/diff.c - -Patch 6.1b.027 -Problem: "vim --remote +" may cause a crash. -Solution: Check for missing file name argument. (Martin Kahlert) -Files: src/main.c - -Patch 6.1b.028 (extra) -Problem: Win16: Can't compile after patch 6.1b.025. -Solution: Add code specifically for Win16. (Vince Negri) -Files: src/gui_w48.c - -Patch 6.1b.029 -Problem: Win32: When a directory on an NTFS partition is read/execute (no - delete,modify,write) and the file has modify rights, trying to - write the file deletes it. Making the file read/write/execute - (not delete) solves it. (Mark Canup) -Solution: Use the Unix code to check for a writable directory. If not, then - make a backup copy and overwrite the file. -Files: src/fileio.c - -Patch 6.1b.030 (extra) -Problem: Mac: small mistake in the build script and prototypes. -Solution: Fix the build script and add the prototypes. (Axel Kielhorn) -Files: src/os_mac.build, src/gui_mac.c - -Patch 6.1b.031 (extra) -Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting - font name. (Vlad Sandrini) -Solution: Put the code back in gui_mch_init_font() to form the font name out - of the logfont. -Files: src/gui_w48.c - -Patch 6.1b.032 -Problem: Athena: Setting a color scheme before the GUI has started causes a - crash. (Todd Blumer) -Solution: Don't try using color names that haven't been set yet. -Files: src/gui_athena.c - -Patch 6.1b.033 -Problem: When using a count after a ":s" command may get ml_get errors. - (Dietmar Lang) -Solution: Check that the resulting range does not go past the end of the - buffer. -Files: src/ex_cmds.c - -Patch 6.1b.034 -Problem: After sourcing mswin.vim, when using <C-S-Right> after - auto-indenting and then <Del>, get warning for allocating - ridiculous amount of memory. (Dave Delgreco) -Solution: Adjust the start of the Visual area when deleting the auto-indent. -Files: src/edit.c - -Patch 6.1b.035 -Problem: When using evim, dropping a file on Vim and then double clicking - on a word, it is changed to "i". (Merlin Hansen) -Solution: Reset need_start_insertmode after editing the file. -Files: src/ex_docmd.c - - -============================================================================== -VERSION 6.2 *version-6.2* - -This section is about improvements made between version 6.1 and 6.2. - -This is mainly a bug-fix release. There are also a few new features. - -Main new features: -- Support for GTK 2. (Daniel Elstner) -- Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi) -- ":try" command and exception handling. (Servatius Brandt) -- Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff) -- Cscope support for Win32. (Khorev Sergey) -- Support for PostScript printing in various 8-bit encodings. (Mike Williams) - - -Changed *changed-6.2* -------- - -Removed the scheme indent file, the internal Lisp indenting works well now. - -Moved the GvimEXt, OleVim and VisVim directories into the "src" directory. -This is more consistent with how xxd is handled. - -The VisVim.dll file is installed in the top directory, next to gvimext.dll, -instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it -from the wrong directory. - -Removed the art indent file, it didn't do anything. - -submatch() returned line breaks with CR instead of LF. - -Changed the Win32 Makefiles to become more uniform and compile gvimext.dll. -(Dan Sharp) - -'cindent': Align a "//" comment with a "//" comment in a previous line. -(Helmut Stiegler) - -Previously only for xterm-like terminals parent widgets were followed to find -the title and icon label. Now do this for all terminal emulators. - -Made it possible to recognize backslashes for "%" matching. The 'M' flag in -'cpoptions' disables it. (Haakon Riiser) - -Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably -can't make it work (the compiler runs out of memory). - -Even though the documentation refers to keywords, "[ CTRL-D" was using -'isident' to find matches. Changed it to use 'iskeyword'. Also applies to -other commands that search for defined words in included files such as -":dsearch", "[D" and "[d". - -Made 'keywordprg' global-local. (Christian Robinson) - -Enabled the Netbeans interface by default. Reversed the configure argument -from "--enable-netbeans" to "--disable-netbeans". - - -Added *added-6.2* ------ - -New options: - 'arabic' - 'arabicshape' - 'ambiwidth' - 'autochdir' - 'casemap' - 'copyindent' - 'cscopequickfix' - 'preserveindent' - 'printencoding' - 'rightleftcmd' - 'termbidi' - 'toolbariconsize' - 'winfixheight' - -New keymaps: - Serbian (Aleksandar Veselinovic) - Chinese Pinyin (Fredrik Roubert) - Esperanto (Antoine J. Mechelynck) - -New syntax files: - Valgrind (Roger Luethi) - Smarty template (Manfred Stienstra) - MySQL (Kenneth Pronovici) - RockLinux package description (Piotr Esden-Tempski) - MMIX (Dirk Huesken) - gkrellmrc (David Necas) - Tilde (Tobias Rundtrom) - Logtalk (Paulo Moura) - PLP (Juerd Waalboer) - fvwm2m4 (David Necas) - IPfilter (Hendrik Scholz) - fstab (Radu Dineiu) - Quake (Nikolai Weibull) - Occam (Mario Schweigler) - lpc (Shizhu Pan) - Exim conf (David Necas) - EDIF (Artem Zankovich) - .cvsrc (Nikolai Weibull) - .fetchmailrc (Nikolai Weibull) - GNU gpg (Nikolai Weibull) - Grub (Nikolai Weibull) - Modconf (Nikolai Weibull) - RCS (Dmitry Vasiliev) - Art (Dorai Sitaram) - Renderman Interface Bytestream (Andrew J Bromage) - Mailcap (Doug Kearns) - Subversion commit file (Dmitry Vasiliev) - Microsoft IDL (Vadim Zeitlin) - WildPackets EtherPeek Decoder (Christopher Shinn) - Spyce (Rimon Barr) - Resolv.conf (Radu Dineiu) - A65 (Clemens Kirchgatterer) - sshconfig and sshdconfig (David Necas) - Cheetah and HTMLCheetah (Max Ischenko) - Packet filter (Camiel Dobbelaar) - -New indent files: - Eiffel (David Clarke) - Tilde (Tobias Rundtrom) - Occam (Mario Schweigler) - Art (Dorai Sitaram) - PHP (Miles Lott) - Dylan (Brent Fulgham) - -New tutor translations: - Slovak (Lubos Celko) - Greek (Christos Kontas) - German (Joachim Hofmann) - Norwegian (Øyvind Holm) - -New filetype plugins: - Occam (Mario Schweigler) - Art (Dorai Sitaram) - ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim, - jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim, - xhtml.vim, xml.vim, xsd.vim. (Dan Sharp) - -New compiler plugins: - Checkstyle (Doug Kearns) - g77 (Ralf Wildenhues) - fortran (Johann-Guenter Simon) - Xmllint (Doug Kearns) - Ruby (Tim Hammerquist) - Modelsim vcom (Paul Baleme) - -New menu translations: - Brazilian (José de Paula) - British (Mike Williams) - Korean in UTF-8. (Nam SungHyun) - Norwegian (Øyvind Holm) - Serbian (Aleksandar Jelenak) - -New message translation for Norwegian. (Øyvind Holm) - -New color scheme: - desert (Hans Fugal) - -Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and -'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi) - -Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff) - -Win32: cscope support. (Khorev Sergey) - -VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy) - -Added "x" key to the explorer plugin: execute the default action. (Yasuhiro -Matsumoto) - -Compile gvimext.dll with MingW. (Rene de Zwart) - -Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy -way to convert text to HTML. - -Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers -to all error messages, so that they can be caught by the number. -(Servatius Brandt) -Moved part of ex_docmd.c to the new ex_eval.c source file. - -Include support for GTK+ 2.2.x (Daniel Elstner) -Adds the "~" register: drag & drop text. -Adds the 'toolbariconsize' option. -Add -Dalloca when running lint to work around a problem with alloca() -prototype. - -When selecting an item in the error window to jump to, take some effort to -find an ordinary window to show the file in (not a preview window). - -Support for PostScript printing of various 8-bit encodings. (Mike Williams) - -inputdialog() accepts a third argument that is used when the dialog is -cancelled. Makes it possible to see a difference between cancelling and -entering nothing. - -Included Aap recipes. Can be used to update Vim to the latest version, -building and installing. - -"/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler) - -Vim variable "v:register" and functions setreg(), getreg() and getregtype(). -(Michael Geddes) - -"v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode. -(Phillip Vandry) - -Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when -running install in the "src" directory for testing. - -Support tag files that were sorted with case ignored. (Flemming Madsen) - -When completing a wildcard in a leading path element, as in "../*/Makefile", -only the last part ("Makefile") was listed. Support custom defined -command line completion. (Flemming Madsen) - -Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo) - -Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not -used by popular desktops. (Neil Bird) -Not used for Gnome 2, it has its own handling. - -Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter -Briscoe) - -Support page breaks for printing. Adds the "formfeed" field in -'printoptions'. (Mike Williams) - -Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel -Kielhorn) - -"\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron) - -Added 'preserveindent' and 'copyindent' options. They use existing white -space characters instead of using Tabs as much as possible. (Chris Leishman) - -Updated Unicode tables to Unicode 4.0. (Raphael Finkel) - -Support for the mouse wheel in rxvt. (AIDA Shinra) - -Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8" -expansion on Win32 systems. (Michael Geddes) - -'cscopequickfix' option: Open quickfix window for Cscope commands. Also -cleanup the code for giving messages. (Khorev Sergey) - -GUI: Support more than 222 columns for mouse positions. - -":stopinsert" command: Don't return to Insert mode. - -"interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius -Brandt) - - -Fixed *fixed-6.2* ------ - -Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h. - -The Vim icons in PNG format didn't have a transparent background. (Greg -Roelofs) - -Fixed a large number of spelling mistakes in the docs. (Adri Verhoef) - -The #defines for prototype generation were causing trouble. Changed them to -typedefs. - -A new version of libintl.h uses __asm__, which confuses cproto. Define a -dummy __asm__ macro. - -When 'virtualedit' is set can't move to halfway an unprintable character. -Cripples CTRL-V selection. (Taro Muraoka) -Allow moving to halfway an unprintable character. Don't let getvvcol() change -the pos->coladd argument. - -When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is -non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro) - -When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto) -When no argument given use the ".*" pattern. - -Win32: When gvim.exe is started from a shortcut with the window style property -set to maximize Vim doesn't start with a maximized window. (Yasuhiro -Matsumoto) Open the window with the default size and don't call ShowWindow() -again when it's already visible. (Helmut Stiegler) - -gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header -files. - -Win32: When closing a window from a mapping some pixels remain on the -statusline. (Yasuhiro Matsumoto) - -A column number in an errorformat that goes beyond the end of the line may -cause a crash. - -":throw 'test'" crashes Vim. (Yasuhiro Matsumoto) - -The file selector's scrollbar colors are not set after doing a ":hi Scrollbar -guifg=color". And the file selector's colors are not changed by the -colorscheme command. (David Harrison) - -Motif: When compiling with FEAT_FOOTER defined, the text area gets a few -pixels extra space on the right. Remove the special case in -gui_get_base_width(). (David Harrison) - -Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position. -(Helmut Stiegler) - -When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted. - -Using a "--cmd" argument more than 10 times caused a crash. - -DEC style mouse support didn't work if the page field is not empty. -(Uribarri) - -"vim -l one two" did only set 'lisp' in the first file. Vi does it for every -file. - -":set tw<" didn't work. Was checking for '^' instead of '<'. - -In ":hardcopy > %.ps" the "%" was not expanded to the current filename. - -Made ":redraw" also update the Visual area. - -When a not implemented command, such as ":perl", has wrong arguments the less -important error was reported, giving the user the idea the command could work. - -On non-Unix systems autocommands for writing did not attempt a match with the -short file name, causing a pattern like "a/b" to fail. - -VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan -Arpadffy) - -redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter -Briscoe) - -Various changes for the PC Makefiles. (Walter Briscoe) - -Use _truename() instead of our own code to expand a file name into a full -path. (Walter Briscoe) - -Error in filetype check for /etc/modutils. (Lubomir Host) - -Cscope interface: allocated a buffer too small. - -Win16: remove a trailing backslash from a path when obtaining the permission -flags. (Vince Negri) - -When searching for tags with case ignored Vim could hang. - -When searching directories with a stopdir could get a crash. Did not -re-allocate enough memory. (Vince Negri) - -A user command may cause a crash. Don't use the command index when it's -negative. (Vince Negri) - -putenv() didn't work for MingW and Cygwin. (Dan Sharp) - -Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c -for compiling the Win16 version and remove the functions from os_win16.c. -(Vince Negri) - -For terminals that behave like an xterm but didn't have a name that is -recognized, the window title would not always be set. - -When syntax highlighting is off ":hardcopy" could still attempt printing -colors. - -Crash when using ":catch" without an argument. (Servatius Brandt) - -Win32: ":n #" doubled the backslashes. - -Fixed Arabic shaping for the command line. (Nadim Shaikli) - -Avoid splitting up a string displayed on the command line into individual -characters, it breaks Arabic shaping. - -Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp) - -2html.vim didn't work with 'nomagic' set. - -When a local argument list is used and doing ":only" Vim could crash later. -(Muraoka Taro) - -When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3% -could result in "-3%". Also avoid changing a space inside a filename to the -fill character. - -MSwin: Handling of backslashes and double quotes for command line arguments -was not like what other applications do. (Walter Briscoe) - -Test32 sometimes didn't work, because test11.out was written as TEST11.OUT. - -Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and -uninstal.c. - -More improvements for Make_bc3.mak file. (Walter Briscoe) - -When ":syn sync linebreaks=1" is used, editing the first line caused a redraw -of the whole screen. - -Making translated messages didn't work, if_perl.xs wasn't found. (Vlad -Sandrini) - -Motif and Athena: moving Vim to the foreground didn't uniconify it. Use -XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran) - -When using ":ptag" in a window where 'scrollbind' is set the preview window -would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'. - -Various commands that split a window took over 'scrollbind', which is hardly -ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when -splitting a window. - -When 'shellslash' is set in the vimrc file the first entry of ":scriptnames" -would still have backslashes. Entries in the quickfix list could also have -wrong (back)slashes. - -Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto) - -When using a multi-byte character with a K_SPECIAL byte or a special key code -with "--remote-send" the received byte sequence was mangled. Put it in the -typeahead buffer instead of the input buffer. - -Win32: The cursor position was incorrect after changing cursor shape. -(Yasuhiro Matsumoto). - -Win32: When 'encoding' is not the current codepage the title could not be set -to non-ascii characters. - -"vim -d scp://machine/file1 scp://machine/file2" did not work, there was only -one window. Fixed the netrw plugin not to wipe out the buffer if it is -displayed in other windows. - -"/$" caused "e" in last column of screen to disappear, a highlighted blank was -displayed instead. - -":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was -using the line count including what matched after the "\ze". - -Using the "c" flag with ":s" changed the behavior when a line break is -replaced and "\@<=" is used. Without "c" a following match was not found. - -":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n". - -VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy) - -When a delete prompts if a delete should continue when yanking is not -possible, restore msg_silent afterwards. - -":sign" did not complain about a missing argument. - -When adding or deleting a sign 'hlsearch' highlighting could disappear. -Use the generic functions for updating signs. - -On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing. -Makes the tests work on more systems. - -In the DOS tests don't create "/tmp" to avoid an error. - -Mac classic: Problems with reading files with CR vs CR/LF. Rely on the -library version of fgets() to work correctly for Metrowerks 2.2. (Axel -Kielhorn) - -When typing a password a "*" was shown for each byte instead of for each -character. Added multi-byte handling to displaying the stars. (Yasuhiro -Matsumoto) - -When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use -different code for 5.6 and 5.8. (Dan Sharp) - -MingW and Cygwin: Don't strip the debug executable. (Dan Sharp) - -An assignment to a variable with curlies that includes "==" doesn't work. -Skip over the curlies before searching for an "=". (Vince Negri) - -When cancelling the selection of alternate matching tags the tag stack index -could be advanced too far, resulting in an error message when using CTRL-T. - - -Patch 6.1.001 -Problem: When formatting UTF-8 text it might be wrapped at a space that is - followed by a composing character. (Raphael Finkel) - Also correct a display error for removing a composing char on top - of a space. -Solution: Check for a composing character on a space. -Files: src/edit.c, src/misc1.c, src/screen.c - -Patch 6.1.002 (extra) -Problem: Win32: after a ":popup" command the mouse pointer stays hidden. -Solution: Unhide the mouse pointer before showing the menu. -Files: src/gui_w48.c - -Patch 6.1.003 -Problem: When 'laststatus' is zero and there is a vertical split, the - vertical separator is drawn in the command line. (Srikant - Sankaran) -Solution: Don't draw the vertical separator where there is no statusline. -Files: src/screen.c - -Patch 6.1.004 -Problem: Unicode 3.2 changes width and composing of a few characters. - (Markus Kuhn) -Solution: Adjust the Unicode functions for the character width and composing - characters. -Files: src/mbyte.c - -Patch 6.1.005 -Problem: When using more than 50 items in 'statusline' Vim might crash. - (Steve Hall) -Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen) -Files: src/option.c - -Patch 6.1.006 -Problem: When using "P" in Visual mode to put linewise selected text, the - wrong text is deleted. (Jakub Turski) -Solution: Put the text before the Visual area and correct the text to be - deleted for the inserted lines. - Also fix that "p" of linewise text in Visual block mode doesn't - work correctly. -Files: src/normal.c, src/ops.c - -Patch 6.1.007 -Problem: Using ":filetype plugin off" when filetype plugins were never - enabled causes an error message. (Yiu Wing) -Solution: Use ":silent!" to avoid the error message. -Files: runtime/ftplugof.vim - -Patch 6.1.008 -Problem: The "%" command doesn't ignore \" inside a string, it's seen as - the end of the string. (Ken Clark) -Solution: Skip a double quote preceded by an odd number of backslashes. -Files: src/search.c - -Patch 6.1.009 -Problem: Vim crashes when using a huge number for the maxwid value in a - statusline. (Robert M. Nowotniak) -Solution: Check for an overflow that makes maxwid negative. -Files: src/buffer.c - -Patch 6.1.010 -Problem: Searching backwards for a question mark with "?\?" doesn't work. - (Alan Isaac) Same problem in ":s?\??" and ":g?\??". -Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter. -Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c, - src/search.c, src/syntax.c, src/tag.c - -Patch 6.1.011 -Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus - problem when selecting candidates. -Solution: Fix the XIM problems. (Yasuhiro Matsumoto) -Files: src/mbyte.c, src/screen.c - -Patch 6.1.012 -Problem: A system() call might fail if fread() does CR-LF to LF - translation. -Solution: Open the output file in binary mode. (Pavol Huhas) -Files: src/misc1.c - -Patch 6.1.013 -Problem: Win32: The default for 'printexpr' doesn't work when there are - special characters in 'printdevice'. -Solution: Add double quotes around the device name. (Mike Williams) -Files: runtime/doc/option.txt, src/option.c - -Patch 6.1.014 -Problem: An operator like "r" used in Visual block mode doesn't use - 'virtualedit' when it's set to "block". -Solution: Check for 'virtualedit' being active in Visual block mode when the - operator was started. -Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c, - src/ops.c, src/undo.c - -Patch 6.1.015 -Problem: After patch 6.1.014 can't compile with tiny features. (Christian - J. Robinson) -Solution: Add the missing define of virtual_op. -Files: src/vim.h - -Patch 6.1.016 (extra) -Problem: Win32: Outputting Hebrew or Arabic text might have a problem with - reversing. -Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron) -Files: src/gui_w32.c - -Patch 6.1.017 -Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O. - (Pavol Juhas) -Solution: Define BINARY_FILE_IO for Cygwin. -Files: src/os_unix.h - -Patch 6.1.018 -Problem: Error message when using cterm highlighting. (Leonardo Di Lella) -Solution: Remove a backslash before a question mark. -Files: runtime/syntax/cterm.vim - -Patch 6.1.019 (extra) -Problem: Win32: File name is messed up when editing just a drive name. - (Walter Briscoe) -Solution: Append a NUL after the drive name. (Vince Negri) -Files: src/os_win32.c - -Patch 6.1.020 -Problem: col("'>") returns a huge number after using Visual line mode. -Solution: Return the length of the line instead. -Files: src/eval.c - -Patch 6.1.021 (depends on patch 6.1.009) -Problem: Vim crashes when using a huge number for the minwid value in a - statusline. (Robert M. Nowotniak) -Solution: Check for an overflow that makes minwid negative. -Files: src/buffer.c - -Patch 6.1.022 -Problem: Grabbing the status line above the command-line window works like - the bottom status line was grabbed. (Jim Battle) -Solution: Make it possible to grab the status line above the command-line - window, so that it can be resized. -Files: src/ui.c - -Patch 6.1.023 (extra) -Problem: VMS: running tests doesn't work properly. -Solution: Adjust the makefile. (Zoltan Arpadffy) -Files: src/testdir/Make_vms.mms - -Patch 6.1.024 -Problem: When header files use a new syntax for declaring functions, Vim - can't figure out missing prototypes properly. -Solution: Accept braces around a function name. (M. Warner Losh) -Files: src/osdef.sh - -Patch 6.1.025 -Problem: Five messages for "vim --help" don't start with a capital. (Vlad - Sandrini) -Solution: Make the messages consistent. -Files: src/main.c - -Patch 6.1.026 -Problem: *.patch files are not recognized as diff files. In a script a - "VAR=val" argument after "env" isn't ignored. PHP scripts are not - recognized. -Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP - scripts. (Roman Neuhauser) -Files: runtime/filetype.vim, runtime/scripts.vim - -Patch 6.1.027 -Problem: When 'foldcolumn' is non-zero, a special character that wraps to - the next line disturbs the foldcolumn highlighting. (Yasuhiro - Matsumoto) -Solution: Only use the special highlighting when drawing text characters. -Files: src/screen.c - -Patch 6.1.028 -Problem: Client-server: When a --remote-expr fails, Vim still exits with - status zero. -Solution: Exit Vim with a non-zero status to indicate the --remote-expr - failed. (Thomas Scott Urban) -Files: src/main.c - -Patch 6.1.029 -Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing - a utf-8 or other Unicode file uses the wrong conversion. (Jan - Fedak) -Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other - than "latin1". -Files: src/fileio.c - -Patch 6.1.030 -Problem: When CTRL-N is mapped in Insert mode, it is also mapped after - CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F. - (Kontra Gergely) -Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P. -Files: src/getchar.c - -Patch 6.1.031 -Problem: Cygwin: Xxd could read a file in text mode instead of binary mode. -Solution: Use "rb" or "rt" when needed. (Pavol Juhas) -Files: src/xxd/xxd.c - -Patch 6.1.032 -Problem: Can't specify a quickfix file without jumping to the first error. -Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan) -Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, - src/quickfix.c - -Patch 6.1.033 -Problem: GUI: When the selection is lost and the Visual highlighting is - changed to underlining, the cursor is left in a different - position. (Christian Michon) -Solution: Update the cursor position after redrawing the selection. -Files: src/ui.c - -Patch 6.1.034 -Problem: A CVS diff file isn't recognized as diff filetype. -Solution: Skip lines starting with "? " before checking for an "Index:" line. -Files: runtime/scripts.vim - -Patch 6.1.035 (extra, depends on 6.1.016) -Problem: Win32: Outputting Hebrew or Arabic text might have a problem with - reversing on MS-Windows 95/98/ME. -Solution: Restore the RevOut() function and use it in specific situations - only. (Ron Aaron) -Files: src/gui_w32.c - -Patch 6.1.036 -Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens) -Solution: Compute the right length of the regexp when it's empty. -Files: src/search.c - -Patch 6.1.037 -Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt - causes an incomplete redraw and the cursor isn't positioned. - (Lubomir Host) -Solution: Overrule 'lazyredraw' when do_redraw is set. -Files: src/main.c, src/screen.c - -Patch 6.1.038 -Problem: Multi-byte: When a ":s" command contains a multi-byte character - where the trail byte is '~' the text is messed up. -Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro) -Files: src/regexp.c - -Patch 6.1.039 -Problem: When folds are defined and the file is changed outside of Vim, - reloading the file doesn't update the folds. (Anders - Schack-Nielsen) -Solution: Recompute the folds after reloading the file. -Files: src/fileio.c - -Patch 6.1.040 -Problem: When changing directory for expanding a file name fails there is - no error message. -Solution: Give an error message for this situation. Don't change directory - if we can't return to the original directory. -Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c, - src/os_unix.c - -Patch 6.1.041 -Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in - the rhs. (Davyd Ondrejko) -Solution: Insert a CTRL-V before the leading space. Also display leading - and trailing white space in <> form. -Files: src/getchar.c, src/message.c - -Patch 6.1.042 -Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap - files. (Steve Talley) -Solution: Keep all matching swap file names. -Files: src/memline.c - -Patch 6.1.043 -Problem: After patch 6.1.040 a few warnings are produced. -Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn) -Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c - -Patch 6.1.044 (extra) -Problem: GUI: When using the find/replace dialog with text that contains a - slash, an invalid substitute command is generated. - On Win32 a find doesn't work when 'insertmode' is set. -Solution: Escape slashes with a backslash. - Make the Win32, Motif and GTK gui use common code for the - find/replace dialog. - Add the "match case" option for Motif and GTK. -Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h, - src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c - -Patch 6.1.045 -Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999, - moving the cursor down near the end of the file causes the text to - jump up and down. (Lubomir Host) -Solution: Take into account that the cursor may be on the last line of a - closed fold. -Files: src/move.c - -Patch 6.1.046 -Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black - rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor - disappear. (Nam SungHyun) -Solution: Correctly compute the height of the horizontal cursor. -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 6.1.047 -Problem: When skipping commands after an error was encountered, expressions - for ":if", ";elseif" and ":while" are still evaluated. -Solution: Skip the expression after an error. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.048 -Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters. -Solution: Recognize more characters as composing characters. (Jungshik Shin) -Files: src/mbyte.c - -Patch 6.1.049 (extra) -Problem: On a 32 bit display a valid color may cause an error message, - because its pixel value is negative. (Chris Paulson-Ellis) -Solution: Check for -11111 instead of the color being negative. - Don't add one to the pixel value, -1 may be used for white. -Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c, - src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c, - src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, - src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c, - src/gui_x11.c, src/mbyte.c, src/syntax.c - -Patch 6.1.050 (depends on 6.1.049) -Problem: After patch 6.1.049 the non-GUI version doesn't compile. -Solution: Add an #ifdef FEAT_GUI. (Robert Stanton) -Files: src/syntax.c - -Patch 6.1.051 (depends on 6.1.044) -Problem: Doesn't compile with GUI and small features. -Solution: Adjust the #if for ga_append(). -Files: src/misc2.c - -Patch 6.1.052 -Problem: Unix: The executable() function doesn't work when the "which" - command isn't available. -Solution: Go through $PATH manually. Also makes it work for VMS. -Files: src/os_unix.c - -Patch 6.1.053 -Problem: When 'sessionoptions' contains "globals", or "localoptions" and an - option value contains a line break, the resulting script is wrong. -Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula) -Files: src/eval.c - -Patch 6.1.054 -Problem: GUI: A mouse click is not recognized at the more prompt, even when - 'mouse' includes 'r'. -Solution: Recognize a mouse click at the more prompt. - Also accept a mouse click in the last line in the GUI. - Add "ml" entry in 'mouseshape'. -Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, - src/structs.h - -Patch 6.1.055 -Problem: When editing a compressed file, Vim will inspect the contents to - guess the filetype. -Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files. -Files: runtime/filetype.vim, runtime/plugin/gzip.vim - -Patch 6.1.056 -Problem: Loading the Syntax menu can take quite a bit of time. -Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the - available syntax files are not in the Syntax menu. -Files: runtime/doc/gui.txt, runtime/menu.vim - -Patch 6.1.057 -Problem: An ESC inside a mapping doesn't work as documented when - 'insertmode' is set, it does go from Visual or Normal mode to - Insert mode. (Benji Fisher) -Solution: Make it work as documented. -Files: src/normal.c - -Patch 6.1.058 -Problem: When there is a closed fold just above the first line in the - window, using CTRL-X CTRL-Y in Insert mode will show only one line - of the fold. (Alexey Marinichev) -Solution: Correct the topline by putting it at the start of the fold. -Files: src/move.c - -Patch 6.1.059 -Problem: ":redir > ~/file" doesn't work. (Stephen Rasku) -Solution: Expand environment variables in the ":redir >" argument. -Files: src/ex_docmd.c - -Patch 6.1.060 -Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting - a character just before a tab changes the tab into spaces. Undo - doesn't restore the tab. (Helmut Stiegler) -Solution: Don't replace the tab by spaces when it's not needed. Correctly - save the line before it's changed. -Files: src/ops.c - -Patch 6.1.061 -Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual - selection that ends just after a tab doesn't include that tab in - the highlighting. (Helmut Stiegler) -Solution: Use a different way to exclude the character under the cursor. -Files: src/screen.c - -Patch 6.1.062 -Problem: The "man" filetype plugin doesn't work properly on Solaris 5. -Solution: Use a different way to detect that "man -s" should be used. (Hugh - Sasse) -Files: runtime/ftplugin/man.vim - -Patch 6.1.063 -Problem: Java indenting doesn't work properly. -Solution: Ignore comments when checking if the indent doesn't increase after - a "}". -Files: runtime/indent/java.vim - -Patch 6.1.064 -Problem: The URLs that the netrw plugin recognized for ftp and rcp did not - conform to the standard method://[user@]host[:port]/path. -Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new - and the previous style. Also added a bit of dav/cadaver support. - (Charles Campbell) -Files: runtime/plugin/netrw.vim - -Patch 6.1.065 -Problem: VMS: The colorscheme, keymap and compiler menus are not filled in. -Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts) -Files: runtime/menu.vim - -Patch 6.1.066 (extra) -Problem: When calling system() in a plugin reading stdin hangs. -Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode - before the system() call. -Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c, - src/os_win16.c, src/os_win32.c - -Patch 6.1.067 -Problem: ":set viminfo+=f0" is not working. (Benji Fisher) -Solution: Check the "f" flag instead of "'" in 'viminfo'. -Files: src/mark.c - -Patch 6.1.068 -Problem: When a file is reloaded after it was changed outside of Vim, diff - mode isn't updated. (Michael Naumann) -Solution: Invalidate the diff info so that it's updated when needed. -Files: src/fileio.c - -Patch 6.1.069 -Problem: When 'showmatch' is set and "$" is in 'cpoptions', using - "C}<Esc>" may forget to remove the "$". (Preben Guldberg) -Solution: Restore dollar_vcol after displaying the matching cursor position. -Files: src/search.c - -Patch 6.1.070 (depends on 6.1.060) -Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams) -Solution: Add a typecast to int. -Files: src/ops.c - -Patch 6.1.071 -Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one - character too much. (David Necas) -Solution: Subtract one from the end position. -Files: src/ops.c - -Patch 6.1.072 -Problem: When a file name in a tags file starts with http:// or something - else for which there is a BufReadCmd autocommand, the file isn't - opened anyway. -Solution: Check if there is a matching BufReadCmd autocommand and try to - open the file. -Files: src/fileio.c, src/proto/fileio.pro, src/tag.c - -Patch 6.1.073 (extra) -Problem: BC5: Can't easily specify a tiny, small, normal, big or huge - version. -Solution: Allow selecting the version with the FEATURES variable. (Ajit - Thakkar) -Files: src/Make_bc5.mak - -Patch 6.1.074 -Problem: When 'cdpath' includes "../..", changing to a directory in which - we currently already are doesn't work. ff_check_visited() adds - the directory both when using it as the root for searching and for - the actual matches. (Stephen Rasku) -Solution: Use a separate list for the already searched directories. -Files: src/misc2.c - -Patch 6.1.075 (depends on 6.1.072) -Problem: Can't compile fileio.c on MS-Windows. -Solution: Add a declaration for the "p" pointer. (Madoka Machitani) -Files: src/fileio.c - -Patch 6.1.076 (extra) -Problem: Macintosh: explorer plugin doesn't work on Mac Classic. - IME doesn't work. Dialog boxes don't work on Mac OS X -Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn) - Fix IME support. (Muraoka Taro) - Disable dialog boxes. (Benji Fisher) -Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c - -Patch 6.1.077 -Problem: On a Debian system with ACL linking fails. (Lubomir Host) -Solution: When the "acl" library is used, check if the "attr" library is - present and use it. -Files: src/auto/configure, src/configure.in, src/link.sh - -Patch 6.1.078 -Problem: When using 'foldmethod' "marker" and the end marker appears before - the start marker in the file, no fold is found. (Nazri Ramliy) -Solution: Don't let the fold depth go negative. -Files: src/fold.c - -Patch 6.1.079 -Problem: When using "s" in Visual block mode with 'virtualedit' set, when - the selected block is after the end of some lines the wrong text - is inserted and some lines are skipped. (Servatius Brandt) -Solution: Insert the right text and extend short lines. -Files: src/ops.c - -Patch 6.1.080 -Problem: When using gcc with /usr/local already in the search path, adding - it again causes problems. -Solution: Adjust configure.in to avoid adding /usr/local/include and - /usr/local/lib when using GCC and they are already used. (Johannes - Zellner) -Files: src/auto/configure, src/configure.in - -Patch 6.1.081 -Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson) -Solution: Double the backslash to avoid the special meaning of "\_". -Files: src/ex_cmds.c - -Patch 6.1.082 -Problem: On MS-Windows the vimrc_example.vim script is sourced and then - mswin.vim. This enables using select mode, but since "p" is - mapped it doesn't replace the selection. -Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete. - (Vlad Sandrini) -Files: runtime/vimrc_example.vim - -Patch 6.1.083 -Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found. - (Martin Lacko) -Solution: Guess the right menu file based on the system. -Files: runtime/lang/menu_sk_sk.vim - -Patch 6.1.084 (depends on 6.1.080) -Problem: "include" and "lib" are mixed up when checking the directories gcc - already searches. -Solution: Swap the variable names. (SunHo Kim) -Files: src/auto/configure, src/configure.in - -Patch 6.1.085 -Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed - mode "(insert)" isn't removed. (Benji Fisher) -Solution: Clear the command line. -Files: src/normal.c - -Patch 6.1.086 (depends on 6.1.049) -Problem: The guifg color for CursorIM doesn't take effect. -Solution: Use the foreground color when it's defined. (Muraoka Taro) -Files: src/gui.c - -Patch 6.1.087 -Problem: A thesaurus with Japanese characters has problems with characters - in different word classes. -Solution: Only separate words with single-byte non-word characters. - (Muraoka Taro) -Files: src/edit.c - -Patch 6.1.088 (extra) -Problem: Win32: no debugging info is generated. Tags file excludes .cpp - files. -Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command. - (Muraoka Taro) -Files: src/Make_mvc.mak - -Patch 6.1.089 -Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan) -Solution: Use ss_base instead. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/os_unix.c - -Patch 6.1.090 -Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix - of long wrapping lines and a non-wrapping line. -Solution: Check that CTRL-F scrolls at least one line. -Files: src/move.c - -Patch 6.1.091 -Problem: GTK: Can't change preeditstate without setting 'imactivatekey'. -Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro - Matsumoto) -Files: src/mbyte.c - -Patch 6.1.092 -Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam) -Solution: Allow an argument for ":mapclear". -Files: src/ex_cmds.h - -Patch 6.1.093 (extra) -Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the - results can be messed up, because the cursor is moved. -Solution: Disallow direct scrolling when not waiting for a character. -Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.1.094 -Problem: Cygwin: Passing a file name that has backslashes isn't handled - very well. -Solution: Convert file name arguments to Posix. (Chris Metcalf) -Files: src/main.c - -Patch 6.1.095 -Problem: When using signs can free an item on the stack. - Overruling sign colors doesn't work. (Srikanth Sankaran) -Solution: Don't free the item on the stack. Use NULL instead of "none" for - the value of the color. -Files: src/gui_x11.c - -Patch 6.1.096 -Problem: When erasing the right halve of a double-byte character, it may - cause further characters to be erased. (Yasuhiro Matsumoto) -Solution: Make sure only one character is erased. -Files: src/screen.c - -Patch 6.1.097 (depends on 6.1.090) -Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the - file scrolls one line. (Lubomir Host) -Solution: Don't scroll when CTRL-F detects the end-of-file. -Files: src/move.c - -Patch 6.1.098 -Problem: MS-Windows: When the xxd program is under "c:\program files" the - "Convert to Hex" menu doesn't work. (Brian Mathis) -Solution: Put the path to xxd in double quotes. -Files: runtime/menu.vim - -Patch 6.1.099 -Problem: Memory corrupted when closing a fold with more than 99999 lines. -Solution: Allocate more space for the fold text. (Walter Briscoe) -Files: src/eval.c - -Patch 6.1.100 (extra, depends on 6.1.088) -Problem: Win32: VC5 and earlier don't support the /mapinfo option. -Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro) -Files: src/Make_mvc.mak - -Patch 6.1.101 -Problem: After using ":options" the tabstop of a new window is 15. Entry - in ":options" window for 'autowriteall' is wrong. (Antoine J - Mechelynck) Can't insert a space in an option value. -Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa". - Don't map space in Insert mode. -Files: runtime/optwin.vim - -Patch 6.1.102 -Problem: Unprintable and multi-byte characters in a statusline item are not - truncated correctly. (Yasuhiro Matsumoto) -Solution: Count the width of characters instead of the number of bytes. -Files: src/buffer.c - -Patch 6.1.103 -Problem: A function returning from a while loop, with 'verbose' set to 12 - or higher, doesn't mention the return value. A function with the - 'abort' attribute may return -1 while the verbose message says - something else. -Solution: Move the verbose message about returning from a function to - call_func(). (Servatius Brandt) -Files: src/eval.c - -Patch 6.1.104 -Problem: GCC 3.1 appears to have an optimizer problem that makes test 3 - crash. -Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug. - Filter out extra info from "gcc --version". -Files: src/auto/configure, src/configure.in - -Patch 6.1.105 -Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion - Nicolaas) -Solution: Redirect stderr, depending on the shell (like for 'shellredir'). -Files: src/option.c - -Patch 6.1.106 -Problem: The maze program crashes. -Solution: Change "11" to "27" and it works. (Greg Roelofs) -Files: runtime/macros/maze/mazeansi.c - -Patch 6.1.107 -Problem: When 'list' is set the current line in the error window may be - displayed wrong. (Muraoka Taro) -Solution: Don't continue the line after the $ has been displayed and the - rightmost column is reached. -Files: src/screen.c - -Patch 6.1.108 -Problem: When interrupting a filter command such as "!!sleep 20" the file - becomes read-only. (Mark Brader) -Solution: Only set the read-only flag when opening a buffer is interrupted. - When the shell command was interrupted, read the output that was - produced so far. -Files: src/ex_cmds.c, src/fileio.c - -Patch 6.1.109 -Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the - window heights. (Roman Neuhauser) -Solution: Ignore 'eadirection' for CTRL-W = -Files: src/window.c - -Patch 6.1.110 -Problem: When using ":badd file" when "file" is already present but not - listed, it stays unlisted. (David Frey) -Solution: Set 'buflisted'. -Files: src/buffer.c - -Patch 6.1.111 -Problem: It's not possible to detect using the Unix sources on Win32 or Mac. -Solution: Add has("macunix") and has("win32unix"). -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.1.112 -Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to - the cursor position from before this command but every position - where the argument was executed. -Solution: Only remember the cursor position from before the ":argdo", - ":bufdo" and ":windo". -Files: src/ex_cmds2.c, src/mark.c - -Patch 6.1.113 -Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser) -Solution: Decide what buffer to go to next before executing the command. -Files: src/ex_cmds2.c - -Patch 6.1.114 -Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives - a lalloc(0) error. (Chris Southern) -Solution: Don't allocate an array when it's size is zero. -Files: src/if_python.c - -Patch 6.1.115 -Problem: "das" on the white space at the end of a paragraph does not delete - the "." the sentence ends with. -Solution: Don't exclude the last character when it is not white space. -Files: src/search.c - -Patch 6.1.116 -Problem: When 'endofline' is changed while 'binary' is set a file should be - considered modified. (Olaf Buddenhagen) -Solution: Remember the 'eol' value when editing started and consider the - file changed when the current value is different and 'binary' is - set. Also fix that the window title isn't updated when 'ff' or - 'bin' changes. -Files: src/option.c, src/structs.h - -Patch 6.1.117 -Problem: Small problem with editing a file over ftp: and with Cygwin. -Solution: Remove a dot from a ":normal" command. Use "cygdrive" where - appropriate. (Charles Campbell) -Files: runtime/plugin/netrw.vim - -Patch 6.1.118 -Problem: When a file in diff mode is reloaded because it changed outside - of Vim, other windows in diff mode are not always updated. - (Michael Naumann) -Solution: After reloading a file in diff mode mark all windows in diff mode - for redraw. -Files: src/diff.c - -Patch 6.1.119 (extra) -Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be - a crash when connecting to Sniff. -Solution: Initialize sniff_rq_sep such that its value can be changed. - (Martin Egloff) -Files: src/if_sniff.c - -Patch 6.1.120 (depends on 6.1.097) -Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the - end of the file scrolls part of a closed fold. (Lubomir Host) -Solution: Adjust the first line to the start of a fold. -Files: src/move.c - -Patch 6.1.121 (depends on 6.1.098) -Problem: When starting Select mode from Insert mode, then using the Paste - menu entry, the cursor is left before the last pasted character. - (Mario Schweigler) -Solution: Set the cursor for Insert mode one character to the right. -Files: runtime/menu.vim - -Patch 6.1.122 -Problem: ":file name" creates a new buffer to hold the old buffer name, - which becomes the alternate file. This buffer is unexpectedly - listed. -Solution: Create the buffer for the alternate name unlisted. -Files: src/ex_cmds.c - -Patch 6.1.123 -Problem: A ":match" command with more than one argument doesn't report an - error. -Solution: Check for extra characters. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.124 -Problem: When trying to exit and there is a hidden buffer that had 'eol' - off and 'bin' set exiting isn't possible. (John McGowan) -Solution: Set b_start_eol when clearing the buffer. -Files: src/buffer.c - -Patch 6.1.125 -Problem: Explorer plugin asks for saving a modified buffer even when it's - open in another window as well. -Solution: Count the number of windows using the buffer. -Files: runtime/plugin/explorer.vim - -Patch 6.1.126 -Problem: Adding the choices in the syntax menu is consuming much of the - startup time of the GUI while it's not often used. -Solution: Only add the choices when the user wants to use them. -Files: Makefile, runtime/makemenu.vim, runtime/menu.vim, - runtime/synmenu.vim, src/Makefile - -Patch 6.1.127 -Problem: When using "--remote file" and the server has 'insertmode' set, - commands are inserted instead of being executed. (Niklas Volbers) -Solution: Go to Normal mode again after the ":drop" command. -Files: src/main.c - -Patch 6.1.128 -Problem: The expression "input('very long prompt')" puts the cursor in the - wrong line (column is OK). -Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto) -Files: src/ex_getln.c - -Patch 6.1.129 -Problem: On Solaris editing "file/" and then "file" results in using the - same buffer. (Jim Battle) -Solution: Before using stat(), check that there is no illegal trailing - slash. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/macros.h src/misc2.c, src/proto/misc2.pro - -Patch 6.1.130 -Problem: The documentation for some of the 'errorformat' items is unclear. -Solution: Add more examples and explain hard to understand items. (Stefan - Roemer) -Files: runtime/doc/quickfix.txt - -Patch 6.1.131 -Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI, - the CSI byte itself isn't copied. -Solution: Copy the CSI byte. -Files: src/gui_x11.c - -Patch 6.1.132 -Problem: Executing a register in Ex mode may cause commands to be skipped. - (John McGowan) -Solution: In Ex mode use an extra check if the register contents was - consumed, to avoid input goes into the typeahead buffer. -Files: src/ex_docmd.c - -Patch 6.1.133 -Problem: When drawing double-wide characters in the statusline, may clear - half of a character. (Yasuhiro Matsumoto) -Solution: Force redraw of the next character by setting the attributes - instead of putting a NUL in ScreenLines[]. Do put a NUL in - ScreenLines[] when overwriting half of a double-wide character. -Files: src/screen.c - -Patch 6.1.134 -Problem: An error for a trailing argument of ":match" should not be given - after ":if 0". (Servatius Brandt) -Solution: Only do the check when executing commands. -Files: src/ex_docmd.c - -Patch 6.1.135 -Problem: Passing a command to the shell that includes a newline always has - a backslash before the newline. -Solution: Remove one backslash before the newline. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.136 -Problem: When $TERM is "linux" the default for 'background' is "dark", even - though the GUI uses a light background. (Hugh Allen) -Solution: Don't mark the option as set when defaulting to "dark" for the - linux console. Also reset 'background' to "light" when the GUI - has a light background. -Files: src/option.c - -Patch 6.1.137 -Problem: Converting to HTML has a clumsy way of dealing with tabs which may - change the highlighting. -Solution: Replace tabs with spaces after converting a line to HTML. (Preben - Guldberg) -Files: runtime/syntax/2html.vim - -Patch 6.1.138 (depends on 6.1.126) -Problem: Adding extra items to the Syntax menu can't be done when the "Show - individual choices" menu is used. -Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim - files in the runtime path are loaded. (Servatius Brandt) - Also fix that a translated menu can't be removed. -Files: runtime/menu.vim - -Patch 6.1.139 -Problem: Cygwin: PATH_MAX is not defined. -Solution: Include limits.h. (Dan Sharp) -Files: src/main.c - -Patch 6.1.140 -Problem: Cygwin: ":args `ls *.c`" does not work if the shell command - produces CR NL line separators. -Solution: Remove the CR characters ourselves. (Pavol Juhas) -Files: src/os_unix.c - -Patch 6.1.141 -Problem: ":wincmd gx" may cause problems when mixed with other commands. - ":wincmd c" doesn't close the window immediately. (Benji Fisher) -Solution: Pass the extra command character directly instead of using the - stuff buffer and call ex_close() directly. -Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, - src/proto/window.pro, src/window.c - -Patch 6.1.142 -Problem: Defining paragraphs without a separating blank line isn't - possible. Paragraphs can't be formatted automatically. -Solution: Allow defining paragraphs with lines that end in white space. - Added the 'w' and 'a' flags in 'formatoptions'. -Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c, - src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro, - src/vim.h - -Patch 6.1.143 (depends on 6.1.142) -Problem: Auto formatting near the end of the file moves the cursor to a - wrong position. In Insert mode some lines are made one char too - narrow. When deleting a line undo might not always work properly. -Solution: Don't always move to the end of the line in the last line. Don't - position the cursor past the end of the line in Insert mode. - After deleting a line save the cursor line for undo. -Files: src/edit.c, src/ops.c, src/normal.c - -Patch 6.1.144 -Problem: Obtaining the size of a line in screen characters can be wrong. - A pointer may wrap around zero. -Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim - Dunleavy) -Files: src/charset.c - -Patch 6.1.145 -Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael - Marchand) -Solution: Rewrite the code that parses the received list of files to be more - robust. -Files: src/charset.c, src/gui_gtk_x11.c - -Patch 6.1.146 -Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and - $HOMEPATH, it is not used for storing the _viminfo file. (Normal - Diamond) -Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH. -Files: src/misc1.c - -Patch 6.1.147 (extra) -Problem: MS-Windows: When a dialog has no default button, pressing Enter - ends it anyway and all buttons are selected. -Solution: Don't end a dialog when there is no default button. Don't select - all button when there is no default. (Vince Negri) -Files: src/gui_w32.c - -Patch 6.1.148 (extra) -Problem: MS-Windows: ACL is not properly supported. -Solution: Add an access() replacement that also works for ACL. (Mike - Williams) -Files: runtime/doc/editing.txt, src/os_win32.c - -Patch 6.1.149 (extra) -Problem: MS-Windows: Can't use diff mode from the file explorer. -Solution: Add a "diff with Vim" context menu entry. (Dan Sharp) -Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h - -Patch 6.1.150 -Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd() - still uses backslash. (Yegappan Lakshmanan) -Solution: Adjust slashes in getcwd(). -Files: src/eval.c - -Patch 6.1.151 (extra) -Problem: Win32: The NTFS substream isn't copied. -Solution: Copy the substream when making a backup copy. (Muraoka Taro) -Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 6.1.152 -Problem: When $LANG is iso8859-1 translated menus are not used. -Solution: Change iso8859 to iso_8859. -Files: runtime/menu.vim - -Patch 6.1.153 -Problem: Searching in included files may search recursively when the path - starts with "../". (Sven Berkvens-Matthijsse) -Solution: Compare full file names, use inode/device when possible. -Files: src/search.c - -Patch 6.1.154 (extra) -Problem: DJGPP: "vim -h" leaves the cursor in a wrong position. -Solution: Don't position the cursor using uninitialized variables. (Jim - Dunleavy) -Files: src/os_msdos.c - -Patch 6.1.155 -Problem: Win32: Cursor may sometimes disappear in Insert mode. -Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe) -Files: src/option.c - -Patch 6.1.156 -Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly. -Solution: Clean up a few things. -Files: src/mbyte.c, src/structs.h - -Patch 6.1.157 -Problem: 'hlsearch' highlights only the second comma in ",,,,," with - "/,\@<=[^,]*". (Preben Guldberg) -Solution: Also check for an empty match to start just after a previous - match. -Files: src/screen.c - -Patch 6.1.158 -Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1". - (Preben Guldberg) -Solution: Take 'siso' into account when computing the horizontal scroll - position for "zs" and "ze". -Files: src/normal.c - -Patch 6.1.159 -Problem: When expanding an abbreviation that includes a multi-byte - character too many characters are deleted. (Andrey Urazov) -Solution: Delete the abbreviation counting characters instead of bytes. -Files: src/getchar.c - -Patch 6.1.160 -Problem: ":$read file.gz" doesn't work. (Preben Guldberg) -Solution: Don't use the '[ mark after it has become invalid. -Files: runtime/plugin/gzip.vim - -Patch 6.1.161 (depends on 6.1.158) -Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative - value. (Mike Williams) -Solution: Add a typecast. Add a check for 'siso' being negative. -Files: src/normal.c, src/option.c - -Patch 6.1.162 -Problem: Python interface: Didn't initialize threads properly. -Solution: Call PyEval_InitThreads() when starting up. -Files: src/if_python.c - -Patch 6.1.163 -Problem: Win32: Can't compile with Python after 6.1.162. -Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp) -Files: src/if_python.c - -Patch 6.1.164 -Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is - changed to "xxd" anyway. -Solution: Don't change 'filetype' when conversion failed. -Files: runtime/menu.vim - -Patch 6.1.165 -Problem: Making changes in several lines and then a change in one of these - lines that splits it in two or more lines, undo information was - corrupted. May cause a crash. (Dave Fishburn) -Solution: When skipping to save a line for undo because it was already - saved, move it to become the last saved line, so that when the - command changes the line count other saved lines are not involved. -Files: src/undo.c - -Patch 6.1.166 -Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting - with CTRL-V just after auto-indenting removes the indent. (Shlomi - Fish) -Solution: First insert an "x" and delete it again, so that the auto-indent - remains. -Files: runtime/mswin.vim - -Patch 6.1.167 -Problem: When giving a negative argument to ":retab" strange things start - happening. (Hans Ginzel) -Solution: Check for a negative value. -Files: src/ex_cmds.c - -Patch 6.1.168 -Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt. -Solution: Make CTRL-C stop the hit-enter prompt. -Files: src/message.c - -Patch 6.1.169 -Problem: bufexists() finds a buffer by using the name of a symbolic link to - it, but bufnr() doesn't. (Yegappan Lakshmanan) -Solution: When bufnr() can't find a buffer, try using the same method as - bufexists(). -Files: src/eval.c - -Patch 6.1.170 -Problem: Using ":mksession" uses the default session file name, but "vim - -S" doesn't. (Hans Ginzel) -Solution: Use the default session file name if "-S" is the last command - line argument or another option follows. -Files: runtime/doc/starting.txt, src/main.c - -Patch 6.1.171 -Problem: When opening a line just above a closed fold with "O" and the - comment leader is automatically inserted, the cursor is displayed - in the first column. (Sung-Hyun Nam) -Solution: Update the flag that indicates the cursor is in a closed fold. -Files: src/misc1.c - -Patch 6.1.172 -Problem: Command line completion of ":tag /pat" does not show the same - results as the tags the command actually finds. (Gilles Roy) -Solution: Don't modify the pattern to make it a regexp. -Files: src/ex_getln.c, src/tag.c - -Patch 6.1.173 -Problem: When using remote control to edit a position in a file and this - file is the current buffer and it's modified, the window is split - and the ":drop" command fails. -Solution: Don't split the window, keep editing the same buffer. - Use the ":drop" command in VisVim to avoid the problem there. -Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, - VisVim/Commands.cpp - -Patch 6.1.174 -Problem: It is difficult to know in a script whether an option not only - exists but really works. -Solution: Add "exists('+option')". -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.1.175 -Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim - will hang. (Piet Delport) -Solution: Don't keep reading characters to clear typeahead when an interrupt - was detected, stop when a single CTRL-C is read. -Files: src/getchar.c, src/ui.c - -Patch 6.1.176 -Problem: When the stack limit is very big a false out-of-stack error may - be detected. -Solution: Add a check for overflow of the stack limit computation. (Jim - Dunleavy) -Files: src/os_unix.c - -Patch 6.1.177 (depends on 6.1.141) -Problem: ":wincmd" does not allow a following command. (Gary Johnson) -Solution: Check for a following " | cmd". Also give an error for trailing - characters. -Files: src/ex_docmd.c - -Patch 6.1.178 -Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab. - (Bruce deVisser) -Solution: Replace with a literal Tab. -Files: src/normal.c - -Patch 6.1.179 (depends on 6.1.091) -Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin) -Solution: Include the missing definitions. -Files: src/mbyte.c - -Patch 6.1.180 -Problem: Use of the GUI code for forking is inconsistent. -Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer) -Files: src/gui.c - -Patch 6.1.181 -Problem: If the terminal doesn't wrap from the last char in a line to the - next line, the last column is blanked out. (Peter Karp) -Solution: Don't output a space to mark the wrap, but the same character - again. -Files: src/screen.c - -Patch 6.1.182 (depends on 6.1.142) -Problem: It is not possible to auto-format comments only. (Moshe Kaminsky) -Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format - comments. -Files: runtime/doc/change.txt, src/edit.c - -Patch 6.1.183 -Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with - illegal bytes gives "CONVERSION ERROR" even though no conversion - is done. 'readonly' is set, even though writing the file results - in an unmodified file. -Solution: For this specific error use "ILLEGAL BYTE" and don't set - 'readonly'. -Files: src/fileio.c - -Patch 6.1.184 (extra) -Problem: The extra mouse buttons found on some mice don't work. -Solution: Support two extra buttons for MS-Windows. (Michael Geddes) -Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c, - src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c, - src/misc1.c, src/misc2.c, src/normal.c, src/vim.h - -Patch 6.1.185 (depends on 6.1.182) -Problem: Can't compile without +comments feature. -Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson) -Files: src/edit.c - -Patch 6.1.186 (depends on 6.1.177) -Problem: ":wincmd" does not allow a following comment. (Aric Blumer) -Solution: Check for a following double quote. -Files: src/ex_docmd.c - -Patch 6.1.187 -Problem: Using ":doarg" with 'hidden' set and the current file is the only - argument and was modified gives an error message. (Preben - Guldberg) -Solution: Don't try re-editing the same file. -Files: src/ex_cmds2.c - -Patch 6.1.188 (depends on 6.1.173) -Problem: Unused variable in the small version. -Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS. -Files: src/ex_cmds2.c - -Patch 6.1.189 -Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric - Blumer) -Solution: Fall back to the input() function in this situation. -Files: src/eval.c - -Patch 6.1.190 (extra) -Problem: VMS: doesn't build with GTK GUI. Various other problems. -Solution: Fix building for GTK. Improved Perl, Python and TCL support. - Improved VMS documentation. (Zoltan Arpadffy) - Added Vimtutor for VMS (T. R. Wyant) -Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h, - src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms, - src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com, - src/testdir/Make_vms.mms - -Patch 6.1.191 -Problem: When using "vim -s script" and redirecting the output, the delay - for the "Output is not to a terminal" warning slows Vim down too - much. -Solution: Don't delay when reading commands from a script. -Files: src/main.c - -Patch 6.1.192 -Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson) -Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used. -Files: src/diff.c, src/main.c - -Patch 6.1.193 -Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave - Fishburn) -Solution: Check for a negative syntax id, used for keywords. -Files: src/syntax.c - -Patch 6.1.194 -Problem: When "t_ti" is set but it doesn't cause swapping terminal pages, - "ZZ" may cause the shell prompt to appear on top of the file-write - message. -Solution: Scroll the text up in the Vim page before swapping to the terminal - page. (Michael Schroeder) -Files: src/os_unix.c - -Patch 6.1.195 -Problem: The quickfix and preview windows always keep their height, while - other windows can't fix their height. -Solution: Add the 'winfixheight' option, so that a fixed height can be - specified for any window. Also fix that the wildmenu may resize a - one-line window to a two-line window if 'ls' is zero. -Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c, - src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c, - src/screen.c, src/structs.h, src/window.c - -Patch 6.1.196 (depends on 6.1.084) -Problem: On Mac OS X 10.2 generating osdef.h fails. -Solution: Add -no-cpp-precomp to avoid using precompiled header files, which - disables printing the search path. (Ben Fowler) -Files: src/auto/configure, src/configure.in - -Patch 6.1.197 -Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an - error message. (Servatius Brandt) -Solution: Double the backslash in "CTRL-\". -Files: src/ex_cmds.c - -Patch 6.1.198 (extra) (depends on 6.1.076) -Problem: Mac OS X: Dialogues don't work. -Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when - saving to a new file from the GUI. (Peter Cucka) -Files: src/feature.h, src/gui_mac.c - -Patch 6.1.199 -Problem: 'guifontwide' doesn't work on Win32. -Solution: Output each wide character separately. (Michael Geddes) -Files: src/gui.c - -Patch 6.1.200 -Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make - syntax highlighting very slow. -Solution: Check "eap->skip" appropriately. (Rob West) -Files: src/syntax.c - -Patch 6.1.201 (depends on 6.1.192) -Problem: Warning for illegal pointer combination. (Zoltan Arpadffy) -Solution: Add a typecast. -Files: src/diff.c - -Patch 6.1.202 (extra)(depends on 6.1.148) -Problem: Win32: filewritable() doesn't work properly on directories. -Solution: fix filewritable(). (Mike Williams) -Files: src/os_win32.c - -Patch 6.1.203 -Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway) -Solution: Avoid reading past the end of a line when "~" is empty. -Files: src/regexp.c - -Patch 6.1.204 (depends on 6.1.129) -Problem: Warning for an illegal pointer on Solaris. -Solution: Add a typecast. (Derek Wyatt) -Files: src/misc2.c - -Patch 6.1.205 -Problem: The gzip plugin changes the alternate file when editing a - compressed file. (Oliver Fuchs) -Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'. -Files: runtime/plugin/gzip.vim - -Patch 6.1.206 -Problem: The script generated with ":mksession" doesn't work properly when - some commands are mapped. -Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where - possible. (Muraoka Taro) -Files: src/ex_docmd.c, src/fold.c - -Patch 6.1.207 -Problem: Indenting a Java file hangs below a line with a comment after a - command. -Solution: Break out of a loop. (Andre Pang) - Also line up } with matching {. -Files: runtime/indent/java.vim - -Patch 6.1.208 -Problem: Can't use the buffer number from the Python interface. -Solution: Add buffer.number. (Michal Vitecek) -Files: src/if_python.c - -Patch 6.1.209 -Problem: Printing doesn't work on Mac OS classic. -Solution: Use a ":" for path separator when opening the resource file. (Axel - Kielhorn) -Files: src/ex_cmds2.c - -Patch 6.1.210 -Problem: When there is an iconv() conversion error when reading a file - there can be an error the next time iconv() is used. -Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto) -Files: src/fileio.c - -Patch 6.1.211 -Problem: The message "use ! to override" is confusing. -Solution: Make it "add ! to override". -Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c, - src/globals.h - -Patch 6.1.212 -Problem: When Vim was started with "-R" ":new" creates a buffer - 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg) -Solution: Don't set 'readonly in a new empty buffer for ":enew". -Files: src/ex_docmd.c - -Patch 6.1.213 -Problem: Using CTRL-W H may cause a big gap to appear below the last - window. (Aric Blumer) -Solution: Don't set the window height when there is a vertical split. - (Yasuhiro Matsumoto) -Files: src/window.c - -Patch 6.1.214 -Problem: When installing Vim and the runtime files were checked out from - CVS the CVS directories will also be installed. -Solution: Avoid installing the CVS dirs and their contents. -Files: src/Makefile - -Patch 6.1.215 -Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set. - (Xiangjiang Ma) -Solution: Adjust backslashes before printing the message. -Files: src/ex_docmd.c - -Patch 6.1.216 -Problem: When dynamically loading the iconv library, the error codes may be - confused. -Solution: Use specific error codes for iconv and redefine them for dynamic - loading. (Yasuhiro Matsumoto) -Files: src/fileio.c, src/mbyte.c, src/vim.h - -Patch 6.1.217 -Problem: When sourcing the same Vim script using a different name (symbolic - link or MS-Windows 8.3 name) it is listed twice with - ":scriptnames". (Tony Mechelynck) -Solution: Turn the script name into a full path before using it. On Unix - compare inode/device numbers. -Files: src/ex_cmds2.c - -Patch 6.1.218 -Problem: No error message for using the function argument "5+". (Servatius - Brandt) -Solution: Give an error message if a function or variable is expected but is - not found. -Files: src/eval.c - -Patch 6.1.219 -Problem: When using ":amenu :b 1<CR>" with a Visual selection and - 'insertmode' is set, Vim does not return to Insert mode. (Mickael - Marchand) -Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if - 'insertmode' is set and to Normal mode otherwise. Append this to - menus defined with ":amenu". -Files: src/edit.c, src/ex_getln.c, src/normal.c - -Patch 6.1.220 -Problem: When using a BufReadPost autocommand that changes the line count, - e.g., "$-1join", reloading a file that was changed outside Vim - does not work properly. (Alan G Isaac) -Solution: Make the buffer empty before reading the new version of the file. - Save the lines in a dummy buffer, so that they can be put back - when reading the file fails. -Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h, - src/proto/buffer.pro - -Patch 6.1.221 -Problem: Changing case may not work properly, depending on the current - locale. -Solution: Add the 'casemap' option to let the user chose how changing case - is to be done. - Also fix lowering case when an UTF-8 character doesn't keep the - same byte length. -Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure, - src/buffer.c, src/charset.c, src/config.h.in, src/configure.in, - src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c - src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc, - src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c, - src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c, - src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h, - src/syntax.c - -Patch 6.1.222 (depends on 6.1.219) -Problem: Patch 6.1.219 was incomplete. -Solution: Add the changes for ":amenu". -Files: src/menu.c - -Patch 6.1.223 (extra) -Problem: Win32: When IME is activated 'iminsert' is set, but it might never - be reset when IME is disabled. (Muraoka Taro) - All systems: 'iminsert' is set to 2 when leaving Insert mode, even - when langmap is being used. (Peter Valach) -Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro) - Don't store the status of the input method in 'iminsert' when - 'iminsert' is one. Also for editing the command line and for - arguments to Normal mode commands. -Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c - -Patch 6.1.224 -Problem: "expand('$VAR')" returns an empty string when the expanded $VAR - is not an existing file. (Aric Blumer) -Solution: Included non-existing files, as documented. -Files: src/eval.c - -Patch 6.1.225 -Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u - NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses - fileinfo(), the redraw is done after a delay to give the user time - to read the message. -Solution: Put the message from fileio() in "keep_msg", so that the redraw is - done before the delay (still needed to avoid the mode message - overwrites the fileinfo() message). -Files: src/buffer.c - -Patch 6.1.226 -Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin - Keith) -Solution: Save the typeahead buffer when obtaining a debug command. -Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro - -Patch 6.1.227 -Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf - = 5" does not give an error message. (Mikolaj Machowski) -Solution: Check for a ":" inside the variable name. -Files: src/eval.c - -Patch 6.1.228 (extra) -Problem: Win32: The special output function for Hangul is used too often, - causing special handling for other situations to be skipped. - bInComposition is always FALSE, causing ImeGetTempComposition() - always to return NULL. -Solution: Remove HanExtTextOut(). Delete the dead code around - bInComposition and ImeGetTempComposition(). -Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.1.229 -Problem: Win32: Conversion to/from often used codepages requires the iconv - library, which is not always available. -Solution: Use standard MS-Windows functions for the conversion when - possible. (mostly by Glenn Maynard) - Also fixes missing declaration for patch 6.1.220. -Files: src/fileio.c - -Patch 6.1.230 (extra) -Problem: Win16: building doesn't work. -Solution: Exclude the XBUTTON handling. (Vince Negri) -Files: src/gui_w48.c - -Patch 6.1.231 -Problem: Double clicking with the mouse to select a word does not work for - multi-byte characters. -Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword' - is used instead of 'isident'. Also fix that mixing ASCII with - multi-byte word characters doesn't work, the mouse class for - punctuation and word characters was mixed up. -Files: src/normal.c - -Patch 6.1.232 (depends on 6.1.226) -Problem: Using ex_normal_busy while it might not be available. (Axel - Kielhorn) -Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined. -Files: src/ex_cmds2.c - -Patch 6.1.233 -Problem: ":help expr-||" does not work. -Solution: Don't use the '|' as a command separator -Files: src/ex_cmds.c - -Patch 6.1.234 (depends on 6.1.217) -Problem: Get a warning for using a negative value for st_dev. -Solution: Don't assign a negative value to st_dev. -Files: src/ex_cmds2.c - -Patch 6.1.235 (depends on 6.1.223) -Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter - Valach) -Solution: Check "State" before resetting it to NORMAL. -Files: src/edit.c - -Patch 6.1.236 -Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and - when reloading a changed buffer. -Solution: Free a line after calling ml_append(). -Files: src/diff.c, src/fileio.c - -Patch 6.1.237 -Problem: Putting in Visual block mode does not work correctly when "$" was - used or when the first line is short. (Christian Michon) -Solution: First delete the selected text and then put the new text. Save - and restore registers as necessary. -Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro, - src/vim.h - -Patch 6.1.238 (extra) -Problem: Win32: The "icon=" argument for the ":menu" command does not - search for the bitmap file. -Solution: Expand environment variables and search for the bitmap file. - (Vince Negri) - Make it consistent, use the same mechanism for X11 and GTK. -Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c, - src/proto/gui.pro - -Patch 6.1.239 -Problem: Giving an error for missing :endif or :endwhile when being - interrupted. -Solution: Don't give these messages when interrupted. -Files: src/ex_docmd.c, src/os_unix.c - -Patch 6.1.240 (extra) -Problem: Win32 with BCC 5: CPU may be defined in the environment, which - causes a wrong argument for the compiler. (Walter Briscoe) -Solution: Use CPUNR instead of CPU. -Files: src/Make_bc5.mak - -Patch 6.1.241 -Problem: Something goes wrong when drawing or undrawing the cursor. -Solution: Remember when the cursor invalid in a better way. -Files: src/gui.c - -Patch 6.1.242 -Problem: When pasting a large number of lines on the command line it is not - possible to interrupt. (Jean Jordaan) -Solution: Check for an interrupt after each pasted line. -Files: src/ops.c - -Patch 6.1.243 (extra) -Problem: Win32: When the OLE version is started and wasn't registered, a - message pops up to suggest registering, even when this isn't - possible (when the registry is not writable). -Solution: Check if registering is possible before asking whether it should - be done. (Walter Briscoe) - Also avoid restarting Vim after registering. -Files: src/if_ole.cpp - -Patch 6.1.244 -Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg) -Solution: Include it here. -Files: src/vim.h - -Patch 6.1.245 -Problem: Comparing with ignored case does not work properly for Unicode - with a locale where case folding an ASCII character results in a - multi-byte character. (Glenn Maynard) -Solution: Handle ignore-case compare for Unicode differently. -Files: src/mbyte.c - -Patch 6.1.246 -Problem: ":blast" goes to the first buffer if the last one is unlisted. - (Andrew Stryker) -Solution: From the last buffer search backwards for the first listed buffer - instead of forwards. -Files: src/ex_docmd.c - -Patch 6.1.247 -Problem: ACL support doesn't always work properly. -Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry - Vignaud) -Files: src/auto/configure, src/configure.in - -Patch 6.1.248 -Problem: Typing 'q' at the more-prompt for ":let" does not quit the - listing. (Hari Krishna Dara) -Solution: Quit the listing when got_int is set. -Files: src/eval.c - -Patch 6.1.249 -Problem: Can't expand a path on the command line if it includes a "|" as a - trail byte of a multi-byte character. -Solution: Check for multi-byte characters. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 6.1.250 -Problem: When changing the value of 'lines' inside the expression set with - 'diffexpr' Vim might crash. (Dave Fishburn) -Solution: Don't allow changing the screen size while updating the screen. -Files: src/globals.h, src/option.c, src/screen.c - -Patch 6.1.251 -Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd". -Solution: Expand directory names for these commands. (Servatius Brandt) -Files: src/ex_docmd.c - -Patch 6.1.252 -Problem: "vi}" does not include a line break when the "}" is at the start - of a following line. (Kamil Burzynski) -Solution: Include the line break. -Files: src/search.c - -Patch 6.1.253 (extra) -Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way. - (Xiangjiang Ma) -Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version. - Update the Cygwin makefile to support more features. (Dan Sharp) -Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c - -Patch 6.1.254 -Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work. - ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work. - ":delfunc F{" does not give an error message. ':delfunc F{"F"}' - does not work. -Solution: Support magic braces for the exists() argument. (Vince Negri) - Check for trailing comments explicitly for ":unlet". Add support - for magic braces in further arguments of ":let". Look for a - parenthesis only after the function name. (Servatius Brandt) - Also expand magic braces for "exists('*expr')". Give an error - message for an invalid ":delfunc" argument. Allow quotes in the - ":delfunc" argument. -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - -Patch 6.1.255 (depends on 6.1.254) -Problem: Crash when loading menu.vim a second time. (Christian Robinson) - ":unlet garbage foo" tries unletting "foo" after an error message. - (Servatius Brandt) - Very long function arguments cause very long messages when - 'verbose' is 14 or higher. -Solution: Avoid reading from uninitialized memory. - Break out of a loop after an invalid argument for ":unlet". - Truncate long function arguments to 80 characters. -Files: src/eval.c - -Patch 6.1.256 (depends on 6.1.255) -Problem: Defining a function after ":if 0" could still cause an error - message for an existing function. - Leaking memory when there are trailing characters for ":delfunc". -Solution: Check the "skip" flag. Free the memory. (Servatius Brandt) -Files: src/eval.c - -Patch 6.1.257 -Problem: ":cwindow" always sets the previous window to the last but one - window. (Benji Fisher) -Solution: Set the previous window properly. -Files: src/globals.c, src/quickfix.c, src/window.c - -Patch 6.1.258 -Problem: Buffers menu doesn't work properly for multibyte buffer names. -Solution: Use a pattern to get the left and right part of the name. - (Yasuhiro Matsumoto) -Files: runtime/menu.vim - -Patch 6.1.259 (extra) -Problem: Mac: with 'patchmode' is used filenames are truncated. -Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston) -Files: src/os_mac.h - -Patch 6.1.260 (depends on 6.1.104) -Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El) -Solution: Use the same configure check as used for GCC 3.1. -Files: src/auto/configure, src/configure.in - -Patch 6.1.261 -Problem: When deleting a line in a buffer which is not the current buffer, - using the Perl interface Delete(), the cursor in the current - window may move. (Chris Houser) -Solution: Don't adjust the cursor position when changing another buffer. -Files: src/if_perl.xs - -Patch 6.1.262 -Problem: When jumping over folds with "z[", "zj" and "zk" the previous - position is not remembered. (Hari Krishna Dara) -Solution: Set the previous context mark before jumping. -Files: src/fold.c - -Patch 6.1.263 -Problem: When typing a multi-byte character that triggers an abbreviation - it is not inserted properly. -Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto) -Files: src/getchar.c - -Patch 6.1.264 (depends on patch 6.1.254) -Problem: exists() does not work for built-in functions. (Steve Wall) -Solution: Don't check for the function name to start with a capital. -Files: src/eval.c - -Patch 6.1.265 -Problem: libcall() can be used in 'foldexpr' to call any system function. - rename(), delete() and remote_send() can also be used in - 'foldexpr'. These are security problems. (Georgi Guninski) -Solution: Don't allow using libcall(), rename(), delete(), remote_send() and - similar functions in the sandbox. -Files: src/eval.c - -Patch 6.1.266 (depends on 6.1.265) -Problem: Win32: compile error in eval.c. (Bill McCarthy) -Solution: Move a variable declaration. -Files: src/eval.c - -Patch 6.1.267 -Problem: Using "p" to paste into a Visual selected area may cause a crash. -Solution: Allocate enough memory for saving the register contents. (Muraoka - Taro) -Files: src/ops.c - -Patch 6.1.268 -Problem: When triggering an abbreviation with a multi-byte character, this - character is not correctly inserted after expanding the - abbreviation. (Taro Muraoka) -Solution: Add ABBR_OFF to all characters above 0xff. -Files: src/edit.c, src/ex_getln.c, src/getchar.c - -Patch 6.1.269 -Problem: After using input() text written with ":redir" gets extra indent. - (David Fishburn) -Solution: Restore msg_col after using input(). -Files: src/ex_getln.c - -Patch 6.1.270 (depends on 6.1.260) -Problem: GCC 3.2.1 still seems to have an optimizer problem. -Solution: Use the same configure check as used for GCC 3.1. -Files: src/auto/configure, src/configure.in - -Patch 6.1.271 -Problem: When compiling without the +syntax feature there are errors. -Solution: Don't use some code for syntax highlighting. (Roger Cornelius) - Make test 45 work without syntax highlighting. - Also fix an error in a pattern matching: "\%(" was not supported. -Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in - -Patch 6.1.272 -Problem: After using ":set define<" a crash may happen. (Christian Robinson) -Solution: Make a copy of the option value in allocated memory. -Files: src/option.c - -Patch 6.1.273 -Problem: When the cursor doesn't blink, redrawing an exposed area may hide - the cursor. -Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro) -Files: src/gui.c - -Patch 6.1.274 (depends on 6.1.210) -Problem: Resetting the iconv() state after each error is wrong for an - incomplete sequence. -Solution: Don't reset the iconv() state. -Files: src/fileio.c - -Patch 6.1.275 -Problem: When using "v" in a startup script, get warning message that - terminal cannot highlight. (Charles Campbell) -Solution: Only give the message after the terminal has been initialized. -Files: src/normal.c - -Patch 6.1.276 -Problem: "gvim --remote file" doesn't prompt for an encryption key. -Solution: The further characters the client sends to the server are used. - Added inputsave() and inputrestore() to allow prompting the - user directly and not using typeahead. - Also fix possible memory leak for ":normal". -Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, - src/main.c, src/proto/getchar.pro, src/proto/ui.pro, - src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h - -Patch 6.1.277 (depends on 6.1.276) -Problem: Compilation error when building with small features. -Solution: Define trash_input_buf() when needed. (Kelvin Lee) -Files: src/ui.c - -Patch 6.1.278 -Problem: When using signs the line number of a closed fold doesn't line up - with the other line numbers. (Kamil Burzynski) -Solution: Insert two spaces for the sign column. -Files: src/screen.c - -Patch 6.1.279 -Problem: The prototype for smsg() and smsg_attr() do not match the function - definition. This may cause trouble for some compilers. (Nix) -Solution: Use va_list for systems that have stdarg.h. Use "int" instead of - "void" for the return type. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/proto.h, src/message.c - -Patch 6.1.280 -Problem: It's possible to use an argument "firstline" or "lastline" for a - function but using "a:firstline" or "a:lastline" in the function - won't work. (Benji Fisher) -Solution: Give an error message for these arguments. - Also avoid that the following function body causes a whole row of - errors, skip over it after an error in the first line. -Files: src/eval.c - -Patch 6.1.281 -Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler. -Solution: Set the cursor position before waiting for the argument of CTRL-G. - (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 6.1.282 -Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this. -Solution: Also accept "se " where "set " is accepted in a modeline. - (Yasuhiro Matsumoto) -Files: src/buffer.c - -Patch 6.1.283 -Problem: For ":sign" the icon file name cannot contain a space. -Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 6.1.284 -Problem: On Solaris there is a warning for "struct utimbuf". -Solution: Move including "utime.h" to outside the function. (Derek Wyatt) -Files: src/fileio.c - -Patch 6.1.285 -Problem: Can't wipe out a buffer with 'bufhide' option. -Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan) -Files: runtime/doc/options.txt, src/buffer.c, src/option.c, - src/quickfix.c - -Patch 6.1.286 -Problem: 'showbreak' cannot contain multi-byte characters. -Solution: Allow using all printable characters for 'showbreak'. -Files: src/charset.c, src/move.c, src/option.c - -Patch 6.1.287 (depends on 6.1.285) -Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up. -Solution: Wipe out when wiping out is asked for. -Files: src/buffer.c - -Patch 6.1.288 -Problem: ":silent function F" hangs. (Hari Krishna Dara) -Solution: Don't use msg_col, it is not incremented when using ":silent". - Also made the function output look a bit better. Don't translate - "function". -Files: src/eval.c - -Patch 6.1.289 (depends on 6.1.278) -Problem: Compiler warning for pointer. (Axel Kielhorn) -Solution: Add a typecast for " ". -Files: src/screen.c - -Patch 6.1.290 (extra) -Problem: Truncating long text for message box may break multi-byte - character. -Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto) -Files: src/os_mswin.c - -Patch 6.1.291 (extra) -Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it. -Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto) -Files: src/gui_w48.c - -Patch 6.1.292 (extra, depends on 6.1.253) -Problem: Win32: Can't compile with new MingW compiler. - Borland 5 makefile doesn't generate pathdef.c. -Solution: Remove -wwide-multiply argument. (Rene de Zwart) - Various fixes for other problems in Win32 makefiles. (Dan Sharp) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, - src/Make_mvc.mak - -Patch 6.1.293 -Problem: byte2line() returns a wrong result for some values. -Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith) - Add one to the line number when at the end of a block. -Files: src/memline.c - -Patch 6.1.294 -Problem: Can't include a multi-byte character in a string by its hex value. - (Benji Fisher) -Solution: Add "\u....": a character specified with up to four hex numbers - and stored according to the value of 'encoding'. -Files: src/eval.c - -Patch 6.1.295 (extra) -Problem: Processing the cs.po file generates an error. (Rahul Agrawal) -Solution: Fix the printf format characters in the translation. -Files: src/po/cs.po - -Patch 6.1.296 -Problem: Win32: When cancelling the font dialog 'guifont' remains set to - "*". -Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto) -Files: src/option.c - -Patch 6.1.297 -Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher) -Solution: Before executing the BufReadPost autocommands save the current - fileencoding, so that the file isn't marked changed. -Files: src/fileio.c - -Patch 6.1.298 -Problem: When using signs and the first line of a closed fold has a sign - it can be redrawn as if the fold was open. (Kamil Burzynski) -Solution: Don't redraw a sign inside a closed fold. -Files: src/screen.c - -Patch 6.1.299 -Problem: ":edit +set\ ro file" doesn't work. -Solution: Halve the number of backslashes in the "+cmd" argument. -Files: src/ex_docmd.c - -Patch 6.1.300 (extra) -Problem: Handling of ETO_IGNORELANGUAGE is confusing. -Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard) -Files: src/gui_w32.c - -Patch 6.1.301 (extra) -Problem: French translation of file-save dialog doesn't show file name. -Solution: Insert a star in the printf string. (Francois Terrot) -Files: src/po/fr.po - -Patch 6.1.302 -Problem: Counting lines of the Visual area is incorrect for closed folds. - (Mikolaj Machowski) -Solution: Correct the start and end for the closed fold. -Files: src/normal.c - -Patch 6.1.303 (extra) -Problem: The Top/Bottom/All text does not always fit in the ruler when - translated to Japanese. Problem with a character being wider when - in a bold font. -Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro - Matsumoto) -Files: src/gui_w32.c - -Patch 6.1.304 (extra, depends on 6.1.292) -Problem: Win32: Postscript is always enabled in the MingW Makefile. - Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro - Matsumoto) -Solution: Change an ifdef to an ifeq. (Madoka Machitani) - Use the Borland make redirection to generate pathdef.c. (Maurice - Barnum) -Files: src/Make_bc5.mak, src/Make_ming.mak - -Patch 6.1.305 -Problem: When 'verbose' is 14 or higher, a function call may cause reading - uninitialized data. (Walter Briscoe) -Solution: Check for end-of-string in trunc_string(). -Files: src/message.c - -Patch 6.1.306 -Problem: The AIX VisualAge cc compiler doesn't define __STDC__. -Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee) -Files: src/os_unix.h - -Patch 6.1.307 -Problem: When a double-byte character has an illegal tail byte the display - is messed up. (Yasuhiro Matsumoto) -Solution: Draw "XX" instead of the wrong character. -Files: src/screen.c - -Patch 6.1.308 -Problem: Can't reset the Visual mode returned by visualmode(). -Solution: Use an optional argument to visualmode(). (Charles Campbell) -Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, - src/structs.h - -Patch 6.1.309 -Problem: The tutor doesn't select German if the locale name is - "German_Germany.1252". (Joachim Hofmann) -Solution: Check for "German" in the locale name. Also check for - ".ge". And include the German and Greek tutors. -Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim, - runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737 - -Patch 6.1.310 (depends on 6.1.307) -Problem: All double-byte characters are displayed as "XX". -Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.1.311 (extra) -Problem: VMS: path in window title doesn't include necessary separator. - file version doesn't always work properly with Unix. - Crashes because of memory overwrite in GUI. - Didn't always handle files with lowercase and correct path. -Solution: Fix the problems. Remove unnecessary file name translations. - (Zoltan Arpadffy) -Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, - src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c - -Patch 6.1.312 -Problem: When using ":silent" debugging is also done silently. -Solution: Disable silence while at the debug prompt. -Files: src/ex_cmds2.c - -Patch 6.1.313 -Problem: When a ":drop fname" command is used and "fname" is open in - another window, it is also opened in the current window. -Solution: Change to the window with "fname" instead. - Don't redefine the argument list when dropping only one file. -Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c, - src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro - -Patch 6.1.314 (depends on 6.1.126) -Problem: Missing backslash in "Generic Config file" syntax menu. -Solution: Insert the backslash. (Zak Beck) -Files: runtime/makemenu.vim, runtime/synmenu.vim - -Patch 6.1.315 (extra) -Problem: A very long hostname may lead to an unterminated string. Failing - to obtain a hostname may result in garbage. (Walter Briscoe) -Solution: Add a NUL at the end of the hostname buffer. -Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c, - src/os_win32.c - -Patch 6.1.316 -Problem: When exiting with "wq" and there is a hidden buffer, after the - "file changed" dialog there is a warning for a changed buffer. - (Ajit Thakkar) -Solution: Do update the buffer timestamps when exiting. -Files: src/fileio.c - -Patch 6.1.317 -Problem: Closing a window may cause some of the remaining windows to be - positioned wrong if there is a mix of horizontal and vertical - splits. (Stefan Ingi Valdimarsson) -Solution: Update the frame sizes before updating the window positions. -Files: src/window.c - -Patch 6.1.318 -Problem: auto/pathdef.c can include wrong quotes when a compiler flag - includes quotes. -Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida) -Files: src/Makefile - -Patch 6.1.319 (depends on 6.1.276) -Problem: Using "--remote +cmd file" does not execute "cmd". -Solution: Call inputrestore() in the same command line as inputsave(), - otherwise it will never get executed. -Files: src/main.c - -Patch 6.1.320 (depends on 6.1.313) -Problem: When a ":drop one\ file" command is used the file "one\ file" is - opened, the backslash is not removed. (Taro Muraoka) -Solution: Handle backslashes correctly. Always set the argument list to - keep it simple. -Files: runtime/doc/windows.txt, src/ex_cmds.c - -Patch 6.1.321 -Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual - mode with the mouse. -Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming - Madsen) -Files: src/normal.c - -Patch 6.1.322 (extra, depends on 6.1.315) -Problem: Win32: The host name is always "PC " plus the real host name. -Solution: Don't insert "PC " before the host name. -Files: src/os_win32.c - -Patch 6.1.323 -Problem: ":registers" doesn't stop listing for a "q" at the more prompt. - (Hari Krishna Dara) -Solution: Check for interrupt and got_int. -Files: src/ops.c, src/proto/ops.pro - -Patch 6.1.324 -Problem: Crash when dragging a vertical separator when <LeftMouse> is - remapped to jump to another window. -Solution: Pass the window pointer to the function doing the dragging instead - of always using the current window. (Daniel Elstner) - Also fix that starting a drag changes window focus. -Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h, - src/window.c - -Patch 6.1.325 -Problem: Shift-Tab is not automatically recognized in an xterm. -Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott) -Files: src/term.c - -Patch 6.1.326 -Problem: Using a search pattern may read from uninitialized data (Yasuhiro - Matsumoto) -Solution: Initialize pointers to NULL. -Files: src/regexp.c - -Patch 6.1.327 -Problem: When opening the "mbyte.txt" help file the utf-8 characters are - unreadable, because the fileencoding is forced to be latin1. -Solution: Check for utf-8 encoding first in help files. (Daniel Elstner) -Files: runtime/doc/mbyte.txt, src/fileio.c - -Patch 6.1.328 -Problem: Prototype for enc_canon_search() is missing. -Solution: Add the prototype. (Walter Briscoe) -Files: src/mbyte.c - -Patch 6.1.329 -Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %" - does not work properly. (Hari Krishna Dara) -Solution: Always escape spaces when expanding "%". Don't split argument for - <f-args> in a user command when only one argument is used. -Files: src/ex_docmd.c - -Patch 6.1.330 -Problem: GTK, Motif and Athena: Keypad keys produce the same code as - non-keypad keys, making it impossible to map them separately. -Solution: Use different termcap codes for the keypad keys. (Neil Bird) -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 6.1.331 -Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks - the spot where help files from plugins are to be listed. -Solution: Add a "local-additions" tag and use that to find the right spot. -Files: runtime/doc/help.txt, src/ex_cmds.c - -Patch 6.1.332 (extra) -Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8. - Perl 5.8 also does not work with Cygwin and Ming. -Solution: Adjust the function calls. (Taro Muraoka) - Adjust the cyg and ming makefiles. (Dan Sharp) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/if_perl.xs - -Patch 6.1.333 (extra) -Problem: Win32: Can't handle Unicode text on the clipboard. - Can't pass NUL byte, it becomes a line break. (Bruce DeVisser) -Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard) - Also support copy/paste of NUL bytes. -Files: src/os_mswin.c, src/os_win16.c src/os_win32.c - -Patch 6.1.334 (extra, depends on 6.1.303) -Problem: Problem with drawing Hebrew characters. -Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.1.335 (extra) -Problem: Failure of obtaining the cursor position and window size is - ignored. -Solution: Remove a semicolon after an "if". (Walter Briscoe) -Files: src/gui_w32.c - -Patch 6.1.336 (extra) -Problem: Warning for use of function prototypes of smsg(). -Solution: Define HAVE_STDARG_H. (Walter Briscoe) -Files: src/os_win32.h - -Patch 6.1.337 -Problem: When using "finish" in debug mode in function B() for ":call - A(B())" does not stop after B() is finished. -Solution: Increase debug_level while evaluating a function. -Files: src/ex_docmd.c - -Patch 6.1.338 -Problem: When using a menu that checks out the current file from Insert - mode, there is no warning for the changed file until exiting - Insert mode. (Srikanth Sankaran) -Solution: Add a check for need_check_timestamps in the Insert mode loop. -Files: src/edit.c - -Patch 6.1.339 -Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji - Fisher) -Solution: Return "g:var" for global variables when that is what is being - expanded. (Flemming Madsen) -Files: src/eval.c - -Patch 6.1.340 (extra, depends on 6.1.332) -Problem: Win32: Can't compile the Perl interface with nmake. -Solution: Don't compare the version number as a string but as a number. - (Juergen Kraemer) -Files: src/Make_mvc.mak - -Patch 6.1.341 -Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a - double-wide character. For CTRL-R and CTRL-K in Insert mode the " - or ? is not displayed. -Solution: Draw the cursor in the next character cell. Display the " or ? - over the right half of the double-wide character. (Yasuhiro - Matsumoto) Also fix that cancelling a digraph doesn't redraw - a double-byte character correctly. -Files: src/edit.c, src/gui.c, src/mbyte.c - -Patch 6.1.342 (depends on 6.1.341) -Problem: With 'rightleft' set typing "c" on a double-wide character causes - the cursor to be displayed one cell to the left. -Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto) -Files: src/gui.c - -Patch 6.1.343 (depends on 6.1.342) -Problem: Cannot compile with the +multi_byte feature but without +rightleft. - Cannot compile without the GUI. -Solution: Fix the #ifdefs. (partly by Nam SungHyun) -Files: src/gui.c, src/mbyte.c, src/ui.c - -Patch 6.1.344 -Problem: When using ":silent filetype" the output is still put in the - message history. (Hari Krishna Dara) -Solution: Don't add messages in the history when ":silent" is used. -Files: src/message.c - -Patch 6.1.345 (extra) -Problem: Win32: 'imdisable' doesn't work. -Solution: Make 'imdisable' work. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.1.346 -Problem: The scroll wheel can only scroll the current window. -Solution: Make the scroll wheel scroll the window that the mouse points to. - (Daniel Elstner) -Files: src/edit.c, src/gui.c, src/normal.c, src/term.c - -Patch 6.1.347 -Problem: When using cscope to list matching tags, the listed number is - sometimes not equal to what cscope uses. (Vihren Milev) -Solution: For cscope tags use only one table, don't give tags in the current - file a higher priority. -Files: src/tag.c - -Patch 6.1.348 -Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme - <tab>" results in "zellner" instead of the first entry. (Anand - Hariharan) -Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen) -Files: src/ex_getln.c - -Patch 6.1.349 -Problem: "vim --serverlist" when no server was ever started gives an error - message without "\n". - "vim --serverlist" doesn't exit when the X server can't be - contacted, it starts Vim unexpectedly. (Ricardo Signes) -Solution: Don't give an error when no Vim server was ever started. - Treat failing of opening the display equal to errors inside the - remote*() functions. (Flemming Madsen) -Files: src/if_xcmdsrv.c, src/main.c - -Patch 6.1.350 -Problem: When entering a buffer with ":bnext" for the first time, using an - autocommand to restore the last used cursor position doesn't work. - (Paolo Giarusso) -Solution: Don't use the last known cursor position of the current Vim - invocation if an autocommand changed the position. -Files: src/buffer.c - -Patch 6.1.351 (depends on 6.1.349) -Problem: Crash when starting Vim the first time in an X server. (John - McGowan) -Solution: Don't call xFree() with a fixed string. -Files: src/if_xcmdsrv.c - -Patch 6.1.352 (extra, depends on 6.1.345) -Problem: Win32: Crash when setting "imdisable" in _vimrc. -Solution: Don't call IME functions when imm32.dll was not loaded (yet). - Also add typecasts to avoid Compiler warnings for - ImmAssociateContext() argument. -Files: src/gui_w32.c - -Patch 6.1.353 (extra, depends on 6.1.334) -Problem: Problem with drawing Arabic characters. -Solution: Don't use ETO_PDY, do use padding. -Files: src/gui_w32.c - -Patch 6.1.354 (extra, depends on 6.1.333) -Problem: MS-Windows 98: Notepad can't paste text copied from Vim when - 'encoding' is "utf-8". -Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron) -Files: src/os_mswin.c - -Patch 6.1.355 -Problem: In a regexp '\n' will never match anything in a string. -Solution: Make '\n' match a newline character. -Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c, - src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c, - src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h - -Patch 6.1.356 (extra, depends on, well, eh, several others) -Problem: Compiler warnings for using convert_setup() and a few other - things. -Solution: Add typecasts. -Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c - -Patch 6.1.357 -Problem: CR in the quickfix window jumps to the error under the cursor, but - this doesn't work in Insert mode. (Srikanth Sankaran) -Solution: Handle CR in Insert mode in the quickfix window. -Files: src/edit.c - -Patch 6.1.358 -Problem: The tutor doesn't select another locale version properly. -Solution: Insert the "let" command. (Yasuhiro Matsumoto) -Files: runtime/tutor/tutor.vim - -Patch 6.1.359 (extra) -Problem: Mac Carbon: Vim doesn't get focus when started from the command - line. Crash when using horizontal scroll bar. -Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka) -Files: src/gui_mac.c - -Patch 6.1.360 (depends on 6.1.341) -Problem: In Insert mode CTRL-K ESC messes up a multi-byte character. - (Anders Helmersson) -Solution: Save all bytes of a character when displaying a character - temporarily. -Files: src/edit.c, src/proto/screen.pro, src/screen.c - -Patch 6.1.361 -Problem: Cannot jump to a file mark with ":'M". -Solution: Allow jumping to another file for a mark in an Ex address when it - is the only thing in the command line. -Files: src/ex_docmd.c - -Patch 6.1.362 -Problem: tgetent() may return zero for success. tgetflag() may return -1 - for an error. -Solution: Check tgetflag() for returning a positive value. Add an autoconf - check for the value that tgetent() returns. -Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c - -Patch 6.1.363 -Problem: byte2line() can return one more than the number of lines. -Solution: Return -1 if the offset is one byte past the end. -Files: src/memline.c - -Patch 6.1.364 -Problem: That the FileChangedShell autocommand event never nests makes it - difficult to reload a file in a normal way. -Solution: Allow nesting for the FileChangedShell event but do not allow - triggering itself again. - Also avoid autocommands for the cmdline window in rare cases. -Files: src/ex_getln.c, src/fileio.c, src/window.c - -Patch 6.1.365 (depends on 6.1.217) -Problem: Setting a breakpoint in a sourced file with a relative path name - doesn't work. (Servatius Brandt) -Solution: Expand the file name to a full path. -Files: src/ex_cmds2.c - -Patch 6.1.366 -Problem: Can't use Vim with Netbeans. -Solution: Add the Netbeans interface. Includes support for sign icons and - "-fg" and "-bg" arguments for GTK. Add the 'autochdir' - option. (Gordon Prieur, George Hernandez, Dave Weatherford) - Make it possible to display both a sign with a text and one with - line highlighting in the same line. - Add support for Agide, interface version 2.1. - Also fix that when 'iskeyword' includes '?' the "*" command - doesn't work properly on a word that includes "?" (Bill McCarthy): - Don't escape "?" to "\?" when searching forward. -Files: runtime/doc/Makefile, runtime/doc/netbeans.txt, - runtime/doc/options.txt, runtime/doc/various.txt, - src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in, - src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c, - src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, - src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c, - src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c, - src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c, - src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro, - src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro, - src/proto/gui_x11.pro, src/proto/misc2.pro, - src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro, - src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c, - src/vim.h, src/window.c, src/workshop.c - -Patch 6.1.367 (depends on 6.1.365) -Problem: Setting a breakpoint in a function doesn't work. For a sourced - file it doesn't work when symbolic links are involved. (Servatius - Brandt) -Solution: Expand the file name in the same way as do_source() does. Don't - prepend the path to a function name. -Files: src/ex_cmds2.c - -Patch 6.1.368 -Problem: Completion for ":map" does not include <silent> and <script>. - ":mkexrc" do not save the <silent> attribute of mappings. -Solution: Add "<silent>" to the generated map commands when appropriate. - (David Elstner) - Add <silent> and <script> to command line completion. -Files: src/getchar.c - -Patch 6.1.369 (extra) -Problem: VMS: Vim hangs when attempting to edit a read-only file in the - terminal. Problem with VMS filenames for quickfix. -Solution: Rewrite low level input. Remove version number from file name in - a couple more places. Fix crash after patch 6.1.362. Correct - return code for system(). (Zoltan Arpadffy, Tomas Stehlik) -Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro, - src/os_vms_conf.h, src/quickfix.c, src/ui.c - -Patch 6.1.370 -Problem: #ifdef nesting is unclear. -Solution: Insert spaces to indicate the nesting. -Files: src/os_unix.c - -Patch 6.1.371 -Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line. -Solution: Add one to the column when comparing with virtual column (Andrew - Pimlott) -Files: src/buffer.c - -Patch 6.1.372 -Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe) -Solution: Change int into long. -Files: src/structs.h, src/syntax.c - -Patch 6.1.373 -Problem: The default page header for printing is not translated. -Solution: Add _() around the two places where "Page" is used. (Mike - Williams) Translate the default value of the 'titleold' and - 'printheader' options. -Files: src/ex_cmds2.c, src/option.c - -Patch 6.1.374 (extra) -Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin. -Solution: Add makefile and modified resource files. (Rene de Zwart) - Also support Cygwin. (Alejandro Lopez_Valencia) -Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile, - GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc - -Patch 6.1.375 -Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces. - (Xiangjiang Ma) -Solution: Don't insert backslashes for spaces in a shell command. -Files: src/ex_docmd.c - -Patch 6.1.376 -Problem: "vim --version" and "vim --help" have a non-zero exit code. - That is unusual. (Petesea) -Solution: Use a zero exit code. -Files: src/main.c - -Patch 6.1.377 -Problem: Can't add words to 'lispwords' option. -Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser) -Files: src/option.c - -Patch 6.1.378 -Problem: When two buffer-local user commands are ambiguous, a full match - with a global user command isn't found. (Hari Krishna Dara) -Solution: Detect this situation and accept the global command. -Files: src/ex_docmd.c - -Patch 6.1.379 -Problem: Linux with kernel 2.2 can't use the alternate stack in combination - with threading, causes an infinite loop. -Solution: Don't use the alternate stack in this situation. -Files: src/os_unix.c - -Patch 6.1.380 -Problem: When 'winminheight' is zero and the quickfix window is zero lines, - entering the window doesn't make it higher. (Christian J. - Robinson) -Solution: Make sure the current window is at least one line high. -Files: src/window.c - -Patch 6.1.381 -Problem: When a BufWriteCmd is used and it leaves the buffer modified, the - window may still be closed. (Hari Krishna Dara) -Solution: Return FAIL from buf_write() when the buffer is still modified - after a BufWriteCmd autocommand was used. -Files: src/fileio.c - -Patch 6.1.382 (extra) -Problem: Win32 GUI: When using two monitors, the code that checks/fixes the - window size and position (e.g. when a font changes) doesn't work - properly. (George Reilly) -Solution: Handle a double monitor situation. (Helmut Stiegler) -Files: src/gui_w32.c - -Patch 6.1.383 -Problem: The filling of the status line doesn't work properly for - multi-byte characters. (Nam SungHyun) - There is no check for going past the end of the buffer. -Solution: Properly distinguish characters and bytes. Properly check for - running out of buffer space. -Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c - -Patch 6.1.384 -Problem: It is not possible to find if a certain patch has been included. - (Lubomir Host) -Solution: Support using has() to check if a patch was included. -Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro, - src/version.c - -Patch 6.1.385 (depends on 6.1.383) -Problem: Can't compile without the multi-byte feature. -Solution: Move an #ifdef. (Christian J. Robinson) -Files: src/buffer.c - -Patch 6.1.386 -Problem: Get duplicate tags when running ":helptags". -Solution: Do the other halve of moving a section to another help file. -Files: runtime/tagsrch.txt - -Patch 6.1.387 (depends on 6.1.373) -Problem: Compiler warning for pointer cast. -Solution: Add (char_u *). -Files: src/option.c - -Patch 6.1.388 (depends on 6.1.384) -Problem: Compiler warning for pointer cast. -Solution: Add (char *). Only include has_patch() when used. -Files: src/eval.c, src/version.c - -Patch 6.1.389 (depends on 6.1.366) -Problem: Balloon evaluation doesn't work for GTK. - has("balloon_eval") doesn't work. -Solution: Add balloon evaluation for GTK. Also improve displaying of signs. - (Daniel Elstner) - Also make ":gui" start the netbeans connection and avoid using - netbeans functions when the connection is not open. -Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h, - src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c, - src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c, - src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro, - src/structs.h, src/syntax.c, src/ui.c, src/workshop.c - -Patch 6.1.390 (depends on 6.1.389) -Problem: It's not possible to tell Vim to save and exit through the - Netbeans interface. Would still try to send balloon eval text - after the connection is closed. - Can't use Unicode characters for sign text. -Solution: Add functions "saveAndExit" and "getModified". Check for a - working connection before sending a balloonText event. - various other cleanups. - Support any character for sign text. (Daniel Elstner) -Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c, - src/netbeans.c, src/screen.c - -Patch 6.1.391 -Problem: ml_get() error when using virtualedit. (Charles Campbell) -Solution: Get a line from a specific window, not the current one. -Files: src/charset.c - -Patch 6.1.392 (depends on 6.1.383) -Problem: Highlighting in the 'statusline' is in the wrong position when an - item is truncated. (Zak Beck) -Solution: Correct the start of 'statusline' items properly for a truncated - item. -Files: src/buffer.c - -Patch 6.1.393 -Problem: When compiled with Python and threads, detaching the terminal may - cause Vim to loop forever. -Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel - Elstner) -Files: src/auto/configure,, src/configure.in - -Patch 6.1.394 (depends on 6.1.390) -Problem: The netbeans interface doesn't recognize multibyte glyph names. -Solution: Check the number of cells rather than bytes to decide - whether a glyph name is not a filename. (Daniel Elstner) -Files: src/netbeans.c - -Patch 6.1.395 (extra, depends on 6.1.369) -Problem: VMS: OLD_VMS is never defined. Missing function prototype. -Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to - os_vms.pro. (Zoltan Arpadffy) -Files: src/Make_vms.mms, src/proto/os_vms.pro - -Patch 6.1.396 (depends on 6.1.330) -Problem: Compiler warnings for using enum. -Solution: Add typecast to char_u. -Files: src/gui_gtk_x11.c, src/gui_x11.c - -Patch 6.1.397 (extra) -Problem: The install program may use a wrong path for the diff command if - there is a space in the install directory path. -Solution: Use double quotes around the path if necessary. (Alejandro - Lopez-Valencia) Also use double quotes around the file name - arguments. -Files: src/dosinst.c - -Patch 6.1.398 -Problem: Saving the typeahead for debug mode causes trouble for a test - script. (Servatius Brandt) -Solution: Add the ":debuggreedy" command to avoid saving the typeahead. -Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c, - src/ex_docmd.c, src/proto/ex_cmds2.pro - -Patch 6.1.399 -Problem: Warning for unused variable. -Solution: Remove the variable two_or_more. -Files: src/ex_cmds.c - -Patch 6.1.400 (depends on 6.1.381) -Problem: When a BufWriteCmd wipes out the buffer it may still be accessed. -Solution: Don't try accessing a buffer that has been wiped out. -Files: src/fileio.c - -Patch 6.1.401 (extra) -Problem: Building the Win16 version with Borland 5.01 doesn't work. - "make test" doesn't work with Make_dos.mak. (Walter Briscoe) -Solution: Various fixes to the w16 makefile. (Walter Briscoe) - Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp". -Files: src/Make_w16.mak, src/testdir/Make_dos.mak - -Patch 6.1.402 -Problem: When evaluating a function name with curly braces, an error - is not handled consistently. -Solution: Accept the result of a curly braces expression when an - error was encountered. Skip evaluating an expression in curly - braces when skipping. (Servatius Brandt) -Files: src/eval.c - -Patch 6.1.403 (extra) -Problem: MS-Windows 16 bit: compiler warnings. -Solution: Add typecasts. (Walter Briscoe) -Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c, - src/syntax.c - -Patch 6.1.404 (extra) -Problem: Various small problems. -Solution: Fix comments. Various small additions, changes in indent, removal - of unused items and fixes. -Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim, - src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak, - src/Make_cyg.mak, src/Make_ming.mak, src/Makefile, - src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, - src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c, - src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c, - src/message.c, src/misc1.c, src/misc2.c, src/normal.c, - src/option.c, src/os_os2_cfg.h, src/os_win32.c, - src/proto/getchar.pro, src/proto/message.pro, - src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c, - src/term.c, src/testdir/test15.in, src/testdir/test15.ok, - src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile - -Patch 6.1.405 -Problem: A few files are missing from the toplevel Makefile. -Solution: Add the missing files. -Files: Makefile - -Patch 6.1.406 (depends on 6.1.392) -Problem: When a statusline item doesn't fit arbitrary text appears. - (Christian J. Robinson) -Solution: When there is just enough room but not for the "<" truncate the - statusline item like there is no room. -Files: src/buffer.c - -Patch 6.1.407 -Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew - Pimlott) -Solution: Reset 'scrollbind' when opening a help window. -Files: src/ex_cmds.c - -Patch 6.1.408 -Problem: When 'rightleft' is set unprintable character 0x0c is displayed as - ">c0<". -Solution: Reverse the text of the hex character. -Files: src/screen.c - -Patch 6.1.409 -Problem: Generating tags for the help doesn't work for some locales. -Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel - Elstner) -Files: runtime/doc/Makefile - -Patch 6.1.410 (depends on 6.1.390) -Problem: Linking error when compiling with Netbeans but without sign icons. - (Malte Neumann) -Solution: Don't define buf_signcount() when sign icons are unavailable. -Files: src/buffer.c - -Patch 6.1.411 -Problem: When 'virtualedit' is set, highlighting a Visual block beyond the - end of a line may be wrong. -Solution: Correct the virtual column when the end of the line is before the - displayed part of the line. (Muraoka Taro) -Files: src/screen.c - -Patch 6.1.412 -Problem: When swapping terminal screens and using ":gui" to start the GUI, - the shell prompt may be after a hit-enter prompt. -Solution: Output a newline in the terminal when starting the GUI and there - was a hit-enter prompt.. -Files: src/gui.c - -Patch 6.1.413 -Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't - work correctly. -Solution: Save the register before overwriting it and put the resulting text - on the clipboard afterwards. (Muraoka Taro) -Files: src/normal.c, src/ops.c - -Patch 6.1.414 (extra, depends on 6.1.369) -Problem: VMS: Vim busy waits when waiting for input. -Solution: Delay for a short while before getting another character. (Zoltan - Arpadffy) -Files: src/os_vms.c - -Patch 6.1.415 -Problem: When there is a vertical split and a quickfix window, reducing the - size of the Vim window may result in a wrong window layout and a - crash. -Solution: When reducing the window size and there is not enough space for - 'winfixheight' set the frame height to the larger height, so that - there is a retry while ignoring 'winfixheight'. (Yasuhiro - Matsumoto) -Files: src/window.c - -Patch 6.1.416 (depends on 6.1.366) -Problem: When using the Netbeans interface, a line with a sign cannot be - changed. -Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded - area. -Files: src/netbeans.c - -Patch 6.1.417 -Problem: Unprintable multi-byte characters are not handled correctly. - Multi-byte characters above 0xffff are displayed as another - character. -Solution: Handle unprintable multi-byte characters. Display multi-byte - characters above 0xffff with a marker. Recognize UTF-16 words and - BOM words as unprintable. (Daniel Elstner) -Files: src/charset.c, src/mbyte.c, src/screen.c - -Patch 6.1.418 -Problem: The result of strftime() is in the current locals. Need to - convert it to 'encoding'. -Solution: Obtain the current locale and convert the argument for strftime() - to it and the result back to 'encoding'. (Daniel Elstner) -Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c, - src/proto/mbyte.pro, src/option.c, src/os_mswin.c - -Patch 6.1.419 -Problem: Vim doesn't compile on AIX 5.1. -Solution: Don't define _NO_PROTO on this system. (Uribarri) -Files: src/auto/configure, src/configure.in - -Patch 6.1.420 (extra) -Problem: convert_input() has an unnecessary STRLEN(). - Conversion from UCS-2 to a codepage uses word count instead of - byte count. -Solution: Remove the STRLEN() call. (Daniel Elstner) - Always use byte count for string_convert(). -Files: src/gui_w32.c, src/mbyte.c - -Patch 6.1.421 (extra, depends on 6.1.354) -Problem: MS-Windows 9x: When putting text on the clipboard it can be in - the wrong encoding. -Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard) -Files: src/os_mswin.c - -Patch 6.1.422 -Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping - screens. (Neil Bird) -Solution: Set msg_didany also when sending a message to the terminal - directly. -Files: src/message.c - -Patch 6.1.423 -Problem: Can't find arbitrary text in help files. -Solution: Added the ":helpgrep" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, - src/proto/quickfix.pro, src/quickfix.c - -Patch 6.1.424 (extra) -Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show - menu items. -Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO. - (Muraoka Taro) -Files: src/Make_mvc.mak - -Patch 6.1.425 -Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag. -Solution: Do add the "help-tags" tag for that specific directory. -Files: src/ex_cmds.c - -Patch 6.1.426 -Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff) -Solution: Don't wait for the "+cmd" argument to have been edited. -Files: src/main.c - -Patch 6.1.427 -Problem: Several error messages for regexp patterns are not translated. -Solution: Use _() properly. (Muraoka Taro) -Files: src/regexp.c - -Patch 6.1.428 -Problem: FreeBSD: wait() may hang when compiled with Python support and - doing a system() call in a startup script. -Solution: Use waitpid() instead of wait() and poll every 10 msec, just like - what is done in the GUI. -Files: src/os_unix.c - -Patch 6.1.429 (depends on 6.1.390) -Problem: Crash when using showmarks.vim plugin. (Charles Campbell) -Solution: Check for sign_get_text() returning a NULL pointer. -Files: src/screen.c - -Patch 6.1.430 -Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai) -Solution: Skip over backslashed parens. -Files: src/search.c - -Patch 6.1.431 -Problem: Debug commands end up in redirected text. -Solution: Disable redirection while handling debug commands. -Files: src/ex_cmds2.c - -Patch 6.1.432 (depends on 6.1.375) -Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls) -Solution: Don't add backslashes, handle it like ":!cmd". -Files: src/ex_docmd.c - -Patch 6.1.433 -Problem: ":popup" only works for Win32. -Solution: Add ":popup" support for GTK. (Daniel Elstner) -Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c, - src/proto/gui_gtk.pro - -Patch 6.1.434 (extra) -Problem: Win32: When there are more than 32767 lines, the scrollbar has a - roundoff error. -Solution: Make a click on an arrow move one line. Also move the code to - gui_w48.c, there is hardly any difference between the 16 bit and - 32 bit versions. (Walter Briscoe) -Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.1.435 -Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew - Pimlott) -Solution: Give an error message for wrong arguments of ":winsize" and - ":winpos". -Files: src/ex_docmd.c - -Patch 6.1.436 -Problem: When a long UTF-8 file contains an illegal byte it's hard to find - out where it is. (Ron Aaron) -Solution: Add the line number to the error message. -Files: src/fileio.c - -Patch 6.1.437 (extra, depends on 6.1.421) -Problem: Using multi-byte functions when they are not available. -Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri) - Also fix a pointer type mistake. (Walter Briscoe) -Files: src/os_mswin.c - -Patch 6.1.438 -Problem: When Perl has thread support Vim cannot use the Perl interface. -Solution: Add a configure check and disable Perl when it will not work. - (Aron Griffis) -Files: src/auto/configure, src/configure.in - -Patch 6.1.439 -Problem: Netbeans: A "create" function doesn't actually create a buffer, - following functions may fail. -Solution: Create a Vim buffer without a name when "create" is called. - (Gordon Prieur) -Files: runtime/doc/netbeans.txt, src/netbeans.c - -Patch 6.1.440 -Problem: The "@*" command doesn't obtain the actual contents of the - clipboard. (Hari Krishna Dara) -Solution: Obtain the clipboard text before executing the command. -Files: src/ops.c - -Patch 6.1.441 -Problem: "zj" and "zk" cannot be used as a motion command after an - operator. (Ralf Hetzel) -Solution: Accept these commands as motion commands. -Files: src/normal.c - -Patch 6.1.442 -Problem: Unicode 3.2 defines more space and punctuation characters. -Solution: Add the new characters to the Unicode tables. (Raphael Finkel) -Files: src/mbyte.c - -Patch 6.1.443 (extra) -Problem: Win32: The gvimext.dll build with Borland 5.5 requires another - DLL. -Solution: Build a statically linked version by default. (Dan Sharp) -Files: GvimExt/Make_bc5.mak - -Patch 6.1.444 (extra) -Problem: Win32: Enabling a build with gettext support is not consistent. -Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp) -Files: src/Make_bc5.mak, src/Make_mvc.mak - -Patch 6.1.445 (extra) -Problem: DJGPP: get warning for argument of putenv() -Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe) -Files: src/os_msdos.h - -Patch 6.1.446 (extra) -Problem: Win32: The MingW makefile uses a different style of arguments than - other makefiles. - Dynamic IME is not supported for Cygwin. -Solution: Use "no" and "yes" style arguments. Remove the use of the - dyn-ming.h include file. (Dan Sharp) - Do not include the ime.h file and adjust the makefile. (Alejandro - Lopez-Valencia) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c, - src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c - -Patch 6.1.447 -Problem: "make install" uses "make" directly for generating help tags. -Solution: Use $(MAKE) instead of "make". (Tim Mooney) -Files: src/Makefile - -Patch 6.1.448 -Problem: 'titlestring' has a default maximum width of 50 chars per item. -Solution: Remove the default maximum (also for 'statusline'). -Files: src/buffer.c - -Patch 6.1.449 -Problem: When "1" and "a" are in 'formatoptions', auto-formatting always - moves a newly added character to the next line. (Servatius Brandt) -Solution: Don't move a single character to the next line when it was just - typed. -Files: src/edit.c - -Patch 6.1.450 -Problem: Termcap entry "kB" for back-tab is not recognized. -Solution: Use back-tab as the shift-tab code. -Files: src/keymap.h, src/misc2.c, src/term.c - -Patch 6.1.451 -Problem: GUI: When text in the find dialog contains a slash, a backslash is - inserted the next time it is opened. (Mezz) -Solution: Remove escaped backslashes and question marks. (Daniel Elstner) -Files: src/gui.c - -Patch 6.1.452 (extra, after 6.1.446) -Problem: Win32: IME support doesn't work for MSVC. -Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia) -Files: src/gui_w32.c - -Patch 6.1.453 (after 6.1.429) -Problem: When compiled without sign icons but with sign support, adding a - sign may cause a crash. -Solution: Check for the text sign to exist before using it. (Kamil - Burzynski) -Files: src/screen.c - -Patch 6.1.454 (extra) -Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251 - results in utf-8 bytes. (Perelyubskiy) - Conversion from DBCS to UCS2 does not work when 'encoding' is not - the active codepage. -Solution: Introduce enc_codepage and use it for conversion to 'encoding' - (Glenn Maynard) - Use MultiByteToWideChar() and WideCharToMultiByte() instead of - iconv(). Should do most needed conversions without iconv.dll. -Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c, - src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h - -Patch 6.1.455 -Problem: Some Unicode characters can be one or two character cells wide. -Solution: Add the 'ambiwidth' option to tell Vim how to display these - characters. (Jungshik Shin) - Also reset the script ID when setting an option to its default - value, so that ":verbose set" won't give wrong info. -Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h - -Patch 6.1.456 (extra, after 6.1.454) -Problem: Win32: IME doesn't work. -Solution: ImmGetCompositionStringW() returns the size in bytes, not words. - (Yasuhiro Matsumoto) Also fix typecast problem. -Files: src/gui_w32.c, src/os_mswin.c - -Patch 6.1.457 -Problem: An empty register in viminfo causes conversion to fail. -Solution: Don't convert an empty string. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c, src/mbyte.c - -Patch 6.1.458 -Problem: Compiler warning for pointer. -Solution: Add a typecast. -Files: src/ex_cmds.c - -Patch 6.1.459 (extra) -Problem: Win32: libcall() may return an invalid pointer and cause Vim to - crash. -Solution: Add a strict check for the returned pointer. (Bruce Mellows) -Files: src/os_mswin.c - -Patch 6.1.460 -Problem: GTK: after scrolling the text one line with a key, clicking the - arrow of the scrollbar does not always work. (Nam SungHyun) -Solution: Always update the scrollbar thumb when the value changed, even - when it would not move, like for RISCOS. (Daniel Elstner) -Files: src/gui.c, src/gui.h - -Patch 6.1.461 -Problem: When a keymap is active, typing a character in Select mode does - not use it. (Benji Fisher) -Solution: Apply Insert mode mapping to the character typed in Select mode. -Files: src/normal.c - -Patch 6.1.462 -Problem: When autocommands wipe out a buffer, a crash may happen. (Hari - Krishna Dara) -Solution: Don't decrement the window count of a buffer before calling the - autocommands for it. When re-using the current buffer, watch out - for autocommands changing the current buffer. -Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro - -Patch 6.1.463 -Problem: When writing a compressed file, the file name that gzip stores in - the file is the weird temporary file name. (David Rennalls) -Solution: Use the real file name when possible. -Files: runtime/plugin/gzip.vim - -Patch 6.1.464 -Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer) -Solution: Check for a negative index. -Files: src/syntax.c - -Patch 6.1.465 (after 6.1.454) -Problem: Compile error when using cygwin. -Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia) - Undefine WIN32 after including windows.h -Files: src/mbyte.c - -Patch 6.1.466 -Problem: The "-f" argument is a bit obscure. -Solution: Add the "--nofork" argument. Improve the help text a bit. -Files: runtime/doc/starting.txt, src/main.c - -Patch 6.1.467 -Problem: Setting the window title doesn't work for Chinese. -Solution: Use an X11 function to convert text to a text property. (Kentaro - Nakazawa) -Files: src/os_unix.c - -Patch 6.1.468 -Problem: ":mksession" also stores folds for buffers which will not be - restored. -Solution: Only store folds for a buffer with 'buftype' empty and help files. -Files: src/ex_docmd.c - -Patch 6.1.469 -Problem: 'listchars' cannot contain multi-byte characters. -Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff) -Files: src/message.c, src/option.c, src/screen.c - -Patch 6.1.470 (lang) -Problem: Polish messages don't show up correctly on MS-Windows. -Solution: Convert messages to cp1250. (Mikolaj Machowski) - Also add English message translations, because it got in the way - of the patch. -Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po - -Patch 6.1.471 -Problem: ":jumps" output continues after pressing "q" at the more-prompt. - (Hari Krishna Dara) -Solution: Check for "got_int" being set. -Files: src/mark.c - -Patch 6.1.472 -Problem: When there is an authentication error when connecting to the X - server Vim exits. -Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid - the exit. Also do this in the main loop, so that when the X - server exits a Vim running in a console isn't killed. -Files: src/globals.h, src/main.c, src/os_unix.c - -Patch 6.1.473 -Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash. -Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto) -Files: src/if_perl.xs - -Patch 6.1.474 -Problem: When opening the command-line window in Ex mode it's impossible to - go back. (Pavol Juhas) -Solution: Reset "exmode_active" and restore it when the command-line window - is closed. -Files: src/ex_getln.c - - -Patch 6.2f.001 -Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0. -Solution: Change the way the Ruby check is done. (Aron Griffis) -Files: src/auto/configure, src/configure.in - -Patch 6.2f.002 -Problem: The output of ":ls" doesn't show whether a buffer had read errors. -Solution: Add the "x" flag in the ":ls" output. -Files: runtime/doc/windows.txt, src/buffer.c - -Patch 6.2f.003 -Problem: Test49 doesn't properly test the behavior of ":catch" without an - argument. -Solution: Update test49. (Servatius Brandt) -Files: src/testdir/test49.ok, src/testdir/test49.vim - -Patch 6.2f.004 -Problem: "vim --version" always uses CR/LF in the output. -Solution: Omit the CR. -Files: src/message.c, src/os_unix.c - -Patch 6.2f.005 -Problem: Two error messages without a colon after the number. -Solution: Add the colon. (Taro Muraoka) -Files: src/if_cscope.c - -Patch 6.2f.006 -Problem: When saving a file takes a while and Vim regains focus this can - result in a "file changed outside of Vim" warning and ml_get() - errors. (Mike Williams) -Solution: Add the "b_saving" flag to avoid checking the timestamp while the - buffer is being saved. (Michael Schaap) -Files: src/fileio.c, src/structs.h - -Patch 6.2f.007 -Problem: Irix compiler complains about multiple defined symbols. - vsnprintf() is not available. (Charles Campbell) -Solution: Insert EXTERN for variables in globals.h. Change the configure - check for vsnprintf() from compiling to linking. -Files: src/auto/configure, src/configure.in, src/globals.h - -Patch 6.2f.008 -Problem: The Aap recipe doesn't work with Aap 0.149. -Solution: Change targetarg to TARGETARG. Update the mysign file. -Files: src/main.aap, src/mysign - -Patch 6.2f.009 (extra) -Problem: Small problem when building with Borland 5.01. -Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe) -Files: src/dosinst.h - -Patch 6.2f.010 -Problem: Warning for missing prototypes. -Solution: Add missing prototypes. (Walter Briscoe) -Files: src/if_cscope.c - -Patch 6.2f.011 -Problem: The configure script doesn't work with autoconf 2.5x. -Solution: Add square brackets around a header check. (Aron Griffis) - Note: touch src/auto/configure after applying this patch. -Files: src/configure.in - -Patch 6.2f.012 -Problem: ":echoerr" doesn't work correctly inside try/endtry. -Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt) -Files: src/eval.c - -Patch 6.2f.013 (extra) -Problem: Macintosh: Compiler warning for a trigraph. -Solution: Insert a backslash before each question mark. (Peter Cucka) -Files: src/os_mac.h - -Patch 6.2f.014 (extra) -Problem: Macintosh: ex_eval is not included in the project file. -Solution: Add ex_eval. (Dany St-Amant) -Files: src/os_mac.pbproj/project.pbxproj - -Patch 6.2f.015 (extra) -Problem: Win32: When changing header files not all source files involved - are recompiled. -Solution: Improve the dependency rules. (Dan Sharp) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 6.2f.016 -Problem: "vim --version > ff" on non-Unix systems results in a file with a - missing line break at the end. (Bill McCArthy) -Solution: Add a line break. -Files: src/main.c - -Patch 6.2f.017 -Problem: Unix: starting Vim in the background and then bringing it to the - foreground may cause the terminal settings to be wrong. -Solution: Check for tcsetattr() to return an error, retry when it does. - (Paul Tapper) -Files: src/os_unix.c - -Patch 6.2f.018 -Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses - one. Redefining it causes a warning message. -Solution: Undefine OK before defining it to one. (Taro Muraoka) -Files: src/vim.h - -Patch 6.2f.019 -Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in - curses.h. -Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE. -Files: src/ex_cmds2.c - -Patch 6.2f.020 -Problem: Win32: test50 produces beeps and fails with some versions of diff. -Solution: Remove empty lines and convert the output to dos fileformat. -Files: src/testdir/test50.in - -Patch 6.2f.021 -Problem: Running configure with "--enable-netbeans" disables Netbeans. - (Gordon Prieur) -Solution: Fix the tests in configure.in where the default is to enable a - feature. Fix that "--enable-acl" reported "yes" confusingly. -Files: src/auto/configure, src/configure.in, src/mysign - -Patch 6.2f.022 -Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a - hang. (Derek Wyatt) -Solution: Check for a non-empty string before and after the comma. -Files: src/option.c - -Patch 6.2f.023 -Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is - correct Vim still can't find the help files. -Solution: Also look for a tags file in the directory of 'helpfile'. -Files: src/tag.c - -Patch 6.2f.024 -Problem: When 'delcombine' is set and a character has more than two - composing characters "x" deletes them all. -Solution: Always delete only the last composing character. -Files: src/misc1.c - -Patch 6.2f.025 -Problem: When reading a file from stdin that has DOS line endings but a - missing end-of-line for the last line 'fileformat' becomes "unix". - (Bill McCarthy) -Solution: Don't add the missing line break when re-reading the text from the - buffer. -Files: src/fileio.c - -Patch 6.2f.026 -Problem: When typing new text at the command line, old composing characters - may be displayed. -Solution: Don't read composing characters from after the end of the - text to be displayed. -Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro, - src/screen.c - -Patch 6.2f.027 -Problem: Compiler warnings for unsigned char pointers. (Tony Leneis) -Solution: Add typecasts to char pointer. -Files: src/quickfix.c - -Patch 6.2f.028 -Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be - made active again. Cursor isn't updated immediately when changing - XIM activation. Japanese XIM may hang when using 'imactivatekey'. - Can't activate XIM after typing fFtT command or ":sh". -Solution: Properly set the flag that indicates the IM is active. Update the - cursor right away. Do not send a key-release event. Handle - Normal mode and running an external command differently. - (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.2f.029 -Problem: Mixing use of int and enum. -Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef. -Files: src/if_cscope.c, src/if_cscope.h - -Patch 6.2f.030 (after 6.2f.028) -Problem: Cursor moves up when using XIM. -Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.2f.031 -Problem: Crash when listing a function argument in the debugger. (Ron Aaron) -Solution: Init the name field of an argument to NULL. -Files: src/eval.c - -Patch 6.2f.032 -Problem: When a write fails for a ":silent!" while inside try/endtry the - BufWritePost autocommands are not triggered. -Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt) -Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim - -Patch 6.2f.033 -Problem: Cscope: re-entrance problem for ":cscope" command. Checking for - duplicate database didn't work well for Win95. Didn't check for - duplicate databases after an empty entry. -Solution: Don't set postponed_split too early. Remember first empty - database entry. (Sergey Khorev) -Files: src/if_cscope.c - -Patch 6.2f.034 -Problem: The netbeans interface cannot be used on systems without - vsnprintf(). (Tony Leneis) -Solution: Use EMSG(), EMSGN() and EMSG2() instead. -Files: src/auto/configure, src/configure.in, src/netbeans.c - -Patch 6.2f.035 -Problem: The configure check for the netbeans interface doesn't work if the - socket and nsl libraries are required. -Solution: Check for the socket and nsl libraries before the netbeans check. -Files: src/auto/configure, src/configure.in - -Patch 6.2f.036 -Problem: Moving leftwards over text with an illegal UTF-8 byte moves one - byte instead of one character. -Solution: Ignore an illegal byte after the cursor position. -Files: src/mbyte.c - -Patch 6.2f.037 -Problem: When receiving a Netbeans command at the hit-enter or more prompt - the screen is redrawn but Vim is still waiting at the prompt. -Solution: Quit the prompt like a CTRL-C was typed. -Files: src/netbeans.c - -Patch 6.2f.038 -Problem: The dependency to run autoconf causes a patch for configure.in - to run autoconf, even though the configure script was updated as - well. -Solution: Only run autoconf with "make autoconf". -Files: src/Makefile - -Patch 6.2f.039 -Problem: CTRL-W K makes the new top window very high. -Solution: When 'equalalways' is set equalize the window heights. -Files: src/window.c - - -============================================================================== -VERSION 6.3 *version-6.3* - -This section is about improvements made between version 6.2 and 6.3. - -This is mainly a bug-fix release. There are also a few new features. -The major number of new items is in the runtime files and translations. - - -Changed *changed-6.3* -------- - -The intro message also displays a note about sponsoring Vim, mixed randomly -with the message about helping children in Uganda. - -Included the translated menus, keymaps and tutors with the normal runtime -files. The separate "lang" archive now only contains translated messages. - -Made the translated menu file names a bit more consistent. Use "latin1" for -"iso_8859-1" and "iso_8859-15". - -Removed the "file_select.vim" script from the distribution. It's not more -useful than other scripts that can be downloaded from www.vim.org. - -The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows -it used to be dos fileformat, but ":helptags" generates a unix format file. - - -Added *added-6.3* ------ - -New commands: - :cNfile go to last error in previous file - :cpfile idem - :changes print the change list - :keepmarks following command keeps marks where they are - :keepjumps following command keeps jumplist and marks - :lockmarks following command keeps marks where they are - :redrawstatus force a redraw of the status line(s) - -New options: - 'antialias' Mac OS X: use smooth, antialiased fonts - 'helplang' preferred help languages - -Syntax files: - Arch inventory (Nikolai Weibull) - Calendar (Nikolai Weibull) - Ch (Wayne Cheng) - Controllable Regex Mutilator (Nikolai Weibull) - D (Jason Mills) - Desktop (Mikolaj Machowski) - Dircolors (Nikolai Weibull) - Elinks configuration (Nikolai Weibull) - FASM (Ron Aaron) - GrADS scripts (Stefan Fronzek) - Icewm menu (James Mahler) - LDIF (Zak Johnson) - Locale input, fdcc. (Dwayne Bailey) - Pinfo config (Nikolai Weibull) - Pyrex (Marco Barisione) - Relax NG Compact (Nikolai Weibull) - Slice (Morel Bodin) - VAX Macro Assembly (Tom Uijldert) - grads (Stefan Fronzek) - libao (Nikolai Weibull) - mplayer (Nikolai Weibull) - rst (Nikolai Weibull) - tcsh (Gautam Iyer) - yaml (Nikolai Weibull) - -Compiler plugins: - ATT dot (Marcos Macedo) - Apple Project Builder (Alexander von Below) - Intel (David Harrison) - bdf (Nikolai Weibull) - icc (Peter Puck) - javac (Doug Kearns) - neato (Marcos Macedo) - onsgmls (Robert B. Rowsome) - perl (Christian J. Robinson) - rst (Nikolai Weibull) - se (SmartEiffel) (Doug Kearns) - tcl (Doug Kearns) - xmlwf (Robert B. Rowsome) - -Filetype plugins: - Aap (Bram Moolenaar) - Ch (Wayne Cheng) - Css (Nikolai Weibull) - Pyrex (Marco Barisione) - Rst (Nikolai Weibull) - -Indent scripts: - Aap (Bram Moolenaar) - Ch (Wayne Cheng) - DocBook (Nikolai Weibull) - MetaPost (Eugene Minkovskii) - Objective-C (Kazunobu Kuriyama) - Pyrex (Marco Barisione) - Rst (Nikolai Weibull) - Tcsh (Gautam Iyer) - XFree86 configuration file (Nikolai Weibull) - Zsh (Nikolai Weibull) - -Keymaps: - Greek for cp1253 (Panagiotis Louridas) - Hungarian (Magyar) (Laszlo Zavaleta) - Persian-Iranian (Behnam Esfahbod) - -Message translations: - Catalan (Ernest Adrogue) - Russian (Vassily Ragosin) - Swedish (Johan Svedberg) - -Menu translations: - Catalan (Ernest Adrogue) - Russian (Tim Alexeevsky) - Swedish (Johan Svedberg) - -Tutor translations: - Catalan (Ernest Adrogue) - Russian in cp1251 (Alexey Froloff) - Slovak in cp1250 and iso8859-2 (Lubos Celko) - Swedish (Johan Svedberg) - Korean (Kee-Won Seo) - UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as - the original, create the other Japanese tutor by conversion. - -Included "russian.txt" help file. (Vassily Ragosin) - -Include Encapsulated PostScript and PDF versions of the Vim logo in the extra -archive. - -The help highlighting finds the highlight groups and shows them in the color -that is actually being used. (idea from Yakov Lerner) - -The big Win32 version is now compiled with Ruby interface, version 1.8. For -Python version 2.3 is used. For Perl version 5.8 is used. - -The "ftdetect" directory is mentioned in the documentation. The DOS install -program creates it. - - -Fixed *fixed-6.3* ------ - -Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options -here and there. (Walter Briscoe) - -The explorer plugin didn't work for double-byte 'encoding's. - -Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting. - -Patch 6.2.001 -Problem: The ":stopinsert" command doesn't have a help tag. -Solution: Add the tag. (Antoine J. Mechelynck) -Files: runtime/doc/insert.txt, runtime/doc/tags - -Patch 6.2.002 -Problem: When compiled with the +multi_byte feature but without +eval, - displaying UTF-8 characters may cause a crash. (Karsten Hopp) -Solution: Also set the default for 'ambiwidth' when compiled without the - +eval feature. -Files: src/option.c - -Patch 6.2.003 -Problem: GTK 2: double-wide characters below 256 are not displayed - correctly. -Solution: Check the cell width for characters above 127. (Yasuhiro - Matsumoto) -Files: src/gui_gtk_x11.c - -Patch 6.2.004 -Problem: With a line-Visual selection at the end of the file a "p" command - puts the text one line upwards. -Solution: Detect that the last line was deleted and put forward. (Taro - Muraoka) -Files: src/normal.c - -Patch 6.2.005 -Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin - Marsman) -Solution: Show the dialog after creating it. (David Necas) -Files: src/gui_gtk.c - -Patch 6.2.006 -Problem: The Netbeans code contains an obsolete function that uses "vim61" - and sets the fall-back value for $VIMRUNTIME. -Solution: Delete the obsolete function. -Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro - -Patch 6.2.007 -Problem: Listing tags for Cscope doesn't always work. -Solution: Avoid using smgs_attr(). (Sergey Khorev) -Files: src/if_cscope.c - -Patch 6.2.008 -Problem: XIM with GTK 2: After backspacing preedit characters are wrong. -Solution: Reset the cursor position. (Yasuhiro Matsumoto) -Files: src/mbyte.c - -Patch 6.2.009 -Problem: Win32: The self-installing executable "Full" selection only - selects some of the items to install. (Salman Mohsin) -Solution: Change commas to spaces in between section numbers. -Files: nsis/gvim.nsi - -Patch 6.2.010 -Problem: When 'virtualedit' is effective and a line starts with a - multi-byte character, moving the cursor right doesn't work. -Solution: Obtain the right character to compute the column offset. (Taro - Muraoka) -Files: src/charset.c - -Patch 6.2.011 -Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway. - (Moshe Kaminsky) -Solution: Move the #ifdef outside of stat(). -Files: src/os_unix.c - -Patch 6.2.012 -Problem: May hang when polling for a character. -Solution: Break the wait loop when not waiting for a character. -Files: src/os_unix.c - -Patch 6.2.013 (extra) -Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1". -Solution: Change the version number to "6.2". (Ajit Thakkar) -Files: src/GvimExt/GvimExt.reg - -Patch 6.2.014 (after 6.2.012) -Problem: XSMP doesn't work when using poll(). -Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird) -Files: src/os_unix.c - -Patch 6.2.015 -Problem: The +xsmp feature is never enabled. -Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined. - (Alexey Froloff) -Files: src/feature.h - -Patch 6.2.016 -Problem: Using ":scscope find" with 'cscopequickfix' does not always split - the window. (Gary Johnson) - Win32: ":cscope add" could make the script that contains it - read-only until the corresponding ":cscope kill". - Errors during ":cscope add" may not be handled properly. -Solution: When using the quickfix window may need to split the window. - Avoid file handle inheritance for the script. - Check for a failed connection and/or process. (Sergey Khorev) -Files: src/ex_cmds2.c, src/if_cscope.c - -Patch 6.2.017 -Problem: Test11 sometimes prompts the user, because a file would have been - changed outside of Vim. (Antonio Colombo) -Solution: Add a FileChangedShell autocommand to avoid the prompt. -Files: src/testdir/test11.in - -Patch 6.2.018 -Problem: When using the XSMP protocol and reading from stdin Vim may wait - for a key to be pressed. -Solution: Avoid that RealWaitForChar() is used recursively. -Files: src/os_unix.c - -Patch 6.2.019 (lang) -Problem: Loading the Portuguese menu causes an error message. -Solution: Join two lines. (Jose Pedro Oliveira, José de Paula) -Files: runtime/lang/menu_pt_br.vim - -Patch 6.2.020 -Problem: The "Syntax/Set syntax only" menu item causes an error message. - (Oyvind Holm) -Solution: Set the script-local variable in a function. (Benji Fisher) -Files: runtime/synmenu.vim - -Patch 6.2.021 -Problem: The user manual section on exceptions contains small mistakes. -Solution: Give a good example of an error that could be missed and other - improvements. (Servatius Brandt) -Files: runtime/doc/usr_41.txt - -Patch 6.2.022 (extra) -Problem: Win32: After deleting a menu item it still appears in a tear-off - window. -Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.2.023 (extra) -Problem: Win32: Make_ivc.mak does not clean everything. -Solution: Delete more files in the clean rule. (Walter Briscoe) -Files: src/Make_ivc.mak - -Patch 6.2.024 (extra) -Problem: Win32: Compiler warnings for typecasts. -Solution: Use DWORD instead of WORD. (Walter Briscoe) -Files: src/gui_w32.c - -Patch 6.2.025 -Problem: Missing prototype for sigaltstack(). -Solution: Add the prototype when it is not found in a header file. -Files: src/os_unix.c - -Patch 6.2.026 -Problem: Warning for utimes() argument. -Solution: Add a typecast. -Files: src/fileio.c - -Patch 6.2.027 -Problem: Warning for uninitialized variable. -Solution: Set mb_l to one when not using multi-byte characters. -Files: src/message.c - -Patch 6.2.028 -Problem: Cscope connection may kill Vim process and others. -Solution: Check for pid being larger than one. (Khorev Sergey) -Files: src/if_cscope.c - -Patch 6.2.029 -Problem: When using the remote server functionality Vim may leak memory. - (Srikanth Sankaran) -Solution: Free the result of XListProperties(). -Files: src/if_xcmdsrv.c - -Patch 6.2.030 -Problem: Mac: Warning for not being able to use precompiled header files. -Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that - function prototypes are still found. -Files: src/os_unix.c, src/osdef.sh - -Patch 6.2.031 -Problem: The langmenu entry in the options window doesn't work. (Rodolfo - Lima) - With GTK 1 the ":options" command causes an error message. - (Michael Naumann) -Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for - GTK 2. -Files: runtime/optwin.vim - -Patch 6.2.032 -Problem: The lpc filetype is never recognized. (Shizhu Pan) -Solution: Check for g:lpc_syntax_for_c instead of the local variable - lpc_syntax_for_c. (Benji Fisher) -Files: runtime/filetype.vim - -Patch 6.2.033 (extra) -Problem: Mac: Various compiler warnings. -Solution: Don't include Classic-only headers in Unix version. - Remove references to several unused variables. (Ben Fowler) - Fix double definition of DEFAULT_TERM. - Use int instead of unsigned short for pixel values, so that the - negative error values are recognized. -Files: src/gui_mac.c, src/term.c - -Patch 6.2.034 -Problem: Mac: Compiler warning for redefining DEFAULT_TERM. -Solution: Fix double definition of DEFAULT_TERM. -Files: src/term.c - -Patch 6.2.035 -Problem: Mac: Compiler warnings in Python interface. -Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka) -Files: src/if_python.c - -Patch 6.2.036 (extra) -Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should - expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin) -Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher) -Files: src/os_mac.h - -Patch 6.2.037 -Problem: Win32: converting an encoding name to a codepage could result in - an arbitrary number. -Solution: make encname2codepage() return zero if the encoding name doesn't - contain a codepage number. -Files: src/mbyte.c - -Patch 6.2.038 (extra) -Problem: Warning messages when using the MingW compiler. (Bill McCarthy) - Can't compile console version without +mouse feature. -Solution: Initialize variables, add parenthesis. - Add an #ifdef around g_nMouseClick. (Ajit Thakkar) -Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c - -Patch 6.2.039 (extra) -Problem: More warning messages when using the MingW compiler. -Solution: Initialize variables. (Bill McCarthy) -Files: src/os_mswin.c - -Patch 6.2.040 -Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature. -Solution: Pass a non-NULL argument to IceAddConnectionWatch(). -Files: src/os_unix.c - -Patch 6.2.041 (extra, after 6.2.033) -Problem: Mac: Compiler warnings for conversion types, missing prototype, - missing return type. -Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add - gui_mch_init_check() prototype. Add "int" to termlib functions. -Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c. - -Patch 6.2.042 (extra) -Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a - crash. -Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp) -Files: src/Make_cyg.mak - -Patch 6.2.043 -Problem: Compiling with both netbeans and workshop doesn't work. -Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur) -Files: src/gui_x11.c, src/integration.c, src/netbeans.c, - src/proto/netbeans.pro - -Patch 6.2.044 -Problem: ":au filetypedetect" gives an error for a non-existing event name, - but it's actually a non-existing group name. (Antoine Mechelynck) -Solution: Make the error message clearer. -Files: src/fileio.c - -Patch 6.2.045 -Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway) -Solution: Don't set the '' mark when searching for the start/end of the - current sentence/paragraph. -Files: src/mark.c - -Patch 6.2.046 -Problem: When evaluating an argument of a function throws an exception the - function is still called. (Hari Krishna Dara) -Solution: Don't call the function when an exception was thrown. -Files: src/eval.c - -Patch 6.2.047 (extra) -Problem: Compiler warnings when using MingW. (Bill McCarthy) -Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime. -Files: src/os_win32.c - -Patch 6.2.048 -Problem: The Python interface doesn't compile with Python 2.3 when - dynamically loaded. -Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore) -Files: src/if_python.c - -Patch 6.2.049 -Problem: Using a "-range=" argument with ":command" doesn't work and - doesn't generate an error message. -Solution: Generate an error message. -Files: src/ex_docmd.c - -Patch 6.2.050 -Problem: Test 32 didn't work on MS-Windows. -Solution: Write the temp file in Unix fileformat. (Walter Briscoe) -Files: src/testdir/test32.in - -Patch 6.2.051 -Problem: When using "\=submatch(0)" in a ":s" command, line breaks become - NUL characters. -Solution: Change NL to CR characters, so that they become line breaks. -Files: src/regexp.c - -Patch 6.2.052 -Problem: A few messages are not translated. -Solution: Add _() to the messages. (Muraoka Taro) -Files: src/ex_cmds.c - -Patch 6.2.053 -Problem: Prototype for bzero() doesn't match most systems. -Solution: Use "void *" instead of "char *" and "size_t" instead of "int". -Files: src/osdef1.h.in - -Patch 6.2.054 -Problem: A double-byte character with a second byte that is a backslash - causes problems inside a string. -Solution: Skip over multi-byte characters in a string properly. (Yasuhiro - Matsumoto) -Files: src/eval.c - -Patch 6.2.055 -Problem: Using col('.') from CTRL-O in Insert mode does not return the - correct value for multi-byte characters. -Solution: Correct the cursor position when it is necessary, move to the - first byte of a multi-byte character. (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 6.2.056 (extra) -Problem: Building with Sniff++ doesn't work. -Solution: Use the multi-threaded libc when needed. (Holger Ditting) -Files: src/Make_mvc.mak - -Patch 6.2.057 (extra) -Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system - library. Get a warning for redefining OK. Unused variables in - os_mac.c -Solution: Define HAVE_PUTENV. Undefine OK after including curses.h. - Remove declarations for unused variables. -Files: src/os_mac.c, src/os_mac.h, src/vim.h - -Patch 6.2.058 -Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes - a crash. -Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro - Muraoka) -Files: src/buffer.c - -Patch 6.2.059 -Problem: When 'scrolloff' is a large number and listing completion results - on the command line, then executing a command that jumps close to - where the cursor was before, part of the screen is not updated. - (Yakov Lerner) -Solution: Don't skip redrawing part of the window when it was scrolled. -Files: src/screen.c - -Patch 6.2.060 (extra) -Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from - the clipboard gives a lalloc(0) error. (Kriton Kyrimis) -Solution: When the string length is zero allocate one byte. Also fix that - when the length of the Unicode text is zero (conversion from - 'encoding' to UCS-2 was not possible) the normal text is used. -Files: src/os_mswin.c - -Patch 6.2.061 -Problem: GUI: Using the left mouse button with the shift key should work - like "*" but it scrolls instead. (Martin Beller) -Solution: Don't recognize an rxvt scroll wheel event when using the GUI. -Files: src/term.c - -Patch 6.2.062 -Problem: When one buffer uses a syntax with "containedin" and another - buffer does not, redrawing depends on what the current buffer is. - (Brett Pershing Stahlman) -Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin - flag. -Files: src/syntax.c - -Patch 6.2.063 -Problem: When using custom completion end up with no matches. -Solution: Make cmd_numfiles and cmd_files local to completion to avoid that - they are overwritten when ExpandOne() is called recursively by - f_glob(). -Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro, - src/misc1.c, src/structs.h, src/tag.c - -Patch 6.2.064 -Problem: resolve() only handles one symbolic link, need to repeat it to - resolve all of them. Then need to simplify the file name. -Solution: Make resolve() resolve all symbolic links and simplify the result. - Add simplify() to just simplify a file name. Fix that test49 - doesn't work if /tmp is a symbolic link. (Servatius Brandt) -Files: runtime/doc/eval.txt, src/eval.c, src/tag.c, - src/testdir/test49.vim - -Patch 6.2.065 -Problem: ":windo 123" only updates other windows when entering them. - (Walter Briscoe) -Solution: Update the topline before going to the next window. -Files: src/ex_cmds2.c - -Patch 6.2.066 (extra) -Problem: Ruby interface doesn't work with Ruby 1.8.0. -Solution: Change "defout" to "stdout". (Aron Griffis) - Change dynamic loading. (Taro Muraoka) -Files: src/if_ruby.c, src/Make_mvc.mak - -Patch 6.2.067 -Problem: When searching for a string that starts with a composing character - the command line isn't drawn properly. -Solution: Don't count the space to draw the composing character on and - adjust the cursor column after drawing the string. -Files: src/message.c - -Patch 6.2.068 -Problem: Events for the netbeans interface that include a file name with - special characters don't work properly. -Solution: Use nb_quote() on the file name. (Sergey Khorev) -Files: src/netbeans.c - -Patch 6.2.069 (after 6.2.064) -Problem: Unused variables "limit" and "new_st" and unused label "fail" in - some situation. (Bill McCarthy) -Solution: Put the declarations inside an #ifdef. (Servatius Brandt) -Files: src/eval.c, src/tag.c - -Patch 6.2.070 (after 6.2.069) -Problem: Still unused variable "new_st". (Bill McCarthy) -Solution: Move the declaration to the right block this time. -Files: src/tag.c - -Patch 6.2.071 -Problem: 'statusline' can only contain 50 % items. (Antony Scriven) -Solution: Allow 80 items and mention it in the docs. -Files: runtime/doc/option.txt, src/vim.h - -Patch 6.2.072 -Problem: When using expression folding, foldexpr() mostly returns -1 for - the previous line, which makes it difficult to write a fold - expression. -Solution: Make the level of the previous line available while still looking - for the end of a fold. -Files: src/fold.c - -Patch 6.2.073 -Problem: When adding detection of a specific filetype for a plugin you need - to edit "filetype.vim". -Solution: Source files from the "ftdetect" directory, so that a filetype - detection plugin only needs to be dropped in a directory. -Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt, - runtime/doc/usr_41.txt, runtime/filetype.vim - -Patch 6.2.074 -Problem: Warnings when compiling the Python interface. (Ajit Thakkar) -Solution: Use ANSI function declarations. -Files: src/if_python.c - -Patch 6.2.075 -Problem: When the temp file for writing viminfo can't be used "NULL" - appears in the error message. (Ben Lavender) -Solution: Print the original file name when there is no temp file name. -Files: src/ex_cmds.c - -Patch 6.2.076 -Problem: The tags listed for cscope are in the wrong order. (Johannes - Stezenbach) -Solution: Remove the reordering of tags for the current file. (Sergey - Khorev) -Files: src/if_cscope.c - -Patch 6.2.077 -Problem: When a user function specifies custom completion, the function - gets a zero argument instead of an empty string when there is no - word before the cursor. (Preben Guldberg) -Solution: Don't convert an empty string to a zero. -Files: src/eval.c - -Patch 6.2.078 -Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis) -Solution: Build Vim before running the tests. -Files: src/Makefile - -Patch 6.2.079 -Problem: ":w ++enc=utf-8 !cmd" doesn't work. -Solution: Check for the "++" argument before the "!". -Files: src/ex_docmd.c - -Patch 6.2.080 -Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in - an unmodified file doesn't clear the last line. -Solution: Call msg_clr_eos() when needed. (Michael Schroeder) -Files: src/os_unix.c - -Patch 6.2.081 -Problem: Problem when using a long multibyte string for the statusline. -Solution: Use the right pointer to get the cell size. (Taro Muraoka) -Files: src/buffer.c - -Patch 6.2.082 -Problem: Can't compile with Perl 5.8.1. -Solution: Rename "e_number" to "e_number_exp". (Sascha Blank) -Files: src/digraph.c, src/globals.h - -Patch 6.2.083 -Problem: When a compiler uses ^^^^ to mark a word the information is not - visible in the quickfix window. (Srikanth Sankaran) -Solution: Don't remove the indent for a line that is not recognized as an - error message. -Files: src/quickfix.c - -Patch 6.2.084 -Problem: "g_" in Visual mode always goes to the character after the line. - (Jean-Rene David) -Solution: Ignore the NUL at the end of the line. -Files: src/normal.c - -Patch 6.2.085 -Problem: ":verbose set ts" doesn't say an option was set with a "-c" or - "--cmd" argument. -Solution: Remember the option was set from a Vim argument. -Files: src/main.c, src/ex_cmds2.c, src/vim.h - -Patch 6.2.086 -Problem: "{" and "}" stop inside a closed fold. -Solution: Only stop once inside a closed fold. (Stephen Riehm) -Files: src/search.c - -Patch 6.2.087 -Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with - ":bnext". (Yakov Lerner) -Solution: Put up a dialog for a changed file when 'confirm' is set in more - situations. -Files: src/buffer.c, src/ex_cmds.c - -Patch 6.2.088 -Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if - the match is less than 'sidescrolloff' off from the side of the - window. (Roland Stahn) -Solution: Set 'sidescrolloff' to zero while displaying the match. -Files: src/search.c - -Patch 6.2.089 -Problem: ":set isk+=" adds a comma. (Mark Waggoner) -Solution: Don't add a comma when the added value is empty. -Files: src/option.c - -Patch 6.2.090 (extra) -Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy) -Solution: Put an #ifdef around the #pragmas. -Files: src/os_win32.c - -Patch 6.2.091 -Problem: When an autocommand is triggered when a file is dropped on Vim and - it produces output, messages from a following command may be - scrolled unexpectedly. (David Rennalls) -Solution: Save and restore msg_scroll in handle_drop(). -Files: src/ex_docmd.c - -Patch 6.2.092 -Problem: Invalid items appear in the help file tags. (Antonio Colombo) -Solution: Only accept tags with white space before the first "*". -Files: runtime/doc/doctags.c, src/ex_cmds.c - -Patch 6.2.093 -Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau) -Solution: Check the second command character for an "o", not the third. -Files: src/menu.c - -Patch 6.2.094 -Problem: Can't compile with GTK and tiny features. -Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined. - Do not try to split the window. -Files: src/ex_docmd.c, src/misc2.c - -Patch 6.2.095 -Problem: The message "Cannot go to buffer x" is confusing for ":buf 6". - (Frans Englich) -Solution: Make it "Buffer x does not exist". -Files: src/buffer.c - -Patch 6.2.096 -Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus - Bosau) -Solution: Put zero bytes on the clipboard for an empty string. -Files: src/ops.c - -Patch 6.2.097 -Problem: Setting or resetting 'insertmode' in a BufEnter autocommand - doesn't always have immediate effect. (Nagger) -Solution: When 'insertmode' is set, set need_start_insertmode, when it's - reset set stop_insert_mode. -Files: src/option.c - -Patch 6.2.098 (after 6.2.097) -Problem: Can't build Vim with tiny features. (Christian J. Robinson) -Solution: Declare stop_insert_mode always. -Files: src/edit.c, src/globals.h - -Patch 6.2.099 (extra) -Problem: Test 49 fails. (Mikolaj Machowski) -Solution: The Polish translation must not change "E116" to "R116". -Files: src/po/pl.po - -Patch 6.2.100 -Problem: "make proto" fails when compiled with the Perl interface. -Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option. -Files: src/auto/configure, src/configure.in - -Patch 6.2.101 -Problem: When using syntax folding, opening a file slows down a lot when - it's size increases by only 20%. (Gary Johnson) -Solution: The array with cached syntax states is leaking entries. After - cleaning up the list obtain the current entry again. -Files: src/syntax.c - -Patch 6.2.102 -Problem: The macros equal() and CR conflict with a Carbon header file. -Solution: Rename equal() to equalpos(). Rename CR to CAR. - Do this in the non-extra files only. -Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c, - src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c, - src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c, - src/gui_motif.c, src/macros.h, src/mark.c, src/message.c, - src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c, - src/regexp.c, src/search.c, src/ui.c, src/workshop.c - -Patch 6.2.103 (extra) -Problem: The macros equal() and CR conflict with a Carbon header file. -Solution: Rename equal() to equalpos(). Rename CR to CAR. - Do this in the extra files only. -Files: src/gui_photon.c, src/gui_w48.c - -Patch 6.2.104 -Problem: Unmatched braces in the table with options. -Solution: Move the "}," outside of the #ifdef. (Yakov Lerner) -Files: src/option.c - -Patch 6.2.105 -Problem: When the cursor is past the end of the line when calling - get_c_indent() a crash might occur. -Solution: Don't look past the end of the line. (NJ Verenini) -Files: src/misc1.c - -Patch 6.2.106 -Problem: Tag searching gets stuck on a very long line in the tags file. -Solution: When skipping back to search the first matching tag remember the - offset where searching started looking for a line break. -Files: src/tag.c - -Patch 6.2.107 (extra) -Problem: The NetBeans interface cannot be used on Win32. -Solution: Add support for the NetBeans for Win32. Add support for reading - XPM files on Win32. Also fixes that a sign icon with a space in - the file name did not work through the NetBeans interface. - (Sergey Khorev) - Also: avoid repeating error messages when the connection is lost. -Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak, - src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h, - src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c, - src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h, - src/proto/gui_beval.pro, src/proto/gui_w32.pro, - src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h, - src/xpm_w32.c, src/xpm_w32.h - -Patch 6.2.108 -Problem: Crash when giving a message about ignoring case in a tag. (Manfred - Kuehn) -Solution: Use a longer buffer for the message. -Files: src/tag.c - -Patch 6.2.109 -Problem: Compiler warnings with various Amiga compilers. -Solution: Add typecast, prototypes, et al. that are also useful for other - systems. (Flavio Stanchina) -Files: src/eval.c, src/ops.c - -Patch 6.2.110 -Problem: When $LANG includes the encoding, a menu without an encoding name - is not found. -Solution: Also look for a menu file without any encoding. -Files: runtime/menu.vim - -Patch 6.2.111 -Problem: Encoding "cp1251" is not recognized. -Solution: Add "cp1251" to the table of encodings. (Alexey Froloff) -Files: src/mbyte.c - -Patch 6.2.112 -Problem: After applying patches test32 fails. (Antonio Colombo) -Solution: Have "make clean" in the testdir delete *.rej and *.orig files. - Use this when doing "make clean" in the src directory. -Files: src/Makefile, src/testdir/Makefile - -Patch 6.2.113 -Problem: Using ":startinsert" after "$" works like "a" instead of "i". - (Ajit Thakkar) -Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit(). -Files: src/edit.c, src/ex_docmd.c - -Patch 6.2.114 -Problem: When stdout is piped through "tee", the size of the screen may not - be correct. -Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and - stdout isn't. -Files: src/os_unix.c - -Patch 6.2.115 (extra) -Problem: Compiler warnings with various Amiga compilers. -Solution: Add typecast, prototypes, et al. Those changes that are - Amiga-specific. (Flavio Stanchina) -Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h, - src/vim.h - -Patch 6.2.116 (extra) -Problem: German keyboard with Numlock set different from system startup - causes problems. -Solution: Ignore keys with code 0xff. (Helmut Stiegler) -Files: src/gui_w48.c - -Patch 6.2.117 -Problem: Breakpoints in loops of sourced files and functions are not - detected. (Hari Krishna Dara) -Solution: Check for breakpoints when using lines that were previously read. - (Servatius Brandt) -Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro, - src/proto/ex_cmds2.pro - -Patch 6.2.118 (extra) -Problem: Mac: Compiling is done in a non-standard way. -Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI" - to Makefile and configure. (Eric Kow) - Move a few prototypes from os_mac.pro to gui_mac.pro. -Files: src/Makefile, src/auto/configure, src/configure.in, - src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c, - src/proto/gui_mac.pro, src/proto/os_mac.pro, - src/infplist.xml, src/vim.h - -Patch 6.2.119 (after 6.2.107) -Problem: When packing the MS-Windows archives a few files are missing. - (Guopeng Wen) -Solution: Add gui_beval.* to the list of generic source files. -Files: Makefile - -Patch 6.2.120 -Problem: Win32 GUI: The console dialogs are not supported on MS-Windows, - disabling the 'c' flag of 'guioptions'. (Servatius Brandt) -Solution: Define FEAT_CON_DIALOG also for GUI-only builds. -Files: src/feature.h - -Patch 6.2.121 (after 6.2.118) -Problem: Not all make programs support "+=". (Charles Campbell) -Solution: Use a normal assignment. -Files: src/Makefile - -Patch 6.2.122 (after 6.2.119) -Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen) -Solution: Use a simpler pattern. Add the Aap recipe for the maze program - and a clean version of the source code. -Files: Makefile, runtime/macros/maze/Makefile, - runtime/macros/maze/README.txt, runtime/macros/maze/main.aap, - runtime/macros/maze/mazeclean.c - -Patch 6.2.123 (after 6.2.118) -Problem: Running configure fails. (Tony Leneis) -Solution: Change "==" to "=" for a test. -Files: src/auto/configure, src/configure.in - -Patch 6.2.124 (after 6.2.121)(extra) -Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim - directly it can't find the runtime files. (Emily Jackson) - Using GNU constructs causes warnings with other make programs. - (Ronald Schild) -Solution: Use another name for the M4FLAGS variable. - Don't remove "Vim.app" from the path. - Update the explanation for compiling on the Mac. (Eric Kow) - Don't use $(shell ) and $(addprefix ). -Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c - -Patch 6.2.125 (after 6.2.107) -Problem: The "winsock2.h" file isn't always available. -Solution: Don't include this header file. -Files: src/netbeans.c - -Patch 6.2.126 -Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception. -Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set - in _OnChar(). -Files: src/misc1.c - -Patch 6.2.127 (extra) -Problem: Win32 console: Typing CTRL-C doesn't throw an exception. -Solution: Set got_int immediately when CTRL-C is typed, don't wait for - mch_breakcheck() being called. -Files: src/os_win32.c - -Patch 6.2.128 (after 6.2.118) -Problem: src/auto/configure is not consistent with src/configure.in. -Solution: Use the newly generated configure script. -Files: src/auto/configure - -Patch 6.2.129 -Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible. - (Yasuhiro Matsumoto) -Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn' - and similar things. -Files: src/edit.c - -Patch 6.2.130 (extra) -Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes - the screen to be cleared. (Michael A. Mangino) -Solution: Don't clear the screen when exiting and 'restorescreen' isn't set. -Files: src/os_win32.c - -Patch 6.2.131 (extra) -Problem: Win32: Font handles are leaked. -Solution: Free italic, bold and bold-italic handles before overwriting them. - (Michael Wookey) -Files: src/gui_w48.c - -Patch 6.2.132 (extra) -Problem: Win32: console version doesn't work on latest Windows Server 2003. -Solution: Copy 12000 instead of 15000 cells at a time to avoid running out - of memory. -Files: src/os_win32.c - -Patch 6.2.133 -Problem: When starting the GUI a bogus error message about 'imactivatekey' - may be given. -Solution: Only check the value of 'imactivatekey' when the GUI is running. -Files: src/gui.c, src/option.c - -Patch 6.2.134 (extra) -Problem: Win32: When scrolling parts of the window are redrawn when this - isn't necessary. -Solution: Only invalidate parts of the window when they are obscured by - other windows. (Michael Wookey) -Files: src/gui_w48.c - -Patch 6.2.135 -Problem: An item <> in the ":command" argument is interpreted as <args>. -Solution: Avoid that <> is recognized as <args>. -Files: src/ex_docmd.c - -Patch 6.2.136 -Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't - exist. (Miroslaw Dobrzanski-Neumann) -Solution: Set 'fileencoding' to the specified encoding when editing a file - that does not exist. -Files: src/fileio.c - -Patch 6.2.137 -Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%" - when using the matchit plugin. -Solution: Store the command to be repeated. This is restricted to - single-line commands. -Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h - -Patch 6.2.138 (extra) -Problem: Compilation problem on VMS with dynamic buffer on the stack. -Solution: Read one byte less than the size of the buffer, so that we can - check for the string length without an extra buffer. -Files: src/os_vms.c - -Patch 6.2.139 -Problem: Code is repeated in the two Perl files. -Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h. - Also fix a problem with generating prototypes. -Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h - -Patch 6.2.140 (after 6.2.121) -Problem: Mac: Compiling with Python and Perl doesn't work. -Solution: Adjust the configure check for Python to use "-framework Python" - for Python 2.3 on Mac OS/X. - Move "-ldl" after "DynaLoader.a" in the link command. - Change "perllibs" to "PERL_LIBS". -Files: src/auto/configure, src/configure.in, src/config.mk.in - -Patch 6.2.141 (extra) -Problem: Mac: The b_FSSpec field is sometimes unused. -Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h -Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h - -Patch 6.2.142 (after 6.2.124) -Problem: Mac: building without GUI through configure doesn't work. - When the system is slow, unpacking the resource file takes too - long. -Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it - in the Makefile. - Add a configure option to skip Darwin detection. - Use a Python script to unpack the resources to avoid a race - condition. (Taro Muraoka) -Files: Makefile, src/Makefile, src/auto/configure, src/configure.in, - src/dehqx.py, src/vim.h - -Patch 6.2.143 -Problem: Using "K" on Visually selected text doesn't work if it ends in - a multi-byte character. -Solution: Include all the bytes of the last character. (Taro Muraoka) -Files: src/normal.c - -Patch 6.2.144 -Problem: When "g:html_use_css" is set the HTML header generated by the - 2html script is wrong. -Solution: Add the header after adding HREF for links. - Also use ":normal!" instead of ":normal" to avoid mappings - getting in the way. -Files: runtime/syntax/2html.vim - -Patch 6.2.145 (after 6.2.139) -Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz) -Solution: Only undefine "bool" on Mac OS. -Files: src/vim.h - -Patch 6.2.146 -Problem: On some systems the prototype for iconv() is wrong, causing a - warning message. -Solution: Use a cast (void *) to avoid the warning. (Charles Campbell) -Files: src/fileio.c, src/mbyte.c - -Patch 6.2.147 -Problem: ":s/pat/\=col('.')" always replaces with "1". -Solution: Set the cursor to the start of the match before substituting. - (Helmut Stiegler) -Files: src/ex_cmds.c - -Patch 6.2.148 -Problem: Can't break an Insert into several undoable parts. -Solution: Add the CTRL-G u command. -Files: runtime/doc/insert.txt, src/edit.c - -Patch 6.2.149 -Problem: When the cursor is on a line past 21,474,748 the indicated - percentage of the position is invalid. With that many lines - "100%" causes a negative cursor line number, resulting in a crash. - (Daniel Goujot) -Solution: Divide by 100 instead of multiplying. Avoid overflow when - computing the line number for "100%". -Files: src/buffer.c, src/ex_cmds2.c, src/normal.c - -Patch 6.2.150 -Problem: When doing "vim - < file" lines are broken at NUL chars. - (Daniel Goujot) -Solution: Change NL characters back to NUL when reading from the temp - buffer. -Files: src/fileio.c - -Patch 6.2.151 -Problem: When doing "vim --remote +startinsert file" some commands are - inserted as text. (Klaus Bosau) -Solution: Put all the init commands in one Ex line, not using a <CR>, so - that Insert mode isn't started too early. -Files: src/main.c - -Patch 6.2.152 -Problem: The cursor() function doesn't reset the column offset for - 'virtualedit'. -Solution: Reset the offset to zero. (Helmut Stiegler) -Files: src/eval.c - -Patch 6.2.153 -Problem: Win32: ":lang german" doesn't use German messages. -Solution: Add a table to translate the Win32 language names to two-letter - language codes. -Files: src/ex_cmds2.c - -Patch 6.2.154 -Problem: Python bails out when giving a warning message. (Eugene - Minkovskii) -Solution: Set sys.argv[] to an empty string. -Files: src/if_python.c - -Patch 6.2.155 -Problem: Win32: Using ":tjump www" in a help file gives two results. - (Dave Roberts) -Solution: Ignore differences between slashes and backslashes when checking - for identical tag matches. -Files: src/tag.c - -Patch 6.2.156 (after 6.2.125) -Problem: Win32: Netbeans fails to build, EINTR is not defined. -Solution: Redefine EINTR to WSAEINTR. (Mike Williams) -Files: src/netbeans.c - -Patch 6.2.157 -Problem: Using "%p" in 'errorformat' gives a column number that is too - high. -Solution: Set the flag to use the number as a virtual column. (Lefteris - Koutsoloukas) -Files: src/quickfix.c - -Patch 6.2.158 -Problem: The sed command on Solaris and HPUX doesn't work for a line that - doesn't end in a newline. -Solution: Add a newline when feeding text to sed. (Mark Waggoner) -Files: src/configure.in, src/auto/configure - -Patch 6.2.159 -Problem: When using expression folding and 'foldopen' is "undo" an undo - command doesn't always open the fold. -Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'. - (Taro Muraoka) -Files: src/fold.c - -Patch 6.2.160 -Problem: When 'virtualedit' is "all" and 'selection' is "exclusive", - selecting a double-width character below a single-width character - may cause a crash. -Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka) -Files: src/normal.c - -Patch 6.2.161 (extra) -Problem: VMS: Missing header file. Reading input busy loops. -Solution: Include termdef.h. Avoid the use of a wait function in - vms_read(). (Frank Ries) -Files: src/os_unix.h, src/os_vms.c - -Patch 6.2.162 -Problem: ":redraw" doesn't always display the text that includes the cursor - position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii) -Solution: Call update_topline() before redrawing. -Files: src/ex_docmd.c - -Patch 6.2.163 -Problem: "make install" may also copy AAPDIR directories. -Solution: Delete AAPDIR directories, just like CVS directories. -Files: src/Makefile - -Patch 6.2.164 (after 6.2.144) -Problem: When "g:html_use_css" is set the HTML header generated by the - 2html script is still wrong. -Solution: Search for a string instead of jumping to a fixed line number. - Go to the start of the line before inserting the header. - (Jess Thrysoee) -Files: runtime/syntax/2html.vim - -Patch 6.2.165 -Problem: The configure checks hang when using autoconf 2.57. -Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis) -Files: src/auto/configure, src/configure.in - -Patch 6.2.166 -Problem: When $GZIP contains "-N" editing compressed files doesn't work - properly. -Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind - Holm) -Files: runtime/plugin/gzip.vim - -Patch 6.2.167 -Problem: The Python interface leaks memory when assigning lines to a - buffer. (Sergey Khorev) -Solution: Do not copy the line when calling ml_replace(). -Files: src/if_python.c - -Patch 6.2.168 -Problem: Python interface: There is no way to get the indices from a range - object. -Solution: Add the "start" and "end" attributes. (Maurice S. Barnum) -Files: src/if_python.c, runtime/doc/if_pyth.txt - -Patch 6.2.169 -Problem: The prototype for _Xmblen() appears in a recent XFree86 header - file, causing a warning for our prototype. (Hisashi T Fujinaka) -Solution: Move the prototype to an osdef file, so that it's filtered out. -Files: src/mbyte.c, src/osdef2.h.in - -Patch 6.2.170 -Problem: When using Sun WorkShop the current directory isn't changed to - where the file is. -Solution: Set the 'autochdir' option when using WorkShop. And avoid using - the basename when 'autochdir' is not set. -Files: src/gui_x11.c, src/ex_cmds.c - -Patch 6.2.171 (after 6.2.163) -Problem: The "-or" argument of "find" doesn't work for SysV systems. -Solution: Use "-o" instead. (Gordon Prieur) -Files: src/Makefile - -Patch 6.2.172 (after 6.2.169) -Problem: The prototype for _Xmblen() still causes trouble. -Solution: Include the X11 header file that defines the prototype. -Files: src/osdef2.h.in, src/osdef.sh - -Patch 6.2.173 (extra) -Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other - compilers than MSVC. -Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak - -Patch 6.2.174 -Problem: After the ":intro" message only a mouse click in the last line - gets past the hit-return prompt. -Solution: Accept a click at or below the hit-return prompt. -Files: src/gui.c, src/message.c - -Patch 6.2.175 -Problem: Changing 'backupext' in a *WritePre autocommand doesn't work. - (William Natter) -Solution: Move the use of p_bex to after executing the *WritePre - autocommands. Also avoids reading allocated memory after freeing. -Files: src/fileio.c - -Patch 6.2.176 -Problem: Accented characters in translated help files are not handled - correctly. (Fabien Vayssiere) -Solution: Include "192-255" in 'iskeyword' for the help window. -Files: src/ex_cmds.c - -Patch 6.2.177 (extra) -Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob - Retter) Arbitrary commands are being executed. (Neil Bird) -Solution: Put a backslash in front of every space in the file name. - (Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL. -Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc - -Patch 6.2.178 -Problem: People who don't know how to exit Vim try pressing CTRL-C. -Solution: Give a message how to exit Vim when CTRL-C is pressed and it - doesn't cancel anything. -Files: src/normal.c - -Patch 6.2.179 (extra) -Problem: The en_gb messages file isn't found on case sensitive systems. -Solution: Rename en_gb to en_GB. (Mike Williams) -Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak, - src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt - -Patch 6.2.180 -Problem: Compiling with GTK2 on Win32 doesn't work. -Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula) -Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c - -Patch 6.2.181 (after 6.2.171) -Problem: The "-o" argument of "find" has lower priority than the implied - "and" with "-print". -Solution: Add parenthesis around the "-o" expression. (Gordon Prieur) -Files: src/Makefile - -Patch 6.2.182 (after 6.2.094) -Problem: Compilation with tiny features fails because of missing - get_past_head() function. -Solution: Adjust the #ifdef for get_past_head(). -Files: src/misc1.c - -Patch 6.2.183 (after 6.2.178) -Problem: Warning for char/unsigned char mixup. -Solution: Use MSG() instead of msg(). (Tony Leneis) -Files: src/normal.c - -Patch 6.2.184 -Problem: With 'formatoptions' set to "1aw" inserting text may cause the - paragraph to be ended. (Alan Schmitt) -Solution: Temporarily add an extra space to make the paragraph continue - after moving the word after the cursor to the next line. - Also format when pressing Esc. -Files: src/edit.c, src/normal.c, src/proto/edit.pro - -Patch 6.2.185 -Problem: Restoring a session with zero-height windows does not work - properly. (Charles Campbell) -Solution: Accept a zero argument to ":resize" as intended. Add a window - number argument to ":resize" to be able to set the size of other - windows, because the current window cannot be zero-height. - Fix the explorer plugin to avoid changing the window sizes. Add - the winrestcmd() function for this. -Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c, - src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c - -Patch 6.2.186 (after 6.2.185) -Problem: Documentation file eval.txt contains examples without indent. -Solution: Insert the indent. Also fix other mistakes. -Files: runtime/doc/eval.txt - -Patch 6.2.187 -Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle) -Solution: Initialize variables where needed. Free allocated memory to avoid - leaks. Fix comparing tags to avoid reading past allocated memory. -Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c, - src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c - -Patch 6.2.188 (extra) -Problem: MS-Windows: Multi-byte characters in a filename cause trouble for - the window title. -Solution: Return when the wide function for setting the title did its work. -Files: src/gui_w48.c - -Patch 6.2.189 -Problem: When setting 'viminfo' after editing a new buffer its marks are - not stored. (Keith Roberts) -Solution: Set the "b_marks_read" flag when skipping to read marks from the - viminfo file. -Files: src/fileio.c - -Patch 6.2.190 -Problem: When editing a compressed files, marks are lost. -Solution: Add the ":lockmarks" modifier and use it in the gzip plugin. - Make exists() also check for command modifiers, so that the - existence of ":lockmarks" can be checked for. - Also add ":keepmarks" to avoid that marks are deleted when - filtering text. - When deleting lines put marks 'A - 'Z and '0 - '9 at the first - deleted line instead of clearing the mark. They were kept in the - viminfo file anyway. - Avoid that the gzip plugin puts deleted text in registers. -Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c, - src/ex_docmd.c, src/mark.c, src/structs.h - -Patch 6.2.191 -Problem: The intro message is outdated. Information about sponsoring and - registering is missing. -Solution: Show info about sponsoring and registering Vim in the intro - message now and then. Add help file about sponsoring. -Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags, - runtime/menu.vim, src/version.c - -Patch 6.2.192 -Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonathan - Hankins) -Solution: Avoid calling change_indent() recursively. -Files: src/edit.c - -Patch 6.2.193 -Problem: When recalling a search pattern from the history from a ":s,a/c," - command the '/' ends the search string. (JC van Winkel) -Solution: Store the separator character with the history entries. Escape - characters when needed, replace the old separator with the new one. - Also fixes that recalling a "/" search for a "?" command messes up - trailing flags. -Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro, - src/search.c, src/tag.c - -Patch 6.2.194 (after 6.2.068) -Problem: For NetBeans, instead of writing the file and sending an event - about it, tell NetBeans to write the file. -Solution: Add the "save" command, "netbeansBuffer" command and - "buttonRelease" event to the netbeans protocol. Updated the - interface to version 2.2. (Gordon Prieur) - Also: open a fold when the cursor has been positioned. - Also: fix memory leak, free result of nb_quote(). -Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c, - src/normal.c, src/proto/netbeans.pro, src/structs.h - -Patch 6.2.195 (after 6.2.190) -Problem: Compiling fails for missing CPO_REMMARK symbol. -Solution: Add the patch I forgot to include... -Files: src/option.h - -Patch 6.2.196 (after 6.2.191) -Problem: Rebuilding the documentation doesn't use the sponsor.txt file. -Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson) -Files: runtime/doc/Makefile - -Patch 6.2.197 -Problem: It is not possible to force a redraw of status lines. (Gary - Johnson) -Solution: Add the ":redrawstatus" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, - src/screen.c - -Patch 6.2.198 -Problem: A few messages are not translated. (Ernest Adrogue) -Solution: Mark the messages to be translated. -Files: src/ex_cmds.c - -Patch 6.2.199 (after 6.2.194) -Problem: Vim doesn't work perfectly well with NetBeans. -Solution: When NetBeans saves the file, reset the timestamp to avoid "file - changed" warnings. Close a buffer in a proper way. Don't try - giving a debug message with an invalid pointer. Send a - newDotAndMark message when needed. Report a change by the "r" - command to NetBeans. (Gordon Prieur) -Files: src/netbeans.c, src/normal.c - -Patch 6.2.200 -Problem: When recovering a file, 'fileformat' is always the default, thus - writing the file may result in differences. (Penelope Fudd) -Solution: Before recovering the file try reading the original file to obtain - the values of 'fileformat', 'fileencoding', etc. -Files: src/memline.c - -Patch 6.2.201 -Problem: When 'autowriteall' is set ":qall" still refuses to exit if there - is a modified buffer. (Antoine Mechelynck) -Solution: Attempt writing modified buffers as intended. -Files: src/ex_cmds2.c - -Patch 6.2.202 -Problem: Filetype names of CHILL and ch script are confusing. -Solution: Rename "ch" to "chill" and "chscript" to "ch". -Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim - runtime/syntax/ch.vim, runtime/syntax/chill.vim - -Patch 6.2.203 -Problem: With characterwise text that has more than one line, "3P" works - wrong. "3p" has the same problem. There also is a display - problem. (Daniel Goujot) -Solution: Perform characterwise puts with a count in the right position. -Files: src/ops.c - -Patch 6.2.204 (after 6.2.086) -Problem: "]]" in a file with closed folds moves to the end of the file. - (Nam SungHyun) -Solution: Find one position in each closed fold, then move to after the fold. -Files: src/search.c - -Patch 6.2.205 (extra) -Problem: MS-Windows: When the taskbar is at the left or top of the screen, - the Vim window placement is wrong. -Solution: Compute the size and position of the window correctly. (Taro - Muraoka) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.2.206 -Problem: Multi-byte characters cannot be used as hotkeys in a console - dialog. (Mattias Erkisson) -Solution: Handle multi-byte characters properly. Also put () or [] around - default hotkeys. -Files: src/message.c, src/macros.h - -Patch 6.2.207 -Problem: When 'encoding' is a multi-byte encoding, expanding an - abbreviation that starts where insertion started results in - characters before the insertion to be deleted. (Xiangjiang Ma) -Solution: Stop searching leftwards for the start of the word at the position - where insertion started. -Files: src/getchar.c - -Patch 6.2.208 -Problem: When using fold markers, three lines in a row have the start - marker and deleting the first one with "dd", a nested fold is not - deleted. (Kamil Burzynski) - Using marker folding, a level 1 fold doesn't stop when it is - followed by "{{{2", starting a level 2 fold. -Solution: Don't stop updating folds at the end of a change when the nesting - level of folds is larger than the fold level. - Correctly compute the number of folds that start at "{{{2". - Also avoid a crash for a NULL pointer. -Files: src/fold.c - -Patch 6.2.209 -Problem: A bogus fold is created when using "P" while the cursor is in the - middle of a closed fold. (Kamil Burzynski) -Solution: Correct the line number where marks are modified for closed folds. -Files: src/ops.c - -Patch 6.2.210 (extra) -Problem: Mac OSX: antialiased fonts are not supported. -Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX - 10.2 and later. (Peter Cucka) -Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c - -Patch 6.2.211 (extra) -Problem: Code for handling file dropped on Vim is duplicated. -Solution: Move the common code to gui_handle_drop(). - Add code to drop the files in the window under the cursor. - Support drag&drop on the Macintosh. (Taro Muraoka) - When dropping a directory name edit that directory (using the - explorer plugin) - Fix that changing directory with Shift pressed didn't work for - relative path names. -Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c, - src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro - -Patch 6.2.212 (after 6.2.199) -Problem: NetBeans: Replacing with a count is not handled correctly. -Solution: Move reporting the change outside of the loop for the count. - (Gordon Prieur) -Files: src/normal.c - -Patch 6.2.213 (after 6.2.208) -Problem: Using marker folding, "{{{1" doesn't start a new fold when already - at fold level 1. (Servatius Brandt) -Solution: Correctly compute the number of folds that start at "{{{1". -Files: src/fold.c - -Patch 6.2.214 (after 6.2.211) (extra) -Problem: Warning for an unused variable. -Solution: Delete the declaration. (Bill McCarthy) -Files: src/gui_w48.c - -Patch 6.2.215 -Problem: NetBeans: problems saving an unmodified file. -Solution: Add isNetbeansModified() function. Disable netbeans_unmodified(). - (Gordon Prieur) -Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro, - runtime/doc/netbeans.txt, runtime/doc/tags - -Patch 6.2.216 (after 6.2.206) -Problem: Multi-byte characters still cannot be used as hotkeys in a console - dialog. (Mattias Erkisson) -Solution: Make get_keystroke() handle multi-byte characters. -Files: src/misc1.c - -Patch 6.2.217 -Problem: GTK: setting the title doesn't always work correctly. -Solution: Invoke gui_mch_settitle(). (Tomas Stehlik) -Files: src/os_unix.c - -Patch 6.2.218 -Problem: Warning for function without prototype. -Solution: Add argument types to the msgCB field of the BalloonEval struct. -Files: src/gui_beval.h - -Patch 6.2.219 -Problem: Syntax highlighting hangs on an empty match of an item with a - nextgroup. (Charles Campbell) -Solution: Remember that the item has already matched and don't match it - again at the same position. -Files: src/syntax.c - -Patch 6.2.220 -Problem: When a Vim server runs in a console a remote command isn't handled - before a key is typed. (Joshua Neuheisel) -Solution: Don't try reading more input when a client-server command has been - received. -Files: src/os_unix.c - -Patch 6.2.221 -Problem: No file name completion for ":cscope add". -Solution: Add the XFILE flag to ":cscope". (Gary Johnson) -Files: src/ex_cmds.h - -Patch 6.2.222 -Problem: Using "--remote" several times on a row only opens some of the - files. (Dany St-Amant) -Solution: Don't delete all typeahead when the server receives a command from - a client, only delete typed characters. -Files: src/main.c - -Patch 6.2.223 -Problem: Cscope: Avoid a hang when cscope waits for a response while Vim - waits for a prompt. - Error messages from Cscope mess up the display. -Solution: Detect the hit-enter message and respond by sending a return - character to cscope. (Gary Johnson) - Use EMSG() and strerror() when possible. Replace perror() with - PERROR() everywhere, add emsg3(). -Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c, - src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h - -Patch 6.2.224 -Problem: Mac: Can't compile with small features. (Axel Kielhorn) -Solution: Also include vim_chdirfile() when compiling for the Mac. -Files: src/misc2.c - -Patch 6.2.225 -Problem: NetBeans: Reported modified state isn't exactly right. -Solution: Report a file being modified in the NetBeans way. -Files: src/netbeans.c - -Patch 6.2.226 (after 6.2.107) (extra) -Problem: The "ws2-32.lib" file isn't always available. -Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak - -Patch 6.2.227 (extra) -Problem: The "PC" symbol is defined but not used anywhere. -Solution: Remove "-DPC" from the makefiles. -Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, - src/Make_ming.mak - -Patch 6.2.228 -Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim - back to Normal mode. Same for CTRL-\ CTRL-G. -Solution: Check if the character typed after a command is CTRL-\ and obtain - another character to check for CTRL-N or CTRL-G, waiting up to - 'ttimeoutlen' msec. -Files: src/normal.c - -Patch 6.2.229 -Problem: ":function" with a name that uses magic curlies does not work - inside a function. (Servatius Brandt) -Solution: Skip over the function name properly. -Files: src/eval.c - -Patch 6.2.230 (extra) -Problem: Win32: a complex pattern may cause a crash. -Solution: Use __try and __except to catch the exception and handle it - gracefully, when possible. Add myresetstkoflw() to reset the - stack overflow. (Benjamin Peterson) -Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h, - src/proto/os_win32.pro, src/regexp.c - -Patch 6.2.231 (after 6.2.046) -Problem: Various problems when an error exception is raised from within a - builtin function. When it is invoked while evaluating arguments - to a function following arguments are still evaluated. When - invoked with a line range it will be called for remaining lines. -Solution: Update "force_abort" also after calling a builtin function, so - that aborting() always returns the correct value. (Servatius - Brandt) -Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro, - src/testdir/test49.ok, src/testdir/test49.vim - -Patch 6.2.232 -Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene - Minkovskii) -Solution: Disallow executing a Python command recursively and give an error - message. -Files: src/if_python.c - -Patch 6.2.233 -Problem: On Mac OSX adding -pthread for Python only generates a warning. - The test for Perl threads rejects Perl while it's OK. - Tcl doesn't work at all. - The test for Ruby fails if ruby exists but there are no header - files. The Ruby library isn't detected properly -Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's - not the 5.5 threads. - Use the Tcl framework for header files. For Ruby rename cWindow - to cVimWindow to avoid a name clash. (Ken Scott) - Only enable Ruby when the header files can be found. Use "-lruby" - instead of "libruby.a" when it can't be found. -Files: src/auto/configure, src/configure.in, src/if_ruby.c - -Patch 6.2.234 -Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command - line. -Solution: Flush output before removing scrollbars. Also do this in other - places where gui_mch_*() functions are invoked. -Files: src/ex_cmds.c, src/option.c, src/window.c - -Patch 6.2.235 (extra) -Problem: Win32: Cursor isn't removed with a 25x80 window and doing: - "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto) -Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines(). -Files: src/gui_w48.c - -Patch 6.2.236 -Problem: Using gvim with Agide gives "connection lost" error messages. -Solution: Only give the "connection lost" message when the buffer was once - owned by NetBeans. -Files: src/netbeans.c, src/structs.h - -Patch 6.2.237 -Problem: GTK 2: Thai text is drawn wrong. It changes when moving the - cursor over it. -Solution: Disable the shaping engine, it moves combining characters to a - wrong position and combines characters, while drawing the cursor - doesn't combine characters. -Files: src/gui_gtk_x11.c - -Patch 6.2.238 (after 6.2.231) -Problem: ":function" does not work inside a while loop. (Servatius Brandt) -Solution: Add get_while_line() and pass it to do_one_cmd() when in a while - loop, so that all lines are stored and can be used again when - repeating the loop. - Adjust test 49 so that it checks for the fixed problems. - (Servatius Brandt) -Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, - src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, - src/testdir/test49.in, src/testdir/test49.ok, - src/testdir/test49.vim - -Patch 6.2.239 -Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar - often doesn't scroll. (Moshe Kaminsky) -Solution: Hackish solution: Detect that the button was pressed from the - mouse pointer position. -Files: src/gui_gtk.c, src/gui.c - -Patch 6.2.240 -Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with - other systems. Need to explicitly use "icon=name". (Ned Konz, - Christian J. Robinson) -Solution: Search for icons like done for Motif. -Files: src/gui_gtk.c - -Patch 6.2.241 -Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no - sense. Buttons are sometimes greyed-out. (Jeremy Messenger) -Solution: Remove the code to sync the two dialogs. Adjust the code to react - to an empty search string to also work for GTK2. (David Necas) -Files: src/gui_gtk.c - -Patch 6.2.242 -Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim - arguments. -Solution: Don't let the Gnome code remove the "--help" argument and don't - exit at the end of usage(). -Files: src/gui_gtk_x11.c, src/main.c - -Patch 6.2.243 (extra) -Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt. -Solution: Move the dropped files to the global argument list, instead of the - usual drop handling. (Eckehard Berns) -Files: src/main.c, src/gui_mac.c - -Patch 6.2.244 -Problem: ':echo "\xf7"' displays the illegal byte as if it was a character - and leaves "cho" after it. -Solution: When checking the length of a UTF-8 byte sequence and it's shorter - than the number of bytes available, assume it's an illegal byte. -Files: src/mbyte.c - -Patch 6.2.245 -Problem: Completion doesn't work for ":keepmarks" and ":lockmarks". -Solution: Add the command modifiers to the table of commands. (Madoka - Machitani) -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 6.2.246 -Problem: Mac: Starting Vim from Finder doesn't show error messages. -Solution: Recognize that output is being displayed by stderr being - "/dev/console". (Eckehard Berns) -Files: src/main.c, src/message.c - -Patch 6.2.247 (after 6.2.193) -Problem: When using a search pattern from the viminfo file the last - character is replaced with a '/'. -Solution: Store the separator character in the right place. (Kelvin Lee) -Files: src/ex_getln.c - -Patch 6.2.248 -Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be - distinguished. -Solution: Detect that XIM changes the keypad key to the expected ASCII - character and fall back to the non-XIM code. (Neil Bird) -Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro - -Patch 6.2.249 -Problem: ":cnext" moves to the error in the next file, but there is no - method to go back. -Solution: Add ":cpfile" and ":cNfile". -Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt - -Patch 6.2.250 -Problem: Memory leaks when using signs. (Xavier de Gaye) -Solution: Delete the list of signs when unloading a buffer. -Files: src/buffer.c - -Patch 6.2.251 -Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall) - Order of buttons is reversed for GTK 2.2.4. Don't always get - focus back after handling a dialog. -Solution: Make buttons appear vertically when desired. Reverse the order in - which buttons are added to a dialog. Move mouse pointer around - when the dialog is done and we don't have focus. -Files: src/gui_gtk.c - -Patch 6.2.252 (extra, after 6.2.243) -Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for - Mac OS classic. -Solution: Remove the #ifdef from the code that fixes it for Mac OSX. -Files: src/gui_mac.c - -Patch 6.2.253 -Problem: When 'tagstack' is not set a ":tag id" command does not work after - a ":tjump" command. -Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran) -Files: src/tag.c - -Patch 6.2.254 -Problem: May run out of space for error messages. -Solution: Keep room for two more bytes. -Files: src/quickfix.c - -Patch 6.2.255 -Problem: GTK: A new item in the popup menu is put just after instead of - just before the right item. (Gabriel Zachmann) -Solution: Don't increment the menu item index. -Files: src/gui_gtk.c - -Patch 6.2.256 -Problem: Mac: "macroman" encoding isn't recognized, need to use - "8bit-macroman". -Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns) -Files: src/mbyte.c - -Patch 6.2.257 (after 6.2.250) -Problem: Signs are deleted for ":bdel", but they could still be useful. -Solution: Delete signs only for ":bwipe". -Files: src/buffer.c - -Patch 6.2.258 -Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar) -Solution: Loop over the popup menus for all modes. -Files: src/menu.c - -Patch 6.2.259 -Problem: If there are messages when exiting, on the console there is a - hit-enter prompt while the message can be read; in the GUI the - message may not be visible. -Solution: Use the hit-enter prompt when there is an error message from - writing the viminfo file or autocommands, or when there is any - output in the GUI and 'verbose' is set. Don't use a hit-enter - prompt for the non-GUI version unless there is an error message. -Files: src/main.c - -Patch 6.2.260 -Problem: GTK 2: Can't quit a dialog with <Esc>. - GTK 1 and 2: <Enter> always gives a result, even when the default - button has been disabled. -Solution: Handle these keys explicitly. When no default button is specified - use the first one (works mostly like it was before). -Files: src/gui_gtk.c - -Patch 6.2.261 -Problem: When 'autoindent' and 'cindent' are set and a line is recognized - as a comment, starting a new line won't do 'cindent' formatting. -Solution: Also use 'cindent' formatting for lines that are used as a - comment. (Servatius Brandt) -Files: src/misc1.c - -Patch 6.2.262 -Problem: 1 CTRL-W w beeps, even though going to the first window is - possible. (Charles Campbell) -Solution: Don't beep. -Files: src/window.c - -Patch 6.2.263 -Problem: Lint warnings: Duplicate function prototypes, duplicate macros, - use of a zero character instead of a zero pointer, unused - variable. Clearing allocated memory in a complicated way. -Solution: Remove the function prototypes from farsi.h. Remove the - duplicated lines in keymap.h. Change getvcol() argument from NUL - to NULL. Remove the "col" variable in regmatch(). Use - lalloc_clear() instead of lalloc(). (Walter Briscoe) -Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c - -Patch 6.2.264 (after 6.2.247) -Problem: Writing past allocated memory when using a command line from the - viminfo file. -Solution: Store the NUL in the right place. -Files: src/ex_getln.c - -Patch 6.2.265 -Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val" - works. -Solution: Do allow changing options in the sandbox, but not the ones that - can't be changed from a modeline. -Files: src/ex_cmds.h, src/options.c - -Patch 6.2.266 -Problem: When redirecting output and using ":silent", line breaks are - missing from output of ":map" and ":tselect". Alignment of - columns is wrong. -Solution: Insert a line break where "msg_didout" was tested. Update msg_col - when redirecting and using ":silent". -Files: src/getchar.c, src/message.c - -Patch 6.2.267 (extra) -Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte) -Solution: Use the "name" item from the menu instead of the "dname" item. -Files: src/gui_w32.c, src/menu.c - -Patch 6.2.268 -Problem: GUI: When changing 'guioptions' part of the window may be off - screen. (Randall Morris) -Solution: Adjust the size of the window when changing 'guioptions', but only - when adding something. -Files: src/gui.c - -Patch 6.2.269 -Problem: Diff mode does not highlight a change in a combining character. - (Raphael Finkel) -Solution: Make diff_find_change() multi-byte aware: find the start byte of - a character that contains a change. -Files: src/diff.c - -Patch 6.2.270 -Problem: Completion in Insert mode, then repeating with ".", doesn't handle - composing characters in the completed text. (Raphael Finkel) -Solution: Don't skip over composing chars when adding completed text to the - redo buffer. -Files: src/getchar.c - -Patch 6.2.271 -Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with - an argument or environment variable is not secure. -Solution: Wait after initializing the log. Allow passing the socket info - through a file. (Gordon Prieur) -Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c - -Patch 6.2.272 -Problem: When the "po" directory exists, but "po/Makefile" doesn't, - building fails. Make loops when the "po" directory has been - deleted after running configure. -Solution: Check for the "po/Makefile" instead of just the "po" directory. - Check this again before trying to run make with that Makefile. -Files: src/auto/configure, src/configure.in, src/Makefile - -Patch 6.2.273 -Problem: Changing the sort order in an explorer window for an empty - directory produces error messages. (Doug Kearns) -Solution: When an invalid range is used for a function that is not going to - be executed, skip over the arguments anyway. -Files: src/eval.c - -Patch 6.2.274 -Problem: ":print" skips empty lines when 'list' is set and there is no - "eol" in 'listchars'. (Yakov Lerner) -Solution: Skip outputting a space for an empty line only when 'list' is set - and the end-of-line character is not empty. -Files: src/message.c - -Patch 6.2.275 (extra, after 6.2.267) -Problem: Warning for uninitialized variable when using gcc. -Solution: Initialize "acLen" to zero. (Bill McCarthy) -Files: src/gui_w32.c - -Patch 6.2.276 -Problem: ":echo X()" does not put a line break between the message that X() - displays and the text that X() returns. (Yakov Lerner) -Solution: Invoke msg_start() after evaluating the argument. -Files: src/eval.c - -Patch 6.2.277 -Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive - loop. (Robert Nowotniak) -Solution: Restore "msg_list" before returning from do_cmdline(). -Files: src/ex_docmd.c - -Patch 6.2.278 -Problem: Using "much" instead of "many". -Solution: Correct the error message. -Files: src/eval.c - -Patch 6.2.279 -Problem: There is no default choice for a confirm() dialog, now that it is - possible not to have a default choice. -Solution: Make the first choice the default choice. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 6.2.280 -Problem: "do" and ":diffget" don't work in the first line and the last line - of a buffer. (Aron Griffis) -Solution: Find a difference above the first line and below the last line. - Also fix a few display updating bugs. -Files: src/diff.c, src/fold.c, src/move.c - -Patch 6.2.281 -Problem: PostScript printing doesn't work on Mac OS X 10.3.2. -Solution: Adjust the header file. (Mike Williams) -Files: runtime/print/prolog.ps - -Patch 6.2.282 -Problem: When using CTRL-O to go back to a help file, it becomes listed. - (Andrew Nesbit) - Using ":tag" or ":tjump" in a help file doesn't keep the help file - settings (e.g. for 'iskeyword'). -Solution: Don't mark a buffer as listed when its help flag is set. Put all - the option settings for a help buffer together in do_ecmd(). -Files: src/ex_cmds.c - -Patch 6.2.283 -Problem: The "local additions" in help.txt are used without conversion, - causing latin1 characters showing up wrong when 'enc' is utf-8. - (Antoine J. Mechelynck) -Solution: Convert the text to 'encoding'. -Files: src/ex_cmds.c - -Patch 6.2.284 -Problem: Listing a function puts "endfunction" in the message history. - Typing "q" at the more prompt isn't handled correctly when listing - variables and functions. (Hara Krishna Dara) -Solution: Don't use msg() for "endfunction". Check "got_int" regularly. -Files: src/eval.c - -Patch 6.2.285 -Problem: GUI: In a single wrapped line that fills the window, "gj" in the - last screen line leaves the cursor behind. (Ivan Tarasov) -Solution: Undraw the cursor before scrolling the text up. -Files: src/gui.c - -Patch 6.2.286 -Problem: When trying to rename a file and it doesn't exist, the destination - file is deleted anyway. (Luc Deux) -Solution: Don't delete the destination when the source doesn't exist. (Taro - Muraoka) -Files: src/fileio.c - -Patch 6.2.287 (after 6.2.264) -Problem: Duplicate lines are added to the viminfo file. -Solution: Compare with existing entries without an offset. Also fixes - reading very long history lines from viminfo. -Files: src/ex_getln.c - -Patch 6.2.288 (extra) -Problem: Mac: An external program can't be interrupted. -Solution: Don't use the 'c' key for backspace. (Eckehard Berns) -Files: src/gui_mac.c - -Patch 6.2.289 -Problem: Compiling the Tcl interface with thread support causes ":make" to - fail. (Juergen Salk) -Solution: Use $TCL_DEFS from the Tcl config script to obtain the required - compile flags for using the thread library. -Files: src/auto/configure, src/configure.in - -Patch 6.2.290 (extra) -Problem: Mac: The mousewheel doesn't work. -Solution: Add mousewheel support. Also fix updating the thumb after a drag - and then using another way to scroll. (Eckehard Berns) -Files: src/gui_mac.c - -Patch 6.2.291 (extra) -Problem: Mac: the plus button and close button don't do anything. -Solution: Make the plus button maximize the window and the close button - close Vim. (Eckehard Berns) -Files: src/gui.c, src/gui_mac.c - -Patch 6.2.292 -Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows - the last argument repeated. -Solution: Set argv[argc] to NULL. (Michael Jarvis) -Files: src/gui_x11.c - -Patch 6.2.293 (after 6.2.255) -Problem: GTK: A new item in a menu is put before the tearoff item. -Solution: Do increment the menu item index for non-popup menu items. -Files: src/gui_gtk.c - -Patch 6.2.294 (extra) -Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape. -Solution: Handle all modifiers for these keys. (Eckehard Berns) -Files: src/gui_mac.c - -Patch 6.2.295 -Problem: When in debug mode, receiving a message from a remote client - causes a crash. Evaluating an expression causes Vim to wait for - "cont" to be typed, without a prompt. (Hari Krishna Dara) -Solution: Disable debugging when evaluating an expression for a client. - (Michael Geddes) Don't try reading into the typeahead buffer when - it may have been filled in another way. -Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c, - src/misc1.c, src/proto/getchar.pro, src/proto/main.pro, - src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h, - src/os_unix.c, src/ui.c - -Patch 6.2.296 (extra) -Problem: Same as 6.2.295. -Solution: Extra files for patch 6.2.295. -Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c, - src/proto/os_amiga.pro, src/proto/os_msdos.pro, - src/proto/os_riscos.pro, src/proto/os_win32.pro - -Patch 6.2.297 (after 6.2.232) -Problem: Cannot invoke Python commands recursively. -Solution: With Python 2.3 and later use the available mechanisms to invoke - Python recursively. (Matthew Mueller) -Files: src/if_python.c - -Patch 6.2.298 -Problem: A change always sets the '. mark and an insert always sets the '^ - mark, even when this is not wanted. - Cannot go back to the position of older changes without undoing - those changes. -Solution: Add the ":keepjumps" command modifier. - Add the "g," and "g;" commands. -Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c, - src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro, - src/structs.h, src/undo.c - -Patch 6.2.299 -Problem: Can only use one language for help files. -Solution: Add the 'helplang' option to select the preferred language(s). - Make ":helptags" generate tags files for all languages. -Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, - src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c, - src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro, - src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h, - src/tag.c, src/vim.h - -Patch 6.2.300 (after 6.2.297) -Problem: Cannot build Python interface with Python 2.2 or earlier. -Solution: Add a semicolon. -Files: src/if_python.c - -Patch 6.2.301 -Problem: The "select all" item from the popup menu doesn't work for Select - mode. -Solution: Use the same commands as for the "Edit.select all" menu. - (Benji Fisher) -Files: runtime/menu.vim - -Patch 6.2.302 -Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji - Fisher) -Solution: Restore "restart_edit" after an insert command that was not typed. - Avoid waiting with displaying the mode when there is no text to be - overwritten. - Fix that "CTRL-O ." sometimes doesn't put the cursor back after - the end-of-line. Only reset the flag that CTRL-O was used past - the end of the line when restarting editing. Update "o_lnum" - number when inserting text and "o_eol" is set. -Files: src/edit.c, src/normal.c - -Patch 6.2.303 -Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode. -Solution: Convert the character from Unicode to 'encoding' when needed. - Use the Unicode digraphs for the Macintosh. (Eckehard Berns) -Files: src/digraph.c - -Patch 6.2.304 (extra, after 6.2.256) -Problem: Mac: No proper support for 'encoding'. Conversion without iconv() - is not possible. -Solution: Convert input from 'termencoding' to 'encoding'. Add - mac_string_convert(). Convert text for the clipboard when needed. - (Eckehard Berns) -Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h - -Patch 6.2.305 (after 6.2.300) -Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit - Thakkar) -Solution: Add two functions to the dynamic loading feature. -Files: src/if_python.c - -Patch 6.2.306 (extra) -Problem: Win32: Building console version with BCC 5.5 gives a warning for - get_cmd_args() prototype missing. (Ajit Thakkar) -Solution: Don't build os_w32exe.c for the console version. -Files: src/Make_bc5.mak - -Patch 6.2.307 (after 6.2.299) -Problem: Installing help files fails. -Solution: Expand wildcards for translated help files separately. -Files: src/Makefile - -Patch 6.2.308 -Problem: Not all systems have "whoami", resulting in an empty user name. -Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce) -Files: src/Makefile - -Patch 6.2.309 -Problem: "3grx" waits for two ESC to be typed. (Jens Paulus) -Solution: Append the ESC to the stuff buffer when redoing the "gr" insert. -Files: src/edit.c - -Patch 6.2.310 -Problem: When setting 'undolevels' to -1, making a change and setting - 'undolevels' to a positive value an "undo list corrupt" error - occurs. (Madoka Machitani) -Solution: Sync undo before changing 'undolevels'. -Files: src/option.c - -Patch 6.2.311 (after 6.2.298) -Problem: When making several changes in one line the changelist grows - quickly. There is no error message for reaching the end of the - changelist. Reading changelist marks from viminfo doesn't work - properly. -Solution: Only make a new entry in the changelist when making a change in - another line or 'textwidth' columns away. Add E662, E663 and E664 - error messages. Put a changelist mark from viminfo one position - before the end. -Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c - -Patch 6.2.312 (after 6.2.299) -Problem: "make install" clears the screen when installing the docs. -Solution: Execute ":helptags" in silent mode. -Files: runtime/doc/Makefile - -Patch 6.2.313 -Problem: When opening folds in a diff window, other diff windows no longer - show the same text. -Solution: Sync the folds in diff windows. -Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro, - src/proto/move.pro - -Patch 6.2.314 -Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise - selection and using "$". (Moritz Orbach) -Solution: Don't try replacing chars in a line that has no characters in the - block. -Files: src/ops.c - -Patch 6.2.315 -Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set - stops Vim from returning to Insert mode. -Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode' - is set. -Files: src/normal.c - -Patch 6.2.316 (after 6.2.312) -Problem: "make install" tries connecting to the X server when installing - the docs. (Stephen Thomas) -Solution: Add the "-X" argument. -Files: runtime/doc/Makefile - -Patch 6.2.317 (after 6.2.313) -Problem: When using "zi" in a diff window, other diff windows are not - adjusted. (Richard Curnow) -Solution: Distribute a change in 'foldenable' to other diff windows. -Files: src/normal.c - -Patch 6.2.318 -Problem: When compiling with _THREAD_SAFE external commands don't echo - typed characters. -Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at - TMODE_COOK. -Files: src/os_unix.c - -Patch 6.2.319 (extra) -Problem: Building gvimext.dll with Mingw doesn't work properly. -Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro - Lopez-Valencia) -Files: src/GvimExt/Make_ming.mak - -Patch 6.2.320 -Problem: Win32: Adding and removing the menubar resizes the Vim window. - (Jonathon Merz) -Solution: Don't let a resize event change 'lines' unexpectedly. -Files: src/gui.c - -Patch 6.2.321 -Problem: When using modeless selection, wrapping lines are not recognized, - a line break is always inserted. -Solution: Add LineWraps[] to remember whether a line wrapped or not. -Files: src/globals.h, src/screen.c, src/ui.c - -Patch 6.2.322 -Problem: With 'showcmd' set, after typing "dd" the next "d" may not be - displayed. (Jens Paulus) -Solution: Redraw the command line after updating the screen, scrolling may - have set "clear_cmdline". -Files: src/screen.c - -Patch 6.2.323 -Problem: Win32: expanding "~/file" in an autocommand pattern results in - backslashes, while this pattern should only have forward slashes. -Solution: Make expanding environment variables respect 'shellslash' and set - p_ssl when expanding the autocommand pattern. -Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro - -Patch 6.2.324 (extra) -Problem: Win32: when "vimrun.exe" has a path with white space, such as - "Program Files", executing external commands may fail. -Solution: Put double quotes around the path to "vimrun". -Files: src/os_win32.c - -Patch 6.2.325 -Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't - work, the space is used to separate file names. (Brett Stahlman) -Solution: Escape the space with a backslash. -Files: src/option.c - -Patch 6.2.326 -Problem: ":windo set syntax=foo" doesn't work. (Tim Chase) -Solution: Don't change 'eventignore' for ":windo". -Files: src/ex_cmds2.c - -Patch 6.2.327 -Problem: When formatting text all marks in the formatted lines are lost. - A word is not joined to a previous line when this would be - possible. (Mikolaj Machowski) -Solution: Try to keep marks in the same position as much as possible. - Also keep mark positions when joining lines. - Start auto-formatting in the previous line when appropriate. - Add the "gw" operator: Like "gq" but keep the cursor where it is. -Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c, - src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro, - src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h - -Patch 6.2.328 -Problem: XIM with GTK: It is hard to understand what XIM is doing. -Solution: Add xim_log() to log XIM events and help with debugging. -Files: src/mbyte.c - -Patch 6.2.329 -Problem: ":=" does not work Vi compatible. (Antony Scriven) -Solution: Print the last line number instead of the current line. Don't - print "line". -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 6.2.330 (extra, after 6.2.267) -Problem: Win32: Crash when tearing off a menu. -Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 6.2.331 (after 6.2.327) -Problem: "gwap" leaves cursor in the wrong line. -Solution: Remember the cursor position before finding the ends of the - paragraph. -Files: src/normal.c, src/ops.c, src/structs.h - -Patch 6.2.332 (extra) -Problem: Amiga: Compile error for string array. Compiling the Amiga GUI - doesn't work. -Solution: Use a char pointer instead. Move including "gui_amiga.h" to after - including "vim.h". Add a semicolon. (Ali Akcaagac) -Files: src/gui_amiga.c, src/os_amiga.c - -Patch 6.2.333 (extra) -Problem: Win32: printing doesn't work with specified font charset. -Solution: Use the specified font charset. (Mike Williams) -Files: src/os_mswin.c - -Patch 6.2.334 (extra, after 6.2.296) -Problem: Win32: evaluating client expression in debug mode requires typing - "cont". -Solution: Use eval_client_expr_to_string(). -Files: src/os_mswin.c - -Patch 6.2.335 -Problem: The ":sign" command cannot be followed by another command. -Solution: Add TRLBAR to the command flags. -Files: src/ex_cmds.h - -Patch 6.2.336 (after 6.2.327) -Problem: Mixup of items in an expression. -Solution: Move "== NUL" to the right spot. -Files: src/edit.c - -Patch 6.2.337 (extra, after 6.2.319) -Problem: Building gvimext.dll with Mingw doesn't work properly. -Solution: Fix white space and other details. (Alejandro Lopez-Valencia) -Files: src/GvimExt/Make_ming.mak - -Patch 6.2.338 (after 6.2.331) -Problem: When undoing "gwap" the cursor is always put at the start of the - paragraph. When undoing auto-formatting the cursor may be above - the change. -Solution: Try to move the cursor back to where it was or to the first line - that actually changed. -Files: src/normal.c, src/ops.c, src/undo.c - -Patch 6.2.339 -Problem: Crash when using many different highlight groups and a User - highlight group. (Juergen Kraemer) -Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify - use of the highlight group table. -Files: src/syntax.c - -Patch 6.2.340 -Problem: ":reg" doesn't show the actual contents of the clipboard if it was - filled outside of Vim. (Stuart MacDonald) -Solution: Obtain the clipboard contents before displaying it. -Files: src/ops.c - -Patch 6.2.341 (extra) -Problem: Win32: When the path to diff.exe contains a space and using the - vimrc generated by the install program, diff mode does not work. -Solution: Put the first double quote just before the space instead of before - the path. -Files: src/dosinst.c - -Patch 6.2.342 (extra) -Problem: Win32: macros are not always used as expected. -Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro - Lopez-Valencia) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak - -Patch 6.2.343 -Problem: Title doesn't work with some window managers. X11: Setting the - text property for the window title is hard coded. -Solution: Use STRING format when possible. Use the UTF-8 function when - it's available and 'encoding' is utf-8. Use - XStringListToTextProperty(). Do the same for the icon name. - (David Harrison) -Files: src/os_unix.c - -Patch 6.2.344 (extra, after 6.2.337) -Problem: Cannot build gvimext.dll with MingW on Linux. -Solution: Add support for cross compiling. (Ronald Hoellwarth) -Files: src/GvimExt/Make_ming.mak - -Patch 6.2.345 (extra) -Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set - properly or there are illegal bytes. -Solution: Use a raw byte format. Always set it when copying. When pasting - use the raw format if 'encoding' is the same. -Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h - -Patch 6.2.346 -Problem: Win32 console: After using "chcp" Vim does not detect the - different codepage. -Solution: Use GetConsoleCP() and when it is different from GetACP() set - 'termencoding'. -Files: src/option.c - -Patch 6.2.347 (extra) -Problem: Win32: XP theme support is missing. -Solution: Add a manifest and refer to it from the resource file. (Michael - Wookey) -Files: Makefile, src/gvim.exe.mnf, src/vim.rc - -Patch 6.2.348 -Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname' - default value doesn't contain parenthesis. -Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name - arguments. -Files: src/main.c - -Patch 6.2.349 -Problem: Finding a match using 'matchpairs' may cause a crash. - 'matchpairs' is not used for 'showmatch'. -Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for - 'showmatch'. (Dave Olszewkski) -Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c - -Patch 6.2.350 -Problem: Not enough info about startup timing. -Solution: Add a few more TIME_MSG() calls. -Files: src/main.c - -Patch 6.2.351 -Problem: Win32: $HOME may be set to %USERPROFILE%. -Solution: Expand %VAR% at the start of $HOME. -Files: src/misc1.c - -Patch 6.2.352 (after 6.2.335) -Problem: ":sign texthl=||" does not work. -Solution: Remove the check for a following command. Give an error for extra - arguments after "buff=1". -Files: src/ex_cmds.c, src/ex_cmds.h - -Patch 6.2.353 (extra) -Problem: Win32: Supported server name length is limited. (Paul Bossi) -Solution: Use MAX_PATH instead of 25. -Files: src/os_mswin.c - -Patch 6.2.354 (extra) -Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden - when typing but is not redisplayed when moved. (Markx Hackmann) -Solution: Handle the pointer move event for the tear-off menu window. -Files: src/gui_w32.c - -Patch 6.2.355 (after 6.2.303) -Problem: When 'encoding' is a double-byte encoding different from the - current locale, the width of characters is not correct. - Possible failure and memory leak when using iconv, Unicode - digraphs and 'encoding' is not "utf-8". -Solution: Use iconv() to discover the actual width of characters. - Add the "vc_fail" field to vimconv_T. - When converting a digraph, init the conversion type to NONE and - cleanup afterwards. -Files: src/digraph.c, src/mbyte.c, src/structs.h - -Patch 6.2.356 -Problem: When using a double-byte 'encoding' and 'selection' is - "exclusive", "vy" only yanks the first byte of a double-byte - character. (Xiangjiang Ma) -Solution: Correct the column in unadjust_for_sel() to position on the first - byte, always include the trailing byte of the selected text. -Files: src/normal.c - -Patch 6.2.357 (after 6.2.321) -Problem: Memory leak when resizing the Vim window. -Solution: Free the LineWraps array. -Files: src/screen.c - -Patch 6.2.358 (after 6.2.299) -Problem: Memory leak when using ":help" and the language doesn't match. -Solution: Free the array with matching tags. -Files: src/ex_cmds.c - -Patch 6.2.359 (after 6.2.352) -Problem: Compiler warning for long to int type cast. -Solution: Add explicit type cast. -Files: src/ex_cmds.c - -Patch 6.2.360 -Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol - Juhas) -Solution: Recompute w_virtcol if the target column was not reached. -Files: src/misc2.c - -Patch 6.2.361 (extra) -Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while - pressing Esc, then release Alt: Cursor disappears and typing a key - causes a beep. (Hari Krishna Dara) -Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled. -Files: src/gui_w32.c - -Patch 6.2.362 (extra, after 6.2.347) -Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts) -Solution: Change "x86" to "X86". (Serge Pirotte) -Files: src/gvim.exe.mnf - -Patch 6.2.363 -Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler - from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc> - doesn't make it "0-1" again. Same problem for ruler in - statusline. (Andrew Pimlott) -Solution: Remember the "empty line" flag with Insert mode and'ed to it. -Files: src/screen.c - -Patch 6.2.364 -Problem: HTML version of the documentation doesn't mention the encoding, - which is a problem for mbyte.txt. -Solution: Adjust the awk script. (Ilya Sher) -Files: runtime/doc/makehtml.awk - -Patch 6.2.365 -Problem: The configure checks for Perl and Python may add compile and link - arguments that break building Vim. -Solution: Do a sanity check: try building with the arguments. -Files: src/auto/configure, src/configure.in - -Patch 6.2.366 -Problem: When the GUI can't start because no valid font is found, there is - no error message. (Ugen) -Solution: Add an error message. -Files: src/gui.c - -Patch 6.2.367 -Problem: Building the help tags file while installing may fail if there is - another Vim in $PATH. -Solution: Specify the just installed Vim executable. (Gordon Prieur) -Files: src/Makefile - -Patch 6.2.368 -Problem: When 'autochdir' is set, closing a window doesn't change to the - directory of the new current window. (Salman Halim) -Solution: Handle 'autochdir' always when a window becomes the current one. -Files: src/window.c - -Patch 6.2.369 -Problem: Various memory leaks: when using globpath(), when searching for - help tags files, when defining a function inside a function, when - giving an error message through an exception, for the final "." - line in ":append", in expression "cond ? a : b" that fails and for - missing ")" in an expression. Using NULL pointer when adding - first user command and for pointer computations with regexp. - (tests by Dominique Pelle) -Solution: Fix the leaks by freeing the allocated memory. Don't use the - array of user commands when there are no entries. Use a macro - instead of a function call for saving and restoring regexp states. -Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, - src/misc2.c, src/regexp.c, src/screen.c, src/tag.c - -Patch 6.2.370 (extra, after6.2.341) -Problem: Win32: When the path to diff.exe contains a space and using the - vimrc generated by the install program, diff mode may not work. - (Alejandro Lopez-Valencia) -Solution: Do not use double quotes for arguments that do not have a space. -Files: src/dosinst.c - -Patch 6.2.371 -Problem: When 'virtualedit' is set and there is a Tab before the next "x", - "dtx" does not delete the whole Tab. (Ken Hashishi) -Solution: Move the cursor to the last position of the Tab. Also for - "df<Tab>". -Files: src/normal.c - -Patch 6.2.372 -Problem: When using balloon evaluation, no value is displayed for members - of structures and items of an array. -Solution: Include "->", "." and "[*]" in the expression. -Files: src/gui_beval.c, src/normal.c, src/vim.h - -Patch 6.2.373 -Problem: When 'winminheight' is zero and a window is reduced to zero - height, the ruler always says "Top" instead of the cursor - position. (Antoine J. Mechelynck) -Solution: Don't recompute w_topline for a zero-height window. -Files: src/window.c - -Patch 6.2.374 -Problem: ":echo "hello" | silent normal n" removes the "hello" message. - (Servatius Brandt) -Solution: Don't echo the search string when ":silent" was used. Also don't - show the mode. In general: don't clear to the end of the screen. -Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro, - src/screen.c, src/search.c, src/window.c - -Patch 6.2.375 -Problem: When changing 'guioptions' the hit-enter prompt may be below the - end of the Vim window. -Solution: Call screen_alloc() before showing the prompt. -Files: src/message.c - -Patch 6.2.376 -Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6. -Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina) -Files: src/if_ruby.c - -Patch 6.2.377 (after 6.2.372) -Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey) -Solution: Add type cast. -Files: src/normal.c - -Patch 6.2.378 (extra, after 6.2.118) -Problem: Mac: cannot build with Project Builder. -Solution: Add remove_tail_with_ext() to locate and remove the "build" - directory from the runtime path. Include os_unix.c when needed. - (Dany St Amant) -Files: src/misc1.c, src/os_macosx.c, src/vim.h - -Patch 6.2.379 -Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to - "delete". (Michael Naumann) -Solution: Do not add buffer-specific option values to a global vimrc file. -Files: src/option.c - -Patch 6.2.380 (extra) -Problem: DOS: "make test" fails when running it again. Can't "make test" - with Borland C. -Solution: Make sure ".out" files are deleted when they get in the way. Add - a "test" target to the Borland C Makefile. -Files: src/Make_bc5.mak, src/testdir/Make_dos.mak - -Patch 6.2.381 -Problem: Setting 'fileencoding' to a comma separated list (confusing it - with 'fileencodings') does not result in an error message. - Setting 'fileencoding' in an empty file marks it as modified. - There is no "+" in the title after setting 'fileencoding'. -Solution: Check for a comma in 'fileencoding'. Only consider a non-empty - file modified by changing 'fileencoding'. Update the title after - changing 'fileencoding'. -Files: src/option.c - -Patch 6.2.382 -Problem: Running "make test" puts marks from test files in viminfo. -Solution: Specify a different viminfo file to use. -Files: src/testdir/test15.in, src/testdir/test49.in - -Patch 6.2.383 -Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven) -Solution: Check that the closing ' is there. -Files: src/syntax.c - -Patch 6.2.384 -Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated. -Solution: Also compare the names without '&' characters. -Files: src/menu.c - -Patch 6.2.385 (extra) -Problem: Win32: forward_slash() and trash_input_buf() are undefined when - compiling with small features. (Ajit Thakkar) -Solution: Change the #ifdefs for forward_slash(). Don't call - trash_input_buf() if the input buffer isn't used. -Files: src/fileio.c, src/os_win32.c - -Patch 6.2.386 -Problem: Wasting time trying to read marks from the viminfo file for a - buffer without a name. -Solution: Skip reading marks when the buffer has no name. -Files: src/fileio.c - -Patch 6.2.387 -Problem: There is no highlighting of translated items in help files. -Solution: Search for a "help_ab.vim" syntax file when the help file is - called "*.abx". Also improve the help highlighting a bit. -Files: runtime/syntax/help.vim - -Patch 6.2.388 -Problem: GTK: When displaying some double-width characters they are drawn - as single-width, because of conversion to UTF-8. -Solution: Check the width that GTK uses and add a space if it's one instead - of two. -Files: src/gui_gtk_x11.c - -Patch 6.2.389 -Problem: When working over a slow connection, it's very annoying that the - last line is partly drawn and then cleared for every change. -Solution: Don't redraw the bottom line if no rows were inserted or deleted. - Don't draw the line if we know "@" lines will be used. -Files: src/screen.c - -Patch 6.2.390 -Problem: Using "r*" in Visual mode on multi-byte characters only replaces - every other character. (Tyson Roberts) -Solution: Correct the cursor position after replacing each character. -Files: src/ops.c - -Patch 6.2.391 (extra) -Problem: The ":highlight" command is not tested. -Solution: Add a test script for ":highlight". -Files: src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/test51.in, - src/testdir/test51.ok - -Patch 6.2.392 (after 6.2.384) -Problem: Unused variable. -Solution: Remove "dlen". -Files: src/menu.c - -Patch 6.2.393 -Problem: When using very long lines the viminfo file can become very big. -Solution: Add the "s" flag to 'viminfo': skip registers with more than the - specified Kbyte of text. -Files: runtime/doc/options.txt, src/ops.c, src/option.c - -Patch 6.2.394 (after 6.2.391) -Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis) -Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute. -Files: src/testdir/test51.in - -Patch 6.2.395 -Problem: When using ":tag" or ":pop" the previous matching tag is used. - But since the current file is different, the ordering of the tags - may change. -Solution: Remember what the current buffer was for when re-using cur_match. -Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h, - src/tag.c - -Patch 6.2.396 -Problem: When CTRL-T jumps to another file and an autocommand moves the - cursor to the '" mark, don't end up on the right line. (Michal - Malecki) -Solution: Set the line number after loading the file. -Files: src/tag.c - -Patch 6.2.397 -Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work. - (Yasuhiro Matsumoto) -Solution: Do not set the 8th bit of the character but use a modifier. -Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c - -Patch 6.2.398 (extra) -Problem: Win32 console: no extra key modifiers are supported. -Solution: Encode the modifiers into the input stream. Also fix that special - keys are converted and stop working when 'tenc' is set. Also fix - that when 'tenc' is initialized the input and output conversion is - not setup properly until 'enc' or 'tenc' is set. -Files: src/getchar.c, src/option.c, src/os_win32.c - -Patch 6.2.399 -Problem: A ":set" command that fails still writes a message when it is - inside a try/catch block. -Solution: Include all the text of the message in the error message. -Files: src/charset.c, src/option.c - -Patch 6.2.400 -Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0. -Solution: Include header file poll.h. (Malte Neumann) -Files: src/if_xcmdsrv.c - -Patch 6.2.401 -Problem: When opening a buffer that was previously opened, Vim does not - restore the cursor position if the first line starts with white - space. (Gregory Margo) -Solution: Don't skip restoring the cursor position if it is past the blanks - in the first line. -Files: src/buffer.c - -Patch 6.2.402 -Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher) -Solution: Generate help tags before copying the runtime files. -Files: src/Makefile - -Patch 6.2.403 -Problem: ":@y" checks stdin if there are more commands to execute. This - fails if stdin is not connected, e.g., when starting the GUI from - KDE. (Ned Konz) -Solution: Only check for a next command if there still is typeahead. -Files: src/ex_docmd.c - -Patch 6.2.404 -Problem: Our own function to determine width of Unicode characters may get - outdated. (Markus Kuhn) -Solution: Use wcwidth() when it is available. Also use iswprint(). -Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c - -Patch 6.2.405 -Problem: Cannot map zero without breaking the count before a command. - (Benji Fisher) -Solution: Disable mapping zero when entering a count. -Files: src/getchar.c, src/globals.h, src/normal.c - -Patch 6.2.406 -Problem: ":help \zs", ":help \@=" and similar don't find useful help. -Solution: Prepend "/\" to the arguments to find the desired help tag. -Files: src/ex_cmds.c - -Patch 6.2.407 (after 6.2.299) -Problem: ":help \@<=" doesn't find help. -Solution: Avoid that ":help \@<=" searches for the "<=" language. -Files: src/tag.c - -Patch 6.2.408 -Problem: ":compiler" is not consistent: Sets local options and a global - variable. (Douglas Potts) There is no error message when a - compiler is not supported. -Solution: Use ":compiler!" to set a compiler globally, otherwise it's local - to the buffer and "b:current_compiler" is used. Give an error - when no compiler script could be found. - Note: updated compiler plugins can be found at - ftp://ftp.vim.org/pub/vim/runtime/compiler/ -Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c, - src/ex_cmds2.c - -Patch 6.2.409 -Problem: The cursor ends up in the last column instead of after the line - when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)". - (Toby Allsopp) -Solution: Adjust the cursor as if in Insert mode. -Files: src/misc1.c - -Patch 6.2.410 (after 6.2.389) -Problem: In diff mode, when there are more filler lines than fit in the - window, they are not drawn. -Solution: Check for filler lines when skipping to draw a line that doesn't - fit. -Files: src/screen.c - -Patch 6.2.411 -Problem: A "\n" inside a string is not seen as a line break by the regular - expression matching. (Hari Krishna Dara) -Solution: Add the vim_regexec_nl() function for strings where "\n" is to be - matched with a line break. -Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c - -Patch 6.2.412 -Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also - for ":python", ":tcl" and ":perl". -Solution: Check for "<< marker" and skip until "marker" before checking for - "endfunction". -Files: src/eval.c - -Patch 6.2.413 (after 6.2.411) -Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky) -Solution: Now really include the prototype. -Files: src/proto/regexp.pro - -Patch 6.2.414 -Problem: The function used for custom completion of user commands cannot - have <SID> to make it local. (Hari Krishna Dara) -Solution: Pass the SID of the script where the user command was defined on - to the completion. Also clean up #ifdefs. -Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h - -Patch 6.2.415 -Problem: Vim may crash after a sequence of events that change the window - size. The window layout assumes a larger window than is actually - available. (Servatius Brandt) -Solution: Invoke win_new_shellsize() from screenalloc() instead of from - set_shellsize(). -Files: src/screen.c, src/term.c - -Patch 6.2.416 -Problem: Compiler warning for incompatible pointer. -Solution: Remove the "&" in the call to poll(). (Xavier de Gaye) -Files: src/os_unix.c - -Patch 6.2.417 (after 6.2.393) -Problem: Many people forget that the '"' item in 'viminfo' needs to be - preceded with a backslash, -Solution: Add '<' as an alias for the '"' item. -Files: runtime/doc/options.txt, src/ops.c, src/option.c - -Patch 6.2.418 -Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx": - when pressing <F12> still uses the abbreviation. (Hari Krishna) -Solution: Also apply "noremap" to abbreviations. -Files: src/getchar.c - -Patch 6.2.419 (extra) -Problem: Win32: Cannot open the Vim window inside another application. -Solution: Add the "-P" argument to specify the window title of the - application to run inside. (Zibo Zhao) -Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c, - src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c, - src/proto/gui_w32.pro - -Patch 6.2.420 -Problem: Cannot specify a file to be edited in binary mode without setting - the global value of the 'binary' option. -Solution: Support ":edit ++bin file". -Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h, - src/ex_docmd.c, src/fileio.c, src/misc2.c - -Patch 6.2.421 -Problem: Cannot set the '[ and '] mark, which may be necessary when an - autocommand simulates reading a file. -Solution: Allow using "m[" and "m]". -Files: runtime/doc/motion.txt, src/mark.c - -Patch 6.2.422 -Problem: In CTRL-X completion messages the "/" makes them less readable. -Solution: Remove the slashes. (Antony Scriven) -Files: src/edit.c - -Patch 6.2.423 -Problem: ":vertical wincmd ]" does not split vertically. -Solution: Add "postponed_split_flags". -Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c - -Patch 6.2.424 -Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from - working in Insert mode (Normal mode is OK). (Gregory Seidman) -Solution: In the Insert mode loop invoke gui_mouse_correct() when needed. -Files: src/edit.c - -Patch 6.2.425 -Problem: Vertical split and command line window: can only drag status line - above the cmdline window on the righthand side, not lefthand side. -Solution: Check the status line row instead of the window pointer. -Files: src/ui.c - -Patch 6.2.426 -Problem: A syntax region end match with a matchgroup that includes a line - break only highlights the last line with matchgroup. (Gary - Holloway) -Solution: Also use the line number of the position where the region - highlighting ends. -Files: src/syntax.c - -Patch 6.2.427 (extra) -Problem: When pasting a lot of text in a multi-byte encoding, conversion - from 'termencoding' to 'encoding' may fail for some characters. - (Kuang-che Wu) -Solution: When there is an incomplete byte sequence at the end of the read - text keep it for the next time. -Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro, - src/proto/os_mswin.pro, src/ui.c - -Patch 6.2.428 -Problem: The X11 clipboard supports the Vim selection for char/line/block - mode, but since the encoding is not included can't copy/paste - between two Vims with a different 'encoding'. -Solution: Add a new selection format that includes the 'encoding'. Perform - conversion when necessary. -Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h - -Patch 6.2.429 -Problem: Unix: glob() doesn't work for a directory with a single quote in - the name. (Nazri Ramliy) -Solution: When using the shell to expand, only put double quotes around - spaces and single quotes, not the whole thing. -Files: src/os_unix.c - -Patch 6.2.430 -Problem: BOM at start of a vim script file is not recognized and causes an - error message. -Solution: Detect the BOM and skip over it. Also fix that after using - ":scriptencoding" the iconv() file descriptor was not closed - (memory leak). -Files: src/ex_cmds2.c - -Patch 6.2.431 -Problem: When using the horizontal scrollbar, the scrolling is limited to - the length of the cursor line. -Solution: Make the scroll limit depend on the longest visible line. The - cursor is moved when necessary. Including the 'h' flag in - 'guioptions' disables this. -Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c, - src/misc2.c, src/option.h - -Patch 6.2.432 (after 6.2.430 and 6.2.431) -Problem: Lint warnings. -Solution: Add type casts. -Files: src/ex_cmds2.c, src/gui.c - -Patch 6.2.433 -Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good - result. (Alejandro Lopez Valencia) -Solution: Use a string for each combination. -Files: src/screen.c - -Patch 6.2.434 (after 6.2.431) -Problem: Compiler warning. (Salman Halim) -Solution: Add type casts. -Files: src/gui.c - -Patch 6.2.435 -Problem: When there are vertically split windows the minimal Vim window - height is computed wrong. -Solution: Use frame_minheight() to correctly compute the minimal height. -Files: src/window.c - -Patch 6.2.436 -Problem: Running the tests changes the user's viminfo file. -Solution: In test 49 tell the extra Vim to use the test viminfo file. -Files: src/testdir/test49.vim - -Patch 6.2.437 -Problem: ":mksession" always puts "set nocompatible" in the session file. - This changes option settings. (Ron Aaron) -Solution: Add an "if" to only change 'compatible' when needed. -Files: src/ex_docmd.c - -Patch 6.2.438 -Problem: When the 'v' flag is present in 'cpoptions', backspacing and then - typing text again: one character too much is overtyped before - inserting is done again. -Solution: Set "dollar_vcol" to the right column. -Files: src/edit.c - -Patch 6.2.439 -Problem: GTK 2: Changing 'lines' may cause a mismatch between the window - layout and the size of the window. -Solution: Disable the hack with force_shell_resize_idle(). -Files: src/gui_gtk_x11.c - -Patch 6.2.440 -Problem: When 'lazyredraw' is set the window title is still updated. - The size of the Visual area and the ruler are displayed too often. -Solution: Postpone redrawing the window title. Only show the Visual area - size when waiting for a character. Don't draw the ruler - unnecessary. -Files: src/buffer.c, src/normal.c, src/screen.c - -Patch 6.2.441 -Problem: ":unabbreviate foo " doesn't work, because of the trailing space, - while an abbreviation with a trailing space is not possible. (Paul - Jolly) -Solution: Accept a match with the lhs of an abbreviation without the - trailing space. -Files: src/getchar.c - -Patch 6.2.442 -Problem: Cannot manipulate the command line from a function. -Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the - CTRL-\ e command. -Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c - src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, - src/proto/ops.pro - -Patch 6.2.443 -Problem: With ":silent! echoerr something" you don't get the position of - the error. emsg() only writes the message itself and returns. -Solution: Also redirect the position of the error. -Files: src/message.c - -Patch 6.2.444 -Problem: When adding the 'c' flag to a ":substitute" command it may replace - more times than without the 'c' flag. Happens for a match that - starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus - Bosau). -Solution: Correct "prev_matchcol" when replacing the line. Don't replace - the line when the pattern uses look-behind matching. -Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c - -Patch 6.2.445 -Problem: Copying vimtutor to /tmp/something is not secure, a symlink may - cause trouble. -Solution: Create a directory and create the file in it. Use "umask" to - create the directory with mode 700. (Stefan Nordhausen) -Files: src/vimtutor - -Patch 6.2.446 (after 6.2.404) -Problem: Using library functions wcwidth() and iswprint() results in - display problems for Hebrew characters. (Ron Aaron) -Solution: Disable the code to use the library functions, use our own. -Files: src/mbyte.c - -Patch 6.2.447 (after 6.2.440) -Problem: Now that the title is only updated when redrawing, it is no longer - possible to show it while executing a function. (Madoka Machitani) -Solution: Make ":redraw" also update the title. -Files: src/ex_docmd.c - -Patch 6.2.448 (after 6.2.427) -Problem: Mac: conversion done when 'termencoding' differs from 'encoding' - fails when pasting a longer text. -Solution: Check for an incomplete sequence at the end of the chunk to be - converted. (Eckehard Berns) -Files: src/mbyte.c - -Patch 6.2.449 (after 6.2.431) -Problem: Get error messages when switching files. -Solution: Check for a valid line number when calculating the width of the - horizontal scrollbar. (Helmut Stiegler) -Files: src/gui.c - -Patch 6.2.450 -Problem: " #include" and " #define" are not recognized with the default - option values for 'include' and 'defined'. (RG Kiran) -Solution: Adjust the default values to allow white space before the #. -Files: runtime/doc/options.txt, src/option.c - -Patch 6.2.451 -Problem: GTK: when using XIM there are various problems, including setting - 'modified' and breaking undo at the wrong moment. -Solution: Add "xim_changed_while_preediting", "preedit_end_col" and - im_is_preediting(). (Yasuhiro Matsumoto) -Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c, - src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c, - src/undo.c - -Patch 6.2.452 -Problem: In diff mode, when DiffAdd and DiffText highlight settings are - equal, an added line is highlighted with DiffChange. (Tom Schumm) -Solution: Remember the diff highlight type instead of the attributes. -Files: src/screen.c - -Patch 6.2.453 -Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar". - (Pavel Papushev) -Solution: When the pattern can match a line break also try matching at the - NUL at the end of a line. -Files: src/ex_cmds.c, src/regexp.c - -Patch 6.2.454 -Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let - b:changedtick = 99" does not give an error message. -Solution: Add code to recognize ":let b:changedtick". -Files: src/eval.c - -Patch 6.2.455 (after 6.2.297) -Problem: In Python commands the current locale changes how certain Python - functions work. (Eugene M. Minkovskii) -Solution: Set the LC_NUMERIC locale to "C" while executing a Python command. -Files: src/if_python.c - -Patch 6.2.456 (extra) -Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or - using the file selection dialog) doesn't work. (Yakov Lerner, Alex - Jakushev) -Solution: Use wide character functions when file names are involved and - convert from/to 'encoding' where needed. -Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c, - src/os_mswin.c, src/os_win32.c - -Patch 6.2.457 (after 6.2.244) -Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80 - in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm) -Solution: Correct the utf_ptr2len_check_len() function and fix the problem - of displaying 0xf7 in utfc_ptr2len_check_len(). -Files: src/mbyte.c - -Patch 6.2.458 -Problem: When 'virtualedit' is set "$" doesn't move to the end of an - unprintable character, causing "y$" not to include that character. - (Fred Ma) -Solution: Set "coladd" to move the cursor to the end of the character. -Files: src/misc2.c - -Patch 6.2.459 (after 6.2.454) -Problem: Variable "b" cannot be written. (Salman Halim) -Solution: Compare strings properly. -Files: src/eval.c - -Patch 6.2.460 (extra, after 6.2.456) -Problem: Compiler warnings for missing prototypes. -Solution: Include the missing prototypes. -Files: src/proto/os_win32.pro - -Patch 6.2.461 -Problem: After using a search command "x" starts putting single characters - in the numbered registers. -Solution: Reset "use_reg_one" at the right moment. -Files: src/normal.c - -Patch 6.2.462 -Problem: Finding a matching parenthesis does not correctly handle a - backslash in a trailing byte. -Solution: Handle multi-byte characters correctly. (Taro Muraoka) -Files: src/search.c - -Patch 6.2.463 (extra) -Problem: Win32: An NTFS file system may contain files with extra info - streams. The current method to copy them creates one and then - deletes it again. (Peter Toennies) Also, only three streams with - hard coded names are copied. -Solution: Use BackupRead() to check which info streams the original file - contains and only copy these streams. -Files: src/os_win32.c - -Patch 6.2.464 (extra, after 6.2.427) -Problem: Amiga: Compilation error with gcc. (Ali Akcaagac) -Solution: Move the #ifdef outside of Read(). -Files: src/os_amiga.c - -Patch 6.2.465 -Problem: When resizing the GUI window the window manager sometimes moves it - left of or above the screen. (Michael McCarty) -Solution: Check the window position after resizing it and move it onto the - screen when it isn't. -Files: src/gui.c - -Patch 6.2.466 (extra, after 6.2.456) -Problem: Win32: Compiling with Borland C fails, and an un/signed warning. -Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro - Matsumoto) -Files: src/os_win32.c - -Patch 6.2.467 (extra, after 6.2.463) -Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar) -Solution: Add #ifdefs around the info stream code. -Files: src/os_win32.c - -Patch 6.2.468 -Problem: Compiler warnings for shadowed variables. (Matthias Mohr) -Solution: Delete superfluous variables and rename others. -Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c, - src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c, - src/regexp.c - -Patch 6.2.469 (extra, after 6.2.456) -Problem: Win32: Can't create swap file when 'encoding' differs from the - active code page. (Kriton Kyrimis) -Solution: In enc_to_ucs2() terminate the converted string with a NUL -Files: src/os_mswin.c - -Patch 6.2.470 -Problem: The name returned by tempname() may be equal to the file used for - shell output when ignoring case. -Solution: Skip 'O' and 'I' in tempname(). -Files: src/eval.c - -Patch 6.2.471 -Problem: "-L/usr/lib" is used in the link command, even though it's - supposed to be filtered out. "-lw" and "-ldl" are not - automatically added when needed for "-lXmu". (Antonio Colombo) -Solution: Check for a space after the argument instead of before. Also - remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl" - before trying "-lXmu". -Files: src/auto/configure, src/configure.in, src/link.sh - -Patch 6.2.472 -Problem: When using a FileChangedShell autocommand that changes the current - buffer, a buffer exists that can't be wiped out. - Also, Vim sometimes crashes when executing an external command - that changes the buffer and a FileChangedShell autocommand is - used. (Hari Krishna Dara) - Users are confused by the warning for a file being changed outside - of Vim. -Solution: Avoid that the window counter for a buffer is incremented twice. - Avoid that buf_check_timestamp() is used recursively. - Add a hint to look in the help for more info. -Files: src/ex_cmds.c, src/fileio.c - -Patch 6.2.473 -Problem: Using CTRL-] in a help buffer without a name causes a crash. -Solution: Check for name to be present before using it. (Taro Muraoka) -Files: src/tag.c - -Patch 6.2.474 (extra, after 6.2.456) -Problem: When Vim is starting up conversion is done unnecessarily. Failure - to find the runtime files on Windows 98. (Randall W. Morris) -Solution: Init enc_codepage negative, only use it when not negative. - Don't use GetFileAttributesW() on Windows 98 or earlier. -Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, - src/os_win32.c - -Patch 6.2.475 -Problem: Commands after "perl <<EOF" are parsed as Vim commands when they - are not executed. -Solution: Properly skip over the perl commands. -Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c, - src/if_ruby.c, src/if_tcl.c, src/misc2.c - -Patch 6.2.476 -Problem: When reloading a hidden buffer changed outside of Vim and the - current buffer is read-only, the reloaded buffer becomes - read-only. (Hari Krishna Dara) -Solution: Save the 'readonly' flag of the reloaded buffer instead of the - current buffer. -Files: src/fileio.c - -Patch 6.2.477 -Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang. - (Yakov Lerner) -Solution: When the resulting string is empty don't set received_from_client. -Files: src/main.c - -Patch 6.2.478 -Problem: Win32: "--remote file" fails changing directory if the current - directory name starts with a single quote. (Iestyn Walters) -Solution: Add a backslash where it will be removed later. -Files: src/main.c, src/misc2.c, src/proto/misc2.pro - -Patch 6.2.479 -Problem: The error message for errors during recovery goes unnoticed. -Solution: Avoid that the hit-enter prompt overwrites the message. Add a few - lines to make the error stand out. -Files: src/main.c, src/message.c, src/memline.c - -Patch 6.2.480 -Problem: NetBeans: Using negative index in array. backslash at end of - message may cause Vim to crash. (Xavier de Gaye) -Solution: Initialize buf_list_used to zero. Check for trailing backslash. -Files: src/netbeans.c - -Patch 6.2.481 -Problem: When writing a file it is not possible to specify that hard and/or - symlinks are to be broken instead of preserved. -Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'. - (Simon Ekstrand) -Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h - -Patch 6.2.482 -Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is - considered to be a digit. (Juergen Kraemer) -Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for - speed where possible. Also add vim_isxdigit(). -Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c, - src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, - src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c, - src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h, - src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c, - src/misc2.c, src/normal.c, src/ops.c, src/option.c, - src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c, - src/syntax.c, src/tag.c, src/term.c, src/termlib.c - -Patch 6.2.483 (extra, after 6.2.482) -Problem: See 6.2.482. -Solution: Extra part of patch 6.2.482. -Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c - -Patch 6.2.484 -Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z - are not recognized. (Peter Keresztes) -Solution: Write the files with unix fileformat and invoke diff with --binary - if possible. -Files: src/diff.c - -Patch 6.2.485 -Problem: A BufWriteCmd autocommand cannot know if "!" was used or not. - (Hari Krishna Dara) -Solution: Add the v:cmdbang variable. -Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, - src/fileio.c, src/vim.h - -Patch 6.2.486 (6.2.482) -Problem: Diff for eval.c is missing. -Solution: Addition to patch 6.2.482. -Files: src/eval.c - -Patch 6.2.487 (extra, after 6.2.456) -Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia) -Solution: Delete the prototype for Handle_WM_Notify(). -Files: src/proto/gui_w32.pro - -Patch 6.2.488 -Problem: Missing ")" in *.ch filetype detection. -Solution: Add the ")". (Ciaran McCreesh) -Files: runtime/filetype.vim - -Patch 6.2.489 -Problem: When accidentally opening a session in Vim which has already been - opened in another Vim there is a long row of ATTENTION prompts. - Need to quit each of them to get out. (Robert Webb) -Solution: Add the "Abort" alternative to the dialog. -Files: src/memline.c - -Patch 6.2.490 -Problem: With 'paragraph' it is not possible to use a single dot as a - paragraph boundary. (Dorai Sitaram) -Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or - ". $" -Files: src/search.c - -Patch 6.2.491 -Problem: Decrementing a position doesn't take care of multi-byte chars. -Solution: Adjust the column for multi-byte characters. Remove mb_dec(). - (Yasuhiro Matsumoto) -Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro - -Patch 6.2.492 -Problem: When using ":redraw" while there is a message, the next ":echo" - still causes text to scroll. (Yasuhiro Matsumoto) -Solution: Reset msg_didout and msg_col, so that after ":redraw" the next - message overwrites an existing one. -Files: src/ex_docmd.c - -Patch 6.2.493 -Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher) -Solution: Put "restart_edit" in the typeahead buffer, so that it's used - after executing the register contents. -Files: src/ops.c - -Patch 6.2.494 -Problem: Using diff mode with two windows, when moving horizontally in - inserted lines, a fold in the other window may open. -Solution: Compute the line number in the other window correctly. -Files: src/diff.c - -Patch 6.2.495 (extra, after 6.2.456) -Problem: Win32: The file dialog doesn't work on Windows 95. -Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use - it only on Windows NT/2000/XP. -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.2.496 -Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a - complicated pattern may cause Vim to crash. Catching the signal - doesn't work. -Solution: When compiled with threads, instead of using the normal stacksize - limit, use the size of the initial stack. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/os_unix.c - -Patch 6.2.497 (extra) -Problem: Russian messages are only available in one encoding. -Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin) -Files: src/po/Makefile - -Patch 6.2.498 -Problem: Non-latin1 help files are not properly supported. -Solution: Support utf-8 help files and convert them to 'encoding' when - needed. -Files: src/fileio.c - -Patch 6.2.499 -Problem: When writing a file and halting the system, the file might be lost - when using a journaling file system. -Solution: Use fsync() to flush the file data to disk after writing a file. - (Radim Kolar) -Files: src/fileio.c - -Patch 6.2.500 (extra) -Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for - diff. -Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez- - Valencia) -Files: src/dosinst.c - -Patch 6.2.501 -Problem: Vim does not compile with MorphOS. -Solution: Add a Makefile and a few changes to make Vim work with MorphOS. - (Ali Akcaagac) -Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt, - src/Make_morphos.mak, src/memfile.c, src/term.c - -Patch 6.2.502 -Problem: Building fails for generating message files. -Solution: Add dummy message files. -Files: src/po/ca.po, src/po/ru.po, src/po/sv.po - -Patch 6.2.503 -Problem: Mac: Can't compile MacRoman conversions without the GUI. -Solution: Also link with the Carbon framework for the terminal version, for - the MacRoman conversion functions. (Eckehard Berns) - Remove -ltermcap from the GUI link command, it is not needed. -Files: src/auto/configure, src/Makefile, src/configure.in - -Patch 6.2.504 -Problem: Various problems with 'cindent', among which that a - list of variable declarations is not indented properly. -Solution: Fix the wrong indenting. Improve indenting of C++ methods. - Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by - Helmut Stiegler) - Improve indenting of preprocessor-continuation lines. -Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, - src/testdir/test3.ok - -Patch 6.2.505 -Problem: Help for -P argument is missing. (Ronald Hoellwarth) -Solution: Add the patch that was missing in 6.2.419. -Files: runtime/doc/starting.txt - -Patch 6.2.506 (extra) -Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file - only works when iconv is available. Writing a file in another - codepage uses the wrong kind of conversion. -Solution: Use internal conversion functions. Enable reading and writing - files with 'fileencoding' different from 'encoding' for all valid - codepages and utf-8 without the need for iconv. -Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in, - src/testdir/test52.ok - -Patch 6.2.507 -Problem: The ownership of the file with the password for the NetBeans - connection is not checked. "-nb={file}" doesn't work for GTK. -Solution: Only accept the file when owned by the user and not accessible by - others. Detect "-nb=" for GTK. -Files: src/netbeans.c, src/gui_gtk_x11.c - -Patch 6.2.508 -Problem: Win32: "v:lang" does not show the current language for messages if - it differs from the other locale settings. -Solution: Use the value of the $LC_MESSAGES environment variable. -Files: src/ex_cmds2.c - -Patch 6.2.509 (after 6.2.508) -Problem: Crash when $LANG is not set. -Solution: Add check for NULL pointer. (Ron Aaron) -Files: src/ex_cmds2.c - -Patch 6.2.510 (after 6.2.507) -Problem: Warning for pointer conversion. -Solution: Add a type cast. -Files: src/gui_gtk_x11.c - -Patch 6.2.511 -Problem: Tags in Russian help files are in utf-8 encoding, which may be - different from 'encoding'. -Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the - encoding of the tags. Convert help tags from 'encoding' to the - tag file encoding when searching for matches, do the reverse when - listing help tags. -Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c - -Patch 6.2.512 -Problem: Translating "\"\n" is useless. (Gerfried Fuchs) -Solution: Remove the _() around it. -Files: src/main.c, src/memline.c - -Patch 6.2.513 (after 6.2.507) -Problem: NetBeans: the check for owning the connection info file can be - simplified. (Nikolay Molchanov) -Solution: Only check if the access mode is right. -Files: src/netbeans.c - -Patch 6.2.514 -Problem: When a highlight/syntax group name contains invalid characters - there is no warning. -Solution: Add an error for unprintable characters and a warning for other - invalid characters. -Files: src/syntax.c - -Patch 6.2.515 -Problem: When using the options window 'swapfile' is reset. -Solution: Use ":setlocal" instead of ":set". -Files: runtime/optwin.vim - -Patch 6.2.516 -Problem: The sign column cannot be seen, looks like there are two spaces - before the text. (Rob Retter) -Solution: Add the SignColumn highlight group. -Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, - src/screen.c, src/syntax.c, src/vim.h - -Patch 6.2.517 -Problem: Using "r*" in Visual mode on multi-byte characters replaces - too many characters. In Visual Block mode replacing with a - multi-byte character doesn't work. -Solution: Adjust the operator end for the difference in byte length of the - original and the replaced character. Insert all bytes of a - multi-byte character, take care of double-wide characters. -Files: src/ops.c - -Patch 6.2.518 -Problem: Last line of a window is not updated after using "J" and then "D". - (Adri Verhoef) -Solution: When no line is found below a change that doesn't need updating, - update all lines below the change. -Files: src/screen.c - -Patch 6.2.519 -Problem: Mac: cannot read/write files in MacRoman format. -Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1. - (Eckehard Berns) -Files: src/fileio.c - -Patch 6.2.520 (extra) -Problem: The NSIS installer is outdated. -Solution: Make it work with NSIS 2.0. Also include console executables for - Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use - "/oname" to avoid having to rename files before running NSIS. -Files: Makefile, nsis/gvim.nsi - -Patch 6.2.521 -Problem: When using silent Ex mode the "changing a readonly file" warning - is omitted but the one second wait isn't. (Yakov Lerner) -Solution: Skip the delay when "silent_mode" is set. -Files: src/misc1.c - -Patch 6.2.522 -Problem: GUI: when changing 'cmdheight' in the gvimrc file the window - layout is messed up. (Keith Dart) -Solution: Skip updating the window layout when changing 'cmdheight' while - still starting up. -Files: src/option.c - -Patch 6.2.523 -Problem: When loading a session and aborting when a swap file already - exists, the user is left with useless windows. (Robert Webb) -Solution: Load one file before creating the windows. -Files: src/ex_docmd.c - -Patch 6.2.524 (extra, after 6.2.520) -Problem: Win32: (un)installing gvimext.dll may fail if it was used. - The desktop and start menu links are created for the current user - instead of all users. - Using the home directory as working directory for the links is a - bad idea for multi-user systems. - Cannot use Vim from the "Open With..." menu. -Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use - macros for the directory of the source and runtime files. Use - "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. - Do not specify a working directory in the links. - Add Vim to the "Open With..." menu. (Giuseppe Bilotta) -Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c - -Patch 6.2.525 -Problem: When the history contains a very long line ":history" causes a - crash. (Volker Kiefel) -Solution: Shorten the history entry to fit it in one line. -Files: src/ex_getln.c - -Patch 6.2.526 -Problem: When s:lang is "ja" the Japanese menus are not used. -Solution: Add 'encoding' to the language when there is no charset. -Files: runtime/menu.vim - -Patch 6.2.527 -Problem: The 2html script uses ":wincmd p", which breaks when using some - autocommands. -Solution: Remember the window numbers and jump to them with ":wincmd w". - Also add XHTML support. (Panagiotis Issaris) -Files: runtime/syntax/2html.vim - -Patch 6.2.528 -Problem: NetBeans: Changes of the "~" command are not reported. -Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) - Also change NetBeans debugging to append to the log file. - Also fix that "~" in Visual block mode changes too much if there - are multi-byte characters. -Files: src/nbdebug.c, src/normal.c, src/ops.c - -Patch 6.2.529 (extra) -Problem: VisVim only works for Admin. Doing it for one user doesn't work. - (Alexandre Gouraud) -Solution: When registering the module fails, simply continue. -Files: src/VisVim/VisVim.cpp - -Patch 6.2.530 -Problem: Warning for missing prototype on the Amiga. -Solution: Include time.h -Files: src/version.c - -Patch 6.2.531 -Problem: In silent ex mode no messages are given, which makes debugging - very difficult. -Solution: Do output messages when 'verbose' is set. -Files: src/message.c, src/ui.c - -Patch 6.2.532 (extra) -Problem: Compiling for Win32s with VC 4.1 doesn't work. -Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* - when not defined. -Files: src/dosinst.h, src/fileio.c - -Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto) - -Patch 6.3a.001 -Problem: Win32: if testing for the "--binary" option fails, diff isn't used - at all. -Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto) -Files: src/diff.c - -Patch 6.3a.002 -Problem: NetBeans: An insert command from NetBeans beyond the end of a - buffer crashes Vim. (Xavier de Gaye) -Solution: Use a local pos_T structure for the position. -Files: src/netbeans.c - -Patch 6.3a.003 -Problem: E315 error with auto-formatting comments. (Henry Van Roessel) -Solution: Pass the line number to same_leader(). -Files: src/ops.c - -Patch 6.3a.004 -Problem: Test32 fails on Windows XP for the DJGPP version. Renaming - test11.out fails. -Solution: Don't try renaming, create new files to use for the test. -Files: src/testdir/test32.in, src/testdir/test32.ok - -Patch 6.3a.005 -Problem: ":checkpath!" does not use 'includeexpr'. -Solution: Use a file name that was found directly. When a file was not - found and the located name is empty, use the rest of the line. -Files: src/search.c - -Patch 6.3a.006 -Problem: "yip" moves the cursor to the first yanked line, but not to the - first column. Looks like not all text was yanked. (Jens Paulus) -Solution: Move the cursor to the first column. -Files: src/search.c - -Patch 6.3a.007 -Problem: 'cindent' recognizes "enum" but not "typedef enum". -Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler) - Also avoid that searching for this item goes too far back. -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 6.3a.008 (extra) -Problem: Windows 98: Some of the wide functions are not implemented, - resulting in file I/O to fail. This depends on what Unicode - support is installed. -Solution: Handle the failure and fall back to non-wide functions. -Files: src/os_win32.c - -Patch 6.3a.009 -Problem: Win32: Completion of filenames does not work properly when - 'encoding' differs from the active code page. -Solution: Use wide functions for expanding wildcards when appropriate. -Files: src/misc1.c - -Patch 6.3a.010 (extra) -Problem: Win32: Characters in the window title that do not appear in the - active codepage are replaced by a question mark. -Solution: Use DefWindowProcW() instead of DefWindowProc() when possible. -Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, - src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c - -Patch 6.3a.011 -Problem: Using the explorer plugin changes a local directory to the global - directory. -Solution: Don't use ":chdir" to restore the current directory. Make - "expand('%:p')" remove "/../" and "/./" items from the path. -Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c - -Patch 6.3a.012 (extra) -Problem: On Windows 98 the installer doesn't work, don't even get the "I - agree" button. The check for the path ending in "vim" makes the - browse dialog hard to use. The default path when no previous Vim - is installed is "c:\vim" instead of "c:\Program Files\Vim". -Solution: Remove the background gradient command. Change the - .onVerifyInstDir function to a leave function for the directory - page. Don't let the install program default to c:\vim when no - path could be found. -Files: nsis/gvim.nsi, src/dosinst.c - -Patch 6.3a.013 (extra) -Problem: Win32: Characters in the menu that are not in the active codepage - are garbled. -Solution: Convert menu strings from 'encoding' to the active codepage. -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.3a.014 -Problem: Using multi-byte text and highlighting in a statusline causes gaps - to appear. (Helmut Stiegler) -Solution: Advance the column by text width instead of number of bytes. Add - the vim_strnsize() function. -Files: src/charset.c, src/proto/charset.pro, src/screen.c - -Patch 6.3a.015 -Problem: Using the "select all" menu item when 'insertmode' is set and - clicking the mouse button doesn't return to Insert mode. The - Buffers/Delete menu doesn't offer a choice to abandon a changed - buffer. (Jens Paulus) -Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu - items. -Files: runtime/menu.vim - -Patch 6.3a.016 -Problem: After cancelling the ":confirm" dialog the error message and - hit-enter prompt may not be displayed properly. -Solution: Flush output after showing the dialog. -Files: src/message.c - -Patch 6.3a.017 -Problem: servername() doesn't work when Vim was started with the "-X" - argument or when the "exclude" in 'clipboard' matches the terminal - name. (Robert Nowotniak) -Solution: Force connecting to the X server when using client-server - commands. -Files: src/eval.c, src/globals.h, src/os_unix.c - -Patch 6.3a.018 (after 6.3a.017) -Problem: Compiler warning for return value of make_connection(). -Solution: Use void return type. -Files: src/eval.c - -Patch 6.3a.019 (extra) -Problem: Win32: typing non-latin1 characters doesn't work. -Solution: Invoke _OnChar() directly to avoid that the argument is truncated - to a byte. Convert the UTF-16 character to bytes according to - 'encoding' and ignore 'termencoding'. Same for _OnSysChar(). -Files: src/gui_w32.c, src/gui_w48.c - -Patch 6.3a.020 (extra) -Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI - doesn't work. -Solution: Add AROS support. (Adam Chodorowski) - Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac) -Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, - src/memfile.c, src/os_amiga.c, src/term.c - -Patch 6.3a.021 (after 6.3a.017) -Problem: Can't compile with X11 but without GUI. -Solution: Put use of "gui.in_use" inside an #ifdef. -Files: src/eval.c - -Patch 6.3a.022 -Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a - tab is counted for two spaces. -Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted - as two spaces or as 'tabstop'. (Antony Scriven) -Files: runtime/doc/options.txt, src/edit.c - -Patch 6.3a.023 -Problem: Completion on the command line doesn't handle backslashes - properly. Only the tail of matches is shown, even when not - completing filenames. -Solution: When turning the string into a pattern double backslashes. Don't - omit the path when not expanding files or directories. -Files: src/ex_getln.c - -Patch 6.3a.024 -Problem: The "save all" toolbar item fails for buffers that don't have a - name. When using ":wa" or closing the Vim window and there are - nameless buffers, browsing for a name may cause the name being - given to the wrong buffer or not stored properly. ":browse" only - worked for one file. -Solution: Use ":confirm browse" for "save all". - Pass buffer argument to setfname(). Restore "browse" flag and - "forceit" after doing the work for one file. -Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, - src/message.c, src/window.c, src/proto/buffer.pro, - src/proto/ex_cmds2.pro, src/proto/memline.pro - -Patch 6.3a.025 -Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher) -Solution: Update the virtual column before using it. -Files: src/option.c - -Patch 6.3a.026 (extra, after 6.3a.008) -Problem: Editing files on Windows 98 doesn't work when 'encoding' is - "utf-8" (Antoine Mechelynck) - Warning for missing function prototype. -Solution: For all wide functions check if it failed because it is not - implemented. Use ANSI function declaration for char_to_string(). -Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c - -Patch 6.3a.027 (extra, after 6.3a.026) -Problem: Compiler warning for function argument. -Solution: Declare both char and WCHAR arrays. -Files: src/gui_w48.c - -Patch 6.3a.028 -Problem: ":normal ." doesn't work inside a function, because redo is saved - and restored. (Benji Fisher) -Solution: Make a copy of the redo buffer when executing a function. -Files: src/getchar.c - -Patch 6.3b.001 (extra) -Problem: Bcc 5: The generated auto/pathdef can't be compiled. -Solution: Fix the way quotes and backslashes are escaped. -Files: src/Make_bc5.mak - -Patch 6.3b.002 -Problem: Win32: conversion during file write fails when a double-byte - character is split over two writes. -Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka) -Files: src/fileio.c - -Patch 6.3b.003 (extra) -Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8" - then Vim can't open files under MS-Windows 98. (Antoine J. - Mechelynck) -Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation. -Files: src/os_mswin.c, src/os_win32.c - -Patch 6.3b.004 -Problem: ":helpgrep" includes a trailing CR in the text line. -Solution: Remove the CR. -Files: src/quickfix.c - -Patch 6.3b.005 -Problem: ":echo &g:ai" results in the local option value. (Salman Halim) -Solution: Pass the flags from find_option_end() to get_option_value(). -Files: src/eval.c - -Patch 6.3b.006 -Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before - last pasted character. (Mathew Davis) -Solution: Use the same Paste() function as in menu.vim. -Files: runtime/mswin.vim - -Patch 6.3b.007 -Problem: Session file doesn't restore view on windows properly. (Robert - Webb) -Solution: Restore window sizes both before and after restoring the view, so - that the view, cursor position and size are restored properly. -Files: src/ex_docmd.c - -Patch 6.3b.008 -Problem: Using ":finally" in a user command doesn't always work. (Hari - Krishna Dara) -Solution: Don't assume that using getexline() means the command was typed. -Files: src/ex_docmd.c - -Patch 6.3b.009 (extra) -Problem: Win32: When the -P argument is not found in a window title, there - is no error message. -Solution: When the window can't be found give an error message and exit. - Also use try/except to catch failing to open the MDI window. - (Michael Wookey) -Files: src/gui_w32.c - -Patch 6.3b.010 -Problem: Win32: Using the "-D" argument and expanding arguments may cause a - hang, because the terminal isn't initialized yet. (Vince Negri) -Solution: Don't go into debug mode before the terminal is initialized. -Files: src/main.c - -Patch 6.3b.011 -Problem: Using CTRL-\ e while obtaining an expression aborts the command - line. (Hari Krishna Dara) -Solution: Insert the CTRL-\ e as typed. -Files: src/ex_getln.c - -Patch 6.3b.012 (after 6.3b.010) -Problem: Can't compile with tiny features. (Norbert Tretkowski) -Solution: Add #ifdefs. -Files: src/main.c - -Patch 6.3b.013 -Problem: Loading a session file results in editing the wrong file in the - first window when this is not the file at the current position in - the argument list. (Robert Webb) -Solution: Check w_arg_idx_invalid to decide whether to edit a file. -Files: src/ex_docmd.c - -Patch 6.3b.014 -Problem: ":runtime! foo*.vim" may using freed memory when a sourced script - changes the value of 'runtimepath'. -Solution: Make a copy of 'runtimepath' when looping over the matches. -Files: src/ex_cmds2.c - -Patch 6.3b.015 -Problem: Get lalloc(0) error when using "p" in Visual mode while - 'clipboard' contains "autoselect,unnamed". (Mark Wagonner) -Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary. -Files: src/ops.c - -Patch 6.3b.016 -Problem: When 'virtualedit' is used "x" doesn't delete the last character - of a line that has as many characters as 'columns'. (Yakov Lerner) -Solution: When the cursor isn't moved let oneright() return FAIL. -Files: src/edit.c - -Patch 6.3b.017 -Problem: Win32: "vim --remote-wait" doesn't exit when the server finished - editing the file. (David Fishburn) -Solution: In the rrhelper plugin change backslashes to forward slashes and - escape special characters. -Files: runtime/plugin/rrhelper.vim - -Patch 6.3b.018 -Problem: The list of help files in the "local additions" table doesn't - recognize utf-8 encoding. (Yasuhiro Matsumoto) -Solution: Recognize utf-8 characters. -Files: src/ex_cmds.c - -Patch 6.3b.019 -Problem: When $VIMRUNTIME is not a full path name the "local additions" - table lists all the help files. -Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory - names. -Files: src/ex_cmds.c - -Patch 6.3b.020 -Problem: When using CTRL-^ when entering a search string, the item in the - statusline that indicates the keymap is not updated. (Ilya - Dogolazky) -Solution: Mark the statuslines for updating. -Files: src/ex_getln.c - -Patch 6.3b.021 -Problem: The swapfile is not readable for others, the ATTENTION prompt does - not show all info when someone else is editing the same file. - (Marcel Svitalsky) -Solution: Use the protection of original file for the swapfile and set it - after creating the swapfile. -Files: src/fileio.c - -Patch 6.3b.022 -Problem: Using "4v" to select four times the old Visual area may put the - cursor beyond the end of the line. (Jens Paulus) -Solution: Correct the cursor column. -Files: src/normal.c - -Patch 6.3b.023 -Problem: When "3dip" starts in an empty line, white lines after the - non-white lines are not deleted. (Jens Paulus) -Solution: Include the white lines. -Files: src/search.c - -Patch 6.3b.024 -Problem: "2daw" does not delete leading white space like "daw" does. (Jens - Paulus) -Solution: Include the white space when a count is used. -Files: src/search.c - -Patch 6.3b.025 -Problem: Percentage in ruler isn't updated when a line is deleted. (Jens - Paulus) -Solution: Check for a change in line count when deciding to update the ruler. -Files: src/screen.c, src/structs.h - -Patch 6.3b.026 -Problem: When selecting "abort" at the ATTENTION prompt for a file that is - already being edited Vim crashes. -Solution: Don't abort creating a new buffer when we really need it. -Files: src/buffer.c, src/vim.h - -Patch 6.3b.027 -Problem: Win32: When enabling the menu in a maximized window, Vim uses more - lines than what is room for. (Shizhu Pan) -Solution: When deciding to call shell_resized(), also compare the text area - size with Rows and Columns, not just with screen_Rows and - screen_Columns. -Files: src/gui.c - -Patch 6.3b.028 -Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine) -Solution: Check for last column differently when 'rightleft' is set. -Files: src/screen.c - -Patch 6.3b.029 -Problem: Win32: warning for uninitialized variable. -Solution: Initialize to zero. -Files: src/misc1.c - -Patch 6.3b.030 -Problem: After Visually selecting four characters, changing it to other - text, Visually selecting and yanking two characters: "." changes - four characters, another "." changes two characters. (Robert Webb) -Solution: Don't store the size of the Visual area when redo is active. -Files: src/normal.c - -============================================================================== -VERSION 6.4 *version-6.4* - -This section is about improvements made between version 6.3 and 6.4. - -This is a bug-fix release. There are also a few new features. The major -number of new items is in the runtime files and translations. - -The big MS-Windows version now uses: - Ruby version 1.8.3 - Perl version 5.8.7 - Python version 2.4.2 - - -Changed *changed-6.4* -------- - -Removed runtime/tools/tcltags, Exuberant ctags does it better. - - -Added *added-6.4* ------ - -Alsaconf syntax file (Nikolai Weibull) -Eruby syntax, indent, compiler and ftplugin file (Doug Kearns) -Esterel syntax file (Maurizio Tranchero) -Mathematica indent file (Steve Layland) -Netrc syntax file (Nikolai Weibull) -PHP compiler file (Doug Kearns) -Pascal indent file (Neil Carter) -Prescribe syntax file (Klaus Muth) -Rubyunit compiler file (Doug Kearns) -SMTPrc syntax file (Kornel Kielczewski) -Sudoers syntax file (Nikolai Weibull) -TPP syntax file (Gerfried Fuchs) -VHDL ftplugin file (R. Shankar) -Verilog-AMS syntax file (S. Myles Prather) - -Bulgarian keymap (Alberto Mardegan) -Canadian keymap (Eric Joanis) - -Hungarian menu translations in UTF-8 (Kantra Gergely) -Ukrainian menu translations (Bohdan Vlasyuk) - -Irish message translations (Kevin Patrick Scannell) - -Configure also checks for tclsh8.4. - - -Fixed *fixed-6.4* ------ - -"dFxd;" deleted the character under the cursor, "d;" didn't remember the -exclusiveness of the motion. - -When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one -line for the cmdline. (Christian Robinson) Invoke command_height() after the -GUI has started up. - -Gcc would warn "dereferencing type-punned pointer will break strict -aliasing -rules". Avoid using typecasts for variable pointers. - -Gcc 3.x interprets the -MM argument differently. Change "-I /path" to -"-isystem /path" for "make depend". - - -Patch 6.3.001 -Problem: ":browse split" gives the file selection dialog twice. (Gordon - Bazeley) Same problem for ":browse diffpatch". -Solution: Reset cmdmod.browse before calling do_ecmd(). -Files: src/diff.c, src/ex_docmd.c - -Patch 6.3.002 -Problem: When using translated help files with non-ASCII latin1 characters - in the first line the utf-8 detection is wrong. -Solution: Properly detect utf-8 characters. When a mix of encodings is - detected continue with the next language and avoid a "no matches" - error because of "got_int" being set. Add the directory name to - the error message for a duplicate tag. -Files: src/ex_cmds.c - -Patch 6.3.003 -Problem: Crash when using a console dialog and the first choice does not - have a default button. (Darin Ohashi) -Solution: Allocate two more characters for the [] around the character for - the default choice. -Files: src/message.c - -Patch 6.3.004 -Problem: When searching for a long string (140 chars in a 80 column - terminal) get three hit-enter prompts. (Robert Webb) -Solution: Avoid the hit-enter prompt when giving the message for wrapping - around the end of the buffer. Don't give that message again when - the string was not found. -Files: src/message.c, src/search.c - -Patch 6.3.005 -Problem: Crash when searching for a pattern with a character offset and - starting in a closed fold. (Frank Butler) -Solution: Check for the column to be past the end of the line. Also fix - that a pattern with a character offset relative to the end isn't - read back from the viminfo properly. -Files: src/search.c - -Patch 6.3.006 -Problem: ":breakadd file *foo" prepends the current directory to the file - pattern. (Hari Krishna Dara) -Solution: Keep the pattern as-is. -Files: src/ex_cmds2.c - -Patch 6.3.007 -Problem: When there is a buffer with 'buftype' set to "nofile" and using a - ":cd" command, the swap file is not deleted when exiting. -Solution: Use the full path of the swap file also for "nofile" buffers. -Files: src/fileio.c - -Patch 6.3.008 -Problem: Compiling fails under OS/2. -Solution: Include "e_screenmode" also for OS/2. (David Sanders) -Files: src/globals.h - -Patch 6.3.009 (after 6.3.006) -Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link - is involved. (Servatius Brandt) -Solution: Do expand the pattern when it does not start with "*". -Files: runtime/doc/repeat.txt, src/ex_cmds2.c - -Patch 6.3.010 -Problem: When writing to a named pipe there is an error for fsync() - failing. -Solution: Ignore the fsync() error for devices. -Files: src/fileio.c - -Patch 6.3.011 -Problem: Crash when the completion function of a user-command uses a - "normal :cmd" command. (Hari Krishna Dara) -Solution: Save the command line when invoking the completion function. -Files: src/ex_getln.c - -Patch 6.3.012 -Problem: Internal lalloc(0) error when using a complicated multi-line - pattern in a substitute command. (Luc Hermitte) -Solution: Avoid going past the end of a line. -Files: src/ex_cmds.c - -Patch 6.3.013 -Problem: Crash when editing a command line and typing CTRL-R = to evaluate - a function that uses "normal :cmd". (Hari Krishna Dara) -Solution: Save and restore the command line when evaluating an expression - for CTRL-R =. -Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, - src/proto/ops.pro - -Patch 6.3.014 -Problem: When using Chinese or Taiwanese the default for 'helplang' is - wrong. (Simon Liang) -Solution: Use the part of the locale name after "zh_". -Files: src/option.c - -Patch 6.3.015 -Problem: The string that winrestcmd() returns may end in garbage. -Solution: NUL-terminate the string. (Walter Briscoe) -Files: src/eval.c - -Patch 6.3.016 -Problem: The default value for 'define' has "\s" before '#'. -Solution: Add a star after "\s". (Herculano de Lima Einloft Neto) -Files: src/option.c - -Patch 6.3.017 -Problem: "8zz" may leave the cursor beyond the end of the line. (Niko - Maatjes) -Solution: Correct the cursor column after moving to another line. -Files: src/normal.c - -Patch 6.3.018 -Problem: ":0argadd zero" added the argument after the first one, instead of - before it. (Adri Verhoef) -Solution: Accept a zero range for ":argadd". -Files: src/ex_cmds.h - -Patch 6.3.019 -Problem: Crash in startup for debug version. (David Rennals) -Solution: Move the call to nbdebug_wait() to after allocating NameBuff. -Files: src/main.c - -Patch 6.3.020 -Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not - delete a word but only a combining character of the first - character, if there is one. (Raphael Finkel) -Solution: Correctly check that one character is being deleted. -Files: src/misc1.c - -Patch 6.3.021 -Problem: When the last character of a file name is a multi-byte character - and the last byte is a path separator, the file cannot be edited. -Solution: Check for the last byte to be part of a multi-byte character. - (Taro Muraoka) -Files: src/fileio.c - -Patch 6.3.022 (extra) -Problem: Win32: When the last character of a file name is a multi-byte - character and the last byte is a path separator, the file cannot - be written. A trail byte that is a space makes that a file cannot - be opened from the command line. -Solution: Recognize double-byte characters when parsing the command line. - In mch_stat() check for the last byte to be part of a multi-byte - character. (Taro Muraoka) -Files: src/gui_w48.c, src/os_mswin.c - -Patch 6.3.023 -Problem: When the "to" part of a mapping starts with its "from" part, - abbreviations for the same characters is not possible. For - example, when <Space> is mapped to something that starts with a - space, typing <Space> does not expand abbreviations. -Solution: Only disable expanding abbreviations when a mapping is not - remapped, don't disable it when the RHS of a mapping starts with - the LHS. -Files: src/getchar.c, src/vim.h - -Patch 6.3.024 -Problem: In a few places a string in allocated memory is not terminated - with a NUL. -Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and - serverGetVimNames(). -Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c - -Patch 6.3.025 (extra) -Problem: Missing NUL for list of server names. -Solution: Add ga_append(NUL) in serverGetVimNames(). -Files: src/os_mswin.c - -Patch 6.3.026 -Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that - reloads the colors an endless loop and/or a crash may occur. -Solution: Only free the old value of an option when it was originally - allocated. Limit recursiveness of init_highlight() to 5 levels. -Files: src/option.c, src/syntax.c - -Patch 6.3.027 -Problem: VMS: Writing a file may insert extra CR characters. Not all - terminals are recognized correctly. Vt320 doesn't support colors. - Environment variables are not expanded correctly. -Solution: Use another method to write files. Add vt320 termcap codes for - colors. (Zoltan Arpadffy) -Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h, - src/term.c - -Patch 6.3.028 -Problem: When appending to a file the BOM marker may be written. (Alex - Jakushev) -Solution: Do not write the BOM marker when appending. -Files: src/fileio.c - -Patch 6.3.029 -Problem: Crash when inserting a line break. (Walter Briscoe) -Solution: In the syntax highlighting code, don't use an old state after a - change was made, current_col may be past the end of the line. -Files: src/syntax.c - -Patch 6.3.030 -Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets - 'encoding' to "utf-8" and loads the menus again. GTK error - message when tooltip text is in a wrong encoding. -Solution: Don't copy characters from the old screen to the new screen when - switching 'encoding' to utf-8, they may be invalid. Only set the - tooltip when it is valid utf-8. -Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c - -Patch 6.3.031 -Problem: When entering a mapping and pressing Tab halfway the command line - isn't redrawn properly. (Adri Verhoef) -Solution: Reposition the cursor after drawing over the "..." of the - completion attempt. -Files: src/ex_getln.c - -Patch 6.3.032 -Problem: Using Python 2.3 with threads doesn't work properly. -Solution: Release the lock after initialization. -Files: src/if_python.c - -Patch 6.3.033 -Problem: When a mapping ends in a Normal mode command of more than one - character Vim doesn't return to Insert mode. -Solution: Check that the mapping has ended after obtaining all characters of - the Normal mode command. -Files: src/normal.c - -Patch 6.3.034 -Problem: VMS: crash when using ":help". -Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?" - wildcard. (Zoltan Arpadffy) -Files: src/tag.c - -Patch 6.3.035 (extra) -Problem: RISC OS: Compile errors. -Solution: Change e_screnmode to e_screenmode. Change the way - __riscosify_control is set. Improve the makefile. (Andy Wingate) -Files: src/os_riscos.c, src/search.c, src/Make_ro.mak - -Patch 6.3.036 -Problem: ml_get errors when the whole file is a fold, switching - 'foldmethod' and doing "zj". (Christian J. Robinson) Was not - deleting the fold but creating a fold with zero lines. -Solution: Delete the fold properly. -Files: src/fold.c - -Patch 6.3.037 (after 6.3.032) -Problem: Warning for unused variable. -Solution: Change the #ifdefs for the saved thread stuff. -Files: src/if_python.c - -Patch 6.3.038 (extra) -Problem: Win32: When the "file changed" dialog pops up after a click that - gives gvim focus and not moving the mouse after that, the effect - of the click may occur when moving the mouse later. (Ken Clark) - Happened because the release event was missed. -Solution: Clear the s_button_pending variable when any input is received. -Files: src/gui_w48.c - -Patch 6.3.039 -Problem: When 'number' is set and inserting lines just above the first - displayed line (in another window on the same buffer), the line - numbers are not updated. (Hitier Sylvain) -Solution: When 'number' is set and lines are inserted/deleted redraw all - lines below the change. -Files: src/screen.c - -Patch 6.3.040 -Problem: Error handling does not always work properly and may cause a - buffer to be marked as if it's viewed in a window while it isn't. - Also when selecting "Abort" at the attention prompt. -Solution: Add enter_cleanup() and leave_cleanup() functions to move - saving/restoring things for error handling to one place. - Clear a buffer read error when it's unloaded. -Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c, - src/proto/ex_eval.pro, src/structs.h, src/vim.h - -Patch 6.3.041 (extra) -Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h" - doesn't work. (Valery Kondakoff) -Solution: Use a wide function to change directory. -Files: src/os_mswin.c - -Patch 6.3.042 -Problem: When there is a closed fold at the top of the window, CTRL-X - CTRL-E in Insert mode reduces the size of the fold instead of - scrolling the text up. (Gautam) -Solution: Scroll over the closed fold. -Files: src/move.c - -Patch 6.3.043 -Problem: 'hlsearch' highlighting sometimes disappears when inserting text - in PHP code with syntax highlighting. (Marcel Svitalsky) -Solution: Don't use pointers to remember where a match was found, use an - index. The pointers may become invalid when searching in other - lines. -Files: src/screen.c - -Patch 6.3.044 (extra) -Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves - pixels behind. (Richard Sandilands) -Solution: Erase the character cell before drawing the text when needed. -Files: src/gui_mac.c - - -Patch 6.3.045 -Problem: Unusual characters in an option value may cause unexpected - behavior, especially for a modeline. (Ciaran McCreesh) -Solution: Don't allow setting termcap options or 'printdevice' in a - modeline. Don't list options for "termcap" and "all" in a - modeline. Don't allow unusual characters in 'filetype', 'syntax', - 'backupext', 'keymap', 'patchmode' and 'langmenu'. -Files: src/option.c, runtime/doc/options.txt - -Patch 6.3.046 -Problem: ":registers" doesn't show multi-byte characters properly. - (Valery Kondakoff) -Solution: Get the length of each character before displaying it. -Files: src/ops.c - -Patch 6.3.047 (extra) -Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with - read-only attributes. (Tony Mechelynck) -Solution: Don't use the _wopen() function for Borland. -Files: src/os_win32.c - -Patch 6.3.048 (extra) -Problem: Build problems with VMS on IA64. -Solution: Add dependencies to the build file. (Zoltan Arpadffy) -Files: src/Make_vms.mms - -Patch 6.3.049 (after 6.3.045) -Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy) -Solution: Add a typecast. -Files: src/option.c - -Patch 6.3.050 -Problem: When SIGHUP is received while busy exiting, non-reentrant - functions such as free() may cause a crash. -Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson) -Files: src/misc1.c, src/main.c - -Patch 6.3.051 -Problem: When 'wildmenu' is set and completed file names contain multi-byte - characters Vim may crash. -Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 6.3.052 (extra) -Problem: Windows 98: typed keys that are not ASCII may not work properly. - For example with a Russian input method. (Jiri Jezdinsky) -Solution: Assume that the characters arrive in the current codepage instead - of UCS-2. Perform conversion based on that. -Files: src/gui_w48.c - -Patch 6.3.053 -Problem: Win32: ":loadview" cannot find a file with non-ASCII characters. - (Valerie Kondakoff) -Solution: Use mch_open() instead of open() to open the file. -Files: src/ex_cmds2.c - -Patch 6.3.054 -Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus) - Vim is actually still working but redraw is disabled. -Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo - buffer but a CTRL-L. -Files: src/edit.c - -Patch 6.3.055 (after 6.3.013) -Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>= - when editing a command line. Using <C-\>e may crash Vim. (Peter - Winters) -Solution: When moving ccline out of the way for recursive use, make it - available to the functions that need it. Also save and restore - ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at - the end of getcmdline(). -Files: src/ex_getln.c - -Patch 6.3.056 -Problem: The last characters of a multi-byte file name may not be displayed - in the window title. -Solution: Avoid to remove a multi-byte character where the last byte looks - like a path separator character. (Yasuhiro Matsumoto) -Files: src/buffer.c, src/ex_getln.c - -Patch 6.3.057 -Problem: When filtering lines folds are not updated. (Carl Osterwisch) -Solution: Update folds for filtered lines. -Files: src/ex_cmds.c - -Patch 6.3.058 -Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on - Vim may crash. Disabling the vertical split feature breaks - compiling. (Peter Winters) -Solution: Check for zero room for wrapped text. Make compiling without - vertical splits possible. -Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c - -Patch 6.3.059 -Problem: Crash when expanding an ":edit" command containing several spaces - with the shell. (Brian Hirt) -Solution: Allocate enough space for the quotes. -Files: src/os_unix.c - -Patch 6.3.060 -Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name - still causes something to be inserted. -Solution: Check the register name for being valid. -Files: src/edit.c - -Patch 6.3.061 -Problem: When editing a utf-8 file in an utf-8 xterm and there is a - multi-byte character in the last column, displaying is messed up. - (Joël Rio) -Solution: Check for a multi-byte character, not a multi-column character. -Files: src/screen.c - -Patch 6.3.062 -Problem: ":normal! gQ" hangs. -Solution: Quit getcmdline() and do_exmode() when out of typeahead. -Files: src/ex_getln.c, src/ex_docmd.c - -Patch 6.3.063 -Problem: When a CursorHold autocommand changes to another window - (temporarily) 'mousefocus' stops working. -Solution: Call gui_mouse_correct() after triggering CursorHold. -Files: src/gui.c - -Patch 6.3.064 -Problem: line2byte(line("$") + 1) sometimes returns the wrong number. - (Charles Campbell) -Solution: Flush the cached line before counting the bytes. -Files: src/memline.c - -Patch 6.3.065 -Problem: The euro digraph doesn't always work. -Solution: Add an "e=" digraph for Unicode euro character and adjust the - help files. -Files: src/digraph.c, runtime/doc/digraph.txt - -Patch 6.3.066 -Problem: Backup file may get wrong permissions. -Solution: Use permissions of original file for backup file in more places. -Files: src/fileio.c - -Patch 6.3.067 (after 6.3.066) -Problem: Newly created file gets execute permission. -Solution: Check for "perm" to be negative before using it. -Files: src/fileio.c - -Patch 6.3.068 -Problem: When editing a compressed file xxx.gz which is a symbolic link to - the actual file a ":write" renames the link. -Solution: Resolve the link, so that the actual file is renamed and - compressed. -Files: runtime/plugin/gzip.vim - -Patch 6.3.069 -Problem: When converting text with illegal characters Vim may crash. -Solution: Avoid that too much is subtracted from the length. (Da Woon Jung) -Files: src/mbyte.c - -Patch 6.3.070 -Problem: After ":set number linebreak wrap" and a vertical split, moving - the vertical separator far left will crash Vim. (Georg Dahn) -Solution: Avoid dividing by zero. -Files: src/charset.c - -Patch 6.3.071 -Problem: The message for CTRL-X mode is still displayed after an error for - 'thesaurus' or 'dictionary' being empty. -Solution: Clear "edit_submode". -Files: src/edit.c - -Patch 6.3.072 -Problem: Crash in giving substitute message when language is Chinese and - encoding is utf-8. (Yongwei) -Solution: Make the msg_buf size larger when using multi-byte. -Files: src/vim.h - -Patch 6.3.073 -Problem: Win32 GUI: When the Vim window is partly above or below the - screen, scrolling causes display errors when the taskbar is not on - that side. -Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or - above the screen. -Files: src/gui_w48.c - -Patch 6.3.074 -Problem: When mswin.vim is used and 'insertmode' is set, typing text in - Select mode and then using CTRL-V results in <SNR>99_Pastegi. - (Georg Dahn) -Solution: When restart_edit is set use "d" instead of "c" to remove the - selected text to avoid calling edit() twice. -Files: src/normal.c - -Patch 6.3.075 -Problem: After unloading another buffer, syntax highlighting in the current - buffer may be wrong when it uses "containedin". (Eric Arnold) -Solution: Use "buf" instead of "curbuf" in syntax_clear(). -Files: src/syntax.c - -Patch 6.3.076 -Problem: Crash when using cscope and there is a parse error (e.g., line too - long). (Alexey I. Froloff) -Solution: Pass the actual number of matches to cs_manage_matches() and - correctly handle the error situation. -Files: src/if_cscope.c - -Patch 6.3.077 (extra) -Problem: VMS: First character input after ESC was not recognized. -Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy) -Files: src/os_vms.c - -Patch 6.3.078 (extra, after 6.3.077) -Problem: VMS: Performance issue after patch 6.3.077 -Solution: Add a timeout in the itemlist. (Zoltan Arpadffy) -Files: src/os_vms.c - -Patch 6.3.079 -Problem: Crash when executing a command in the command line window while - syntax highlighting is enabled. (Pero Brbora) -Solution: Don't use a pointer to a buffer that has been deleted. -Files: src/syntax.c - -Patch 6.3.080 (extra) -Problem: Win32: With 'encoding' set to utf-8 while the current codepage is - Chinese editing a file with some specific characters in the name - fails. -Solution: Use _wfullpath() instead of _fullpath() when necessary. -Files: src/os_mswin.c - -Patch 6.3.081 -Problem: Unix: glob() may execute a shell command when it's not wanted. - (Georgi Guninski) -Solution: Verify the sandbox flag is not set. -Files: src/os_unix.c - -Patch 6.3.082 (after 6.3.081) -Problem: Unix: expand() may execute a shell command when it's not wanted. - (Georgi Guninski) -Solution: A more generic solution than 6.3.081. -Files: src/os_unix.c - -Patch 6.3.083 -Problem: VMS: The vt320 termcap entry is incomplete. -Solution: Add missing function keys. (Zoltan Arpadffy) -Files: src/term.c - -Patch 6.3.084 (extra) -Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored. - Failure when $(OUTDIR) already exists. "po" makefile is missing. -Solution: Use changes tested in Vim 7. (Tony Mechelynck) -Files: src/Make_cyg.mak, src/po/Make_cyg.mak - -Patch 6.3.085 -Problem: Crash in syntax highlighting code. (Marc Espie) -Solution: Prevent current_col going past the end of the line. -Files: src/syntax.c - -Patch 6.3.086 (extra) -Problem: Can't produce message translation file with msgfmt that checks - printf strings. -Solution: Fix the Russian translation. -Files: src/po/ru.po, src/po/ru.cp1251.po - -Patch 6.3.087 -Problem: MS-DOS: Crash. (Jason Hood) -Solution: Don't call fname_case() with a NULL pointer. -Files: src/ex_cmds.c - -Patch 6.3.088 -Problem: Editing ".in" causes error E218. (Stefan Karlsson) -Solution: Require some characters before ".in". Same for ".orig" and others. -Files: runtime/filetype.vim - -Patch 6.3.089 -Problem: A session file doesn't work when created while the current - directory contains a space or the directory of the session files - contains a space. (Paolo Giarrusso) -Solution: Escape spaces with a backslash. -Files: src/ex_docmd.c - -Patch 6.3.090 -Problem: A very big value for 'columns' or 'lines' may cause a crash. -Solution: Limit the values to 10000 and 1000. -Files: src/option.c - -Patch 6.4a.001 -Problem: The Unix Makefile contained too many dependencies and a few - uncommented lines. -Solution: Run "make depend" with manual changes to avoid a gcc - incompatibility. Comment a few lines. -Files: src/Makefile - -Patch 6.4b.001 -Problem: Vim reports "Vim 6.4a" in the ":version" output. -Solution: Change "a" to "b". (Tony Mechelynck) -Files: src/version.h - -Patch 6.4b.002 -Problem: In Insert mode, pasting a multi-byte character after the end of - the line leaves the cursor just before that character. -Solution: Make sure "gP" leaves the cursor in the right place when - 'virtualedit' is set. -Files: src/ops.c - -Patch 6.4b.003 (after 6.4b.002) -Problem: The problem still exists when 'encoding' is set to "cp936". -Solution: Fix the problem in getvvcol(), compute the coladd field correctly. -Files: src/charset.c, src/ops.c - -Patch 6.4b.004 -Problem: Selecting a {} block with "viB" includes the '}' when there is an - empty line before it. -Solution: Don't advance the cursor to include a line break when it's already - at the line break. -Files: src/search.c - - - vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt deleted file mode 100644 index 1bff5b5da9..0000000000 --- a/runtime/doc/version7.txt +++ /dev/null @@ -1,18311 +0,0 @@ -*version7.txt* For Vim version 7.4. Last change: 2013 Nov 18 - - - VIM REFERENCE MANUAL by Bram Moolenaar - - *vim7* *version-7.0* *version7.0* -Welcome to Vim 7! A large number of features has been added. This file -mentions all the new items, changes to existing features and bug fixes -since Vim 6.x. Use this command to see the version you are using: > - :version - -See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0. -See |version4.txt| for differences between Vim 3.x and Vim 4.x. -See |version5.txt| for differences between Vim 4.x and Vim 5.x. -See |version6.txt| for differences between Vim 5.x and Vim 6.x. - -INCOMPATIBLE CHANGES |incompatible-7| - -NEW FEATURES |new-7| - -Vim script enhancements |new-vim-script| -Spell checking |new-spell| -Omni completion |new-omni-completion| -MzScheme interface |new-MzScheme| -Printing multi-byte text |new-print-multi-byte| -Tab pages |new-tab-pages| -Undo branches |new-undo-branches| -Extended Unicode support |new-more-unicode| -More highlighting |new-more-highlighting| -Translated manual pages |new-manpage-trans| -Internal grep |new-vimgrep| -Scroll back in messages |new-scroll-back| -Cursor past end of the line |new-onemore| -POSIX compatibility |new-posix| -Debugger support |new-debug-support| -Remote file explorer |new-netrw-explore| -Define an operator |new-define-operator| -Mapping to an expression |new-map-expression| -Visual and Select mode mappings |new-map-select| -Location list |new-location-list| -Various new items |new-items-7| - -IMPROVEMENTS |improvements-7| - -COMPILE TIME CHANGES |compile-changes-7| - -BUG FIXES |bug-fixes-7| - -VERSION 7.1 |version-7.1| -Changed |changed-7.1| -Added |added-7.1| -Fixed |fixed-7.1| - -VERSION 7.2 |version-7.2| -Changed |changed-7.2| -Added |added-7.2| -Fixed |fixed-7.2| - -VERSION 7.3 |version-7.3| - -Persistent undo |new-persistent-undo| -More encryption |new-more-encryption| -Conceal text |new-conceal| -Lua interface |new-lua| -Python3 interface |new-python3| - -Changed |changed-7.3| -Added |added-7.3| -Fixed |fixed-7.3| - -VERSION 7.4 |version-7.4| -New regexp engine |new-regexp-engine| -Better Python interface |better-python-interface| -Changed |changed-7.4| -Added |added-7.4| -Fixed |fixed-7.4| - - -============================================================================== -INCOMPATIBLE CHANGES *incompatible-7* - -These changes are incompatible with previous releases. Check this list if you -run into a problem when upgrading from Vim 6.x to 7.0. - -A ":write file" command no longer resets the 'modified' flag of the buffer, -unless the '+' flag is in 'cpoptions' |cpo-+|. This was illogical, since the -buffer is still modified compared to the original file. And when undoing -all changes the file would actually be marked modified. It does mean that -":quit" fails now. - -":helpgrep" now uses a help window to display a match. - -In an argument list double quotes could be used to include spaces in a file -name. This caused a difference between ":edit" and ":next" for escaping -double quotes and it is incompatible with some versions of Vi. - Command Vim 6.x file name Vim 7.x file name ~ - :edit foo\"888 foo"888 foo"888 - :next foo\"888 foo888 foo"888 - :next a\"b c\"d ab cd a"b and c"d - -In a |literal-string| a single quote can be doubled to get one. -":echo 'a''b'" would result in "a b", but now that two quotes stand for one it -results in "a'b". - -When overwriting a file with ":w! fname" there was no warning for when "fname" -was being edited by another Vim. Vim now gives an error message |E768|. - -The support for Mac OS 9 has been removed. - -Files ending in .tex now have 'filetype' set to "context", "plaintex", or -"tex". |ft-tex-plugin| - - -Minor incompatibilities: - -For filetype detection: For many types, use */.dir/filename instead of -~/.dir/filename, so that it also works for other user's files. - -For quite a few filetypes the indent settings have been moved from the -filetype plugin to the indent plugin. If you used: > - :filetype plugin on -Then some indent settings may be missing. You need to use: > - :filetype plugin indent on - -":0verbose" now sets 'verbose' to zero instead of one. - -Removed the old and incomplete "VimBuddy" code. - -Buffers without a name report "No Name" instead of "No File". It was -confusing for buffers with a name and 'buftype' set to "nofile". - -When ":file xxx" is used in a buffer without a name, the alternate file name -isn't set. This avoids creating buffers without a name, they are not useful. - -The "2html.vim" script now converts closed folds to HTML. This means the HTML -looks like it's displayed, with the same folds open and closed. Use "zR", or -"let html_ignore_folding=1", if no folds should appear in the HTML. (partly by -Carl Osterwisch) -Diff mode is now also converted to HTML as it is displayed. - -Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends -on whether <F10> has been mapped or not. This allows mapping <F10> without -changing 'winaltkeys'. - -When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which -is illogical. Now it becomes "9". The leading zero(s) is(are) removed to -avoid the number becoming octal after incrementing "009" to "010". - -When 'encoding' is set to a Unicode encoding, the value for 'fileencodings' -now includes "default" before "latin1". This means that for files with 8-bit -encodings the default is to use the encoding specified by the environment, if -possible. Previously latin1 would always be used, which is wrong in a -non-latin1 environment, such as Russian. - -Previously Vim would exit when there are two windows, both of them displaying -a help file, and using ":quit". Now only the window is closed. - -"-w {scriptout}" only works when {scriptout} doesn't start with a digit. -Otherwise it's used to set the 'window' option. - -Previously <Home> and <xHome> could be mapped separately. This had the -disadvantage that all mappings (with modifiers) had to be duplicated, since -you can't be sure what the keyboard generates. Now all <xHome> are internally -translated to <Home>, both for the keys and for mappings. Also for <xEnd>, -<xF1>, etc. - -":put" now leaves the cursor on the last inserted line. - -When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc" -file exists. - -When making a string upper-case with "vlllU" or similar then the German sharp -s is replaced with "SS". This does not happen with "~" to avoid backwards -compatibility problems and because "SS" can't be changed back to a sharp s. - -"gd" previously found the very first occurrence of a variable in a function, -that could be the function argument without type. Now it finds the position -where the type is given. - -The line continuation in functions was not taken into account, line numbers in -errors were logical lines, not lines in the sourced file. That made it -difficult to locate errors. Now the line number in the sourced file is -reported, relative to the function start. This also means that line numbers -for ":breakadd func" are different. - -When defining a user command with |:command| the special items could be -abbreviated. This caused unexpected behavior, such as <li> being recognized -as <line1>. The items can no longer be abbreviated. - -When executing a FileChangedRO autocommand it is no longer allowed to switch -to another buffer or edit another file. This is to prevent crashes (the event -is triggered deep down in the code where changing buffers is not anticipated). -It is still possible to reload the buffer. - -At the |more-prompt| and the |hit-enter-prompt|, when the 'more' option is -set, the 'k', 'u', 'g' and 'b' keys are now used to scroll back to previous -messages. Thus they are no longer used as typeahead. - -============================================================================== -NEW FEATURES *new-7* - -Vim script enhancements *new-vim-script* ------------------------ - -In Vim scripts the following types have been added: - - |List| ordered list of items - |Dictionary| associative array of items - |Funcref| reference to a function - -Many functions and commands have been added to support the new types. - -The |string()| function can be used to get a string representation of a -variable. Works for Numbers, Strings and composites of them. Then |eval()| -can be used to turn the string back into the variable value. - -The |:let| command can now use "+=", "-=" and ".=": > - :let var += expr " works like :let var = var + expr - :let var -= expr " works like :let var = var - expr - :let var .= string " works like :let var = var . string - -With the |:profile| command you can find out where your function or script -is wasting time. - -In the Python interface vim.eval() also handles Dictionaries and Lists. -|python-eval| (G. Sumner Hayes) - -The |getscript| plugin was added as a convenient way to update scripts from -www.vim.org automatically. (Charles Campbell) - -The |vimball| plugin was added as a convenient way to distribute a set of -files for a plugin (plugin file, autoload script, documentation). (Charles -Campbell) - - -Spell checking *new-spell* --------------- - -Spell checking has been integrated in Vim. There were a few implementations -with scripts, but they were slow and/or required an external program. - -The 'spell' option is used to switch spell checking on or off -The 'spelllang' option is used to specify the accepted language(s) -The 'spellfile' option specifies where new words are added -The 'spellsuggest' option specifies the methods used for making suggestions - -The |]s| and |[s| commands can be used to move to the next or previous error -The |zg| and |zw| commands can be used to add good and wrong words -The |z=| command can be used to list suggestions and correct the word -The |:mkspell| command is used to generate a Vim spell file from word lists - -The "undercurl" highlighting attribute was added to nicely point out spelling -mistakes in the GUI (based on patch from Marcin Dalecki). -The "guisp" color can be used to give it a color different from foreground and -background. -The number of possible different highlight attributes was raised from about -220 to over 30000. This allows for the attributes of spelling to be combined -with syntax highlighting attributes. This is also used for syntax -highlighting and marking the Visual area. - -Much more info here: |spell|. - - -Omni completion *new-omni-completion* ---------------- - -This could also be called "intellisense", but that is a trademark. It is a -smart kind of completion. The text in front of the cursor is inspected to -figure out what could be following. This may suggest struct and class -members, system functions, etc. - -Use CTRL-X CTRL-O in Insert mode to start the completion. |i_CTRL-X_CTRL-O| - -The 'omnifunc' option is set by filetype plugins to define the function that -figures out the completion. - -Currently supported languages: - C |ft-c-omni| - (X)HTML with CSS |ft-html-omni| - JavaScript |ft-javascript-omni| - PHP |ft-php-omni| - Python - Ruby |ft-ruby-omni| - SQL |ft-sql-omni| - XML |ft-xml-omni| - any language with syntax highlighting |ft-syntax-omni| - -You can add your own omni completion scripts. - -When the 'completeopt' option contains "menu" then matches for Insert mode -completion are displayed in a (rather primitive) popup menu. - - -MzScheme interface *new-MzScheme* ------------------- - -The MzScheme interpreter is supported. |MzScheme| - -The |:mzscheme| command can be used to execute MzScheme commands -The |:mzfile| command can be used to execute an MzScheme script file - -This depends on Vim being compiled with the |+mzscheme| feature. - - -Printing multi-byte text *new-print-multi-byte* ------------------------- - -The |:hardcopy| command now supports printing multi-byte characters when using -PostScript. - -The 'printmbcharset' and 'printmbfont' options are used for this. -Also see |postscript-cjk-printing|. (Mike Williams) - - -Tab pages *new-tab-pages* ---------- - -A tab page is a page with one or more windows with a label (aka tab) at the top. -By clicking on the label you can quickly switch between the tab pages. And -with the keyboard, using the |gt| (Goto Tab) command. This is a convenient -way to work with many windows. - -To start Vim with each file argument in a separate tab page use the |-p| -argument. The maximum number of pages can be set with 'tabpagemax'. - -The line with tab labels is either made with plain text and highlighting or -with a GUI mechanism. The GUI labels look better but are only available on a -few systems. The line can be customized with 'tabline', 'guitablabel' and -'guitabtooltip'. Whether it is displayed is set with 'showtabline'. Whether -to use the GUI labels is set with the "e" flag in 'guioptions'. - -The |:tab| command modifier can be used to have most commands that open a new -window open a new tab page instead. - -The |--remote-tab| argument can be used to edit a file in a new tab page in an -already running Vim server. - -Variables starting with "t:" are local to a tab page. - -More info here: |tabpage| -Most of the GUI stuff was implemented by Yegappan Lakshmanan. - - -Undo branches *new-undo-branches* -------------- - -Previously there was only one line of undo-redo. If, after undoing a number -of changes, a new change was made all the undone changes were lost. This -could lead to accidentally losing work. - -Vim now makes an undo branch in this situation. Thus you can go back to the -text after any change, even if they were undone. So long as you do not run -into 'undolevels', when undo information is freed up to limit the memory used. - -To be able to navigate the undo branches each change is numbered sequentially. -The commands |g-| and |:earlier| go back in time, to older changes. The -commands |g+| and |:later| go forward in time, to newer changes. - -The changes are also timestamped. Use ":earlier 10m" to go to the text as it -was about ten minutes earlier. - -The |:undolist| command can be used to get an idea of which undo branches -exist. The |:undo| command now takes an argument to directly jump to a -specific position in this list. The |changenr()| function can be used to -obtain the change number. - -There is no graphical display of the tree with changes, navigation can be -quite confusing. - - -Extended Unicode support *new-more-unicode* ------------------------- - -Previously only two combining characters were displayed. The limit is now -raised to 6. This can be set with the 'maxcombine' option. The default is -still 2. - -|ga| now shows all combining characters, not just the first two. - -Previously only 16 bit Unicode characters were supported for displaying. Now -the full 32 bit character set can be used. Unless manually disabled at -compile time to save a bit of memory. - -For pattern matching it is now possible to search for individual composing -characters. |patterns-composing| - -The |8g8| command searches for an illegal UTF-8 byte sequence. - - -More highlighting *new-more-highlighting* ------------------ - -Highlighting matching parens: - -When moving the cursor through the text and it is on a paren, then the -matching paren can be highlighted. This uses the new |CursorMoved| -autocommand event. - -This means some commands are executed every time you move the cursor. If this -slows you down too much switch it off with: > - :NoMatchParen - -See |matchparen| for more information. - -The plugin uses the |:match| command. It now supports three match patterns. -The plugin uses the third one. The first one is for the user and the second -one can be used by another plugin. - -Highlighting the cursor line and column: - -The 'cursorline' and 'cursorcolumn' options have been added. These highlight -the screen line and screen column of the cursor. This makes the cursor -position easier to spot. 'cursorcolumn' is also useful to align text. This -may make screen updating quite slow. The CursorColumn and CursorLine -highlight groups allow changing the colors used. |hl-CursorColumn| -|hl-CursorLine| - -The number of possible different highlight attributes was raised from about -220 to over 30000. This allows for the attributes of spelling to be combined -with syntax highlighting attributes. This is also used for syntax -highlighting, marking the Visual area, CursorColumn, etc. - - -Translated manual pages *new-manpage-trans* ------------------------ - -The manual page of Vim and associated programs is now also available in -several other languages. - -French - translated by David Blanchet -Italian - translated by Antonio Colombo -Russian - translated by Vassily Ragosin -Polish - translated by Mikolaj Machowski - -The Unix Makefile installs the Italian manual pages in .../man/it/man1/, -.../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/. There appears to be no -standard for what encoding goes in the "it" directory, the 8-bit encoded file -is used there as a best guess. -Other languages are installed in similar places. -The translated pages are not automatically installed when Vim was configured -with "--disable-nls", but "make install-languages install-tool-languages" will -do it anyway. - - -Internal grep *new-vimgrep* -------------- - -The ":vimgrep" command can be used to search for a pattern in a list of files. -This is like the ":grep" command, but no external program is used. Besides -better portability, handling of different file encodings and using multi-line -patterns, this also allows grepping in compressed and remote files. -|:vimgrep|. - -If you want to use the search results in a script you can use the -|getqflist()| function. - -To grep files in various directories the "**" pattern can be used. It expands -into an arbitrary depth of directories. "**" can be used in all places where -file names are expanded, thus also with |:next| and |:args|. - - -Scroll back in messages *new-scroll-back* ------------------------ - -When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The -'k', 'u', 'g' and 'b' keys can be used to scroll back to previous messages. -This is especially useful for commands such as ":syntax", ":autocommand" and -":highlight". This is implemented in a generic way thus it works for all -commands and highlighting is kept. Only works when the 'more' option is set. -Previously it only partly worked for ":clist". - -The |g<| command can be used to see the last page of messages after you have -hit <Enter> at the |hit-enter-prompt|. Then you can scroll further back. - - -Cursor past end of the line *new-onemore* ---------------------------- - -When the 'virtualedit' option contains "onemore" the cursor can move just past -the end of the line. As if it's on top of the line break. - -This makes some commands more consistent. Previously the cursor was always -past the end of the line if the line was empty. But it is far from Vi -compatible. It may also break some plugins or Vim scripts. Use with care! - -The patch was provided by Mattias Flodin. - - -POSIX compatibility *new-posix* -------------------- - -The POSIX test suite was used to verify POSIX compatibility. A number of -problems have been fixed to make Vim more POSIX compatible. Some of them -conflict with traditional Vi or expected behavior. The $VIM_POSIX environment -variable can be set to get POSIX compatibility. See |posix|. - -Items that were fixed for both Vi and POSIX compatibility: -- repeating "R" with a count only overwrites text once; added the 'X' flag to - 'cpoptions' |cpo-X| -- a vertical movement command that moves to a non-existing line fails; added - the '-' flag to 'cpoptions' |cpo--| -- when preserving a file and doing ":q!" the file can be recovered; added the - '&' flag to 'cpoptions' |cpo-&| -- The 'window' option is partly implemented. It specifies how much CTRL-F and - CTRL-B scroll when there is one window. The "-w {number}" argument is now - accepted. "-w {scriptout}" only works when {scriptout} doesn't start with a - digit. -- Allow "-c{command}" argument, no space between "-c" and {command}. -- When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in - 'cpoptions'. -- Allow 'l' and '#' flags for ":list", ":print" and ":number". -- Added the '.' flag to 'cpoptions': ":cd" fails when the buffer is modified. -- In Ex mode with an empty buffer ":read file" doesn't keep an empty line - above or below the new lines. -- Remove a backslash before a NL for the ":global" command. -- When ":append", ":insert" or ":change" is used with ":global", get the - inserted lines from the command. Can use backslash-NL to separate lines. -- Can use ":global /pat/ visual" to execute Normal mode commands at each - matched line. Use "Q" to continue and go to the next line. -- The |:open| command has been partially implemented. It stops Ex mode, but - redraws the whole screen, not just one line as open mode is supposed to do. -- Support using a pipe to read the output from and write input to an external - command. Added the 'shelltemp' option and has("filterpipe"). -- In ex silent mode the ":set" command output is displayed. -- The ":@@" and ":**" give an error message when no register was used before. -- The search pattern "[]-`]" matches ']', '^', '_' and '`'. -- Autoindent for ":insert" is using the line below the insert. -- Autoindent for ":change" is using the first changed line. -- Editing Ex command lines is not done in cooked mode, because CTRL-D and - CTRL-T cannot be handled then. -- In Ex mode, "1,3" prints three lines. "%" prints all lines. -- In Ex mode "undo" would undo all changes since Ex mode was started. -- Implemented the 'prompt' option. - - -Debugger support *new-debug-support* ----------------- - -The 'balloonexpr' option has been added. This is a generic way to implement -balloon functionality. You can use it to show info for the word under the -mouse pointer. - - -Remote file explorer *new-netrw-explore* --------------------- - -The netrw plugin now also supports viewing a directory, when "scp://" is used. -Deleting and renaming files is possible. - -To avoid duplicating a lot of code, the previous file explorer plugin has been -integrated in the netrw plugin. This means browsing local and remote files -works the same way. - -":browse edit" and ":browse split" use the netrw plugin when it's available -and a GUI dialog is not possible. - -The netrw plugin is maintained by Charles Campbell. - - -Define an operator *new-define-operator* ------------------- - -Previously it was not possible to define your own operator; a command that is -followed by a {motion}. Vim 7 introduces the 'operatorfunc' option and the -|g@| operator. This makes it possible to define a mapping that works like an -operator. The actual work is then done by a function, which is invoked -through the |g@| operator. - -See |:map-operator| for the explanation and an example. - - -Mapping to an expression *new-map-expression* ------------------------- - -The {rhs} argument of a mapping can be an expression. That means the -resulting characters can depend on the context. Example: > - :inoremap <expr> . InsertDot() -Here the dot will be mapped to whatever InsertDot() returns. - -This also works for abbreviations. See |:map-<expr>| for the details. - - -Visual and Select mode mappings *new-map-select* -------------------------------- - -Previously Visual mode mappings applied both to Visual and Select mode. With -a trick to have the mappings work in Select mode like they would in Visual -mode. - -Commands have been added to define mappings for Visual and Select mode -separately: |:xmap| and |:smap|. With the associated "noremap" and "unmap" -commands. - -The same is done for menus: |:xmenu|, |:smenu|, etc. - - -Location list *new-location-list* -------------- - -The support for a per-window quickfix list (location list) is added. The -location list can be displayed in a location window (similar to the quickfix -window). You can open more than one location list window. A set of commands -similar to the quickfix commands are added to browse the location list. -(Yegappan Lakshmanan) - - -Various new items *new-items-7* ------------------ - -Normal mode commands: ~ - -a", a' and a` New text objects to select quoted strings. |a'| -i", i' and i` (Taro Muraoka) - -CTRL-W <Enter> In the quickfix window: opens a new window to show the - location of the error under the cursor. - -|at| and |it| text objects select a block of text between HTML or XML tags. - -<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos") -<A-RightMouse> ('mousemodel' "extend") - Make a blockwise selection. |<A-LeftMouse>| - -gF Start editing the filename under the cursor and jump - to the line number following the file name. - (Yegappan Lakshmanan) - -CTRL-W F Start editing the filename under the cursor in a new - window and jump to the line number following the file - name. (Yegappan Lakshmanan) - -Insert mode commands: ~ - -CTRL-\ CTRL-O Execute a Normal mode command. Like CTRL-O but - without moving the cursor. |i_CTRL-\_CTRL-O| - -Options: ~ - -'balloonexpr' expression for text to show in evaluation balloon -'completefunc' The name of the function used for user-specified - Insert mode completion. CTRL-X CTRL-U can be used in - Insert mode to do any kind of completion. (Taro - Muraoka) -'completeopt' Enable popup menu and other settings for Insert mode - completion. -'cursorcolumn' highlight column of the cursor -'cursorline' highlight line of the cursor -'formatexpr' expression for formatting text with |gq| and when text - goes over 'textwidth' in Insert mode. -'formatlistpat' pattern to recognize a numbered list for formatting. - (idea by Hugo Haas) -'fsync' Whether fsync() is called after writing a file. - (Ciaran McCreesh) -'guitablabel' expression for text to display in GUI tab page label -'guitabtooltip' expression for text to display in GUI tab page tooltip -'macatsui' Mac: use ATSUI text display functions -'maxcombine' maximum number of combining characters displayed -'maxmempattern' maximum amount of memory to use for pattern matching -'mkspellmem' parameters for |:mkspell| memory use -'mzquantum' Time in msec to schedule MzScheme threads. -'numberwidth' Minimal width of the space used for the 'number' and - 'relativenumber' option. (Emmanuel Renieris) -'omnifunc' The name of the function used for omni completion. -'operatorfunc' function to be called for |g@| operator -'printmbcharset' CJK character set to be used for :hardcopy -'printmbfont' font names to be used for CJK output of :hardcopy -'pumheight' maximum number of items to show in the popup menu -'quoteescape' Characters used to escape quotes inside a string. - Used for the a", a' and a` text objects. |a'| -'shelltemp' whether to use a temp file or pipes for shell commands -'showtabline' whether to show the tab pages line -'spell' switch spell checking on/off -'spellcapcheck' pattern to locate the end of a sentence -'spellfile' file where good and wrong words are added -'spelllang' languages to check spelling for -'spellsuggest' methods for spell suggestions -'synmaxcol' maximum column to look for syntax items; avoids very - slow redrawing when there are very long lines -'tabline' expression for text to display in the tab pages line -'tabpagemax' maximum number of tab pages to open for |-p| -'verbosefile' Log messages in a file. -'wildoptions' "tagfile" value enables listing the file name of - matching tags for CTRL-D command line completion. - (based on an idea from Yegappan Lakshmanan) -'winfixwidth' window with fixed width, similar to 'winfixheight' - - -Ex commands: ~ - -Win32: The ":winpos" command now also works in the console. (Vipin Aravind) - -|:startreplace| Start Replace mode. (Charles Campbell) -|:startgreplace| Start Virtual Replace mode. - -|:0file| Removes the name of the buffer. (Charles Campbell) - -|:diffoff| Switch off diff mode in the current window or in all - windows. - -|:delmarks| Delete marks. - -|:exusage| Help for Ex commands (Nvi command). -|:viusage| Help for Vi commands (Nvi command). - -|:sort| Sort lines in the buffer without depending on an - external command. (partly by Bryce Wagner) - -|:vimgrep| Internal grep command, search for a pattern in files. -|:vimgrepadd| Like |:vimgrep| but don't make a new list. - -|:caddfile| Add error messages to an existing quickfix list - (Yegappan Lakshmanan). -|:cbuffer| Read error lines from a buffer. (partly by Yegappan - Lakshmanan) -|:cgetbuffer| Create a quickfix list from a buffer but don't jump to - the first error. -|:caddbuffer| Add errors from the current buffer to the quickfix - list. -|:cexpr| Read error messages from a Vim expression (Yegappan - Lakshmanan). -|:caddexpr| Add error messages from a Vim expression to an - existing quickfix list. (Yegappan Lakshmanan). -|:cgetexpr| Create a quickfix list from a Vim expression, but - don't jump to the first error. (Yegappan Lakshmanan). - -|:lfile| Like |:cfile| but use the location list. -|:lgetfile| Like |:cgetfile| but use the location list. -|:laddfile| Like |:caddfile| but use the location list. -|:lbuffer| Like |:cbuffer| but use the location list. -|:lgetbuffer| Like |:cgetbuffer| but use the location list. -|:laddbuffer| Like |:caddbuffer| but use the location list. -|:lexpr| Like |:cexpr| but use the location list. -|:lgetexpr| Like |:cgetexpr| but use the location list. -|:laddexpr| Like |:caddexpr| but use the location list. -|:ll| Like |:cc| but use the location list. -|:llist| Like |:clist| but use the location list. -|:lnext| Like |:cnext| but use the location list. -|:lprevious| Like |:cprevious| but use the location list. -|:lNext| Like |:cNext| but use the location list. -|:lfirst| Like |:cfirst| but use the location list. -|:lrewind| Like |:crewind| but use the location list. -|:llast| Like |:clast| but use the location list. -|:lnfile| Like |:cnfile| but use the location list. -|:lpfile| Like |:cpfile| but use the location list. -|:lNfile| Like |:cNfile| but use the location list. -|:lolder| Like |:colder| but use the location list. -|:lnewer| Like |:cnewer| but use the location list. -|:lwindow| Like |:cwindow| but use the location list. -|:lopen| Like |:copen| but use the location list. -|:lclose| Like |:cclose| but use the location list. -|:lmake| Like |:make| but use the location list. -|:lgrep| Like |:grep| but use the location list. -|:lgrepadd| Like |:grepadd| but use the location list. -|:lvimgrep| Like |:vimgrep| but use the location list. -|:lvimgrepadd| Like |:vimgrepadd| but use the location list. -|:lhelpgrep| Like |:helpgrep| but use the location list. -|:lcscope| Like |:cscope| but use the location list. -|:ltag| Jump to a tag and add matching tags to a location list. - -|:undojoin| Join a change with the previous undo block. -|:undolist| List the leafs of the undo tree. - -|:earlier| Go back in time for changes in the text. -|:later| Go forward in time for changes in the text. - -|:for| Loop over a |List|. -|:endfor| - -|:lockvar| Lock a variable, prevents it from being changed. -|:unlockvar| Unlock a locked variable. - -|:mkspell| Create a Vim spell file. -|:spellgood| Add a word to the list of good words. -|:spellwrong| Add a word to the list of bad words -|:spelldump| Dump list of good words. -|:spellinfo| Show information about the spell files used. -|:spellrepall| Repeat a spelling correction for the whole buffer. -|:spellundo| Remove a word from list of good and bad words. - -|:mzscheme| Execute MzScheme commands. -|:mzfile| Execute an MzScheme script file. - -|:nbkey| Pass a key to NetBeans for processing. - -|:profile| Commands for Vim script profiling. -|:profdel| Stop profiling for specified items. - -|:smap| Select mode mapping. -|:smapclear| -|:snoremap| -|:sunmap| - -|:xmap| Visual mode mapping, not used for Select mode. -|:xmapclear| -|:xnoremap| -|:xunmap| - -|:smenu| Select mode menu. -|:snoremenu| -|:sunmenu| - -|:xmenu| Visual mode menu, not used for Select mode. -|:xnoremenu| -|:xunmenu| - -|:tabclose| Close the current tab page. -|:tabdo| Perform a command in every tab page. -|:tabedit| Edit a file in a new tab page. -|:tabnew| Open a new tab page. -|:tabfind| Search for a file and open it in a new tab page. -|:tabnext| Go to the next tab page. -|:tabprevious| Go to the previous tab page. -|:tabNext| Go to the previous tab page. -|:tabfirst| Go to the first tab page. -|:tabrewind| Go to the first tab page. -|:tablast| Go to the last tab page. -|:tabmove| Move the current tab page elsewhere. -|:tabonly| Close all other tab pages. -|:tabs| List the tab pages and the windows they contain. - -Ex command modifiers: ~ - -|:keepalt| Do not change the alternate file. - -|:noautocmd| Do not trigger autocommand events. - -|:sandbox| Execute a command in the sandbox. - -|:tab| When opening a new window create a new tab page. - - -Ex command arguments: ~ - -|++bad| Specify what happens with characters that can't be - converted and illegal bytes. (code example by Yasuhiro - Matsumoto) - Also, when a conversion error occurs or illegal bytes - are found include the line number in the error - message. - - -New and extended functions: ~ - -|add()| append an item to a List -|append()| append List of lines to the buffer -|argv()| without an argument return the whole argument list -|browsedir()| dialog to select a directory -|bufnr()| takes an extra argument: create buffer -|byteidx()| index of a character (Ilya Sher) -|call()| call a function with List as arguments -|changenr()| number of current change -|complete()| set matches for Insert mode completion -|complete_add()| add match for 'completefunc' -|complete_check()| check for key pressed, for 'completefunc' -|copy()| make a shallow copy of a List or Dictionary -|count()| count nr of times a value is in a List or Dictionary -|cursor()| also accepts an offset for 'virtualedit', and - the first argument can be a list: [lnum, col, off] -|deepcopy()| make a full copy of a List or Dictionary -|diff_filler()| returns number of filler lines above line {lnum}. -|diff_hlID()| returns the highlight ID for diff mode -|empty()| check if List or Dictionary is empty -|eval()| evaluate {string} and return the result -|extend()| append one List to another or add items from one - Dictionary to another -|feedkeys()| put characters in the typeahead buffer -|filter()| remove selected items from a List or Dictionary -|finddir()| find a directory in 'path' -|findfile()| find a file in 'path' (Johannes Zellner) -|foldtextresult()| the text displayed for a closed fold at line "lnum" -|function()| make a Funcref out of a function name -|garbagecollect()| cleanup unused |Lists| and |Dictionaries| with circular - references -|get()| get an item from a List or Dictionary -|getbufline()| get a list of lines from a specified buffer - (Yegappan Lakshmanan) -|getcmdtype()| return the current command-line type - (Yegappan Lakshmanan) -|getfontname()| get actual font name being used -|getfperm()| get file permission string (Nikolai Weibull) -|getftype()| get type of file (Nikolai Weibull) -|getline()| with second argument: get List with buffer lines -|getloclist()| list of location list items (Yegappan Lakshmanan) -|getpos()| return a list with the position of cursor, mark, etc. -|getqflist()| list of quickfix errors (Yegappan Lakshmanan) -|getreg()| get contents of a register -|gettabwinvar()| get variable from window in specified tab page. -|has_key()| check whether a key appears in a Dictionary -|haslocaldir()| check if current window used |:lcd| -|hasmapto()| check for a mapping to a string -|index()| index of item in List -|inputlist()| prompt the user to make a selection from a list -|insert()| insert an item somewhere in a List -|islocked()| check if a variable is locked -|items()| get List of Dictionary key-value pairs -|join()| join List items into a String -|keys()| get List of Dictionary keys -|len()| number of items in a List or Dictionary -|map()| change each List or Dictionary item -|maparg()| extra argument: use abbreviation -|mapcheck()| extra argument: use abbreviation -|match()| extra argument: count -|matcharg()| return arguments of |:match| command -|matchend()| extra argument: count -|matchlist()| list with match and submatches of a pattern in a string -|matchstr()| extra argument: count -|max()| maximum value in a List or Dictionary -|min()| minimum value in a List or Dictionary -|mkdir()| create a directory -|pathshorten()| reduce directory names to a single character -|printf()| format text -|pumvisible()| check whether the popup menu is displayed -|range()| generate a List with numbers -|readfile()| read a file into a list of lines -|reltime()| get time value, possibly relative -|reltimestr()| turn a time value into a string -|remove()| remove one or more items from a List or Dictionary -|repeat()| repeat "expr" "count" times (Christophe Poucet) -|reverse()| reverse the order of a List -|search()| extra argument: -|searchdecl()| search for declaration of variable -|searchpair()| extra argument: line to stop searching -|searchpairpos()| return a List with the position of the match -|searchpos()| return a List with the position of the match -|setloclist()| modify a location list (Yegappan Lakshmanan) -|setpos()| set cursor or mark to a position -|setqflist()| modify a quickfix list (Yegappan Lakshmanan) -|settabwinvar()| set variable in window of specified tab page -|sort()| sort a List -|soundfold()| get the sound-a-like equivalent of a word -|spellbadword()| get a badly spelled word -|spellsuggest()| get suggestions for correct spelling -|split()| split a String into a List -|str2nr()| convert a string to a number, base 8, 10 or 16 -|stridx()| extra argument: start position -|strridx()| extra argument: start position -|string()| string representation of a List or Dictionary -|system()| extra argument: filters {input} through a shell command -|tabpagebuflist()| List of buffers in a tab page -|tabpagenr()| number of current or last tab page -|tabpagewinnr()| window number in a tab page -|tagfiles()| List with tags file names -|taglist()| get list of matching tags (Yegappan Lakshmanan) -|tr()| translate characters (Ron Aaron) -|uniq()| remove copies of repeated adjacent list items -|values()| get List of Dictionary values -|winnr()| takes an argument: what window to use -|winrestview()| restore the view of the current window -|winsaveview()| save the view of the current window -|writefile()| write a list of lines into a file - -User defined functions can now be loaded automatically from the "autoload" -directory in 'runtimepath'. See |autoload-functions|. - - -New Vim variables: ~ - -|v:insertmode| used for |InsertEnter| and |InsertChange| autocommands -|v:val| item value in a |map()| or |filter()| function -|v:key| item key in a |map()| or |filter()| function -|v:profiling| non-zero after a ":profile start" command -|v:fcs_reason| the reason why |FileChangedShell| was triggered -|v:fcs_choice| what should happen after |FileChangedShell| -|v:beval_bufnr| buffer number for 'balloonexpr' -|v:beval_winnr| window number for 'balloonexpr' -|v:beval_lnum| line number for 'balloonexpr' -|v:beval_col| column number for 'balloonexpr' -|v:beval_text| text under the mouse pointer for 'balloonexpr' -|v:scrollstart| what caused the screen to be scrolled up -|v:swapname| name of the swap file for the |SwapExists| event -|v:swapchoice| what to do for an existing swap file -|v:swapcommand| command to be executed after handling |SwapExists| -|v:char| argument for evaluating 'formatexpr' - - -New autocommand events: ~ - -|ColorScheme| after loading a color scheme - -|CursorHoldI| the user doesn't press a key for a while in Insert mode -|CursorMoved| the cursor was moved in Normal mode -|CursorMovedI| the cursor was moved in Insert mode - -|FileChangedShellPost| after handling a file changed outside of Vim - -|InsertEnter| starting Insert or Replace mode -|InsertChange| going from Insert to Replace mode or back -|InsertLeave| leaving Insert or Replace mode - -|MenuPopup| just before showing popup menu - -|QuickFixCmdPre| before :make, :grep et al. (Ciaran McCreesh) -|QuickFixCmdPost| after :make, :grep et al. (Ciaran McCreesh) - -|SessionLoadPost| after loading a session file. (Yegappan Lakshmanan) - -|ShellCmdPost| after executing a shell command -|ShellFilterPost| after filtering with a shell command - -|SourcePre| before sourcing a Vim script - -|SpellFileMissing| when a spell file can't be found - -|SwapExists| found existing swap file when editing a file - -|TabEnter| just after entering a tab page -|TabLeave| just before leaving a tab page - -|VimResized| after the Vim window size changed (Yakov Lerner) - - -New highlight groups: ~ - -Pmenu Popup menu: normal item |hl-Pmenu| -PmenuSel Popup menu: selected item |hl-PmenuSel| -PmenuThumb Popup menu: scrollbar |hl-PmenuThumb| -PmenuSbar Popup menu: Thumb of the scrollbar |hl-PmenuSbar| - -TabLine tab pages line, inactive label |hl-TabLine| -TabLineSel tab pages line, selected label |hl-TabLineSel| -TabLineFill tab pages line, filler |hl-TabLineFill| - -SpellBad badly spelled word |hl-SpellBad| -SpellCap word with wrong caps |hl-SpellCap| -SpellRare rare word |hl-SpellRare| -SpellLocal word only exists in other region |hl-SpellLocal| - -CursorColumn 'cursorcolumn' |hl-CursorColumn| -CursorLine 'cursorline' |hl-CursorLine| - -MatchParen matching parens |pi_paren.txt| |hl-MatchParen| - - -New items in search patterns: ~ -|/\%d| \%d123 search for character with decimal number -|/\]| [\d123] idem, in a collection -|/\%o| \%o103 search for character with octal number -|/\]| [\o1o3] idem, in a collection -|/\%x| \%x1a search for character with 2 pos. hex number -|/\]| [\x1a] idem, in a collection -|/\%u| \%u12ab search for character with 4 pos. hex number -|/\]| [\u12ab] idem, in a collection -|/\%U| \%U1234abcd search for character with 8 pos. hex number -|/\]| [\U1234abcd] idem, in a collection - (The above partly by Ciaran McCreesh) - -|/[[=| [[=a=]] an equivalence class (only for latin1 characters) -|/[[.| [[.a.]] a collation element (only works with single char) - -|/\%'m| \%'m match at mark m -|/\%<'m| \%<'m match before mark m -|/\%>'m| \%>'m match after mark m -|/\%V| \%V match in Visual area - -Nesting |/multi| items no longer is an error when an empty match is possible. - -It is now possible to use \{0}, it matches the preceding atom zero times. Not -useful, just for compatibility. - - -New Syntax/Indent/FTplugin files: ~ - -Moved all the indent settings from the filetype plugin to the indent file. -Implemented b:undo_indent to undo indent settings when setting 'filetype' to a -different value. - -a2ps syntax and ftplugin file. (Nikolai Weibull) -ABAB/4 syntax file. (Marius van Wyk) -alsaconf ftplugin file. (Nikolai Weibull) -AppendMatchGroup ftplugin file. (Dave Silvia) -arch ftplugin file. (Nikolai Weibull) -asterisk and asteriskvm syntax file. (Tilghman Lesher) -BDF ftplugin file. (Nikolai Weibull) -BibTeX indent file. (Dorai Sitaram) -BibTeX Bibliography Style syntax file. (Tim Pope) -BTM ftplugin file. (Bram Moolenaar) -calendar ftplugin file. (Nikolai Weibull) -Changelog indent file. (Nikolai Weibull) -ChordPro syntax file. (Niels Bo Andersen) -Cmake indent and syntax file. (Andy Cedilnik) -conf ftplugin file. (Nikolai Weibull) -context syntax and ftplugin file. (Nikolai Weibull) -CRM114 ftplugin file. (Nikolai Weibull) -cvs RC ftplugin file. (Nikolai Weibull) -D indent file. (Jason Mills) -Debian Sources.list syntax file. (Matthijs Mohlmann) -dictconf and dictdconf syntax, indent and ftplugin files. (Nikolai Weibull) -diff ftplugin file. (Bram Moolenaar) -dircolors ftplugin file. (Nikolai Weibull) -django and htmldjango syntax file. (Dave Hodder) -doxygen syntax file. (Michael Geddes) -elinks ftplugin file. (Nikolai Weibull) -eterm ftplugin file. (Nikolai Weibull) -eviews syntax file. (Vaidotas Zemlys) -fetchmail RC ftplugin file. (Nikolai Weibull) -FlexWiki syntax and ftplugin file. (George Reilly) -Generic indent file. (Dave Silvia) -gpg ftplugin file. (Nikolai Weibull) -gretl syntax file. (Vaidotas Zemlys) -groovy syntax file. (Alessio Pace) -group syntax and ftplugin file. (Nikolai Weibull) -grub ftplugin file. (Nikolai Weibull) -Haskell ftplugin file. (Nikolai Weibull) -help ftplugin file. (Nikolai Weibull) -indent ftplugin file. (Nikolai Weibull) -Javascript ftplugin file. (Bram Moolenaar) -Kconfig ftplugin and syntax file. (Nikolai Weibull) -ld syntax, indent and ftplugin file. (Nikolai Weibull) -lftp ftplugin file. (Nikolai Weibull) -libao config ftplugin file. (Nikolai Weibull) -limits syntax and ftplugin file. (Nikolai Weibull) -Lisp indent file. (Sergey Khorev) -loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull) -m4 ftplugin file. (Nikolai Weibull) -mailaliases syntax file. (Nikolai Weibull) -mailcap ftplugin file. (Nikolai Weibull) -manconf syntax and ftplugin file. (Nikolai Weibull) -matlab ftplugin file. (Jake Wasserman) -Maxima syntax file. (Robert Dodier) -MGL syntax file. (Gero Kuhlmann) -modconf ftplugin file. (Nikolai Weibull) -mplayer config ftplugin file. (Nikolai Weibull) -Mrxvtrc syntax and ftplugin file. (Gautam Iyer) -MuPAD source syntax, indent and ftplugin. (Dave Silvia) -mutt RC ftplugin file. (Nikolai Weibull) -nanorc syntax and ftplugin file. (Nikolai Weibull) -netrc ftplugin file. (Nikolai Weibull) -pamconf syntax and ftplugin file. (Nikolai Weibull) -Pascal indent file. (Neil Carter) -passwd syntax and ftplugin file. (Nikolai Weibull) -PHP compiler plugin. (Doug Kearns) -pinfo ftplugin file. (Nikolai Weibull) -plaintex syntax and ftplugin files. (Nikolai Weibull, Benji Fisher) -procmail ftplugin file. (Nikolai Weibull) -prolog ftplugin file. (Nikolai Weibull) -protocols syntax and ftplugin file. (Nikolai Weibull) -quake ftplugin file. (Nikolai Weibull) -racc syntax and ftplugin file. (Nikolai Weibull) -readline ftplugin file. (Nikolai Weibull) -rhelp syntax file. (Johannes Ranke) -rnoweb syntax file. (Johannes Ranke) -Relax NG compact ftplugin file. (Nikolai Weibull) -Scheme indent file. (Sergey Khorev) -screen ftplugin file. (Nikolai Weibull) -sensors syntax and ftplugin file. (Nikolai Weibull) -services syntax and ftplugin file. (Nikolai Weibull) -setserial syntax and ftplugin file. (Nikolai Weibull) -sieve syntax and ftplugin file. (Nikolai Weibull) -SiSU syntax file (Ralph Amissah) -Sive syntax file. (Nikolai Weibull) -slp config, reg and spi syntax and ftplugin files. (Nikolai Weibull) -SML indent file. (Saikat Guha) -SQL anywhere syntax and indent file. (David Fishburn) -SQL indent file. -SQL-Informix syntax file. (Dean L Hill) -SQL: Handling of various variants. (David Fishburn) -sshconfig ftplugin file. (Nikolai Weibull) -Stata and SMCL syntax files. (Jeff Pitblado) -sudoers ftplugin file. (Nikolai Weibull) -sysctl syntax and ftplugin file. (Nikolai Weibull) -terminfo ftplugin file. (Nikolai Weibull) -trustees syntax file. (Nima Talebi) -Vera syntax file. (David Eggum) -udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull) -updatedb syntax and ftplugin file. (Nikolai Weibull) -VHDL indent file (Gerald Lai) -WSML syntax file. (Thomas Haselwanter) -Xdefaults ftplugin file. (Nikolai Weibull) -XFree86 config ftplugin file. (Nikolai Weibull) -xinetd syntax, indent and ftplugin file. (Nikolai Weibull) -xmodmap ftplugin file. (Nikolai Weibull) -Xquery syntax file. (Jean-Marc Vanel) -xsd (XML schema) indent file. -YAML ftplugin file. (Nikolai Weibull) -Zsh ftplugin file. (Nikolai Weibull) - - -New Keymaps: ~ - -Sinhala (Sri Lanka) (Harshula Jayasuriya) -Tamil in TSCII encoding (Yegappan Lakshmanan) -Greek in cp737 (Panagiotis Louridas) -Polish-slash (HS6_06) -Ukrainian-jcuken (Anatoli Sakhnik) -Kana (Edward L. Fox) - - -New message translations: ~ - -The Ukrainian messages are now also available in cp1251. -Vietnamese message translations and menu. (Phan Vinh Thinh) - - -Others: ~ - -The |:read| command has the |++edit| argument. This means it will use the -detected 'fileformat', 'fileencoding' and other options for the buffer. This -also fixes the problem that editing a compressed file didn't set these -options. - -The Netbeans interface was updated for Sun Studio 10. The protocol number -goes from 2.2 to 2.3. (Gordon Prieur) - -Mac: When starting up Vim will load the $VIMRUNTIME/macmap.vim script to -define default command-key mappings. (mostly by Benji Fisher) - -Mac: Add the selection type to the clipboard, so that Block, line and -character selections can be used between two Vims. (Eckehard Berns) -Also fixes the problem that setting 'clipboard' to "unnamed" breaks using -"yyp". - -Mac: GUI font selector. (Peter Cucka) - -Mac: support for multi-byte characters. (Da Woon Jung) -This doesn't always work properly. If you see text drawing problems try -switching the 'macatsui' option off. - -Mac: Support the xterm mouse in the non-GUI version. - -Mac: better integration with Xcode. Post a fake mouse-up event after the odoc -event and the drag receive handler to work around a stall after Vim loads a -file. Fixed an off-by-one line number error. (Da Woon Jung) - -Mac: When started from Finder change directory to the file being edited or the -user home directory. - -Added the t_SI and t_EI escape sequences for starting and ending Insert mode. -To be used to set the cursor shape to a bar or a block. No default values, -they are not supported by termcap/terminfo. - -GUI font selector for Motif. (Marcin Dalecki) - -Nicer toolbar buttons for Motif. (Marcin Dalecki) - -Mnemonics for the Motif find/replace dialog. (Marcin Dalecki) - -Included a few improvements for Motif from Marcin Dalecki. Draw label -contents ourselves to make them handle fonts in a way configurable by Vim and -a bit less dependent on the X11 font management. - -Autocommands can be defined local to a buffer. This means they will also work -when the buffer does not have a name or no specific name. See -|autocmd-buflocal|. (Yakov Lerner) - -For xterm most combinations of modifiers with function keys are recognized. -|xterm-modifier-keys| - -When 'verbose' is set the output of ":highlight" will show where a highlight -item was last set. -When 'verbose' is set the output of the ":map", ":abbreviate", ":command", -":function" and ":autocmd" commands will show where it was last defined. -(Yegappan Lakshmanan) - -":function /pattern" lists functions matching the pattern. - -"1gd" can be used like "gd" but ignores matches in a {} block that ends before -the cursor position. Likewise for "1gD" and "gD". - -'scrolljump' can be set to a negative number to scroll a percentage of the -window height. - -The |v:scrollstart| variable has been added to help find the location in -your script that causes the hit-enter prompt. - -To make it possible to handle the situation that a file is being edited that -is already being edited by another Vim instance, the |SwapExists| event has -been added. The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables -can be used, for example to use the |client-server| functionality to bring the -other Vim to the foreground. -When starting Vim with a "-t tag" argument, there is an existing swapfile and -the user selects "quit" or "abort" then exit Vim. - -Undo now also restores the '< and '> marks. "gv" selects the same area as -before the change and undo. - -When editing a search pattern for a "/" or "?" command and 'incsearch' is set -CTRL-L can be used to add a character from the current match. CTRL-R CTRL-W -will add a word, but exclude the part of the word that was already typed. - -Ruby interface: add line number methods. (Ryan Paul) - -The $MYVIMRC environment variable is set to the first found vimrc file. -The $MYGVIMRC environment variable is set to the first found gvimrc file. - -============================================================================== -IMPROVEMENTS *improvements-7* - -":helpgrep" accepts a language specifier after the pattern: "pat@it". - -Moved the help for printing to a separate help file. It's quite a lot now. - -When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are -found in $PATH instead of looking for ordinary files in the current directory. - -When ":silent" is used and a backwards range is given for an Ex command the -range is swapped automatically instead of asking if that is OK. - -The pattern matching code was changed from a recursive function to an -iterative mechanism. This avoids out-of-stack errors. State is stored in -allocated memory, running out of memory can always be detected. Allows -matching more complex things, but Vim may seem to hang while doing that. - -Previously some options were always evaluated in the |sandbox|. Now that only -happens when the option was set from a modeline or in secure mode. Applies to -'balloonexpr', 'foldexpr', 'foldtext' and 'includeexpr'. (Sumner Hayes) - -Some commands and expressions could have nasty side effects, such as using -CTRL-R = while editing a search pattern and the expression invokes a function -that jumps to another window. The |textlock| has been added to prevent this -from happening. - -":breakadd here" and ":breakdel here" can be used to set or delete a -breakpoint at the cursor. - -It is now possible to define a function with: > - :exe "func Test()\n ...\n endfunc" - -The tutor was updated to make it simpler to use and text was added to explain -a few more important commands. Used ideas from Gabriel Zachmann. - -Unix: When libcall() fails obtain an error message with dlerror() and display -it. (Johannes Zellner) - -Mac and Cygwin: When editing an existing file make the file name the same case -of the edited file. Thus when typing ":e os_UNIX.c" the file name becomes -"os_unix.c". - -Added "nbsp" in 'listchars'. (David Blanchet) - -Added the "acwrite" value for the 'buftype' option. This is for a buffer that -does not have a name that refers to a file and is written with BufWriteCmd -autocommands. - -For lisp indenting and matching parenthesis: (Sergey Khorev) -- square brackets are recognized properly -- #\(, #\), #\[ and #\] are recognized as character literals -- Lisp line comments (delimited by semicolon) are recognized - -Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher) - -winnr() takes an optional "$" or "#" argument. (Nikolai Weibull, Yegappan -Lakshmanan) - -Added 's' flag to search(): set ' mark if cursor moved. (Yegappan Lakshmanan) -Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull) -Added 'c' flag to search(): accept match at the cursor. -Added 'e' flag to search(): move to end of the match. (Benji Fisher) -Added 'p' flag to search(): return number of sub-pattern. (Benji Fisher) -These also apply to searchpos(), searchpair() and searchpairpos(). - -The search() and searchpair() functions have an extra argument to specify -where to stop searching. Speeds up searches that should not continue too far. - -When uncompressing fails in the gzip plugin, give an error message but don't -delete the raw text. Helps if the file has a .gz extension but is not -actually compressed. (Andrew Pimlott) - -When C, C++ or IDL syntax is used, may additionally load doxygen syntax. -(Michael Geddes) - -Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb" -filetype or syntax. - -The ":registers" command now displays multi-byte characters properly. - -VMS: In the usage message mention that a slash can be used to make a flag -upper case. Add color support to the builtin vt320 terminal codes. -(Zoltan Arpadffy) - -For the '%' item in 'viminfo', allow a number to set a maximum for the number -of buffers. - -For recognizing the file type: When a file looks like a shell script, check -for an "exec" command that starts the tcl interpreter. (suggested by Alexios -Zavras) - -Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that -digraphs still work when iconv is not available. - -When a session file is loaded while editing an unnamed, empty buffer that -buffer is wiped out. Avoids that there is an unused buffer in the buffer -list. - -Win32: When libintl.dll supports bind_textdomain_codeset(), use it. -(NAKADAIRA Yukihiro) - -Win32: Vim was not aware of hard links on NTFS file systems. These are -detected now for when 'backupcopy' is "auto". Also fixed a bogus "file has -been changed since reading it" error for links. - -When foldtext() finds no text after removing the comment leader, use the -second line of the fold. Helps for C-style /* */ comments where the first -line is just "/*". - -When editing the same file from two systems (e.g., Unix and MS-Windows) there -mostly was no warning for an existing swap file, because the name of the -edited file differs (e.g., y:\dir\file vs /home/me/dir/file). Added a flag to -the swap file to indicate it is in the same directory as the edited file. The -used path then doesn't matter and the check for editing the same file is much -more reliable. - -Unix: When editing a file through a symlink the swap file would use the name -of the symlink. Now use the name of the actual file, so that editing the same -file twice is detected. (suggestions by Stefano Zacchiroli and James Vega) - -Client-server communication now supports 'encoding'. When setting 'encoding' -in a Vim server to "utf-8", and using "vim --remote fname" in a console, -"fname" is converted from the console encoding to utf-8. Also allows Vims -with different 'encoding' settings to exchange messages. - -Internal: Changed ga_room into ga_maxlen, so that it doesn't need to be -incremented/decremented each time. - -When a register is empty it is not stored in the viminfo file. - -Removed the tcltags script, it's obsolete. - -":redir @*>>" and ":redir @+>>" append to the clipboard. Better check for -invalid characters after the register name. |:redir| - -":redir => variable" and ":redir =>> variable" write or append to a variable. -(Yegappan Lakshmanan) |:redir| - -":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan) - -The 'verbosefile' option can be used to log messages in a file. Verbose -messages are not displayed then. The "-V{filename}" argument can be used to -log startup messages. - -":let g:" lists global variables. -":let b:" lists buffer-local variables. -":let w:" lists window-local variables. -":let v:" lists Vim variables. - -The stridx() and strridx() functions take a third argument, where to start -searching. (Yegappan Lakshmanan) - -The getreg() function takes an extra argument to be able to get the expression -for the '=' register instead of the result of evaluating it. - -The setline() function can take a List argument to set multiple lines. When -the line number is just below the last line the line is appended. - -g CTRL-G also shows the number of characters if it differs from the number of -bytes. - -Completion for ":debug" and entering an expression for the '=' register. Skip -":" between range and command name. (Peter winters) - -CTRL-Q in Insert mode now works like CTRL-V by default. Previously it was -ignored. - -When "beep" is included in 'debug' a function or script that causes a beep -will result in a message with the source of the error. - -When completing buffer names, match with "\(^\|[\/]\)" instead of "^", so that -":buf stor<Tab>" finds both "include/storage.h" and "storage/main.c". - -To count items (pattern matches) without changing the buffer the 'n' flag has -been added to |:substitute|. See |count-items|. - -In a |:substitute| command the \u, \U, \l and \L items now also work for -multi-byte characters. - -The "screen.linux" $TERM name is recognized to set the default for -'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty". - -The |FileChangedShell| autocommand event can now use the |v:fcs_reason| -variable that specifies what triggered the event. |v:fcs_choice| can be used -to reload the buffer or ask the user what to do. - -Not all modifiers were recognized for xterm function keys. Added the -possibility in term codes to end in ";*X" or "O*X", where X is any character -and the * stands for the modifier code. -Added the <xUp>, <xDown>, <xLeft> and <xRight> keys, to be able to recognize -the two forms that xterm can send their codes in and still handle all possible -modifiers. - -getwinvar() now also works to obtain a buffer-local option from the specified -window. - -Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan) -Added the "%>" item to 'errorformat'. - -For 'errorformat' it was not possible to have a file name that contains the -character that follows after "%f". For example, in "%f:%l:%m" the file name -could not contain ":". Now include the first ":" where the rest of the -pattern matches. In the example a ":" not followed by a line number is -included in the file name. (suggested by Emanuele Giaquinta) - -GTK GUI: use the GTK file dialog when it's available. Mix from patches by -Grahame Bowland and Evan Webb. - -Added ":scriptnames" to bugreport.vim, so that we can see what plugins were -used. - -Win32: If the user changes the setting for the number of lines a scroll wheel -click scrolls it is now used immediately. Previously Vim would need to be -restarted. - -When using @= in an expression the value is expression @= contains. ":let @= -= value" can be used to set the register contents. - -A ! can be added to ":popup" to have the popup menu appear at the mouse -pointer position instead of the text cursor. - -The table with encodings has been expanded with many MS-Windows codepages, -such as cp1250 and cp737, so that these can also be used on Unix without -prepending "8bit-". -When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part. - -Added the "customlist" completion argument to a user-defined command. The -user-defined completion function should return the completion candidates as a -Vim List and the returned results are not filtered by Vim. (Yegappan -Lakshmanan) - -Win32: Balloons can have multiple lines if common controls supports it. -(Sergey Khorev) - -For command-line completion the matches for various types of arguments are now -sorted: user commands, variables, syntax names, etc. - -When no locale is set, thus using the "C" locale, Vim will work with latin1 -characters, using its own isupper()/toupper()/etc. functions. - -When using an rxvt terminal emulator guess the value of 'background' using the -COLORFGBG environment variable. (Ciaran McCreesh) - -Also support t_SI and t_EI on Unix with normal features. (Ciaran McCreesh) - -When 'foldcolumn' is one then put as much info in it as possible. This allows -closing a fold with the mouse by clicking on the '-'. - -input() takes an optional completion argument to specify the type of -completion supported for the input. (Yegappan Lakshmanan) - -"dp" works with more than two buffers in diff mode if there is only one where -'modifiable' is set. - -The 'diffopt' option has three new values: "horizontal", "vertical" and -"foldcolumn". - -When the 'include' option contains \zs the file name found is what is being -matched from \zs to the end or \ze. Useful to pass more to 'includeexpr'. - -Loading plugins on startup now supports subdirectories in the plugin -directory. |load-plugins| - -In the foldcolumn always show the '+' for a closed fold, so that it can be -opened easily. It may overwrite another character, esp. if 'foldcolumn' is 1. - -It is now possible to get the W10 message again by setting 'readonly'. Useful -in the FileChangedRO autocommand when checking out the file fails. - -Unix: When open() returns EFBIG give an appropriate message. - -":mksession" sets the SessionLoad variable to notify plugins. A modeline is -added to the session file to set 'filetype' to "vim". - -In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it -more logical. (Robert Webb) - -When appending to a file while the buffer has no name the name of the appended -file would be used for the current buffer. But the buffer contents is -actually different from the file content. Don't set the file name, unless the -'P' flag is present in 'cpoptions'. - -When starting to edit a new file and the directory for the file doesn't exist -then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user -a hint that something might be wrong. - -Win32: Preserve the hidden attribute of the viminfo file. - -In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and -then a cursor key. Now keep the previously inserted text if nothing is -inserted after the CTRL-O. Allows using CTRL-O commands to move the cursor -without losing the last inserted text. - -The exists() function now supports checking for autocmd group definition -and for supported autocommand events. (Yegappan Lakshmanan) - -Allow using ":global" in the sandbox, it doesn't do anything harmful by -itself. - -":saveas asdf.c" will set 'filetype' to c when it's empty. Also for ":w -asdf.c" when it sets the filename for the buffer. - -Insert mode completion for whole lines now also searches unloaded buffers. - -The colortest.vim script can now be invoked directly with ":source" or -":runtime syntax/colortest.vim". - -The 'statusline' option can be local to the window, so that each window can -have a different value. (partly by Yegappan Lakshmanan) - -The 'statusline' option and other options that support the same format can now -use these new features: -- When it starts with "%!" the value is first evaluated as an expression - before parsing the value. -- "%#HLname#" can be used to start highlighting with HLname. - -When 'statusline' is set to something that causes an error message then it is -made empty to avoid an endless redraw loop. Also for other options, such at -'tabline' and 'titlestring'. ":verbose set statusline" will mention that it -was set in an error handler. - -When there are several matching tags, the ":tag <name>" and CTRL-] commands -jump to the [count] matching tag. (Yegappan Lakshmanan) - -Win32: In the batch files generated by the install program, use $VIMRUNTIME or -$VIM if it's set. Example provided by Mathias Michaelis. -Also create a vimtutor.bat batch file. - -The 'balloonexpr' option is now |global-local|. - -The system() function now runs in cooked mode, thus can be interrupted by -CTRL-C. - -============================================================================== -COMPILE TIME CHANGES *compile-changes-7* - -Dropped the support for the BeOS and Amiga GUI. They were not maintained and -probably didn't work. If you want to work on this: get the Vim 6.x version -and merge it back in. - -When running the tests and one of them fails to produce "test.out" the -following tests are still executed. This helps when running out of memory. - -When compiling with EXITFREE defined and the ccmalloc library it is possible -to detect memory leaks. Some memory will always reported as leaked, such as -allocated by X11 library functions and the memory allocated in alloc_cmdbuff() -to store the ":quit" command. - -Moved the code for printing to src/hardcopy.c. - -Moved some code from main() to separate functions to make it easier to see -what is being done. Using a structure to avoid a lot of arguments to the -functions. - -Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c -without copying the code. - ---- Mac --- - -"make" now creates the Vim.app directory and "make install" copies it to its -final destination. (Raf) - -Put the runtime directory not directly in Vim.app but in -Vim.app/Contents/Resources/vim, so that it's according to Mac specs. - -Made it possible to compile with Motif, Athena or GTK without tricks and still -being able to use the MacRoman conversion. Added the os_mac_conv.c file. - -When running "make install" the runtime files are installed as for Unix. -Avoids that too many files are copied. When running "make" a link to the -runtime files is created to avoid a recursive copy that takes much time. - -Configure will attempt to build Vim for both Intel and PowerPC. The ---with-mac-arch configure argument can change it. - ---- Win32 --- - -The Make_mvc.mak file was adjusted to work with the latest MS compilers, -including the free version of Visual Studio 2005. (George Reilly) - -INSTALLpc.txt was updated for the recent changes. (George Reilly) - -The distributed executable is now produced with the free Visual C++ Toolkit -2003 and other free SDK chunks. msvcsetup.bat was added to support this. - -Also generate the .pdb file that can be used to generate a useful crash report -on MS-Windows. (George Reilly) - -============================================================================== -BUG FIXES *bug-fixes-7* - -When using PostScript printing on MS-DOS the default 'printexpr' used "lpr" -instead of "copy". When 'printdevice' was empty the copy command did not -work. Use "LPT1" then. - -The GTK font dialog uses a font size zero when the font name doesn't include a -size. Use a default size of 10. - -This example in the documentation didn't work: - :e `=foo . ".c"` -Skip over the expression in `=expr` when looking for comments, |, % and #. - -When ":helpgrep" doesn't find anything there is no error message. - -"L" and "H" did not take closed folds into account. - -Win32: The "-P title" argument stopped at the first title that matched, even -when it doesn't support MDI. - -Mac GUI: CTRL-^ and CTRL-@ did not work. - -"2daw" on "word." at the end of a line didn't include the preceding white -space. - -Win32: Using FindExecutable() doesn't work to find a program. Use -SearchPath() instead. For executable() use $PATHEXT when the program searched -for doesn't have an extension. - -When 'virtualedit' is set, moving the cursor up after appending a character -may move it to a different column. Was caused by auto-formatting moving the -cursor and not putting it back where it was. - -When indent was added automatically and then moving the cursor, the indent was -not deleted (like when pressing ESC). The "I" flag in 'cpoptions' can be used -to make it work the old way. - -When opening a command-line window, 'textwidth' gets set to 78 by the Vim -filetype plugin. Reset 'textwidth' to 0 to avoid lines are broken. - -After using cursor(line, col) moving up/down doesn't keep the same column. - -Win32: Borland C before 5.5 requires using ".u." for LowPart and HighPart -fields. (Walter Briscoe) - -On Sinix SYS_NMLN isn't always defined. Define it ourselves. (Cristiano De -Michele) - -Printing with PostScript may keep the printer waiting for more. Append a -CTRL-D to the printer output. (Mike Williams) - -When converting a string with a hex or octal number the leading '-' was -ignored. ":echo '-05' + 0" resulted in 5 instead of -5. - -Using "@:" to repeat a command line didn't work when it contains control -characters. Also remove "'<,'>" when in Visual mode to avoid that it appears -twice. - -When using file completion for a user command, it would not expand environment -variables like for a regular command with a file argument. - -'cindent': When the argument of a #define looks like a C++ class the next line -is indented too much. - -When 'comments' includes multi-byte characters inserting the middle part and -alignment may go wrong. 'cindent' also suffers from this for right-aligned -items. - -Win32: when 'encoding' is set to "utf-8" getenv() still returns strings in the -active codepage. Convert to utf-8. Also for $HOME. - -The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw". Now use -"cn" or "tw" as intended. - -When 'bin' is set and 'eol' is not set then line2byte() added the line break -after the last line while it's not there. - -Using foldlevel() in a WinEnter autocommand may not work. Noticed when -resizing the GUI shell upon startup. - -Python: Using buffer.append(f.readlines()) didn't work. Allow appending a -string with a trailing newline. The newline is ignored. - -When using the ":saveas f2" command for buffer "f1", the Buffers menu would -contain "f2" twice, one of them leading to "f1". Also trigger the BufFilePre -and BufFilePost events for the alternate buffer that gets the old name. - -strridx() did not work well when the needle is empty. (Ciaran McCreesh) - -GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives -just before it is invoked - -VMS: Occasionally CR characters were inserted in the file. Expansion of -environment variables was not correct. (Zoltan Arpadffy) - -UTF-8: When 'delcombine' is set "dw" only deleted the last combining character -from the first character of the word. - -When using ":sball" in an autocommand only the filetype in one buffer was -detected. Reset did_filetype in enter_buffer(). - -When using ":argdo" and the window already was at the first argument index, -but not actually editing it, the current buffer would be used instead. - -When ":next dir/*" includes many matches, adding the names to the argument -list may take an awful lot of time and can't be interrupted. Allow -interrupting this. - -When editing a file that was already loaded in a buffer, modelines were not -used. Now window-local options in the modeline are set. Buffer-local options -and global options remain unmodified. - -Win32: When 'encoding' is set to "utf-8" in the vimrc file, files from the -command line with non-ASCII characters are not used correctly. Recode the -file names when 'encoding' is set, using the Unicode command line. - -Win32 console: When the default for 'encoding' ends up to be "latin1", the -default value of 'isprint' was wrong. - -When an error message is given while waiting for a character (e.g., when an -xterm reports the number of colors), the hit-enter prompt overwrote the last -line. Don't reset msg_didout in normal_cmd() for K_IGNORE. - -Mac GUI: Shift-Tab didn't work. - -When defining tooltip text, don't translate terminal codes, since it's not -going to be used like a command. - -GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a -GTK error. Invalid characters may appear when 'encoding' is changed. - -GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango. - -Win32: When 'encoding' is changed while starting up, use the Unicode command -line to convert the file arguments to 'encoding'. Both for the GUI and the -console version. - -Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because -there is no codepage for latin9. Do our own conversion from latin9 to UCS2. - -When two versions of GTK+ 2 are installed it was possible to use the header -files from one and the library from the other. Use GTK_LIBDIR to put the -directory for the library early in the link flags. - -With the GUI find/replace dialog a replace only worked if the pattern was -literal text. Now it works for any pattern. - -When 'equalalways' is set and 'eadirection' is "hor", ":quit" would still -cause equalizing window heights in the vertical direction. - -When ":emenu" is used in a startup script the command was put in the typeahead -buffer, causing a prompt for the crypt key to be messed up. - -Mac OS/X: The default for 'isprint' included characters 128-160, causes -problems for Terminal.app. - -When a syntax item with "containedin" is used, it may match in the start or -end of a region with a matchgroup, while this doesn't happen for a "contains" -argument. - -When a transparent syntax items matches in another item where the highlighting -has already stopped (because of a he= argument), the highlighting would come -back. - -When cscope is used to set the quickfix error list, it didn't get set if there -was only one match. (Sergey Khorev) - -When 'confirm' is set and using ":bdel" in a modified buffer, then selecting -"cancel", would still give an error message. - -The PopUp menu items that started Visual mode didn't work when not in Normal -mode. Switching between selecting a word and a line was not possible. - -Win32: The keypad decimal point always resulted in a '.', while on some -keyboards it's a ','. Use MapVirtualKey(VK_DECIMAL, 2). - -Removed unused function DisplayCompStringOpaque() from gui_w32.c - -In Visual mode there is not always an indication whether the line break is -selected or not. Highlight the character after the line when the line break -is included, e.g., after "v$o". - -GTK: The <F10> key can't be mapped, it selects the menu. Disable that with a -GTK setting and do select the menu when <F10> isn't mapped. (David Necas) - -After "Y" '[ and '] were not at start/end of the yanked text. - -When a telnet connection is dropped Vim preserves files and exits. While -doing that a SIGHUP may arrive and disturb us, thus ignore it. (Scott -Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to -handle. Added handle_signal(). - -When completing a file name on the command line backslashes are required for -white space. Was only done for a space, not for a Tab. - -When configure could not find a terminal library, compiling continued for a -long time before reporting the problem. Added a configure check for tgetent() -being found in a library. - -When the cursor is on the first char of the last line a ":g/pat/s///" command -may cause the cursor to be displayed below the text. - -Win32: Editing a file with non-ASCII characters doesn't work when 'encoding' -is "utf-8". use _wfullpath() instead of _fullpath(). (Yu-sung Moon) - -When recovering the 'fileformat' and 'fileencoding' were taken from the -original file instead of from the swapfile. When the file didn't exist, was -empty or the option was changed (e.g., with ":e ++fenc=cp123 file") it could -be wrong. Now store 'fileformat' and 'fileencoding' in the swapfile and use -the values when recovering. - -":bufdo g/something/p" overwrites each last printed text line with the file -message for the next buffer. Temporarily clear 'shortmess' to avoid that. - -Win32: Cannot edit a file starting with # with --remote. Do escape % and # -when building the ":drop" command. - -A comment or | just after an expression-backtick argument was not recognized. -E.g. in :e `="foo"`"comment. - -"(" does not stop at an empty sentence (single dot and white space) while ")" -does. Also breaks "das" on that dot. - -When doing "yy" with the cursor on a TAB the ruler could be wrong and "k" -moved the cursor to another column. - -When 'commentstring' is '"%s' and there is a double quote in the line a double -quote before the fold marker isn't removed in the text displayed for a closed -fold. - -In Visual mode, when 'bin' and 'eol' set, g CTRL-G counted the last line -break, resulting in "selected 202 of 201 bytes". - -Motif: fonts were not used for dialog components. (Marcin Dalecki) - -Motif: After using a toolbar button the keyboard focus would be on the toolbar -(Lesstif problem). (Marcin Dalecki) - -When using "y<C-V>`x" where mark x is in the first column, the last line was -not included. - -Not all test scripts work properly on MS-Windows when checked out from CVS. -Use a Vim command to fix all fileformats to dos before executing the tests. - -When using ":new" and the file fits in the window, lines could still be above -the window. Now remove empty lines instead of keeping the relative position. - -Cmdline completion didn't work after ":let var1 var<Tab>". - -When using ":startinsert" or ":startreplace" when already in Insert mode -(possible when using CTRL-R =), pressing Esc would directly restart Insert -mode. (Peter Winters) - -"2daw" didn't work at end of file if the last word is a single character. - -Completion for ":next a'<Tab>" put a backslash before single quote, but it was -not removed when editing a file. Now halve backslashes in save_patterns(). -Also fix expanding a file name with the shell that contains "\'". - -When doing "1,6d|put" only "fewer lines" was reported. Now a following "more -lines" overwrites the message. - -Configure could not handle "-Dfoo=long\ long" in the TCL config output. - -When searching backwards, using a pattern that matches a newline and uses \zs -after that, didn't find a match. Could also get a hang or end up in the right -column in the wrong line. - -When $LANG is "sl" for slovenian, the slovak menu was used, since "slovak" -starts with "sl". - -When 'paste' is set in the GUI the Paste toolbar button doesn't work. Clear -'paste' when starting the GUI. - -A message about a wrong viminfo line included the trailing NL. - -When 'paste' is set in the GUI the toolbar button doesn't work in Insert mode. -Use ":exe" in menu.vim to avoid duplicating the commands, instead of using a -mapping. - -Treat "mlterm" as an xterm-like terminal. (Seiichi Sato) - -":z.4" and ":z=4" didn't work Vi compatible. - -When sourcing a file, editing it and sourcing it again, it could appear twice -in ":scriptnames" and get a new <SID>, because the inode has changed. - -When $SHELL is set but empty the 'shell' option would be empty. Don't use an -empty $SHELL value. - -A command "w! file" in .vimrc or $EXINIT didn't work. Now it writes an empty -file. - -When a CTRL-F command at the end of the file failed, the cursor was still -moved to the start of the line. Now it remains where it is. - -When using ":s" or "&" to repeat the last substitute and "$" was used to put -the cursor in the last column, put the cursor in the last column again. This -is Vi compatible. - -Vim is not fully POSIX compliant but sticks with traditional Vi behavior. -Added a few flags in 'cpoptions' to behave the POSIX way when wanted. The -$VIM_POSIX environment variable is checked to set the default. - -Appending to a register didn't insert a line break like Vi. Added the '>' -flag to 'cpoptions' for this. - -Using "I" in a line with only blanks appended to the line. This is not Vi -compatible. Added the 'H' flag in 'coptions' for this. - -When joining multiple lines the cursor would be at the last joint, but Vi -leaves it at the position where "J" would put it. Added the 'q' flag in -'cpoptions' for this. - -Autoindent didn't work for ":insert" and ":append". - -Using ":append" in an empty buffer kept the dummy line. Now it's deleted to -be Vi compatible. - -When reading commands from a file and stdout goes to a terminal, would still -request the xterm version. Vim can't read it, thus the output went to the -shell and caused trouble there. - -When redirecting to a register with an invalid name the redirection would -still be done (after an error message). Now reset "redir_reg". (Yegappan -Lakshmanan) - -It was not possible to use a NL after a backslash in Ex mode. This is -sometimes used to feed multiple lines to a shell command. - -When 'cmdheight' is set to 2 in .vimrc and the GUI uses the number of lines -from the terminal we actually get 3 lines for the cmdline in gvim. - -When setting $HOME allocated memory would leak. - -Win32: bold characters may sometimes write in another character cell. Use -unicodepdy[] as for UTF-8. (Taro Muraoka) - -":w fname" didn't work for files with 'buftype' set to "nofile". - -The method used to locate user commands for completion differed from when they -are executed. Ambiguous command names were not completed properly. - -Incremental search may cause a crash when there is a custom statusline that -indirectly invokes ":normal". - -Diff mode failed when $DIFF_OPTIONS was set in the environment. Unset it -before invoking "diff". - -Completion didn't work after ":argdo", ":windo" and ":bufdo". Also for ":set -&l:opt" and ":set &g:opt". (Peter Winters) - -When setting 'ttymouse' to "dec" in an xterm that supports the DEC mouse -locator it doesn't work. Now switch off the mouse before selecting another -mouse model. - -When the CursorHold event is triggered and the commands peek for typed -characters the typeahead buffer may be messed up, e.g., when a mouse-up event -is received. Avoid invoking the autocommands from the function waiting for a -character, let it put K_CURSORHOLD in the input buffer. - -Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like -":1argadd *". Same for ":argdelete" and ":argedit". - -Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US". - -Added backslashes before dashes in the vim.1 manual page to make the appear as -real dashes. (Pierr Habouzit) - -Where "gq" left the cursor depended on the value of 'formatprg'. Now "gq" -always leaves the cursor at the last line of the formatted text. - -When editing a compressed file, such as "changelog.Debian.gz" file, filetype -detection may try to check the contents of the file while it's still -compressed. Skip setting 'filetype' for compressed files until they have been -decompressed. Required for patterns that end in a "*". - -Starting with an argument "+cmd" or "-S script" causes the cursor the be moved -to the first line. That breaks a BufReadPost autocommand that uses g`". -Don't move the cursor if it's somewhere past the first line. - -"gg=G" while 'modifiable' is off was uninterruptible. - -When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash. -Don't insert a DBCS character with a NUL second byte. - -In Insert mode CTRL-O <Home> didn't move the cursor. Made "ins_at_eol" global -and reset it in nv_home(). - -Wildcard expansion failed: ":w /tmp/$$.`echo test`". Don't put quotes around -spaces inside backticks. - -After this sequence of commands: Y V p gv: the wrong line is selected. Now -let "gv" select the text that was put, since the original text is deleted. -This should be the most useful thing to do. - -":sleep 100u" sleeps for 100 seconds, not 100 usec as one might expect. Give -an error message when the argument isn't recognized. - -In gui_mch_draw_string() in gui_w32.c "unibuflen" wasn't static, resulting in -reallocating the buffer every time. (Alexei Alexandrov) - -When using a Python "atexit" function it was not invoked when Vim exits. Now -call Py_Finalize() for that. (Ugo Di Girolamo) -This breaks the thread stuff though, fixed by Ugo. - -GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right -after startup, the window layout is messed up. (Michael Schaap) Added -win_new_shellsize() call in gui_init() to fix the topframe size. - -Trick to get ...MOUSE_NM not used when there are vertical splits. Now pass -column -1 for the left most window and add MOUSE_COLOFF for others. Limits -mouse column to 10000. - -searchpair() may hang when the end pattern has "\zs" at the end. Check that -we find the same position again and advance one character. - -When in diff mode and making a change that causes the "changed" highlighting -to disappear or reappear, it was still highlighted in another window. - -When a ":next" command fails because the user selects "Abort" at the ATTENTION -prompt the argument index was advanced anyway. - -When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous -substitute pattern. Put "\V" in the pattern to avoid that. - -Use of sprintf() sometimes didn't check properly for buffer overflow. Also -when using smsg(). Included code for snprintf() to avoid having to do size -checks where invoking them - -":help \=<Tab>" didn't find "sub-replace-\=". Wild menu for help tags didn't -show backslashes. ":he :s\=" didn't work. - -When reading an errorfile "~/" in a file name was not expanded. - -GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or -removing it the window size may change. GTK sends us resize events when we -change the window size ourselves, but they may come at an unexpected moment. -Peek for a character to get any window resize events and fix 'columns' and -'lines' to undo this. - -When using the GTK plug mechanism, resizing and focus was not working -properly. (Neil Bird) - -After deleting files from the argument list a session file generated with -":mksession" may contain invalid ":next" commands. - -When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N -may cause the hit-enter prompt. Typing 'a then didn't result in the accented -character. Put the character typed at the prompt back in the typeahead buffer -so that mapping is done in the right mode. - -setbufvar() and setwinvar() did not give error messages. - -It was possible to set a variable with an illegal name, e.g. with setbufvar(). -It was possible to define a function with illegal name, e.t. ":func F{-1}()" - -CTRL-W F and "gf" didn't use the same method to get the file name. - -When reporting a conversion error the line number of the last error could be -given. Now report the first encountered error. - -When using ":e ++enc=name file" and iconv() was used for conversion an error -caused a fall-back to no conversion. Now replace a character with '?' and -continue. - -When opening a new buffer the local value of 'bomb' was not initialized from -the global value. - -Win32: When using the "Edit with Vim" entry the file name was limited to about -200 characters. - -When using command line completion for ":e *foo" and the file "+foo" exists -the resulting command ":e +foo" doesn't work. Now insert a backslash: ":e -\+foo". - -When the translation of "-- More --" was not 10 characters long the following -message would be in the wrong position. - -At the more-prompt the last character in the last line wasn't drawn. - -When deleting non-existing text while 'virtualedit' is set the '[ and '] marks -were not set. - -Win32: Could not use "**/" in 'path', it had to be "**\". - -The search pattern "\n" did not match at the end of the last line. - -Searching for a pattern backwards, starting on the NUL at the end of the line -and 'encoding' is "utf-8" would match the pattern just before it incorrectly. -Affected searchpair('/\*', '', '\*/'). - -For the Find/Replace dialog it was possible that not finding the text resulted -in an error message while redrawing, which cleared the syntax highlighting -while it was being used, resulting in a crash. Now don't clear syntax -highlighting, disable it with b_syn_error. - -Win32: Combining UTF-8 characters were drawn on the previous character. -Could be noticed with a Thai font. - -Output of ":function" could leave some of the typed text behind. (Yegappan -Lakshmanan) - -When the command line history has only a few lines the command line window -would be opened with these lines above the first window line. - -When using a command line window for search strings ":qa" would result in -searching for "qa" instead of quitting all windows. - -GUI: When scrolling with the scrollbar and there is a line that doesn't fit -redrawing may fail. Make sure w_skipcol is valid before redrawing. - -Limit the values of 'columns' and 'lines' to avoid an overflow in Rows * -Columns. Fixed bad effects when running out of memory (command line would be -reversed, ":qa!" resulted in ":!aq"). - -Motif: "gvim -iconic" opened the window anyway. (David Harrison) - -There is a tiny chance that a symlink gets created between checking for an -existing file and creating a file. Use the O_NOFOLLOW for open() if it's -available. - -In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of -sticking to the first column. - -When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was -echoed anyway. Set terminal to raw mode in getcmdline(). - -Unix: ":w a;b~c" caused an error in expanding wildcards. - -When appending to a file with ":w >>fname" in a buffer without a name, causing -the buffer to use "fname", the modified flag was reset. - -When appending to the current file the "not edited" flag would be reset. -":w" would overwrite the file accidentally. - -Unix: When filtering text with an external command Vim would still read input, -causing text typed for the command (e.g., a password) to be eaten and echoed. -Don't read input when the terminal is in cooked mode. - -The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen) - -Unix: When filtering text through a shell command some resulting text may be -dropped. Now after detecting that the child has exited try reading some more -of its output. - -When inside input(), using "CTRL-R =" and the expression throws an exception -the command line was not abandoned but it wasn't used either. Now abandon -typing the command line. - -'delcombine' was also used in Visual and Select mode and for commands like -"cl". That was illogical and has been disabled. - -When recording while a CursorHold autocommand was defined special keys would -appear in the register. Now the CursorHold event is not triggered while -recording. - -Unix: the src/configure script used ${srcdir-.}, not all shells understand -that. Use ${srcdir:-.} instead. - -When editing file "a" which is a symlink to file "b" that doesn't exist, -writing file "a" to create "b" and then ":split b" resulted in two buffers on -the same file with two different swapfile names. Now set the inode in the -buffer when creating a new file. - -When 'esckeys' is not set don't send the xterm code to request the version -string, because it may cause trouble in Insert mode. - -When evaluating an expression for CTRL-R = on the command line it was possible -to call a function that opens a new window, resulting in errors for -incremental search, and many other nasty things were possible. Now use the -|textlock| to disallow changing the buffer or jumping to another window -to protect from unexpected behavior. Same for CTRL-\ e. - -"d(" deleted the character under the cursor, while the documentation specified -an exclusive motion. Vi also doesn't delete the character under the cursor. - -Shift-Insert in Insert mode could put the cursor before the last character -when it just fits in the window. In coladvance() don't stop at the window -edge when filling with spaces and when in Insert mode. In mswin.vim avoid -getting a beep from the "l" command. - -Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in -the dialog then Vim would insert <M-F4> in the text. Now it's ignored. - -When ":silent! {cmd}" caused the swap file dialog, which isn't displayed, -there would still be a hit-enter prompt. - -Requesting the termresponse (|t_RV|) early may cause problems with "-c" -arguments that invoke an external command or even "-c quit". Postpone it -until after executing "-c" arguments. - -When typing in Insert mode so that a new line is started, using CTRL-G u to -break undo and start a new change, then joining the lines with <BS> caused -undo info to be missing. Now reset the insertion start point. - -Syntax HL: When a region start match has a matchgroup and an offset that -happens to be after the end of the line then it continued in the next line and -stopped at the region end match, making the region continue after that. -Now check for the column being past the end of the line in syn_add_end_off(). - -When changing a file, setting 'swapfile' off and then on again, making another -change and killing Vim, then some blocks may be missing from the swapfile. -When 'swapfile' is switched back on mark all blocks in the swapfile as dirty. -Added mf_set_dirty(). - -Expanding wildcards in a command like ":e aap;<>!" didn't work. Put -backslashes before characters that are special to the shell. (Adri Verhoef) - -A CursorHold autocommand would cause a message to be cleared. Don't show the -special key for the event for 'showcmd'. - -When expanding a file name for a shell command, as in "!cmd foo<Tab>" or ":r -!cmd foo<Tab>" also escape characters that are special for the shell: -"!;&()<>". - -When the name of the buffer was set by a ":r fname" command |cpo-f| no -autocommands were triggered to notify about the change in the buffer list. - -In the quickfix buffer 'bufhidden' was set to "delete", which caused closing -the quickfix window to leave an unlisted "No Name" buffer behind every time. - -Win32: when using two screens of different size, setting 'lines' to a large -value didn't fill the whole screen. (SungHyun Nam) - -Win32 installer: The generated _vimrc contained an absolute path to diff.exe. -After upgrading it becomes invalid. Now use $VIMRUNTIME instead. - -The command line was cleared to often when 'showmode' was set and ":silent -normal vy" was used. Don't clear the command line unless the mode was -actually displayed. Added the "mode_displayed" variable. - -The "load session" toolbar item could not handle a space or other special -characters in v:this_session. - -":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2. - -In a multi-byte file the foldmarker could be recognized in the trail byte. -(Taro Muraoka) - -Pasting with CTRL-V and menu didn't work properly when some commands are -mapped. Use ":normal!" instead of ":normal". (Tony Apuzzo) - -Crashed when expanding a file name argument in backticks. - -In some situations the menu and scrollbar didn't work, when the value contains -a CSI byte. (Yukihiro Nakadaira) - -GTK GUI: When drawing the balloon focus changes and we might get a key release -event that removed the balloon again. Ignore the key release event. - -'titleold' was included in ":mkexrc" and ":mksession" files. - -":set background&" didn't use the same logic as was used when starting up. - -When "umask" is set such that nothing is writable then the viminfo file would -be written without write permission. (Julian Bridle) - -Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the -other diff'ed window. - -When editing in an xterm with a different number of colors than expected the -screen would be cleared and redrawn, causing the message about the edited file -to be cleared. Now set "keep_msg" to redraw the last message. - -For a color terminal: When the Normal HL uses bold, possibly to make the color -lighter, and another HL group specifies a color it might become light as well. -Now reset bold if a HL group doesn't specify bold itself. - -When using 256 color xterm the color 255 would show up as color 0. Use a -short instead of a char to store the color number. - -ml_get errors when searching for "\n\zs" in an empty file. - -When selecting a block and using "$" to select until the end of every line and -not highlighting the character under the cursor the first character of the -block could be unhighlighted. - -When counting words for the Visual block area and using "$" to select until -the end of every line only up to the length of the last line was counted. - -"dip" in trailing empty lines left one empty line behind. - -The script ID was only remembered globally for each option. When a buffer- or -window-local option was set the same "last set" location was changed for all -buffers and windows. Now remember the script ID for each local option -separately. - -GUI: The "Replace All" button didn't handle backslashes in the replacement in -the same way as "Replace". Escape backslashes so that they are taken -literally. - -When using Select mode from Insert mode and typing a key, causing lines to be -deleted and a message displayed, delayed the effect of inserting the key. -Now overwrite the message without delay. - -When 'whichwrap' includes "l" then "dl" and "yl" on a single letter line -worked differently. Now recognize all operators when using "l" at the end of -a line. - -GTK GUI: when the font selector returned a font name with a comma in it then -it would be handled like two font names. Now put a backslash before the -comma. - -MS-DOS, Win32: When 'encoding' defaults to "latin1" then the value for -'iskeyword' was still for CPxxx. And when 'nocompatible' was set 'isprint' -would also be the wrong value. - -When a command was defined not to take arguments and no '|' no warning message -would be given for using a '|'. Also with ":loadkeymap". - -Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) != -sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira) - -":all" always set the current window to the first window, even when it -contains a buffer that is not in the argument list (can't be closed because it -is modified). Now go to the window that has the first item of the argument -list. - -GUI: To avoid left-over pixels from bold text all characters after a character -with special attributes were redrawn. Now only do this for characters that -actually are bold. Speeds up displaying considerably. - -When only highlighting changes and the text is scrolled at the same time -everything is redrawn instead of using a scroll and updating the changed text. -E.g., when using ":match" to highlight a paren that the cursor landed on. -Added SOME_VALID: Redraw the whole window but also try to scroll to minimize -redrawing. - -Win32: When using Korean IME making it active didn't work properly. (Moon, -Yu-sung, 2005 March 21) - -Ruby interface: when inserting/deleting lines display wasn't updated. (Ryan -Paul) - ---- fixes since Vim 7.0b --- - -Getting the GCC version in configure didn't work with Solaris sed. First -strip any "darwin." and then get the version number. - -The "autoload" directory was missing from the self-installing executable for -MS-Windows. - -The MS-Windows install program would find "vimtutor.bat" in the install -directory. After changing to "c:" also change to "\" to avoid looking in the -install directory. - -To make the 16 bit DOS version compile exclude not used highlight -initializations and build a tiny instead of small version. - -finddir() and findfile() accept a negative count and return a List then. - -The Python indent file contained a few debugging statements, removed. - -Expanding {} for a function name, resulting in a name starting with "s:" was -not handled correctly. - -Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX. Added several items to be -able to handle the new Hungarian dictionary. - -Mac: Default to building for the current platform only, that is much faster -than building a universal binary. Also, using Perl/Python/etc. only works for -the current platform. - -The time on undo messages disappeared for someone. Using %T for strftime() -apparently doesn't work everywhere. Use %H:%M:%S instead. - -Typing BS at the "z=" prompt removed the prompt. - ---- fixes and changes since Vim 7.0c --- - -When jumping to another tab page the Vim window size was always set, even when -nothing in the layout changed. - -Win32 GUI tab pages line wasn't always enabled. Do a proper check for the -compiler version. - -Win32: When switching between tab pages the Vim window was moved when part of -it was outside of the screen. Now only do that in the direction of a size -change. - -Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan) - -Mac: Added document icons. (Benji Fisher) - -Insert mode completion: Using Enter to accept the current match causes -confusion. Use CTRL-Y instead. Also, use CTRL-E to go back to the typed -text. - -GUI: When there are left and right scrollbars, ":tabedit" kept them instead of -using the one that isn't needed. - -Using "gP" to replace al the text could leave the cursor below the last line, -causing ml_get errors. - -When 'cursorline' is set don't use the highlighting when Visual mode is -active, otherwise it's difficult to see the selected area. - -The matchparen plugin restricts the search to 100 lines, to avoid a long delay -when there are closed folds. - -Sometimes using CTRL-X s to list spelling suggestions used text from another -line. - -Win32: Set the default for 'isprint' back to the wrong default "@,~-255", -because many people use Windows-1252 while 'encoding' is "latin1". - -GTK: Added a workaround for gvim crashing when used over an untrusted ssh -link, caused by GTK doing something nasty. (Ed Catmur) - -Win32: The font used for the tab page labels is too big. Use the system menu -font. (George Reilly) - -Win32: Adjusting the window position and size to keep it on the screen didn't -work properly when the taskbar is on the left or top of the screen. - -The installman.sh and installml.sh scripts use ${10}, that didn't work with -old shells. And use "test -f" instead of "test -e". - -Win32: When 'encoding' was set in the vimrc then a directory argument for diff -mode didn't work. - -GUI: at the inputlist() prompt the cursorshape was adjusted as if the windows -were still at their old position. - -The parenmatch plugin didn't remember the highlighting per window. - -Using ":bd" for a buffer that's the current window in another tab page caused -a crash. - -For a new tab page the 'scroll' option wasn't set to a good default. - -Using an end offset for a search "/pat/e" didn't work properly for multi-byte -text. (Yukihiro Nakadaira) - -":s/\n/,/" doubled the text when used on the last line. - -When "search" is in 'foldopen' "[s" and "]s" now open folds. - -When using a numbered function "dict" can be omitted, but "self" didn't work -then. Always add FC_DICT to the function flags when it's part of a -dictionary. - -When "--remote-tab" executes locally it left an empty tab page. - -"gvim -u NONE", ":set cursorcolumn", "C" in the second line didn't update -text. Do update further lines even though the "$" is displayed. - -VMS: Support GTK better, also enable +clientserver. (Zoltan Arpadffy) - -When highlighting of statusline or tabline is changed there was no redraw to -show the effect. - -Mac: Added "CFBundleIdentifier" to infplist.xml. - -Added tabpage-local variables t:var. - -Win32: Added double-click in tab pages line creates new tab. (Yegappan -Lakshmanan) - -Motif: Added GUI tab pages line. (Yegappan Lakshmanan) - -Fixed crash when 'lines' was set to 1000 in a modeline. - -When init_spellfile() finds a writable directory in 'runtimepath' but it -doesn't contain a "spell" directory, create one. - -Win32: executable() also finds "xxd" in the directory where Vim was started, -but "!xxd" doesn't work. Append the Vim starting directory to $PATH. - -The tab page labels are shortened, directory names are reduced to a single -letter by default. Added the pathshorten() function to allow a user to do the -same. - -":saveas" now resets 'readonly' if the file was successfully written. - -Set $MYVIMRC file to the first found .vimrc file. -Set $MYGVIMRC file to the first found .gvimrc file. -Added menu item "Startup Settings" that edits the $MYVIMRC file - -Added matcharg(). - -Error message E745 appeared twice. Renamed one to E786. - -Fixed crash when using "au BufRead * Sexplore" and doing ":help". Was wiping -out a buffer that's still in a window. - -":hardcopy" resulted in an error message when 'encoding' is "utf-8" and -'printencoding' is empty. Now it assumes latin1. (Mike Williams) - -The check for the toolbar feature for Motif, depending on certain included -files, wasn't detailed enough, causing building to fail in gui_xmebw.c. - -Using CTRL-E in Insert mode completion after CTRL-P inserted the first match -instead of the original text. - -When displaying a UTF-8 character with a zero lower byte Vim might think the -previous character is double-wide. - -The "nbsp" item of 'listchars' didn't work when 'encoding' was utf-8. - -Motif: when Xm/xpm.h is missing gui_xmebw.c would not compile. -HAVE_XM_UNHIGHLIGHTT_H was missing a T. - -Mac: Moved the .icns files into src/os_mac_rsrc, so that they can all be -copied at once. Adjusted the Info.plist file for three icons. - -When Visual mode is active while switching to another tabpage could get ml_get -errors. - -When 'list' is set, 'nowrap' the $ in the first column caused 'cursorcolumn' -to move to the right. - -When a line wraps, 'cursorcolumn' was never displayed past the end of the -line. - -'autochdir' was only available when compiled with NetBeans and GUI. Now it's -a separate feature, also available in the "big" version. - -Added CTRL-W gf: open file under cursor in new tab page. - -When using the menu in the tab pages line, "New Tab" opens the new tab before -where the click was. Beyond the labels the new tab appears at the end instead -of after the current tab page. - -Inside a mapping with an expression getchar() could not be used. - -When vgetc is used recursively vgetc_busy protects it from being used -recursively. But after a ":normal" command the protection was reset. - -":s/a/b/n" didn't work when 'modifiable' was off. - -When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be -found. (Yukihiro Nakadaira) - -":mkspell" didn't work correctly for non-ASCII affix flags when conversion is -needed on the spell file. - -glob('/dir/\$ABC/*') didn't work. - -When using several tab pages and changing 'cmdheight' the display could become -messed up. Now store the value of 'cmdheight' separately for each tab page. - -The user of the Enter key while the popup menu is visible was still confusing. -Now use Enter to select the match after using a cursor key. - -Added "usetab" to 'switchbuf'. - - ---- fixes and changes since Vim 7.0d --- - -Added CTRL-W T: move a window to a new tab page. - -Using CTRL-X s in Insert mode to complete spelling suggestions and using BS -deleted characters before the bad word. - -A few small fixes for the VMS makefile. (Zoltan Arpadffy) - -With a window of 91 lines 45 cols, ":vsp" scrolled the window. Copy w_wrow -when splitting a window and skip setting the height when it's already at the -right value. - -Using <silent> in a mapping with a shell command and the GUI caused redraw -to use wrong attributes. - -Win32: Using MSVC 4.1 for install.exe resulted in the start menu items to be -created in the administrator directory instead of "All Users". Define the -CSIDL_ items if they are missing. - -Motif: The GUI tabline did not use the space above the right scrollbar. Work -around a bug in the Motif library. (Yegappan Lakshmanan) - -The extra files for XML Omni completion are now also installed. -|xml-omni-datafile| - -GTK GUI: when 'm' is missing from 'guioptions' during startup and pressing -<F10> GTK produced error messages. Now do create the menu but disable it just -after the first gui_mch_update(). - -":mkspell" doesn't work well with the Hungarian dictionary from the Hunspell -project. Back to the Myspell dictionary. - -In help files hide the | used around tags. - -Renamed pycomplete to pythoncomplete. - -Added "tabpages" to 'sessionoptions'. - -When 'guitablabel' is set the effect wasn't visible right away. - -Fixed a few 'cindent' errors. - -When completing menu names, e.g., after ":emenu", don't sort the entries but -keep them in the original order. - -Fixed a crash when editing a directory in diff mode. Don't trigger -autocommands when executing the diff command. - -Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and -typing a special key. - -When 'foldignore' is set the folds were not updated right away. - -When a list is indexed with [a : b] and b was greater than the length an error -message was given. Now silently truncate the result. - -When using BS during Insert mode completion go back to the original text, so -that CTRL-N selects the first matching entry. - -Added the 'M' flag to 'cinoptions'. - -Win32: Make the "gvim --help" window appear in the middle of the screen -instead of at an arbitrary position. (Randall W. Morris) - -Added gettabwinvar() and settabwinvar(). - -Command line completion: pressing <Tab> after ":e /usr/*" expands the whole -tree, because it becomes ":e /usr/**". Don't add a star if there already is -one. - -Added grey10 to grey90 to all GUIs, so that they can all be used for -initializing highlighting. Use grey40 for CursorColumn and CursorLine when -'background' is "dark". - -When reading a file and using iconv for conversion, an incomplete byte -sequence at the end caused problems. (Yukihiro Nakadaira) - - ---- fixes and changes since Vim 7.0e --- - -Default color for MatchParen when 'background' is "dark" is now DarkCyan. - -":syn off" had to be used twice in a file that sets 'syntax' in a modeline. -(Michael Geddes) - -When using ":vsp" or ":sp" the available space wasn't used equally between -windows. (Servatius Brandt) - -Expanding <cWORD> on a trailing blank resulted in the first word in the line -if 'encoding' is a multi-byte encoding. - -Spell checking: spellbadword() didn't see a missing capital in the first word -of a line. Popup menu now only suggest the capitalized word when appropriate. - -When using whole line completion CTRL-L moves through the matches but it -didn't work when at the original text. - -When completion finds the longest match, don't go to the first match but stick -at the original text, so that CTRL-N selects the first one. - -Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James -Vega) - -When using ":map <expr>" and the expression results in something with a -special byte (NUL or CSI) then it didn't work properly. Now escape special -bytes. - -The default Visual highlighting for a color xterm with 8 colors was a magenta -background, which made magenta text disappear. Now use reverse in this -specific situation. - -After completing the longest match "." didn't insert the same text. Repeating -also didn't work correctly for multi-byte text. - -When using Insert mode completion and BS the whole word that was completed -would result in all possible matches. Now stop completion. Also fixes that -for spell completion the previous word was deleted. - -GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name -the tab page label was wrong and an error message would be given. - -The taglist() function could hang on a tags line with a non-ASCII character. - -Win32: When 'encoding' differs from the system encoding tab page labels with -non-ASCII characters looked wrong. (Yegappan Lakshmanan) - -Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure -check, disable GUI tabline when it's missing. - -Mac: When compiled without multi-byte feature the clipboard didn't work. - -It was possible to switch to another tab page when the cmdline window is open. - -Completion could hang when 'lines' is 6 and a preview window was opened. - -Added CTRL-W gF: open file under cursor in new tab page and jump to the line -number following the file name. -Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan). - -Added "throw" to 'debug' option: throw an exception for error messages even -whey they would otherwise be ignored. - -When 'keymap' is set and a line contains an invalid entry could get a "No -mapping found" warning instead of a proper error message. - -Motif: default to using XpmAttributes instead of XpmAttributes_21. - -A few more changes for 64 bit MS-Windows. (George Reilly) - -Got ml_get errors when doing "o" and selecting in other window where there are -less lines shorter than the cursor position in the other window. ins_mouse() -was using position in wrong window. - -Win32 GUI: Crash when giving a lot of messages during startup. Allocate twice -as much memory for the dialog template. - -Fixed a few leaks and wrong pointer use reported by coverity. - -When showing menus the mode character was sometimes wrong. - -Added feedkeys(). (Yakov Lerner) - -Made matchlist() always return all submatches. - -Moved triggering QuickFixCmdPost to before jumping to the first location. - -Mac: Added the 'macatsui' option as a temporary work around for text drawing -problems. - -Line completion on "/**" gave error messages when scanning an unloaded buffer. - ---- fixes and changes since Vim 7.0f --- - -Win32: The height of the tab page labels is now adjusted to the font height. -(Yegappan Lakshmanan) - -Win32: selecting the tab label was off by one. (Yegappan Lakshmanan) - -Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan) - -When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and -the file was not converted from latin1 to utf-8. Now retry with latin1 if -reading the file as utf-8 results in illegal bytes. - -Escape the argument of feedkeys() before putting it in the typeahead buffer. -(Yukihiro Nakadaira) - -Added the v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira) - -With 8 colors Search highlighting combined with Statement highlighted text -made the text disappear. - -VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy) - -When 'virtualedit' includes "onemore", stopping Visual selection would still -move the cursor left. - -Prevent that using CTRL-R = in Insert mode can start Visual mode. - -Fixed a crash that occurred when in Insert mode with completion active and a -mapping caused edit() to be called recursively. - -When using CTRL-O in Insert mode just after the last character while -'virtualedit' is "all", then typing CR moved the last character to the next -line. Call coladvance() before starting the new line. - -When using |:shell| ignore clicks on the tab page labels. Also when using the -command line window. - -When 'eventignore' is "all" then adding more to ignoring some events, e.g., -for ":vimgrep", would actually trigger more events. - -Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname" -didn't find it. When looking for a server name that doesn't end in a digit -and it is not found then use another server with that name and a number (just -like on Unix). - -When using "double" in 'spellsuggest' when the language doesn't support sound -folding resulted in too many suggestions. - -Win32: Dropping a shortcut on the Vim icon didn't edit the referred file like -editing it in another way would. Use fname_expand() in buf_set_name() instead -of simply make the file name a full path. - -Using feedkeys() could cause Vim to hang. - -When closing another tab page from the tabline menu in Insert mode the tabline -was not updated right away. - -The syntax menu didn't work in compatible mode. - -After using ":tag id" twice with the same "id", ":ts" and then ":pop" a ":ts" -reported no matching tag. Clear the cached tag name. - -In Insert mode the matchparen plugin highlighted the wrong paren when there is -a string just next to a paren. - -GTK: After opening a new tab page the text was sometimes not drawn correctly. -Flush output and catch up with events when updating the tab page labels. - -In the GUI, using CTRL-W q to close the last window of a tab page could cause -a crash. - -GTK: The tab pages line menu was not converted from 'encoding' to utf-8. - -Typing a multi-byte character or a special key at the hit-enter prompt did not -work. - -When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the -cursor left when it was after the end of the line, even though it's allowed to -be there. - -Added test for using tab pages. - -towupper() and towlower() were not used, because of checking for -__STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz) - -For ":map <expr>" forbid changing the text, jumping to another buffer and -using ":normal" to avoid nasty side effects. - ---- fixes and changes since Vim 7.0g --- - -Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef. -(Gary Johnson) - -Report +reltime feature in ":version" output. - -The tar and zip plugins detect failure to get the contents of the archive and -edit the file as-is. - -When the result of 'guitablabel' is empty fall back to the default label. - -Fixed crash when using ":insert" in a while loop and missing "endwhile". - -"gt" and other commands could move to another window when |textlock| active -and when the command line window was open. - -Spell checking a file with syntax highlighting and a bad word at the end of -the line is ignored could make "]s" hang. - -Mac: inputdialog() didn't work when compiled with big features. - -Interrupting ":vimgrep" while it is busy loading a file left a modified and -hidden buffer behind. Use enter_cleanup() and leave_cleanup() around -wipe_buffer(). - -When making 'keymap' empty the b:keymap_name variable wasn't deleted. - -Using CTRL-N that searches a long time, pressing space to interrupt the -searching and accept the first match, the popup menu was still displayed -briefly. - -When setting the Vim window height with -geometry the 'window' option could be -at a value that makes CTRL-F behave differently. - -When opening a quickfix window in two tabs they used different buffers, -causing redrawing problems later. Now use the same buffer for all quickfix -windows. (Yegappan Lakshmanan) - -When 'mousefocus' is set moving the mouse to the text tab pages line would -move focus to the first window. Also, the mouse pointer would jump to the -active window. - -In a session file, when an empty buffer is wiped out, do this silently. - -When one window has the cursor on the last line and another window is resized -to make that window smaller, the cursor line could go below the displayed -lines. In win_new_height() subtract one from the available space. -Also avoid that using "~" lines makes the window scroll down. - -Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the -'cpo' option isn't set properly, because it was already set and restored. -Added the <special> argument to ":map", so that 'cpo' doesn't need to be -changed to be able to use <> notation. Also do this for ":menu" for -consistency. - -When using "/encoding=abc" in a spell word list, only "bc" was used. - -When 'encoding' and 'printencoding' were both "utf-8" then ":hardcopy" didn't -work. (Mike Williams) - -Mac: When building with "--disable-gui" the install directory would still be -"/Applications" and Vim.app would be installed. Now install in /usr/local as -usual for a console application. - -GUI: when doing completion and there is one match and still searching for -another, the cursor was displayed at the end of the line instead of after the -match. Now show the cursor after the match while still searching for matches. - -GUI: The mouse shape changed on the statusline even when 'mouse' was empty and -they can't be dragged. - -GTK2: Selecting a button in the confirm() dialog with Tab or cursor keys and -hitting Enter didn't select that button. Removed GTK 1 specific code. (Neil -Bird) - -When evaluating 'balloonexpr' takes a long time it could be called -recursively, which could cause a crash. - -exists() could not be used to detect whether ":2match" is supported. Added a -check for it specifically. - -GTK1: Tab page labels didn't work. (Yegappan Lakshmanan) - -Insert mode completion: When finding matches use 'ignorecase', but when adding -matches to the list don't use it, so that all words with different case are -added, "word", "Word" and "WORD". - -When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n" -the rest of the line was highlighted as a match. - -Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and -redirects the output. Don't move the cursor to the command line if msg_silent -is set. - -exists() ignored text after a function name and option name, which could -result in false positives. - -exists() ignored characters after the recognized word, which can be wrong when -using a name with non-keyword characters. Specifically, these calls no longer -allow characters after the name: exists('*funcname') exists('*funcname(...') -exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]') -exists('g:name.n') - -Trigger the TabEnter autocommand only after entering the current window of the -tab page, otherwise the commands are executed with an invalid current window. - -Win32: When using two monitors and Vim is on the second monitor, changing the -width of the Vim window could make it jump to the first monitor. - -When scrolling back at the more prompt and the quitting a line of text would -be left behind when 'cmdheight' is 2 or more. - -Fixed a few things for Insert mode completion, especially when typing BS, -CTRL-N or a printable character while still searching for matches. - - -============================================================================== -VERSION 7.1 *version-7.1* *version7.1* - -This section is about improvements made between version 7.0 and 7.1. - -This is a bug-fix release, there are no fancy new features. - - -Changed *changed-7.1* -------- - -Added setting 'mouse' in vimrc_example.vim. - -When building with MZscheme also look for include files in the "plt" -subdirectory. That's where they are for FreeBSD. - -The Ruby interface module is now called "Vim" instead of "VIM". But "VIM" is -an alias, so it's backwards compatible. (Tim Pope) - - -Added *added-7.1* ------ - -New syntax files: - /var/log/messages (Yakov Lerner) - Autohotkey (Nikolai Weibull) - AutoIt v3 (Jared Breland) - Bazaar commit file "bzr". (Dmitry Vasiliev) - Cdrdao TOC (Nikolai Weibull) - Cmusrc (Nikolai Weibull) - Conary recipe (rPath Inc) - Framescript (Nikolai Weibull) - FreeBasic (Mark Manning) - Hamster (David Fishburn) - IBasic (Mark Manning) - Initng (Elan Ruusamae) - Ldapconf (Nikolai Weibull) - Litestep (Nikolai Weibull) - Privoxy actions file (Doug Kearns) - Streaming Descriptors "sd" (Puria Nafisi Azizi) - -New tutor files: - Czech (Lubos Turek) - Hungarian (Arpad Horvath) - Turkish (Serkan kkk) - utf-8 version of Greek tutor. - utf-8 version of Russian tutor. - utf-8 version of Slowak tutor. - -New filetype plugins: - Bst (Tim Pope) - Cobol (Tim Pope) - Fvwm (Gautam Iyer) - Hamster (David Fishburn) - Django HTML template (Dave Hodder) - -New indent files: - Bst (Tim Pope) - Cobol (Tim Pope) - Hamster (David Fishburn) - Django HTML template (Dave Hodder) - Javascript - JSP (David Fishburn) - -New keymap files: - Bulgarian (Boyko Bantchev) - Mongolian (Natsagdorj Shagdar) - Thaana (Ibrahim Fayaz) - Vietnamese (Samuel Thibault) - -Other new runtime files: - Ada support files. (Neil Bird, Martin Krischik) - Slovenian menu translations (Mojca Miklavec) - Mono C# compiler plugin (Jarek Sobiecki) - - -Fixed *fixed-7.1* ------ - -Could not build the Win32s version. Added a few structure definitions in -src/gui_w32.c - - -Patch 7.0.001 -Problem: ":set spellsuggest+=10" does not work. (Suresh Govindachar) -Solution: Add P_COMMA to the 'spellsuggest' flags. -Files: src/option.c - -Patch 7.0.002 -Problem: C omni completion has a problem with tags files with a path - containing "#" or "%". -Solution: Escape these characters. (Sebastian Baberowski) -Files: runtime/autoload/ccomplete.vim - -Patch 7.0.003 -Problem: GUI: clicking in the lower part of a label in the tab pages line - while 'mousefocus' is set may warp the mouse pointer. (Robert - Webb) -Solution: Check for a negative mouse position. -Files: src/gui.c - -Patch 7.0.004 -Problem: Compiler warning for debug_saved used before set. (Todd Blumer) -Solution: Remove the "else" for calling save_dbg_stuff(). -Files: src/ex_docmd.c - -Patch 7.0.005 (extra) -Problem: Win32: The installer doesn't remove the "autoload" and "spell" - directories. (David Fishburn) -Solution: Add the directories to the list to be removed. -Files: nsis/gvim.nsi - -Patch 7.0.006 -Problem: Mac: "make shadow" doesn't make a link for infplist.xml. (Axel - Kielhorn) -Solution: Make the link. -Files: src/Makefile - -Patch 7.0.007 -Problem: AIX: compiling fails for message.c. (Ruediger Hornig) -Solution: Move the #if outside of memchr(). -Files: src/message.c - -Patch 7.0.008 -Problem: Can't call a function that uses both <SID> and {expr}. (Thomas) -Solution: Check both the expanded and unexpanded name for <SID>. -Files: src/eval.c - -Patch 7.0.009 -Problem: ml_get errors with both 'sidescroll' and 'spell' set. -Solution: Use ml_get_buf() instead of ml_get(), get the line from the right - buffer, not the current one. -Files: src/spell.c - -Patch 7.0.010 -Problem: The spellfile plugin required typing login name and password. -Solution: Use "anonymous" and "vim7user" by default. No need to setup a - .netrc file. -Files: runtime/autoload/spellfile.vim - -Patch 7.0.011 -Problem: Can't compile without the folding and with the eval feature. -Solution: Add an #ifdef. (Vallimar) -Files: src/option.c - -Patch 7.0.012 -Problem: Using the matchparen plugin, moving the cursor in Insert mode to a - shorter line that ends in a brace, changes the preferred column -Solution: Use winsaveview()/winrestview() instead of getpos()/setpos(). -Files: runtime/plugin/matchparen.vim - -Patch 7.0.013 -Problem: Insert mode completion: using CTRL-L to add an extra character - also deselects the current match, making it impossible to use - CTRL-L a second time. -Solution: Keep the current match. Also make CTRL-L work at the original - text, using the first displayed match. -Files: src/edit.c - -Patch 7.0.014 -Problem: Compiling gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe) -Solution: Disable some code for Motif 1.2 and older. -Files: src/gui_xmebw.c - -Patch 7.0.015 -Problem: Athena: compilation problems with modern compiler. -Solution: Avoid type casts for lvalue. (Alexey Froloff) -Files: src/gui_at_fs.c - -Patch 7.0.016 -Problem: Printing doesn't work for "dec-mcs" encoding. -Solution: Add "dec-mcs", "mac-roman" and "hp-roman8" to the list of - recognized 8-bit encodings. (Mike Williams) -Files: src/mbyte.c - -Patch 7.0.017 (after 7.0.014) -Problem: Linking gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe) -Solution: Adjust defines for Motif 1.2 and older. -Files: src/gui_xmebw.c - -Patch 7.0.018 -Problem: VMS: plugins are not loaded on startup. -Solution: Remove "**" from the path. (Zoltan Arpadffy) -Files: src/main.c - -Patch 7.0.019 -Problem: Repeating "VjA789" may cause a crash. (James Vega) -Solution: Check the cursor column after moving it to another line. -Files: src/ops.c - -Patch 7.0.020 -Problem: Crash when using 'mousefocus'. (William Fulton) -Solution: Make buffer for mouse coordinates 2 bytes longer. (Juergen Weigert) -Files: src/gui.c - -Patch 7.0.021 -Problem: Crash when using "\\[" and "\\]" in 'errorformat'. (Marc Weber) -Solution: Check for valid submatches after matching the pattern. -Files: src/quickfix.c - -Patch 7.0.022 -Problem: Using buffer.append() in Ruby may append the line to the wrong - buffer. (Alex Norman) -Solution: Properly switch to the buffer to do the appending. Also for - buffer.delete() and setting a buffer line. -Files: src/if_ruby.c - -Patch 7.0.023 -Problem: Crash when doing spell completion in an empty line and pressing - CTRL-E. -Solution: Check for a zero pointer. (James Vega) - Also handle a situation without a matching pattern better, report - "No matches" instead of remaining in undefined CTRL-X mode. And - get out of CTRL-X mode when typing a letter. -Files: src/edit.c - -Patch 7.0.024 -Problem: It is possible to set arbitrary "v:" variables. -Solution: Disallow setting "v:" variables that are not predefined. -Files: src/eval.c - -Patch 7.0.025 -Problem: Crash when removing an element of a:000. (Nikolai Weibull) -Solution: Mark the a:000 list with VAR_FIXED. -Files: src/eval.c - -Patch 7.0.026 -Problem: Using libcall() may show an old error. -Solution: Invoke dlerror() to clear a previous error. (Yukihiro Nakadaira) -Files: src/os_unix.c - -Patch 7.0.027 (extra) -Problem: Win32: When compiled with SNIFF gvim may hang on exit. -Solution: Translate and dispatch the WM_USER message. (Mathias Michaelis) -Files: src/gui_w48.c - -Patch 7.0.028 (extra) -Problem: OS/2: Vim doesn't compile with gcc 3.2.1. -Solution: Add argument to after_pathsep(), don't define vim_handle_signal(), - define HAVE_STDARG_H. (David Sanders) -Files: src/os_unix.c, src/vim.h, src/os_os2_cfg.h - -Patch 7.0.029 -Problem: getchar() may not position the cursor after a space. -Solution: Position the cursor explicitly. -Files: src/eval.c - -Patch 7.0.030 -Problem: The ":compiler" command can't be used in a FileChangedRO event. - (Hari Krishna Dara) -Solution: Add the CMDWIN flag to the ":compiler" command. -Files: src/ex_cmds.h - -Patch 7.0.031 -Problem: When deleting a buffer the buffer-local mappings for Select mode - remain. -Solution: Add the Select mode bit to MAP_ALL_MODES. (Edwin Steiner) -Files: src/vim.h - -Patch 7.0.032 (extra, after 7.0.027) -Problem: Missing semicolon. -Solution: Add the semicolon. -Files: src/gui_w48.c - -Patch 7.0.033 -Problem: When pasting text, with the menu or CTRL-V, autoindent is removed. -Solution: Use "x<BS>" to avoid indent to be removed. (Benji Fisher) -Files: runtime/autoload/paste.vim - -Patch 7.0.034 -Problem: After doing completion and typing more characters or using BS - repeating with "." didn't work properly. (Martin Stubenschrott) -Solution: Don't put BS and other characters in the redo buffer right away, - do this when finishing completion. -Files: src/edit.c - -Patch 7.0.035 -Problem: Insert mode completion works when typed but not when replayed from - a register. (Hari Krishna Dara) - Also: Mappings for Insert mode completion don't always work. -Solution: When finding a non-completion key in the input don't interrupt - completion when it wasn't typed. - Do use mappings when checking for typeahead while still finding - completions. Avoids that completion is interrupted too soon. - Use "compl_pending" in a different way. -Files: src/edit.c - -Patch 7.0.036 -Problem: Can't compile with small features and syntax highlighting or the - diff feature. -Solution: Define LINE_ATTR whenever syntax highlighting or the diff feature - is enabled. -Files: src/screen.c - -Patch 7.0.037 -Problem: Crash when resizing the GUI window vertically when there is a line - that doesn't fit. -Solution: Don't redraw while the screen data is invalid. -Files: src/screen.c - -Patch 7.0.038 -Problem: When calling complete() from an Insert mode expression mapping - text could be inserted in an improper way. -Solution: Make undo_allowed() global and use it in complete(). -Files: src/undo.c, src/proto/undo.pro, src/eval.c - -Patch 7.0.039 -Problem: Calling inputdialog() with a third argument in the console doesn't - work. -Solution: Make a separate function for input() and inputdialog(). (Yegappan - Lakshmanan) -Files: src/eval.c - -Patch 7.0.040 -Problem: When 'cmdheight' is larger than 1 using inputlist() or selecting - a spell suggestion with the mouse gets the wrong entry. -Solution: Start listing the first alternative on the last line of the screen. -Files: src/eval.c, src/spell.c - -Patch 7.0.041 -Problem: cursor([1, 1]) doesn't work. (Peter Hodge) -Solution: Allow leaving out the third item of the list and use zero for the - virtual column offset. -Files: src/eval.c - -Patch 7.0.042 -Problem: When pasting a block of text in Insert mode Vim hangs or crashes. - (Noam Halevy) -Solution: Avoid that the cursor is positioned past the NUL of a line. -Files: src/ops.c - -Patch 7.0.043 -Problem: Using "%!" at the start of 'statusline' doesn't work. -Solution: Recognize the special item when the option is being set. -Files: src/option.c - -Patch 7.0.044 -Problem: Perl: setting a buffer line in another buffer may result in - changing the current buffer. -Solution: Properly change to the buffer to be changed. -Files: src/if_perl.xs - -Patch 7.0.045 (extra) -Problem: Win32: Warnings when compiling OLE version with MSVC 2005. -Solution: Move including vim.h to before windows.h. (Ilya Bobir) -Files: src/if_ole.cpp - -Patch 7.0.046 -Problem: The matchparen plugin ignores parens in strings, but not in single - quotes, often marked with "character". -Solution: Also ignore parens in syntax items matching "character". -Files: runtime/plugin/matchparen.vim - -Patch 7.0.047 -Problem: When running configure the exit status is wrong. -Solution: Handle the exit status properly. (Matthew Woehlke) -Files: configure, src/configure - -Patch 7.0.048 -Problem: Writing a compressed file fails when there are parens in the name. - (Wang Jian) -Solution: Put quotes around the temp file name. -Files: runtime/autoload/gzip.vim - -Patch 7.0.049 -Problem: Some TCL scripts are not recognized. (Steven Atkinson) -Solution: Check for "exec wish" in the file. -Files: runtime/scripts.vim - -Patch 7.0.050 -Problem: After using the netbeans interface close command a stale pointer - may be used. -Solution: Clear the pointer to the closed buffer. (Xaview de Gaye) -Files: src/netbeans.c - -Patch 7.0.051 (after 7.0.44) -Problem: The Perl interface doesn't compile or doesn't work properly. -Solution: Remove the spaces before #ifdef and avoid an empty line above it. -Files: src/if_perl.xs - -Patch 7.0.052 -Problem: The user may not be aware that the Vim server allows others more - functionality than desired. -Solution: When running Vim as root don't become a Vim server without an - explicit --servername argument. -Files: src/main.c - -Patch 7.0.053 -Problem: Shortening a directory name may fail when there are multi-byte - characters. -Solution: Copy the correct bytes. (Titov Anatoly) -Files: src/misc1.c - -Patch 7.0.054 -Problem: Mac: Using a menu name that only has a mnemonic or accelerator - causes a crash. (Elliot Shank) -Solution: Check for an empty menu name. Also delete empty submenus that - were created before detecting the error. -Files: src/menu.c - -Patch 7.0.055 -Problem: ":startinsert" in a CmdwinEnter autocommand doesn't take immediate - effect. (Bradley White) -Solution: Put a NOP key in the typeahead buffer. Also avoid that using - CTRL-C to go back to the command line moves the cursor left. -Files: src/edit.c, src/ex_getln.c - -Patch 7.0.056 -Problem: "#!something" gives an error message. -Solution: Ignore this line, so that it can be used in an executable Vim - script. -Files: src/ex_docmd.c - -Patch 7.0.057 (extra, after 7.0.45) -Problem: Win32: Compilation problem with Borland C 5.5. -Solution: Include vim.h as before. (Mark S. Williams) -Files: src/if_ole.cpp - -Patch 7.0.058 -Problem: The gbk and gb18030 encodings are not recognized. -Solution: Add aliases to cp936. (Edward L. Fox) -Files: src/mbyte.c - -Patch 7.0.059 -Problem: The Perl interface doesn't compile with ActiveState Perl 5.8.8. -Solution: Remove the __attribute__() items. (Liu Yubao) -Files: src/if_perl.xs - -Patch 7.0.060 (after 7.0.51) -Problem: Code for temporarily switching to another buffer is duplicated in - quite a few places. -Solution: Use aucmd_prepbuf() and aucmd_restbuf() also when FEAT_AUTOCMD is - not defined. -Files: src/buffer.c, src/eval.c, src/fileio.c, src/if_ruby.c, - src/if_perl.xs, src/quickfix.c, src/structs.h - -Patch 7.0.061 -Problem: Insert mode completion for Vim commands may crash if there is - nothing to complete. -Solution: Instead of freeing the pattern make it empty, so that a "not - found" error is given. (Yukihiro Nakadaira) -Files: src/edit.c - -Patch 7.0.062 -Problem: Mac: Crash when using the popup menu for spell correction. The - popup menu appears twice when letting go of the right mouse button - early. -Solution: Don't show the popup menu on the release of the right mouse - button. Also check that a menu pointer is actually valid. -Files: src/proto/menu.pro, src/menu.c, src/normal.c, src/term.c - -Patch 7.0.063 -Problem: Tiny chance for a memory leak. (coverity) -Solution: Free pointer when next memory allocation fails. -Files: src/eval.c - -Patch 7.0.064 -Problem: Using uninitialized variable. (Tony Mechelynck) -Solution: When not used set "temp" to zero. Also avoid a warning for - "files" in ins_compl_dictionaries(). -Files: src/edit.c - -Patch 7.0.065 (extra) -Problem: Mac: left-right movement of the scrollwheel causes up-down - scrolling. -Solution: Ignore mouse wheel events that are not up-down. (Nicolas Weber) -Files: src/gui_mac.c - -Patch 7.0.066 -Problem: After the popup menu for Insert mode completion overlaps the tab - pages line it is not completely removed. -Solution: Redraw the tab pages line after removing the popup menu. (Ori - Avtalion) -Files: src/popupmnu.c - -Patch 7.0.067 -Problem: Undo doesn't always work properly when using "scim" input method. - Undo is split up when using preediting. -Solution: Reset xim_has_preediting also when preedit_start_col is not - MAXCOL. Don't split undo when <Left> is used while preediting. - (Yukihiro Nakadaira) -Files: src/edit.c, src/mbyte.c - -Patch 7.0.068 -Problem: When 'ignorecase' is set and using Insert mode completion, - typing characters to change the list of matches, case is not - ignored. (Hugo Ahlenius) -Solution: Store the 'ignorecase' flag with the matches where needed. -Files: src/edit.c, src/search.c, src/spell.c - -Patch 7.0.069 -Problem: Setting 'guitablabel' to %!expand(\%) causes Vim to free an - invalid pointer. (Kim Schulz) -Solution: Don't try freeing a constant string pointer. -Files: src/buffer.c - -Patch 7.0.070 -Problem: Compiler warnings for shadowed variables and uninitialized - variables. -Solution: Rename variables such as "index", "msg" and "dup". Initialize - variables. -Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c, - src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c, - src/memline.c, src/netbeans.c, src/normal.c, src/option.c, - src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c, - src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c, - src/version.c - -Patch 7.0.071 -Problem: Using an empty search pattern may cause a crash. -Solution: Avoid using a NULL pointer. -Files: src/search.c - -Patch 7.0.072 -Problem: When starting the GUI fails there is no way to adjust settings or - do something else. -Solution: Add the GUIFailed autocommand event. -Files: src/fileio.c, src/gui.c, src/vim.h - -Patch 7.0.073 -Problem: Insert mode completion: Typing <CR> sometimes selects the original - text instead of keeping what was typed. (Justin Constantino) -Solution: Don't let <CR> select the original text if there is no popup menu. -Files: src/edit.c - -Patch 7.0.074 (extra) -Problem: Win32: tooltips were not converted from 'encoding' to Unicode. -Solution: Set the tooltip to use Unicode and do the conversion. Also - cleanup the code for the tab pages tooltips. (Yukihiro Nakadaira) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.0.075 -Problem: winsaveview() did not store the actual value of the desired cursor - column. This could move the cursor in the matchparen plugin. -Solution: Call update_curswant() before using the value w_curswant. -Files: src/eval.c - -Patch 7.0.076 (after 7.0.010) -Problem: Automatic downloading of spell files only works for ftp. -Solution: Don't add login and password for non-ftp URLs. (Alexander Patrakov) -Files: runtime/autoload/spellfile.vim - -Patch 7.0.077 -Problem: ":unlet v:this_session" causes a crash. (Marius Roets) -Solution: When trying to unlet a fixed variable give an error message. -Files: src/eval.c - -Patch 7.0.078 -Problem: There are two error messages E46. -Solution: Change the number for the sandbox message to E794. -Files: src/globals.h - -Patch 7.0.079 -Problem: Russian tutor doesn't work when 'encoding' is "utf-8". -Solution: Use tutor.ru.utf-8 as the master, and generate the other encodings - from it. Select the right tutor depending on 'encoding'. (Alexey - Froloff) -Files: runtime/tutor/Makefile, runtime/tutor/tutor.vim, - runtime/tutor/tutor.ru.utf-8 - -Patch 7.0.080 -Problem: Generating auto/pathdef.c fails for CFLAGS with a backslash. -Solution: Double backslashes in the string. (Alexey Froloff) -Files: src/Makefile - -Patch 7.0.081 -Problem: Command line completion doesn't work for a shell command with an - absolute path. -Solution: Don't use $PATH when there is an absolute path. -Files: src/ex_getln.c - -Patch 7.0.082 -Problem: Calling a function that waits for input may cause List and - Dictionary arguments to be freed by the garbage collector. -Solution: Keep a list of all arguments to internal functions. -Files: src/eval.c - -Patch 7.0.083 -Problem: Clicking with the mouse on an item for inputlist() doesn't work - when 'compatible' is set and/or when 'cmdheight' is more than one. - (Christian J. Robinson) -Solution: Also decrement "lines_left" when 'more' isn't set. Set - "cmdline_row" to zero to get all mouse events. -Files: src/message.c, src/misc1.c - -Patch 7.0.084 -Problem: The garbage collector may do its work while some Lists or - Dictionaries are used internally, e.g., by ":echo" that runs into - the more-prompt or ":echo [garbagecollect()]". -Solution: Only do garbage collection when waiting for a character at the - toplevel. Let garbagecollect() set a flag that is handled at the - toplevel before waiting for a character. -Files: src/eval.c, src/getchar.c, src/globals.h, src/main.c - -Patch 7.0.085 -Problem: When doing "make test" the viminfo file is modified. -Solution: Use another viminfo file after setting 'compatible'. -Files: src/testdir/test56.in - -Patch 7.0.086 -Problem: getqflist() returns entries for pattern and text with the number - zero. Passing these to setqflist() results in the string "0". -Solution: Use an empty string instead of the number zero. -Files: src/quickfix.c - -Patch 7.0.087 -Problem: After ":file fname" and ":saveas fname" the 'autochdir' option - does not take effect. (Yakov Lerner) - Commands for handling 'autochdir' are repeated many times. -Solution: Add the DO_AUTOCHDIR macro and do_autochdir(). Use it for - ":file fname" and ":saveas fname". -Files: src/proto/buffer.pro, src/buffer.c, src/ex_cmds.c, src/macros.h, - src/netbeans.c, src/option.c, src/window.c - -Patch 7.0.088 -Problem: When compiled with Perl the generated prototypes have "extern" - unnecessarily added. -Solution: Remove the "-pipe" argument from PERL_CFLAGS. -Files: src/auto/configure, src/configure.in - -Patch 7.0.089 -Problem: "ga" does not work properly for a non-Unicode multi-byte encoding. -Solution: Only check for composing chars for utf-8. (Taro Muraoka) -Files: src/ex_cmds.c - -Patch 7.0.090 -Problem: Cancelling the conform() dialog on the console with Esc requires - typing it twice. (Benji Fisher) -Solution: When the start of an escape sequence is found use 'timeoutlen' or - 'ttimeoutlen'. -Files: src/misc1.c - -Patch 7.0.091 -Problem: Using winrestview() while 'showcmd' is set causes the cursor to be - displayed in the wrong position. (Yakov Lerner) -Solution: Set the window topline properly. -Files: src/eval.c - -Patch 7.0.092 (after 7.0.082 and 7.0.084) -Problem: The list of internal function arguments is obsolete now that - garbage collection is only done at the toplevel. -Solution: Remove the list of all arguments to internal functions. -Files: src/eval.c - -Patch 7.0.093 -Problem: The matchparen plugin can't handle a 'matchpairs' value where a - colon is matched. -Solution: Change the split() that is used to change 'matchpairs' into a - List. -Files: runtime/plugin/matchparen.vim - -Patch 7.0.094 -Problem: When a hidden buffer is made the current buffer and another file - edited later, the file message will still be given. Using - ":silent" also doesn't prevent the file message. (Marvin Renich) -Solution: Reset the need_fileinfo flag when reading a file. Don't set - need_fileinfo when msg_silent is set. -Files: src/buffer.c, src/fileio.c - -Patch 7.0.095 -Problem: The Greek tutor is not available in utf-8. "el" is used for the - language, only "gr" for the country is recognized. -Solution: Add the utf-8 Greek tutor. Use it for conversion to iso-8859-7 - and cp737. (Lefteris Dimitroulakis) -Files: runtime/tutor/Makefile, runtime/tutor/tutor.gr.utf-8, - runtime/tutor/tutor.vim - -Patch 7.0.096 -Problem: taglist() returns the filename relative to the tags file, while - the directory of the tags file is unknown. (Hari Krishna Dara) -Solution: Expand the file name. (Yegappan Lakshmanan) -Files: src/tag.c - -Patch 7.0.097 -Problem: ":tabclose N" that closes another tab page does not remove the tab - pages line. Same problem when using the mouse. -Solution: Adjust the tab pages line when needed in tabpage_close_other(). -Files: src/ex_docmd.c - -Patch 7.0.098 -Problem: Redirecting command output in a cmdline completion function - doesn't work. (Hari Krishna Dara) -Solution: Enable redirection when redirection is started. -Files: src/ex_docmd.c, src/ex_getln.c - -Patch 7.0.099 -Problem: GUI: When the popup menu is visible using the scrollbar messes up - the display. -Solution: Disallow scrolling the current window. Redraw the popup menu - after scrolling another window. -Files: src/gui.c - -Patch 7.0.100 -Problem: "zug" may report the wrong filename. (Lawrence Kesteloot) -Solution: Call home_replace() to fill NameBuff[]. -Files: src/spell.c - -Patch 7.0.101 -Problem: When the "~/.vim/spell" directory does not exist "zg" may create - a wrong directory. "zw" doesn't work. -Solution: Use the directory of the file name instead of NameBuff. For "zw" - not only remove a good word but also add the word with "!". -Files: src/spell.c - -Patch 7.0.102 -Problem: Redrawing cmdline is not correct when using SCIM. -Solution: Don't call im_get_status(). (Yukihiro Nakadaira) -Files: src/ex_getln.c - -Patch 7.0.103 (after 7.0.101) -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Init variable. -Files: src/spell.c - -Patch 7.0.104 -Problem: The CursorHoldI event only triggers once in Insert mode. It also - triggers after CTRL-V and other two-key commands. -Solution: Set "did_cursorhold" before getting a second key. Reset - "did_cursorhold" after handling a command. -Files: src/edit.c, src/fileio.c - -Patch 7.0.105 -Problem: When using incremental search the statusline ruler isn't updated. - (Christoph Koegl) -Solution: Update the statusline when it contains the ruler. -Files: src/ex_getln.c - -Patch 7.0.106 -Problem: The spell popup menu uses ":amenu", triggering mappings. Other - PopupMenu autocommands are removed. (John Little) -Solution: Use ":anoremenu" and use an autocmd group. -Files: runtime/menu.vim - -Patch 7.0.107 -Problem: Incremental search doesn't redraw the text tabline. (Ilya Bobir) - Also happens in other situations with one window in a tab page. -Solution: Redraw the tabline after clearing the screen. -Files: src/screen.c - -Patch 7.0.108 (extra) -Problem: Amiga: Compilation problem. -Solution: Have mch_mkdir() return a failure flag. (Willy Catteau) -Files: src/os_amiga.c, src/proto/os_amiga.pro - -Patch 7.0.109 -Problem: Lisp indenting is confused by escaped quotes in strings. (Dorai - Sitaram) -Solution: Check for backslash inside strings. (Sergey Khorev) -Files: src/misc1.c - -Patch 7.0.110 -Problem: Amiga: Compilation problems when not using libnix. -Solution: Change a few #ifdefs. (Willy Catteau) -Files: src/memfile.c - -Patch 7.0.111 -Problem: The gzip plugin can't handle filenames with single quotes. -Solution: Add and use the shellescape() function. (partly by Alexey Froloff) -Files: runtime/autoload/gzip.vim, runtime/doc/eval.txt, src/eval.c, - src/mbyte.c, src/misc2.c, src/proto/misc2.pro - -Patch 7.0.112 -Problem: Python interface does not work with Python 2.5. -Solution: Change PyMem_DEL() to Py_DECREF(). (Sumner Hayes) -Files: src/if_python.c - -Patch 7.0.113 -Problem: Using CTRL-L in Insert completion when there is no current match - may cause a crash. (Yukihiro Nakadaira) -Solution: Check for compl_leader to be NULL -Files: src/edit.c - -Patch 7.0.114 -Problem: When aborting an insert with CTRL-C an extra undo point is - created in the GUI. (Yukihiro Nakadaira) -Solution: Call gotchars() only when advancing. -Files: src/getchar.c - -Patch 7.0.115 -Problem: When 'ignorecase' is set, Insert mode completion only adds "foo" - and not "Foo" when both are found. - A found match isn't displayed right away when 'completeopt' does - not have "menu" or "menuone". -Solution: Do not ignore case when checking if a completion match already - exists. call ins_compl_check_keys() also when not using a popup - menu. (Yukihiro Nakadaira) -Files: src/edit.c - -Patch 7.0.116 -Problem: 64 bit Windows version reports "32 bit" in the ":version" output. - (M. Veerman) -Solution: Change the text for Win64. -Files: src/version.c - -Patch 7.0.117 -Problem: Using "extend" on a syntax item inside a region with "keepend", an - intermediate item may be truncated. - When applying the "keepend" and there is an offset to the end - pattern the highlighting of a contained item isn't adjusted. -Solution: Use the seen_keepend flag to remember when to apply the "keepend" - flag. Adjust the keepend highlighting properly. (Ilya Bobir) -Files: src/syntax.c - -Patch 7.0.118 -Problem: printf() does not do zero padding for strings. -Solution: Do allow zero padding for strings. -Files: src/message.c - -Patch 7.0.119 -Problem: When going back from Insert to Normal mode the CursorHold event - doesn't trigger. (Yakov Lerner) -Solution: Reset "did_cursorhold" when leaving Insert mode. -Files: src/edit.c - -Patch 7.0.120 -Problem: Crash when using CTRL-R = at the command line and entering - "getreg('=')". (James Vega) -Solution: Avoid recursiveness of evaluating the = register. -Files: src/ops.c - -Patch 7.0.121 -Problem: GUI: Dragging the last status line doesn't work when there is a - text tabline. (Markus Wolf) -Solution: Take the text tabline into account when deciding to start modeless - selection. -Files: src/gui.c - -Patch 7.0.122 -Problem: GUI: When clearing after a bold, double-wide character half a - character may be drawn. -Solution: Check for double-wide character and redraw it. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.0.123 -Problem: On SCO Openserver configure selects the wrong terminal library. -Solution: Put terminfo before the other libraries. (Roger Cornelius) - Also fix a small problem compiling on Mac without Darwin. -Files: src/configure.in, src/auto/configure - -Patch 7.0.124 -Problem: getwinvar() obtains a dictionary with window-local variables, but - it's always for the current window. -Solution: Get the variables of the specified window. (Geoff Reedy) -Files: src/eval.c - -Patch 7.0.125 -Problem: When "autoselect" is in the 'clipboard' option then the '< and '> - marks are set while Visual mode is still active. -Solution: Don't set the '< and '> marks when yanking the selected area for - the clipboard. -Files: src/normal.c - -Patch 7.0.126 -Problem: When 'formatexpr' uses setline() and later internal formatting is - used undo information is not correct. (Jiri Cerny, Benji Fisher) -Solution: Set ins_need_undo after using 'formatexpr'. -Files: src/edit.c - -Patch 7.0.127 -Problem: Crash when swap files has invalid timestamp. -Solution: Check return value of ctime() for being NULL. -Files: src/memline.c - -Patch 7.0.128 -Problem: GUI: when closing gvim is cancelled because there is a changed - buffer the screen isn't updated to show the changed buffer in the - current window. (Krzysztof Kacprzak) -Solution: Redraw when closing gvim is cancelled. -Files: src/gui.c - -Patch 7.0.129 -Problem: GTK GUI: the GTK file dialog can't handle a relative path. -Solution: Make the initial directory a full path before passing it to GTK. - (James Vega) Also postpone adding the default file name until - after setting the directory. -Files: src/gui_gtk.c - -Patch 7.0.130 (extra) -Problem: Win32: Trying to edit or write devices may cause Vim to get stuck. -Solution: Add the 'opendevice' option, default off. Disallow - reading/writing from/to devices when it's off. - Also detect more devices by the full name starting with "\\.\". -Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h, - src/os_win32.c - -Patch 7.0.131 -Problem: Win32: "vim -r" does not list all the swap files. -Solution: Also check for swap files starting with a dot. -Files: src/memline.c - -Patch 7.0.132 (after 7.0.130) -Problem: Win32: Crash when Vim reads from stdin. -Solution: Only use mch_nodetype() when there is a file name. -Files: src/fileio.c - -Patch 7.0.133 -Problem: When searching included files messages are added to the history. -Solution: Set msg_hist_off for messages about scanning included files. - Set msg_silent to avoid message about wrapping around. -Files: src/edit.c, src/globals.h, src/message.c, src/search.c - -Patch 7.0.134 -Problem: Crash when comparing a recursively looped List or Dictionary. -Solution: Limit recursiveness for comparing to 1000. -Files: src/eval.c - -Patch 7.0.135 -Problem: Crash when garbage collecting list or dict with loop. -Solution: Don't use DEL_REFCOUNT but don't recurse into Lists and - Dictionaries when freeing them in the garbage collector. - Also add allocated Dictionaries to the list of Dictionaries to - avoid leaking memory. -Files: src/eval.c, src/proto/eval.pro, src/tag.c - -Patch 7.0.136 -Problem: Using "O" while matching parens are highlighted may not remove the - highlighting. (Ilya Bobir) -Solution: Also trigger CursorMoved when a line is inserted under the cursor. -Files: src/misc1.c - -Patch 7.0.137 -Problem: Configure check for big features is wrong. -Solution: Change "==" to "=". (Martti Kuparinen) -Files: src/auto/configure, src/configure.in - -Patch 7.0.138 (extra) -Problem: Mac: modifiers don't work with function keys. -Solution: Use GetEventParameter() to obtain modifiers. (Nicolas Weber) -Files: src/gui_mac.c - -Patch 7.0.139 -Problem: Using CTRL-PageUp or CTRL-PageDown in Insert mode to go to another - tab page does not prepare for undo properly. (Stefano Zacchiroli) -Solution: Call start_arrow() before switching tab page. -Files: src/edit.c - -Patch 7.0.140 (after 7.0.134) -Problem: Comparing recursively looped List or Dictionary doesn't work well. -Solution: Detect comparing a List or Dictionary with itself. -Files: src/eval.c - -Patch 7.0.141 -Problem: When pasting a while line on the command line an extra CR is added - literally. -Solution: Don't add the trailing CR when pasting with the mouse. -Files: src/ex_getln.c, src/proto/ops.pro, src/ops.c - -Patch 7.0.142 -Problem: Using the middle mouse button in Select mode to paste text results - in an extra "y". (Kriton Kyrimis) -Solution: Let the middle mouse button replace the selected text with the - contents of the clipboard. -Files: src/normal.c - -Patch 7.0.143 -Problem: Setting 'scroll' to its default value was not handled correctly. -Solution: Compare the right field to PV_SCROLL. -Files: src/option.c - -Patch 7.0.144 -Problem: May compare two unrelated pointers when matching a pattern against - a string. (Dominique Pelle) -Solution: Avoid calling reg_getline() when REG_MULTI is false. -Files: src/regexp.c - -Patch 7.0.145 (after 7.0.142) -Problem: Compiler warning. -Solution: Add type cast. -Files: src/normal.c - -Patch 7.0.146 -Problem: When 'switchbuf' is set to "usetab" and the current tab has only a - quickfix window, jumping to an error always opens a new window. - Also, when the buffer is open in another tab page it's not found. -Solution: Check for the "split" value of 'switchbuf' properly. Search in - other tab pages for the desired buffer. (Yegappan Lakshmanan) -Files: src/buffer.c, src/quickfix.c - -Patch 7.0.147 -Problem: When creating a session file and there are several tab pages and - some windows have a local directory a short file name may be used - when it's not valid. (Marius Roets) - A session with multiple tab pages may result in "No Name" buffers. - (Bill McCarthy) -Solution: Don't enter tab pages when going through the list, only use a - pointer to the first window in each tab page. - Use "tabedit" instead of "tabnew | edit" when possible. -Files: src/ex_docmd.c - -Patch 7.0.148 -Problem: When doing "call a.xyz()" and "xyz" does not exist in dictionary - "a" there is no error message. (Yegappan Lakshmanan) -Solution: Add the error message. -Files: src/eval.c - -Patch 7.0.149 -Problem: When resizing a window that shows "~" lines the text sometimes - jumps down. -Solution: Remove code that uses "~" lines in some situations. Fix the - computation of the screen line of the cursor. Also set w_skipcol - to handle very long lines. -Files: src/misc1.c, src/window.c - -Patch 7.0.150 -Problem: When resizing the Vim window scrollbinding doesn't work. (Yakov - Lerner) -Solution: Do scrollbinding in set_shellsize(). -Files: src/term.c - -Patch 7.0.151 -Problem: Buttons in file dialog are not according to Gnome guidelines. -Solution: Swap Cancel and Open buttons. (Stefano Zacchiroli) -Files: src/gui_gtk.c - -Patch 7.0.152 -Problem: Crash when using lesstif 2. -Solution: Fill in the extension field. (Ben Hutchings) -Files: src/gui_xmebw.c - -Patch 7.0.153 -Problem: When using cscope and opening the temp file fails Vim crashes. - (Kaya Bekiroglu) -Solution: Check for NULL pointer returned from mch_open(). -Files: src/if_cscope.c - -Patch 7.0.154 -Problem: When 'foldnextmax' is negative Vim can hang. (James Vega) -Solution: Avoid the fold level becoming negative. -Files: src/fold.c, src/syntax.c - -Patch 7.0.155 -Problem: When getchar() returns a mouse button click there is no way to get - the mouse coordinates. -Solution: Add v:mouse_win, v:mouse_lnum and v:mouse_col. -Files: runtime/doc/eval.txt, src/eval.c, src/vim.h - -Patch 7.0.156 (extra) -Problem: Vim doesn't compile for Amiga OS 4. -Solution: Various changes for Amiga OS4. (Peter Bengtsson) -Files: src/feature.h, src/mbyte.c, src/memfile.c, src/memline.c, - src/os_amiga.c, src/os_amiga.h, src/pty.c - -Patch 7.0.157 -Problem: When a function is used recursively the profiling information is - invalid. (Mikolaj Machowski) -Solution: Put the start time on the stack instead of in the function. -Files: src/eval.c - -Patch 7.0.158 -Problem: In a C file with ":set foldmethod=syntax", typing {<CR> on the - last line results in the cursor being in a closed fold. (Gautam - Iyer) -Solution: Open fold after inserting a new line. -Files: src/edit.c - -Patch 7.0.159 -Problem: When there is an I/O error in the swap file the cause of the error - cannot be seen. -Solution: Use PERROR() instead of EMSG() where possible. -Files: src/memfile.c - -Patch 7.0.160 -Problem: ":@a" echoes the command, Vi doesn't do that. -Solution: Set the silent flag in the typeahead buffer to avoid echoing the - command. -Files: src/ex_docmd.c, src/normal.c, src/ops.c, src/proto/ops.pro - -Patch 7.0.161 -Problem: Win32: Tab pages line popup menu isn't using the right encoding. - (Yongwei Wu) -Solution: Convert the text when necessary. Also fixes the Find/Replace - dialog title. (Yegappan Lakshmanan) -Files: src/gui_w48.c - -Patch 7.0.162 -Problem: "vim -o a b" when file "a" triggers the ATTENTION dialog, - selecting "Quit" exits Vim instead of editing "b" only. - When file "b" triggers the ATTENTION dialog selecting "Quit" or - "Abort" results in editing file "a" in that window. -Solution: When selecting "Abort" exit Vim. When selecting "Quit" close the - window. Also avoid hit-enter prompt when selecting Abort. -Files: src/buffer.c, src/main.c - -Patch 7.0.163 -Problem: Can't retrieve the position of a sign after it was set. -Solution: Add the netbeans interface getAnno command. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/netbeans.c - -Patch 7.0.164 -Problem: ":redir @+" doesn't work. -Solution: Accept "@+" just like "@*". (Yegappan Lakshmanan) -Files: src/ex_docmd.c - -Patch 7.0.165 -Problem: Using CTRL-L at the search prompt adds a "/" and other characters - without escaping, causing the pattern not to match. -Solution: Escape special characters with a backslash. -Files: src/ex_getln.c - -Patch 7.0.166 -Problem: Crash in cscope code when connection could not be opened. - (Kaya Bekiroglu) -Solution: Check for the file descriptor to be NULL. -Files: src/if_cscope.c - -Patch 7.0.167 -Problem: ":function" redefining a dict function doesn't work properly. - (Richard Emberson) -Solution: Allow a function name to be a number when it's a function - reference. -Files: src/eval.c - -Patch 7.0.168 -Problem: Using uninitialized memory and memory leak. (Dominique Pelle) -Solution: Use alloc_clear() instead of alloc() for w_lines. Free - b_ml.ml_stack after recovery. -Files: src/memline.c, src/window.c - -Patch 7.0.169 -Problem: With a Visual block selection, with the cursor in the left upper - corner, pressing "I" doesn't remove the highlighting. (Guopeng - Wen) -Solution: When checking if redrawing is needed also check if Visual - selection is still active. -Files: src/screen.c - -Patch 7.0.170 (extra) -Problem: Win32: Using "gvim --remote-tab foo" when gvim is minimized while - it previously was maximized, un-maximizing doesn't work properly. - And the labels are not displayed properly when 'encoding' is - utf-8. -Solution: When minimized check for SW_SHOWMINIMIZED. When updating the tab - pages line use TCM_SETITEMW instead of TCM_INSERTITEMW. (Liu - Yubao) -Files: src/gui_w48.c - -Patch 7.0.171 (extra) -Problem: VMS: A file name with multiple paths is written in the wrong file. -Solution: Get the actually used file name. (Zoltan Arpadffy) - Also add info to the :version command about compilation. -Files: src/Make_vms.mms, src/buffer.c, src/os_unix.c, src/version.c - -Patch 7.0.172 -Problem: Crash when recovering and quitting at the "press-enter" prompt. -Solution: Check for "msg_list" to be NULL. (Liu Yubao) -Files: src/ex_eval.c - -Patch 7.0.173 -Problem: ":call f().TT()" doesn't work. (Richard Emberson) -Solution: When a function returns a Dictionary or another composite continue - evaluating what follows. -Files: src/eval.c - -Patch 7.0.174 -Problem: ":mksession" doesn't restore window layout correctly in tab pages - other than the current one. (Zhibin He) -Solution: Use the correct topframe for producing the window layout commands. -Files: src/ex_docmd.c - -Patch 7.0.175 -Problem: The result of tr() is missing the terminating NUL. (Ingo Karkat) -Solution: Add the NUL. -Files: src/eval.c - -Patch 7.0.176 -Problem: ":emenu" isn't executed directly, causing the encryption key - prompt to fail. (Life Jazzer) -Solution: Fix wrong #ifdef. -Files: src/menu.c - -Patch 7.0.177 -Problem: When the press-enter prompt gets a character from a non-remappable - mapping, it's put back in the typeahead buffer as remappable, - which may cause an endless loop. -Solution: Restore the non-remappable flag and the silent flag when putting a - char back in the typeahead buffer. -Files: src/getchar.c, src/message.c, src/normal.c - -Patch 7.0.178 -Problem: When 'enc' is "utf-8" and 'ignorecase' is set the result of ":echo - ("\xe4" == "\xe4")" varies. -Solution: In mb_strnicmp() avoid looking past NUL bytes. -Files: src/mbyte.c - -Patch 7.0.179 -Problem: Using ":recover" or "vim -r" without a swapfile crashes Vim. -Solution: Check for "buf" to be unequal NULL. (Yukihiro Nakadaira) -Files: src/memline.c - -Patch 7.0.180 (extra, after 7.0.171) -Problem: VMS: build failed. Problem with swapfiles. -Solution: Add "compiled_arch". Always expand path and pass it to - buf_modname(). (Zoltan Arpadffy) -Files: src/globals.h, src/memline.c, src/os_unix.c, runtime/menu.vim - -Patch 7.0.181 -Problem: When reloading a file that starts with an empty line, the reloaded - buffer has an extra empty line at the end. (Motty Lentzitzky) -Solution: Delete all lines, don't use bufempty(). -Files: src/fileio.c - -Patch 7.0.182 -Problem: When using a mix of undo and "g-" it may no longer be possible to - go to every point in the undo tree. (Andy Wokula) -Solution: Correctly update pointers in the undo tree. -Files: src/undo.c - -Patch 7.0.183 -Problem: Crash in ":let" when redirecting to a variable that's being - displayed. (Thomas Link) -Solution: When redirecting to a variable only do the assignment when - stopping redirection to avoid that setting the variable causes a - freed string to be accessed. -Files: src/eval.c - -Patch 7.0.184 -Problem: When the cscope program is called "mlcscope" the Cscope interface - doesn't work. -Solution: Accept "\S*cscope:" instead of "cscope:". (Frodak D. Baksik) -Files: src/if_cscope.c - -Patch 7.0.185 -Problem: Multi-byte characters in a message are displayed with attributes - from what comes before it. -Solution: Don't use the attributes for a multi-byte character. Do use - attributes for special characters. (Yukihiro Nakadaira) -Files: src/message.c - -Patch 7.0.186 -Problem: Get an ml_get error when 'encoding' is "utf-8" and searching for - "/\_s*/e" in an empty buffer. (Andrew Maykov) -Solution: Don't try getting the line just below the last line. -Files: src/search.c - -Patch 7.0.187 -Problem: Can't source a remote script properly. -Solution: Add the SourceCmd event. (Charles Campbell) -Files: runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h - -Patch 7.0.188 (after 7.0.186) -Problem: Warning for wrong pointer type. -Solution: Add a type cast. -Files: src/search.c - -Patch 7.0.189 -Problem: Translated message about finding matches is truncated. (Yukihiro - Nakadaira) -Solution: Enlarge the buffer. Also use vim_snprintf(). -Files: src/edit.c - -Patch 7.0.190 -Problem: "syntax spell default" results in an error message. -Solution: Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado) -Files: src/syntax.c - -Patch 7.0.191 -Problem: The items used by getqflist() and setqflist() don't match. -Solution: Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan) -Files: runtime/doc/eval.txt, src/quickfix.c - -Patch 7.0.192 -Problem: When 'swapfile' is switched off in an empty file it is possible - that not all blocks are loaded into memory, causing ml_get errors - later. -Solution: Rename "dont_release" to "mf_dont_release" and also use it to - avoid using the cached line and locked block. -Files: src/globals.h, src/memfile.c, src/memline.c - -Patch 7.0.193 -Problem: Using --remote or --remote-tab with an argument that matches - 'wildignore' causes a crash. -Solution: Check the argument count before using ARGLIST[0]. -Files: src/ex_cmds.c - -Patch 7.0.194 -Problem: Once an ml_get error is given redrawing part of the screen may - cause it again, resulting in an endless loop. -Solution: Don't give the error message for a recursive call. -Files: src/memline.c - -Patch 7.0.195 -Problem: When a buffer is modified and 'autowriteall' is set, ":quit" - results in an endless loop when there is a conversion error while - writing. (Nikolai Weibull) -Solution: Make autowrite() return FAIL if the buffer is still changed after - writing it. - /* put the cursor on the last char, for 'tw' formatting */ -Files: src/ex_cmds2.c - -Patch 7.0.196 -Problem: When using ":vert ball" the computation of the mouse pointer - position may be off by one column. (Stefan Karlsson) -Solution: Recompute the frame width when moving the vertical separator from - one window to another. -Files: src/window.c - -Patch 7.0.197 (extra) -Problem: Win32: Compiling with EXITFREE doesn't work. -Solution: Adjust a few #ifdefs. (Alexei Alexandrof) -Files: src/misc2.c, src/os_mswin.c - -Patch 7.0.198 (extra) -Problem: Win32: Compiler warnings. No need to generate gvim.exe.mnf. -Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly) -Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c - -Patch 7.0.199 -Problem: When using multi-byte characters the combination of completion and - formatting may result in a wrong cursor position. -Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro - Nakadaira) Also check for the column to be zero. -Files: src/edit.c - -Patch 7.0.200 -Problem: Memory leaks when out of memory. -Solution: Free the memory. -Files: src/edit.c, src/diff.c - -Patch 7.0.201 -Problem: Message for ":diffput" about buffer not being in diff mode may be - wrong. -Solution: Check for buffer in diff mode but not modifiable. -Files: src/diff.c - -Patch 7.0.202 -Problem: Problems on Tandem systems while compiling and at runtime. -Solution: Recognize root uid is 65535. Check select() return value for it - not being supported. Avoid wrong function prototypes. Mention - use of -lfloss. (Matthew Woehlke) -Files: src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c, - src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c, - src/vim.h - -Patch 7.0.203 -Problem: 0x80 characters in a register are not handled correctly for the - "@" command. -Solution: Escape CSI and 0x80 characters. (Yukihiro Nakadaira) -Files: src/ops.c - -Patch 7.0.204 -Problem: Cscope: Parsing matches for listing isn't done properly. -Solution: Check for line number being found. (Yu Zhao) -Files: src/if_cscope.c - -Patch 7.0.205 (after 7.0.203) -Problem: Can't compile. -Solution: Always include the vim_strsave_escape_csi function. -Files: src/getchar.c - -Patch 7.0.206 (after 7.0.058) -Problem: Some characters of the "gb18030" encoding are not handled - properly. -Solution: Do not use "cp936" as an alias for "gb18030" encoding. Instead - initialize 'encoding' to "cp936". -Files: src/mbyte.c, src/option.c - -Patch 7.0.207 -Problem: After patch 2.0.203 CSI and K_SPECIAL characters are escaped when - recorded and then again when the register is executed. -Solution: Remove escaping before putting the recorded characters in a - register. (Yukihiro Nakadaira) -Files: src/getchar.c, src/ops.c, src/proto/getchar.pro - -Patch 7.0.208 (after 7.0.171 and 7.0.180) -Problem: VMS: changes to path handling cause more trouble than they solve. -Solution: Revert changes. -Files: src/buffer.c, src/memline.c, src/os_unix.c - -Patch 7.0.209 -Problem: When replacing a line through Python the cursor may end up beyond - the end of the line. -Solution: Check the cursor column after replacing the line. -Files: src/if_python.c - -Patch 7.0.210 -Problem: ":cbuffer" and ":lbuffer" always fail when the buffer is modified. - (Gary Johnson) -Solution: Support adding a !. (Yegappan Lakshmanan) -Files: runtime/doc/quickfix.txt, src/ex_cmds.h - -Patch 7.0.211 -Problem: With ":set cindent noai bs=0" using CTRL-U in Insert mode will - delete auto-indent. After ":set ai" it doesn't. -Solution: Also check 'cindent' being set. (Ryan Lortie) -Files: src/edit.c - -Patch 7.0.212 -Problem: The GUI can't be terminated with SIGTERM. (Mark Logan) -Solution: Use the signal protection in the GUI as in the console, allow - signals when waiting for 100 msec or longer. -Files: src/ui.c - -Patch 7.0.213 -Problem: When 'spellfile' has two regions that use the same sound folding - using "z=" will cause memory to be freed twice. (Mark Woodward) -Solution: Clear the hashtable properly so that the items are only freed once. -Files: src/spell.c - -Patch 7.0.214 -Problem: When using <f-args> in a user command it's not possible to have an - argument end in '\ '. -Solution: Change the handling of backslashes. (Yakov Lerner) -Files: runtime/doc/map.txt, src/ex_docmd.c - -Patch 7.0.215 (extra) -Problem: Mac: Scrollbar size isn't set. Context menu has disabled useless - Help entry. Call to MoreMasterPointers() is ignored. -Solution: Call SetControlViewSize() in gui_mch_set_scrollbar_thumb(). Use - kCMHelpItemRemoveHelp for ContextualMenuSelect(). Remove call to - MoreMasterPointers(). (Nicolas Weber) -Files: src/gui_mac.c - -Patch 7.0.216 -Problem: ":tab wincmd ]" does not open a tab page. (Tony Mechelynck) -Solution: Copy the cmdmod.tab value to postponed_split_tab and use it. -Files: src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c - -Patch 7.0.217 -Problem: This hangs when pressing "n": ":%s/\n/,\r/gc". (Ori Avtalion) -Solution: Set "skip_match" to advance to the next line. -Files: src/ex_cmds.c - -Patch 7.0.218 -Problem: "%B" in 'statusline' always shows zero in Insert mode. (DervishD) -Solution: Remove the exception for Insert mode, check the column for being - valid instead. -Files: src/buffer.c - -Patch 7.0.219 -Problem: When using the 'editexisting.vim' script and a file is being - edited in another tab page the window is split. The "+123" - argument is not used. -Solution: Make the tab page with the file the current tab page. Set - v:swapcommand when starting up to the first "+123" or "-c" command - line argument. -Files: runtime/macros/editexisting.vim, src/main.c - -Patch 7.0.220 -Problem: Crash when using winnr('#') in a new tab page. (Andy Wokula) -Solution: Check for not finding the window. -Files: src/eval.c - -Patch 7.0.221 -Problem: finddir() uses 'path' by default, where "." means relative to the - current file. But it works relative to the current directory. - (Tye Zdrojewski) -Solution: Add the current buffer name to find_file_in_path_option() for the - relative file name. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.0.222 -Problem: Perl indenting using 'cindent' works almost right. -Solution: Recognize '#' to start a comment. (Alex Manoussakis) Added '#' - flag in 'cinoptions'. -Files: runtime/doc/indent.txt, src/misc1.c - -Patch 7.0.223 -Problem: Unprintable characters in completion text mess up the popup menu. - (Gombault Damien) -Solution: Use strtrans() to make the text printable. -Files: src/charset.c, src/popupmnu.c - -Patch 7.0.224 -Problem: When expanding "##" spaces are escaped twice. (Pavol Juhas) -Solution: Don't escape the spaces that separate arguments. -Files: src/eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro - -Patch 7.0.225 -Problem: When using setline() in an InsertEnter autocommand and doing "A" - the cursor ends up on the last byte in the line. (Yukihiro - Nakadaira) -Solution: Only adjust the column when using setline() for the cursor line. - Move it back to the head byte if necessary. -Files: src/eval.c, src/misc2.c - -Patch 7.0.226 -Problem: Display flickering when updating signs through the netbeans - interface. (Xavier de Gaye) -Solution: Remove the redraw_later(CLEAR) call. -Files: src/netbeans.c - -Patch 7.0.227 -Problem: Crash when closing a window in the GUI. (Charles Campbell) -Solution: Don't call out_flush() from win_free(). -Files: src/window.c - -Patch 7.0.228 -Problem: Cygwin: problem with symlink to DOS style path. -Solution: Invoke cygwin_conv_to_posix_path(). (Luca Masini) -Files: src/os_unix.c - -Patch 7.0.229 -Problem: When 'pastetoggle' starts with Esc then pressing Esc in Insert - mode will not time out. (Jeffery Small) -Solution: Use KL_PART_KEY instead of KL_PART_MAP, so that 'ttimeout' applies - to the 'pastetoggle' key. -Files: src/getchar.c - -Patch 7.0.230 -Problem: After using ":lcd" a script doesn't know how to restore the - current directory. -Solution: Add the haslocaldir() function. (Bob Hiestand) -Files: runtime/doc/usr_41.txt, runtime/doc/eval.txt, src/eval.c - -Patch 7.0.231 -Problem: When recovering from a swap file the page size is likely to be - different from the minimum. The block used for the first page - then has a buffer of the wrong size, causing a crash when it's - reused later. (Zephaniah Hull) -Solution: Reallocate the buffer when the page size changes. Also check that - the page size is at least the minimum value. -Files: src/memline.c - -Patch 7.0.232 (extra) -Problem: Mac: doesn't support GUI tab page labels. -Solution: Add GUI tab page labels. (Nicolas Weber) -Files: src/feature.h, src/gui.c, src/gui.h, src/gui_mac.c, - src/proto/gui_mac.pro - -Patch 7.0.233 (extra) -Problem: Mac: code formatted badly. -Solution: Fix code formatting -Files: src/gui_mac.c - -Patch 7.0.234 -Problem: It's possible to use feedkeys() from a modeline. That is a - security issue, can be used for a trojan horse. -Solution: Disallow using feedkeys() in the sandbox. -Files: src/eval.c - -Patch 7.0.235 -Problem: It is possible to use writefile() in the sandbox. -Solution: Add a few more checks for the sandbox. -Files: src/eval.c - -Patch 7.0.236 -Problem: Linux 2.4 uses sysinfo() with a mem_unit field, which is not - backwards compatible. -Solution: Add an autoconf check for sysinfo.mem_unit. Let mch_total_mem() - return Kbyte to avoid overflow. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/option.c, src/os_unix.c - -Patch 7.0.237 -Problem: For root it is recommended to not use 'modeline', but in - not-compatible mode the default is on. -Solution: Let 'modeline' default to off for root. -Files: runtime/doc/options.txt, src/option.c - -Patch 7.0.238 -Problem: Crash when ":match" pattern runs into 'maxmempattern'. (Yakov - Lerner) -Solution: Don't free the regexp program of match_hl. -Files: src/screen.c - -Patch 7.0.239 -Problem: When using local directories and tab pages ":mksession" uses a - short file name when it shouldn't. Window-local options from a - modeline may be applied to the wrong window. (Teemu Likonen) -Solution: Add the did_lcd flag, use the full path when it's set. Don't use - window-local options from the modeline when using the current - window for another buffer in ":doautoall". -Files: src/fileio.c, src/ex_docmd.c - -Patch 7.0.240 -Problem: Crash when splitting a window in the GUI. (opposite of 7.0.227) -Solution: Don't call out_flush() from win_alloc(). Also avoid this for - win_delete(). Also block autocommands while the window structure - is invalid. -Files: src/window.c - -Patch 7.0.241 -Problem: ":windo throw 'foo'" loops forever. (Andy Wokula) -Solution: Detect that win_goto() doesn't work. -Files: src/ex_cmds2.c - -Patch 7.0.242 (extra) -Problem: Win32: Using "-register" in a Vim that does not support OLE causes - a crash. -Solution: Don't use EMSG() but mch_errmsg(). Check p_go for being NULL. - (partly by Michael Wookey) -Files: src/gui_w32.c - -Patch 7.0.243 (extra) -Problem: Win32: When GvimExt is built with MSVC 2005 or later, the "Edit - with vim" context menu doesn't appear in the Windows Explorer. -Solution: Embed the linker manifest file into the resources of GvimExt.dll. - (Mathias Michaelis) -Files: src/GvimExt/Makefile - - -Fixes after Vim 7.1a BETA: - -The extra archive had CVS directories included below "farsi" and -"runtime/icons". CVS was missing the farsi icon files. - -Fix compiling with Gnome 2.18, undefine bind_textdomain_codeset. (Daniel -Drake) - -Mac: "make install" didn't copy rgb.txt. - -When editing a compressed file while there are folds caused "ml_get" errors -and some lines could be missing. When decompressing failed option values were -not restored. - - -Patch 7.1a.001 -Problem: Crash when downloading a spell file. (Szabolcs Horvat) -Solution: Avoid that did_set_spelllang() is used recursively when a new - window is opened for the download. - Also avoid wiping out the wrong buffer. -Files: runtime/autoload/spellfile.vim, src/buffer.c, src/ex_cmds.c, - src/spell.c - -Patch 7.1a.002 (extra) -Problem: Compilation error with MingW. -Solution: Check for LPTOOLTIPTEXT to be defined. -Files: src/gui_w32.c - - -Fixes after Vim 7.1b BETA: - -Made the Mzscheme interface build both with old and new versions of Mzscheme, -using an #ifdef. (Sergey Khorev) -Mzscheme interface didn't link, missing function. Changed order of libraries -in the configure script. - -Ruby interface didn't compile on Mac. Changed #ifdef. (Kevin Ballard) - -Patch 7.1b.001 (extra) -Problem: Random text in a source file. No idea how it got there. -Solution: Delete the text. -Files: src/gui_w32.c - -Patch 7.1b.002 -Problem: When 'maxmem' is large there can be an overflow in computations. - (Thomas Wiegner) -Solution: Use the same mechanism as in mch_total_mem(): first reduce the - multiplier as much as possible. -Files: src/memfile.c - -============================================================================== -VERSION 7.2 *version-7.2* *version7.2* - -This section is about improvements made between version 7.1 and 7.2. - -This is mostly a bug-fix release. The main new feature is floating point -support. |Float| - - -Changed *changed-7.2* -------- - -Changed the command line buffer name from "command-line" to "[Command Line]". - -Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr", -":lgetexpr" and ":lgetfile". They are not needed. (Yegappan Lakshmanan) - -An offset for syntax matches worked on bytes instead of characters. That is -inconsistent and can easily be done wrong. Use character offsets now. -(Yukihiro Nakadaira) - -The FileChangedShellPost event was also given when a file didn't change. -(John Little) - -When the current line is long (doesn't fit) the popup menu can't be seen. -Display it below the screen line instead of below the text line. -(Francois Ingelrest) - -Switched to autoconf version 2.62. - -Moved including fcntl.h to vim.h and removed it from all .c files. - -Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings. -Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1). - -Removed the bulgarian.vim keymap file, two more standard ones replace it. -(Boyko Bantchev) - -Increased the maximum number of tag matches for command line completion from -200 to 300. - -Renamed help file sql.txt to ft_sql.txt and ada.txt to ft_ada.txt. - - -Added *added-7.2* ------ - -New syntax files: - CUDA (Timothy B. Terriberry) - Cdrdao config (Nikolai Weibull) - Coco/R (Ashish Shukla) - Denyhosts config (Nikolai Weibull) - Dtrace script (Nicolas Weber) - Git output, commit, config, rebase, send-email (Tim Pope) - HASTE and HastePreProc (M. Tranchero) - Haml (Tim Pope) - Host conf (Nikolai Weibull) - Linden script (Timo Frenay) - MS messages (Kevin Locke) - PDF (Tim Pope) - ProMeLa (Maurizio Tranchero) - Reva Foth (Ron Aaron) - Sass (Tim Pope) - Symbian meta-makefile, MMP (Ron Aaron) - VOS CM macro (Andrew McGill) - XBL (Doug Kearns) - -New tutor files: - Made UTF-8 versions of all the tutor files. - Greek renamed from ".gr" to ".el" (Greek vs Greece). - Esperanto (Dominique Pelle) - Croatian (Paul B. Mahol) - -New filetype plugins: - Cdrdao config (Nikolai Weibull) - Debian control files (Debian Vim maintainers) - Denyhosts (Nikolai Weibull) - Dos .ini file (Nikolai Weibull) - Dtrace script (Nicolas Weber) - FnameScript (Nikolai Weibull) - Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope) - Haml (Tim Pope) - Host conf (Nikolai Weibull) - Host access (Nikolai Weibull) - Logtalk (Paulo Moura) - MS messages (Kevin Locke) - NSIS script (Nikolai Weibull) - PDF (Tim Pope) - Reva Forth (Ron Aaron) - Sass (Tim Pope) - -New indent files: - DTD (Nikolai Weibull) - Dtrace script (Nicolas Weber) - Erlang (Csaba Hoch) - FrameScript (Nikolai Weibull) - Git config (Tim Pope) - Haml (Tim Pope) - Logtalk (Paulo Moura) - Sass (Tim Pope) - Tiny Fugue (Christian J. Robinson) - -New compiler plugins: - RSpec (Tim Pope) - -New keymap files: - Croatian (Paul B. Mahol) - Russian Dvorak (Serhiy Boiko) - Ukrainian Dvorak (Serhiy Boiko) - Removed plain Bulgarian, "bds" and phonetic are sufficient. - -Other new runtime files: - Esperanto menu and message translations. (Dominique Pelle) - Finnish menu and message translations. (Flammie Pirinen) - Brazilian Portuguese message translations. (Eduardo Dobay) - -Added floating point support. |Float| - -Added argument to mode() to return a bit more detail about the current mode. -(Ben Schmidt) - -Added support for BSD console mouse: |sysmouse|. (Paul B. Mahol) - -Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan -Lakshmanan) - -Improved error messages for the netbeans interface. (Philippe Fremy) - -Added support for using xterm mouse codes for screen. (Micah Cowan) - -Added support for cross compiling: -Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko) Fixed -mistakes in configure.in after that. -Don't use /usr/local/include and /usr/local/lib in configure. (Philip -Prindeville) -For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in -src/vim.rc. (Tsuneo Nakagawa) - -Added v:searchforward variable: What direction we're searching in. (Yakov -Lerner) - - -Fixed *fixed-7.2* ------ - -Patch 7.1.001 -Problem: Still can't build with Gnome libraries. -Solution: Fix typo in bind_textdomain_codeset. (Mike Kelly) -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 7.1.002 -Problem: Oracle Pro*C/C++ files are not detected. -Solution: Add the missing star. (Micah J. Cowan) -Files: runtime/filetype.vim - -Patch 7.1.003 (extra) -Problem: The "Tear off this menu" message appears in the message history - when using a menu. (Yongwei Wu) -Solution: Disable message history when displaying the menu tip. -Files: src/gui_w32.c - -Patch 7.1.004 -Problem: Crash when doing ":next directory". (Raphael Finkel) -Solution: Do not use "buf", it may be invalid after autocommands. -Files: src/ex_cmds.c - -Patch 7.1.005 -Problem: "cit" used on <foo></foo> deletes <foo>. Should not delete - anything and start insertion, like "ci'" does on "". (Michal - Bozon) -Solution: Handle an empty object specifically. Made it work consistent for - various text objects. -Files: src/search.c - -Patch 7.1.006 -Problem: Resetting 'modified' in a StdinReadPost autocommand doesn't work. -Solution: Set 'modified' before the autocommands instead of after it. -Files: src/buffer.c - -Patch 7.1.007 (extra) -Problem: Mac: Context menu doesn't work on Intel Macs. - Scrollbars are not dimmed when Vim is not the active application. -Solution: Remove the test whether context menus are supported. They are - always there in OS/X. Handle the dimming. (Nicolas Weber) -Files: src/gui_mac.c, src/gui.h - -Patch 7.1.008 -Problem: getfsize() returns a negative number for very big files. -Solution: Check for overflow and return -2. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.1.009 -Problem: In diff mode, displaying the difference between a tab and spaces - is not highlighted correctly. -Solution: Only change highlighting at the end of displaying a tab. -Files: src/screen.c - -Patch 7.1.010 -Problem: The Gnome session file doesn't restore tab pages. -Solution: Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio) -Files: src/gui_gtk_x11.c - -Patch 7.1.011 -Problem: Possible buffer overflow when $VIMRUNTIME is very long. (Victor - Stinner) -Solution: Use vim_snprintf(). -Files: src/main.c - -Patch 7.1.012 -Problem: ":let &shiftwidth = 'asdf'" doesn't produce an error message. -Solution: Check for a string argument. (Chris Lubinski) -Files: src/option.c - -Patch 7.1.013 -Problem: ":syn include" only loads the first file, while it is documented - as doing the equivalent of ":runtime!". -Solution: Change the argument to source_runtime(). (James Vega) -Files: src/syntax.c - -Patch 7.1.014 -Problem: Crash when doing C indenting. (Chris Monson) -Solution: Obtain the current line again after invoking cin_islabel(). -Files: src/edit.c - -Patch 7.1.015 -Problem: MzScheme interface: current-library-collection-paths produces no - list. Interface doesn't build on a Mac. -Solution: Use a list instead of a pair. (Bernhard Fisseni) Use "-framework" - argument for MZSCHEME_LIBS in configure. -Files: src/configure.in, src/if_mzsch.c, src/auto/configure - -Patch 7.1.016 (after patch 7.1.012) -Problem: Error message about setting 'diff' to a string. -Solution: Don't pass an empty string to set_option_value() when setting - 'diff'. -Files: src/quickfix.c, src/popupmnu.c - -Patch 7.1.017 -Problem: ":confirm w" does give a prompt when 'readonly' is set, but not - when the file permissions are read-only. (Michael Schaap) -Solution: Provide a dialog in both situations. (Chris Lubinski) -Files: src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro - -Patch 7.1.018 -Problem: When 'virtualedit' is set a "p" of a block just past the end of - the line inserts before the cursor. (Engelke) -Solution: Check for the cursor being just after the line (Chris Lubinski) -Files: src/ops.c - -Patch 7.1.019 -Problem: ":py" asks for an argument, ":py asd" then gives the error that - ":py" isn't implemented. Should already happen for ":py". -Solution: Compare with ex_script_ni. (Chris Lubinski) -Files: src/ex_docmd.c - -Patch 7.1.020 -Problem: Reading from uninitialized memory when using a dialog. (Dominique - Pelle) -Solution: In msg_show_console_dialog() append a NUL after every appended - character. -Files: src/message.c - -Patch 7.1.021 (after 7.1.015) -Problem: Mzscheme interface doesn't compile on Win32. -Solution: Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev) -Files: src/if_mzsch.c - -Patch 7.1.022 -Problem: When setting 'keymap' twice the b:keymap_name variable isn't set. - (Milan Berta) -Solution: Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft) -Files: src/digraph.c - -Patch 7.1.023 -Problem: "dw" in a line with one character deletes the line. Vi and nvi - don't do this. (Kjell Arne Rekaa) -Solution: Check for one-character words especially. -Files: src/search.c - -Patch 7.1.024 -Problem: Using a pointer that has become invalid. (Chris Monson) -Solution: Obtain the line pointer again after we looked at another line. -Files: src/search.c - -Patch 7.1.025 -Problem: search() and searchpos() don't use match under cursor at start of - line when using 'bc' flags. (Viktor Kojouharov) -Solution: Don't go to the previous line when the 'c' flag is present. - Also fix that "j" doesn't move the cursor to the right column. -Files: src/eval.c, src/search.c - -Patch 7.1.026 -Problem: "[p" doesn't work in Visual mode. (David Brown) -Solution: Use checkclearop() instead of checkclearopq(). -Files: src/normal.c - -Patch 7.1.027 -Problem: On Sun systems opening /dev/fd/N doesn't work, and they are used - by process substitutions. -Solution: Allow opening specific character special files for Sun systems. - (Gary Johnson) -Files: src/fileio.c, src/os_unix.h - -Patch 7.1.028 -Problem: Can't use last search pattern for ":sort". (Brian McKee) -Solution: When the pattern is empty use the last search pattern. (Martin - Toft) -Files: runtime/doc/change.txt, src/ex_cmds.c - -Patch 7.1.029 (after 7.1.019) -Problem: Can't compile when all interfaces are used. (Taylor Venable) -Solution: Only check for ex_script_ni when it's defined. -Files: src/ex_docmd.c - -Patch 7.1.030 -Problem: The "vimtutor" shell script checks for "vim6" but not for "vim7". - (Christian Robinson) -Solution: Check for more versions, but prefer using "vim". -Files: src/vimtutor - -Patch 7.1.031 -Problem: virtcol([123, '$']) doesn't work. (Michael Schaap) -Solution: When '$' is used for the column number get the last column. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.1.032 -Problem: Potential crash when editing a command line. (Chris Monson) -Solution: Check the position to avoid access before the start of an array. -Files: src/ex_getln.c - -Patch 7.1.033 -Problem: A buffer is marked modified when it was first deleted and then - added again using a ":next" command. (John Mullin) -Solution: When checking if a buffer is modified use the BF_NEVERLOADED flag. -Files: src/option.c - -Patch 7.1.034 -Problem: Win64: A few compiler warnings. Problems with optimizer. -Solution: Use int instead of size_t. Disable the optimizer in one function. - (George V. Reilly) -Files: src/eval.c, src/spell.c - -Patch 7.1.035 -Problem: After ":s/./&/#" all listed lines have a line number. (Yakov - Lerner) -Solution: Reset the line number flag when not using the "&" flag. -Files: src/ex_cmds.c - -Patch 7.1.036 -Problem: Completing ":echohl" argument should include "None". (Ori - Avtalion) ":match" should have "none" too. -Solution: Add flags to use expand_highlight(). Also fix that when disabling - FEAT_CMDL_COMPL compilation fails. (Chris Lubinski) -Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro - src/syntax.c - -Patch 7.1.037 -Problem: strcpy() used for overlapping strings. (Chris Monson) -Solution: Use mch_memmove() instead. -Files: src/option.c - -Patch 7.1.038 -Problem: When 'expandtab' is set then a Tab copied for 'copyindent' is - expanded to spaces, even when 'preserveindent' is set. (Alexei - Alexandrov) -Solution: Remove the check for 'expandtab'. Also fix that ">>" doesn't obey - 'preserveindent'. (Chris Lubinski) -Files: src/misc1.c - -Patch 7.1.039 -Problem: A tag in a help file that starts with "help-tags" and contains a - percent sign may make Vim crash. (Ulf Harnhammar) -Solution: Use puts() instead of fprintf(). -Files: src/ex_cmds.c - -Patch 7.1.040 -Problem: ":match" only supports three matches. -Solution: Add functions clearmatches(), getmatches(), matchadd(), - matchdelete() and setmatches(). Changed the data structures for - this. A small bug in syntax.c is fixed, so newly created - highlight groups can have their name resolved correctly from their - ID. (Martin Toft) -Files: runtime/doc/eval.txt, runtime/doc/pattern.txt, - runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c, - src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c, - src/testdir/Makefile, src/testdir/test63.in, - src/testdir/test63.ok, src/window.c - -Patch 7.1.041 (extra, after 7.1.040) -Problem: Some changes for patch 7.1.040 are in extra files. -Solution: Update the extra files. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.1.042 (after 7.1.040) -Problem: Internal error when using matchadd(). (David Larson) -Solution: Check the third argument to be present before using the fourth - argument. (Martin Toft) -Files: src/eval.c - -Patch 7.1.043 -Problem: In Ex mode using CTRL-D twice may cause a crash. Cursor isn't - positioned properly after CTRL-D. -Solution: Set prev_char properly. Position the cursor correctly. (Antony - Scriven) -Files: src/ex_getln.c - -Patch 7.1.044 -Problem: In Insert mode 0 CTRL-T deletes all indent, it should add indent. - (Gautam Iyer) -Solution: Check for CTRL-D typed. -Files: src/edit.c - -Patch 7.1.045 -Problem: Unnecessary screen redrawing. (Jjgod Jiang) -Solution: Reset "must_redraw" after clearing the screen. -Files: src/screen.c - -Patch 7.1.046 -Problem: ":s" command removes combining characters. (Ron Aaron) -Solution: Copy composing characters individually. (Chris Lubinski) -Files: src/regexp.c - -Patch 7.1.047 -Problem: vim_regcomp() called with invalid argument. (Xiaozhou Liu) -Solution: Change TRUE to RE_MAGIC + RE_STRING. -Files: src/ex_eval.c - -Patch 7.1.048 -Problem: The matchparen plugin doesn't update the match when scrolling with - the mouse wheel. (Ilya Bobir) -Solution: Set the match highlighting for text that can be scrolled into the - viewable area without moving the cursor. (Chris Lubinski) -Files: runtime/plugin/matchparen.vim - -Patch 7.1.049 -Problem: Cannot compile GTK2 version with Hangul input feature. -Solution: Don't define FEAT_XFONTSET when using GTK2. -Files: src/feature.h - -Patch 7.1.050 -Problem: Possible crash when using C++ indenting. (Chris Monson) -Solution: Keep the line pointer to the line to compare with. Avoid going - past the end of line. -Files: src/misc1.c - -Patch 7.1.051 -Problem: Accessing uninitialized memory when finding spell suggestions. -Solution: Don't try swapping characters at the end of a word. -Files: src/spell.c - -Patch 7.1.052 -Problem: When creating a new match not all fields are initialized, which - may lead to unpredictable results. -Solution: Initialise rmm_ic and rmm_maxcol. -Files: src/window.c - -Patch 7.1.053 -Problem: Accessing uninitialized memory when giving a message. -Solution: Check going the length before checking for a NUL byte. -Files: src/message.c - -Patch 7.1.054 -Problem: Accessing uninitialized memory when displaying the fold column. -Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in - a couple of other situations. -Files: src/screen.c - -Patch 7.1.055 -Problem: Using strcpy() with arguments that overlap. -Solution: Use mch_memmove() instead. -Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c, - src/misc1.c, src/regexp.c, src/termlib.c - -Patch 7.1.056 -Problem: More prompt does not behave correctly after scrolling back. - (Randall W. Morris) -Solution: Avoid lines_left becomes negative. (Chris Lubinski) Don't check - mp_last when deciding to show the more prompt. (Martin Toft) -Files: src/message.c - -Patch 7.1.057 -Problem: Problem with CursorHoldI when using "r" in Visual mode (Max - Dyckhoff) -Solution: Ignore CursorHold(I) when getting a second character for a Normal - mode command. Also abort the "r" command in Visual when a special - key is typed. -Files: src/normal.c - -Patch 7.1.058 -Problem: When 'rightleft' is set the completion menu is positioned wrong. - (Baha-Eddine MOKADEM) -Solution: Fix the completion menu. (Martin Toft) -Files: src/popupmnu.c, src/proto/search.pro, src/search.c - -Patch 7.1.059 -Problem: When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim - hangs and beeps. (Antony Scriven) -Solution: Clear "got_int" in the main loop to avoid the hang. When typing - CTRL-C twice in a row abort the ":g" command. This is Vi - compatible. -Files: src/main.c - -Patch 7.1.060 -Problem: Splitting quickfix window messes up window layout. (Marius - Gedminas) -Solution: Compute the window size in a smarter way. (Martin Toft) -Files: src/window.c - -Patch 7.1.061 -Problem: Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for - characters with umlaut. (Joachim Hofmann) -Solution: Do not use islower()/isupper()/tolower()/toupper() but our own - functions. (Chris Lubinski) -Files: src/mbyte.c, src/regexp.c, src/vim.h - -Patch 7.1.062 (after 7.1.038) -Problem: Indents of C comments can be wrong. (John Mullin) -Solution: Adjust ind_len. (Chris Lubinski) -Files: src/misc1.c - -Patch 7.1.063 (after 7.1.040) -Problem: Warning for uninitialized variable. -Solution: Initialise it to NULL. -Files: src/ex_docmd.c - -Patch 7.1.064 -Problem: On Interix some files appear not to exist. -Solution: Remove the top bit from st_mode. (Ligesh) -Files: src/os_unix.c - -Patch 7.1.065 (extra) -Problem: Win32: Compilation problem for newer version of w32api. -Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe) -Files: src/Make_ming.mak, src/iid_ole.c - -Patch 7.1.066 -Problem: When 'bomb' is set or reset the file should be considered - modified. (Tony Mechelynck) -Solution: Handle like 'endofline'. (Martin Toft) -Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h - -Patch 7.1.067 -Problem: 'thesaurus' doesn't work when 'infercase' is set. (Mohsin) -Solution: Don't copy the characters being completed but check the case and - apply it to the suggested word. Also fix that the first word in - the thesaurus line is not used. (Martin Toft) -Files: src/edit.c - -Patch 7.1.068 -Problem: When 'equalalways' is set and splitting a window, it's possible - that another small window gets bigger. -Solution: Only equalize window sizes when after a split the windows are - smaller than another window. (Martin Toft) -Files: runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c - -Patch 7.1.069 -Problem: GTK GUI: When using confirm() without a default button there still - is a default choice. -Solution: Ignore Enter and Space when there is no default button. (Chris - Lubinski) -Files: src/gui_gtk.c - -Patch 7.1.070 (extra) -Problem: Win32 GUI: When using confirm() without a default button there - still is a default choice. -Solution: Set focus on something else than a button. (Chris Lubinski) -Files: src/gui_w32.c - -Patch 7.1.071 (after 7.1.040) -Problem: Regexp patterns are not tested. -Solution: Add a basic test, to be expanded later. - Also add (commented-out) support for valgrind. -Files: src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.1.072 (extra, after 7.1.041 and 7.1.071) -Problem: Some changes for patch 7.1.071 are in extra files. -Solution: Update the extra files. Also fix a few warnings from the DOS test - makefile. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.1.073 (after 7.1.062) -Problem: Wrong cursor position and crash when 'preserveindent' is set. - (Charles Campbell) -Solution: Handle the situation that we start without indent. (Chris - Lubinski) -Files: src/misc1.c - -Patch 7.1.074 -Problem: Crash when calling string() on a recursively nested List. -Solution: Check result value for being NULL. (Yukihiro Nakadaira) -Files: src/eval.c - -Patch 7.1.075 -Problem: ":let v:statusmsg" reads memory already freed. -Solution: Don't set v:statusmsg when listing it. -Files: src/eval.c - -Patch 7.1.076 -Problem: Another strcpy() with overlapping arguments. -Solution: Use mch_memmove(). (Dominique Pelle) And another one. -Files: src/ex_docmd.c, src/normal.c - -Patch 7.1.077 -Problem: Using "can_spell" without initializing it. (Dominique Pelle) -Solution: Set a default for get_syntax_attr(). -Files: src/syntax.c - -Patch 7.1.078 -Problem: Dropping a file name on gvim that contains a CSI byte doesn't work - when editing the command line. -Solution: Escape the CSI byte when inserting in the input buffer. (Yukihiro - Nakadaira) -Files: src/gui.c, src/ui.c - -Patch 7.1.079 -Problem: When the locale is "C" and 'encoding' is "latin1" then the "@" - character in 'isfname', 'isprint', etc. doesn't pick up accented - characters. -Solution: Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER(). -Files: src/charset.c, src/macros.h - -Patch 7.1.080 (extra) -Problem: Compiler warnings for using "const char *" for "char *". -Solution: Add type casts. (Chris Sutcliffe) -Files: src/GvimExt/gvimext.cpp - -Patch 7.1.081 -Problem: Command line completion for a shell command: "cat </tmp/file<Tab>" - doesn't work. -Solution: Start the file name at any character that can't be in a file name. - (Martin Toft) -Files: src/ex_docmd.c - -Patch 7.1.082 -Problem: After a ":split" the matchparen highlighting isn't there. -Solution: Install a WinEnter autocommand. Also fixes that after - ":NoMatchParen" only the current window is updated. (Martin Toft) -Files: runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim - -Patch 7.1.083 (after 7.1.081) -Problem: Command line completion doesn't work with wildcards. -Solution: Add vim_isfilec_or_wc() and use it. (Martin Toft) -Files: src/charset.c, src/proto/charset.pro, src/ex_docmd.c - -Patch 7.1.084 -Problem: Using the "-nb" argument twice causes netbeans not to get - fileOpened events. -Solution: Change "&" to "&&". (Xavier de Gaye) -Files: src/ex_cmds.c - -Patch 7.1.085 -Problem: ":e fold.c" then ":sp fold.c" results in folds of original window - to disappear. (Akita Noek) -Solution: Invoke foldUpdateAll() for all windows of the changed buffer. - (Martin Toft) -Files: src/ex_cmds.c - -Patch 7.1.086 -Problem: Crash when using specific Python syntax highlighting. (Quirk) -Solution: Check for a negative index, coming from a keyword match at the - start of a line from a saved state. -Files: src/syntax.c - -Patch 7.1.087 -Problem: Reading past ":cscope find" command. Writing past end of a buffer. -Solution: Check length of the argument before using the pattern. Use - vim_strncpy(). (Dominique Pelle) -Files: if_cscope.c - -Patch 7.1.088 (extra) -Problem: The coordinates used by ":winpos" differ from what getwinposx() - and getwinposy() return. -Solution: Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry) -Files: src/gui_mac.c - -Patch 7.1.089 -Problem: ":let loaded_getscriptPlugin" doesn't clear to eol, result is - "#1in". -Solution: Clear to the end of the screen after displaying the first variable - value. -Files: src/eval.c - -Patch 7.1.090 -Problem: Compiler warning on Mac OS X 10.5. -Solution: Don't redeclare sigaltstack(). (Hisashi T Fujinaka) -Files: src/os_unix.c - -Patch 7.1.091 (extra) -Problem: Win32: Can't embed Vim inside another application. -Solution: Add the --windowid argument. (Nageshwar) -Files: runtime/doc/gui_w32.txt, runtime/doc/starting.txt, - runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c - -Patch 7.1.092 (extra, after 7.1.088) -Problem: Wrong arguments for MoveWindowStructure(). -Solution: Remove "TRUE". (Michael Henry) -Files: src/gui_mac.c - -Patch 7.1.093 -Problem: Reading past end of a screen line when determining cell width. - (Dominique Pelle) -Solution: Add an argument to mb_off2cells() for the maximum offset. -Files: src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro, - src/screen.c - -Patch 7.1.094 -Problem: When checking if syntax highlighting is present, looking in the - current buffer instead of the specified one. -Solution: Use "buf" instead of "curbuf". -Files: src/syntax.c - -Patch 7.1.095 -Problem: The FocusLost and FocusGained autocommands are triggered - asynchronously in the GUI. This may cause arbitrary problems. -Solution: Put the focus event in the input buffer and handle it when ready - for it. -Files: src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c, - src/keymap.h - -Patch 7.1.096 -Problem: Reading past end of a string when resizing Vim. (Dominique Pelle) -Solution: Check the string pointer before getting the char it points to. -Files: src/message.c - -Patch 7.1.097 -Problem: ":setlocal stl=%!1+1" does not work. -Solution: Adjust check for pointer. (Politz) -Files: src/option.c - -Patch 7.1.098 -Problem: ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula) -Solution: Before converting "s:" into a script ID, check if it is a Funcref. -Files: src/eval.c - -Patch 7.1.099 -Problem: When the 'keymap' and 'paste' options have a non-default value, - ":mkexrc" and ":mksession" do not correctly set the options. -Solution: Set the options with side effects before other options. -Files: src/option.c - -Patch 7.1.100 -Problem: Win32: Executing cscope doesn't always work properly. -Solution: Use another way to invoke cscope. (Mike Williams) -Files: src/if_cscope.c, src/if_cscope.h, src/main.c, - src/proto/if_cscope.pro - -Patch 7.1.101 -Problem: Ruby: The Buffer.line= method does not work. -Solution: Add the "self" argument to set_current_line(). (Jonathan Hankins) -Files: src/if_ruby.c - -Patch 7.1.102 -Problem: Perl interface doesn't compile with new version of Perl. -Solution: Add two variables to the dynamic library loading. (Suresh - Govindachar) -Files: src/if_perl.xs - -Patch 7.1.103 -Problem: Using "dw" with the cursor past the end of the last line (using - CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase) -Solution: Don't move the cursor back when the movement failed. -Files: src/normal.c - -Patch 7.1.104 (after 7.1.095) -Problem: When 'lazyredraw' is set a focus event causes redraw to be - postponed until a key is pressed. -Solution: Instead of not returning from vgetc() when a focus event is - encountered return K_IGNORE. Add plain_vgetc() for when the - caller doesn't want to get K_IGNORE. -Files: src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c, - src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c - -Patch 7.1.105 -Problem: Internal error when using "0 ? {'a': 1} : {}". (A.Politz) -Solution: When parsing a dictionary value without using the value, don't try - obtaining the key name. -Files: src/eval.c - -Patch 7.1.106 -Problem: ":messages" doesn't quit listing on ":". -Solution: Break the loop when "got_int" is set. -Files: src/message.c - -Patch 7.1.107 -Problem: When doing a block selection and using "s" to change the text, - while triggering auto-indenting, causes the wrong text to be - repeated in other lines. (Adri Verhoef) -Solution: Compute the change of indent and compensate for that. -Files: src/ops.c - -Patch 7.1.108 (after 7.1.100) -Problem: Win32: Compilation problems in Cscope code. (Jeff Lanzarotta) -Solution: Use (long) instead of (intptr_t) when it's not defined. -Files: src/if_cscope.c - -Patch 7.1.109 -Problem: GTK: when there are many tab pages, clicking on the arrow left of - the labels moves to the next tab page on the right. (Simeon Bird) -Solution: Check the X coordinate of the click and pass -1 as value for the - left arrow. -Files: src/gui_gtk_x11.c, src/term.c - -Patch 7.1.110 (after 7.1.102) -Problem: Win32: Still compilation problems with Perl. -Solution: Change the #ifdefs. (Suresh Govindachar) -Files: src/if_perl.xs - -Patch 7.1.111 -Problem: When using ":vimgrep" with the "j" flag folds from another buffer - may be displayed. (A.Politz) -Solution: When not jumping to another buffer update the folds. -Files: src/quickfix.c - -Patch 7.1.112 -Problem: Using input() with a wrong argument may crash Vim. (A.Politz) -Solution: Init the input() return value to NULL. -Files: src/eval.c - -Patch 7.1.113 -Problem: Using map() to go over an empty list causes memory to be freed - twice. (A.Politz) -Solution: Don't clear the typeval in restore_vimvar(). -Files: src/eval.c - -Patch 7.1.114 -Problem: Memory leak in getmatches(). -Solution: Don't increment the refcount twice. -Files: src/eval.c - -Patch 7.1.115 (after 7.1.105) -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Init variable to NULL. -Files: src/eval.c - -Patch 7.1.116 -Problem: Cannot display Unicode characters above 0x10000. -Solution: Remove the replacement with a question mark when UNICODE16 is not - defined. (partly by Nicolas Weber) -Files: src/screen.c - -Patch 7.1.117 -Problem: Can't check whether Vim was compiled with Gnome. (Tony Mechelynck) -Solution: Add gui_gnome to the has() list. -Files: src/eval.c - -Patch 7.1.118 (after 7.1.107) -Problem: Compiler warning for Visual C compiler. -Solution: Add typecast. (Mike Williams) -Files: src/ops.c - -Patch 7.1.119 -Problem: Crash when 'cmdheight' set to very large value. (A.Politz) -Solution: Limit 'cmdheight' to 'lines' minus one. Store right value of - 'cmdheight' when running out of room. -Files: src/option.c, src/window.c - -Patch 7.1.120 -Problem: Can't properly check memory leaks while running tests. -Solution: Add an argument to garbagecollect(). Delete functions and - variables in the test scripts. -Files: runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c, - src/testdir/Makefile, src/testdir/test14.in, - src/testdir/test26.in, src/testdir/test34.in, - src/testdir/test45.in, src/testdir/test47.in, - src/testdir/test49.in, src/testdir/test55.in, - src/testdir/test56.in, src/testdir/test58.in, - src/testdir/test59.in, src/testdir/test60.in, - src/testdir/test60.vim, src/testdir/test62.in, - src/testdir/test63.in, src/testdir/test64.in, - -Patch 7.1.121 -Problem: Using ":cd %:h" when editing a file in the current directory - results in an error message for using an empty string. -Solution: When "%:h" results in an empty string use ".". -Files: src/eval.c - -Patch 7.1.122 -Problem: Mac: building Vim.app fails. Using wrong architecture. -Solution: Use line continuation for the gui_bundle dependency. Detect the - system architecture with "uname -a". -Files: src/main.aap - -Patch 7.1.123 -Problem: Win32: ":edit foo ~ foo" expands "~". -Solution: Change the call to expand_env(). -Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c - -Patch 7.1.124 (extra) -Problem: Mac: When dropping a file on Vim.app that is already in the buffer - list (from .viminfo) results in editing an empty, unnamed buffer. - (Axel Kielhorn) Also: warning for unused variable. -Solution: Move to the buffer of the first argument. Delete unused variable. -Files: src/gui_mac.c - -Patch 7.1.125 -Problem: The TermResponse autocommand event is not always triggered. (Aron - Griffis) -Solution: When unblocking autocommands check if v:termresponse changed and - trigger the event then. -Files: src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c, - src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c - -Patch 7.1.126 (extra) -Problem: ":vimgrep */*" fails when a BufRead autocommand changes directory. - (Bernhard Kuhn) -Solution: Change back to the original directory after loading a file. - Also: use shorten_fname1() to avoid duplicating code. -Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c, - src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro, - src/quickfix.c - -Patch 7.1.127 -Problem: Memory leak when doing cmdline completion. (Dominique Pelle) -Solution: Free "orig" argument of ExpandOne() when it's not used. -Files: src/ex_getln.c - -Patch 7.1.128 (extra) -Problem: Build problems with new version of Cygwin. -Solution: Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen) -Files: src/Make_cyg.mak - -Patch 7.1.129 (extra) -Problem: Win32: Can't get the user name when it is longer than 15 - characters. -Solution: Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov) -Files: src/os_win32.c - -Patch 7.1.130 -Problem: Crash with specific order of undo and redo. (A.Politz) -Solution: Clear and adjust pointers properly. Add u_check() for debugging. -Files: src/undo.c, src/structs.h - -Patch 7.1.131 -Problem: ":mksession" always adds ":setlocal autoread". (Christian J. - Robinson) -Solution: Skip boolean global/local option using global value. -Files: src/option.c - -Patch 7.1.132 -Problem: getpos("'>") may return a negative column number for a Linewise - selection. (A.Politz) -Solution: Don't add one to MAXCOL. -Files: src/eval.c - -Patch 7.1.133 (after 7.1.126) -Problem: shorten_fname1() linked when it's not needed. -Solution: Add #ifdef. -Files: src/fileio.c - -Patch 7.1.134 (extra) -Problem: Win32: Can't build with VC8 -Solution: Detect the MSVC version instead of using NMAKE_VER. - (Mike Williams) -Files: src/Make_mvc.mak - -Patch 7.1.135 -Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two - buffers for the same file. (Suresh Govindachar) -Solution: Invoke FullName_save() when a path contains "//" or "\\". -Files: src/buffer.c - -Patch 7.1.136 -Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle) -Solution: Free the contained-in list. -Files: src/syntax.c - -Patch 7.1.137 -Problem: Build failure when using EXITFREE. (Dominique Pelle) -Solution: Add an #ifdef around using clip_exclude_prog. -Files: src/misc2.c - -Patch 7.1.138 -Problem: The Perl Msg() function doesn't stop when "q" is typed at the more - prompt. (Hari Krishna Dara) -Solution: Check got_int. -Files: src/if_perl.xs - -Patch 7.1.139 -Problem: When using marker folding and ending Insert mode with CTRL-C the - current fold is truncated. (Fred Kater) -Solution: Ignore got_int while updating folds. -Files: src/fold.c - -Patch 7.1.140 -Problem: v:count is set only after typing a non-digit, that makes it - difficult to make a nice mapping. -Solution: Set v:count while still typing the count. -Files: src/normal.c - -Patch 7.1.141 -Problem: GTK: -geom argument doesn't support a negative offset. -Solution: Compute position from the right/lower corner. -Files: src/gui_gtk_x11.c - -Patch 7.1.142 -Problem: ":redir @A>" doesn't work. -Solution: Ignore the extra ">" also when appending. (James Vega) -Files: src/ex_docmd.c - -Patch 7.1.143 -Problem: Uninitialized memory read when diffing three files. (Dominique - Pelle) -Solution: Remove "+ !notset" so that we don't use fields that were not - computed. -Files: src/diff.c - -Patch 7.1.144 -Problem: After ":diffup" cursor can be in the wrong position. -Solution: Force recomputing the cursor position. -Files: src/diff.c - -Patch 7.1.145 -Problem: Insert mode completion: When using the popup menu, after - completing a word and typing a non-word character Vim is still - completing the same word, following CTRL-N doesn't work. - Insert mode Completion: When using CTRL-X O and there is only - "struct." before the cursor, typing one char to reduce the - matches, then BS completion stops. -Solution: When typing a character that is not part of the item being - completed, stop complete mode. For whole line completion also - accept a space. For file name completion stop at a path - separator. - For omni completion stay in completion mode even if completing - with empty string. -Files: src/edit.c - -Patch 7.1.146 (extra) -Problem: VMS: Files with a very rare record organization (VFC) cannot be - properly written by Vim. - On older VAX systems mms runs into a syntax error. -Solution: Check for this special situation. Do not wrap a comment, make it - one long line. (Zoltan Arpadffy) -Files: src/fileio.c, src/Make_vms.mms - -Patch 7.1.147 (after 7.1.127) -Problem: Freeing memory already freed when completing user name. (Meino - Cramer) -Solution: Use a flag to remember if "orig" needs to be freed. -Files: src/ex_getln.c - -Patch 7.1.148 -Problem: Some types are not found by configure. -Solution: Test for the sys/types.h header file. (Sean Boudreau) -Files: src/configure.in, src/auto/configure - -Patch 7.1.149 -Problem: GTK GUI: When the completion popup menu is used scrolling another - window by the scrollbar is OK, but using the scroll wheel it - behaves line <Enter>. -Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu. -Files: src/edit.c, src/gui.c - -Patch 7.1.150 -Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't - work correctly. (Jianrong Yu) -Solution: When 'clipboard' has "unnamed" also obtain the selection when - getting the default register. -Files: src/ops.c - -Patch 7.1.151 -Problem: Using whole line completion with 'ignorecase' and 'infercase' set - and the line is empty get an lalloc(0) error. -Solution: Don't try changing case for an empty match. (Matthew Wozniski) -Files: src/edit.c - -Patch 7.1.152 -Problem: Display problem when 'hls' and 'cursorcolumn' are set and - searching for "$". (John Mullin) Also when scrolling - horizontally when 'wrap' is off. -Solution: Keep track of the column where highlighting was set. Check the - column offset when skipping characters. -Files: src/screen.c - -Patch 7.1.153 -Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles - Campbell) -Solution: Add type casts. Init st_dev and st_ino separately. Don't use - type casts for vim_snprintf() when HAVE_STDARG_H is defined. - Define XpmAllocColor when needed. -Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c, - src/gui_xmebw.c - -Patch 7.1.154 -Problem: Compiler warning for signed/unsigned compare. -Solution: Add type cast. -Files: src/screen.c - -Patch 7.1.155 -Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega) -Solution: When there is only one branch use u_freeheader() to delete it. -Files: src/undo.c - -Patch 7.1.156 -Problem: Overlapping arguments for strcpy() when expanding command line - variables. -Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos. - (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.1.157 -Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk) -Solution: Only give an error for an empty line, not for a comment. -Files: src/ex_docmd.c - -Patch 7.1.158 (extra) -Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the - result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding' - is "cp1250" (Lukas Cerman) -Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct - byte sequence. For cp1250, when conversion to 'encoding' results - in the 7th bit not set, set the 7th bit after conversion. -Files: src/os_win32.c, src/gui_w48.c - -Patch 7.1.159 -Problem: strcpy() has overlapping arguments. -Solution: Use mch_memmove() instead. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.1.160 -Problem: When a focus autocommand is defined, getting or losing focus - causes the hit-enter prompt to be redrawn. (Bjorn Winckler) -Solution: Overwrite the last line. -Files: src/message.c - -Patch 7.1.161 -Problem: Compilation errors with tiny features and EXITFREE. -Solution: Add #ifdefs. (Dominique Pelle) -Files: src/edit.c, src/misc2.c - -Patch 7.1.162 -Problem: Crash when using a modifier before "while" or "for". (A.Politz) -Solution: Skip modifiers when checking for a loop command. -Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c - -Patch 7.1.163 -Problem: Warning for the unknown option 'bufsecret'. -Solution: Remove the lines .vim that use this option. (Andy Wokula) -Files: runtime/menu.vim - -Patch 7.1.164 -Problem: Reading past end of regexp pattern. (Dominique Pelle) -Solution: Use utf_ptr2len(). -Files: src/regexp.c - -Patch 7.1.165 -Problem: Crash related to getting X window ID. (Dominique Pelle) -Solution: Don't trust the window ID that we got in the past, check it every - time. -Files: src/os_unix.c - -Patch 7.1.166 -Problem: Memory leak for using "gp" in Visual mode. -Solution: Free memory in put_register(). (Dominique Pelle) -Files: src/ops.c - -Patch 7.1.167 -Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789) -Solution: Allocate more memory. Fix check for maximum number of columns. -Files: src/xxd/xxd.c - -Patch 7.1.168 (extra) -Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have - focus, clicking in it doesn't position the cursor. (Juergen - Kraemer) -Solution: Don't reset s_button_pending just after receiving focus. -Files: src/gui_w48.c - -Patch 7.1.169 -Problem: Using uninitialized variable when system() fails. (Dominique - Pelle) -Solution: Let system() return an empty string when it fails. -Files: src/eval.c - -Patch 7.1.170 -Problem: Valgrind warning for overlapping arguments for strcpy(). -Solution: Use mch_memmove() instead. (Dominique Pelle) -Files: src/getchar.c - -Patch 7.1.171 -Problem: Reading one byte before allocated memory. -Solution: Check index not to become negative. (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.1.172 -Problem: When 'buftype' is "acwrite" Vim still checks if the file or - directory exists before overwriting. -Solution: Don't check for overwriting when the buffer name is not a file - name. -Files: src/ex_cmds.c - -Patch 7.1.173 -Problem: Accessing freed memory. (Dominique Pelle) -Solution: Don't call reg_getline() to check if a line is the first in the - file. -Files: src/regexp.c - -Patch 7.1.174 -Problem: Writing NUL past end of a buffer. -Solution: Copy one byte less when using strncat(). (Dominique Pelle) -Files: src/ex_cmds.c, src/ex_docmd.c, - -Patch 7.1.175 -Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and - 'backspace'. (Francois Ingelrest) -Solution: When adding white space results in not moving back delete one - character. -Files: src/edit.c - -Patch 7.1.176 -Problem: Building with Aap fails when the "compiledby" argument contains - '<' or '>' characters. (Alex Yeh) -Solution: Change how quoting is done in the Aap recipe. -Files: src/main.aap - -Patch 7.1.177 -Problem: Freeing memory twice when in debug mode while reading a script. -Solution: Ignore script input while in debug mode. -Files: src/ex_cmds2.c, src/getchar.c, src/globals.h - -Patch 7.1.178 -Problem: "%" doesn't work on "/* comment *//* comment */". -Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus - Heidelberg) -Files: src/search.c - -Patch 7.1.179 -Problem: Need to check for TCL 8.5. -Solution: Adjust configure script. (Alexey Froloff) -Files: src/configure.in, src/auto/configure - -Patch 7.1.180 -Problem: Regexp patterns not tested sufficiently. -Solution: Add more checks to the regexp test. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.1.181 -Problem: Accessing uninitialized memory in Farsi mode. (Dominique Pelle) -Solution: Only invoke lrF_sub() when there is something to do. -Files: src/ex_cmds.c - -Patch 7.1.182 -Problem: When using tab pages and an argument list the session file may - contain wrong "next" commands. (Alexander Bluem) -Solution: Use "argu" commands and only when needed. -Files: src/ex_docmd.c - -Patch 7.1.183 -Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu - Paul) -Solution: Inside "\%[]" detect \&, \| and \) as an error. -Files: src/regexp.c - -Patch 7.1.184 -Problem: Crash when deleting backwards over a line break in Insert mode. -Solution: Don't advance the cursor when it's already on the NUL after a - line. (Matthew Wozniski) -Files: src/normal.c - -Patch 7.1.185 -Problem: Using "gR" with a multi-byte encoding and typing a CR pushes - characters onto the replace stack incorrectly, resulting in BS - putting back the wrong characters. (Paul B. Mahol) -Solution: Push multi-byte characters onto the replace stack in reverse byte - order. Add replace_push_mb(). -Files: src/edit.c, src/misc1.c, src/proto/edit.pro - -Patch 7.1.186 -Problem: "expand('<afile>')" returns a bogus value after changing - directory. (Dave Fishburn) -Solution: Copy "autocmd_fname" to allocated memory and expand to full - filename. Shorten the path when expanding <afile>. -Files: src/ex_docmd.c, src/fileio.c - -Patch 7.1.187 -Problem: Win32 GUI: Custom completion using system() no longer works - after patch 7.1.104. (Erik Falor) -Solution: Loop when safe_vgetc() returns K_IGNORE. -Files: src/ex_getln.c - -Patch 7.1.188 -Problem: When 'showmode' is off the message for changing a readonly file is - given in the second column instead of the first. (Payl B. Mahol) -Solution: Put the W10 message in the first column. -Files: src/edit.c - -Patch 7.1.189 (after 7.1.104) -Problem: Patch 7.1.104 was incomplete. -Solution: Also call plain_vgetc() in ask_yesno(). -Files: src/misc1.c - -Patch 7.1.190 -Problem: Cursor after end-of-line: "iA sentence.<Esc>)" -Solution: Move cursor back and make motion inclusive. -Files: src/normal.c - -Patch 7.1.191 -Problem: Win32 GUI: after patch 7.1.168 there is still a problem when - clicking in a scrollbar. (Juergen Jottkaerr) -Solution: Don't check the input buffer when dragging the scrollbar. -Files: src/gui.c - -Patch 7.1.192 -Problem: With Visual block selection, "s" and typing something, CTRL-C - doesn't stop Vim from repeating the replacement in other lines, - like happens for "I". -Solution: Check for "got_int" to be set. -Files: src/ops.c - -Patch 7.1.193 -Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the - character pairs are not used. (Philippe de Muyter) -Solution: Add those Vim 5.x digraphs that don't conflict with others. -Files: src/digraph.c - -Patch 7.1.194 -Problem: ":echo glob('~/{}')" results in /home/user//. -Solution: Don't add a slash if there already is one. -Files: src/os_unix.c - -Patch 7.1.195 -Problem: '0 mark doesn't work for "~/foo ~ foo". -Solution: Don't expand the whole file name, only "~/". -Files: src/mark.c - -Patch 7.1.196 (extra) -Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik - Falor) -Solution: Use the TTM_SETMAXTIPWIDTH message. -Files: src/gui_w32.c - -Patch 7.1.197 -Problem: Mac: "make install" doesn't work when prefix defined. -Solution: Pass different arguments to "make installruntime". (Jjgod Jiang) -Files: src/Makefile - -Patch 7.1.198 -Problem: Hang when using ":s/\n//gn". (Burak Gorkemli) -Solution: Set "skip_match". -Files: src/ex_cmds.c - -Patch 7.1.199 -Problem: Can't do command line completion for a specific file name - extension. -Solution: When the pattern ends in "$" don't add a star for completion and - remove the "$" before matching with file names. -Files: runtime/doc/cmdline.txt, src/ex_getln.c - -Patch 7.1.200 (after 7.1.177 and 7.1.182) -Problem: Compiler warnings for uninitialized variables. -Solution: Init variables. -Files: src/ex_cmds2.c, src/ex_docmd.c - -Patch 7.1.201 -Problem: When reading stdin 'fenc' and 'ff' are not set. -Solution: Set the options after reading stdin. (Ben Schmidt) -Files: src/fileio.c - -Patch 7.1.202 -Problem: Incomplete utf-8 byte sequence is not checked for validity. -Solution: Check the bytes that are present for being valid. (Ben Schmidt) -Files: src/mbyte.c - -Patch 7.1.203 -Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|" - doesn't. (Andy Wokula) -Solution: Check for "onemore" flag in check_cursor_col(). -Files: src/misc2.c - -Patch 7.1.204 (extra) -Problem: Win32: Using the example at 'balloonexpr' the balloon disappears - after four seconds and then comes back again. Also moves the - mouse pointer a little bit. (Yongwei Wu) -Solution: Set the autopop time to 30 seconds (the max value). (Sergey - Khorev) Move the mouse two pixels forward and one back to end up - in the same position (really!). -Files: src/gui_w32.c - -Patch 7.1.205 -Problem: Can't get the operator in an ":omap". -Solution: Add the "v:operator" variable. (Ben Schmidt) -Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h - -Patch 7.1.206 -Problem: Compiler warnings when using MODIFIED_BY. -Solution: Add type casts. (Ben Schmidt) -Files: src/version.c - -Patch 7.1.207 -Problem: Netbeans: "remove" cannot delete one line. -Solution: Remove partial lines and whole lines properly. Avoid a memory - leak. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.1.208 -Problem: On Alpha get an unaligned access error. -Solution: Store the dictitem pointer before using it. (Matthew Luckie) -Files: src/eval.c - -Patch 7.1.209 -Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs. -Solution: Stop getting a selection after three seconds. This is a hack. -Files: src/gui_gtk_x11.c - -Patch 7.1.210 -Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony - Mechelynck) -Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte. -Files: src/mbyte.c - -Patch 7.1.211 -Problem: The matchparen plugin may take an unexpected amount of time, so - that it looks like Vim hangs. -Solution: Add a timeout to searchpair(), searchpairpos(), search() and - searchpos(). Use half a second timeout in the plugin. -Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c, - src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c, - src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro, - src/search.c - -Patch 7.1.212 -Problem: Accessing a byte before a line. -Solution: Check that the column is 1 or more. (Dominique Pelle) -Files: src/edit.c - -Patch 7.1.213 -Problem: A ":tabedit" command that results in the "swap file exists" dialog - and selecting "abort" doesn't close the new tab. (Al Budden) -Solution: Pass "old_curwin" to do_exedit(). -Files: src/ex_docmd.c - -Patch 7.1.214 -Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz) -Solution: Start replacing in the line where the match starts. -Files: src/ex_cmds.c - -Patch 7.1.215 -Problem: It is difficult to figure out what syntax items are nested at a - certain position. -Solution: Add the synstack() function. -Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro, - src/syntax.c - -Patch 7.1.216 -Problem: Variants of --remote-tab are not mentioned for "vim --help". -Solution: Display optional -wait and -silent. -Files: src/main.c - -Patch 7.1.217 -Problem: The "help-tags" tag may be missing from runtime/doc/tags when it - was generated during "make install". -Solution: Add the "++t" argument to ":helptags" to force adding the tag. -Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c, - src/ex_cmds.h - -Patch 7.1.218 -Problem: A syntax region without a "keepend", containing a region with - "extend" could be truncated at the end of the containing region. -Solution: Do not call syn_update_ends() when there are no keepend items. -Files: src/syntax.c - -Patch 7.1.219 (after 7.1.215) -Problem: synstack() returns situation after the current character, can't - see the state for a one-character region. -Solution: Don't update ending states in the requested column. -Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c, - src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c - -Patch 7.1.220 -Problem: When a ")" or word movement command moves the cursor back from the - end of the line it may end up on the trail byte of a multi-byte - character. It's also moved back when it isn't needed. -Solution: Add the adjust_cursor() function. -Files: src/normal.c - -Patch 7.1.221 -Problem: When inserting a "(", triggering the matchparen plugin, the - following highlighting may be messed up. -Solution: Before triggering the CursorMovedI autocommands update the display - to update the stored syntax stacks for the change. -Files: src/edit.c - -Patch 7.1.222 (after 7.1.217) -Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel - Svitalsky) -Solution: Expand wildcards in the directory name. -Files: src/ex_cmds.c - -Patch 7.1.223 -Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and - the expanded name contains spaces, '~', single quotes and other - special characters. (Adri Verhoef, Charles Campbell) -Solution: For Posix shells define a vimglob() function to list the matches - instead of using "echo" directly. -Files: src/os_unix.c - -Patch 7.1.224 -Problem: When using "vim -F -o file1 file2" only one window is - right-to-left. Same for "-H". (Ben Schmidt) -Solution: use set_option_value() to set 'rightleft'. -Files: src/main.c - -Patch 7.1.225 -Problem: Using uninitialized value when XGetWMNormalHints() fails. -Solution: Check the return value. (Dominique Pelle) -Files: src/os_unix.c - -Patch 7.1.226 -Problem: Command line completion doesn't work when a file name contains a - '&' character. -Solution: Accept all characters in a file name, except ones that end a - command or white space. -Files: src/ex_docmd.c - -Patch 7.1.227 -Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle) -Solution: Avoid storing a syntax state in the wrong position in the list of - remembered states. -Files: src/syntax.c - -Patch 7.1.228 -Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it - can't be closed with "zc". (Daniel Shahaf) -Solution: Reset the "small" flag of a fold when adding a line to it. -Files: src/fold.c - -Patch 7.1.229 -Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent" - and backspacing a non-white character so that the indent increases. -Solution: Keep the fold open after backspacing a character. -Files: src/edit.c - -Patch 7.1.230 -Problem: Memory leak when executing SourceCmd autocommands. -Solution: Free the memory. (Dominique Pelle) -Files: src/ex_cmds2.c - -Patch 7.1.231 -Problem: When shifting lines the change is acted upon multiple times. -Solution: Don't have shift_line() call changed_bytes. -Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro - -Patch 7.1.232 (after 7.1.207 and 7.1.211) -Problem: Compiler warnings with MSVC. -Solution: Add type casts. (Mike Williams) -Files: src/ex_cmds2.c, src/netbeans.c - -Patch 7.1.233 -Problem: Crash when doing Insert mode completion for a user defined - command. (Yegappan Lakshmanan) -Solution: Don't use the non-existing command line. -Files: src/ex_getln.c - -Patch 7.1.234 -Problem: When diff'ing three files the third one isn't displayed correctly. - (Gary Johnson) -Solution: Compute the size of diff blocks correctly when merging blocks. - Compute filler lines correctly when scrolling. -Files: src/diff.c - -Patch 7.1.235 -Problem: Pattern matching is slow when using a lot of simple patterns. -Solution: Avoid allocating memory by not freeing it when it's not so much. - (Alexei Alexandrov) -Files: src/regexp.c - -Patch 7.1.236 -Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may - make Vim hang until CTRL-C is pressed. -Solution: Add the 'redrawtime' option. -Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c, - src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c, - src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro, - src/proto/search.pro, src/search.c, src/screen.c, - src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c, - src/vim.h - -Patch 7.1.237 -Problem: Compiler warning on an Alpha processor in Motif code. -Solution: Change a typecast. (Adri Verhoef) -Files: src/gui_motif.c - -Patch 7.1.238 -Problem: Using the 'c' flag with searchpair() may cause it to fail. Using - the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz) -Solution: Only use the 'c' flag for the first search, not for repeating. - When using 'r' imply 'W'. (Antony Scriven) -Files: src/eval.c - -Patch 7.1.239 (after 7.1.233) -Problem: Compiler warning for sprintf() argument. -Solution: Add a typecast. (Nico Weber) -Files: src/ex_getln.c - -Patch 7.1.240 -Problem: When "gUe" turns a German sharp s into SS the operation stops - before the end of the word. Latin2 has the same sharp s but it's - not changed to SS there. -Solution: Make sure all the characters are operated upon. Detect the sharp - s in latin2. Also fixes that changing case of a multi-byte - character that changes the byte count doesn't always work. -Files: src/ops.c - -Patch 7.1.241 -Problem: Focus change events not always ignored. (Erik Falor) -Solution: Ignore K_IGNORE in Insert mode in a few more places. -Files: src/edit.c - -Patch 7.1.242 (after 7.1.005) -Problem: "cib" doesn't work properly on "(x)". (Tim Pope) -Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>". -Files: src/search.c - -Patch 7.1.243 (after 7.1.240) -Problem: "U" doesn't work on all text in Visual mode. (Adri Verhoef) -Solution: Loop over all the lines to be changed. Add tests for this. -Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok - -Patch 7.1.244 -Problem: GUI may have part of the command line cut off. -Solution: Don't round the number of lines up, always round down. - (Tony Houghton, Scott Dillard) -Files: src/gui.c - -Patch 7.1.245 -Problem: Pressing CTRL-\ three times causes Vim to quit. (Ranganath Rao). - Also for f CTRL-\ CTRL-\. -Solution: When going to cooked mode in mch_delay() set a flag to ignore - SIGQUIT. -Files: src/os_unix.c - -Patch 7.1.246 -Problem: Configure hangs when the man pager is something strange. (lorien) -Solution: Set MANPAGER and PAGER to "cat". (Micah Cowan) -Files: src/auto/configure, src/configure.in - -Patch 7.1.247 -Problem: When using Netbeans backspacing in Insert mode skips a character - now and then. (Ankit Jain) -Solution: Avoid calling netbeans_removed(), it frees the line pointer. - (partly by Dominique Pelle). -Files: src/misc1.c - -Patch 7.1.248 -Problem: Can't set the '" mark. Can't know if setpos() was successful. -Solution: Allow setting the '" mark with setpos(). Have setpos() return a - value indicating success/failure. -Files: runtime/doc/eval.txt, src/eval.c, src/mark.c - -Patch 7.1.249 -Problem: After "U" the cursor can be past end of line. (Adri Verhoef) -Solution: Adjust the cursor position in u_undoline(). -Files: src/undo.c - -Patch 7.1.250 -Problem: ":setglobal fenc=anything" gives an error message in a buffer - where 'modifiable' is off. (Ben Schmidt) -Solution: Don't give an error if 'modifiable' doesn't matter. -Files: src/option.c - -Patch 7.1.251 -Problem: Using freed memory when spell checking enabled. -Solution: Obtain the current line again after calling spell_move_to(). - (Dominique Pelle) -Files: src/screen.c - -Patch 7.1.252 (after 7.1.243) -Problem: Test 39 fails when the environment has a utf-8 locale. (Dominique - Pelle) -Solution: Force 'encoding' to be latin1. -Files: src/testdir/test39.in - -Patch 7.1.253 -Problem: ":sort" doesn't work in a one line file. (Patrick Texier) -Solution: Don't sort if there is only one line. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.1.254 -Problem: Tests 49 and 55 fail when the locale is French. -Solution: Using C messages for test 49. Filter the error message in test 55 - such that it works when the number is halfway the message. -Files: src/testdir/test49.in, src/testdir/test55.in - -Patch 7.1.255 -Problem: Vim doesn't support utf-32. (Yongwei Wu) -Solution: Add aliases for utf-32, it's the same as ucs-4. -Files: src/mbyte.c - -Patch 7.1.256 -Problem: findfile() also returns directories. -Solution: Cleanup the code for finding files and directories in a list of - directories. Remove the ugly global ff_search_ctx. -Files: src/eval.c, src/misc2.c, src/vim.h, src/tag.c - -Patch 7.1.257 -Problem: Configure can't always find the Tcl header files. -Solution: Also look in /usr/local/include/tcl$tclver and - /usr/include/tcl$tclver (James Vega) -Files: src/auto/configure, src/configure.in - -Patch 7.1.258 -Problem: Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula) -Solution: Avoid that the column becomes negative. Also fixes other problems - with the end of a pattern match is in column zero. (A.Politz) -Files: src/search.c - -Patch 7.1.259 -Problem: Cursor is in the wrong position when 'rightleft' is set, - 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle) -Solution: Only put the cursor in the first column when actually on a - double-wide character. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.1.260 -Problem: Cursor positioning problem after ^@ wrapping halfway when - 'encoding' is utf-8. -Solution: Only count a position for printable characters. (partly by - Yukihiro Nakadaira) -Files: src/charset.c - -Patch 7.1.261 -Problem: When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work - for UTF-16 text. (Tony Mechelynck) -Solution: Default to UTF-16. -Files: src/fileio.c, src/testdir/test42.ok - -Patch 7.1.262 -Problem: Can't get the process ID of Vim. -Solution: Implement getpid(). -Files: src/eval.c, runtime/doc/eval.txt - -Patch 7.1.263 -Problem: The filetype can consist of two dot separated names. This works - for syntax and ftplugin, but not for indent. (Brett Stahlman) -Solution: Use split() and loop over each dot separated name. -Files: runtime/indent.vim - -Patch 7.1.264 -Problem: Crash when indenting lines. (Dominique Pelle) -Solution: Set the cursor column when changing the cursor line. -Files: src/ops.c, src/misc1.c - -Patch 7.1.265 -Problem: When 'isfname' contains a space, cmdline completion can hang. - (James Vega) -Solution: Reset the "len" variable. -Files: src/ex_docmd.c - -Patch 7.1.266 -Problem: When the version string returned by the terminal contains - unexpected characters, it is used as typed input. (James Vega) -Solution: Assume the escape sequence ends in a letter. -Files: src/term.c - -Patch 7.1.267 -Problem: When changing folds cursor may be positioned in the wrong place. -Solution: Call changed_window_setting_win() instead of - changed_window_setting(). -Files: src/fold.c - -Patch 7.1.268 -Problem: Always shows "+" at end of screen line with: ":set - listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson) -Solution: Check for lcs_eol_one instead of lcs_eol. -Files: src/screen.c - -Patch 7.1.269 -Problem: The matchparen plugin has an arbitrary limit for the number of - lines to look for a match. -Solution: Rely on the searchpair() timeout. -Files: runtime/plugin/matchparen.vim - -Patch 7.1.270 -Problem: ":?foo?" matches in current line since patch 7.1.025. (A.Politz) -Solution: Remove the SEARCH_START flag. -Files: src/ex_docmd.c, src/search.c - -Patch 7.1.271 -Problem: In a Vim build without autocommands, checking a file that was - changed externally causes the current buffer to be changed - unexpectedly. (Karsten Hopp) -Solution: Store "curbuf" instead of "buf". -Files: src/fileio.c - -Patch 7.1.272 -Problem: The special buffer name [Location List] is not used for a buffer - displayed in another tab page. -Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki - Nishihara) -Files: src/buffer.c - -Patch 7.1.273 -Problem: When profiling on Linux Vim exits early. (Liu Yubao) -Solution: When profiling don't exit on SIGPROF. -Files: src/Makefile, src/os_unix.c - -Patch 7.1.274 (after 7.1.272) -Problem: Compiler warning for optimized build. -Solution: Init win to NULL. -Files: src/buffer.c - -Patch 7.1.275 (extra) -Problem: Mac: ATSUI and 'antialias' don't work properly together. -Solution: Fix this and the input method. (Jjgod Jiang) -Files: src/vim.h, src/gui_mac.c - -Patch 7.1.276 -Problem: "gw" uses 'formatexpr', even though the docs say it doesn't. -Solution: Don't use 'formatexpr' for "gw". -Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro - -Patch 7.1.277 -Problem: Default for 'paragraphs' misses some items (Colin Watson) -Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega) -Files: runtime/doc/options.txt, src/option.c - -Patch 7.1.278 (extra, after 7.1.275) -Problem: Build failure when USE_CARBONKEYHANDLER is not defined. -Solution: Remove #ifdef. -Files: src/gui_mac.c - -Patch 7.1.279 -Problem: When using cscope temporary files are left behind. -Solution: Send the quit command to cscope and give it two seconds to exit - nicely before killing it. (partly by Dominique Pelle) -Files: src/if_cscope.c - -Patch 7.1.280 (after 7.1.275) -Problem: Mac: build problems when not using multibyte feature. (Nicholas - Stallard) -Solution: Don't define USE_IM_CONTROL when not using multibyte. -Files: src/vim.h - -Patch 7.1.281 (after 7.1.279) -Problem: sa.sa_mask is not initialized. Cscope may not exit. -Solution: Use sigemptyset(). Use SIGKILL instead of SIGTERM. (Dominique - Pelle) -Files: src/if_cscope.c - -Patch 7.1.282 (extra) -Problem: Win64: Edit with Vim context menu isn't installed correctly. - Compiler warnings and a few other things. -Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT. - And a fixes for the other things. (George V. Reilly) -Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h, - src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak, - src/os_win32.c, - -Patch 7.1.283 -Problem: Non-extra part for 7.1.282. -Solution: Various changes. -Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c, - src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h, - src/window.c - -Patch 7.1.284 -Problem: Compiler warnings for functions without prototype. -Solution: Add the function prototypes. (Patrick Texier) -Files: src/eval.c, src/quickfix.c - -Patch 7.1.285 (extra) -Problem: Mac: dialog hotkeys don't work. -Solution: Add hotkey support. (Dan Sandler) -Files: src/gui_mac.c - -Patch 7.1.286 (after 7.1.103) -Problem: "w" at the end of the buffer moves the cursor past the end of the - line. (Markus Heidelberg) -Solution: Move the cursor back from the NUL when it was moved forward. -Files: src/normal.c - -Patch 7.1.287 -Problem: Crash when reversing a list after using it. (Andy Wokula) -Solution: Update the pointer to the last used element. (Dominique Pelle) -Files: src/eval.c - -Patch 7.1.288 (after 7.1.281) -Problem: Cscope still leaves behind temp files when using gvim. -Solution: When getting the ECHILD error loop for a while until cscope exits. - (Dominique Pelle) -Files: if_cscope.c - -Patch 7.1.289 -Problem: When EXITFREE is defined and 'acd' is set freed memory is used. - (Dominique Pelle) -Solution: Reset p_acd before freeing all buffers. -Files: src/misc2.c - -Patch 7.1.290 -Problem: Reading bytes that were not written when spell checking and a line - has a very large indent. -Solution: Don't copy the start of the next line when it only contains - spaces. (Dominique Pelle) -Files: src/spell.c - -Patch 7.1.291 (after 7.1.288) -Problem: Compiler warning. -Solution: Change 50 to 50L. -Files: src/if_cscope.c - -Patch 7.1.292 -Problem: When using a pattern with "\@<=" the submatches can be wrong. - (Brett Stahlman) -Solution: Save the submatches when attempting a look-behind match. -Files: src/regexp.c - -Patch 7.1.293 -Problem: Spell checking considers super- and subscript characters as word - characters. -Solution: Recognize the Unicode super and subscript characters. -Files: src/spell.c - -Patch 7.1.294 -Problem: Leaking memory when executing a shell command. -Solution: Free memory when not able to save for undo. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.1.295 -Problem: Vimtutor only works with vim, not gvim. -Solution: Add the -g flag to vimtutor. (Dominique Pelle) Add gvimtutor. -Files: src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1 - -Patch 7.1.296 -Problem: SELinux is not supported. -Solution: Detect the selinux library and use mch_copy_sec(). (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro - -Patch 7.1.297 -Problem: When using the search/replace dialog the parenmatch highlighting - can be wrong. (Tim Duncan) -Solution: In the GUI redraw function invoke the CursorMoved autocmd. -Files: src/gui.c - -Patch 7.1.298 (after 7.1.295) -Problem: src/gvimtutor is not distributed. -Solution: Add it to the list of distributed files. -Files: Filelist - -Patch 7.1.299 -Problem: Filetype detection doesn't work properly for file names ending in - a part that is ignored and contain a space or other special - characters. -Solution: Escape the special characters using the new fnameescape function. -Files: runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c, - src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h - -Patch 7.1.300 -Problem: Value of asmsyntax argument isn't checked for valid characters. -Solution: Only accepts letters and digits. -Files: runtime/filetype.vim - -Patch 7.1.301 -Problem: When the "File/Save" menu is used in Insert mode, a tab page label - is not updated to remove the "+". -Solution: Call draw_tabline() from showruler(). (Bjorn Winckler) -Files: src/screen.c - -Patch 7.1.302 (after 7.1.299) -Problem: Compilation error on MS-Windows. -Solution: Don't use xp_shell when it's not defined. -Files: src/ex_getln.c - -Patch 7.1.303 (after 7.1.302) -Problem: Compilation error on MS-Windows, again. -Solution: Declare p. -Files: src/ex_getln.c - -Patch 7.1.304 -Problem: Shortpath_for_invalid_fname() does not work correctly and is - unnecessary complex. -Solution: Clean up shortpath_for_invalid_fname(). (mostly by Yegappan - Lakshmanan) -Files: src/eval.c - -Patch 7.1.305 -Problem: Editing a compressed file with special characters in the name - doesn't work properly. -Solution: Escape special characters. -Files: runtime/autoload/gzip.vim - -Patch 7.1.306 -Problem: Some Unicode characters are handled like word characters while - they are symbols. -Solution: Adjust the table for Unicode classification. -Files: src/mbyte.c - -Patch 7.1.307 -Problem: Many warnings when compiling with Python 2.5. -Solution: Use ssize_t instead of int for some types. (James Vega) -Files: src/if_python.c - -Patch 7.1.308 -Problem: When in readonly mode ":options" produces an error. -Solution: Reset 'readonly'. (Gary Johnson) -Files: runtime/optwin.vim - -Patch 7.1.309 -Problem: Installing and testing with a shadow directory doesn't work. - (James Vega) -Solution: Add "po" to the list of directories to link. Also link the Vim - scripts in testdir. And a few more small fixes. -Files: src/Makefile - -Patch 7.1.310 -Problem: Incomplete utf-8 byte sequence at end of the file is not detected. - Accessing memory that wasn't written. -Solution: Check the last bytes in the buffer for being a valid utf-8 - character. (mostly by Ben Schmidt) - Also fix that the reported line number of the error was wrong. -Files: src/fileio.c - -Patch 7.1.311 -Problem: Compiler warning for missing sentinel in X code. -Solution: Change 0 to NULL. (Markus Heidelberg) -Files: src/mbyte.c - -Patch 7.1.312 -Problem: The .po files have mistakes in error numbers. -Solution: Search for these mistakes in the check script. (Dominique Pelle) -Files: src/po/check.vim - -Patch 7.1.313 -Problem: When the netbeans interface setModified call is used the status - lines and window title are not updated. -Solution: Redraw the status lines and title. (Philippe Fremy) -Files: src/netbeans.c - -Patch 7.1.314 -Problem: The value of 'pastetoggle' is written to the session file without - any escaping. (Randall Hansen) -Solution: Use put_escstr(). (Ben Schmidt) -Files: src/option.c - -Patch 7.1.315 -Problem: Crash with specific search pattern using look-behind match. - (Andreas Politz) -Solution: Also save the value of "need_clear_subexpr". -Files: src/regexp.c - -Patch 7.1.316 -Problem: When 'cscopetag' is set ":tag" gives an error message instead of - going to the next tag in the tag stack. -Solution: Don't call do_cstag() when there is no argument. (Mark Goldman) -Files: src/ex_docmd.c - -Patch 7.1.317 -Problem: Compiler warnings in Motif calls. -Solution: Change zero to NULL. (Dominique Pelle) -Files: src/gui_motif.c - -Patch 7.1.318 -Problem: Memory leak when closing xsmp connection. Crash on exit when - using Lesstif. -Solution: Don't close the X display to work around a Lesstif bug. Free - clientid. Also fix a leak for Motif and Athena. (Dominique Pelle) -Files: src/gui_x11.c, src/os_unix.c - -Patch 7.1.319 -Problem: When a register has an illegal utf-8 sequence, pasting it on the - command line causes an illegal memory access. -Solution: Use mb_cptr2char_adv(). (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.1.320 (extra) -Problem: Win64: Warnings while compiling Python interface. -Solution: Use PyInt in more places. Also update version message for the - console. (George Reilly) -Files: src/if_python.c, src/version.c - -Patch 7.1.321 (extra) -Problem: Win32 / Win64: Install file is outdated. -Solution: Update the text for recent compiler. (George Reilly) -Files: src/INSTALLpc.txt - -Patch 7.1.322 -Problem: Can't get start of Visual area in an <expr> mapping. -Solution: Add the 'v' argument to getpos(). -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.1.323 -Problem: Test 19 fails with some termcaps. (Dominique Pelle) -Solution: Set the t_kb and t_kD termcap values. -Files: src/testdir/test19.in, src/testdir/test38.in - -Patch 7.1.324 -Problem: File name path length on Unix is limited to 1024. -Solution: Use PATH_MAX when it's more than 1000. -Files: src/os_unix.h - -Patch 7.1.325 -Problem: When editing a command line that's longer than available space in - the window, the characters at the end are in reverse order. -Solution: Increment the insert position even when the command line doesn't - fit. (Ingo Karkat) -Files: src/ex_getln.c - -Patch 7.1.326 -Problem: ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the - "!" as a flag to the command. Same for ":snomagic". (Johan Spetz) -Solution: When checking for a forced command also ignore ":smagic" and - ":snomagic". (Ian Kelling) -Files: src/ex_docmd.c - -Patch 7.1.327 -Problem: The GUI tutor is installed when there is no GUI version. -Solution: Only install gvimtutor when building a GUI version. -Files: src/Makefile - -Patch 7.1.328 -Problem: Crash when using Cygwin and non-posix path name in tags file. -Solution: Use separate buffer for posix path. (Ben Schmidt) -Files: src/os_unix.c - -Patch 7.1.329 -Problem: When the popup menu is removed a column of cells, the right halve - of double-wide characters, may not be redrawn. -Solution: Check if the right halve of a character needs to be redrawn. - (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.1.330 -Problem: Reading uninitialized memory when using Del in replace mode. -Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle) -Files: src/misc1.c - - -Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle) - -A search offset from the end of a match didn't work properly for multi-byte -characters. (Yukihiro Nakadaira) - -When displaying the value of 'key' don't show "*****" when the value is empty. -(Ben Schmidt) - -Internal error when compiled with EXITFREE and using the nerd_tree plugin. -Set last_msg_hist to NULL when history becomes empty. Call -free_all_functions() after garbage collection. (Dominique Pelle) - -GTK with XIM: <S-Space> does not work. (Yukihiro Nakadaira) - -Some shells do not support "echo -n", which breaks glob(). Use "echo" instead -of "echo -n $1; echo". (Gary Johnson) - -"echo 22,44" printed "22" on top of the command, the error messages caused -the rest not to be cleared. Added the need_clr_eos flag. - -Netbeans events are handled while updating the screen, causing a crash. -Change the moment when events are handled. Rename nb_parse_messages() to -netbeans_parse_messages(). (Xavier de Gaye) - -Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf) -Use shellescape() on the file name. - -IM was turned off in im_preedit_end_cb() for no good reason. (Takuhiro -Nishioka) - -A corrupted spell file could cause Vim to use lots of memory. Better -detection for running into the end of the file. (idea from James Vega) - -Mac: Included a patch to make it build with GTK. Moved language init to -mac_lang_init() function. (Ben Schmidt) - -Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor) - -Fix configure.in to avoid "implicitly declared" warnings when running -configure. - -Fixed a memory leak when redefining a keymap. (Dominique Pelle) - -Setting 'pastetoggle' to "jj" didn't work. - -'ic' and 'smartcase' don't work properly when using \%V in a search pattern. -(Kana Natsuno) - -Patch 7.2a.001 -Problem: On some systems X11/Xlib.h exists (from X11-dev package) but - X11/Intrinsic.h does not (in Xt-dev package). This breaks the - build. Also, on Solaris 9 sys/ptem.h isn't found. -Solution: Have configure only accept X11 when X11/Intrinsic.h exists. - Check for sys/ptem.h while including sys/stream.h. (Vladimir - Marek) -Files: src/auto/configure, src/configure.in - -Patch 7.2a.002 -Problem: getbufvar(N, "") gets the dictionary of the current buffer instead - of buffer N. -Solution: Set curbuf before calling find_var_in_ht(). (Kana Natsuno) -Files: src/eval.c - -Patch 7.2a.003 -Problem: Leaking memory when using ":file name" and using access control - lists. -Solution: Invoke mch_free_acl() in vim_rename(). (Dominique Pelle) -Files: src/fileio.c - -Patch 7.2a.004 -Problem: Some systems can't get spell files by ftp. -Solution: Use http when it looks like it's possible. (James Vega) -Files: runtime/autoload/spellfile.vim - -Patch 7.2a.005 -Problem: A few error messages use confusing names. Misspelling. -Solution: Change "dissallows" to "disallows". (Dominique Pelle) Change - "number" to "Number". -Files: src/eval.c, src/fileio.c - -Patch 7.2a.006 -Problem: Reading past NUL in a string. -Solution: Check for invalid utf-8 byte sequence. (Dominique Pelle) -Files: src/charset.c - -Patch 7.2a.007 -Problem: ":let v = 1.2.3" was OK in Vim 7.1, now it gives an error. -Solution: Don't look for a floating point number after the "." operator. -Files: src/eval.c - -Patch 7.2a.008 -Problem: printf("%g", 1) doesn't work. -Solution: Convert Number to Float when needed. -Files: src/message.c - -Patch 7.2a.009 -Problem: cygwin_conv_to_posix_path() does not specify buffer size. -Solution: Use new Cygwin function: cygwin_conv_path(). (Corinna Vinschen) -Files: src/main.c, src/os_unix.c - -Patch 7.2a.010 -Problem: When a file name has an illegal byte sequence Vim may read - uninitialised memory. -Solution: Don't use UTF_COMPOSINGLIKE() on an illegal byte. In - msg_outtrans_len_attr() use char2cells() instead of ptr2cells(). - In utf_ptr2char() don't check second byte when first byte is - illegal. (Dominique Pelle) -Files: src/mbyte.c, src/message.c - -Patch 7.2a.011 -Problem: The Edit/Startup Settings menu doesn't work. -Solution: Expand environment variables. (Ben Schmidt) -Files: runtime/menu.vim - -Patch 7.2a.012 -Problem: Compiler warnings for casting int to pointer. -Solution: Add cast to long in between. (Martin Toft) -Files: src/gui_gtk_x11.c - -Patch 7.2a.013 -Problem: shellescape() does not escape "%" and "#" characters. -Solution: Add find_cmdline_var() and use it when the second argument to - shellescape() is non-zero. -Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, - src/proto/ex_docmd.pro, src/proto/misc2.pro, src/misc2.c - -Patch 7.2a.014 -Problem: Problem with % in message. -Solution: Put % in single quotes. -Files: src/eval.c - -Patch 7.2a.015 (after 7.2a.010) -Problem: Misaligned messages. -Solution: Compute length of unprintable chars correctly. -Files: src/message.c - -Patch 7.2a.016 -Problem: Using CTRL-W v in the quickfix window results in two quickfix - windows, which is not allowed. ":tab split" should be allowed to - open a new quickfix window in another tab. -Solution: For CTRL-W v instead of splitting the window open a new one. - When using ":tab" do allow splitting the quickfix window (was - already included in patch 7.2a.013). -Files: src/window.c - -Patch 7.2a.017 -Problem: ":doautoall" executes autocommands for all buffers instead of just - for loaded buffers. -Solution: Change "curbuf" to "buf". -Files: src/fileio.c - -Patch 7.2a.018 -Problem: Compiler warnings when compiling with Gnome. (Tony Mechelynck) -Solution: Add type casts. -Files: src/gui_gtk_x11.c - -Patch 7.2a.019 -Problem: ":let &g:tw = 44" sets the local option value. (Cyril Slobin) -Solution: Use get_varp_scope() instead of get_varp(). (Ian Kelling) -Files: src/option.c - -There is no way to avoid adding /usr/local/{include|lib} to the build -commands. Add the --with-local-dir argument to configure. (Michael -Haubenwallner) - -When using CTRL-D after ":help", the number of matches could be thousands. -Restrict to TAG_MANY to avoid this taking too long. (Ian Kelling) - -The popup menu could be placed at a weird location. Caused by w_wcol computed -by curs_columns(). (Dominique Pelle) - -Overlapping STRCPY() arguments when using %r item in 'errorformat'. Use -STRMOVE() instead. (Ralf Wildenhues) - -Mac: On Leopard gvim, when using the mouse wheel nothing would happen until -another event occurs, such as moving the mouse. Then the recorded scrolling -would take place all at once. (Eckehard Berns) - -Solution for cursor color not reflecting IM status for GTK 2. Add -preedit_is_active flag. (SungHyun Nam) - -filereadable() can hang on a FIFO on Linux. Use open() instead of fopen(), -with O_NONBLOCK. (suggested by Lars Kotthoff) - -Included patch to support Perl 5.10. (Yasuhiro Matsumoto) - -When files are dropped on gvim while the screen is being updated, ignore the -drop command to avoid freeing memory that is being used. - -In a terminal, when drawing the popup menu over double-wide characters, half -characters may not be cleared properly. (Yukihiro Nakadaira) - -The #ifdef for including "vimio.h" was inconsistent. In a few files it -depended on MSWIN, which isn't defined until later. - -Patch 7.2b.001 -Problem: Compilation problem: mb_fix_col() missing with multi-byte feature - but without GUI or clipboard. -Solution: Remove #ifdef. -Files: src/mbyte.c - -Patch 7.2b.002 -Problem: Compiler warnings for signed/unsigned mismatch. -Solution: Add type casts. -Files: src/screen.c - -Patch 7.2b.003 -Problem: Still a compilation problem, check_col() and check_row() missing. -Solution: Add FEAT_MBYTE to the #if. -Files: src/ui.c - -Patch 7.2b.004 -Problem: Trying to free memory for a static string when using ":helpgrep". - (George Reilly) -Solution: Set 'cpo' to empty_option instead of an empty string. Also for - searchpair() and substitute(). -Files: src/quickfix.c, src/eval.c - -Patch 7.2b.005 -Problem: The special character "!" isn't handled properly in shellescape(). - (Jan Minar) -Solution: Escape "!" when using a "csh" like shell and with - shellescape(s, 1). Twice for both. Also escape <NL>. -Files: src/misc2.c - -Patch 7.2b.006 -Problem: Reading past end of string when reading info from tags line. -Solution: Break the loop when encountering a NUL. (Dominique Pelle) -Files: src/tag.c - -Patch 7.2b.007 -Problem: Part of a message cannot be translated. -Solution: Put _() around the message. -Files: src/search.c - -Patch 7.2b.008 -Problem: A few filetypes are not detected or not detected properly. -Solution: Add filetype detection patterns. (Nikolai Weibull) -Files: runtime/filetype.vim - -Patch 7.2b.009 -Problem: Reading past end of screen line. (Epicurus) -Solution: Avoid going past the value of Columns. -Files: src/screen.c - -Patch 7.2b.010 -Problem: ":mksession" doesn't work for ":map , foo", ":sunmap ,". (Ethan - Mallove) -Solution: Check for "nxo", "nso" and other strange mapping combinations. -Files: src/getchar.c - -Patch 7.2b.011 -Problem: Configure for TCL ends up with include file in compiler command. - (Richard Hogg) -Solution: Delete items from $TCL_DEFS that do not start with a dash. -Files: src/auto/configure, src/configure.in - -Patch 7.2b.012 -Problem: Build failure with +multi_byte but without +diff. -Solution: Add #ifdef. (Patrick Texier) -Files: src/main.c - -Patch 7.2b.013 -Problem: Build fails with tiny features and Perl. (Dominique Pelle) -Solution: Define missing functions. Also when compiling Python. -Files: src/if_perl.xs, src/if_python.c - -Patch 7.2b.014 -Problem: Configure uses an unsafe temp file to store commands. -Solution: Create the temp file in local directory. -Files: src/auto/configure, src/configure.in - -Patch 7.2b.015 -Problem: Build fails on Mac when using Aap. -Solution: Fix typo in configure script. -Files: src/auto/configure, src/configure.in - -Patch 7.2b.016 -Problem: Build fails with normal features but without +autocmd. -Solution: Fix #ifdefs. (Ian Kelling) -Files: src/eval.c, src/ex_cmds.c, src/quickfix.c, src/option.c, - src/ex_docmd.c - -Patch 7.2b.017 -Problem: "vim -O foo foo" results in only one window. (Zdenek Sekera) -Solution: Handle result of ATTENTION prompt properly. (Ian Kelling) -Files: src/main.c - -Patch 7.2b.018 -Problem: When doing command line completion on a file name for a csh-like - shell argument a '!' character isn't escaped properly. -Solution: Add another backslash. -Files: src/ex_getln.c, src/misc2.c, src/proto/misc2.pro, src/screen.c - -Patch 7.2b.019 (extra) -Problem: Win32: Various compiler warnings. -Solution: Use __w64 attribute. Comment-out unused parameters. Adjust a few - #ifdefs. (George Reilly) -Files: src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak, - src/os_mswin.c, src/os_win32.c, src/vim.h - -Patch 7.2b.020 -Problem: ":sort n" doesn't handle negative numbers. (James Vega) -Solution: Include '-' in the number. -Files: src/charset.c, src/ex_cmds.c - -Patch 7.2b.021 -Problem: Reloading doesn't read the BOM correctly. (Steve Gardner) -Solution: Accept utf-8 BOM when specified file encoding is utf-8. -Files: src/fileio.c - -Patch 7.2b.022 -Problem: When using ":normal" while updating the status line the count of - an operator is lost. (Dominique Pelle) -Solution: Save and restore "opcount". -Files: src/ex_docmd.c, src/globals.h, src/normal.c - -Patch 7.2b.023 -Problem: Crash when using the result of synstack(0,0). (Matt Wozniski) -Solution: Check for v_list to be NULL in a few more places. -Files: src/eval.c - -Patch 7.2b.024 -Problem: Using ":gui" while the netrw plugin is active causes a delay in - updating the display. -Solution: Don't check for terminal codes when starting the GUI. -Files: src/term.c - -Patch 7.2b.025 -Problem: When the CursorHold event triggers a pending count is lost. - (Juergen Kraemer) -Solution: Save the counts and restore them. -Files: src/normal.c, src/structs.h - -Patch 7.2b.026 -Problem: The GTK 2 file chooser causes the ~/.recently-used.xbel file to be - written over and over again. This may cause a significant - slowdown. (Guido Berhoerster) -Solution: Don't use the GTK 2 file chooser. -Files: src/gui_gtk.c - -Patch 7.2b.027 -Problem: Memory leak for Python, Perl, etc. script command with end marker. -Solution: Free the memory of the end marker. (Andy Kittner) -Files: src/ex_getln.c - -Patch 7.2b.028 -Problem: Reading uninitialized memory when doing ":gui -f". (Dominique - Pelle) -Solution: Don't position the cursor when the screen size is invalid. -Files: src/gui.c - -Patch 7.2b.029 -Problem: ":help a" doesn't jump to "a" tag in docs. (Tony Mechelynck) -Solution: Get all tags and throw away more than TAG_MANY after sorting. - When there is no argument find matches for "help" to avoid a long - delay. -Files: src/ex_cmds.c, src/ex_getln.c - -Patch 7.2b.030 -Problem: When changing the value of t_Co from 8 to 16 the Visual - highlighting keeps both reverse and a background color. -Solution: Remove the attribute when setting the default highlight color. - (Markus Heidelberg) -Files: src/syntax.c - -Error when cancelling completion menu and auto-formatting. (fixed by Ian -Kelling) - -Patch 7.2c.001 -Problem: ":let x=[''] | let x += x" causes hang. (Matt Wozniski) -Solution: Only insert elements up to the original length of the List. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2c.002 -Problem: fnameescape() doesn't handle a leading '+' or '>'. (Jan Minar) -Solution: Escape a leading '+' and '>'. And a single '-'. -Files: runtime/doc/eval.txt, src/ex_getln.c - -Patch 7.2c.003 -Problem: Searching for "foo\%[bar]\+" gives a "Corrupted regexp program" - error. (Joachim Hofmann) -Solution: Mark the \%[] item as not being simple. -Files: src/regexp.c - -On Vista access to system directories is virtualized. (Michael Mutschler) -Adjusted the manifest file to avoid this. (George Reilly) - -Memory leak when using CTRL-C to cancel listing the jump list. (Dominique -Pelle) - -Mac: Could not build with Perl interface. - -============================================================================== -VERSION 7.3 *version-7.3* *version7.3* - -This section is about improvements made between version 7.2 and 7.3. - -This release has hundreds of bug fixes and there are a few new features. The -most notable new features are: - - -Persistent undo *new-persistent-undo* ---------------- - -Store undo information in a file. Can undo to before when the file was read, -also for unloaded buffers. See |undo-persistence| (partly by Jordan Lewis) - -Added the ":earlier 1f" and ":later 1f" commands. -Added file save counter to undo information. -Added the |undotree()| and |undofile()| functions. - -Also added the 'undoreload' option. This makes it possible to save the -current text when reloading the buffer, so that the reload can be undone. - - -More encryption *new-more-encryption* ---------------- - -Support for Blowfish encryption. Added the 'cryptmethod' option. -Mostly by Mohsin Ahmed. - -Also encrypt the text in the swap file and the undo file. - - -Conceal text *new-conceal* ------------- - -Added the |+conceal| feature. (Vince Negri) -This allows hiding stretches of text, based on syntax highlighting. -It also allows replacing a stretch of text by a character |:syn-cchar|. -The 'conceallevel' option specifies what happens with text matching a syntax -item that has the conceal attribute. -The 'concealcursor' option specifies what happens in the cursor line. - -The help files conceal characters used to mark tags and examples. - -Added the |synconcealed()| function and use it for :TOhtml. (Benjamin Fritz) - -Added the 'cursorbind' option, keeps the cursor in two windows with the same -text in sync. - - -Lua interface *new-lua* -------------- - -Added the |Lua| interface. (Luis Carvalho) - - -Python3 interface *new-python3* ------------------ - -Added the Python3 interface. It exists next to Python 2.x, both can be used -at the same time. See |python3| (Roland Puntaier) - - -Changed *changed-7.3* -------- - -The MS-Windows installer no longer requires the user to type anything in the -console windows. The installer now also works on 64 bit systems, including -the "Edit with Vim" context menu. -The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64 -bit version. (mostly by George Reilly) -Made the DOS installer work with more compilers. -The MS-Windows big gvim is now built with Python 2.7 and 3.1.2, Perl 5.12 and -Ruby 1.9.1. You need the matching .dll files to use them. - -The extra and language files are no longer distributed separately. -The source files for all systems are included in one distribution. - -After using ":recover" or recovering a file in another way, ":x" and "ZZ" -didn't save what you see. This could result in work being lost. Now the text -after recovery is compared to the original file contents. When they differ -the buffer is marked as modified. - -When Vim is exiting because of a deadly signal, when v:dying is 2 or more, -VimLeavePre, VimLeave, BufWinLeave and BufUnload autocommands are not -executed. - -Removed support for GTK 1. It was no longer maintained and required a lot of -#ifdefs in the source code. GTK 2 should be available for every system. -(James Vega) - -It is no longer allowed to set the 'encoding' option from a modeline. It -would corrupt the text. (Patrick Texier) - -Renamed runtime/spell/fixdup to runtime/spell/fixdup.vim. - -Removed obsolete Mac code. - -Updated spell files for Ubuntu locale names. - -Switched from autoconf 2.63 to 2.65. - -Removed Mupad indent and ftplugin files, they are not useful. - -The maximum number of messages remembered in the history is now 200 (was 100). - - -Added *added-7.3* ------ - -Added the 'relativenumber' option. (Markus Heidelberg) - -Added the 'colorcolumn' option: highlight one or more columns in a window. -E.g. to highlight the column after 'textwidth'. (partly by Gregor Uhlenheuer) - -Added support for NetBeans in a terminal. Added |:nbstart| and |:nbclose|. -(Xavier de Gaye) - -More floating point functions: |acos()|, |asin()|, |atan2()|, |cosh()|, -|exp()|, |fmod()|, |log()|, |sinh()|, |tan()|, |tanh()|. (Bill McCarthy) - -Added the |gettabvar()| and |settabvar()| functions. (Yegappan Lakshmanan) - -Added the |strchars()|, |strwidth()| and |strdisplaywidth()| functions. - -Support GDK_SUPER_MASK for GTK on Mac. (Stephan Schulz) - -Made CTRL and ALT modifier work for mouse wheel. (Benjamin Haskell) - -Added support for horizontal scroll wheel. (Bjorn Winckler) - -When the buffer is in diff mode, have :TOhtml create HTML to show the diff -side-by-side. (Christian Brabandt) - -Various improvements to ":TOhtml" and the 2html.vim script. (Benjamin Fritz) - -Add the 'L' item to 'cinoptions'. (Manuel Konig) - -Improve Javascript indenting. Add "J" flag to 'cinoptions'. (Hari Kumar G) - -Mac: Support disabling antialias. (LC Mi) - -Mac: Add clipboard support in the Mac console. (Bjorn Winckler) - -Make it possible to drag a tab page label to another position. (Paul B. Mahol) - -Better implementation of creating the Color Scheme menu. (Juergen Kraemer) - -In Visual mode with 'showcmd' display the number of bytes and characters. - -Allow synIDattr() getting GUI attributes when built without GUI. (Matt -Wozniski) - -Support completion for ":find". Added test 73. (Nazri Ramliy) - -Command line completion for :ownsyntax and :setfiletype. (Dominique Pelle) - -Command line completion for :lmap and :lunmap. - -Support syntax and filetype completion for user commands. (Christian Brabandt) - -Avoid use of the GTK main_loop() so that the GtkFileChooser can be used. -(James Vega) - -When 'formatexpr' evaluates to non-zero fall back to internal formatting, also -for "gq". (James Vega) - -Support :browse for commands that use an error file argument. (Lech Lorens) - -Support wide file names in gvimext. (Szabolcs Horvat) - -Improve test for joining lines. (Milan Vancura) -Make joining a range of lines much faster. (Milan Vancura) - -Add patch to improve support of z/OS (OS/390). (Ralf Schandl) - -Added the helphelp.txt file. Moved text from various.txt to it. - -Added "q" item for 'statusline'. Added |w:quickfix_title|. (Lech Lorens) - -Various improvements for VMS. (Zoltan Arpadffy) - - -New syntax files: ~ -Haskell Cabal build file (Vincent Berthoux) -ChaiScript (Jason Turner) -Cucumber (Tim Pope) -Datascript (Dominique Pelle) -Fantom (Kamil Toman) -Liquid (Tim Pope) -Markdown (Tim Pope) -wavefront's obj file (Vincent Berthoux) -Perl 6 (Andy Lester) -SDC - Synopsys Design Constraints (Maurizio Tranchero) -SVG - Scalable Vector Graphics (Vincent Berthoux) -task data (John Florian) -task 42 edit (John Florian) - -New filetype plugins: ~ -Cucumber (Tim Pope) -Liquid (Tim Pope) -Logcheck (Debian) -Markdown (Tim Pope) -Perl 6 (Andy Lester) -Quickfix window (Lech Lorens) -Tcl (Robert L Hicks) - -New indent plugins: ~ -CUDA (Bram Moolenaar) -ChaiScript (Jason Turner) -Cucumber (Tim Pope) -LifeLines (Patrick Texier) -Liquid (Tim Pope) -Mail (Bram Moolenaar) -Perl 6 (Andy Lester) - -Other new runtime files: ~ -Breton spell file (Dominique Pelle) -Dvorak keymap (Ashish Shukla) -Korean translations. (SungHyun Nam) -Python 3 completion (Aaron Griffin) -Serbian menu translations (Aleksandar Jelenak) -Tetum spell files -Tutor Bairish (Sepp Hell) -Tutor in Esperanto. (Dominique Pellé) -Tutor in Portuguese. -Norwegian Tutor now also available as tutor.nb - -Removed the Mupad runtime files, they were not maintained. - - -Fixed *fixed-7.3* ------ - -Patch 7.2.001 -Problem: Mac: pseudo-ttys don't work properly on Leopard, resulting in the - shell not to have a prompt, CTRL-C not working, etc. -Solution: Don't use SVR4 compatible ptys, even though they are detected. - (Ben Schmidt) -Files: src/pty.c - -Patch 7.2.002 -Problem: Leaking memory when displaying menus. -Solution: Free allocated memory. (Dominique Pelle) -Files: src/menu.c - -Patch 7.2.003 -Problem: Typo in translated message. Message not translated. -Solution: Correct spelling. Add _(). (Dominique Pelle) -Files: src/spell.c, src/version.c - -Patch 7.2.004 -Problem: Cscope help message is not translated. -Solution: Put it in _(). (Dominique Pelle) -Files: src/if_cscope.c, src/if_cscope.h - -Patch 7.2.005 -Problem: A few problems when profiling. Using flag pointer instead of flag - value. Allocating zero bytes. Not freeing used memory. -Solution: Remove wrong '&' characters. Skip dumping when there is nothing - to dump. Free used memory. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.006 -Problem: HTML files are not recognized by contents. -Solution: Add a rule to the scripts file. (Nico Weber) -Files: runtime/scripts.vim - -Patch 7.2.007 (extra) -Problem: Minor issues for VMS. -Solution: Minor fixes for VMS. Add float support. (Zoltan Arpadffy) -Files: runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms, - src/testdir/Make_vms.mms, src/testdir/test30.in, - src/testdir/test54.in - -Patch 7.2.008 -Problem: With a BufHidden autocommand that invokes ":bunload" the window - count for a buffer can be wrong. (Bob Hiestand) -Solution: Don't call enter_buffer() when already in that buffer. -Files: src/buffer.c - -Patch 7.2.009 -Problem: Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani) -Solution: Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp) -Files: src/if_perl.xs - -Patch 7.2.010 -Problem: When using "K" in Visual mode not all characters are properly - escaped. (Ben Schmidt) -Solution: Use a function with the functionality of shellescape(). (Jan - Minar) -Files: src/mbyte.c, src/misc2.c, src/normal.c - -Patch 7.2.011 -Problem: Get an error when inserting a float value from the expression - register. -Solution: Convert the Float to a String automatically in the same place - where a List would be converted to a String. -Files: src/eval.c - -Patch 7.2.012 -Problem: Compiler warnings when building with startup timing. -Solution: Add type casts. -Files: src/ex_cmds2.c - -Patch 7.2.013 -Problem: While waiting for the X selection Vim consumes a lot of CPU time - and hangs until a response is received. -Solution: Sleep a bit when the selection event hasn't been received yet. - Time out after a couple of seconds to avoid a hang when the - selection owner isn't responding. -Files: src/ui.c - -Patch 7.2.014 -Problem: synstack() doesn't work in an empty line. -Solution: Accept column zero as a valid position. -Files: src/eval.c - -Patch 7.2.015 -Problem: "make all test install" doesn't stop when the test fails. (Daniel - Shahaf) -Solution: When test.log contains failures exit with non-zero status. -Files: src/testdir/Makefile - -Patch 7.2.016 -Problem: The pattern being completed may be in freed memory when the - command line is being reallocated. (Dominique Pelle) -Solution: Keep a pointer to the expand_T in the command line structure. - Don't use <S-Tab> as CTRL-P when there are no results. Clear the - completion when using a command line from the history. -Files: src/ex_getln.c - -Patch 7.2.017 -Problem: strlen() used on text that may not end in a NUL. (Dominique Pelle) - Pasting a very big selection doesn't work. -Solution: Use the length passed to the XtSelectionCallbackProc() function. - After getting the SelectionNotify event continue dispatching - events until the callback is actually called. Also dispatch the - PropertyNotify event. -Files: src/ui.c - -Patch 7.2.018 -Problem: Memory leak when substitute is aborted. -Solution: Free the buffer allocated for the new text. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.2.019 -Problem: Completion of ":noautocmd" doesn't work and exists(":noautocmd") - returns zero. (Ben Fritz) -Solution: Add "noautocmd" to the list of modifiers and commands. -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.020 -Problem: Starting the GUI when the executable starts with 'k', but the KDE - version no longer exists. -Solution: Don't have "kvim" start the GUI. -Files: src/main.c - -Patch 7.2.021 -Problem: When executing autocommands getting the full file name may be - slow. (David Kotchan) -Solution: Postpone calling FullName_save() until autocmd_fname is used. -Files: src/ex_docmd.c, src/fileio.c, src/globals.h - -Patch 7.2.022 (extra) -Problem: Testing is not possible when compiling with MingW. -Solution: Add a MingW specific test Makefile. (Bill McCarthy) -Files: Filelist, src/testdir/Make_ming.mak - -Patch 7.2.023 -Problem: 'cursorcolumn' is in the wrong place in a closed fold when the - display is shifted left. (Gary Johnson) -Solution: Subtract w_skipcol or w_leftcol when needed. -Files: src/screen.c - -Patch 7.2.024 -Problem: It's possible to set 'history' to a negative value and that causes - an out-of-memory error. -Solution: Check that 'history' has a positive value. (Doug Kearns) -Files: src/option.c - -Patch 7.2.025 -Problem: When a CursorHold event invokes system() it is retriggered over - and over again. -Solution: Don't reset did_cursorhold when getting K_IGNORE. -Files: src/normal.c - -Patch 7.2.026 (after 7.2.010) -Problem: "K" doesn't use the length of the identifier but uses the rest of - the line. -Solution: Copy the desired number of characters first. -Files: src/normal.c - -Patch 7.2.027 -Problem: Can use cscope commands in the sandbox. -Solution: Disallow them, they might not be safe. -Files: src/ex_cmds.h - -Patch 7.2.028 -Problem: Confusing error message for missing (). -Solution: Change "braces" to "parentheses". (Gary Johnson) -Files: src/eval.c - -Patch 7.2.029 -Problem: No completion for ":doautoall". -Solution: Complete ":doautoall" like ":doautocmd". (Doug Kearns) -Files: src/ex_docmd.c - -Patch 7.2.030 (after 7.2.027) -Problem: Can't compile. -Solution: Remove prematurely added ex_oldfiles. -Files: src/ex_cmds.h - -Patch 7.2.031 -Problem: Information in the viminfo file about previously edited files is - not available to the user. There is no way to get a complete list - of files edited in previous Vim sessions. -Solution: Add v:oldfiles and fill it with the list of old file names when - first reading the viminfo file. Add the ":oldfiles" command, - ":browse oldfiles" and the "#<123" special file name. Increase - the default value for 'viminfo' from '20 to '100. -Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, - runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c, - src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h, - src/fileio.c, src/main.c, src/mark.c, src/misc1.c, - src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro, - src/option.c, src/structs.h, src/vim.h - -Patch 7.2.032 (after 7.2.031) -Problem: Can't build with EXITFREE defined. (Dominique Pelle) -Solution: Change vv_string to vv_str. -Files: src/eval.c - -Patch 7.2.033 -Problem: When detecting a little endian BOM "ucs-2le" is used, but the text - might be "utf-16le". -Solution: Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei) -Files: src/fileio.c, src/testdir/test42.ok - -Patch 7.2.034 -Problem: Memory leak in spell info when deleting buffer. -Solution: Free the memory. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.2.035 -Problem: Mismatches between alloc/malloc, free/vim_free, - realloc/vim_realloc. -Solution: Use the right function. (Dominique Pelle) -Files: src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c - -Patch 7.2.036 (extra) -Problem: Mismatches between alloc/malloc, free/vim_free, - realloc/vim_realloc. -Solution: Use the right function. (Dominique Pelle) -Files: src/gui_riscos.c, src/gui_w48.c, src/mbyte.c, src/os_vms.c, - src/os_w32exe.c, src/os_win16.c - -Patch 7.2.037 -Problem: Double free with GTK 1 and compiled with EXITFREE. -Solution: Don't close display. (Dominique Pelle) -Files: src/os_unix.c - -Patch 7.2.038 -Problem: Overlapping arguments to memcpy(). -Solution: Use mch_memmove(). (Dominique Pelle) -Files: src/if_xcmdsrv.c - -Patch 7.2.039 -Problem: Accessing freed memory on exit when EXITFREE is defined. -Solution: Call hash_init() on the v: hash table. -Files: src/eval.c - -Patch 7.2.040 -Problem: When using ":e ++ff=dos fname" and the file contains a NL without - a CR before it and 'ffs' contains "unix" then the fileformat - becomes unix. -Solution: Ignore 'ffs' when using the ++ff argument. (Ben Schmidt) - Also remove unreachable code. -Files: src/fileio.c - -Patch 7.2.041 -Problem: In diff mode, when using two tabs, each with two diffed buffers, - editing a buffer of the other tab messes up the diff. (Matt - Mzyzik) -Solution: Only copy options from a window where the buffer was edited that - doesn't have 'diff' set or is for the current tab page. - Also fix that window options for a buffer are stored with the - wrong window. -Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c, - src/normal.c, src/popupmnu.c, src/proto/buffer.pro, - src/proto/ex_cmds.pro src/quickfix.c, src/window.c - -Patch 7.2.042 -Problem: When using winrestview() in a BufWinEnter autocommand the window - is scrolled anyway. (Matt Zyzik) -Solution: Don't recompute topline when above 'scrolloff' from the bottom. - Don't always put the cursor halfway when entering a buffer. Add - "w_topline_was_set". -Files: src/buffer.c, src/move.c, src/structs.h - -Patch 7.2.043 -Problem: VMS: Too many characters are escaped in filename and shell - commands. -Solution: Escape fewer characters. (Zoltan Arpadffy) -Files: src/vim.h - -Patch 7.2.044 -Problem: Crash because of STRCPY() being over protective of the destination - size. (Dominique Pelle) -Solution: Add -D_FORTIFY_SOURCE=1 to CFLAGS. Use an intermediate variable - for the pointer to avoid a warning. -Files: src/auto/configure, src/configure.in, src/eval.c - -Patch 7.2.045 -Problem: The Python interface has an empty entry in sys.path. -Solution: Filter out the empty entry. (idea from James Vega) -Files: src/if_python.c - -Patch 7.2.046 -Problem: Wrong check for filling buffer with encoding. (Danek Duvall) -Solution: Remove pointers. (Dominique Pelle) -Files: src/mbyte.c - -Patch 7.2.047 -Problem: Starting Vim with the -nb argument while it's not supported causes - the other side to hang. -Solution: When -nb is used while it's not supported exit Vim. (Xavier de - Gaye) -Files: src/main.c, src/vim.h - -Patch 7.2.048 -Problem: v:prevcount is changed too often. Counts are not multiplied when - setting v:count. -Solution: Set v:prevcount properly. Multiply counts. (idea by Ben Schmidt) -Files: src/eval.c, src/normal.c, src/proto/eval.pro - -Patch 7.2.049 (extra) -Problem: Win32: the clipboard doesn't support UTF-16. -Solution: Change UCS-2 support to UTF-16 support. (Jia Yanwei) -Files: src/gui_w32.c, src/gui_w48.c, src/mbyte.c, src/misc1.c, - src/os_mswin.c, src/os_win32.c, src/proto/os_mswin.pro - -Patch 7.2.050 -Problem: Warnings for not checking return value of fwrite(). (Chip Campbell) -Solution: Use the return value. -Files: src/spell.c - -Patch 7.2.051 -Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath(). -Solution: Add an extra argument to these functions. (Ingo Karkat) -Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro, - runtime/doc/eval.txt, runtime/doc/options.txt - -Patch 7.2.052 -Problem: synIDattr() doesn't support "sp" for special color. -Solution: Recognize "sp" and "sp#". (Matt Wozniski) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.053 -Problem: Crash when using WorkShop command ":ws foo". (Dominique Pelle) -Solution: Avoid using a NULL pointer. -Files: src/workshop.c - -Patch 7.2.054 -Problem: Compilation warnings for format in getchar.c. -Solution: Use fputs() instead of fprintf(). (Dominique Pelle) -Files: src/getchar.c - -Patch 7.2.055 -Problem: Various compiler warnings with strict checking. -Solution: Avoid the warnings by using return values and renaming. -Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, - src/fileio.c, src/fold.c, src/globals.h, src/gui.c, - src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c, - src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c, - src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c, - src/ui.c, src/window.c - -Patch 7.2.056 (after 7.2.050) -Problem: Tests 58 and 59 fail. -Solution: Don't invoke fwrite() with a zero length. (Dominique Pelle) -Files: src/spell.c - -Patch 7.2.057 (after 7.2.056) -Problem: Combination of int and size_t may not work. -Solution: Use size_t for variable. -Files: src/spell.c - -Patch 7.2.058 -Problem: Can't add a patch name to the ":version" output. -Solution: Add the extra_patches array. -Files: src/version.c - -Patch 7.2.059 -Problem: Diff display is not always updated. -Solution: Update the display more often. -Files: src/diff.c - -Patch 7.2.060 -Problem: When a spell files has many compound rules it may take a very long - time making the list of suggestions. Displaying also can be slow - when there are misspelled words. - Can't parse some Hunspell .aff files. -Solution: Check if a compounding can possibly work before trying a - combination, if the compound rules don't contain wildcards. - Implement using CHECKCOMPOUNDPATTERN. - Ignore COMPOUNDRULES. Ignore a comment after most items. - Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND. - Accept FORBIDDENWORD as an alias for BAD. -Files: runtime/doc/spell.txt, src/spell.c - -Patch 7.2.061 -Problem: Can't create a funcref for an autoload function without loading - the script first. (Marc Weber) -Solution: Accept autoload functions that don't exist yet in function(). -Files: src/eval.c - -Patch 7.2.062 -Problem: "[Scratch]" is not translated. -Solution: Mark the string for translation. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.2.063 -Problem: Warning for NULL argument of Perl_sys_init3(). -Solution: Use Perl_sys_init() instead. (partly by Dominique Pelle) -Files: src/if_perl.xs - -Patch 7.2.064 -Problem: Screen update bug when repeating "~" on a Visual block and the - last line doesn't change. -Solution: Keep track of changes for all lines. (Moritz Orbach) -Files: src/ops.c - -Patch 7.2.065 -Problem: GTK GUI: the cursor disappears when doing ":vsp" and the Vim - window is maximized. (Dominique Pelle, Denis Smolyar) -Solution: Don't change "Columns" back to an old value at a wrong moment. - Do change "Rows" when it should not be a problem. -Files: src/gui.c - -Patch 7.2.066 -Problem: It's not easy to see whether 'encoding' is a multi-byte encoding. -Solution: Add has('multi_byte_encoding'). -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.067 -Problem: Session file can't load extra file when the path contains special - characters. -Solution: Escape the file name. (Lech Lorens) -Files: src/ex_docmd.c - -Patch 7.2.068 -Problem: Emacs tags file lines can be too long, resulting in an error - message. (James Vega) -Solution: Ignore lines with errors if they are too long. -Files: src/tag.c - -Patch 7.2.069 (after 7.2.060) -Problem: Compiler warning for storing size_t in int. -Solution: Add type cast. -Files: src/spell.c - -Patch 7.2.070 -Problem: Crash when a function returns a:000. (Matt Wozniski) -Solution: Don't put the function struct on the stack, allocate it. Free it - only when nothing in it is used. -Files: src/eval.c - -Patch 7.2.071 (extra) -Problem: Win32: Handling netbeans events while Vim is busy updating the - screen may cause a crash. -Solution: Like with GTK, only handle netbeans messages in the main loop. - (Xavier de Gaye) -Files: src/gui_w48.c, src/netbeans.c - -Patch 7.2.072 (extra) -Problem: Compiler warning in Sniff code. -Solution: Use return value of pipe(). (Dominique Pelle) -Files: src/if_sniff.c - -Patch 7.2.073 -Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt - Wozniski) -Solution: Don't translate "x" keys to its alternative for ":set". -Files: src/gui_mac.c, src/misc2.c, src/option.c, src/proto/misc2.pro - -Patch 7.2.074 (extra, after 7.2.073) -Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt - Wozniski) -Solution: Don't translate "x" keys to its alternative for ":set". -Files: src/gui_mac.c - -Patch 7.2.075 (after 7.2.058) -Problem: Explanation about making a diff for extra_patches is unclear. -Solution: Adjust comment. -Files: src/version.c - -Patch 7.2.076 -Problem: rename(from, to) deletes the file if "from" and "to" are not equal - but still refer to the same file. E.g., on a FAT32 filesystem - under Unix. -Solution: Go through another file name. -Files: src/fileio.c - -Patch 7.2.077 (after 7.2.076) -Problem: rename(from, to) doesn't work if "from" and "to" differ only in - case on a system that ignores case in file names. -Solution: Go through another file name. -Files: src/fileio.c - -Patch 7.2.078 -Problem: When deleting a fold that is specified with markers the cursor - position may be wrong. Folds may not be displayed properly after - a delete. Wrong fold may be deleted. -Solution: Fix the problems. (mostly by Lech Lorens) -Files: src/fold.c - -Patch 7.2.079 -Problem: "killed" netbeans events are not handled correctly. -Solution: A "killed" netbeans event is sent when the buffer is deleted or - wiped out (in this case, the netbeans annotations in this buffer - have been removed). A user can still remove a sign with the - command ":sign unplace" and this does not trigger a "killed" - event. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/buffer.c, src/globals.h, - src/netbeans.c, src/proto/netbeans.pro - -Patch 7.2.080 -Problem: When typing a composing character just after starting completion - may access memory before its allocation point. (Dominique Pelle) -Solution: Don't delete before the completion start column. Add extra checks - for the offset not being negative. -Files: src/edit.c - -Patch 7.2.081 -Problem: Compiler warning for floating point overflow on VAX. -Solution: For VAX use a smaller number. (Zoltan Arpadffy) -Files: src/message.c - -Patch 7.2.082 -Problem: When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a. - (Andy Wokula) -Solution: Use NL for this situation. (Lech Lorens) -Files: src/ex_cmds.c - -Patch 7.2.083 -Problem: ":tag" does not return to the right tag entry from the tag stack. -Solution: Don't change the current match when there is no argument. - (Erik Falor) -Files: src/tag.c - -Patch 7.2.084 -Problem: Recursive structures are not handled properly in Python - vim.eval(). -Solution: Keep track of references in a better way. (Yukihiro Nakadaira) -Files: src/if_python.c - -Patch 7.2.085 -Problem: ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8. -Solution: Put the <M-b> character in the input buffer as valid utf-8. - (partly by Matt Wozniski) -Files: src/term.c - -Patch 7.2.086 -Problem: Using ":diffget 1" in buffer 1 corrupts the text. -Solution: Don't do anything when source and destination of ":diffget" or - ":diffput" is the same buffer. (Dominique Pelle) -Files: src/diff.c - -Patch 7.2.087 -Problem: Adding URL to 'path' doesn't work to edit a file. -Solution: Skip simplify_filename() for URLs. (Matt Wozniski) -Files: src/misc2.c - -Patch 7.2.088 (extra) -Problem: OpenClipboard() may fail when another application is using the - clipboard. -Solution: Retry OpenClipboard() a few times. (Jianrong Yu) -Files: src/os_mswin.c - -Patch 7.2.089 (extra) -Problem: Win32: crash when using Ultramon buttons. -Solution: Don't use a WM_OLE message of zero size. (Ray Megal) -Files: src/if_ole.cpp, src/gui_w48.c - -Patch 7.2.090 -Problem: User command containing 0x80 in multi-byte character does not work - properly. (Yasuhiro Matsumoto) -Solution: Undo replacement of K_SPECIAL and CSI characters when executing - the command. -Files: src/ex_docmd.c - -Patch 7.2.091 -Problem: ":cs help" output is not aligned for some languages. -Solution: Compute character size instead of byte size. (Dominique Pelle) -Files: src/if_cscope.c - -Patch 7.2.092 -Problem: Some error messages are not translated. -Solution: Add _() around the messages. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.093 (extra) -Problem: Win32: inputdialog() and find/replace dialogs can't handle - multi-byte text. -Solution: Use the wide version of dialog functions when available. (Yanwei - Jia) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.2.094 -Problem: Compiler warning for signed/unsigned compare. -Solution: Add type cast. Also fix a few typos. -Files: src/edit.c - -Patch 7.2.095 -Problem: With Visual selection, "r" and then CTRL-C Visual mode is stopped - but the highlighting is not removed. -Solution: Call reset_VIsual(). -Files: src/normal.c - -Patch 7.2.096 -Problem: After ":number" the "Press Enter" message may be on the wrong - screen, if switching screens for shell commands. -Solution: Reset info_message. (James Vega) -Files: src/ex_cmds.c - -Patch 7.2.097 -Problem: "!xterm&" doesn't work when 'shell' is "bash". -Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert) -Files: src/os_unix.c - -Patch 7.2.098 -Problem: Warning for signed/unsigned pointer. -Solution: Add type cast. -Files: src/eval.c - -Patch 7.2.099 -Problem: Changing GUI options causes an unnecessary redraw when the GUI - isn't active. -Solution: Avoid the redraw. (Lech Lorens) -Files: src/option.c - -Patch 7.2.100 -Problem: When using ":source" on a FIFO or something else that can't rewind - the first three bytes are skipped. -Solution: Instead of rewinding read the first line and detect a BOM in that. - (mostly by James Vega) -Files: src/ex_cmds2.c - -Patch 7.2.101 (extra) -Problem: MSVC version not recognized. -Solution: Add the version number to the list. (Zhong Zhang) -Files: src/Make_mvc.mak - -Patch 7.2.102 (after 7.2.100) -Problem: When 'encoding' is "utf-8" a BOM at the start of a Vim script is - not removed. (Tony Mechelynck) -Solution: When no conversion is taking place make a copy of the line without - the BOM. -Files: src/ex_cmds2.c - -Patch 7.2.103 -Problem: When 'bomb' is changed the window title is updated to show/hide a - "+", but the tab page label isn't. (Patrick Texier) -Solution: Set "redraw_tabline" in most places where "need_maketitle" is set. - (partly by Lech Lorens) -Files: src/option.c - -Patch 7.2.104 -Problem: When using ":saveas bar.c" the tab label isn't updated right away. -Solution: Set redraw_tabline. (Francois Ingelrest) -Files: src/ex_cmds.c - -Patch 7.2.105 -Problem: Modeline setting for 'foldmethod' overrules diff options. (Ingo - Karkat) -Solution: Don't set 'foldmethod' and 'wrap' from a modeline when 'diff' is - on. -Files: src/option.c - -Patch 7.2.106 -Problem: Endless loop when using "]s" in HTML when there are no - misspellings. (Ingo Karkat) -Solution: Break the search loop. Also fix pointer alignment for systems - with pointers larger than int. -Files: src/spell.c - -Patch 7.2.107 -Problem: When using a GUI dialog and ":echo" commands the messages are - deleted after the dialog. (Vincent Birebent) -Solution: Don't call msg_end_prompt() since there was no prompt. -Files: src/message.c - -Patch 7.2.108 (after 7.2.105) -Problem: Can't build without the diff feature. -Solution: Add #ifdef. -Files: src/option.c - -Patch 7.2.109 -Problem: 'langmap' does not work for multi-byte characters. -Solution: Add a list of mapped multi-byte characters. (based on work by - Konstantin Korikov, Agathoklis Hatzimanikas) -Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h, - src/normal.c, src/option.c, src/proto/option.pro, src/window.c - -Patch 7.2.110 -Problem: Compiler warning for unused variable. -Solution: Init the variable. -Files: src/ex_docmd.c - -Patch 7.2.111 -Problem: When using Visual block mode with 'cursorcolumn' it's unclear what - is selected. -Solution: Don't use 'cursorcolumn' highlighting inside the Visual selection. - (idea by Dominique Pelle) -Files: src/screen.c - -Patch 7.2.112 -Problem: Cursor invisible in Visual mode when 'number' is set and cursor in - first column. (Matti Niemenmaa, Renato Alves) -Solution: Check that vcol_prev is smaller than vcol. -Files: src/screen.c - -Patch 7.2.113 -Problem: Crash for substitute() call using submatch(1) while there is no - such submatch. (Yukihiro Nakadaira) -Solution: Also check the start of the submatch is set, it can be NULL when - an attempted match didn't work out. -Files: src/regexp.c - -Patch 7.2.114 -Problem: Using wrong printf format. -Solution: Use "%ld" instead of "%d". (Dominique Pelle) -Files: src/netbeans.c - -Patch 7.2.115 -Problem: Some debugging code is never used. -Solution: Remove nbtrace() and nbprt(). (Dominique Pelle) -Files: src/nbdebug.c, src/nbdebug.h - -Patch 7.2.116 -Problem: Not all memory is freed when EXITFREE is defined. -Solution: Free allocated memory on exit. (Dominique Pelle) -Files: src/ex_docmd.c, src/gui_gtk_x11.c, src/misc2.c, src/search.c, - src/tag.c - -Patch 7.2.117 -Problem: Location list incorrectly labelled "Quickfix List". -Solution: Break out of both loops for finding window for location list - buffer. (Lech Lorens) -Files: src/buffer.c, src/quickfix.c, src/screen.c - -Patch 7.2.118 -Problem: <PageUp> at the more prompt only does half a page. -Solution: Make <PageUp> go up a whole page. Also make 'f' go a page - forward, but not quit the more prompt. (Markus Heidelberg) -Files: src/message.c - -Patch 7.2.119 -Problem: Status line is redrawn too often. -Solution: Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.2.120 -Problem: When opening the quickfix window or splitting the window and - setting the location list, the location list is copied and then - deleted, which is inefficient. -Solution: Don't copy the location list when not needed. (Lech Lorens) -Files: src/quickfix.c, src/vim.h, src/window.c - -Patch 7.2.121 -Problem: In gvim "!grep a *.c" spews out a lot of text that can't be - stopped with CTRL-C. -Solution: When looping to read and show text, do check for typed characters - every two seconds. -Files: src/os_unix.c - -Patch 7.2.122 -Problem: Invalid memory access when the VimResized autocommand changes - 'columns' and/or 'lines'. -Solution: After VimResized check for changed values. (Dominique Pelle) -Files: src/screen.c - -Patch 7.2.123 -Problem: Typing 'q' at more prompt for ":map" output still displays another - line, causing another more prompt. (Markus Heidelberg) -Solution: Quit listing maps when 'q' typed. -Files: src/getchar.c - -Patch 7.2.124 -Problem: Typing 'q' at more prompt for ":tselect" output still displays - more lines, causing another more prompt. (Markus Heidelberg) -Solution: Quit listing tags when 'q' typed. -Files: src/tag.c - -Patch 7.2.125 -Problem: Leaking memory when reading XPM bitmap for a sign. -Solution: Don't allocate the memory twice. (Dominique Pelle) -Files: src/gui_x11.c - -Patch 7.2.126 -Problem: When EXITFREE is defined signs are not freed. -Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle) -Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro - -Patch 7.2.127 -Problem: When listing mappings and a wrapping line causes the more prompt, - after typing 'q' there can be another more prompt. (Markus - Heidelberg) -Solution: Set "lines_left" to allow more lines to be displayed. -Files: src/message.c - -Patch 7.2.128 (after 7.2.055) -Problem: Using ":lcd" makes session files not work. -Solution: Compare return value of mch_chdir() properly. (Andreas Bernauer) -Files: src/ex_docmd.c - -Patch 7.2.129 -Problem: When opening a command window from input() it uses the search - history. -Solution: Use get_cmdline_type(). (James Vega) -Files: src/ex_getln.c - -Patch 7.2.130 -Problem: Vim may hang until CTRL-C is typed when using CTRL-Z. -Solution: Avoid using pause(). Also use "volatile" for variables used in - signal functions. (Dominique Pelle) -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/globals.h, src/os_unix.c - -Patch 7.2.131 -Problem: When 'keymap' is cleared may still use the cursor highlighting for - when it's enabled. -Solution: Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle) - Also avoid ":setlocal" for these options have a global effect. -Files: src/option.c - -Patch 7.2.132 -Problem: When changing directory during a SwapExists autocmd freed memory - may be accessed. (Dominique Pelle) -Solution: Add the allbuf_lock flag. -Files: src/ex_getln.c, src/globals.h, src/fileio.c, - src/proto/ex_getln.pro - -Patch 7.2.133 -Problem: ":diffoff!" changes settings in windows not in diff mode. -Solution: Only change settings in other windows when 'diff' is set, always - do it for the current window. (Lech Lorens) -Files: src/diff.c - -Patch 7.2.134 -Problem: Warning for discarding "const" from pointer. -Solution: Don't pass const pointer to mch_memmove(). -Files: src/fileio.c - -Patch 7.2.135 -Problem: Memory leak when redefining user command with complete argument. -Solution: Free the old complete argument. (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.2.136 (after 7.2.132) -Problem: ":cd" is still possible in a SwapExists autocmd. -Solution: Check the allbuf_lock flag in ex_cd(). -Files: src/ex_docmd.c - -Patch 7.2.137 -Problem: When 'virtualedit' is set, a left shift of a blockwise selection - that starts and ends inside a tab shifts too much. (Helmut - Stiegler) -Solution: Redo the block left shift code. (Lech Lorens) -Files: src/ops.c, src/testdir/Makefile, src/testdir/test66.in, - src/testdir/test66.ok - -Patch 7.2.138 (extra part of 7.2.137) -Problem: See 7.2.137. -Solution: See 7.2.137. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms - -Patch 7.2.139 -Problem: Crash when 'virtualedit' is "all". (James Vega) -Solution: Avoid overflow when column is MAXCOL. (Dominique Pelle) -Files: src/misc2.c - -Patch 7.2.140 -Problem: Diff highlighting isn't displayed before the Visual area if it - starts at the cursor position. (Markus Heidelberg) -Solution: Also check fromcol_prev. -Files: src/screen.c - -Patch 7.2.141 -Problem: When redrawing a character for bold spill this causes the next - character to be redrawn as well. -Solution: Only redraw one extra character. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.2.142 -Problem: Motif and Athena balloons don't use tooltip colors. -Solution: Set the colors. (Matt Wozniski) -Files: src/gui_beval.c - -Patch 7.2.143 -Problem: No command line completion for ":cscope" command. -Solution: Add the completion for ":cscope". (Dominique Pelle) -Files: src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, - src/proto/if_cscope.pro, src/vim.h - -Patch 7.2.144 -Problem: When 't_Co' is set to the value it already had the color scheme is - reloaded anyway. -Solution: Only load the colorscheme when the t_Co value changes. (Dominique - Pelle) -Files: src/option.c - -Patch 7.2.145 -Problem: White space in ":cscope find" is not ignored. -Solution: Ignore the white space, but not when the leading white space is - useful for the argument. -Files: runtime/doc/if_scop.txt, src/if_cscope.c - -Patch 7.2.146 -Problem: v:warningmsg isn't used for all warnings. -Solution: Set v:warningmsg for relevant warnings. (Ingo Karkat) -Files: src/fileio.c, src/misc1.c, src/option.c - -Patch 7.2.147 -Problem: When compiled as small version and 'number' is on the cursor is - displayed in the wrong position after a tab. (James Vega) -Solution: Don't increment vcol when still displaying the line number. -Files: src/screen.c - -Patch 7.2.148 -Problem: When searching for "$" while 'hlsearch' is set, highlighting the - character after the line does not work in the cursor column. - Also highlighting for Visual mode after the line end when this - isn't needed. (Markus Heidelberg) -Solution: Only compare the cursor column in the cursor line. Only highlight - for Visual selection after the last character when it's needed to - see where the Visual selection ends. -Files: src/screen.c - -Patch 7.2.149 -Problem: Using return value of function that doesn't return a value results - in reading uninitialized memory. -Solution: Set the default to return zero. Make cursor() return -1 on - failure. Let complete() return an empty string in case of an - error. (partly by Dominique Pelle) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.150 (extra) -Problem: Can't use tab pages from VisVim. -Solution: Add tab page support to VisVim. (Adam Slater) -Files: src/VisVim/Commands.cpp, src/VisVim/Resource.h, - src/VisVim/VisVim.rc - -Patch 7.2.151 -Problem: ":hist a" doesn't work like ":hist all" as the docs suggest. -Solution: Make ":hist a" and ":hist al" work. (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.152 -Problem: When using "silent echo x" inside ":redir" a next echo may start - halfway the line. (Tony Mechelynck, Dennis Benzinger) -Solution: Reset msg_col after redirecting silently. -Files: src/ex_docmd.c, src/message.c, src/proto/message.pro - -Patch 7.2.153 -Problem: Memory leak for ":recover empty_dir/". -Solution: Free files[] when it becomes empty. (Dominique Pelle) -Files: src/memline.c - -Patch 7.2.154 (after 7.2.132) -Problem: ":cd" is still possible in a SwapExists autocmd. -Solution: Set allbuf_lock in do_swapexists(). -Files: src/memline.c - -Patch 7.2.155 -Problem: Memory leak in ":function /pat". -Solution: Free the memory. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.156 (after 7.2.143) -Problem: No completion for :scscope and :lcscope commands. -Solution: Implement the completion. (Dominique Pelle) -Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro - -Patch 7.2.157 -Problem: Illegal memory access when searching in path. -Solution: Avoid looking at a byte after end of a string. (Dominique Pelle) -Files: src/search.c - -Patch 7.2.158 -Problem: Warnings from VisualC compiler. -Solution: Add type casts. (George Reilly) -Files: src/ops.c - -Patch 7.2.159 -Problem: When $x_includes ends up being "NONE" configure fails. -Solution: Check for $x_includes not to be "NONE" (Rainer) -Files: src/auto/configure, src/configure.in - -Patch 7.2.160 -Problem: Search pattern not freed on exit when 'rightleft' set. -Solution: Free mr_pattern_alloced. -Files: src/search.c - -Patch 7.2.161 -Problem: Folds messed up in other tab page. (Vlad Irnov) -Solution: Instead of going over all windows in current tab page go over all - windows in all tab pages. Also free memory for location lists in - other tab pages when exiting. (Lech Lorens) -Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c - -Patch 7.2.162 -Problem: The quickfix window may get wrong filetype. -Solution: Do not detect the filetype for the quickfix window. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.2.163 -Problem: The command line window may get folding. -Solution: Default to no/manual folding. (Lech Lorens) -Files: src/ex_getln.c - -Patch 7.2.164 -Problem: When 'showbreak' is set the size of the Visual block may be - reported wrong. (Eduardo Daudt Flach) -Solution: Temporarily make 'sbr' empty. -Files: src/normal.c, src/ops.c - -Patch 7.2.165 -Problem: The argument for the FuncUndefined autocmd event is expanded like - a file name. -Solution: Don't try expanding it. (Wang Xu) -Files: src/fileio.c - -Patch 7.2.166 -Problem: No completion for ":sign" command. -Solution: Add ":sign" completion. (Dominique Pelle) -Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h, - src/proto/ex_cmds.pro - -Patch 7.2.167 -Problem: Splint doesn't work well for checking the code. -Solution: Add splint arguments in the Makefile. Exclude some code from - splint that it can't handle. Tune splint arguments to give - reasonable errors. Add a filter for removing false warnings from - splint output. Many small changes to avoid warnings. More to - follow... -Files: Filelist, src/Makefile, src/buffer.c, src/charset.c, - src/cleanlint.vim, src/digraph.c, src/edit.c, src/ex_cmds.c, - src/globals.h, src/ops.c, src/os_unix.c, src/os_unix.h, - src/proto/buffer.pro, src/proto/edit.pro, src/screen.c, - src/structs.h - -Patch 7.2.168 -Problem: When no ctags program can be found, "make tags" attempts to - execute the first C file. -Solution: Default to "ctags" when no ctags program can be found. -Files: src/configure.in, src/auto/configure - -Patch 7.2.169 -Problem: Splint complains about a lot of things. -Solution: Add type casts, #ifdefs and other changes to avoid warnings. - Change colnr_T from unsigned to int. Avoids mistakes with - subtracting columns. -Files: src/cleanlint.vim, src/diff.c, src/edit.c, src/ex_cmds.c, - src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds.pro, - src/proto/spell.pro, src/quickfix.c, src/spell.c, src/structs.h, - src/term.h, src/vim.h - -Patch 7.2.170 -Problem: Using b_dev while it was not set. (Dominique Pelle) -Solution: Add the b_dev_valid flag. -Files: src/buffer.c, src/fileio.c, src/structs.h - -Patch 7.2.171 (after 7.2.169) -Problem: Compiler warnings. (Tony Mechelynck) -Solution: Add function prototype. (Patrick Texier) Init variable. -Files: src/ex_cmds.c - -Patch 7.2.172 (extra) -Problem: Compiler warning. -Solution: Adjust function prototype. (Patrick Texier) -Files: src/os_mswin.c - -Patch 7.2.173 -Problem: Without lint there is no check for unused function arguments. -Solution: Use gcc -Wunused-parameter instead of lint. For a few files add - attributes to arguments that are known not to be used. -Files: src/auto/configure, src/buffer.c, src/charset.c, src/diff.c, - src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c, - src/ex_cmds2.c, src/version.c, src/vim.h - -Patch 7.2.174 -Problem: Too many warnings from gcc -Wextra. -Solution: Change initializer. Add UNUSED. Add type casts. -Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, - src/ex_getln.c, src/fileio.c, getchar.c, globals.h, main.c, - memline.c, message.c, src/misc1.c, src/move.c, src/normal.c, - src/option.c, src/os_unix.c, src/os_unix.h, src/regexp.c, - src/search.c, src/tag.c - -Patch 7.2.175 -Problem: Compiler warning in OpenBSD. -Solution: Add type cast for NULL. (Dasn) -Files: src/if_cscope.c - -Patch 7.2.176 -Problem: Exceptions for splint are not useful. -Solution: Remove the S_SPLINT_S ifdefs. -Files: src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c, - src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h - -Patch 7.2.177 -Problem: Compiler warnings when using -Wextra -Solution: Add UNUSED and type casts. -Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, - src/fileio.c, src/hardcopy.c, src/if_cscope.c, src/if_xcmdsrv.c, - src/farsi.c, src/mark.c, src/menu.c - -Patch 7.2.178 -Problem: Using negative value for device number might not work. -Solution: Use a separate flag for whether ffv_dev was set. -Files: src/misc2.c - -Patch 7.2.179 -Problem: Using negative value for device number might not work. -Solution: Use a separate flag for whether sn_dev was set. -Files: src/ex_cmds2.c - -Patch 7.2.180 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/buffer.c, src/ex_cmds.c, src/macros.h, src/main.c, - src/menu.c, src/message.c, src/misc1.c, src/mbyte.c, - src/normal.c, src/option.c, src/os_unix.c, src/quickfix.c, - src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c, - src/term.c, src/ui.c - -Patch 7.2.181 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/if_mzsch.c, src/gui.c, src/gui_gtk.c, src/gui_gtk_x11.c, - src/gui_gtk_f.c, src/gui_beval.c, src/netbeans.c - -Patch 7.2.182 (after 7.2.181) -Problem: Compilation problems after previous patch for Motif. Gvim with - GTK crashes on startup. -Solution: Add comma. Init form structure to zeroes. -Files: src/netbeans.c, src/gui_gtk_f.c - -Patch 7.2.183 -Problem: Configure problem for sys/sysctl.h on OpenBSD. (Dasn) -Solution: Add separate check for this header file. Also switch to newer - version of autoconf. -Files: src/auto/configure, src/configure.in - -Patch 7.2.184 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. Autoconf check for wchar_t. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/gui_athena.c, src/gui_x11.c, src/gui.c, src/gui_beval.c, - src/gui_at_sb.c, src/gui_at_fs.c, src/gui_motif.c, - src/gui_xmdlg.c, src/gui_xmebw.c, src/if_python.c, src/window.c, - src/workshop.c - -Patch 7.2.185 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/Makefile, src/if_tlc.c, src/if_ruby.c - -Patch 7.2.186 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Now with the intended if_tcl.c changes. -Files: src/if_tcl.c - -Patch 7.2.187 (after 7.2.186) -Problem: Doesn't build with older versions of TCL. (Yongwei Wu) -Solution: Add #ifdefs. (Dominique Pelle) -Files: src/if_tcl.c - -Patch 7.2.188 -Problem: Crash with specific use of function calls. (Meikel Brandmeyer) -Solution: Make sure the items referenced by a function call are not freed - twice. (based on patch from Nico Weber) -Files: src/eval.c - -Patch 7.2.189 -Problem: Possible hang for deleting auto-indent. (Dominique Pelle) -Solution: Make sure the position is not beyond the end of the line. -Files: src/edit.c - -Patch 7.2.190 -Problem: The register executed by @@ isn't restored. -Solution: Mark the executable register in the viminfo file. -Files: src/ops.c - -Patch 7.2.191 -Problem: Mzscheme interface doesn't work on Ubuntu. -Solution: Change autoconf rules. Define missing macro. Some changes to - avoid gcc warnings. Remove per-buffer namespace. (Sergey Khorev) -Files: runtime/doc/if_mzsch.txt, src/Makefile, src/Make_ming.mak, - src/Make_mvc.mak, src/auto/configure, src/configure.in, - src/config.mk.in, src/eval.c, src/if_mzsch.c, src/if_mzsch.h, - src/main.c, src/proto/if_mzsch.pro - -Patch 7.2.192 (after 7.2.188) -Problem: Still a crash in the garbage collector for a very rare situation. -Solution: Make sure current_copyID is always incremented correctly. (Kent - Sibilev) -Files: src/eval.c - -Patch 7.2.193 -Problem: Warning for uninitialized values. -Solution: Initialize all the struct items. -Files: src/eval.c - -Patch 7.2.194 (extra) -Problem: MSVC: rem commands are echoed. -Solution: Add commands to switch off echo. (Wang Xu) -Files: src/msvc2008.bat - -Patch 7.2.195 -Problem: Leaking memory for the command Vim was started with. -Solution: Remember the pointer and free it. -Files: src/gui_gtk_x11.c - -Patch 7.2.196 (after 7.2.167) -Problem: Turns out splint doesn't work well enough to be usable. -Solution: Remove splint support. -Files: Filelist, src/cleanlint.vim - -Patch 7.2.197 -Problem: Warning for uninitialized values. -Solution: Initialize all the struct items of typebuf. -Files: src/globals.h - -Patch 7.2.198 -Problem: Size of buffer used for tgetent() may be too small. -Solution: Use the largest known size everywhere. -Files: src/vim.h - -Patch 7.2.199 -Problem: Strange character in comment. -Solution: Change to "message". (Yongwei Wu) -Files: src/term.c - -Patch 7.2.200 -Problem: Reading past end of string when navigating the menu bar or - resizing the window. -Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle) - Also add mb_ptr2cells_len() to prevent more trouble. -Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c, - src/proto/mbyte.pro - -Patch 7.2.201 -Problem: Cannot copy/paste HTML to/from Firefox via the clipboard. -Solution: Implement this for GTK. Add the "html" value to 'clipboard'. -Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c, - src/mbyte.c, src/proto/mbyte.pro, src/option.c - -Patch 7.2.202 -Problem: BufWipeout autocommand that edits another buffer causes problems. -Solution: Check for the situation, give an error and quit the operation. -Files: src/fileio.c - -Patch 7.2.203 -Problem: When reloading a buffer or doing anything else with a buffer that - is not displayed in a visible window, autocommands may be applied - to the current window, folds messed up, etc. -Solution: Instead of using the current window for the hidden buffer use a - special window, splitting the current one temporarily. -Files: src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs, - src/progo/gui.pro, src/proto/window.pro, src/screen.c, - src/structs.h, src/window.c - -Patch 7.2.204 (extra) -Problem: Win32: Can't build with Visual Studio 2010 beta 1. -Solution: Fix the makefile. (George Reilly) -Files: src/Make_mvc.mak - -Patch 7.2.205 (extra) -Problem: Win32: No support for High DPI awareness. -Solution: Fix the manifest file. (George Reilly) -Files: src/Make_mvc.mak, src/gvim.exe.mnf - -Patch 7.2.206 -Problem: Win32: Can't build netbeans interface with Visual Studio 2010. -Solution: Undefine ECONNREFUSED. (George Reilly) -Files: src/netbeans.c - -Patch 7.2.207 -Problem: Using freed memory with ":redrawstatus" when it works recursively. -Solution: Prevent recursively updating the status line. (partly by Dominique - Pelle) -Files: src/screen.c - -Patch 7.2.208 -Problem: "set novice" gives an error message, it should be ignored. -Solution: Don't see "no" in "novice" as unsetting an option. (Patrick - Texier) -Files: src/option.c - -Patch 7.2.209 -Problem: For xxd setmode() is undefined on Cygwin. -Solution: Include io.h. (Dominique Pelle) -Files: src/xxd/xxd.c - -Patch 7.2.210 -Problem: When a file that is being edited has its timestamp updated outside - of Vim and ":checktime" is used still get a warning when writing - the file. (Matt Mueller) -Solution: Store the timestamp in b_mtime_read when the timestamp is the only - thing that changed. -Files: src/fileio.c - -Patch 7.2.211 -Problem: Memory leak when expanding a series of file names. -Solution: Use ga_clear_strings() instead of ga_clear(). -Files: src/misc1.c - -Patch 7.2.212 (extra) -Problem: Warnings for redefining SIG macros. -Solution: Don't define them if already defined. (Bjorn Winckler) -Files: src/os_mac.h - -Patch 7.2.213 -Problem: Warning for using vsprintf(). -Solution: Use vim_vsnprintf(). -Files: src/netbeans.c - -Patch 7.2.214 -Problem: Crash with complete function for user command. (Andy Wokula) -Solution: Avoid using a NULL pointer (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.215 -Problem: ml_get error when using ":vimgrep". -Solution: Load the memfile for the hidden buffer before putting it in a - window. Correct the order of splitting the window and filling - the window and buffer with data. -Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c - -Patch 7.2.216 -Problem: Two error messages have the same number E812. -Solution: Give one message a different number. -Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c - -Patch 7.2.217 -Problem: Running tests with valgrind doesn't work as advertised. -Solution: Fix the line in the Makefile. -Files: src/testdir/Makefile - -Patch 7.2.218 -Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle) -Solution: Adjust #ifdef. (SungHyun Nam) -Files: src/gui.c - -Patch 7.2.219 (extra) -Problem: Photon GUI is outdated. -Solution: Updates for QNX 6.4.0. (Sean Boudreau) -Files: src/gui_photon.c - -Patch 7.2.220 (after 7.2.215) -Problem: a BufEnter autocommand that changes directory causes problems. - (Ajit Thakkar) -Solution: Disable autocommands when opening a hidden buffer in a window. -Files: src/fileio.c - -Patch 7.2.221 -Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding. -Solution: Convert between 'enc' and latin1. (James Vega) -Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro, - src/ui.c - -Patch 7.2.222 -Problem: ":mksession" doesn't work properly with 'acd' set. -Solution: Make it work. (Yakov Lerner) -Files: src/ex_docmd.c - -Patch 7.2.223 -Problem: When a script is run with ":silent" it is not able to give warning - messages. -Solution: Add the ":unsilent" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.224 -Problem: Crash when using 'completefunc'. (Ingo Karkat) -Solution: Disallow entering edit() recursively when doing completion. -Files: src/edit.c - -Patch 7.2.225 -Problem: When using ":normal" a saved character may be executed. -Solution: Also store old_char when saving typeahead. -Files: src/getchar.c, src/structs.h - -Patch 7.2.226 -Problem: ml_get error after deleting the last line. (Xavier de Gaye) -Solution: When adjusting marks a callback may be invoked. Adjust the cursor - position before invoking deleted_lines_mark(). -Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c, - src/if_perl.xs, src/misc1.c - -Patch 7.2.227 -Problem: When using ":cd" in a script there is no way to track this. -Solution: Display the directory when 'verbose' is 5 or higher. -Files: src/ex_docmd.c - -Patch 7.2.228 -Problem: Cscope is limited to 8 connections. -Solution: Allocated the connection array to handle any number of - connections. (Dominique Pelle) -Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c - -Patch 7.2.229 -Problem: Warning for shadowed variable. -Solution: Rename "wait" to "wait_time". -Files: src/os_unix.c - -Patch 7.2.230 -Problem: A few old lint-style ARGUSED comments. -Solution: Change to the new UNUSED style. -Files: src/getchar.c - -Patch 7.2.231 -Problem: Warning for unreachable code. -Solution: Add #ifdef. -Files: src/if_perl.xs - -Patch 7.2.232 -Problem: Cannot debug problems with being in a wrong directory. -Solution: When 'verbose' is 5 or higher report directory changes. -Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro - -Patch 7.2.233 (extra part of 7.2.232) -Problem: Cannot debug problems with being in a wrong directory. -Solution: When 'verbose' is 5 or higher report directory changes. -Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h - -Patch 7.2.234 -Problem: It is not possible to ignore file names without a suffix. -Solution: Use an empty entry in 'suffixes' for file names without a dot. -Files: runtime/doc/cmdline.txt, src/misc1.c - -Patch 7.2.235 -Problem: Using CTRL-O z= in Insert mode has a delay before redrawing. -Solution: Reset msg_didout and msg_scroll. -Files: src/misc1.c, src/spell.c - -Patch 7.2.236 -Problem: Mac: Compiling with Ruby doesn't always work. -Solution: In configure filter out the --arch argument (Bjorn Winckler) -Files: src/configure.in, src/auto/configure - -Patch 7.2.237 -Problem: Crash on exit when window icon not set. -Solution: Copy terminal name when using it for the icon name. -Files: src/os_unix.c - -Patch 7.2.238 -Problem: Leaking memory when setting term to "builtin_dumb". -Solution: Free memory when resetting term option t_Co. -Files: src/option.c, src/proto/option.pro, src/term.c - -Patch 7.2.239 -Problem: Using :diffpatch twice or when patching fails causes memory - corruption and/or a crash. (Bryan Venteicher) -Solution: Detect missing output file. Avoid using non-existing buffer. -Files: src/diff.c - -Patch 7.2.240 -Problem: Crash when using find/replace dialog repeatedly. (Michiel - Hartsuiker) -Solution: Avoid doing the operation while busy or recursively. Also refuse - replace when text is locked. -Files: src/gui.c - -Patch 7.2.241 -Problem: When using a combination of ":bufdo" and "doautoall" we may end up - in the wrong directory. (Ajit Thakkar) - Crash when triggering an autocommand in ":vimgrep". (Yukihiro - Nakadaira) -Solution: Clear w_localdir and globaldir when using the aucmd_win. - Use a separate flag to decide aucmd_win needs to be restored. -Files: src/fileio.c, src/globals.h, src/structs.h - -Patch 7.2.242 -Problem: Setting 'lazyredraw' causes the cursor column to be recomputed. - (Tom Link) -Solution: Only recompute the cursor column for a boolean option if changes - the cursor position. -Files: src/option.c - -Patch 7.2.243 -Problem: Memory leak when using :vimgrep and resizing. (Dominique Pelle) -Solution: Free memory for aucmd_win when resizing and don't allocate it - twice. -Files: src/screen.c - -Patch 7.2.244 -Problem: When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1 - character gives a conversion error without any hint what is wrong. -Solution: When known add the line number to the error message. -Files: src/fileio.c - -Patch 7.2.245 -Problem: When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does - conversion while none should be done. (Yukihiro Nakadaira) When - 'fenc' is empty the file is written as utf-8 instead of utf-16. -Solution: Do proper comparison of encodings, taking into account that all - Unicode values for 'enc' use utf-8 internally. -Files: src/fileio.c - -Patch 7.2.246 -Problem: Cscope home page link is wrong. -Solution: Update the URL. (Sergey Khorev) -Files: runtime/doc/if_cscop.txt - -Patch 7.2.247 -Problem: Mzscheme interface minor problem. -Solution: Better error message when build fails. (Sergey Khorev) -Files: src/if_mzsch.c - -Patch 7.2.248 (extra) -Problem: Mzscheme interface building minor problems. -Solution: Update Win32 makefiles. (Sergey Khorev) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak - -Patch 7.2.249 -Problem: The script to check .po files can't handle '%' in plural forms. -Solution: Remove "Plural-Forms:" from the checked string. -Files: src/po/check.vim - -Patch 7.2.250 (extra) -Problem: Possible buffer overflow. -Solution: Compute the remaining space. (Dominique Pelle) -Files: src/GvimExt/gvimext.cpp - -Patch 7.2.251 (after 7.2.044) -Problem: Compiler adds invalid memory bounds check. -Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle) -Files: src/auto/configure, src/configure.in - -Patch 7.2.252 -Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot - contain characters above 128. -Solution: Use mb_ptr2char_adv(). -Files: src/charset.c - -Patch 7.2.253 -Problem: Netbeans interface: getLength always uses current buffer. -Solution: Use ml_get_buf() instead of ml_get(). (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.2.254 -Problem: Compiler warning for assigning size_t to int. -Solution: Use size_t for the variable. (George Reilly) -Files: src/fileio.c - -Patch 7.2.255 (after 7.2.242) -Problem: Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be - in wrong place. -Solution: Recompute the cursor column for these options. -Files: src/option.c - -Patch 7.2.256 -Problem: When 'guifont' was not set GTK font dialog doesn't have a default. - (Andreas Metzler) -Solution: Set default to DEFAULT_FONT. (James Vega) -Files: src/gui_gtk_x11.c - -Patch 7.2.257 -Problem: With GTK 2.17 lots of assertion error messages. -Solution: Remove check for static gravity. (Sebastian Droege) -Files: src/gui_gtk_f.c - -Patch 7.2.258 -Problem: v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony - Mechelynck) -Solution: Use byte number instead of character number for the column. -Files: src/ui.c - -Patch 7.2.259 -Problem: exists() doesn't work properly for an empty aucmd group. -Solution: Change how au_exists() handles a missing pattern. Also add a - test for this. (Bob Hiestand) -Files: src/fileio.c, src/testdir/Makefile, src/testdir/test67.in, - src/testdir/test67.ok - -Patch 7.2.260 (extra part of 7.2.259) -Problem: exists() doesn't work properly for empty aucmd group. -Solution: Change how au_exists() handles a missing pattern. Also add a - test for this. (Bob Hiestand) -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms - -Patch 7.2.261 -Problem: When deleting lines with a specific folding configuration E38 may - appear. (Shahaf) -Solution: When adjusting nested folds for deleted lines take into account - that they don't start at the top of the enclosing fold. -Files: src/fold.c - -Patch 7.2.262 -Problem: When using custom completion for a user command the pattern string - goes beyond the cursor position. (Hari Krishna Dara) -Solution: Truncate the string at the cursor position. -Files: src/ex_getln.c, src/structs.h - -Patch 7.2.263 -Problem: GTK2: when using the -geom argument with an offset from the right - edge and the size is smaller than the default, the Vim window is - not positioned properly. -Solution: Use another function to set the size. (Vitaly Minko) -Files: src/gui_gtk_x11.c - -Patch 7.2.264 -Problem: GTK2: When the Vim window is maximized setting 'columns' or - 'lines' doesn't work. -Solution: Unmaximize the window before setting the size. (Vitaly Minko) -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - -Patch 7.2.265 -Problem: When using ":silent broken" inside try/catch silency may persist. - (dr-dr xp) -Solution: Set msg_silent when there is an error and it's bigger than the - saved value. -Files: src/ex_docmd.c - -Patch 7.2.266 -Problem: When an expression abbreviation is triggered, the typed character - is unknown. -Solution: Make the typed character available in v:char. -Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c, - src/proto/eval.pro - -Patch 7.2.267 -Problem: Crash for narrow window and double-width character. -Solution: Check for zero width. (Taro Muraoka) -Files: src/charset.c - -Patch 7.2.268 -Problem: Crash when using Python to set cursor beyond end of line. - (winterTTr) -Solution: Check the column to be valid. -Files: src/if_python.c - -Patch 7.2.269 -Problem: Many people struggle to find out why Vim startup is slow. -Solution: Add the --startuptime command line flag. -Files: runtime/doc/starting.txt, src/globals.h, src/feature.h, - src/main.c, src/macros.h - -Patch 7.2.270 -Problem: Using ":@c" when the c register contains a CR causes the rest to - be executed later. (Dexter Douglas) -Solution: Don't check for typeahead to start with ':', keep executing - commands until all added typeahead has been used. -Files: src/ex_docmd.c - -Patch 7.2.271 -Problem: Using freed memory in Motif GUI version when making a choice. -Solution: Free memory only after using it. (Dominique Pelle) -Files: src/gui_xmdlg.c - -Patch 7.2.272 -Problem: "_.svz" is not recognized as a swap file. (David M. Besonen) -Solution: Accept .s[uvw][a-z] as a swap file name extension. -Files: src/memline.c - -Patch 7.2.273 -Problem: Crash with redir to unknown array. (Christian Brabandt) -Solution: Don't assign the redir result when there was an error. -Files: src/eval.c - -Patch 7.2.274 -Problem: Syntax folding doesn't work properly when adding a comment. -Solution: Fix it and add a test. (Lech Lorens) -Files: src/fold.c, src/testdir/test45.in, src/testdir/test45.ok - -Patch 7.2.275 -Problem: Warning for unused argument and comparing signed and unsigned. -Solution: Add type cast. -Files: src/memline.c - -Patch 7.2.276 -Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado) -Solution: Check for the character to be < 256. Also make it possible to - specify a range of multi-byte characters. (Lech Lorens) -Files: src/charset.c - -Patch 7.2.277 -Problem: CTRL-Y in a diff'ed window may move the cursor outside of the - window. (Lech Lorens) -Solution: Limit the number of filler lines to the height of the window. - Don't reset filler lines to zero for an empty buffer. -Files: src/move.c - -Patch 7.2.278 -Problem: Using magic number in the folding code. -Solution: Use the defined MAX_LEVEL. -Files: src/fold.c - -Patch 7.2.279 -Problem: Invalid memory read with visual mode "r". (Dominique Pelle) -Solution: Make sure the cursor position is valid. Don't check the cursor - position but the position being used. And make sure we get the - right line. -Files: src/misc2.c, src/ops.c - -Patch 7.2.280 -Problem: A redraw in a custom statusline with %! may cause a crash. - (Yukihiro Nakadaira) -Solution: Make a copy of 'statusline'. Also fix typo in function name - redraw_custom_statusline. (partly by Dominique Pelle) -Files: src/screen.c - -Patch 7.2.281 -Problem: 'cursorcolumn' highlighting is wrong in diff mode. -Solution: Adjust the column computation. (Lech Lorens) -Files: src/screen.c - -Patch 7.2.282 -Problem: A fold can't be closed. -Solution: Initialize fd_small to MAYBE. (Lech Lorens) -Files: src/fold.c - -Patch 7.2.283 -Problem: Changing font while the window is maximized doesn't keep the - window maximized. -Solution: Recompute number of lines and columns after changing font. (James - Vega) -Files: src/gui_gtk_x11.c - -Patch 7.2.284 -Problem: When editing the same buffer in two windows, one with folding, - display may be wrong after changes. -Solution: Call set_topline() to take care of side effects. (Lech Lorens) -Files: src/misc1.c - -Patch 7.2.285 (after 7.2.169) -Problem: CTRL-U in Insert mode also deletes indent. (Andrey Voropaev) -Solution: Fix mistake made in patch 7.2.169. -Files: src/edit.c - -Patch 7.2.286 (after 7.2.269) -Problem: The "--startuptime=<file>" argument is not consistent with other - arguments. -Solution: Use "--startuptime <file>". Added the +startuptime feature. -Files: runtime/doc/eval.txt, runtime/doc/starting.txt, - runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c - -Patch 7.2.287 -Problem: Warning from gcc 3.4 about uninitialized variable. -Solution: Move assignment outside of #ifdef. -Files: src/if_perl.xs - -Patch 7.2.288 -Problem: Python 2.6 pyconfig.h redefines macros. -Solution: Undefine the macros before including pyconfig.h. -Files: src/if_python.c - -Patch 7.2.289 -Problem: Checking wrong struct member. -Solution: Change tb_buf to tb_noremap. (Dominique Pelle) -Files: src/getchar.c - -Patch 7.2.290 -Problem: Not freeing memory from ":lmap", ":xmap" and ":menutranslate". -Solution: Free the memory when exiting. (Dominique Pelle) -Files: src/misc2.c - -Patch 7.2.291 -Problem: Reading uninitialised memory in arabic mode. -Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique - Pelle) -Files: src/screen.c - -Patch 7.2.292 -Problem: Block right-shift doesn't work properly with multi-byte encoding - and 'list' set. -Solution: Add the missing "else". (Lech Lorens) -Files: src/ops.c - -Patch 7.2.293 -Problem: When setting 'comments' option it may be used in a wrong way. -Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira) -Files: src/misc1.c - -Patch 7.2.294 -Problem: When using TEMPDIRS dir name could get too long. -Solution: Overwrite tail instead of appending each time. Use mkdtemp() when - available. (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c - -Patch 7.2.295 -Problem: When using map() on a List the index is not known. -Solution: Set v:key to the index. (Hari Krishna Dara) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.296 -Problem: Help message about startuptime is wrong. (Dominique Pelle) -Solution: Remove the equal sign. -Files: src/main.c - -Patch 7.2.297 -Problem: Reading freed memory when writing ":reg" output to a register. - (Dominique Pelle) -Solution: Skip the register being written to. -Files: src/ops.c - -Patch 7.2.298 -Problem: ":vimgrep" crashes when there is an autocommand that sets a - window-local variable. -Solution: Initialize the w: hashtab for re-use. (Yukihiro Nakadaira) -Files: src/fileio.c - -Patch 7.2.299 -Problem: Crash when comment middle is longer than start. -Solution: Fix size computation. (Lech Lorens) -Files: src/misc1.c - -Patch 7.2.300 -Problem: Vim doesn't close file descriptors when forking and executing - another command, e.g., ":shell". -Solution: Use FD_CLOEXEC when available. (James Vega) -Files: auto/configure, src/config.h.in, src/configure.in, - src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c - -Patch 7.2.301 -Problem: Formatting is wrong when 'tw' is set to a small value. -Solution: Fix it and add tests. Also fix behavior of "1" in 'fo'. (Yukihiro - Nakadaira) -Files: src/edit.c, src/testdir/Makefile, src/testdir/test68.in, - src/testdir/test68.ok, src/testdir/test69.in, - src/testdir/test69,ok - -Patch 7.2.302 (extra part of 7.2.301) -Problem: Formatting wrong with small 'tw' value. -Solution: Add build rules for tests. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms - -Patch 7.2.303 (after 7.2.294) -Problem: Can't build on MS-Windows. -Solution: Add #ifdef around vim_settempdir(). (James Vega) -Files: src/fileio.c - -Patch 7.2.304 -Problem: Compiler warning for bad pointer cast. -Solution: Use another variable for int pointer. -Files: src/ops.c - -Patch 7.2.305 -Problem: Recursively redrawing causes a memory leak. (Dominique Pelle) -Solution: Disallow recursive screen updating. -Files: src/screen.c - -Patch 7.2.306 -Problem: shellescape("10%%", 1) only escapes first %. (Christian Brabandt) -Solution: Don't copy the character after the escaped one. -Files: src/misc2.c - -Patch 7.2.307 -Problem: Crash with a very long syntax match statement. (Guy Gur Ari) -Solution: When the offset does not fit in the two bytes available give an - error instead of continuing with invalid pointers. -Files: src/regexp.c - -Patch 7.2.308 -Problem: When using a regexp in the "\=" expression of a substitute - command, submatch() returns empty strings for further lines. - (Clockwork Jam) -Solution: Save and restore the line number and line count when calling - reg_getline(). -Files: src/regexp.c - -Patch 7.2.309 (after 7.2.308) -Problem: Warning for missing function prototype. (Patrick Texier) -Solution: Add the prototype. -Files: src/regexp.c - -Patch 7.2.310 -Problem: When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and - the file starts with a "# comment" it gets "conf" filetype. -Solution: Check for "conf" filetype after using ftdetect plugins. -Files: runtime/filetype.vim - -Patch 7.2.311 -Problem: Can't compile with FreeMiNT. -Solution: Change #ifdef for limits.h. (Alan Hourihane) -Files: src/fileio.c - -Patch 7.2.312 -Problem: iconv() returns an invalid character sequence when conversion - fails. It should return an empty string. (Yongwei Wu) -Solution: Be more strict about invalid characters in the input. -Files: src/mbyte.c - -Patch 7.2.313 -Problem: Command line completion doesn't work after "%:h" and similar. -Solution: Expand these items before doing the completion. -Files: src/ex_getln.c, src/misc1.c, src/proto/misc1.pro - -Patch 7.2.314 -Problem: Missing function in small build. -Solution: Always include concat_str. -Files: src/misc1.c - -Patch 7.2.315 -Problem: Python libs can't be found on 64 bit system. -Solution: Add lib64 to the list of directories. (Michael Henry) -Files: src/auto/configure, src/configure.in - -Patch 7.2.316 -Problem: May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck) -Solution: First remove all these arguments and then add the one we want. - (Dominique Pelle) -Files: src/auto/configure, src/configure.in - -Patch 7.2.317 -Problem: Memory leak when adding a highlight group with unprintable - characters, resulting in E669. -Solution: Free the memory. And fix a few typos. (Dominique Pelle) -Files: src/syntax.c - -Patch 7.2.318 -Problem: Wrong locale value breaks floating point numbers for gvim. -Solution: Set the locale again after doing GUI inits. (Dominique Pelle) -Files: src/main.c - -Patch 7.2.319 -Problem: Motif: accessing freed memory when cancelling font dialog. -Solution: Destroy the widget only after accessing it. (Dominique Pelle) -Files: src/gui_xmdlg.c - -Patch 7.2.320 -Problem: Unused function in Mzscheme interface. -Solution: Remove the function and what depends on it. (Dominique Pelle) -Files: src/if_mzsch.c, src/proto/if_mzsch.pro - -Patch 7.2.321 -Problem: histadd() and searching with "*" fails to add entry to history - when it is empty. -Solution: Initialize the history. (Lech Lorens) -Files: src/eval.c, src/normal.c - -Patch 7.2.322 -Problem: Wrong indenting in virtual replace mode with CTRL-Y below a short - line. -Solution: Check for character to be NUL. (suggested by Lech Lorens) -Files: src/edit.c - -Patch 7.2.323 (extra) -Problem: Balloon evaluation crashes on Win64. -Solution: Change pointer types. (Sergey Khorev) -Files: src/gui_w32.c - -Patch 7.2.324 -Problem: A negative column argument in setpos() may cause a crash. -Solution: Check for invalid column number. (James Vega) -Files: src/eval.c, src/misc2.c - -Patch 7.2.325 -Problem: A stray "w" in the startup vimrc file causes the edited file to be - replaced with an empty file. (Stone Kang). -Solution: Do not write a buffer when it has never been loaded. -Files: src/fileio.c - -Patch 7.2.326 -Problem: Win32: $HOME doesn't work when %HOMEPATH% is not defined. -Solution: Use "\" for %HOMEPATH% when it is not defined. -Files: src/misc1.c - -Patch 7.2.327 -Problem: Unused functions in Workshop. -Solution: Add "#if 0" and minor cleanup. (Dominique Pelle) -Files: src/workshop.c, src/integration.c, src/integration.h - -Patch 7.2.328 -Problem: has("win64") does not return 1 on 64 bit MS-Windows version. -Solution: Also check for _WIN64 besides WIN64. -Files: src/eval.c - -Patch 7.2.329 -Problem: "g_" doesn't position cursor correctly when in Visual mode and - 'selection' is "exclusive". (Ben Fritz) -Solution: Call adjust_for_sel(). -Files: src/normal.c - -Patch 7.2.330 -Problem: Tables for Unicode case operators are outdated. -Solution: Add a Vim script for generating the tables. Include tables for - Unicode 5.2. -Files: runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c - -Patch 7.2.331 -Problem: Can't interrupt "echo list" for a very long list. -Solution: Call line_breakcheck() in list_join(). -Files: src/eval.c - -Patch 7.2.332 -Problem: Crash when spell correcting triggers an autocommand that reloads - the buffer. -Solution: Make a copy of the line to be modified. (Dominique Pelle) -Files: src/spell.c - -Patch 7.2.333 -Problem: Warnings from static code analysis. -Solution: Small changes to various lines. (Dominique Pelle) -Files: src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c, - src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c, - src/syntax.c, src/ui.c - -Patch 7.2.334 -Problem: Postponing keys in Netbeans interface does not work properly. -Solution: Store the key string instead of the number. Avoid an infinite - loop. (Mostly by Xavier de Gaye) -Files: src/netbeans.c, src/proto/netbeans.pro - -Patch 7.2.335 -Problem: The CTRL-] command escapes too many characters. -Solution: Use a different list of characters to be escaped. (Sergey Khorev) -Files: src/normal.c - -Patch 7.2.336 -Problem: MzScheme interface can't evaluate an expression. -Solution: Add mzeval(). (Sergey Khorev) -Files: runtime/doc/eval.txt, runtime/doc/if_mzsch.txt, - runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c, - src/proto/eval.pro, src/proto/if_mzsch.pro, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in, - src/testdir/test70.in, src/testdir/test70.ok - -Patch 7.2.337 -Problem: The :compiler command doesn't function properly when invoked in a - function. -Solution: Add "g:" before "current_compiler". (Yukihiro Nakadaira) -Files: src/ex_cmds2.c - -Patch 7.2.338 (after 7.2.300) -Problem: Part of FD_CLOEXEC change is missing. -Solution: Include source file skipped because of typo. -Files: src/ex_cmds2.c - -Patch 7.2.339 (after 7.2.269) -Problem: Part of --startuptime patch is missing. -Solution: Add check for time_fd. -Files: src/ex_cmds2.c - -Patch 7.2.340 -Problem: Gcc warning for condition that can never be true. (James Vega) -Solution: Use start_lvl instead flp->lvl. -Files: src/fold.c - -Patch 7.2.341 -Problem: Popup menu wraps to next line when double-wide character doesn't - fit. (Jiang Ma) -Solution: Display a ">" instead. (Dominique Pelle) -Files: src/screen.c - -Patch 7.2.342 -Problem: Popup menu displayed wrong in 'rightleft' mode when there are - multi-byte characters. -Solution: Adjust the column computations. (Dominique Pelle) -Files: src/popupmnu.c - -Patch 7.2.343 (after 7.2.338) -Problem: Can't compile on Win32. -Solution: Insert the missing '|'. -Files: src/ex_cmds2.c - -Patch 7.2.344 (after 7.2.343) -Problem: Can't compile on some systems -Solution: Move the #ifdef outside of the mch_open macro. (Patrick Texier) -Files: src/ex_cmds2.c - -Patch 7.2.345 -Problem: Tab line is not updated when the value of 'bt' is changed. -Solution: Call redraw_titles(). (Lech Lorens) -Files: src/option.c - -Patch 7.2.346 -Problem: Repeating a command with @: causes a mapping to be applied twice. -Solution: Do not remap characters inserted in the typeahead buffer. (Kana - Natsuno) -Files: src/ops.c - -Patch 7.2.347 -Problem: Crash when executing <expr> mapping redefines that same mapping. -Solution: Save the values used before evaluating the expression. -Files: src/getchar.c - -Patch 7.2.348 (after 7.2.330) -Problem: Unicode double-width characters are not up-to date. -Solution: Produce the double-width table like the others. -Files: runtime/tools/unicode.vim, src/mbyte.c - -Patch 7.2.349 -Problem: CTRL-W gf doesn't put the new tab in the same place as "tab split" - and "gf". (Tony Mechelynck) -Solution: Store the tab number in cmdmod.tab. -Files: src/window.c - -Patch 7.2.350 -Problem: Win32: When changing font the window may jump from the secondary - to the primary screen. (Michael Wookey) -Solution: When the screen position was negative don't correct it to zero. -Files: src/gui.c - -Patch 7.2.351 (after 7.2.347) -Problem: Can't build with some compilers. -Solution: Move the #ifdef outside of a macro. Cleanup the code. -Files: src/getchar.c - -Patch 7.2.352 (extra) -Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. -Solution: Always return TRUE for the WM_NCCREATE message. (Andy Kittner) -Files: src/gui_w48.c - -Patch 7.2.353 -Problem: No command line completion for ":profile". -Solution: Complete the subcommand and file name. -Files: src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c, - src/proto/ex_cmds2.pro, src/vim.h - -Patch 7.2.354 -Problem: Japanese single-width double-byte characters not handled correctly. -Solution: Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[]. - (partly by Kikuchan) -Files: src/screen.c - -Patch 7.2.355 -Problem: Computing the cursor column in validate_cursor_col() is wrong when - line numbers are used and 'n' is not in 'cpoptions', causing the - popup menu to be positioned wrong. -Solution: Correctly use the offset. (partly by Dominique Pelle) -Files: src/move.c - -Patch 7.2.356 -Problem: When 'foldmethod' is changed not all folds are closed as expected. -Solution: In foldUpdate() correct the start position and reset fd_flags when - w_foldinvalid is set. (Lech Lorens) -Files: src/fold.c - -Patch 7.2.357 -Problem: When changing 'fileformat' from/to "mac" and there is a CR in the - text the display is wrong. -Solution: Redraw the text when 'fileformat' is changed. (Ben Schmidt) -Files: src/option.c - -Patch 7.2.358 -Problem: Compiler warnings on VMS. (Zoltan Arpadffy) -Solution: Pass array itself instead its address. Return a value. -Files: src/gui_gtk_x11.c, src/os_unix.c - -Patch 7.2.359 -Problem: Crash when using the Netbeans join command. -Solution: Make sure the ml_flush_line() function is not used recursively. - (Xavier de Gaye) -Files: src/memline.c - -Patch 7.2.360 -Problem: Ruby on MS-Windows: can't use sockets. -Solution: Call NtInitialize() during initialization. (Ariya Mizutani) -Files: src/if_ruby.c - -Patch 7.2.361 -Problem: Ruby 1.9 is not supported. -Solution: Add Ruby 1.9 support. (Masaki Suketa) -Files: src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c - -Patch 7.2.362 (extra, after 7.2.352) -Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. -Solution: Instead of handling WM_NCCREATE, create wide text area window - class if the parent window iw side. (Sergey Khorev) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.2.363 -Problem: Can't dynamically load Perl 5.10. -Solution: Add the function Perl_croak_xs_usage. (Sergey Khorev) -Files: src/if_perl.xs - -Patch 7.2.364 (extra) -Problem: Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott) -Solution: Check if _MSC_VER is defined. (Andy Kittner) -Files: src/GvimExt/gvimext.h - -Patch 7.2.365 (extra) -Problem: MS-Windows with MingW: "File->Save As" does not work. (John - Marriott) -Solution: Correctly fill in structure size. (Andy Kittner) -Files: src/gui_w48.c - -Patch 7.2.366 -Problem: CTRL-B doesn't go back to the first line of the buffer. -Solution: Avoid an overflow when adding MAXCOL. -Files: src/move.c - -Patch 7.2.367 -Problem: "xxd -r -p" doesn't work as documented. -Solution: Skip white space. (James Vega) -Files: src/xxd/xxd.c - -Patch 7.2.368 (after 7.2.361) -Problem: Ruby interface: Appending line doesn't work. (Michael Henry) -Solution: Reverse check for NULL line. (James Vega) -Files: src/if_ruby.c - -Patch 7.2.369 -Problem: Error message is not easy to understand. -Solution: Add quotes. (SungHyun Nam) -Files: src/ex_cmds2.c - -Patch 7.2.370 (after 7.2.356) -Problem: A redraw may cause folds to be closed. -Solution: Revert part of the previous patch. Add a test. (Lech Lorens) -Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in, - src/testdir/test45.ok - -Patch 7.2.371 -Problem: Build problems on Tandem NonStop. -Solution: A few changes to #ifdefs (Joachim Schmitz) -Files: src/auto/configure, src/configure.in, src/config.h.in, src/vim.h, - src/if_cscope.c, src/osdef1.h.in, src/tag.c - -Patch 7.2.372 (extra) -Problem: Cross-compiling GvimExt and xxd doesn't work. -Solution: Change the build files. (Markus Heidelberg) -Files: src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak, - src/Make_ming.mak, src/xxd/Make_cyg.mak - -Patch 7.2.373 -Problem: Gcc 4.5 adds more error messages. (Chris Indy) -Solution: Update default 'errorformat'. -Files: src/option.h - -Patch 7.2.374 -Problem: Ruby eval() doesn't understand Vim types. -Solution: Add the vim_to_ruby() function. (George Gensure) -Files: src/eval.c, src/if_ruby.c - -Patch 7.2.375 -Problem: ml_get errors when using ":bprevious" in a BufEnter autocmd. - (Dominique Pelle) -Solution: Clear w_valid when entering another buffer. -Files: src/buffer.c - -Patch 7.2.376 -Problem: ml_get error when using SiSU syntax. (Nathan Thomas) -Solution: If the match ends below the last line move it to the end of the - last line. -Files: src/syntax.c - -Patch 7.2.377 (extra, after 7.2.372) -Problem: Misplaced assignment. Duplicate build line for gvimext.dll. -Solution: Move setting CROSS_COMPILE to before ifneq. Remove the wrong - build line. (Markus Heidelberg) -Files: src/Make_ming.mak - -Patch 7.2.378 -Problem: C function declaration indented too much. (Rui) -Solution: Don't see a line containing { or } as a type. (Matt Wozniski) -Files: src/misc1.c - -Patch 7.2.379 -Problem: 'eventignore' is set to an invalid value inside ":doau". (Antony - Scriven) -Solution: Don't include the leading comma when the option was empty. -Files: src/fileio.c - -Patch 7.2.380 (after 7.2.363) -Problem: Perl interface builds with 5.10.1 but not with 5.10.0. -Solution: Change the #ifdefs. (Sergey Khorev) -Files: src/if_perl.xs - -Patch 7.2.381 -Problem: No completion for :behave. -Solution: Add :behave completion. Minor related fixes. (Dominique Pelle) -Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h - -Patch 7.2.382 -Problem: Accessing freed memory when closing the cmdline window when - 'bufhide' is set to "wipe". -Solution: Check if the buffer still exists before invoking close_buffer() - (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.383 -Problem: Vim doesn't build cleanly with MSVC 2010. -Solution: Change a few types. (George Reilly) -Files: src/ex_cmds2.c, src/if_python.c, src/syntax.c - -Patch 7.2.384 (extra) -Problem: Vim doesn't build properly with MSVC 2010. -Solution: Add the nmake version to the build file. (George Reilly) -Files: src/Make_mvc.mak, src/testdir/Make_dos.mak - -Patch 7.2.385 -Problem: When in the command line window dragging status line only works - for last-but-one window. (Jean Johner) -Solution: Remove the code that disallows this. -Files: src/ui.c - -Patch 7.2.386 -Problem: Focus hack for KDE 3.1 causes problems for other window managers. -Solution: Remove the hack. (forwarded by Joel Bradshaw) -Files: src/gui_gtk.c - -Patch 7.2.387 -Problem: Ruby with MingW still doesn't build all versions. -Solution: More #ifdefs for the Ruby code. (Sergey Khorev) -Files: src/if_ruby.c - -Patch 7.2.388 (extra part of 7.2.387) -Problem: Ruby with MingW still doesn't build all versions. -Solution: Different approach to build file. (Sergey Khorev) -Files: src/Make_ming.mak - -Patch 7.2.389 -Problem: synIDattr() cannot return the font. -Solution: Support the "font" argument. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/syntax.c - -Patch 7.2.390 -Problem: In some situations the popup menu can be displayed wrong. -Solution: Remove the popup menu if the cursor moved. (Lech Lorens) -Files: src/edit.c - -Patch 7.2.391 -Problem: Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen) -Solution: Fix computations in getvcol(). (partly by Lech Lorens) -Files: src/charset.c, src/memline.c - -Patch 7.2.392 -Problem: Netbeans hangs reading from a socket at the maximum block size. -Solution: Use select() or poll(). (Xavier de Gaye) -Files: src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c - -Patch 7.2.393 -Problem: Mac: Can't build with different Xcode developer tools directory. -Solution: make "Developer" directory name configurable. (Rainer Muller) -Files: src/configure.in, src/auto/configure - -Patch 7.2.394 -Problem: .lzma and .xz files are not supported. -Solution: Recognize .lzma and .xz files so that they can be edited. -Files: runtime/plugin/gzip.vim - -Patch 7.2.395 -Problem: In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony - Mechelynck) -Solution: Don't escape ? for a help command. (Sergey Khorev) -Files: src/normal.c - -Patch 7.2.396 -Problem: Get E38 errors. (Dasn) -Solution: Set cursor to line 1 instead of 0. (Dominique Pelle) -Files: src/popupmnu.c - -Patch 7.2.397 -Problem: Redundant check for w_lines_valid. -Solution: Remove the if. (Lech Lorens) -Files: src/fold.c - -Patch 7.2.398 -Problem: When moving windows the cursor ends up in the wrong line. -Solution: Set the window width and height properly. (Lech Lorens) -Files: src/window.c - -Patch 7.2.399 (extra, after 7.2.388) -Problem: Cannot compile on MingW. -Solution: Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle) -Files: src/Make_ming.mak - -Patch 7.2.400 (after 7.2.387) -Problem: Dynamic Ruby is not initialised properly for version 1.9.1. - Ruby cannot create strings from NULL. -Solution: Cleanup #ifdefs. Handle NULL like an empty string. Add - ruby_init_stack. (Sergey Khorev) -Files: src/if_ruby.c - -Patch 7.2.401 -Problem: ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight - directory names with a space. (Alexandre Provencio) -Solution: Remove the backslash before checking if the name is a directory. - (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.402 -Problem: This gives a #705 error: let X = function('haslocaldir') - let X = function('getcwd') -Solution: Don't give E705 when the name is found in the hashtab. (Sergey - Khorev) -Files: src/eval.c - -Patch 7.2.403 (after 7.2.400) -Problem: Compiler warning for pointer type. (Tony Mechelynck) -Solution: Move type cast to the right place. -Files: src/if_ruby.c - -Patch 7.2.404 -Problem: Pointers for composing characters are not properly initialized. -Solution: Compute the size of the pointer, not what it points to. (Yukihiro - Nakadaira) -Files: src/screen.c - -Patch 7.2.405 -Problem: When built with small features the matching text is not - highlighted for ":s/pat/repl/c". -Solution: Remove the #ifdef for IncSearch. (James Vega) -Files: src/syntax.c - -Patch 7.2.406 -Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle) -Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro - Nakadaira) Also clear ScreeenLinesC when allocating. -Files: src/screen.c - -Patch 7.2.407 -Problem: When using an expression in ":s" backslashes in the result are - dropped. (Sergey Goldgaber, Christian Brabandt) -Solution: Double backslashes. -Files: src/regexp.c - -Patch 7.2.408 -Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line - that was not changed. -Solution: Only set '[ and '] marks when a substitution was done. -Files: src/ex_cmds.c - -Patch 7.2.409 -Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean - Johner) -Solution: Reset sub_nsubs and sub_nlines in global_exe(). -Files: src/ex_cmds.c - -Patch 7.2.410 -Problem: Highlighting directories for completion doesn't work properly. -Solution: Don't halve backslashes when not needed, expanded "~/". - (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.411 -Problem: When parsing 'cino' a comma isn't skipped properly. -Solution: Skip the comma. (Lech Lorens) -Files: src/misc1.c - -Patch 7.2.412 -Problem: [ or ] followed by mouse click doesn't work. -Solution: Reverse check for key being a mouse event. (Dominique Pelle) -Files: src/normal.c - -Patch 7.2.413 -Problem: Large file support is incorrect. -Solution: Add AC_SYS_LARGEFILE to configure. (James Vega) -Files: src/configure.in, src/config.h.in, src/auto/configure - -Patch 7.2.414 -Problem: CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony - Mechelynck) -Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are - not valid characters. -Files: src/digraph.c - -Patch 7.2.415 -Problem: Win32: Can't open a remote file when starting Vim. -Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi) -Files: src/main.c - -Patch 7.2.416 -Problem: Logtalk.dict is not installed. -Solution: Add it to the install target. (Markus Heidelberg) -Files: src/Makefile - -Patch 7.2.417 -Problem: When 'shell' has an argument with a slash then 'shellpipe' is not - set properly. (Britton Kerin) -Solution: Assume there are no spaces in the path, arguments follow. -Files: src/option.c - -Patch 7.2.418 -Problem: Vim tries to set the background or foreground color in a terminal - to -1. (Graywh) Happens with ":hi Normal ctermbg=NONE". -Solution: When resetting the foreground or background color don't set the - color, let the clear screen code do that. -Files: src/syntax.c - -Patch 7.2.419 -Problem: Memory leak in Motif when clicking on "Search Vim Help". -Solution: Free string returned by XmTextGetString(). (Dominique Pelle) -Files: src/gui_motif.c - -Patch 7.2.420 -Problem: ":argedit" does not accept "++enc=utf8" as documented. (Dominique - Pelle) -Solution: Add the ARGOPT flag to ":argedit". -Files: src/ex_cmds.h - -Patch 7.2.421 -Problem: Folds are sometimes not updated properly and there is no way to - force an update. -Solution: Make "zx" and "zX" recompute folds (suggested by Christian - Brabandt) -Files: src/normal.c - -Patch 7.2.422 -Problem: May get E763 when using spell dictionaries. -Solution: Avoid utf-8 case folded character to be truncated to 8 bits and - differ from latin1. (Dominique Pelle) -Files: src/spell.c - -Patch 7.2.423 -Problem: Crash when assigning s: to variable. (Yukihiro Nakadaira) -Solution: Make ga_scripts contain pointer to scriptvar_T instead of - scriptvar_T itself. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.424 -Problem: ":colorscheme" without an argument doesn't do anything. -Solution: Make it echo the current color scheme name. (partly by Christian - Brabandt) -Files: runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.425 -Problem: Some compilers complain about fourth EX() argument. -Solution: Add cast to long_u. -Files: src/ex_cmds.h - -Patch 7.2.426 -Problem: Commas in 'langmap' are not always handled correctly. -Solution: Require commas to be backslash escaped. (James Vega) -Files: src/option.c - -Patch 7.2.427 -Problem: The swapfile is created using the destination of a symlink, but - recovery doesn't follow symlinks. -Solution: When recovering, resolve symlinks. (James Vega) -Files: src/memline.c - -Patch 7.2.428 -Problem: Using setqflist([]) to clear the error list doesn't work properly. -Solution: Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.2.429 -Problem: A file that exists but access is denied may result in a "new file" - message. E.g. when its directory is unreadable. -Solution: Specifically check for ENOENT to decide a file doesn't exist. - (partly by James Vega) -Files: src/fileio.c - -Patch 7.2.430 -Problem: The ++bad argument is handled wrong, resulting in an invalid - memory access. -Solution: Use the bad_char field only for the replacement character, add - bad_char_idx to store the position. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.431 -Problem: ":amenu" moves the cursor when in Insert mode. -Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt) -Files: src/menu.c - -Patch 7.2.432 -Problem: When menus are translated they can only be found by the translated - name. That makes ":emenu" difficult to use. -Solution: Store the untranslated name and use it for completion and :emenu. - (Liang Peng (Bezetek James), Edward L. Fox) -Files: src/menu.c, src/structs.h - -Patch 7.2.433 -Problem: Can't use cscope with QuickFixCmdPre and QuickFixCmdPost. -Solution: Add cscope support for these autocmd events. (Bryan Venteicher) -Files: runtime/doc/autocmd.txt, src/if_cscope.c - -Patch 7.2.434 (after 7.2.432) -Problem: Compilation fails without the multi-lang feature. -Solution: Add #ifdefs. (John Marriott) -Files: src/menu.c - -Patch 7.2.435 (after 7.2.430) -Problem: Crash when using bad_char_idx uninitialized. (Patrick Texier) -Solution: Don't use bad_char_idx, reproduce the ++bad argument from bad_char. -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.436 -Problem: Reproducible crash in syntax HL. (George Reilly, Dominique Pelle) -Solution: Make sst_stacksize an int instead of short. (Dominique Pelle) -Files: src/structs.h - -Patch 7.2.437 (after 7.2.407) -Problem: When "\\\n" appears in the expression result the \n doesn't result - in a line break. (Andy Wokula) -Solution: Also replace a \n after a backslash into \r. -Files: src/regexp.c - -Patch 7.2.438 (after 7.2.427) -Problem: "vim -r" crashes. -Solution: Don't use NULL pointer argument. -Files: src/memline.c - -Patch 7.2.439 -Problem: Invalid memory access when doing thesaurus completion and - 'infercase' is set. -Solution: Use the minimal length of completed word and replacement. - (Dominique Pelle) -Files: src/edit.c - -Patch 7.2.440 -Problem: Calling a function through a funcref, where the function deletes - the funcref, leads to an invalid memory access. -Solution: Make a copy of the function name. (Lech Lorens) -Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok - -Patch 7.2.441 -Problem: When using ":earlier" undo information may be wrong. -Solution: When changing alternate branches also adjust b_u_oldhead. -Files: src/undo.c - -Patch 7.2.442 (after 7.2.201) -Problem: Copy/paste with OpenOffice doesn't work. -Solution: Do not offer the HTML target when it is not supported. (James - Vega) -Files: src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro - -Patch 7.2.443 -Problem: Using taglist() on a tag file with duplicate fields generates an - internal error. (Peter Odding) -Solution: Check for duplicate field names. -Files: src/eval.c, src/proto/eval.pro, src/tag.c - -Patch 7.2.444 (after 7.2.442) -Problem: Can't build with GTK 1, gtk_selection_clear_targets() is not - available. (Patrick Texier) -Solution: Don't change the targets for GTK 1, set them once. -Files: src/gui_gtk_x11.c, src/option.c - -Patch 7.2.445 -Problem: Crash when using undo/redo and a FileChangedRO autocmd event that - reloads the buffer. (Dominique Pelle) -Solution: Do not allow autocommands while performing and undo or redo. -Files: src/misc1.c, src/undo.c - -Patch 7.2.446 -Problem: Crash in GUI when closing the last window in a tabpage. (ryo7000) -Solution: Remove the tabpage from the list before freeing the window. -Files: src/window.c - -When writing a file, switching tab pages and selecting a word the file write -message would be displayed again. This happened in Insert mode and with -'cmdheight' set to 2. - -When using ":lang" to set a locale that uses a comma for decimal separator and -using GTK floating point numbers stop working. Use gtk_disable_setlocale(). -(James Vega) - -"g8" didn't produce the right value on a NUL. (Dominique Pelle) - -Use BASEMODLIBS instead of MODLIBS for Python configuration to pick up the -right compiler flags. (Michael Bienia) - -Window title was not updated after dropping a file on Vim. (Hari G) - -synstack() did not return anything when just past the end of the line. Useful -when using the cursor position in Insert mode. - -When entering a digraph or special character after a line that fits the window -the '?' or '^' on the next line is not redrawn. (Ian Kelling) - -Composing characters in |:s| substitute text were dropped. - -|exists()| was causing an autoload script to be loaded. - -Filter out -pthread for cproto. - -Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin -Toft) - -Spell menu moved the cursor, causing Copy not to work. Spell replacement -didn't work in 'compatible' mode. - -Various small fixes from Dominique Pelle. - -Fix that :mksession may generate "2argu" even though there is no such -argument. (Peter Odding) - -Fixes for time in clipboard request. Also fix ownership. (David Fries) - -Fixed completion of file names with '%' and '*'. - -Fixed MSVC makefile use of /Wp64 flag. - -Correct use of long instead of off_t for file size. (James Vega) - -Add a few #ifdefs to exclude functions that are not used. (Dominique Pelle) - -Remove old and unused method to allocate memory for undo. - -Fix definition of UINT_PTR for 64 bit systems. - -Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr. - -Window title not updated after file dropped. - -Fixed crash for ":find" completion, might also happen in other path expansion -usage. - -When 'searchhl' causes a hang make CTRL-C disable 'searchhl'. - -When resetting both 'title' and 'icon' the title would be set after a shell -command. - -Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up. - -Fix for compiler warning about function prototype in pty.c. - -Added 'window' to the options window. - -Fixed: errors for allocating zero bytes when profiling an empty function. - -Remove -arch flag from build flags for Perl. (Bjorn Wickler) - -Fix 'autochdir' not showing up in :options window. (Dominique Pelle) - -Fix: test 69 didn't work on MS-Windows. Test 72 beeped too often. - -Avoid illegal memory access in spell suggestion. (Dominique Pelle) -Fix: crash in spell checking with a 0x300 character. - -Avoid that running tests changes viminfo. - -Fix: changing case of a character removed combining characters. -Fixed: CTRL-R in Insert mode doesn't insert composing characters. - -Added the WOW64 flag to OLE registration, for 64 bit Windows systems. - -Various fixes for coverity warnings. - -Fix compile warnings, esp. for 64-bit systems. (Mike Williams) - -Fix: :redir to a dictionary that is changed before ":redir END" causes a -memory access error. - -Fix: terminal title not properly restored when there are multi-byte -characters. (partly by James Vega) - -Set 'wrapscan' when checking the .po files. (Mike Williams) - -Win32: Put quotes around the gvim.exe path for the "Open with" menu entry. - -On MS-Windows sometimes files with number 4913 or higher are left behind. - -'suffixesadd' was used for finding tags file. - -Removed unused code. - -Improved positioning of combining characters in GTK. - -Made test 11 pass when there is no gzip program. (John Beckett) - -Changed readfile() to ignore byte order marks, unless in binary mode. - -On MS-Windows completion of shell commands didn't work. - -An unprintable multi-byte character at the start of the screen line caused the -following text to be drawn at the wrong position. - -Got ml_get errors when using undo with 'virtualedit'. - -Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron) - -Unix "make install" installed a few Amiga .info files. - -Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars' -contains a character that would become double width. - -Set 'wrapscan' when checking the .po files. (Mike Williams) - -Fixed: using expression in command line may cause a crash. - -Avoid warnings from the clang compiler. (Dominique Pelle) - -Fix: Include wchar.h in charset.c for towupper(). - -Fixed: Using ":read file" in an empty buffer when 'compatible' is set caused -an error. Was caused by patch 7.2.132. - -Make the references to features in the help more consistent. (Sylvain Hitier) - -============================================================================== -VERSION 7.4 *version-7.4* *version7.4* - -This section is about improvements made between version 7.3 and 7.4. - -This release has hundreds of bug fixes and there are a few new features. The -most notable new features are: - -- New regexp engine |new-regexp-engine| -- A more pythonic Python interface |better-python-interface| - - -New regexp engine *new-regexp-engine* ------------------ - -What is now called the "old" regexp engine uses a backtracking algorithm. It -tries to match the pattern with the text in one way, and when that fails it -goes back and tries another way. This works fine for simple patterns, but -complex patterns can be very slow on longer text. - -The new engine uses a state machine. It tries all possible alternatives at -the current character and stores the possible states of the pattern. This is -a bit slower for simple patterns, but much faster for complex patterns and -long text. - -Most notably, syntax highlighting for Javascript and XML files with long lines -is now working fine. Previously Vim could get stuck. - -More information here: |two-engines| - - -Better Python interface *better-python-interface* ------------------------ - -Added |python-bindeval| function. Unlike |python-eval| this one returns -|python-Dictionary|, |python-List| and |python-Function| objects for -dictionaries lists and functions respectively in place of their Python -built-in equivalents (or None if we are talking about function references). - For simple types this function returns Python built-in types and not only -Python `str()` like |python-eval| does. On Python 3 it will return `bytes()` -objects in place of `str()` ones avoiding possibility of UnicodeDecodeError. - Interface of new objects mimics standard Python `dict()` and `list()` -interfaces to some extent. Extent will be improved in the future. - -Added special |python-vars| objects also available for |python-buffer| and -|python-window|. They ease access to VimL variables from Python. - -Now you no longer need to alter `sys.path` to import your module: special -hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and -{rtp}/pythonx directories (for Python 2, Python 3 and both respectively). -See |python-special-path|. - -Added possibility to work with |tabpage|s through |python-tabpage| object. - -Added automatic conversion of Vim errors and exceptions to Python -exceptions. - -Changed the behavior of the |python-buffers| object: it now uses buffer numbers -as keys in place of the index of the buffer in the internal buffer list. -This should not break anything as the only way to get this index was -iterating over |python-buffers|. - -Added |:pydo| and |:py3do| commands. - -Added the |pyeval()| and |py3eval()| functions. - -Now in all places which previously accepted `str()` objects, `str()` and -`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted. - -|python-window| has gained `.col` and `.row` attributes that are currently -the only way to get internal window positions. - -Added or fixed support for `dir()` in Vim Python objects. - - -Changed *changed-7.4* -------- - -Old Python versions (≤2.2) are no longer supported. Building with them did -not work anyway. - -Options: - Added ability to automatically save the selection into the system - clipboard when using non-GUI version of Vim (autoselectplus in - 'clipboard'). Also added ability to use the system clipboard as - default register (previously only primary selection could be used). - (Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar) - - Added a special 'shiftwidth' value that makes 'sw' follow 'tabstop'. - As indenting via 'indentexpr' became tricky |shiftwidth()| function - was added. Also added equivalent special value to 'softtabstop' - option. (Christian Brabandt, so8res) - - Show absolute number in number column when 'relativenumber' option is - on. Now there are four combinations with 'number' and - 'relativenumber'. (Christian Brabandt) - -Commands: - |:diffoff| now saves the local values of some settings and restores - them in place of blindly resetting them to the defaults. (Christian - Brabandt) - -Other: - Lua interface now also uses userdata binded to Vim structures. (Taro - Muraoka, Luis Carvalho) - - glob() and autocommand patterns used to work with the undocumented - "\{n,m\}" item from a regexp. "\{" is now used for a literal "{", as - this is normal in shell file patterns. Now used "\\\{n,m\}" to get - "\{n,m}" in the regexp pattern. - -Added *added-7.4* ------ - -Various syntax, indent and other plugins were added. - -Added support for |Lists| and |Dictionaries| in |viminfo|. (Christian -Brabandt) - -Functions: - Bitwise functions: |and()|, |or()|, |invert()|, |xor()|. - - Added |luaeval()| function. (Taro Muraoka, Luis Carvalho) - - Added |sha256()| function. (Tyru, Hirohito Higashi) - - Added |wildmenumode()| function. (Christian Brabandt) - - Debugging functions: |screenattr()|, |screenchar()|, |screencol()|, - |screenrow()|. (Simon Ruderich, Bram Moolenaar) - - Added ability to use |Dictionary-function|s for |sort()|ing, via - optional third argument. (Nikolay Pavlov) - - Added special |expand()| argument that expands to the current line - number. - - Made it possible to force |char2nr()| to always give unicode codepoints - regardless of current encoding. (Yasuhiro Matsumoto) - - Made it possible for functions generating file list generate |List| - and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian - Brabandt) - - Functions that obtain variables from the specific window, tabpage or - buffer scope dictionary can now return specified default value in - place of empty string in case variable is not found. (|gettabvar()|, - |getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi) - -Autocommands: - Added |InsertCharPre| event launched before inserting character. - (Jakson A. Aquino) - - Added |CompleteDone| event launched after finishing completion in - insert mode. (idea by Florian Klein) - - Added |QuitPre| event launched when commands that can either close Vim - or only some window(s) are launched. - - Added |TextChanged| and |TextChangedI| events launched when text is - changed. - -Commands: - |:syntime| command useful for debugging. - - Made it possible to remove all signs from the current buffer using - |:sign-unplace|. (Christian Brabandt) - - Added |:language| autocompletion. (Dominique Pelle) - - Added more |:command-complete| completion types: |:behave| suboptions, - color schemes, compilers, |:cscope| suboptions, files from 'path', - |:history| suboptions, locale names, |:syntime| suboptions, user - names. (Dominique Pelle) - - Added |:map-nowait| creating mapping which when having lhs that is the - prefix of another mapping’s lhs will not allow Vim to wait for user to - type more characters to resolve ambiguity, forcing Vim to take the - shorter alternative: one with <nowait>. - -Options: - Made it possible to ignore case when completing: 'wildignorecase'. - - Added ability to delete comment leader when using |J| by `j` flag in - 'formatoptions' (|fo-table|). (Lech Lorens) - - Added ability to control indentation inside namespaces: |cino-N|. - (Konstantin Lepa) - - Added ability to control alignment inside `if` condition separately - from alignment inside function arguments: |cino-k|. (Lech Lorens) - -Other: - Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar) - - Added |v:windowid| variable containing current window number in GUI - Vim. (Christian J. Robinson, Lech Lorens) - - Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito) - - -All changes in 7.4 *fixed-7.4* ------------------- - -Patch 7.3.001 -Problem: When editing "src/main.c" and 'path' set to "./proto", - ":find e<C-D" shows ./proto/eval.pro instead of eval.pro. -Solution: Check for path separator when comparing names. (Nazri Ramliy) -Files: src/misc1.c - -Patch 7.3.002 -Problem: ":find" completion doesn't work when halfway an environment - variable. (Dominique Pelle) -Solution: Only use in-path completion when expanding file names. (Nazri - Ramliy) -Files: src/ex_docmd.c - -Patch 7.3.003 -Problem: Crash with specific BufWritePost autocmd. (Peter Odding) -Solution: Don't free the quickfix title twice. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.3.004 -Problem: Crash when using very long regexp. (Peter Odding) -Solution: Reset reg_toolong. (Carlo Teubner) -Files: src/regexp.c - -Patch 7.3.005 -Problem: Crash when using undotree(). (Christian Brabandt) -Solution: Increase the list reference count. Add a test for undotree() - (Lech Lorens) -Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in - -Patch 7.3.006 -Problem: Can't build some multi-byte code with C89. -Solution: Move code to after declarations. (Joachim Schmitz) -Files: src/mbyte.c, src/spell.c - -Patch 7.3.007 -Problem: Python code defines global "buffer". Re-implements a grow-array. -Solution: Use a grow-array instead of coding the same functionality. Handle - out-of-memory situation properly. -Files: src/if_py_both.h - -Patch 7.3.008 -Problem: 'cursorbind' is kept in places where 'scrollbind' is reset. -Solution: Reset 'cursorbind'. -Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h, - src/quickfix.c, src/search.c, src/tag.c, src/window.c - -Patch 7.3.009 -Problem: Win32: Crash on Windows when using a bad argument for strftime(). - (Christian Brabandt) -Solution: Use the bad_param_handler(). (Mike Williams) -Files: src/os_win32.c - -Patch 7.3.010 -Problem: Mac GUI: Missing break statements. -Solution: Add the break statements. (Dominique Pelle) -Files: src/gui_mac.c - -Patch 7.3.011 -Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection - after a shell command doesn't work. -Solution: When using the GUI use XtLastTimestampProcessed() instead of - changing a property. (partly by Toni Ronkko) - When executing a shell command disown the selection. -Files: src/ui.c, src/os_unix.c - -Patch 7.3.012 -Problem: Problems building with MingW. -Solution: Adjust the MingW makefiles. (Jon Maken) -Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak - -Patch 7.3.013 -Problem: Dynamic loading with Ruby doesn't work for 1.9.2. -Solution: Handle rb_str2cstr differently. Also support dynamic loading on - Unix. (Jon Maken) -Files: src/if_ruby.c - -Patch 7.3.014 -Problem: Ending a line in a backslash inside an ":append" or ":insert" - command in Ex mode doesn't work properly. (Ray Frush) -Solution: Halve the number of backslashes, only insert a NUL after an odd - number of backslashes. -Files: src/ex_getln.c - -Patch 7.3.015 -Problem: Test is using error message that no longer exists. -Solution: Change E106 to E121. (Dominique Pelle) -Files: src/testdir/test49.vim - -Patch 7.3.016 -Problem: Netbeans doesn't work under Athena. -Solution: Support Athena, just like Motif. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c - -Patch 7.3.017 -Problem: smatch reports errors. -Solution: Fix the reported errors. (Dominique Pelle) -Files: src/spell.c, src/syntax.c - -Patch 7.3.018 (after 7.3.012) -Problem: Missing argument to windres in MingW makefiles. -Solution: Add the argument that was wrapped in the patch. (Jon Maken) -Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak - -Patch 7.3.019 -Problem: ":nbstart" can fail silently. -Solution: Give an error when netbeans is not supported by the GUI. (Xavier - de Gaye) -Files: src/netbeans.c - -Patch 7.3.020 -Problem: Cursor position wrong when joining multiple lines and - 'formatoptions' contains "a". (Moshe Kamensky) -Solution: Adjust cursor position for skipped indent. (Carlo Teubner) -Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok - -Patch 7.3.021 -Problem: Conflict for defining Boolean in Mac header files. -Solution: Define NO_X11_INCLUDES. (Rainer Muller) -Files: src/os_macosx.m, src/vim.h - -Patch 7.3.022 -Problem: When opening a new window the 'spellcapcheck' option is cleared. -Solution: Copy the correct option value. (Christian Brabandt) -Files: src/option.c - -Patch 7.3.023 -Problem: External program may hang when it tries to write to the tty. -Solution: Don't close the slave tty until after the child exits. (Nikola - Knezevic) -Files: src/os_unix.c - -Patch 7.3.024 -Problem: Named signs do not use a negative number as intended. -Solution: Fix the numbering of named signs. (Xavier de Gaye) -Files: src/ex_cmds.c - -Patch 7.3.025 -Problem: ":mksession" does not square brackets escape file name properly. -Solution: Improve escaping of file names. (partly by Peter Odding) -Files: src/ex_docmd.c - -Patch 7.3.026 -Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck) -Solution: Don't escape special characters. (Carlo Teubner) -Files: src/normal.c - -Patch 7.3.027 -Problem: Opening a file on a network share is very slow. -Solution: When fixing file name case append "\*" to directory, server and - network share names. (David Anderson, John Beckett) -Files: src/os_win32.c - -Patch 7.3.028 (after 7.3.024) -Problem: Signs don't show up. (Charles Campbell) -Solution: Don't use negative numbers. Also assign a number to signs that - have a name of all digits to avoid using a sign number twice. -Files: src/ex_cmds.c - -Patch 7.3.029 -Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned) -Solution: Make lines without a number sort before lines with a number. Also - fix sorting negative numbers. -Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok - -Patch 7.3.030 -Problem: Cannot store Dict and List in viminfo file. -Solution: Add support for this. (Christian Brabandt) -Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in, - src/testdir/test74.ok - -Patch 7.3.031 -Problem: Can't pass the X window ID to another application. -Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens) -Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h, - src/os_unix.c - -Patch 7.3.032 -Problem: maparg() doesn't return the flags, such as <buffer>, <script>, - <silent>. These are needed to save and restore a mapping. -Solution: Improve maparg(). (also by Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c, - src/message.c, src/proto/getchar.pro, src/proto/message.pro, - src/structs.h src/testdir/test75.in, src/testdir/test75.ok - -Patch 7.3.033 (after 7.3.032) -Problem: Can't build without FEAT_LOCALMAP. -Solution: Add an #ifdef. (John Marriott) -Files: src/getchar.c - -Patch 7.3.034 -Problem: Win32: may be loading .dll from the wrong directory. -Solution: Go to the Vim executable directory when opening a library. -Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, - src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c, - src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 7.3.035 (after 7.3.034) -Problem: Stray semicolon after if statement. (Hari G) -Solution: Remove the semicolon. -Files: src/os_win32.c - -Patch 7.3.036 -Problem: Win32 GUI: When building without menus, the font for dialogs and - tab page headers also changes. -Solution: Define USE_SYSMENU_FONT always. (Harig G.) -Files: src/gui_w32.c - -Patch 7.3.037 -Problem: Compiler warnings for loss of data. (Mike Williams) -Solution: Add type casts. -Files: src/if_py_both.h, src/getchar.c, src/os_win32.c - -Patch 7.3.038 -Problem: v:windowid isn't set on MS-Windows. -Solution: Set it to the window handle. (Chris Sutcliffe) -Files: runtime/doc/eval.txt, src/gui_w32.c - -Patch 7.3.039 -Problem: Crash when using skk.vim plugin. -Solution: Get length of expression evaluation result only after checking for - NULL. (Noriaki Yagi, Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.3.040 -Problem: Comparing strings while ignoring case goes beyond end of the - string when there are illegal bytes. (Dominique Pelle) -Solution: Explicitly check for illegal bytes. -Files: src/mbyte.c - -Patch 7.3.041 -Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck) -Solution: Use the pointer instead of the array itself. (Dominique Pelle) -Files: src/version.c - -Patch 7.3.042 -Problem: No spell highlighting when re-using an empty buffer. -Solution: Clear the spell checking info only when clearing the options for a - buffer. (James Vega) -Files: src/buffer.c - -Patch 7.3.043 -Problem: Can't load Ruby dynamically on Unix. -Solution: Adjust the configure script. (James Vega) -Files: src/Makefile, src/config.h.in, src/configure.in, - src/auto/configure, src/if_ruby.c - -Patch 7.3.044 -Problem: The preview window opened by the popup menu is larger than - specified with 'previewheight'. (Benjamin Haskell) -Solution: Use 'previewheight' if it's set and smaller. -Files: src/popupmnu.c - -Patch 7.3.045 -Problem: Compiler warning for uninitialized variable. -Solution: Initialize the variable always. -Files: src/getchar.c - -Patch 7.3.046 (after 7.3.043) -Problem: Can't build Ruby on MS-Windows. -Solution: Add #ifdef, don't use WIN3264 before including vim.h. -Files: src/if_ruby.c - -Patch 7.3.047 (after 7.3.032) -Problem: Missing makefile updates for test 75. -Solution: Update the makefiles. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Makefile, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.048 -Problem: ":earlier 1f" doesn't work after loading undo file. -Solution: Set b_u_save_nr_cur when loading an undo file. (Christian - Brabandt) - Fix only showing time in ":undolist" -Files: src/undo.c - -Patch 7.3.049 -Problem: PLT has rebranded their Scheme to Racket. -Solution: Add support for Racket 5.x. (Sergey Khorev) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/auto/configure, src/configure.in, src/if_mzsch.c - -Patch 7.3.050 -Problem: The link script is clumsy. -Solution: Use the --as-needed linker option if available. (Kirill A. - Shutemov) -Files: src/Makefile, src/auto/configure, src/config.mk.in, - src/configure.in, src/link.sh - -Patch 7.3.051 -Problem: Crash when $PATH is empty. -Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto) -Files: src/ex_getln.c, src/os_win32.c - -Patch 7.3.052 -Problem: When 'completefunc' opens a new window all kinds of errors follow. - (Xavier Deguillard) -Solution: When 'completefunc' goes to another window or buffer and when it - deletes text abort completion. Add a test for 'completefunc'. -Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test76.in, src/testdir/test76.ok - -Patch 7.3.053 -Problem: complete() function doesn't reset complete direction. Can't use - an empty string in the list of matches. -Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty - words. (Kikuchan) -Files: src/edit.c - -Patch 7.3.054 -Problem: Can define a user command for :Print, but it doesn't work. (Aaron - Thoma) -Solution: Let user command :Print overrule the builtin command (Christian - Brabandt) Disallow :X and :Next as a user defined command. -Files: src/ex_docmd.c - -Patch 7.3.055 -Problem: Recursively nested lists and dictionaries cause a near-endless - loop when comparing them with a copy. (ZyX) -Solution: Limit recursiveness in a way that non-recursive structures can - still be nested very deep. -Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok - -Patch 7.3.056 -Problem: "getline" argument in do_cmdline() shadows global. -Solution: Rename the argument. -Files: src/ex_docmd.c - -Patch 7.3.057 -Problem: Segfault with command line abbreviation. (Randy Morris) -Solution: Don't retrigger the abbreviation when abandoning the command line. - Continue editing the command line after the error. -Files: src/ex_getln.c - -Patch 7.3.058 -Problem: Error "code converter not found" when loading Ruby script. -Solution: Load Gem module. (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.059 -Problem: Netbeans: Problem with recursively handling messages for Athena - and Motif. -Solution: Call netbeans_parse_messages() in the main loop, like it's done - for GTK. (Xavier de Gaye) -Files: src/gui_x11.c, src/netbeans.c - -Patch 7.3.060 -Problem: Netbeans: crash when socket is disconnected unexpectedly. -Solution: Don't cleanup when a read fails, put a message in the queue and - disconnect later. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.061 -Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding) -Solution: Don't restore the directory when 'autochdir' is set. (Benjamin - Fritz) -Files: src/main.c - -Patch 7.3.062 -Problem: Python doesn't work properly when installed in another directory - than expected. -Solution: Figure out home directory in configure and use Py_SetPythonHome() - at runtime. (Roland Puntaier) -Files: src/configure.in, src/auto/configure, src/if_python.c, - src/if_python3.c - -Patch 7.3.063 -Problem: Win32: Running a filter command makes Vim lose focus. -Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu) -Files: src/os_win32.c - -Patch 7.3.064 -Problem: Win32: ":dis +" shows nothing, but "+p does insert text. -Solution: Display the * register, since that's what will be inserted. - (Christian Brabandt) -Files: src/globals.h, src/ops.c - -Patch 7.3.065 -Problem: Can't get current line number in a source file. -Solution: Add the <slnum> item, similar to <sfile>. -Files: src/ex_docmd.c - -Patch 7.3.066 -Problem: Crash when changing to another window while in a :vimgrep command. - (Christian Brabandt) -Solution: When wiping out the dummy before, remove it from aucmd_win. -Files: src/quickfix.c - -Patch 7.3.067 (after 7.3.058) -Problem: Ruby: Init_prelude is not always available. -Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.068 -Problem: Using freed memory when doing ":saveas" and an autocommand sets - 'autochdir'. (Kevin Klement) -Solution: Get the value of fname again after executing autocommands. -Files: src/ex_cmds.c - -Patch 7.3.069 -Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK - as documented. -Solution: call gtk_entry_set_activates_default(). (Britton Kerin) -Files: src/gui_gtk.c - -Patch 7.3.070 -Problem: Can set environment variables in the sandbox, could be abused. -Solution: Disallow it. -Files: src/eval.c - -Patch 7.3.071 -Problem: Editing a file in a window that's in diff mode resets 'diff' - but not cursor binding. -Solution: Reset cursor binding in two more places. -Files: src/quickfix.c, src/option.c - -Patch 7.3.072 -Problem: Can't complete file names while ignoring case. -Solution: Add 'wildignorecase'. -Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c, - src/option.h, src/vim.h, src/runtime/options.txt - -Patch 7.3.073 -Problem: Double free memory when netbeans command follows DETACH. -Solution: Only free the node when owned. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.074 -Problem: Can't use the "+ register like "* for yank and put. -Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov) -Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c, - src/option.c - -Patch 7.3.075 (after 7.3.072) -Problem: Missing part of 'wildignorecase' -Solution: Also adjust expand() -Files: src/eval.c - -Patch 7.3.076 -Problem: Clang warnings for dead code. -Solution: Remove it. (Carlo Teubner) -Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c, - src/spell.c - -Patch 7.3.077 -Problem: When updating crypt of swapfile fails there is no error message. - (Carlo Teubner) -Solution: Add the error message. -Files: src/memline.c - -Patch 7.3.078 -Problem: Warning for unused variable. -Solution: Adjust #ifdefs. -Files: src/ops.c - -Patch 7.3.079 -Problem: Duplicate lines in makefile. -Solution: Remove the lines. (Hong Xu) -Files: src/Make_mvc.mak - -Patch 7.3.080 -Problem: Spell doesn't work on VMS. -Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy) -Files: src/spell.c - -Patch 7.3.081 -Problem: Non-printable characters in 'statusline' cause trouble. (ZyX) -Solution: Use transstr(). (partly by Caio Ariede) -Files: src/screen.c - -Patch 7.3.082 -Problem: Leaking file descriptor when hostname doesn't exist. -Solution: Remove old debugging lines. -Files: src/netbeans.c - -Patch 7.3.083 -Problem: When a read() or write() is interrupted by a signal it fails. -Solution: Add read_eintr() and write_eintr(). -Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c, - src/os_unix.c, src/undo.c, src/vim.h - -Patch 7.3.084 -Problem: When splitting the window, the new one scrolls with the cursor at - the top. -Solution: Compute w_fraction before setting the new height. -Files: src/window.c - -Patch 7.3.085 (after 7.3.083) -Problem: Inconsistency with preproc symbols. void * computation. -Solution: Include vimio.h from vim.h. Add type cast. -Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c, - src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c, - src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c, - src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c, - src/undo.c, src/vim.h - -Patch 7.3.086 -Problem: When using a mapping with an expression and there was no count, - v:count has the value of the previous command. (ZyX) -Solution: Also set v:count and v:count1 before getting the character that - could be a command or a count. -Files: src/normal.c - -Patch 7.3.087 -Problem: EINTR is not always defined. -Solution: Include errno.h in vim.h. -Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c, - src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h, - src/workshop.c - -Patch 7.3.088 -Problem: Ruby can't load Gems sometimes, may cause a crash. -Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.089 -Problem: Compiler warning on 64 bit MS-Windows. -Solution: Add type cast. (Mike Williams) -Files: src/netbeans.c - -Patch 7.3.090 -Problem: Wrong help text for Cscope. -Solution: Adjust the help text for "t". (Dominique Pelle) -Files: src/if_cscope.c - -Patch 7.3.091 -Problem: "vim -w foo" writes special key codes for removed escape - sequences. (Josh Triplett) -Solution: Don't write K_IGNORE codes. -Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h - -Patch 7.3.092 -Problem: Resizing the window when exiting. -Solution: Don't resize when exiting. -Files: src/term.c - -Patch 7.3.093 -Problem: New DLL dependencies in MingW with gcc 4.5.0. -Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen) -Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak - -Patch 7.3.094 -Problem: Using abs() requires type cast to int. -Solution: Use labs() so that the value remains long. (Hong Xu) -Files: src/screen.c - -Patch 7.3.095 -Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley) -Solution: Use menu_name_equal(). (Alex Jakushev) -Files: src/menu.c - -Patch 7.3.096 -Problem: "gvim -nb" is not interruptible. Leaking file descriptor on - netbeans connection error. -Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.097 -Problem: Using ":call" inside "if 0" does not see that a function returns a - Dict and gives error for "." as string concatenation. -Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.098 -Problem: Function that ignores error still causes called_emsg to be set. - E.g. when expand() fails the status line is disabled. -Solution: Move check for emsg_not_now() up. (James Vega) -Files: src/message.c - -Patch 7.3.099 -Problem: Crash when splitting a window with zero height. (Yukihiro - Nakadaira) -Solution: Don't set the fraction in a window with zero height. -Files: src/window.c - -Patch 7.3.100 -Problem: When using :normal v:count isn't set. -Solution: Call normal_cmd() with toplevel set to TRUE. -Files: src/ex_docmd.c - -Patch 7.3.101 -Problem: ino_t defined with wrong size. -Solution: Move including auto/config.h before other includes. (Marius - Geminas) -Files: src/if_ruby.c, src/if_lua.c - -Patch 7.3.102 -Problem: When using ":make", typing the next command and then getting the - "reload" prompt the next command is (partly) eaten by the reload - prompt. -Solution: Accept ':' as a special character at the reload prompt to accept - the default choice and execute the command. -Files: src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c, - src/memline.c, src/message.c, src/proto/message.pro, - src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c, - src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c - src/proto/gui_athena.pro, src/proto/gui_gtk.pro, - src/proto/gui_mac.pro, src/proto/gui_motif.pro, - src/proto/gui_photon.pro, src/proto/gui_w16.pro, - src/proto/gui_w32.pro - -Patch 7.3.103 -Problem: Changing 'fileformat' and then using ":w" in an empty file sets - the 'modified' option. -Solution: In unchanged() don't ignore 'ff' for an empty file. -Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c - -Patch 7.3.104 -Problem: Conceal: using Tab for cchar causes problems. (ZyX) -Solution: Do not accept a control character for cchar. -Files: src/syntax.c - -Patch 7.3.105 -Problem: Can't get the value of "b:changedtick" with getbufvar(). -Solution: Make it work. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.106 -Problem: When 'cursorbind' is set another window may scroll unexpectedly - when 'scrollbind' is also set. (Xavier Wang) -Solution: Don't call update_topline() if 'scrollbind' is set. -Files: src/move.c - -Patch 7.3.107 -Problem: Year number for :undolist can be confused with month or day. -Solution: Change "%y" to "%Y". -Files: src/undo.c - -Patch 7.3.108 -Problem: Useless check for NULL when calling vim_free(). -Solution: Remove the check. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds.c, src/os_win32.c - -Patch 7.3.109 -Problem: Processing new Esperanto spell file fails and crashes Vim. - (Dominique Pelle) -Solution: When running out of memory give an error. Handle '?' in - COMPOUNDRULE properly. -Files: src/spell.c - -Patch 7.3.110 -Problem: The "nbsp" item in 'listchars' isn't used for ":list". -Solution: Make it work. (Christian Brabandt) -Files: src/message.c - -Patch 7.3.111 (after 7.3.100) -Problem: Executing a :normal command in 'statusline' evaluation causes the - cursor to move. (Dominique Pelle) -Solution: When updating the cursor for 'cursorbind' allow the cursor beyond - the end of the line. When evaluating 'statusline' temporarily - reset 'cursorbind'. -Files: src/move.c, src/screen.c - -Patch 7.3.112 -Problem: Setting 'statusline' to "%!'asdf%' reads uninitialized memory. -Solution: Check for NUL after %. -Files: src/buffer.c - -Patch 7.3.113 -Problem: Windows: Fall back directory for creating temp file is wrong. -Solution: Use "." instead of empty string. (Hong Xu) -Files: src/fileio.c - -Patch 7.3.114 -Problem: Potential problem in initialization when giving an error message - early. -Solution: Initialize 'verbosefile' empty. (Ben Schmidt) -Files: src/option.h - -Patch 7.3.115 -Problem: Vim can crash when tmpnam() returns NULL. -Solution: Check for NULL. (Hong Xu) -Files: src/fileio.c - -Patch 7.3.116 -Problem: 'cursorline' is displayed too short when there are concealed - characters and 'list' is set. (Dennis Preiser) -Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt) -Files: src/screen.c - -Patch 7.3.117 -Problem: On some systems --as-needed does not work, because the "tinfo" - library is included indirectly from "ncurses". (Charles Campbell) -Solution: In configure prefer using "tinfo" instead of "ncurses". -Files: src/configure.in, src/auto/configure - -Patch 7.3.118 -Problem: Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica) -Solution: Ignore SIGVTALARM. (Dominique Pelle) -Files: src/os_unix.c - -Patch 7.3.119 -Problem: Build problem on Mac. (Nicholas Stallard) -Solution: Use "extern" instead of "EXTERN" for p_vfile. -Files: src/option.h - -Patch 7.3.120 -Problem: The message for an existing swap file is too long to fit in a 25 - line terminal. -Solution: Make the message shorter. (Chad Miller) -Files: src/memline.c - -Patch 7.3.121 -Problem: Complicated 'statusline' causes a crash. (Christian Brabandt) -Solution: Check that the number of items is not too big. -Files: src/buffer.c - -Patch 7.3.122 -Problem: Having auto/config.mk in the repository causes problems. -Solution: Remove auto/config.mk from the distribution. In the toplevel - Makefile copy it from the "dist" file. -Files: Makefile, src/Makefile, src/auto/config.mk - -Patch 7.3.123 -Problem: ml_get error when executing register being recorded into, deleting - lines and 'conceallevel' is set. (ZyX) -Solution: Don't redraw a line for concealing when it doesn't exist. -Files: src/main.c - -Patch 7.3.124 -Problem: When writing a file in binary mode it may be missing the final EOL - if a file previously read was missing the EOL. (Kevin Goodsell) -Solution: Move the write_no_eol_lnum into the buffer struct. -Files: src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c - -Patch 7.3.125 -Problem: MSVC: Problem with quotes in link argument. -Solution: Escape backslashes and quotes. (Weasley) -Files: src/Make_mvc.mak - -Patch 7.3.126 -Problem: Compiler warning for signed pointer. -Solution: Use unsigned int argument for sscanf(). -Files: src/blowfish.c - -Patch 7.3.127 -Problem: Compiler complains about comma. -Solution: Remove comma after last enum element. -Files: src/ex_cmds2.c - -Patch 7.3.128 -Problem: Another compiler warning for signed pointer. -Solution: Use unsigned int argument for sscanf(). -Files: src/mark.c - -Patch 7.3.129 -Problem: Using integer like a boolean. -Solution: Nicer check for integer being non-zero. -Files: src/tag.c - -Patch 7.3.130 -Problem: Variable misplaced in #ifdef. -Solution: Move clipboard_event_time outside of #ifdef. -Files: src/gui_gtk_x11.c - -Patch 7.3.131 -Problem: Including errno.h too often. -Solution: Don't include errno.h in Unix header file. -Files: src/os_unix.h - -Patch 7.3.132 -Problem: C++ style comments. -Solution: Change to C comments. -Files: src/if_python3.c - -Patch 7.3.133 -Problem: When using encryption it's not clear what method was used. -Solution: In the file message show "blowfish" when using blowfish. -Files: src/fileio.c - -Patch 7.3.134 -Problem: Drag-n-drop doesn't work in KDE Dolphin. -Solution: Add GDK_ACTION_MOVE flag. (Florian Degner) -Files: src/gui_gtk_x11.c - -Patch 7.3.135 -Problem: When there is no previous substitute pattern, the previous search - pattern is used. The other way around doesn't work. -Solution: When there is no previous search pattern, use the previous - substitute pattern if possible. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.136 -Problem: Duplicate include of assert.h. -Solution: Remove it. -Files: src/if_cscope.c - -Patch 7.3.137 (after 7.3.091) -Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan - Krasilnikov) -Solution: Call update_screen() before waiting for input. -Files: src/misc1.c, src/getchar.c - -Patch 7.3.138 -Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov) -Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt) -Files: src/ex_docmd.c - -Patch 7.3.139 (after 7.3.137) -Problem: When 'lazyredraw' is set ":ver" output can't be read. -Solution: Don't redraw the screen when at a prompt or command line. -Files: src/getchar.c, src/message.c, src/misc1.c - -Patch 7.3.140 -Problem: Crash when drawing the "$" at end-of-line for list mode just after - the window border and 'cursorline' is set. -Solution: Don't check for 'cursorline'. (Quentin Carbonneaux) -Files: src/screen.c - -Patch 7.3.141 -Problem: When a key code is not set get a confusing error message. -Solution: Change the error message to say the key code is not set. -Files: src/option.c, runtime/doc/options.txt - -Patch 7.3.142 -Problem: Python stdout doesn't have a flush() method, causing an import to - fail. -Solution: Add a dummy flush() method. (Tobias Columbus) -Files: src/if_py_both.h - -Patch 7.3.143 -Problem: Memfile is not tested sufficiently. Looking up blocks in a - memfile is slow when there are many blocks. -Solution: Add high level test and unittest. Adjust the number of hash - buckets to the number of blocks. (Ivan Krasilnikov) -Files: Filelist, src/Makefile, src/main.c, src/memfile.c, - src/memfile_test.c src/structs.h src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mak, - src/testdir/Makefile, src/testdir/test77.in, src/testdir/test77.ok - -Patch 7.3.144 -Problem: Crash with ":python help(dir)". (Kearn Holliday) -Solution: Fix the way the type is set on objects. (Tobias Columbus) -Files: src/if_python.c - -Patch 7.3.145 (after 7.3.144) -Problem: Can't build with Python dynamically loading. -Solution: Add dll_PyType_Ready. -Files: src/if_python.c - -Patch 7.3.146 -Problem: It's possible to assign to a read-only member of a dict. - It's possible to create a global variable "0". (ZyX) - It's possible to add a v: variable with ":let v:.name = 1". -Solution: Add check for dict item being read-only. - Check the name of g: variables. - Disallow adding v: variables. -Files: src/eval.c - -Patch 7.3.147 (after 7.3.143) -Problem: Can't build on HP-UX. -Solution: Remove an unnecessary backslash. (John Marriott) -Files: src/Makefile - -Patch 7.3.148 -Problem: A syntax file with a huge number of items or clusters causes weird - behavior, a hang or a crash. (Yukihiro Nakadaira) -Solution: Check running out of IDs. (partly by Ben Schmidt) -Files: src/syntax.c - -Patch 7.3.149 -Problem: The cursor disappears after the processing of the 'setDot' - netbeans command when vim runs in a terminal. -Solution: Show the cursor after a screen update. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.150 -Problem: readline() does not return the last line when the NL is missing. - (Hong Xu) -Solution: When at the end of the file Also check for a previous line. -Files: src/eval.c - -Patch 7.3.151 (after 7.3.074) -Problem: When "unnamedplus" is in 'clipboard' the selection is sometimes - also copied to the star register. -Solution: Avoid copy to the star register when undesired. (James Vega) -Files: src/ops.c - -Patch 7.3.152 -Problem: Xxd does not check for errors from library functions. -Solution: Add error checks. (Florian Zumbiehl) -Files: src/xxd/xxd.c - -Patch 7.3.153 (after 7.3.152) -Problem: Compiler warning for ambiguous else, missing prototype. -Solution: Add braces. (Dominique Pelle) Add prototype for die(). -Files: src/xxd/xxd.c - -Patch 7.3.154 (after 7.3.148) -Problem: Can't compile with tiny features. (Tony Mechelynck) -Solution: Move #define outside of #ifdef. -Files: src/syntax.c - -Patch 7.3.155 -Problem: Crash when using map(), filter() and remove() on v:. (ZyX) - Also for extend(). (Yukihiro Nakadaira) -Solution: Mark v: as locked. Also correct locking error messages. -Files: src/eval.c - -Patch 7.3.156 -Problem: Tty names possibly left unterminated. -Solution: Use vim_strncpy() instead of strncpy(). -Files: src/pty.c - -Patch 7.3.157 -Problem: Superfluous assignment. -Solution: Remove assignment. -Files: src/misc1.c - -Patch 7.3.158 -Problem: Might use uninitialized memory in C indenting. -Solution: Init arrays to empty. -Files: src/misc1.c - -Patch 7.3.159 -Problem: Using uninitialized pointer when out of memory. -Solution: Check for NULL return value. -Files: src/mbyte.c - -Patch 7.3.160 -Problem: Unsafe string copying. -Solution: Use vim_strncpy() instead of strcpy(). Use vim_strcat() instead - of strcat(). -Files: src/buffer.c, src/ex_docmd.c, src/hardcopy.c, src/menu.c, - src/misc1.c, src/misc2.c, src/proto/misc2.pro, src/netbeans.c, - src/os_unix.c, src/spell.c, src/syntax.c, src/tag.c - -Patch 7.3.161 -Problem: Items on the stack may be too big. -Solution: Make items static or allocate them. -Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/fileio.c, src/hardcopy.c, src/quickfix.c, src/main.c, - src/netbeans.c, src/spell.c, src/tag.c, src/vim.h, src/xxd/xxd.c - -Patch 7.3.162 -Problem: No error message when assigning to a list with an index out of - range. (Yukihiro Nakadaira) -Solution: Add the error message. -Files: src/eval.c - -Patch 7.3.163 -Problem: For the default of 'shellpipe' "mksh" and "pdksh" are not - recognized. -Solution: Recognize these shell names. -Files: src/option.c - -Patch 7.3.164 -Problem: C-indenting: a preprocessor statement confuses detection of a - function declaration. -Solution: Ignore preprocessor lines. (Lech Lorens) Also recognize the style - to put a comma before the argument name. -Files: src/misc1.c, testdir/test3.in, testdir/test3.ok - -Patch 7.3.165 -Problem: ":find" completion does not escape spaces in a directory name. - (Isz) -Solution: Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner) -Files: src/ex_getln.c - -Patch 7.3.166 -Problem: Buffer on the stack may be too big -Solution: Allocate the space. -Files: src/option.c - -Patch 7.3.167 -Problem: When using the internal grep QuickFixCmdPost is not triggered. - (Yukihiro Nakadaira) -Solution: Change the place where autocommands are triggered. -Files: src/quickfix.c - -Patch 7.3.168 -Problem: When the second argument of input() contains a CR the text up to - that is used without asking the user. (Yasuhiro Matsumoto) -Solution: Change CR, NL and ESC in the text to a space. -Files: src/getchar.c - -Patch 7.3.169 -Problem: Freeing memory already freed, warning from static code analyzer. -Solution: Initialize pointers to NULL, correct use of "mustfree". (partly by - Dominique Pelle) -Files: src/mis1.c - -Patch 7.3.170 -Problem: VMS Makefile for testing was not updated for test77. -Solution: Add test77 to the Makefile. -Files: src/testdir/Make_vms.mms - -Patch 7.3.171 -Problem: When the clipboard isn't supported: ":yank*" gives a confusing - error message. -Solution: Specifically mention that the register name is invalid. - (Jean-Rene David) -Files: runtime/doc/change.txt, src/ex_docmd.c, src/globals.h - -Patch 7.3.172 -Problem: MS-Windows: rename() might delete the file if the name differs but - it's actually the same file. -Solution: Use the file handle to check if it's the same file. (Yukihiro - Nakadaira) -Files: src/if_cscope.c, src/fileio.c, src/os_win32.c, - src/proto/os_win32.pro, src/vim.h - -Patch 7.3.173 -Problem: After using setqflist() to make the quickfix list empty ":cwindow" - may open the window anyway. Also after ":vimgrep". -Solution: Correctly check whether the list is empty. (Ingo Karkat) -Files: src/quickfix.c - -Patch 7.3.174 -Problem: When Exuberant ctags binary is exctags it's not found. -Solution: Add configure check for exctags. (Hong Xu) -Files: src/configure.in, src/auto/configure - -Patch 7.3.175 -Problem: When 'colorcolumn' is set locally to a window, ":new" opens a - window with the same highlighting but 'colorcolumn' is empty. - (Tyru) -Solution: Call check_colorcolumn() after clearing and copying options. - (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.176 -Problem: Ruby linking doesn't work properly on Mac OS X. -Solution: Fix the configure check for Ruby. (Bjorn Winckler) -Files: src/configure.in, src/auto/configure - -Patch 7.3.177 -Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is - "utf-8". -Solution: Convert to utf-16. (Yukihiro Nakadaira) -Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro - -Patch 7.3.178 -Problem: C-indent doesn't handle code right after { correctly. -Solution: Fix detecting unterminated line. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.179 -Problem: C-indent doesn't handle colon in string correctly. -Solution: Skip the string. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.180 -Problem: When both a middle part of 'comments' matches and an end part, the - middle part was used erroneously. -Solution: After finding the middle part match continue looking for a better - end part match. (partly by Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.181 -Problem: When repeating the insert of CTRL-V or a digraph the display may - not be updated correctly. -Solution: Only call edit_unputchar() after edit_putchar(). (Lech Lorens) -Files: src/edit.c - -Patch 7.3.182 (after 7.3.180) -Problem: Compiler warning for uninitialized variable. -Solution: Add dummy initializer. -Files: src/misc1.c - -Patch 7.3.183 (after 7.3.174) -Problem: When Exuberant ctags binary is exuberant-ctags it's not found. -Solution: Add configure check for exuberant-ctags. -Files: src/configure.in, src/auto/configure - -Patch 7.3.184 -Problem: Static code analysis errors in riscOS. -Solution: Make buffer size bigger. (Dominique Pelle) -Files: src/gui_riscos.c - -Patch 7.3.185 -Problem: ":windo g/pattern/q" closes windows and reports "N more lines". - (Tim Chase) -Solution: Remember what buffer ":global" started in. (Jean-Rene David) -Files: src/ex_cmds.c - -Patch 7.3.186 -Problem: When 'clipboard' contains "unnamed" or "unnamedplus" the value of - v:register is wrong for operators without a specific register. -Solution: Adjust the register according to 'clipboard'. (Ingo Karkat) -Files: src/normal.c - -Patch 7.3.187 -Problem: The RISC OS port has obvious errors and is not being maintained. -Solution: Remove the RISC OS files and code. -Files: src/ascii.h, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/fileio.c, src/globals.h, src/gui.c, src/gui.h, - src/main.c, src/memfile.c, src/memline.c, src/misc1.c, - src/proto.h, src/quickfix.c, src/search.c, src/structs.h, - src/term.c, src/termlib.c, src/version.c, src/vim.h, - src/gui_riscos.h, src/os_riscos.h, src/gui_riscos.c, - src/os_riscos.c, runtime/doc/os_risc.txt - -Patch 7.3.188 -Problem: More RISC OS files to remove. -Solution: Remove them. Update the file list. -Files: src/proto/gui_riscos.pro, src/proto/os_riscos.pro, Filelist - -Patch 7.3.189 (after 7.3.186) -Problem: Can't build without +clipboard feature. (Christian Ebert) -Solution: Add the missing #ifdef. -Files: src/normal.c - -Patch 7.3.190 -Problem: When there is a "containedin" syntax argument highlighting may be - wrong. (Radek) -Solution: Reset current_next_list. (Ben Schmidt) -Files: src/syntax.c - -Patch 7.3.191 -Problem: Still some RISC OS stuff to remove. -Solution: Remove files and lines. (Hong Xu) - Remove the 'osfiletype' option code. -Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile, - src/buffer.c, src/eval.c, src/feature.h, src/option.c, - src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist - -Patch 7.3.192 -Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes. - (Dominique Pelle) -Solution: Advance over whole character instead of one byte. -Files: src/ex_cmds.c - -Patch 7.3.193 -Problem: In the command line window ":close" doesn't work properly. (Tony - Mechelynck) -Solution: Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene - David) -Files: src/ex_docmd.c, src/ex_getln.c - -Patch 7.3.194 -Problem: When "b" is a symlink to directory "a", resolve("b/") doesn't - result in "a/". (ZyX) -Solution: Remove the trailing slash. (Jean-Rene David) -Files: src/eval.c - -Patch 7.3.195 -Problem: "} else" causes following lines to be indented too much. (Rouben - Rostamian) -Solution: Better detection for the "else". (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.196 -Problem: Can't intercept a character that is going to be inserted. -Solution: Add the InsertCharPre autocommand event. (Jakson A. Aquino) -Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, - runtime/doc/map.txt, src/edit.c, src/eval.c, src/fileio.c, - src/vim.h - -Patch 7.3.197 -Problem: When a QuickfixCmdPost event removes all errors, Vim still tries - to jump to the first error, resulting in E42. -Solution: Get the number of error after the autocmd event. (Mike Lundy) -Files: src/quickfix.c - -Patch 7.3.198 -Problem: No completion for ":lang". -Solution: Get locales to complete from. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds2.c, src/ex_getln.c, - src/proto/ex_cmds2.pro, src/proto/ex_getln.pro, src/vim.h - -Patch 7.3.199 -Problem: MS-Windows: Compilation problem of OLE with MingW compiler. -Solution: Put #ifdef around declarations. (Guopeng Wen) -Files: src/if_ole.h - -Patch 7.3.200 (after 7.3.198) -Problem: CTRL-D doesn't complete :lang. -Solution: Add the missing part of the change. (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.3.201 (after 7.3.195) -Problem: "} else" still causes following lines to be indented too much. -Solution: Better detection for the "else" block. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.202 -Problem: Cannot influence the indent inside a namespace. -Solution: Add the "N" 'cino' parameter. (Konstantin Lepa) -Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, - src/testdir/test3.ok - -Patch 7.3.203 -Problem: MS-Windows: Can't run an external command without a console window. -Solution: Support ":!start /b cmd". (Xaizek) -Files: runtime/doc/os_win32.txt, src/os_win32.c - -Patch 7.3.204 (after 7.3.201) -Problem: Compiler warning. -Solution: Add type cast. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.205 -Problem: Syntax "extend" doesn't work correctly. -Solution: Avoid calling check_state_ends() recursively (Ben Schmidt) -Files: src/syntax.c - -Patch 7.3.206 -Problem: 64bit MS-Windows compiler warning. -Solution: Use HandleToLong() instead of type cast. (Mike Williams) -Files: src/gui_w32.c - -Patch 7.3.207 -Problem: Can't compile with MSVC with pentium4 and 64 bit. -Solution: Only use SSE2 for 32 bit. (Mike Williams) -Files: src/Make_mvc.mak - -Patch 7.3.208 -Problem: Early terminated if statement. -Solution: Remove the semicolon. (Lech Lorens) -Files: src/gui_mac.c - -Patch 7.3.209 -Problem: MSVC Install instructions point to wrong batch file. -Solution: Add a batch file for use with MSVC 10. -Files: src/msvc2010.bat, src/INSTALLpc.txt, Filelist - -Patch 7.3.210 -Problem: Can't always find the file when using cscope. -Solution: Add the 'cscoperelative' option. (Raghavendra D Prabhu) -Files: runtime/doc/if_cscop.txt, runtime/doc/options.txt, - src/if_cscope.c - -Patch 7.3.211 (after 7.3.210) -Problem: Compiler warning. -Solution: Add type cast. -Files: src/if_cscope.c - -Patch 7.3.212 -Problem: With Python 3.2 ":py3" fails. -Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland - Puntaier) Check abiflags in configure. (Andreas Behr) -Files: src/if_python3.c, src/auto/configure, src/configure.in - -Patch 7.3.213 -Problem: Javascript object literal is not indented correctly. -Solution: Make a special case for when "J1" is in 'cino'. (Luc Deschenaux) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.214 -Problem: The text displayed by ":z-" isn't exactly like old Vi. -Solution: Add one to the start line number. (ChangZhuo Chen) -Files: src/ex_cmds.c - -Patch 7.3.215 (after 7.3.210) -Problem: Wrong file names in previous patch. (Toothpik) -Solution: Include the option changes. -Files: src/option.c, src/option.h - -Patch 7.3.216 -Problem: When recovering a file a range of lines is missing. (Charles Jie) -Solution: Reset the index when advancing to the next pointer block. Add a - test to verify recovery works. -Files: src/memline.c, src/testdir/test78.in, src/testdir/test78.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.217 -Problem: Inside an "if" a ":wincmd" causes problems. -Solution: When skipping commands let ":wincmd" skip over its argument. -Files: src/ex_docmd.c - -Patch 7.3.218 (after 7.3.212) -Problem: Tiny configuration problem with Python 3. -Solution: Add abiflags in one more place. (Andreas Behr) -Files: src/auto/configure, src/configure.in - -Patch 7.3.219 -Problem: Can't compile with GTK on Mac. -Solution: Add some #ifdef trickery. (Ben Schmidt) -Files: src/os_mac_conv.c, src/os_macosx.m, src/vim.h - -Patch 7.3.220 -Problem: Python 3: vim.error is a 'str' instead of an 'Exception' object, - so 'except' or 'raise' it causes a 'SystemError' exception. - Buffer objects do not support slice assignment. - When exchanging text between Vim and Python, multibyte texts become - garbage or cause Unicode Exceptions, etc. - 'py3file' tries to read in the file as Unicode, sometimes causes - UnicodeDecodeException -Solution: Fix the problems. (lilydjwg) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.221 -Problem: Text from the clipboard is sometimes handled as linewise, but not - consistently. -Solution: Assume the text is linewise when it ends in a CR or NL. -Files: src/gui_gtk_x11.c, src/gui_mac.c, src/ops.c, src/os_msdos.c, - src/os_mswin.c, src/os_qnx.c, src/ui.c - -Patch 7.3.222 -Problem: Warning for building GvimExt. -Solution: Comment-out the DESCRIPTION line. (Mike Williams) -Files: src/GvimExt/gvimext.def, src/GvimExt/gvimext_ming.def - -Patch 7.3.223 -Problem: MingW cross compilation doesn't work with tiny features. -Solution: Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of - "#ifdef CLIPBOARD". Fix typo in makefile. -Files: src/Make_ming.mak, src/os_mswin.c - -Patch 7.3.224 -Problem: Can't pass dict to sort function. -Solution: Add the optional {dict} argument to sort(). (ZyX) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.3.225 -Problem: Using "\n" in a substitute inside ":s" does not result in a line - break. -Solution: Change behavior inside vim_regexec_nl(). Add tests. (Motoya - Kurotsu) -Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, - src/testdir/test80.in, src/testdir/test80.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.226 -Problem: On a 64 bit system "syn sync fromstart" is very slow. (Bjorn - Steinbrink) -Solution: Store the state when starting to parse from the first line. -Files: src/syntax.c - -Patch 7.3.227 (after 7.3.221) -Problem: Mac OS doesn't have the linewise clipboard fix. -Solution: Also change the Mac OS file. (Bjorn Winckler) -Files: src/os_macosx.m - -Patch 7.3.228 -Problem: "2gj" does not always move to the correct position. -Solution: Get length of line after moving to a next line. (James Vega) -Files: src/normal.c - -Patch 7.3.229 -Problem: Using fork() makes gvim crash on Mac when build with - CoreFoundation. -Solution: Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka) -Files: src/gui.c - -Patch 7.3.230 -Problem: ":wundo" and ":rundo" don't unescape their argument. (Aaron - Thoma) -Solution: Use FILE1 instead of XFILE. -Files: src/ex_cmds.h - -Patch 7.3.231 -Problem: Runtime file patches failed. -Solution: Redo the patches made against the patched files instead of the - files in the mercurial repository. -Files: runtime/doc/indent.txt, runtime/doc/os_win32.txt - -Patch 7.3.232 -Problem: Python doesn't compile without +multi_byte -Solution: Use "latin1" when MULTI_BYTE is not defined. -Files: src/if_py_both.h - -Patch 7.3.233 -Problem: ":scriptnames" and ":breaklist" show long file names. -Solution: Shorten to use "~/" when possible. (Jean-Rene David) -Files: src/ex_cmds2.c - -Patch 7.3.234 -Problem: With GTK menu may be popping down. -Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu) -Files: src/gui.c, src/gui.h, src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 7.3.235 -Problem: ";" gets stuck on a "t" command, it's not useful. -Solution: Add the ';' flag in 'cpo'. (Christian Brabandt) -Files: runtime/doc/motion.txt, runtime/doc/options.txt, src/option.h, - src/search.c src/testdir/test81.in, src/testdir/test81.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.236 (after 7.3.232) -Problem: Python 3 doesn't compile without +multi_byte -Solution: Use "latin1" when MULTI_BYTE is not defined. (lilydjwg) -Files: src/if_python3.c - -Patch 7.3.237 -Problem: "filetype" completion doesn't work on Windows. (Yue Wu) -Solution: Don't use a glob pattern for the directories, use a list of - directories. (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.3.238 -Problem: Compiler warning for conversion. -Solution: Add type cast. (Mike Williams) -Files: src/ex_getln.c - -Patch 7.3.239 -Problem: Python corrects the cursor column without taking 'virtualedit' - into account. (lilydjwg) -Solution: Call check_cursor_col_win(). -Files: src/if_py_both.h, src/mbyte.c, src/misc2.c, src/normal.c, - src/proto/mbyte.pro, src/proto/misc2.pro - -Patch 7.3.240 -Problem: External commands can't use pipes on MS-Windows. -Solution: Implement pipes and use them when 'shelltemp' isn't set. (Vincent - Berthoux) -Files: src/eval.c, src/ex_cmds.c, src/misc2.c, src/os_unix.c, - src/os_win32.c, src/proto/misc2.pro, src/ui.c - -Patch 7.3.241 -Problem: Using CTRL-R CTRL-W on the command line may insert only part of - the word. -Solution: Use the cursor position instead of assuming it is at the end of - the command. (Tyru) -Files: src/ex_getln.c - -Patch 7.3.242 -Problem: Illegal memory access in after_pathsep(). -Solution: Check that the pointer is not at the start of the file name. - (Dominique Pelle) -Files: src/misc2.c - -Patch 7.3.243 -Problem: Illegal memory access in readline(). -Solution: Swap the conditions. (Dominique Pelle) -Files: src/eval.c - -Patch 7.3.244 -Problem: MS-Windows: Build problem with old compiler. (John Beckett) -Solution: Only use HandleToLong() when available. (Mike Williams) -Files: src/gui_w32.c - -Patch 7.3.245 -Problem: Python 3.2 libraries not correctly detected. -Solution: Add the suffix to the library name. (Niclas Zeising) -Files: src/auto/configure, src/configure.in - -Patch 7.3.246 (after 7.3.235) -Problem: Repeating "f4" in "4444" skips one 4. -Solution: Check the t_cmd flag. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.247 -Problem: Running tests changes the users viminfo file. Test for patch - 7.3.246 missing. -Solution: Add "nviminfo" to the 'viminfo' option. Include the test. -Files: src/testdir/test78.in, src/testdir/test81.in - -Patch 7.3.248 -Problem: PC Install instructions missing install instructions. -Solution: Step-by-step explanation. (Michael Soyka) -Files: src/INSTALLpc.txt - -Patch 7.3.249 -Problem: Wrong indenting for array initializer. -Solution: Detect '}' in a better way. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.250 -Problem: Python: Errors in Unicode characters not handled nicely. -Solution: Add the surrogateescape error handler. (lilydjwg) -Files: src/if_python3.c - -Patch 7.3.251 -Problem: "gH<Del>" deletes the current line, except when it's the last - line. -Solution: Set the "include" flag to indicate the last line is to be deleted. -Files: src/normal.c, src/ops.c - -Patch 7.3.252 (after 7.3.247) -Problem: Tests fail. (David Northfield) -Solution: Add missing update for .ok file. -Files: src/testdir/test81.ok - -Patch 7.3.253 -Problem: "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'. - Checks in mb_strnicmp() for illegal and truncated bytes are - wrong. Should not assume that byte length is equal before case - folding. -Solution: Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for - this. (Ivan Krasilnikov) -Files: src/mbyte.c src/testdir/test82.in, src/testdir/test82.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.254 -Problem: The coladd field is not reset when setting the line number for a - ":call" command. -Solution: Reset it. -Files: src/eval.c - -Patch 7.3.255 -Problem: When editing a file such as "File[2010-08-15].vim" an E16 error is - given. (Manuel Stol) -Solution: Don't give an error for failing to compile the regexp. -Files: src/ex_docmd.c, src/misc1.c, src/vim.h - -Patch 7.3.256 -Problem: Javascript indenting not sufficiently tested. -Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented - wrong. -Files: src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.257 -Problem: Not all completions are available to user commands. -Solution: Add "color", "compiler", "file_in_path" and "locale". (Dominique - Pelle) -Files: src/ex_docmd.c, runtime/doc/map.txt - -Patch 7.3.258 -Problem: MS-Windows: The edit with existing vim context menu entries can be - unwanted. -Solution: Let a registry entry disable them. (Jerome Vuarand) -Files: src/GvimExt/gvimext.cpp - -Patch 7.3.259 -Problem: Equivalence classes only work for latin characters. -Solution: Add the Unicode equivalence characters. (Dominique Pelle) -Files: runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in, - src/testdir/test44.ok - -Patch 7.3.260 -Problem: CursorHold triggers on an incomplete mapping. (Will Gray) -Solution: Don't trigger CursorHold when there is typeahead. -Files: src/fileio.c - -Patch 7.3.261 -Problem: G++ error message erroneously recognized as error. -Solution: Ignore "In file included from" line also when it ends in a colon. - (Fernando Castillo) -Files: src/option.h - -Patch 7.3.262 -Problem: Photon code style doesn't match Vim style. -Solution: Clean up some of it. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.263 -Problem: Perl and Tcl have a few code style problems. -Solution: Clean it up. (Elias Diem) -Files: src/if_perl.xs, src/if_tcl.c - -Patch 7.3.264 -Problem: When the current directory name contains wildcard characters, such - as "foo[with]bar", the tags file can't be found. (Jeremy - Erickson) -Solution: When searching for matching files also match without expanding - wildcards. This is a bit of a hack. -Files: src/vim.h, src/misc1.c, src/misc2.c - -Patch 7.3.265 -Problem: When storing a pattern in search history there is no proper check - for the separator character. -Solution: Pass the separator character to in_history(). (Taro Muraoka) -Files: src/ex_getln.c - -Patch 7.3.266 -Problem: In Gvim with iBus typing space in Insert mode doesn't work. -Solution: Clear xim_expected_char after checking it. -Files: src/mbyte.c - -Patch 7.3.267 -Problem: Ruby on Mac OS X 10.7 may crash. -Solution: Avoid alloc(0). (Bjorn Winckler) -Files: src/if_ruby.c - -Patch 7.3.268 -Problem: Vim freezes when executing an external command with zsh. -Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler) -Files: src/os_unix.c - -Patch 7.3.269 -Problem: 'shellcmdflag' only works with one flag. -Solution: Split into multiple arguments. (Gary Johnson) -Files: src/os_unix.c - -Patch 7.3.270 -Problem: Illegal memory access. -Solution: Swap conditions. (Dominique Pelle) -Files: src/ops.c - -Patch 7.3.271 -Problem: Code not following Vim coding style. -Solution: Fix the style. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.272 -Problem: ":put =list" does not add an empty line for a trailing empty - item. -Solution: Add a trailing NL when turning a list into a string. -Files: src/eval.c - -Patch 7.3.273 -Problem: A BOM in an error file is seen as text. (Aleksey Baibarin) -Solution: Remove the BOM from the text before evaluating. (idea by Christian - Brabandt) -Files: src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro, - src/testdir/test10.in - -Patch 7.3.274 -Problem: With concealed characters tabs do not have the right size. -Solution: Use VCOL_HLC instead of vcol. (Eiichi Sato) -Files: src/screen.c - -Patch 7.3.275 -Problem: MS-Windows: When using a black background some screen updates - cause the window to flicker. -Solution: Add WS_CLIPCHILDREN to CreateWindow(). (René Aguirre) -Files: src/gui_w32.c - -Patch 7.3.276 -Problem: GvimExt sets $LANG in the wrong way. -Solution: Save the environment and use it for gvim. (Yasuhiro Matsumoto) -Files: src/GvimExt/gvimext.cpp - -Patch 7.3.277 -Problem: MS-Windows: some characters do not show in dialogs. -Solution: Use the wide methods when available. (Yanwei Jia) -Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c, - src/os_win32.h - -Patch 7.3.278 -Problem: Passing the file name to open in VisVim doesn't work. -Solution: Adjust the index and check for end of buffer. (Jiri Sedlak) -Files: src/VisVim/Commands.cpp - -Patch 7.3.279 -Problem: With GTK, when gvim is full-screen and a tab is opened and using a - specific monitor configuration the window is too big. -Solution: Adjust the window size like on MS-Windows. (Yukihiro Nakadaira) -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - -Patch 7.3.280 -Problem: ":lmake" does not update the quickfix window title. -Solution: Update the title. (Lech Lorens) -Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok - -Patch 7.3.281 -Problem: After using "expand('%:8')" the buffer name is changed. -Solution: Make a copy of the file name before shortening it. -Files: src/eval.c - -Patch 7.3.282 -Problem: When using input() and :echo in a loop the displayed text is - incorrect. (Benjamin Fritz) -Solution: Only restore the cursor position when there is a command line. - (Ben Schmidt) -Files: src/ex_getln.c - -Patch 7.3.283 -Problem: An expression mapping with a multi-byte character containing a - 0x80 byte gets messed up. (ZyX) -Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira) -Files: src/getchar.c - -Patch 7.3.284 -Problem: The str2special() function doesn't handle multi-byte characters - properly. -Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov) -Files: src/getchar.c, src/message.c, src/misc2.c - -Patch 7.3.285 (after 7.3.284) -Problem: Mapping <Char-123> no longer works. -Solution: Properly check for "char-". Add a test for it. -Files: src/misc2.c, src/testdir/test75.in, src/testdir/test75.ok - -Patch 7.3.286 -Problem: Crash when using "zd" on a large number of folds. (Sam King) -Solution: Recompute pointer after reallocating array. Move fewer entries - when making room. -Files: src/fold.c - -Patch 7.3.287 -Problem: Can't compile with MSVC and tiny options. -Solution: Move variables and #ifdefs. (Sergey Khorev) -Files: src/os_win32.c - -Patch 7.3.288 -Problem: has('python') may give an error message for not being able to load - the library after using python3. -Solution: Only give the error when the verbose argument is true. -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.289 -Problem: Complete function isn't called when the leader changed. -Solution: Call ins_compl_restart() when the leader changed. (Taro Muraoka) -Files: src/edit.c - -Patch 7.3.290 -Problem: When a BufWriteCmd autocommand resets 'modified' this doesn't - change older buffer states to be marked as 'modified' like - ":write" does. (Yukihiro Nakadaira) -Solution: When the BufWriteCmd resets 'modified' then adjust the undo - information like ":write" does. -Files: src/fileio.c - -Patch 7.3.291 -Problem: Configure doesn't work properly with Python3. -Solution: Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland - Puntaier) -Files: src/config.h.in, src/auto/configure, src/configure.in - -Patch 7.3.292 -Problem: Crash when using fold markers and selecting a visual block that - includes a folded line and goes to end of line. (Sam Lidder) -Solution: Check for the column to be MAXCOL. (James Vega) -Files: src/screen.c - -Patch 7.3.293 -Problem: MSVC compiler has a problem with non-ASCII characters. -Solution: Avoid non-ASCII characters. (Hong Xu) -Files: src/ascii.h, src/spell.c - -Patch 7.3.294 (after 7.3.289) -Problem: Patch 289 causes more problems than it solves. -Solution: Revert the patch until a better solution is found. -Files: src/edit.c - -Patch 7.3.295 -Problem: When filtering text with an external command Vim may not read all - the output. -Solution: When select() is interrupted loop and try again. (James Vega) -Files: src/os_unix.c - -Patch 7.3.296 -Problem: When writing to an external command a zombie process may be left - behind. -Solution: Wait on the process. (James Vega) -Files: src/os_unix.c - -Patch 7.3.297 -Problem: Can't load Perl 5.14 dynamically. -Solution: Add code in #ifdefs. (Charles Cooper) -Files: if_perl.xs - -Patch 7.3.298 -Problem: Built-in colors are different from rgb.txt. -Solution: Adjust the color values. (Benjamin Haskell) -Files: src/gui_photon.c, src/gui_w48.c - -Patch 7.3.299 -Problem: Source code not in Vim style. -Solution: Adjust the style. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.300 -Problem: Python doesn't parse multi-byte argument correctly. -Solution: Use "t" instead of "s". (lilydjwg) -Files: src/if_py_both.h - -Patch 7.3.301 -Problem: When 'smartindent' and 'copyindent' are set a Tab is used even - though 'expandtab' is set. -Solution: Do not insert Tabs. Add a test. (Christian Brabandt) -Files: src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok - -Patch 7.3.302 (after 7.3.301) -Problem: Test 19 fails without 'smartindent' and +eval. -Solution: Don't use ":exe". Source small.vim. -Files: src/testdir/test19.in - -Patch 7.3.303 (after 7.3.296) -Problem: Compilation error. -Solution: Correct return type from int to pid_t. (Danek Duvall) -Files: src/os_unix.c - -Patch 7.3.304 -Problem: Strawberry Perl doesn't work on MS-Windows. -Solution: Use xsubpp if needed. (Yasuhiro Matsumoto) -Files: src/Make_ming.mak, src/Make_mvc.mak - -Patch 7.3.305 -Problem: Auto-loading a function while editing the command line causes - scrolling up the display. -Solution: Don't set msg_scroll when defining a function and the user is not - typing. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.306 -Problem: When closing a window there is a chance that deleting a scrollbar - triggers a GUI resize, which uses the window while it is not in a - valid state. -Solution: Set the buffer pointer to NULL to be able to detect the invalid - situation. Fix a few places that used the buffer pointer - incorrectly. -Files: src/buffer.c, src/ex_cmds.c, src/term.c, src/window.c - -Patch 7.3.307 -Problem: Python 3 doesn't support slice assignment. -Solution: Implement slices. (Brett Overesch, Roland Puntaier) -Files: src/if_python3.c - -Patch 7.3.308 -Problem: Writing to 'verbosefile' has problems, e.g. for :highlight. -Solution: Do not use a separate verbose_write() function but write with the - same code that does redirecting. (Yasuhiro Matsumoto) -Files: src/message.c - -Patch 7.3.309 (after 7.3.307) -Problem: Warnings for pointer types. -Solution: Change PySliceObject to PyObject. -Files: src/if_python3.c - -Patch 7.3.310 -Problem: Code not following Vim style. -Solution: Fix the style. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.311 (replaces 7.3.289) -Problem: Complete function isn't called when the leader changed. -Solution: Allow the complete function to return a dictionary with a flag - that indicates ins_compl_restart() is to be called when the leader - changes. (Taro Muraoka) -Files: runtime/insert.txt, src/edit.c, src/eval.c, src/proto/eval.pro - -Patch 7.3.312 (after 7.3.306) -Problem: Can't compile with tiny features. -Solution: Add #ifdef around win_valid(). -Files: src/buffer.c - -Patch 7.3.313 (after 7.3.307) -Problem: One more warning when compiling with dynamic Python 3. -Solution: Change PySliceObject to PyObject. -Files: src/if_python3.c - -Patch 7.3.314 (after 7.3.304) -Problem: Missing parenthesis. -Solution: Add it. (Benjamin R. Haskell) -Files: src/Make_mvc.mak - -Patch 7.3.315 -Problem: Opening a window before forking causes problems for GTK. -Solution: Fork first, create the window in the child and report back to the - parent process whether it worked. If successful the parent exits, - if unsuccessful the child exits and the parent continues in the - terminal. (Tim Starling) -Files: src/gui.c - -Patch 7.3.316 (after 7.3.306) -Problem: Crash when 'colorcolumn' is set and closing buffer. -Solution: Check for w_buffer to be NULL. (Yasuhiro Matsumoto) -Files: src/option.c - -Patch 7.3.317 -Problem: Calling debug.debug() in Lua may cause Vim to hang. -Solution: Add a better debug method. (Rob Hoelz, Luis Carvalho) -Files: src/if_lua.c - -Patch 7.3.318 -Problem: "C" on the last line deletes that line if it's blank. -Solution: Only delete the last line for a delete operation. (James Vega) -Files: src/ops.c - -Patch 7.3.319 (after 7.3.311) -Problem: Redobuff doesn't always include changes of the completion leader. -Solution: Insert backspaces as needed. (idea by Taro Muraoka) -Files: src/edit.c - -Patch 7.3.320 -Problem: When a 0xa0 character is in a sourced file the error message for - unrecognized command does not show the problem. -Solution: Display 0xa0 as <a0>. -Files: src/ex_docmd.c - -Patch 7.3.321 -Problem: Code not following Vim style. -Solution: Fix the style. (Elias Diem) -Files: src/os_qnx.c - -Patch 7.3.322 -Problem: #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef. -Solution: Check the MSC version and 64 bit flags. (Sergiu Dotenco) -Files: src/os_mswin.c - -Patch 7.3.323 -Problem: The default 'errorformat' does not ignore some "included from" - lines. -Solution: Add a few more patterns. (Ben Boeckel) -Files: src/option.h - -Patch 7.3.324 (after 7.3.237) -Problem: Completion for ":compiler" shows color scheme names. -Solution: Fix the directory name. (James Vega) -Files: src/ex_getln.c - -Patch 7.3.325 -Problem: A duplicated function argument gives an internal error. -Solution: Give a proper error message. (based on patch by Tyru) -Files: src/eval.c - -Patch 7.3.326 -Problem: MingW 4.6 no longer supports the -mno-cygwin option. -Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo) -Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak, - src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak, - Filelist - -Patch 7.3.327 -Problem: When jumping to a help tag a closed fold doesn't open. -Solution: Save and restore KeyTyped. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 7.3.328 -Problem: When command line wraps the cursor may be displayed wrong when - there are multi-byte characters. -Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto) -Files: src/ex_getln.c - -Patch 7.3.329 -Problem: When skipping over code from ":for" to ":endfor" get an error for - calling a dict function. (Yasuhiro Matsumoto) -Solution: Ignore errors when skipping over :call command. -Files: src/ex_docmd.c, src/eval.c - -Patch 7.3.330 -Problem: When longjmp() is invoked if the X server gives an error the state - is not properly restored. -Solution: Reset vgetc_busy. (Yukihiro Nakadaira) -Files: src/main.c - -Patch 7.3.331 -Problem: "vit" selects wrong text when a tag name starts with the same text - as an outer tag name. (Ben Fritz) -Solution: Add "\>" to the pattern to check for word boundary. -Files: src/search.c - -Patch 7.3.332 (after 7.3.202) -Problem: Indent after "public:" is not increased in C++ code. (Lech Lorens) -Solution: Check for namespace after the regular checks. (partly by Martin - Gieseking) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.333 -Problem: Using "." to repeat a Visual delete counts the size in bytes, not - characters. (Connor Lane Smith) -Solution: Store the virtual column numbers instead of byte positions. -Files: src/normal.c - -Patch 7.3.334 -Problem: Latest MingW about XSUBPP referencing itself. (Gongqian Li) -Solution: Rename the first use to XSUBPPTRY. -Files: src/Make_ming.mak - -Patch 7.3.335 -Problem: When 'imdisable' is reset from an autocommand in Insert mode it - doesn't take effect. -Solution: Call im_set_active() in Insert mode. (Taro Muraoka) -Files: src/option.c - -Patch 7.3.336 -Problem: When a tags file specifies an encoding different from 'enc' it - may hang and using a pattern doesn't work. -Solution: Convert the whole line. Continue reading the header after the - SORT tag. Add test83. (Yukihiro Nakadaira) -Files: src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test83-tags2, src/testdir/test83-tags3, - src/testdir/test83.in, src/testdir/test83.ok - -Patch 7.3.337 (after 7.3.295) -Problem: Screen doesn't update after resizing the xterm until a character - is typed. -Solution: When the select call is interrupted check do_resize. (Taylor - Hedberg) -Files: src/os_unix.c - -Patch 7.3.338 -Problem: Using getchar() in an expression mapping doesn't work well. -Solution: Don't save and restore the typeahead. (James Vega) -Files: src/getchar.c, src/testdir/test34.ok - -Patch 7.3.339 -Problem: "make shadow" doesn't link all test files. -Solution: Add a line in Makefile and Filelist. -Files: src/Makefile, Filelist - -Patch 7.3.340 -Problem: When 'verbosefile' is set ftplugof.vim can give an error. -Solution: Only remove filetypeplugin autocommands when they exist. (Yasuhiro - Matsumoto) -Files: runtime/ftplugof.vim - -Patch 7.3.341 -Problem: Local help files are only listed in help.txt, not in translated - help files. -Solution: Also find translated help files. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 7.3.342 -Problem: Code not in Vim style. -Solution: Fix the style. (Elias Diem) -Files: src/os_amiga.c, src/os_mac_conv.c, src/os_win16.c - -Patch 7.3.343 -Problem: No mouse support for urxvt. -Solution: Implement urxvt mouse support, also for > 252 columns. (Yiding - Jia) -Files: src/feature.h, src/keymap.h, src/option.h, src/os_unix.c, - src/term.c, src/version.c - -Patch 7.3.344 -Problem: Problem with GUI startup related to XInitThreads. -Solution: Use read() and write() instead of fputs() and fread(). (James - Vega) -Files: src/gui.c - -Patch 7.3.345 -Problem: When switching language with ":lang" the window title doesn't - change until later. -Solution: Update the window title right away. (Dominique Pelle) -Files: src/ex_cmds2.c - -Patch 7.3.346 -Problem: It's hard to test netbeans commands. -Solution: Process netbeans commands after :sleep. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c - -Patch 7.3.347 -Problem: When dropping text from a browser on Vim it receives HTML even - though "html" is excluded from 'clipboard'. (Andrei Avk) -Solution: Fix the condition for TARGET_HTML. -Files: src/gui_gtk_x11.c - -Patch 7.3.348 -Problem: "call range(1, 947948399)" causes a crash. (ZyX) -Solution: Avoid a loop in the out of memory message. -Files: src/misc2.c - -Patch 7.3.349 -Problem: When running out of memory during startup trying to open a - swapfile will loop forever. -Solution: Let findswapname() set dirp to NULL if out of memory. -Files: src/memline.c - -Patch 7.3.350 -Problem: Block of code after ":lua << EOF" may not work. (Paul Isambert) -Solution: Recognize the ":lua" command, skip to EOF. -Files: src/eval.c - -Patch 7.3.351 -Problem: Text formatting uses start of insert position when it should not. - (Peter Wagenaar) -Solution: Do not use Insstart when intentionally formatting. -Files: src/edit.c - -Patch 7.3.352 -Problem: When completing methods dict functions and script-local functions - get in the way. -Solution: Sort function names starting with "<" to the end. (Yasuhiro - Matsumoto) -Files: src/ex_getln.c - -Patch 7.3.353 (after 7.3.343) -Problem: Missing part of the urxvt patch. -Solution: Add the change in term.c -Files: src/term.c - -Patch 7.3.354 -Problem: ":set backspace+=eol" doesn't work when 'backspace' has a - backwards compatible value of 2. -Solution: Convert the number to a string. (Hirohito Higashi) -Files: src/option.c - -Patch 7.3.355 -Problem: GTK warnings when using netrw.vim. (Ivan Krasilnikov) -Solution: Do not remove the beval event handler twice. -Files: src/option.c - -Patch 7.3.356 -Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon) -Solution: Skip over {} correctly. (Hari G) -Files: src/misc1.c - -Patch 7.3.357 -Problem: Compiler warning in MS-Windows console build. -Solution: Adjust return type of PrintHookProc(). (Mike Williams) -Files: src/os_mswin.c - -Patch 7.3.358 (after 7.3.353) -Problem: Mouse support doesn't work properly. -Solution: Add HMT_URXVT. (lilydjwg, James McCoy) -Files: src/term.c - -Patch 7.3.359 -Problem: Command line completion shows dict functions. -Solution: Skip dict functions for completion. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.360 -Problem: Interrupting the load of an autoload function may cause a crash. -Solution: Do not use the hashitem when not valid. (Yukihiro Nakadaira) -Files: src/eval.c - -Patch 7.3.361 -Problem: Accessing memory after it is freed when EXITFREE is defined. -Solution: Don't access curwin when firstwin is NULL. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.3.362 -Problem: ml_get error when using ":g" with folded lines. -Solution: Adjust the line number for changed_lines(). (Christian Brabandt) -Files: src/ex_cmds.c - -Patch 7.3.363 -Problem: C indenting is wrong after #endif followed by a semicolon. -Solution: Add special handling for a semicolon in a line by itself. (Lech - Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.364 (after 7.3.353) -Problem: Can't compile on HP-UX. (John Marriott) -Solution: Only use TTYM_URXVT when it is defined. -Files: src/term.c - -Patch 7.3.365 -Problem: Crash when using a large Unicode character in a file that has - syntax highlighting. (ngollan) -Solution: Check for going past the end of the utf tables. (Dominique Pelle) -Files: src/mbyte.c - -Patch 7.3.366 -Problem: A tags file with an extremely long name causes errors. -Solution: Ignore tags that are too long. (Arno Renevier) -Files: src/tag.c - -Patch 7.3.367 -Problem: :wundo and :rundo use a wrong checksum. -Solution: Include the last line when computing the hash. (Christian Brabandt) -Files: src/undo.c - -Patch 7.3.368 -Problem: Gcc complains about redefining _FORTIFY_SOURCE. -Solution: Undefine it before redefining it. -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.3.369 -Problem: When compiled with Gnome get an error message when using --help. -Solution: Don't fork. (Ivan Krasilnikov) -Files: src/main.c - -Patch 7.3.370 -Problem: Compiler warns for unused variable in Lua interface. -Solution: Remove the variable. -Files: src/if_lua.c - -Patch 7.3.371 -Problem: Crash in autocomplete. (Greg Weber) -Solution: Check not going over allocated buffer size. -Files: src/misc2.c - -Patch 7.3.372 -Problem: When using a command line mapping to <Up> with file name - completion to go one directory up, 'wildchar' is inserted. - (Yasuhiro Matsumoto) -Solution: Set the KeyTyped flag. -Files: src/ex_getln.c - -Patch 7.3.373 (after 7.3.366) -Problem: A tags file with an extremely long name may cause an infinite loop. -Solution: When encountering a long name switch to linear search. -Files: src/tag.c - -Patch 7.3.374 -Problem: ++encoding does not work properly. -Solution: Recognize ++encoding before ++enc. (Charles Cooper) -Files: src/ex_docmd.c - -Patch 7.3.375 -Problem: Duplicate return statement. -Solution: Remove the superfluous one. (Dominique Pelle) -Files: src/gui_mac.c - -Patch 7.3.376 -Problem: Win32: Toolbar repainting does not work when the mouse pointer - hovers over a button. -Solution: Call DefWindowProc() when not handling an event. (Sergiu Dotenco) -Files: src/gui_w32.c - -Patch 7.3.377 -Problem: No support for bitwise AND, OR, XOR and invert. -Solution: Add and(), or(), invert() and xor() functions. -Files: src/eval.c, src/testdir/test49.in, src/testdir/test65.in, - src/testdir/test65.ok, runtime/doc/eval.txt - -Patch 7.3.378 -Problem: When cross-compiling the check for uint32_t fails. -Solution: Only give a warning message. (Maksim Melnikau) -Files: src/configure.in, src/auto/configure - -Patch 7.3.379 -Problem: C-indenting wrong for static enum. -Solution: Skip over "static". (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.380 -Problem: C-indenting wrong for a function header. -Solution: Skip to the start paren. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.381 -Problem: Configure silently skips interfaces that won't work. -Solution: Add the --enable-fail_if_missing argument. (Shlomi Fish) -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.3.382 (after 7.3.376) -Problem: IME characters are inserted twice. -Solution: Do not call DefWindowProc() if the event was handled. (Yasuhiro - Matsumoto) -Files: src/gui_w32.c - -Patch 7.3.383 -Problem: For EBCDIC pound sign is defined as 't'. -Solution: Correctly define POUND. -Files: src/ascii.h - -Patch 7.3.384 -Problem: Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary - completion. -Solution: Add CTRL-K to the list of recognized keys. (James McCoy) -Files: src/edit.c - -Patch 7.3.385 -Problem: When using an expression mapping on the command line the cursor - ends up in the wrong place. (Yasuhiro Matsumoto) -Solution: Save and restore msg_col and msg_row when evaluating the - expression. -Files: src/getchar. - -Patch 7.3.386 -Problem: Test 83 fails when iconv does not support cp932. (raf) -Solution: Test if conversion works. (Yukihiro Nakadaira) -Files: src/testdir/test83.in - -Patch 7.3.387 (after 7.3.386) -Problem: Test 83 may fail for some encodings. -Solution: Set 'encoding' to utf-8 earlier. -Files: src/testdir/test83.in - -Patch 7.3.388 -Problem: Crash on exit when EXITFREE is defined and using tiny features. -Solution: Check for NULL window pointer. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.3.389 -Problem: After typing at a prompt the "MORE" message appears too soon. -Solution: reset lines_left in msg_end_prompt(). (Eswald) -Files: src/message.c - -Patch 7.3.390 -Problem: Using NULL buffer pointer in a window. -Solution: Check for w_buffer being NULL in more places. (Bjorn Winckler) -Files: src/ex_cmds.c, src/quickfix.c, src/window.c - -Patch 7.3.391 -Problem: Can't check if the XPM_W32 feature is enabled. -Solution: Add xpm_w32 to the list of features. (kat) -Files: src/eval.c - -Patch 7.3.392 -Problem: When setting 'undofile' while the file is already loaded but - unchanged, try reading the undo file. (Andy Wokula) -Solution: Compute a checksum of the text when 'undofile' is set. (Christian - Brabandt) -Files: src/option.c, src/testdir/test72.in, src/testdir/test72.ok - -Patch 7.3.393 -Problem: Win32: When resizing Vim it is always moved to the primary monitor - if the secondary monitor is on the left. -Solution: Use the nearest monitor. (Yukihiro Nakadaira) -Files: src/gui_w32.c - -Patch 7.3.394 -Problem: When placing a mark while starting up a screen redraw messes up - the screen. (lith) -Solution: Don't redraw while still starting up. (Christian Brabandt) -Files: src/screen.c - -Patch 7.3.395 (after 7.3.251) -Problem: "dv?bar" in the last line deletes too much and breaks undo. -Solution: Only adjust the cursor position when it's after the last line of - the buffer. Add a test. (Christian Brabandt) -Files: src/ops.c, src/testdir/test43.in, src/testdir/test43.ok - -Patch 7.3.396 -Problem: After forcing an operator to be characterwise it can still become - linewise when spanning whole lines. -Solution: Don't make the operator linewise when motion_force was set. - (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.397 -Problem: ":helpgrep" does not work properly when 'encoding' is not utf-8 or - latin1. -Solution: Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto) -Files: src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro - -Patch 7.3.398 -Problem: When creating more than 10 location lists and adding items one by - one a previous location may be used. (Audrius Kažukauskas) -Solution: Clear the location list completely when adding the tenth one. -Files: src/quickfix.c - -Patch 7.3.399 -Problem: ":cd" doesn't work when the path contains wildcards. (Yukihiro - Nakadaira) -Solution: Ignore wildcard errors when the EW_NOTWILD flag is used. -Files: src/misc1.c - -Patch 7.3.400 -Problem: Compiler warnings for shadowed variables. -Solution: Remove or rename the variables. -Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c, - src/getchar.c, src/message.c, src/misc2.c, src/move.c, - src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c, - src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c - -Patch 7.3.401 -Problem: A couple more shadowed variables. -Solution: Rename the variables. -Files: src/netbeans.c - -Patch 7.3.402 -Problem: When jumping to the first error a line of the buffer is sometimes - redrawn on top of the list of errors. -Solution: Do not call update_topline_redraw() if the display was scrolled - up. -Files: src/quickfix.c - -Patch 7.3.403 -Problem: ":helpgrep" does not trigger QuickFixCmd* autocommands. -Solution: Trigger the autocommands. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.404 -Problem: When a complete function uses refresh "always" redo will not work - properly. -Solution: Do not reset compl_leader when compl_opt_refresh_always is set. - (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 7.3.405 -Problem: When xterm gets back the function keys it may delete the urxvt - mouse termcap code. -Solution: Check for the whole code, not just the start. (Egmont Koblinger) -Files: src/keymap.h, src/misc2.c, src/term.c - -Patch 7.3.406 -Problem: Multi-byte characters in b:browsefilter are not handled correctly. -Solution: First use convert_filter() normally and then convert to wide - characters. (Taro Muraoka) -Files: src/gui_w48.c - -Patch 7.3.407 -Problem: ":12verbose call F()" may duplicate text while trying to truncate. - (Thinca) -Solution: Only truncate when there is not enough room. Also check the byte - length of the buffer. -Files: src/buffer.c, src/eval.c, src/ex_getln.c, src/message.c, - src/proto/message.pro - -Patch 7.3.408 (after 7.3.406) -Problem: Missing declaration. -Solution: Add the declaration. (John Marriott) -Files: src/gui_w48.c - -Patch 7.3.409 -Problem: The license in pty.c is unclear. -Solution: Add a comment about the license. -Files: src/pty.c - -Patch 7.3.410 -Problem: Compiler error for // comment. (Joachim Schmitz) -Solution: Turn into /* comment */. -Files: src/message.c - -Patch 7.3.411 -Problem: Pasting in Visual mode using the "" register does not work. (John - Beckett) -Solution: Detect that the write is overwriting the pasted register. - (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.412 -Problem: Storing a float in a session file has an additional '&'. -Solution: Remove the '&'. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.413 -Problem: Build warnings on MS-Windows. -Solution: Add type casts. (Mike Williams) -Files: src/ex_getln.c, src/message.c, src/term.c - -Patch 7.3.414 -Problem: Using CTRL-A on "000" drops the leading zero, while on "001" it - doesn't. -Solution: Detect "000" as an octal number. (James McCoy) -Files: src/charset.c - -Patch 7.3.415 (after 7.3.359) -Problem: Completion of functions stops once a dictionary is encountered. - (James McCoy) -Solution: Return an empty string instead of NULL. -Files: src/eval.c - -Patch 7.3.416 (after 7.3.415) -Problem: Compiler warning for wrong pointer. -Solution: Add type cast. -Files: src/eval.c - -Patch 7.3.417 (after 7.3.395) -Problem: Test 43 fails with a tiny build. -Solution: Only run test 43 with at least a small build. -Files: src/testdir/test43.in - -Patch 7.3.418 -Problem: When a user complete function returns -1 an error message is - given. -Solution: When -2 is returned stop completion silently. (Yasuhiro Matsumoto) -Files: src/edit. - -Patch 7.3.419 -Problem: DBCS encoding in a user command does not always work. -Solution: Skip over DBCS characters. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 7.3.420 -Problem: "it" and "at" don't work properly with a dash in the tag name. -Solution: Require a space to match the tag name. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.421 -Problem: Get E832 when setting 'undofile' in vimrc and there is a file to - be edited on the command line. (Toothpik) -Solution: Do not try reading the undo file for a file that wasn't loaded. -Files: src/option.c - -Patch 7.3.422 -Problem: Python 3 does not have __members__. -Solution: Add "name" and "number" in another way. (lilydjwg) -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.423 -Problem: Small mistakes in comments, proto and indent. -Solution: Fix the mistakes. -Files: src/ex_cmds2.c, src/structs.h, src/ui.c, src/proto/ex_docmd.pro - -Patch 7.3.424 -Problem: Win16 version missing some functions. -Solution: Add #defines for the functions. -Files: src/gui_w16.c - -Patch 7.3.425 (after 7.3.265) -Problem: Search history lines are duplicated. (Edwin Steiner) -Solution: Convert separator character from space to NUL. -Files: src/ex_getln.c - -Patch 7.3.426 -Problem: With '$' in 'cpoptions' the $ is not displayed in the first - column. -Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and - Hirohito Higashi) -Files: src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c - -Patch 7.3.427 -Problem: readfile() can be slow with long lines. -Solution: Use realloc() instead of alloc(). (John Little) -Files: src/eval.c - -Patch 7.3.428 -Problem: Win32: an xpm file without a mask crashes Vim. -Solution: Fail when the mask is missing. (Dave Bodenstab) -Files: src/xpm_w32.c - -Patch 7.3.429 -Problem: When 'cpoptions' includes "E" "c0" in the first column is an - error. The redo register is then set to the erroneous command. -Solution: Do not set the redo register if the command fails because of an - empty region. (Hideki Eiraku) -Files: src/getchar.c, src/normal.c, src/proto/getchar.pro - -Patch 7.3.430 -Problem: When a custom filetype detection uses "augroup END" the conf - fileytpe detection does not have the filetypedetect group. -Solution: Always end the group and include filetypedetect in the conf - autocommand. (Lech Lorens) -Files: runtime/filetype.vim - -Patch 7.3.431 -Problem: Fetching a key at a prompt may be confused by escape sequences. - Especially when getting a prompt at a VimEnter autocommand. - (Alex Efros) -Solution: Properly handle escape sequences deleted by check_termcode(). -Files: src/getchar.c, src/misc1.c, src/term.c, src/proto/term.pro - -Patch 7.3.432 -Problem: ACLs are not supported for ZFS or NFSv4 on Solaris. -Solution: Add configure check and code. (Danek Duvall) -Files: src/configure.in, src/auto/configure, src/config.h.in, - src/os_unix.c - -Patch 7.3.433 -Problem: Using continued lines in a Vim script can be slow. -Solution: Instead of reallocating for every line use a growarray. (Yasuhiro - Matsumoto) -Files: src/ex_cmds2.c - -Patch 7.3.434 -Problem: Using join() can be slow. -Solution: Compute the size of the result before allocation to avoid a lot of - allocations and copies. (Taro Muraoka) -Files: src/eval.c - -Patch 7.3.435 -Problem: Compiler warning for unused variable. -Solution: Move the variable inside #ifdef. -Files: src/ex_cmds2.c - -Patch 7.3.436 -Problem: Compiler warnings for types on Windows. -Solution: Add type casts. (Mike Williams) -Files: src/eval.c - -Patch 7.3.437 -Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done. -Solution: Use goto instead of break. (Hirohito Higashi) -Files: src/fileio.c, src/globals.h - -Patch 7.3.438 -Problem: There is no way to avoid ":doautoall" reading modelines. -Solution: Add the <nomodeline> argument. Adjust documentation. -Files: src/fileio.c, runtime/doc/autocmd.txt - -Patch 7.3.439 -Problem: Compiler warnings to size casts in Perl interface. -Solution: Use XS macros. (James McCoy) -Files: src/if_perl.xs, src/typemap - -Patch 7.3.440 -Problem: Vim does not support UTF8_STRING for the X selection. -Solution: Add UTF8_STRING atom support. (Alex Efros) Use it only when - 'encoding' is set to Unicode. -Files: src/ui.c - -Patch 7.3.441 -Problem: Newer versions of MzScheme (Racket) require earlier (trampolined) - initialisation. -Solution: Call mzscheme_main() early in main(). (Sergey Khorev) -Files: src/Make_mvc.mak, src/if_mzsch.c, src/main.c, - src/proto/if_mzsch.pro - -Patch 7.3.442 (after 7.3.438) -Problem: Still read modelines for ":doautocmd". -Solution: Move check for <nomodeline> to separate function. -Files: src/fileio.c, src/ex_docmd.c, src/proto/fileio.pro, - runtime/doc/autocmd.txt - -Patch 7.3.443 -Problem: MS-Windows: 'shcf' and 'shellxquote' defaults are not very good. -Solution: Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz) -Files: src/option.c, runtime/doc/options.txt - -Patch 7.3.444 -Problem: ":all!" and ":sall!" give error E477, even though the - documentation says these are valid commands. -Solution: Support the exclamation mark. (Hirohito Higashi) -Files: src/ex_cmds.h, src/testdir/test31.in, src/testdir/test31.ok - -Patch 7.3.445 (after 7.3.443) -Problem: Can't properly escape commands for cmd.exe. -Solution: Default 'shellxquote' to '('. Append ')' to make '(command)'. - No need to use "/s" for 'shellcmdflag'. -Files: src/misc2.c, src/option.c, src/os_win32.c - -Patch 7.3.446 (after 7.3.445) -Problem: Win32: External commands with special characters don't work. -Solution: Add the 'shellxescape' option. -Files: src/misc2.c, src/option.c, src/option.h, runtime/doc/options.txt - -Patch 7.3.447 (after 7.3.446) -Problem: Win32: External commands with "start" do not work. -Solution: Unescape part of the command. (Yasuhiro Matsumoto) -Files: src/os_win32.c - -Patch 7.3.448 (after 7.3.447) -Problem: Win32: Still a problem with "!start /b". -Solution: Escape only '|'. (Yasuhiro Matsumoto) -Files: src/os_win32.c - -Patch 7.3.449 -Problem: Crash when a BufWinLeave autocommand closes the only other window. - (Daniel Hunt) -Solution: Abort closing a buffer when it becomes the only one. -Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, src/ex_getln.c, - src/misc2.c, src/quickfix.c, src/window.c, src/proto/window.pro - -Patch 7.3.450 (after 7.3.448) -Problem: Win32: Still a problem with "!start /b". -Solution: Fix pointer use. (Yasuhiro Matsumoto) -Files: src/os_win32.c - -Patch 7.3.451 -Problem: Tcl doesn't work on 64 MS-Windows. -Solution: Make it work. (Dave Bodenstab) -Files: src/Make_mvc.mak, src/if_tcl.c - -Patch 7.3.452 -Problem: Undo broken when pasting close to the last line. (Andrey Radev) -Solution: Use a flag to remember if the deleted included the last line. - (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.453 -Problem: Pasting in the command line is slow. -Solution: Don't redraw if there is another character to read. (Dominique - Pelle) -Files: src/ex_getln.c - -Patch 7.3.454 -Problem: Re-allocating memory slows Vim down. -Solution: Use realloc() in ga_grow(). (Dominique Pelle) -Files: src/misc2.c - -Patch 7.3.455 -Problem: Using many continuation lines can be slow. -Solution: Adjust the reallocation size to the current length. -Files: src/ex_cmds2.c - -Patch 7.3.456 -Problem: ":tab drop file" has several problems, including moving the - current window and opening a new tab for a file that already has a - window. -Solution: Refactor ":tab drop" handling. (Hirohito Higashi) -Files: src/buffer.c, src/testdir/test62.in, src/testdir/test62.ok - -Patch 7.3.457 -Problem: When setting $VIMRUNTIME later the directory for fetching - translated messages is not adjusted. -Solution: Put bindtextdomain() in vim_setenv(). -Files: src/misc1.c - -Patch 7.3.458 -Problem: Crash when calling smsg() during startup. -Solution: Don't use 'shortmess' when it is not set yet. -Files: src/option.c - -Patch 7.3.459 -Problem: Win32: Warnings for type conversion. -Solution: Add type casts. (Mike Williams) -Files: src/misc2.c, src/os_win32.c - -Patch 7.3.460 -Problem: Win32: UPX does not compress 64 bit binaries. -Solution: Mention and add the alternative: mpress. (Dave Bodenstab) -Files: src/INSTALLpc.txt, src/Make_ming.mak - -Patch 7.3.461 -Problem: The InsertCharPre autocommand event is not triggered during - completion and when typing several characters quickly. -Solution: Also trigger InsertCharPre during completion. Do not read ahead - when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto) -Files: src/edit.c, src/fileio.c, src/proto/fileio.pro - -Patch 7.3.462 -Problem: When using ":loadview" folds may be closed unexpectedly. -Solution: Take into account foldlevel. (Xavier de Gaye) -Files: src/fold.c - -Patch 7.3.463 -Problem: When using ":s///c" the cursor is moved away from the match. - (Lawman) -Solution: Don't move the cursor when do_ask is set. (Christian Brabandt) -Files: src/ex_cmds.c - -Patch 7.3.464 -Problem: Compiler warning for sprintf. -Solution: Put the length in a variable. (Dominique Pelle) -Files: src/version.c - -Patch 7.3.465 -Problem: Cannot get file name with newline from glob(). -Solution: Add argument to glob() and expand() to indicate they must return a - list. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/vim.h - -Patch 7.3.466 -Problem: Get ml_get error hen ":behave mswin" was used and selecting - several lines. (A. Sinan Unur) -Solution: Adjust the end of the operation. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.467 -Problem: Cursor positioned wrong at the command line when regaining focus - and using some input method. -Solution: Do not position the cursor in command line mode. -Files: src/mbyte.c - -Patch 7.3.468 -Problem: For some compilers the error file is not easily readable. -Solution: Use QuickFixCmdPre for more commands. (Marcin Szamotulski) -Files: runtime/doc/autocmd.txt, src/quickfix.c - -Patch 7.3.469 -Problem: Compiler warning for unused argument without some features. -Solution: Add UNUSED. -Files: src/buffer.c - -Patch 7.3.470 -Problem: Test 62 fails when compiled without GUI and X11. -Solution: Don't test :drop when it is not supported. -Files: src/testdir/test62.in - -Patch 7.3.471 -Problem: Can't abort listing placed signs. -Solution: Check "got_int". (Christian Brabandt) -Files: src/buffer.c, src/ex_cmds.c - -Patch 7.3.472 -Problem: Crash when using ":redraw" in a BufEnter autocommand and - switching to another tab. (驼峰) -Solution: Move triggering the autocommands to after correcting the - option values. Also check the row value to be out of bounds. - (Christian Brabandt, Sergey Khorev) -Files: src/screen.c, src/window.c - -Patch 7.3.473 -Problem: 'cursorbind' does not work correctly in combination with - 'virtualedit' set to "all". -Solution: Copy coladd. (Gary Johnson) -Files: src/move.c - -Patch 7.3.474 -Problem: Perl build with gcc 4 fails. -Solution: Remove XS() statements. (Yasuhiro Matsumoto) -Files: src/if_perl.xs - -Patch 7.3.475 -Problem: In a terminal with few colors the omnicomplete menu may be hard to - see when using the default colors. -Solution: Use more explicit colors. (suggested by Alex Henrie) -Files: src/syntax.c - -Patch 7.3.476 -Problem: When selecting a block, using "$" to include the end of each line - and using "A" and typing a backspace strange things happen. - (Yuangchen Xie) -Solution: Avoid using a negative length. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.477 -Problem: Using ":echo" to output enough lines to scroll, then using "j" and - "k" at the more prompt, displays the command on top of the output. - (Marcin Szamotulski) -Solution: Put the output below the command. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.478 -Problem: Memory leak using the ':rv!' command when reading dictionary or - list global variables i.e. with 'viminfo' containing !. -Solution: Free the typeval. (Dominique Pelle) -Files: src/eval.c - -Patch 7.3.479 -Problem: When 'cursorline' is set the line number highlighting can't be set - separately. -Solution: Add "CursorLineNr". (Howard Buchholz) -Files: src/option.c, src/screen.c, src/syntax.c, src/vim.h - -Patch 7.3.480 -Problem: When using ":qa" and there is a changed buffer picking the buffer - to jump to is not very good. -Solution: Consider current and other tab pages. (Hirohito Higashi) -Files: src/ex_cmds2.c - -Patch 7.3.481 -Problem: Changing 'virtualedit' in an operator function to "all" does not - have the desired effect. (Aaron Bohannon) -Solution: Save, reset and restore virtual_op when executing an operator - function. -Files: src/normal.c - -Patch 7.3.482 -Problem: With 'cursorbind' set moving up/down does not always keep the same - column. -Solution: Set curswant appropriately. (Gary Johnson) -Files: src/move.c - -Patch 7.3.483 (after 7.3.477) -Problem: More prompt shows up too often. -Solution: Instead of adding a line break, only start a new line in the - message history. (Christian Brabandt) -Files: src/eval.c, src/message.c, src/proto/message.pro - -Patch 7.3.484 -Problem: The -E and --echo-wid command line arguments are not mentioned in - "vim --help". -Solution: Add the help lines. (Dominique Pelle) -Files: src/main.c - -Patch 7.3.485 -Problem: When building Vim LDFLAGS isn't passed on to building xxd. -Solution: Pass the LDFLAGS value. (James McCoy) -Files: src/Makefile - -Patch 7.3.486 -Problem: Build error with mingw64 on Windows 7. -Solution: Avoid the step of going through vimres.res. (Guopeng Wen) -Files: src/Make_ming.mak - -Patch 7.3.487 -Problem: When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical - movement is reset unnecessarily. -Solution: Do not set w_set_curswant for every option. Add a test for this. - (Kana Natsuno) Add the P_CURSWANT flag for options. -Files: src/option.c, src/testdir/test84.in, src/testdir/test84.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.488 -Problem: ":help!" in a help file does not work as documented. -Solution: When in a help file don't give an error message. (thinca) -Files: src/ex_cmds.c - -Patch 7.3.489 -Problem: CTRL-] in Insert mode does not expand abbreviation when used in a - mapping. (Yichao Zhou) -Solution: Special case using CTRL-]. (Christian Brabandt) -Files: src/getchar.c, src/edit.c - -Patch 7.3.490 -Problem: Member confusion in Lua interface. -Solution: Fix it. Add luaeval(). (Taro Muraoka, Luis Carvalho) -Files: runtime/doc/if_lua.txt, src/eval.c, src/if_lua.c, - src/proto/if_lua.pro - -Patch 7.3.491 -Problem: No tests for Lua. -Solution: Add some simple tests for Lua. (Luis Carvalho) -Files: src/testdir/test1.in, src/testdir/test85.in, src/testdir/test85.ok - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.492 -Problem: Can't indent conditions separately from function arguments. -Solution: Add the 'k' flag in 'cino'. (Lech Lorens) -Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, - src/testdir/test3.ok - -Patch 7.3.493 (after 7.3.492) -Problem: Two unused variables. -Solution: Remove them. (Hong Xu) -Files: src/misc1.c - -Patch 7.3.494 (after 7.3.491) -Problem: Can't compile with Lua 5.1 or dynamic Lua. -Solution: Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho) -Files: src/if_lua.c - -Patch 7.3.495 (after 7.3.492) -Problem: Compiler warnings. -Solution: Add function declaration. Remove "offset" argument. -Files: src/misc1.c - -Patch 7.3.496 -Problem: MS-DOS: When "diff" trips over difference in line separators some - tests fail. -Solution: Make some .ok files use unix line separators. (David Pope) -Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak - -Patch 7.3.497 -Problem: Crash when doing ":python print" and compiled with gcc and - the optimizer enabled. -Solution: Avoid the crash, doesn't really fix the problem. (Christian - Brabandt) -Files: src/if_py_both.h - -Patch 7.3.498 -Problem: The behavior of the "- register changes depending on value of - the 'clipboard' option. (Szamotulski) -Solution: Also set the "- register when the register is "*" or "+". - (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.499 -Problem: When using any interface language when Vim is waiting for a child - process it gets confused by a child process started through the - interface. -Solution: Always used waitpid() instead of wait(). (Yasuhiro Matsumoto) -Files: src/os_unix.c - -Patch 7.3.500 -Problem: Ming makefile unconditionally sets WINVER. -Solution: Only defined when not already defined. (Yasuhiro Matsumoto) -Files: src/Make_ming.mak - -Patch 7.3.501 -Problem: Error for "flush" not being defined when using Ruby command. -Solution: Defined "flush" as a no-op method. (Kent Sibilev) -Files: src/if_ruby.c - -Patch 7.3.502 -Problem: Netbeans insert halfway a line actually appends to the line. -Solution: Insert halfway the line. (Brian Victor) -Files: src/netbeans.c - -Patch 7.3.503 (after 7.3.501) -Problem: Warning for unused argument. -Solution: Add UNUSED. -Files: src/if_ruby.c - -Patch 7.3.504 -Problem: Commands in help files are not highlighted. -Solution: Allow for commands in backticks. Adjust CTRL-] to remove the - backticks. -Files: src/ex_cmds.c - -Patch 7.3.505 -Problem: Test 11 fails on MS-Windows in some versions. -Solution: Fix #ifdefs for whether filtering through a pipe is possible. Move - setting b_no_eol_lnum back to where it was before patch 7.3.124. - (David Pope) -Files: src/feature.h, src/eval.c, src/ex_cmds.c, src/fileio.c - -Patch 7.3.506 -Problem: GTK gives an error when selecting a non-existent file. -Solution: Add a handler to avoid the error. (Christian Brabandt) -Files: src/gui_gtk.c - -Patch 7.3.507 -Problem: When exiting with unsaved changes, selecting an existing file in - the file dialog, there is no dialog to ask whether the existing - file should be overwritten. (Felipe G. Nievinski) -Solution: Call check_overwrite() before writing. (Christian Brabandt) -Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds.pro - -Patch 7.3.508 -Problem: Default for v:register is not set. -Solution: Init v:register in eval_init(). Correct for 'clipboard' before the - main loop. (Ingo Karkat) -Files: src/eval.c, src/main.c - -Patch 7.3.509 -Problem: ":vimgrep" fails when 'autochdir' is set. -Solution: A more generic solution for changing directory. (Ben Fritz) -Files: src/quickfix.c - -Patch 7.3.510 -Problem: Test 77 fails on Solaris 7. (Michael Soyka) -Solution: Replace any tabs with spaces. -Files: src/testdir/test77.in - -Patch 7.3.511 -Problem: Using a FileReadCmd autocommand that does ":e! {file}" may cause a - crash. (Christian Brabandt) -Solution: Properly restore curwin->w_s. -Files: src/fileio.c - -Patch 7.3.512 -Problem: undofile() returns a useless name when passed an empty string. -Solution: Return an empty string. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.513 -Problem: Cannot use CTRL-E and CTRL-Y with "r". -Solution: Make CTRL-E and CTRL-Y work like in Insert mode. (Christian - Brabandt) -Files: src/edit.c, src/normal.c, src/proto/edit.pro - -Patch 7.3.514 -Problem: No completion for :history command. -Solution: Add the completion and update the docs. Also fix ":behave" - completion. (Dominique Pelle) -Files: runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c, - src/ex_getln.c, src/vim.h - -Patch 7.3.515 -Problem: 'wildignorecase' only applies to the last part of the path. -Solution: Also ignore case for letters earlier in the path. -Files: src/misc1.c - -Patch 7.3.516 -Problem: extend(o, o) may crash Vim. -Solution: Fix crash and add test. (Thinca and Hirohito Higashi) -Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok - -Patch 7.3.517 -Problem: Crash when using "vipvv". (Alexandre Provencio) -Solution: Don't let the text length become negative. -Files: src/ops.c - -Patch 7.3.518 -Problem: When 'encoding' is a double-byte encoding ":helptags" may not find - tags correctly. -Solution: Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 7.3.519 -Problem: When completefunction returns it cannot indicate end of completion - mode. -Solution: Recognize completefunction returning -3. (Matsushita Shougo) -Files: src/edit.c - -Patch 7.3.520 -Problem: Gvim starts up slow on Ubuntu 12.04. -Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro - Matsumoto) Do check $DISPLAY being set. -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - -Patch 7.3.521 -Problem: Using "z=" on a multi-byte character may cause a crash. -Solution: Don't use strlen() on an int pointer. -Files: src/spell.c - -Patch 7.3.522 -Problem: Crash in vim_realloc() when using MEM_PROFILE. -Solution: Avoid using a NULL argument. (Dominique Pelle) -Files: src/eval.c - -Patch 7.3.523 -Problem: ":diffupdate" doesn't check for files changed elsewhere. -Solution: Add the ! flag. (Christian Brabandt) -Files: runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h - -Patch 7.3.524 (after 7.3.523) -Problem: Missing comma. -Solution: Add the comma. -Files: src/version.c - -Patch 7.3.525 -Problem: Compiler warning on 64 bit MS-Windows. -Solution: Add type cast. (Mike Williams) -Files: src/ex_getln.c - -Patch 7.3.526 -Problem: Confusing indenting for #ifdef. -Solution: Remove and add indent. (Elias Diem) -Files: src/normal.c - -Patch 7.3.527 -Problem: Clang complains about non-ASCII characters in a string. -Solution: Change to \x88 form. (Dominique Pelle) -Files: src/charset.c - -Patch 7.3.528 -Problem: Crash when closing last window in a tab. (Alex Efros) -Solution: Use common code in close_last_window_tabpage(). (Christian - Brabandt) -Files: src/window.c - -Patch 7.3.529 -Problem: Using a count before "v" and "V" does not work (Kikyous) -Solution: Make the count select that many characters or lines. (Christian - Brabandt) -Files: src/normal.c - -Patch 7.3.530 (after 7.3.520) -Problem: Gvim does not work when 'guioptions' includes "f". (Davido) -Solution: Call gui_mch_init_check() when running GUI in the foreground. - (Yasuhiro Matsumoto) -Files: src/gui.c - -Patch 7.3.531 (after 7.3.530) -Problem: GUI does not work on MS-Windows. -Solution: Add the missing #ifdef. (Patrick Avery) -Files: src/gui.c - -Patch 7.3.532 -Problem: Compiler warning from Clang. -Solution: Use a different way to point inside a string. (Dominique Pelle) -Files: src/syntax.c - -Patch 7.3.533 -Problem: Memory leak when writing undo file. -Solution: Free the ACL. (Dominique Pelle) -Files: src/undo.c - -Patch 7.3.534 (after 7.3.461) -Problem: When using an InsertCharPre autocommand autoindent fails. -Solution: Proper handling of v:char. (Alexey Radkov) -Files: src/edit.c - -Patch 7.3.535 -Problem: Many #ifdefs for MB_MAXBYTES. -Solution: Also define MB_MAXBYTES without the +multi_byte feature. Fix - places where the buffer didn't include space for a NUL byte. -Files: src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c, - src/misc1.c, src/screen.c, src/spell.c, src/vim.h - -Patch 7.3.536 -Problem: When spell checking the German sharp s is not seen as a word - character. (Aexl Bender) -Solution: In utf_islower() return true for the sharp s. Note: also need - updated spell file for this to take effect. -Files: src/mbyte.c - -Patch 7.3.537 -Problem: Unnecessary call to init_spell_chartab(). -Solution: Delete the call. -Files: src/spell.c - -Patch 7.3.538 -Problem: 'efm' does not handle Tabs in pointer lines. -Solution: Add Tab support. Improve tests. (Lech Lorens) -Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok - -Patch 7.3.539 -Problem: Redrawing a character on the command line does not work properly - for multi-byte characters. -Solution: Count the number of bytes in a character. (Yukihiro Nakadaira) -Files: src/ex_getln.c - -Patch 7.3.540 -Problem: Cursor is left on the text instead of the command line. -Solution: Don't call setcursor() in command line mode. -Files: src/getchar.c - -Patch 7.3.541 -Problem: When joining lines comment leaders need to be removed manually. -Solution: Add the 'j' flag to 'formatoptions'. (Lech Lorens) -Files: runtime/doc/change.txt, src/edit.c, src/ex_docmd.c, src/misc1.c, - src/normal.c, src/ops.c, src/option.h, src/proto/misc1.pro, - src/proto/ops.pro, src/search.c, src/testdir/test29.in, - src/testdir/test29.ok - -Patch 7.3.542 (after 7.3.506) -Problem: Function is sometimes unused. -Solution: Add #ifdef. -Files: src/gui_gtk.c - -Patch 7.3.543 -Problem: The cursor is in the wrong line after using ":copen". (John - Beckett) -Solution: Invoke more drastic redraw method. -Files: src/eval.c - -Patch 7.3.544 -Problem: There is no good way to close a quickfix window when closing the - last ordinary window. -Solution: Add the QuitPre autocommand. -Files: src/ex_docmd.c, src/fileio.c, src/vim.h - -Patch 7.3.545 -Problem: When closing a window or buffer autocommands may close it too, - causing problems for where the autocommand was invoked from. -Solution: Add the w_closing and b_closing flags. When set disallow ":q" and - ":close" to prevent recursive closing. -Files: src/structs.h, src/buffer.c, src/ex_docmd.c, src/window.c - -Patch 7.3.546 -Problem: Bogus line break. -Solution: Remove the line break. -Files: src/screen.c - -Patch 7.3.547 (after 7.3.541) -Problem: Compiler warning for uninitialized variable. -Solution: Initialize it. -Files: src/ops.c - -Patch 7.3.548 -Problem: Compiler warning on 64 bit Windows. -Solution: Add type cast. (Mike Williams) -Files: src/ops.c - -Patch 7.3.549 -Problem: In 'cinoptions' "0s" is interpreted as one shiftwidth. (David - Pineau) -Solution: Use the zero as zero. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.550 (after 7.3.541) -Problem: With "j" in 'formatoptions' a list leader is not removed. (Gary - Johnson) -Solution: Don't ignore the start of a three part comment. (Lech Lorens) -Files: src/ops.c, src/testdir/test29.in, src/testdir/test29.ok - -Patch 7.3.551 -Problem: When using :tablose a TabEnter autocommand is triggered too early. - (Karthick) -Solution: Don't trigger *Enter autocommands before closing the tab. - (Christian Brabandt) -Files: src/buffer.c, src/eval.c, src/ex_cmds2.c, src/fileio.c, - src/proto/window.pro, src/window.c - -Patch 7.3.552 -Problem: Formatting inside comments does not use the "2" flag in - 'formatoptions'. -Solution: Support the "2" flag. (Tor Perkins) -Files: src/vim.h, src/ops.c, src/edit.c, src/misc1.c, - src/testdir/test68.in, src/testdir/test68.ok - -Patch 7.3.553 -Problem: With double-width characters and 'listchars' containing "precedes" - the text is displayed one cell off. -Solution: Check for double-width character being overwritten by the - "precedes" character. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 7.3.554 (after 7.3.551) -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/window.c - -Patch 7.3.555 -Problem: Building on IBM z/OS fails. -Solution: Adjust configure. Use the QUOTESED value from config.mk instead of - the hard coded one in Makefile. (Stephen Bovy) -Files: src/configure.in, src/auto/configure, src/Makefile - -Patch 7.3.556 -Problem: Compiler warnings on 64 bit Windows. -Solution: Add type casts. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.557 -Problem: Crash when an autocommand wipes out a buffer when it is hidden. -Solution: Restore the current window when needed. (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.558 -Problem: Memory access error. (Gary Johnson) -Solution: Allocate one more byte. (Dominique Pelle) -Files: src/misc1.c - -Patch 7.3.559 -Problem: home_replace() does not work with 8.3 filename. -Solution: Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto) -Files: src/eval.c, src/misc1.c - -Patch 7.3.560 -Problem: Get an error for a locked argument in extend(). -Solution: Initialize the lock flag for a dictionary. (Yukihiro Nakadaira) -Files: src/eval.c - -Patch 7.3.561 -Problem: Using refresh: always in a complete function breaks the "." - command. (Val Markovic) -Solution: Add match leader to the redo buffer. (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 7.3.562 -Problem: ":profdel" should not work when the +profile feature is disabled. -Solution: Call ex_ni(). (Yasuhiro Matsumoto) -Files: src/ex_cmds2.c - -Patch 7.3.563 (after 7.3.557) -Problem: Can't build with tiny features. -Solution: Add #ifdef. -Files: src/buffer.c - -Patch 7.3.564 (after 7.3.559) -Problem: Warning for pointer conversion. -Solution: Add type cast. -Files: src/misc1.c - -Patch 7.3.565 -Problem: Can't generate proto file for Python 3. -Solution: Add PYTHON3_CFLAGS to LINT_CFLAGS. -Files: src/Makefile - -Patch 7.3.566 (after 7.3.561) -Problem: Redo after completion does not work correctly when refresh: always - is not used. (Raymond Ko) -Solution: Check the compl_opt_refresh_always flag. (Christian Brabandt) -Files: src/edit.c - -Patch 7.3.567 -Problem: Missing copyright notice. -Solution: Add Vim copyright notice. (Taro Muraoka) -Files: src/dehqx.py - -Patch 7.3.568 -Problem: Bad indents for #ifdefs. -Solution: Add and remove spaces. (Elias Diem) -Files: src/globals.h - -Patch 7.3.569 -Problem: Evaluating Vim expression in Python is insufficient. -Solution: Add vim.bindeval(). Also add pyeval() and py3eval(). (ZyX) -Files: runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c, - src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c, - src/proto/eval.pro, src/proto/if_python.pro, - src/proto/if_python3.pro, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Makefile, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.570 -Problem: ":vimgrep" does not obey 'wildignore'. -Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat) -Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c - -Patch 7.3.571 -Problem: Duplicated condition. -Solution: Remove one. (Dominique Pelle) -Files: src/os_win32.c - -Patch 7.3.572 -Problem: Duplicate statement in if and else. (Dominique Pelle) -Solution: Remove the condition and add a TODO. -Files: src/gui_xmebw.c - -Patch 7.3.573 -Problem: Using array index before bounds checking. -Solution: Swap the parts of the condition. (Dominique Pelle) -Files: src/ops.c - -Patch 7.3.574 -Problem: When pasting a register in the search command line a CTRL-L - character is not pasted. (Dominique Pelle) -Solution: Escape the CTRL-L. (Christian Brabandt) -Files: src/ex_getln.c - -Patch 7.3.575 -Problem: "ygt" tries to yank instead of giving an error. (Daniel Mueller) -Solution: Check for a pending operator. -Files: src/normal.c - -Patch 7.3.576 -Problem: Formatting of lists inside comments is not right yet. -Solution: Use another solution and add a test. (Tor Perkins) -Files: src/edit.c, src/misc1.c, src/testdir/test68.in, - src/testdir/test69.ok - -Patch 7.3.577 -Problem: Size of memory does not fit in 32 bit unsigned. -Solution: Use Kbyte instead of byte. Call GlobalMemoryStatusEx() instead of - GlobalMemoryStatus() when available. -Files: src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c, - src/os_win16.c, src/os_win32.c - -Patch 7.3.578 -Problem: Misplaced declaration. -Solution: Move declaration to start of block. -Files: src/if_py_both.h - -Patch 7.3.579 (after 7.3.569) -Problem: Can't compile with Python 2.5. -Solution: Use PyCObject when Capsules are not available. -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.580 -Problem: Warning on 64 bit MS-Windows. -Solution: Add type cast. (Mike Williams) -Files: src/if_py_both.h - -Patch 7.3.581 -Problem: Problems compiling with Python. -Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg) -Files: src/if_python.c - -Patch 7.3.582 (after 7.3.576) -Problem: Missing parts of the test OK file. -Solution: Add the missing parts. -Files: src/testdir/test68.ok - -Patch 7.3.583 -Problem: PyObject_NextNotImplemented is not defined before Python 2.7. - (Danek Duvall) -Solution: Add #ifdefs. -Files: src/if_python.c - -Patch 7.3.584 -Problem: PyCObject is not always defined. -Solution: Use PyObject instead. -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.585 -Problem: Calling changed_bytes() too often. -Solution: Move changed_bytes() out of a loop. (Tor Perkins) -Files: src/edit.c - -Patch 7.3.586 -Problem: When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined. -Solution: Set the default for WINVER to 0x0500. -Files: src/Make_ming.mak, src/Make_cyg.mak - -Patch 7.3.587 -Problem: Compiler warning for local var shadowing global var. -Solution: Rename the var and move it to an inner block. (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.588 -Problem: Crash on NULL pointer. -Solution: Fix the immediate problem by checking for NULL. (Lech Lorens) -Files: src/window.c - -Patch 7.3.589 -Problem: Crash when $HOME is not set. -Solution: Check for a NULL pointer. (Chris Webb) -Files: src/misc1.c - -Patch 7.3.590 -Problem: The '< and '> marks cannot be set directly. -Solution: Allow setting '< and '>. (Christian Brabandt) -Files: src/mark.c - -Patch 7.3.591 -Problem: Can only move to a tab by absolute number. -Solution: Move a number of tabs to the left or the right. (Lech Lorens) -Files: runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c, - src/testdir/test62.in, src/testdir/test62.ok, src/window.c - -Patch 7.3.592 -Problem: Vim on GTK does not support g:browsefilter. -Solution: Add a GtkFileFilter to the file chooser. (Christian Brabandt) -Files: src/gui_gtk.c - -Patch 7.3.593 -Problem: No easy way to decide if b:browsefilter will work. -Solution: Add the browsefilter feature. -Files: src/gui_gtk.c, src/eval.c, src/vim.h - -Patch 7.3.594 -Problem: The X command server doesn't work perfectly. It sends an empty - reply for as-keys requests. -Solution: Remove duplicate ga_init2(). Do not send a reply for as-keys - requests. (Brian Burns) -Files: src/if_xcmdsrv.c - -Patch 7.3.595 -Problem: The X command server responds slowly -Solution: Change the loop that waits for replies. (Brian Burns) -Files: src/if_xcmdsrv.c - -Patch 7.3.596 -Problem: Can't remove all signs for a file or buffer. -Solution: Support "*" for the sign id. (Christian Brabandt) -Files: runtime/doc/sign.txt, src/buffer.c, src/ex_cmds.c, - src/proto/buffer.pro - -Patch 7.3.597 -Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey - Vakulenko) -Solution: Make 'autoselect' work for the + register. (Christian Brabandt) - Add the "autoselectplus" option in 'clipboard' and the "P" flag in - 'guioptions'. -Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c, - src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c - -Patch 7.3.598 -Problem: Cannot act upon end of completion. (Taro Muraoka) -Solution: Add an autocommand event that is triggered when completion has - finished. (Idea by Florian Klein) -Files: src/edit.c, src/fileio.c, src/vim.h - -Patch 7.3.599 (after 7.3.597) -Problem: Missing change in one file. -Solution: Patch for changed clip_autoselect(). -Files: src/option.c - -Patch 7.3.600 -Problem: <f-args> is not expanded properly with DBCS encoding. -Solution: Skip over character instead of byte. (Yukihiro Nakadaira) -Files: src/ex_docmd.c - -Patch 7.3.601 -Problem: Bad code style. -Solution: Insert space, remove parens. -Files: src/farsi.c - -Patch 7.3.602 -Problem: Missing files in distribution. -Solution: Update the list of files. -Files: Filelist - -Patch 7.3.603 -Problem: It is possible to add replace builtin functions by calling - extend() on g:. -Solution: Add a flag to a dict to indicate it is a scope. Check for - existing functions. (ZyX) -Files: src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h, - src/testdir/test34.in, src/testdir/test34.ok, src/window.c - -Patch 7.3.604 -Problem: inputdialog() doesn't use the cancel argument in the console. - (David Fishburn) -Solution: Use the third argument. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.605 (after 7.3.577) -Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly) -Solution: Add #ifdef for MEMORYSTATUSEX. -Files: src/os_win32.c - -Patch 7.3.606 -Problem: CTRL-P completion has a problem with multi-byte characters. -Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto) -Files: src/search.c, src/macros.h - -Patch 7.3.607 -Problem: With an 8 color terminal the selected menu item is black on black, - because darkGrey as bg is the same as black. -Solution: Swap fg and bg colors. (James McCoy) -Files: src/syntax.c - -Patch 7.3.608 -Problem: winrestview() does not always restore the view correctly. -Solution: Call win_new_height() and win_new_width(). (Lech Lorens) -Files: src/eval.c, src/proto/window.pro, src/window.c - -Patch 7.3.609 -Problem: File names in :checkpath! output are garbled. -Solution: Check for \zs in the pattern. (Lech Lorens) -Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok - -Patch 7.3.610 -Problem: Cannot operate on the text that a search pattern matches. -Solution: Add the "gn" and "gN" commands. (Christian Brabandt) -Files: runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c, - src/proto/search.pro, src/search.c, src/testdir/test53.in, - src/testdir/test53.ok - -Patch 7.3.611 -Problem: Can't use Vim dictionary as self argument in Python. -Solution: Fix the check for the "self" argument. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.612 -Problem: Auto formatting messes up text when 'fo' contains "2". (ZyX) -Solution: Decrement "less_cols". (Tor Perkins) -Files: src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok - -Patch 7.3.613 -Problem: Including Python's config.c in the build causes trouble. It is - not clear why it was there. -Solution: Omit the config file. (James McCoy) -Files: src/Makefile, src/auto/configure, src/configure.in - -Patch 7.3.614 -Problem: Number argument gets turned into a number while it should be a - string. -Solution: Add flag to the call_vim_function() call. (Yasuhiro Matsumoto) -Files: src/edit.c, src/eval.c, src/proto/eval.pro - -Patch 7.3.615 -Problem: Completion for a user command does not recognize backslash before - a space. -Solution: Recognize escaped characters. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 7.3.616 (after 7.3.610) -Problem: Can't compile without +visual. -Solution: Add #ifdef. -Files: src/normal.c - -Patch 7.3.617 (after 7.3.615) -Problem: Hang on completion. -Solution: Skip over the space. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 7.3.618 (after 7.3.616) -Problem: Still doesn't compile with small features. -Solution: Move current_search() out of #ifdef. (Dominique Pelle) -Files: src/normal.c, src/search.c - -Patch 7.3.619 -Problem: When executing a shell command Vim may become slow to respond. -Solution: Don't wait after every processed message. (idea by Yasuhiro - Matsumoto) -Files: src/os_win32.c - -Patch 7.3.620 -Problem: Building with recent Ruby on Win32 doesn't work. -Solution: Add a separate argument for the API version. (Yasuhiro Matsumoto) -Files: src/Make_ming.mak, src/Make_mvc.mak - -Patch 7.3.621 -Problem: Compiler warnings on 64 bit windows. -Solution: Add type casts. (Mike Williams) -Files: src/ex_docmd.c, src/search.c - -Patch 7.3.622 -Problem: XPM library for Win32 can't be found. -Solution: Suggest using the one from the Vim ftp site. -Files: src/Make_mvc.mak - -Patch 7.3.623 -Problem: Perl 5.14 commands crash Vim on MS-Windows. -Solution: Use perl_get_sv() instead of GvSV(). (Raymond Ko) -Files: src/if_perl.xs - -Patch 7.3.624 -Problem: When cancelling input() it returns the third argument. That should - only happen for inputdialog(). -Solution: Check if inputdialog() was used. (Hirohito Higashi) -Files: src/eval.c - -Patch 7.3.625 -Problem: "gn" does not handle zero-width matches correctly. -Solution: Handle zero-width patterns specially. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.626 -Problem: Python interface doesn't build with Python 2.4 or older. -Solution: Define Py_ssize_t. (Benjamin Bannier) -Files: src/if_py_both.h - -Patch 7.3.627 -Problem: When using the "n" flag with the ":s" command a \= substitution - will not be evaluated. -Solution: Do perform the evaluation, so that a function can be invoked at - every matching position without changing the text. (Christian - Brabandt) -Files: src/ex_cmds.c - -Patch 7.3.628 -Problem: ":open" does not allow for a !, which results in a confusing error - message. (Shawn Wilson) -Solution: Allow ! on ":open". (Christian Brabandt) -Files: src/ex_cmds.h - -Patch 7.3.629 -Problem: There is no way to make 'shiftwidth' follow 'tabstop'. -Solution: When 'shiftwidth' is zero use the value of 'tabstop'. (Christian - Brabandt) -Files: src/edit.c, src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c, - src/option.c, src/proto/option.pro - -Patch 7.3.630 -Problem: "|" does not behave correctly when 'virtualedit' is set. -Solution: Call validate_virtcol(). (David Bürgin) -Files: src/normal.c - -Patch 7.3.631 -Problem: Cannot complete user names. -Solution: Add user name completion. (Dominique Pelle) -Files: runtime/doc/map.txt, src/auto/configure, src/config.h.in, - src/configure.in, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, - src/misc2.c, src/proto/misc1.pro, src/vim.h - -Patch 7.3.632 -Problem: Cannot select beyond 222 columns with the mouse in xterm. -Solution: Add support for SGR mouse tracking. (Hayaki Saito) -Files: runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c, - src/option.h, src/os_unix.c, src/term.c, src/version.c - -Patch 7.3.633 -Problem: Selection remains displayed as selected after selecting another - text. -Solution: Call xterm_update() before select(). (Andrew Pimlott) -Files: src/os_unix.c - -Patch 7.3.634 -Problem: Month/Day format for undo is confusing. (Marcin Szamotulski) -Solution: Always use Year/Month/Day, should work for everybody. -Files: src/undo.c - -Patch 7.3.635 -Problem: Issue 21: System call during startup sets 'lines' to a wrong - value. (Karl Yngve) -Solution: Don't set the shell size while the GUI is still starting up. - (Christian Brabandt) -Files: src/ui.c - -Patch 7.3.636 (after 7.3.625) -Problem: Not all zero-width matches handled correctly for "gn". -Solution: Move zero-width detection to a separate function. (Christian - Brabandt) -Files: src/search.c - -Patch 7.3.637 -Problem: Cannot catch the error caused by a foldopen when there is no fold. - (ZyX, Issue 48) -Solution: Do not break out of the loop early when inside try/catch. - (Christian Brabandt) Except when there is a syntax error. -Files: src/ex_docmd.c, src/globals.h - -Patch 7.3.638 -Problem: Unnecessary redraw of the previous character. -Solution: Check if the character is double-width. (Jon Long) -Files: src/screen.c - -Patch 7.3.639 -Problem: It's not easy to build Vim on Windows with XPM support. -Solution: Include the required files, they are quite small. Update the - MSVC makefile to use them. Binary files are in the next patch. - (Sergey Khorev) -Files: src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h, - src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat, - src/bigvim64.bat, Filelist - -Patch 7.3.640 -Problem: It's not easy to build Vim on Windows with XPM support. -Solution: Binary files for 7.3.639. (Sergey Khorev) -Files: src/xpm/x64/lib/libXpm.lib, src/xpm/x86/lib/libXpm.a, - src/xpm/x86/lib/libXpm.lib - -Patch 7.3.641 -Problem: ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan) -Solution: Add the bang. (Christian Brabandt) -Files: src/fold.c - -Patch 7.3.642 -Problem: Segfault with specific autocommands. Was OK after 7.3.449 and - before 7.3.545. (Richard Brown) -Solution: Pass TRUE for abort_if_last in the call to close_buffer(). - (Christian Brabandt) -Files: src/window.c - -Patch 7.3.643 (after 7.3.635) -Problem: MS-Windows: When starting gvim maximized 'lines' and 'columns' are - wrong. (Christian Robinson) -Solution: Move the check for gui.starting from ui_get_shellsize() to - check_shellsize(). -Files: src/ui.c, src/term.c - -Patch 7.3.644 -Problem: Dead code for BeOS GUI. -Solution: Remove unused __BEOS__ stuff. -Files: src/gui.c - -Patch 7.3.645 -Problem: No tests for patch 7.3.625 and 7.3.637. -Solution: Add more tests for the "gn" command and try/catch. (Christian - Brabandt) -Files: src/testdir/test53.in, src/testdir/test53.ok, - src/testdir/test55.in, src/testdir/test55.ok - -Patch 7.3.646 -Problem: When reloading a buffer the undo file becomes unusable unless ":w" - is executed. (Dmitri Frank) -Solution: After reloading the buffer write the undo file. (Christian - Brabandt) -Files: src/fileio.c - -Patch 7.3.647 -Problem: "gnd" doesn't work correctly in Visual mode. -Solution: Handle Visual mode differently in "gn". (Christian Brabandt) -Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok - -Patch 7.3.648 -Problem: Crash when using a very long file name. (ZyX) -Solution: Properly check length of buffer space. -Files: src/buffer.c - -Patch 7.3.649 -Problem: When 'clipboard' is set to "unnamed" small deletes end up in the - numbered registers. (Ingo Karkat) -Solution: Use the original register name to decide whether to put a delete - in a numbered register. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.650 -Problem: Completion after ":help \{-" gives an error message and messes up - the command line. -Solution: Cancel the tag search if the pattern can't be compiled. (Yasuhiro - Matsumoto) -Files: src/tag.c - -Patch 7.3.651 -Problem: Completion after ":help \{-" gives an error message. -Solution: Prepend a backslash. -Files: src/ex_cmds.c - -Patch 7.3.652 -Problem: Workaround for Python crash isn't perfect. -Solution: Change the type of the length argument. (Sean Estabrooks) -Files: src/if_py_both.h - -Patch 7.3.653 -Problem: MingW needs build rule for included XPM files. Object directory - for 32 and 64 builds is the same, also for MSVC. -Solution: Add MingW build rule to use included XPM files. Add the CPU or - architecture to the object directory name. (Sergey Khorev) -Files: src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt - -Patch 7.3.654 -Problem: When creating a Vim dictionary from Python objects an empty key - might be used. -Solution: Do not use empty keys, throw an IndexError. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.655 -Problem: 64 bit MingW xpm .a file is missing. -Solution: Add the file. (Sergey Khorev) -Files: src/xpm/x64/lib/libXpm.a - -Patch 7.3.656 -Problem: Internal error in :pyeval. -Solution: Handle failed object conversion. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.657 -Problem: Python bindings silently truncate string values containing NUL. -Solution: Fail when a string contains NUL. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.658 -Problem: NUL bytes truncate strings when converted from Python. -Solution: Handle truncation as an error. (ZyX) -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.659 -Problem: Recent Python changes are not tested. -Solution: Add tests for Python bindings. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.660 -Problem: ":help !" jumps to help for ":!". -Solution: Adjust check for tag header line. (Andy Wokula) -Files: src/tag.c - -Patch 7.3.661 (after 7.3.652) -Problem: SEGV in Python code. -Solution: Initialize len to zero. Use the right function depending on - version. (Maxim Philippov) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.662 -Problem: Can't build Ruby interface with Ruby 1.9.3. -Solution: Add missing functions. (V. Ondruch) -Files: src/if_ruby.c - -Patch 7.3.663 -Problem: End of color scheme name not clear in E185. (Aaron Lewis) -Solution: Put the name in single quotes. -Files: src/ex_docmd.c - -Patch 7.3.664 -Problem: Buffer overflow in unescaping text. (Raymond Ko) -Solution: Limit check for multi-byte character to 4 bytes. -Files: src/mbyte.c - -Patch 7.3.665 -Problem: MSVC 11 is not supported. (Raymond Ko) -Solution: Recognize MSVC 11. (Gary Willoughby) -Files: src/Make_mvc.mak - -Patch 7.3.666 -Problem: With MSVC 11 Win32.mak is not found. -Solution: Add the SDK_INCLUDE_DIR variable. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.3.667 -Problem: Unused variables in Perl interface. -Solution: Adjust #ifdefs. -Files: src/if_perl.xs - -Patch 7.3.668 -Problem: Building with Perl loaded dynamically still uses static library. -Solution: Adjust use of PL_thr_key. (Ken Takata) -Files: src/if_perl.xs - -Patch 7.3.669 -Problem: When building with Cygwin loading Python dynamically fails. -Solution: Use DLLLIBRARY instead of INSTSONAME. (Ken Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.670 -Problem: Python: memory leaks when there are exceptions. -Solution: Add DICTKEY_UNREF in the right places. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.671 -Problem: More Python code can be shared between Python 2 and 3. -Solution: Move code to if_py_both.h. (ZyX) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.672 -Problem: Not possible to lock/unlock lists in Python interface. -Solution: Add .locked and .scope attributes. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, - src/if_python3.c, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.673 -Problem: Using "gN" while 'selection' is "exclusive" misses one character. - (Ben Fritz) -Solution: Check the direction when compensating for exclusive selection. - (Christian Brabandt) -Files: src/search.c - -Patch 7.3.674 -Problem: Can't compile with Lua/dyn on Cygwin. -Solution: Adjust configure to use the right library name. (Ken Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.675 -Problem: Using uninitialized memory with very long file name. -Solution: Put NUL after text when it is truncated. (ZyX) -Files: src/buffer.c - -Patch 7.3.676 -Problem: Ruby compilation on Windows 32 bit doesn't work. -Solution: Only use some functions for 64 bit. (Ken Takata) -Files: src/if_ruby.c - -Patch 7.3.677 -Problem: buf_spname() is used inconsistently. -Solution: Make the return type a char_u pointer. Check the size of the - returned string. -Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds2.c, - src/ex_docmd.c, src/memline.c, src/screen.c - -Patch 7.3.678 -Problem: Ruby .so name may not be correct. -Solution: Use the LIBRUBY_SO entry from the config. (Vit Ondruch) -Files: src/configure.in, src/auto/configure - -Patch 7.3.679 -Problem: Ruby detection uses Config, newer Ruby versions use RbConfig. -Solution: Detect the need to use RbConfig. (Vit Ondruch) -Files: src/configure.in, src/auto/configure - -Patch 7.3.680 -Problem: Some files missing in the list of distributed files. -Solution: Add lines for new files. -Files: Filelist - -Patch 7.3.681 (after 7.3.680) -Problem: List of distributed files picks up backup files. -Solution: Make tutor patterns more specific. -Files: Filelist - -Patch 7.3.682 (after 7.3.677) -Problem: Compiler complains about incompatible types. -Solution: Remove type casts. (hint by Danek Duvall) -Files: src/edit.c - -Patch 7.3.683 -Problem: ":python" may crash when vimbindeval() returns None. -Solution: Check for v_string to be NULL. (Yukihiro Nakadaira) -Files: src/if_py_both.h - -Patch 7.3.684 -Problem: "make test" does not delete lua.vim. -Solution: Add lua.vim to the clean target. (Simon Ruderich) -Files: src/testdir/Makefile, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_vms.mms - -Patch 7.3.685 -Problem: No test for what patch 7.3.673 fixes. -Solution: Add a test. (Christian Brabandt) -Files: src/testdir/test53.in, src/testdir/test53.ok - -Patch 7.3.686 -Problem: Using CTRL-\ e mappings is useful also when entering an - expression, but it doesn't work. (Marcin Szamotulski) -Solution: Allow using CTRL-\ e when entering an expression if it was not - typed. -Files: src/ex_getln.c - -Patch 7.3.687 -Problem: Test 16 fails when $DISPLAY is not set. -Solution: Skip the test when $DISPLAY is not set. -Files: src/testdir/test16.in - -Patch 7.3.688 -Problem: Python 3.3 is not supported. -Solution: Add Python 3.3 support (Ken Takata) -Files: src/if_python3.c - -Patch 7.3.689 -Problem: MzScheme and Lua may use a NULL string. -Solution: Use an empty string instead of NULL. (Yukihiro Nakadaira) -Files: src/if_lua.c, src/if_mzsch.c - -Patch 7.3.690 -Problem: When the current directory name is exactly the maximum path length - Vim may crash. -Solution: Only add "/" when there is room. (Danek Duvall) -Files: src/os_unix.c - -Patch 7.3.691 -Problem: State specific to the Python thread is discarded. -Solution: Keep state between threads. (Paul) -Files: src/if_python.c - -Patch 7.3.692 -Problem: Can't build GTK version with GTK 2.0. -Solution: Put GtkFileFilter declaration in the right place. (Yegappan - Lakshmanan) -Files: src/gui_gtk.c - -Patch 7.3.693 -Problem: Can't make 'softtabstop' follow 'shiftwidth'. -Solution: When 'softtabstop' is negative use the value of 'shiftwidth'. - (so8res) -Files: src/edit.c, src/option.c, src/proto/option.pro - -Patch 7.3.694 -Problem: Now that 'shiftwidth' may use the value of 'tabstop' it is not so - easy to use in indent files. -Solution: Add the shiftwidth() function. (so8res) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.3.695 -Problem: Balloon cannot show multi-byte text. -Solution: Properly deal with multi-byte characters. (Dominique Pelle) -Files: src/gui_beval.c, src/ui.c - -Patch 7.3.696 -Problem: Message about added spell language can be wrong. -Solution: Give correct message. Add g:menutrans_set_lang_to to allow for - translation. (Jiri Sedlak) -Files: runtime/menu.vim - -Patch 7.3.697 -Problem: Leaking resources when setting GUI font. -Solution: Free the font. (Ken Takata) -Files: src/syntax.c - -Patch 7.3.698 -Problem: Python 3 does not preserve state between commands. -Solution: Preserve the state. (Paul Ollis) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.699 -Problem: When 'ttymouse' is set to "sgr" manually, it is overruled by - automatic detection. -Solution: Do not use automatic detection when 'ttymouse' was set manually. - (Hayaki Saito) -Files: src/term.c - -Patch 7.3.700 -Problem: Cannot detect URXVT and SGR mouse support. -Solution: add +mouse_urxvt and +mouse_sgr. (Hayaki Saito) -Files: src/feature.h, src/eval.c - -Patch 7.3.701 -Problem: MS-Windows: Crash with stack overflow when setting 'encoding'. -Solution: Handle that loading the iconv library may be called recursively. - (Jiri Sedlak) -Files: src/os_win32.c - -Patch 7.3.702 -Problem: Nmake from VS6 service pack 6 is not recognized. -Solution: Detect the version number. (Jiri Sedlak) -Files: src/Make_mvc.mak - -Patch 7.3.703 -Problem: When 'undofile' is reset the hash is computed unnecessarily. -Solution: Only compute the hash when the option was set. (Christian Brabandt) -Files: src/option.c - -Patch 7.3.704 -Problem: Repeating "cgn" does not always work correctly. -Solution: Also fetch the operator character. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.705 -Problem: Mouse features are not sorted properly. (Tony Mechelynck) -Solution: Put the mouse features in alphabetical order. -Files: src/version.c - -Patch 7.3.706 (after 7.3.697) -Problem: Can't build Motif version. -Solution: Fix wrongly named variable. (Ike Devolder) -Files: src/syntax.c - -Patch 7.3.707 (after 7.3.701) -Problem: Problems loading a library for a file name with non-latin - characters. -Solution: Use wide system functions when possible. (Ken Takata) -Files: src/os_win32.c, src/os_win32.h - -Patch 7.3.708 -Problem: Filler lines above the first line may be hidden when opening Vim. -Solution: Change how topfill is computed. (Christian Brabandt) -Files: src/diff.c, src/testdir/test47.in, src/testdir/test47.ok - -Patch 7.3.709 -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/eval.c - -Patch 7.3.710 (after 7.3.704) -Problem: Patch 7.3.704 breaks "fn". -Solution: Add check for ca.cmdchar. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.711 (after 7.3.688) -Problem: vim.current.buffer is not available. (lilydjwg) -Solution: Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String. - (Ken Takata) -Files: src/if_python3.c - -Patch 7.3.712 -Problem: Nmake from VS2010 SP1 is not recognized. -Solution: Add the version number. (Ken Takata) -Files: src/Make_mvc.mak - -Patch 7.3.713 -Problem: printf() can only align to bytes, not characters. -Solution: Add the "S" item. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/message.c - -Patch 7.3.714 -Problem: Inconsistency: :set can be used in the sandbox, but :setlocal and - :setglobal cannot. (Michael Henry) -Solution: Fix the flags for :setlocal and :setglobal. (Christian Brabandt) -Files: src/ex_cmds.h - -Patch 7.3.715 -Problem: Crash when calling setloclist() in BufUnload autocmd. (Marcin - Szamotulski) -Solution: Set w_llist to NULL when it was freed. Also add a test. - (Christian Brabandt) -Files: src/quickfix.c, src/testdir/test49.ok, src/testdir/test49.vim - -Patch 7.3.716 -Problem: Error on exit when using Python 3. -Solution: Remove PythonIO_Fini(). (Roland Puntaier) -Files: src/if_python3.c - -Patch 7.3.717 -Problem: When changing the font size, only MS-Windows limits the window - size. -Solution: Also limit the window size on other systems. (Roland Puntaier) -Files: src/gui.c - -Patch 7.3.718 -Problem: When re-using the current buffer the buffer-local options stay. -Solution: Re-initialize the buffer-local options. (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.719 -Problem: Cannot run new version of cproto, it fails on missing include - files. -Solution: Add lots of #ifndef PROTO -Files: src/os_amiga.c, src/os_amiga.h, src/gui_w16.c, src/gui_w48.c, - src/gui_w32.c, src/vimio.h, src/os_msdos.c, src/os_msdos.h, - src/os_win16.h, src/os_win16.c, src/os_win32.h, src/os_win32.c, - src/os_mswin.c, src/gui_photon.c, src/os_unix.h, src/os_beos.c, - src/os_beos.h - -Patch 7.3.720 -Problem: Proto files are outdated. -Solution: Update the newly generated proto files. -Files: src/proto/digraph.pro, src/proto/fold.pro, src/proto/misc1.pro, - src/proto/move.pro, src/proto/screen.pro, src/proto/search.pro, - src/proto/os_win32.pro, src/proto/os_mswin.pro, - src/proto/os_beos.pro - -Patch 7.3.721 -Problem: Ruby interface defines local functions globally. -Solution: Make the functions static. -Files: src/if_ruby.c - -Patch 7.3.722 -Problem: Perl flags may contain "-g", which breaks "make proto". -Solution: Filter out the "-g" flag for cproto. (Ken Takata) -Files: src/Makefile - -Patch 7.3.723 -Problem: Various tiny problems. -Solution: Various tiny fixes. -Files: src/gui_mac.c, src/xpm_w32.c, src/netbeans.c, src/sha256.c, - src/if_sniff.c, README.txt - -Patch 7.3.724 -Problem: Building with Ruby and Tcl on MS-Windows 64 bit does not work. -Solution: Remove Ruby and Tcl from the big MS-Windows build. -Files: src/bigvim64.bat - -Patch 7.3.725 -Problem: :aboveleft and :belowright have no effect on :copen. -Solution: Check for cmdmod.split. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.726 -Problem: Typos and duplicate info in README. -Solution: Fix the text. -Files: README.txt - -Patch 7.3.727 -Problem: Can't always find Win32.mak when building GvimExt. -Solution: Use same mechanism as in Make_mvc.mak. (Cade Foster) -Files: src/GvimExt/Makefile - -Patch 7.3.728 -Problem: Cannot compile with MzScheme interface on Ubuntu 12.10. -Solution: Find the collects directory under /usr/share. -Files: src/configure.in, src/auto/configure - -Patch 7.3.729 -Problem: Building with Ruby fails on some systems. -Solution: Remove "static" and add #ifndef PROTO. (Ken Takata) -Files: src/if_ruby.c - -Patch 7.3.730 -Problem: Crash in PHP file when using syntastic. (Ike Devolder) -Solution: Avoid using NULL pointer. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.731 -Problem: Py3Init_vim() is exported unnecessarily. -Solution: Make it static. (Ken Takata) -Files: src/if_python3.c - -Patch 7.3.732 -Problem: Compiler warnings for function arguments. -Solution: Use inteptr_t instead of long. -Files: src/if_mzsch.c, src/main.c - -Patch 7.3.733 -Problem: Tests fail when including MzScheme. -Solution: Change #ifdefs for vim_main2(). -Files: src/main.c - -Patch 7.3.734 -Problem: Cannot put help files in a sub-directory. -Solution: Make :helptags work for sub-directories. (Charles Campbell) -Files: src/ex_cmds.c - -Patch 7.3.735 -Problem: Cannot build Ruby 1.9 with MingW or Cygwin. -Solution: Add another include directory. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 7.3.736 -Problem: File name completion in input() escapes white space. (Frederic - Hardy) -Solution: Do not escape white space. (Christian Brabandt) -Files: src/ex_getln.c - -Patch 7.3.737 -Problem: When using do_cmdline() recursively did_endif is not reset, - causing messages to be overwritten. -Solution: Reset did_endif. (Christian Brabandt) -Files: src/ex_docmd.c - -Patch 7.3.738 (after 7.3.730) -Problem: Unused function argument. -Solution: Remove it. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.739 -Problem: Computing number of lines may have an integer overflow. -Solution: Check for MAXCOL explicitly. (Dominique Pelle) -Files: src/move.c - -Patch 7.3.740 -Problem: IOC tool complains about undefined behavior for int. -Solution: Change to unsigned int. (Dominique Pelle) -Files: src/hashtab.c, src/misc2.c - -Patch 7.3.741 (after 7.3.737) -Problem: Tiny build fails. -Solution: Move #ifdef. (Ike Devolder) -Files: src/ex_docmd.c - -Patch 7.3.742 -Problem: Leaking memory when :vimgrep restores the directory. -Solution: Free the allocated memory. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.743 (after 7.3.741) -Problem: Tiny build still fails. -Solution: Add #else in the right place. -Files: src/ex_docmd.c - -Patch 7.3.744 -Problem: 64 bit compiler warning. -Solution: Add type cast. (Mike Williams) -Files: src/ex_cmds.c - -Patch 7.3.745 -Problem: Automatically setting 'ttymouse' doesn't work. -Solution: Reset the "option was set" flag when using the default. -Files: src/option.c, src/proto/option.pro, src/term.c - -Patch 7.3.746 -Problem: Memory leaks when using location lists. -Solution: Set qf_title to something. (Christian Brabandt) -Files: src/eval.c, src/quickfix.c - -Patch 7.3.747 -Problem: When characters are concealed text aligned with tabs are no longer - aligned, e.g. at ":help :index". -Solution: Compensate space for tabs for concealed characters. (Dominique - Pelle) -Files: src/screen.c - -Patch 7.3.748 -Problem: Cannot properly test conceal mode. -Solution: Add the screencol() and screenrow() functions. Use them in - test88. (Simon Ruderich) -Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro, - src/screen.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - src/testdir/Makefile, src/testdir/test88.in, - src/testdir/test88.ok, - -Patch 7.3.749 -Problem: Python interface doesn't build without the multi-byte feature. -Solution: Add #ifdef. (Ken Takata) -Files: src/if_py_both.h - -Patch 7.3.750 -Problem: The justify macro does not always work correctly. -Solution: Fix off-by-one error (James McCoy) -Files: runtime/macros/justify.vim - -Patch 7.3.751 -Problem: Test 61 is flaky, it fails once in a while. -Solution: When it fails retry once. -Files: src/testdir/Makefile - -Patch 7.3.752 -Problem: Test 49 script file doesn't fold properly. -Solution: Add a colon. -Files: src/testdir/test49.vim - -Patch 7.3.753 -Problem: When there is a QuitPre autocommand using ":q" twice does not work - for exiting when there are more files to edit. -Solution: Do not decrement quitmore in an autocommand. (Techlive Zheng) -Files: src/ex_docmd.c, src/fileio.c, src/proto/fileio.pro - -Patch 7.3.754 -Problem: Latest nmake is not recognized. -Solution: Add nmake version 11.00.51106.1. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.3.755 -Problem: Autoconf doesn't find Python 3 if it's called "python". -Solution: Search for "python2" and "python3" first, then "python". -Files: src/configure.in, src/auto/configure - -Patch 7.3.756 -Problem: A location list can get a wrong count in :lvimgrep. -Solution: Check if the list was changed by autocommands. (mostly by - Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.757 -Problem: Issue 96: May access freed memory when a put command triggers - autocommands. (Dominique Pelle) -Solution: Call u_save() before getting y_array. -Files: src/ops.c - -Patch 7.3.758 -Problem: Matchit plugin does not handle space in #ifdef. -Solution: Change matching pattern to allow spaces. (Mike Morearty) -Files: runtime/macros/matchit.vim - -Patch 7.3.759 -Problem: MS-Windows: Updating the tabline is slow when there are many tabs. -Solution: Disable redrawing while performing the update. (Arseny Kapoulkine) -Files: src/gui_w48.c - -Patch 7.3.760 -Problem: dv_ deletes the white space before the line. -Solution: Move the cursor to the first non-white. (Christian Brabandt) -Files: src/normal.c, src/testdir/test19.in, src/testdir/test19.ok - -Patch 7.3.761 -Problem: In Visual mode a "-p does not work. (Marcin Szamotulski) -Solution: Avoid writing to "- before putting it. (Christian Brabandt) -Files: src/normal.c, src/testdir/test48.in, src/testdir/test48.ok - -Patch 7.3.762 (after 7.3.759) -Problem: On some systems the tabline is not redrawn. -Solution: Call RedrawWindow(). (Charles Peacech) -Files: src/gui_w48.c - -Patch 7.3.763 -Problem: Jumping to a mark does not open a fold if it is in the same line. - (Wiktor Ruben) -Solution: Also compare the column after the jump. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.764 -Problem: Not all message translation files are installed. -Solution: Also install the converted files. -Files: src/po/Makefile - -Patch 7.3.765 -Problem: Segfault when doing "cclose" on BufUnload in a python function. - (Sean Reifschneider) -Solution: Skip window with NULL buffer. (Christian Brabandt) -Files: src/main.c, src/window.c - -Patch 7.3.766 -Problem: ":help cpo-*" jumps to the wrong place. -Solution: Make it equivalent to ":help cpo-star". -Files: src/ex_cmds.c - -Patch 7.3.767 -Problem: (Win32) The _errno used for iconv may be the wrong one. -Solution: Use the _errno from iconv.dll. (Ken Takata) -Files: src/mbyte.c - -Patch 7.3.768 -Problem: settabvar() and setwinvar() may move the cursor. -Solution: Save and restore the cursor position when appropriate. (idea by - Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 7.3.769 -Problem: 'matchpairs' does not work with multi-byte characters. -Solution: Make it work. (Christian Brabandt) -Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c, - src/testdir/test69.in, src/testdir/test69.ok - -Patch 7.3.770 -Problem: Vim.h indentation is inconsistent. -Solution: Adjust the indentation. (Elias Diem) -Files: src/vim.h - -Patch 7.3.771 (after 7.3.769) -Problem: Uninitialized variable. (Yasuhiro Matsumoto) -Solution: Set x2 to -1. -Files: src/option.c - -Patch 7.3.772 -Problem: Cursor is at the wrong location and below the end of the file - after doing substitutions with confirm flag: %s/x/y/c - (Dominique Pelle) -Solution: Update the cursor position. (Christian Brabandt & Dominique) -Files: src/ex_cmds.c - -Patch 7.3.773 (after 7.3.767) -Problem: Crash when OriginalFirstThunk is zero. -Solution: Skip items with OriginalFirstThunk not set. (Ken Takata) -Files: src/mbyte.c - -Patch 7.3.774 -Problem: Tiny GUI version misses console dialog feature. -Solution: Define FEAT_CON_DIALOG when appropriate. (Christian Brabandt) -Files: src/feature.h, src/gui.h - -Patch 7.3.775 -Problem: Cygwin and Mingw builds miss dependency on gui_w48.c. -Solution: Add a build rule. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 7.3.776 -Problem: ml_get error when searching, caused by curwin not matching curbuf. -Solution: Avoid changing curbuf. (Lech Lorens) -Files: src/charset.c, src/eval.c, src/mark.c, src/proto/charset.pro, - src/proto/mark.pro, src/regexp.c, src/syntax.c, - -Patch 7.3.777 -Problem: When building with Gnome locale gets reset. -Solution: Set locale after gnome_program_init(). (Christian Brabandt) -Files: src/gui_gtk_x11.c - -Patch 7.3.778 -Problem: Compiler error for adding up two pointers. (Titov Anatoly) -Solution: Add a type cast. (Ken Takata) -Files: src/mbyte.c - -Patch 7.3.779 -Problem: Backwards search lands in wrong place when started on a multibyte - character. -Solution: Do not set extra_col for a backwards search. (Sung Pae) -Files: src/search.c, src/testdir/test44.in, src/testdir/test44.ok - -Patch 7.3.780 -Problem: char2nr() and nr2char() always use 'encoding'. -Solution: Add argument to use utf-8 characters. (Yasuhiro Matsumoto) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.3.781 -Problem: Drawing with 'guifontwide' can be slow. -Solution: Draw multiple characters at a time. (Taro Muraoka) -Files: src/gui.c - -Patch 7.3.782 -Problem: Windows: IME composition may use a wrong font. -Solution: Use 'guifontwide' for IME when it is set. (Taro Muraoka) -Files: runtime/doc/options.txt, src/gui.c, src/gui_w48.c, - src/proto/gui_w16.pro, src/proto/gui_w32.pro - -Patch 7.3.783 -Problem: Crash when mark is not set. (Dominique Pelle) -Solution: Check for NULL. -Files: src/normal.c - -Patch 7.3.784 (after 7.3.781) -Problem: Error when 'guifontwide' has a comma. -Solution: Use gui.wide_font. (Taro Muraoka) -Files: src/gui_w48.c - -Patch 7.3.785 (after 7.3.776) -Problem: Crash with specific use of search pattern. -Solution: Initialize reg_buf to curbuf. -Files: src/regexp.c - -Patch 7.3.786 -Problem: Python threads don't run in the background (issue 103). -Solution: Move the statements to manipulate thread state. -Files: src/if_python.c - -Patch 7.3.787 -Problem: With 'relativenumber' set it is not possible to see the absolute - line number. -Solution: For the cursor line show the absolute line number instead of a - zero. (Nazri Ramliy) -Files: src/screen.c - -Patch 7.3.788 -Problem: When only using patches build fails on missing nl.po. -Solution: Create an empty nl.po file. -Files: src/po/Makefile - -Patch 7.3.789 (after 7.3.776) -Problem: "\k" in regexp does not work in other window. -Solution: Use the right buffer. (Yukihiro Nakadaira) -Files: src/mbyte.c, src/proto/mbyte.pro, src/regexp.c - -Patch 7.3.790 -Problem: After reloading a buffer the modelines are not processed. -Solution: call do_modelines(). (Ken Takata) -Files: src/fileio.c - -Patch 7.3.791 -Problem: MzScheme interface doesn't work properly. -Solution: Make it work better. (Sergey Khorev) -Files: runtime/doc/if_mzsch.txt, src/configure.in, src/auto/configure, - src/eval.c, src/if_mzsch.c, src/if_mzsch.h, src/Make_ming.mak, - src/Make_mvc.mak, src/os_unix.c, src/proto/eval.pro, - src/testdir/test70.in, src/testdir/test70.ok - -Patch 7.3.792 -Problem: ":substitute" works differently without confirmation. -Solution: Do not change the text when asking for confirmation, only display - it. -Files: src/ex_cmds.c - -Patch 7.3.793 (after 7.3.792) -Problem: New interactive :substitute behavior is not tested. -Solution: Add tests. (Christian Brabandt) -Files: src/testdir/test80.in, src/testdir/test80.ok - -Patch 7.3.794 -Problem: Tiny build fails. (Tony Mechelynck) -Solution: Adjust #ifdefs. -Files: src/charset.c - -Patch 7.3.795 -Problem: MzScheme does not build with tiny features. -Solution: Add #ifdefs. Also add UNUSED to avoid warnings. And change - library ordering. -Files: src/if_mzsch.c, src/Makefile - -Patch 7.3.796 -Problem: "/[^\n]" does match at a line break. -Solution: Make it do the same as "/.". (Christian Brabandt) -Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok - -Patch 7.3.797 (after 7.3.792) -Problem: Compiler warning for size_t to int conversion. (Skeept) -Solution: Add type casts. -Files: src/ex_cmds.c - -Patch 7.3.798 (after 7.3.791) -Problem: MzScheme: circular list does not work correctly. -Solution: Separate Mac-specific code from generic code. (Sergey Khorev) -Files: src/if_mzsch.c, src/testdir/test70.in - -Patch 7.3.799 -Problem: The color column is not correct when entering a buffer. (Ben - Fritz) -Solution: Call check_colorcolumn() if 'textwidth' changed. (Christian - Brabandt) -Files: src/buffer.c - -Patch 7.3.800 -Problem: The " mark is not adjusted when inserting lines. (Roland Eggner) -Solution: Adjust the line number. (Christian Brabandt) -Files: src/mark.c - -Patch 7.3.801 -Problem: ":window set nu?" displays the cursor line. (Nazri Ramliy) -Solution: Do not update the cursor line when conceallevel is zero or the - screen has scrolled. (partly by Christian Brabandt) -Files: src/window.c - -Patch 7.3.802 -Problem: After setting 'isk' to a value ending in a comma appending to the - option fails. -Solution: Disallow a trailing comma for 'isk' and similar options. -Files: src/charset.c - -Patch 7.3.803 (after 7.3.792) -Problem: Substitute with confirmation and then "q" does not replace - anything. (John McGowan) -Solution: Do not break the loop, skip to the end. -Files: src/ex_cmds.c, src/testdir/test80.in, src/testdir/test80.ok - -Patch 7.3.804 (after 7.3.799) -Problem: Compiler warning for tiny build. (Tony Mechelynck) -Solution: Add #ifdefs around variable. -Files: src/buffer.c - -Patch 7.3.805 -Problem: Lua version 5.2 is not detected properly on Arch Linux. -Solution: Adjust autoconf. (lilydjwg) -Files: src/configure.in, src/auto/configure - -Patch 7.3.806 -Problem: Compiler warnings in Perl code when building with Visual studio - 2012. (skeept) -Solution: Add type casts. (Christian Brabandt, 2013 Jan 30) -Files: src/if_perl.xs - -Patch 7.3.807 -Problem: Popup menu does not work properly with the preview window, folds - and 'cursorcolumn'. -Solution: Redraw the popup menu after redrawing windows. (Christian - Brabandt) -Files: src/screen.c - -Patch 7.3.808 -Problem: Python threads still do not work properly. -Solution: Fix both Python 2 and 3. Add tests. (Ken Takata) -Files: src/if_python.c, src/if_python3.c, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.809 -Problem: The dosinst.c program has a buffer overflow. (Thomas Gwae) -Solution: Ignore $VIMRUNTIME if it is too long. -Files: src/dosinst.c - -Patch 7.3.810 -Problem: 'relativenumber' is reset unexpectedly. (François Ingelrest) -Solution: After an option was reset also reset the global value. Add a test. - (Christian Brabandt) -Files: src/option.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile, src/testdir/test89.in, - src/testdir/test89.ok - -Patch 7.3.811 -Problem: Useless termresponse parsing for SGR mouse. -Solution: Skip the parsing. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.812 -Problem: When 'indentexpr' moves the cursor "curswant" not restored. -Solution: Restore "curswant". (Sung Pae) -Files: src/misc1.c - -Patch 7.3.813 -Problem: The CompleteDone event is not triggered when there are no pattern - matches. (Jianjun Mao) -Solution: Trigger the event. (Christian Brabandt) -Files: src/edit.c - -Patch 7.3.814 -Problem: Can't input multibyte characters on Win32 console if 'encoding' is - different from current codepage. -Solution: Use convert_input_safe() instead of convert_input(). Make - string_convert_ext() return an error for incomplete input. (Ken - Takata) -Files: src/mbyte.c, src/os_win32.c - -Patch 7.3.815 -Problem: Building with Cygwin and Ruby doesn't work. -Solution: Copy some things from the MingW build file. (Ken Takata) -Files: src/Make_cyg.mak - -Patch 7.3.816 -Problem: Can't compute a hash. -Solution: Add the sha256() function. (Tyru, Hirohito Higashi) -Files: runtime/doc/eval.txt, src/eval.c, src/proto/sha256.pro, - src/sha256.c, src/testdir/test90.in, src/testdir/test90.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.817 -Problem: Test 89 fails with tiny and small features. -Solution: Add sourcing small.vim. -Files: src/testdir/test89.in - -Patch 7.3.818 -Problem: When test 40 fails because of a bad build it may leave files - behind that cause it to fail later. -Solution: Let the file names start with "X". -Files: src/testdir/test40.in - -Patch 7.3.819 -Problem: Compiling without +eval and with Python isn't working. -Solution: Add the eval feature when building with Python. -Files: src/if_py_both.h, src/feature.h, src/eval.c, src/ex_docmd.c, - src/normal.c, src/ex_docmd.c, src/gui_gtk_x11.c - -Patch 7.3.820 -Problem: Build errors and warnings when building with small features and - Lua, Perl or Ruby. -Solution: Add #ifdefs and UNUSED. -Files: src/if_perl.xs, src/if_lua.c, src/if_ruby.c - -Patch 7.3.821 -Problem: Build with OLE and Cygwin is broken. (Steve Hall) -Solution: Select static or shared stdc library. (Ken Takata) -Files: src/Make_cyg.mak - -Patch 7.3.822 (after 7.3.799) -Problem: Crash when accessing freed buffer. -Solution: Get 'textwidth' in caller of enter_buffer(). (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.823 (after 7.3.821) -Problem: Building with Cygwin: '-lsupc++' is not needed. -Solution: Remove it. (Ken Takata) -Files: src/Make_cyg.mak - -Patch 7.3.824 -Problem: Can redefine builtin functions. (ZyX) -Solution: Disallow adding a function to g:. -Files: src/eval.c - -Patch 7.3.825 -Problem: With Python errors are not always clear. -Solution: Print the stack trace, unless :silent is used. (ZyX) -Files: src/if_python3.c, src/if_python.c - -Patch 7.3.826 -Problem: List of features in :version output is hard to read. -Solution: Make columns. (Nazri Ramliy) -Files: src/version.c - -Patch 7.3.827 (after 7.3.825) -Problem: Python tests fail. -Solution: Adjust the output for the stack trace. -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.ok - -Patch 7.3.828 -Problem: Mappings are not aware of wildmenu mode. -Solution: Add wildmenumode(). (Christian Brabandt) -Files: src/eval.c, runtime/doc/eval.txt - -Patch 7.3.829 -Problem: When compiled with the +rightleft feature 'showmatch' also shows a - match for the opening paren. When 'revins' is set the screen may - scroll. -Solution: Only check the opening paren when the +rightleft feature was - enabled. Do not show a match that is not visible. (partly by - Christian Brabandt) -Files: src/search.c - -Patch 7.3.830 -Problem: :mksession confuses bytes, columns and characters when positioning - the cursor. -Solution: Use w_virtcol with "|" instead of w_cursor.col with "l". -Files: src/ex_docmd.c - -Patch 7.3.831 -Problem: Clumsy to handle the situation that a variable does not exist. -Solution: Add default value to getbufvar() et al. (Shougo Matsushita, - Hirohito Higashi) -Files: runtime/doc/eval.txt, src/eval.c src/testdir/test91.in, - src/testdir/test91.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile - -Patch 7.3.832 -Problem: Compiler warning. -Solution: Add type cast. (Mike Williams) -Files: src/version.c - -Patch 7.3.833 -Problem: In the terminal the scroll wheel always scrolls the active window. -Solution: Scroll the window under the mouse pointer, like in the GUI. - (Bradie Rao) -Files: src/edit.c, src/normal.c - -Patch 7.3.834 -Problem: Ruby 2.0 has a few API changes. -Solution: Add handling of Ruby 2.0. (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.835 -Problem: "xxd -i" fails on an empty file. -Solution: Do output the closing } for an empty file. (partly by Lawrence - Woodman) -Files: src/xxd/xxd.c - -Patch 7.3.836 -Problem: Clipboard does not work on Win32 when compiled with Cygwin. -Solution: Move the Win32 clipboard code to a separate file and use it when - building with os_unix.c. (Frodak Baksik, Ken Takata) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ivc.mak, - src/Make_ming.mak, src/Make_mvc.mak, src/Make_w16.mak, - src/Makefile, src/config.h.in, src/configure.in, - src/auto/configure, src/feature.h, src/globals.h, src/mbyte.c, - src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/proto.h, - src/proto/os_mswin.pro, src/proto/winclip.pro, src/term.c, - src/vim.h, src/winclip.c - -Patch 7.3.837 (after 7.3.826) -Problem: Empty lines in :version output when 'columns' is 320. -Solution: Simplify the logic of making columns. (Nazri Ramliy, Roland - Eggner) -Files: src/version.c - -Patch 7.3.838 (after 7.3.830) -Problem: Insufficient testing for mksession. -Solution: Add tests. (mostly by Roland Eggner) -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test92.in, src/testdir/test92.ok, - src/testdir/test93.in, src/testdir/test93.ok, - src/ex_docmd.c - -Patch 7.3.839 -Problem: Some files missing in the list of distributed files. -Solution: Add lines for new files. -Files: Filelist - -Patch 7.3.840 -Problem: "\@<!" in regexp does not work correctly with multi-byte - characters, especially cp932. -Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto) -Files: src/regexp.c - -Patch 7.3.841 -Problem: When a "cond ? one : two" expression has a subscript it is not - parsed correctly. (Andy Wokula) -Solution: Handle a subscript also when the type is unknown. (Christian - Brabandt) -Files: src/eval.c - -Patch 7.3.842 -Problem: Compiler warning for signed/unsigned pointer. -Solution: Add type cast. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.843 (after 7.3.841) -Problem: Missing test file changes. -Solution: Change the tests. -Files: src/testdir/test49.vim, src/testdir/test49.ok - -Patch 7.3.844 -Problem: Enum is not indented correctly with "public" etc. -Solution: Skip "public", "private" and "protected". (Hong Xu) -Files: src/misc1.c - -Patch 7.3.845 (after 7.3.844) -Problem: Enum indenting is not tested. -Solution: Add tests. (Hong Xu) -Files: src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.846 -Problem: Missing proto files. -Solution: Add the files. -Files: Filelist, src/proto/os_beos.pro - -Patch 7.3.847 -Problem: Test 55 fails when messages are translated. -Solution: Set language to C. (Ken Takata) -Files: src/testdir/test55.in - -Patch 7.3.848 -Problem: Can't build with Ruby 2.0 when using MinGW x64 or MSVC10. -Solution: Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64. - (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c - -Patch 7.3.849 -Problem: ":g//" gives "Pattern not found error" with E486. Should not use - the error number, it's not a regular error message. -Solution: Use a normal message. (David Bürgin) -Files: src/ex_cmds.c - -Patch 7.3.850 -Problem: ":vimgrep //" matches everywhere. -Solution: Make it use the previous search pattern. (David Bürgin) -Files: runtime/doc/quickfix.txt, src/quickfix.c - -Patch 7.3.851 -Problem: Using an empty pattern with :sort silently continues when there is - no previous search pattern. -Solution: Give an error message. (David Bürgin) -Files: src/ex_cmds.c - -Patch 7.3.852 -Problem: system() breaks clipboard text. (Yukihiro Nakadaira) -Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt) - Also do not put the text in the clip buffer if conversion fails. -Files: src/ui.c, src/ops.c - -Patch 7.3.853 -Problem: Using "ra" in multiple lines on multi-byte characters leaves a few - characters not replaced. -Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto) -Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c - -Patch 7.3.854 -Problem: After using backspace in insert mode completion, CTRL-N and CTRL-P - do not highlight the right entry. (Olivier Teuliere) -Solution: Set the current item to the shown item after using backspace. -Files: src/edit.c - -Patch 7.3.855 -Problem: Compiler warnings. -Solution: Add type casts. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.856 -Problem: When calling system() multi-byte clipboard contents is garbled. -Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira) -Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c, - src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c - -Patch 7.3.857 -Problem: The QuitPre autocommand event does not trigger for :qa and :wq. -Solution: Trigger the event. (Tatsuro Fujii) -Files: src/ex_docmd.c - -Patch 7.3.858 -Problem: "gv" selects the wrong area after some operators. -Solution: Save and restore the type of selection. (Christian Brabandt) -Files: src/testdir/test66.in, src/testdir/test66.ok, src/normal.c - -Patch 7.3.859 -Problem: 'ambiwidth' must be set by the user. -Solution: Detects East Asian ambiguous width (UAX #11) state of the terminal - at the start-up time and 'ambiwidth' accordingly. (Hayaki Saito) -Files: src/main.c, src/option.c, src/term.c, src/term.h, - src/proto/term.pro - -Patch 7.3.860 -Problem: When using --remote-expr try/catch does not work. (Andrey Radev) -Solution: Set emsg_silent instead of emsg_skip. -Files: src/main.c - -Patch 7.3.861 -Problem: ":setlocal number" clears global value of 'relativenumber'. -Solution: Do it properly. (Markus Heidelberg) -Files: src/testdir/test89.in, src/testdir/test89.ok, src/option.c - -Patch 7.3.862 -Problem: Dragging the status line can be slow. -Solution: Look ahead and drop the drag event if there is a next one. -Files: src/eval.c, src/misc1.c, src/proto/misc1.pro, src/normal.c - -Patch 7.3.863 (after 7.3.859) -Problem: Problem with 'ambiwidth' detection for ANSI terminal. -Solution: Work around not recognizing a term response. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.864 (after 7.3.862) -Problem: Can't build without the mouse feature. -Solution: Add an #ifdef. (Ike Devolder) -Files: src/misc1.c - -Patch 7.3.865 (after 7.3.862) -Problem: Mouse position may be wrong. -Solution: Let vungetc() restore the mouse position. -Files: src/getchar.c - -Patch 7.3.866 -Problem: Not serving the X selection during system() isn't nice. -Solution: When using fork() do not loose the selection, keep serving it. - Add a loop similar to handling I/O. (Yukihiro Nakadaira) -Files: src/os_unix.c - -Patch 7.3.867 -Problem: Matchparen does not update match when using auto-indenting. - (Marc Aldorasi) -Solution: Add the TextChanged and TextChangedI autocommand events. -Files: runtime/plugin/matchparen.vim, src/main.c, src/edit.c, - src/globals.h, src/vim.h, src/fileio.c, src/proto/fileio.pro, - runtime/doc/autocmd.txt - -Patch 7.3.868 -Problem: When at the hit-return prompt and using "k" while no text has - scrolled off screen, then using "j", an empty line is displayed. -Solution: Only act on "k" when text scrolled off screen. Also accept - page-up and page-down. (cptstubing) -Files: src/message.c - -Patch 7.3.869 -Problem: bufwinnr() matches buffers in other tabs. -Solution: For bufwinnr() and ? only match buffers in the current tab. - (Alexey Radkov) -Files: src/buffer.c, src/diff.c, src/eval.c, src/ex_docmd.c, - src/if_perl.xs, src/proto/buffer.pro - -Patch 7.3.870 -Problem: Compiler warnings when using MingW 4.5.3. -Solution: Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata) -Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c, - src/os_win32.h - -Patch 7.3.871 -Problem: search('^$', 'c') does not use the empty match under the cursor. -Solution: Special handling of the 'c' flag. (Christian Brabandt) - Add tests. -Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok - -Patch 7.3.872 -Problem: On some systems case of file names is always ignored, on others - never. -Solution: Add the 'fileignorecase' option to control this at runtime. - Implies 'wildignorecase'. -Files: src/buffer.c, src/edit.c, src/ex_cmds2.c, src/ex_getln.c, - src/fileio.c, src/misc1.c, src/misc2.c, src/option.c, - src/option.h, src/vim.h, runtime/doc/options.txt - -Patch 7.3.873 -Problem: Cannot easily use :s to make title case. -Solution: Have "\L\u" result in title case. (James McCoy) -Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, - src/testdir/test80.in, src/testdir/test80.ok - -Patch 7.3.874 -Problem: Comparing file names does not handle multi-byte characters - properly. -Solution: Implement multi-byte handling. -Files: src/misc1.c, src/misc2.c - -Patch 7.3.875 (after 7.3.866) -Problem: Build problem with some combination of features. -Solution: Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD. -Files: src/os_unix.c - -Patch 7.3.876 -Problem: #if indents are off. -Solution: Insert a space where appropriate. (Taro Muraoka) -Files: src/gui.c - -Patch 7.3.877 (after 7.3.871) -Problem: Forward searching with search() is broken. -Solution: Fix it and add tests. (Sung Pae) -Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok - -Patch 7.3.878 -Problem: 'fileignorecase' is missing in options window and quickref. -Solution: Add the option. -Files: runtime/optwin.vim, runtime/doc/quickref.txt - -Patch 7.3.879 -Problem: When using an ex command in operator pending mode, using Esc to - abort the command still executes the operator. (David Bürgin) -Solution: Clear the operator when the ex command fails. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.880 -Problem: When writing viminfo, old history lines may replace lines written - more recently by another Vim instance. -Solution: Mark history entries that were read from viminfo and overwrite - them when merging with the current viminfo. -Files: src/ex_getln.c - -Patch 7.3.881 -Problem: Python list does not work correctly. -Solution: Fix it and add a test. (Yukihiro Nakadaira) -Files: src/testdir/test86.in, src/testdir/test86.ok, src/if_py_both.h - -Patch 7.3.882 -Problem: CursorHold may trigger after receiving the termresponse. -Solution: Set the did_cursorhold flag. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.883 (after 7.3.880) -Problem: Can't build with some combination of features. -Solution: Adjust #ifdefs. -Files: src/ex_getln.c - -Patch 7.3.884 -Problem: Compiler warning for variable shadowing another. (John Little) -Solution: Rename the variable. (Christian Brabandt) -Files: src/term.c - -Patch 7.3.885 -Problem: Double free for list and dict in Lua. (Shougo Matsu) -Solution: Do not unref list and dict. (Yasuhiro Matsumoto) -Files: src/if_lua.c - -Patch 7.3.886 -Problem: Can't build with multi-byte on Solaris 10. -Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume) -Files: src/ui.c - -Patch 7.3.887 -Problem: No tests for Visual mode operators, what 7.3.879 fixes. -Solution: Add a new test file. (David Bürgin) -Files: src/testdir/test94.in, src/testdir/test94.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.888 -Problem: Filename completion with 'fileignorecase' does not work for - multi-byte characters. -Solution: Make 'fileignorecase' work properly. (Hirohito Higashi) -Files: src/misc2.c - -Patch 7.3.889 -Problem: Can't build with Ruby 2.0 on a 64 bit system. -Solution: Define rb_fix2int and rb_num2int. (Kohei Suzuki) -Files: src/if_ruby.c - -Patch 7.3.890 -Problem: Test 79 fails on Windows. (Michael Soyka) -Solution: Add comment below line causing an error. -Files: src/testdir/test79.in - -Patch 7.3.891 -Problem: Merging viminfo history doesn't work well. -Solution: Don't stop when one type of history is empty. Don't merge history - when writing viminfo. -Files: src/ex_getln.c - -Patch 7.3.892 (after 7.3.891) -Problem: Still merging problems for viminfo history. -Solution: Do not merge lines when writing, don't write old viminfo lines. -Files: src/ex_getln.c, src/ex_cmds.c, src/proto/ex_getln.pro - -Patch 7.3.893 -Problem: Crash when using b:, w: or t: after closing the buffer, window or - tabpage. -Solution: Allocate the dictionary instead of having it part of the - buffer/window/tabpage struct. (Yukihiro Nakadaira) -Files: src/buffer.c, src/eval.c, src/fileio.c, src/structs.h, - src/window.c, src/proto/eval.pro - -Patch 7.3.894 -Problem: Using wrong RUBY_VER causing Ruby build to break. -Solution: Correct the RUBY_VER value. (Yongwei Wu) -Files: src/bigvim.bat - -Patch 7.3.895 -Problem: Valgrind error in test 91. (Issue 128) -Solution: Pass scope name to find_var_in_ht(). -Files: src/eval.c - -Patch 7.3.896 -Problem: Memory leaks in Lua interface. -Solution: Fix the leaks, add tests. (Yukihiro Nakadaira) -Files: src/testdir/test85.in, src/testdir/test85.ok, src/if_lua.c - -Patch 7.3.897 -Problem: Configure doesn't always find the shared library. -Solution: Change the configure script. (Ken Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.898 -Problem: Memory leak reported by valgrind in test 91. -Solution: Only use default argument when needed. -Files: src/eval.c, src/testdir/test91.in, src/testdir/test91.ok - -Patch 7.3.899 -Problem: #if indents are off. -Solution: Fix the indents. -Files: src/os_unix.c - -Patch 7.3.900 -Problem: Not obvious that some mouse features are mutual-exclusive. -Solution: Add a comment. -Files: src/feature.h - -Patch 7.3.901 -Problem: Outdated comment, ugly condition. -Solution: Update a few comments, break line. -Files: src/getchar.c, src/misc1.c, src/undo.c - -Patch 7.3.902 -Problem: When deleting last buffer in other tab the tabline is not updated. -Solution: Set the redraw_tabline flag. (Yukihiro Nakadaira) -Files: src/window.c - -Patch 7.3.903 (after 7.3.892) -Problem: Crash on exit writing viminfo. (Ron Aaron) -Solution: Check for the history to be empty. -Files: src/ex_getln.c - -Patch 7.3.904 (after 7.3.893) -Problem: Using memory freed by the garbage collector. -Solution: Mark items in aucmd_win as used. -Files: src/eval.c - -Patch 7.3.905 (after 7.3.903) -Problem: Crash when writing viminfo. (Ron Aaron) -Solution: Prevent freed history info to be used. -Files: src/ex_getln.c - -Patch 7.3.906 -Problem: The "sleep .2" for running tests does not work on Solaris. -Solution: Fall back to using "sleep 1". (Laurent Blume) -Files: src/testdir/Makefile - -Patch 7.3.907 -Problem: Python uses IndexError when a dict key is not found. -Solution: Use KeyError instead. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.908 -Problem: Possible crash when using a list in Python. -Solution: Return early if the list is NULL. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.909 -Problem: Duplicate Python code. -Solution: Move more items to if_py_both.h. (ZyX) Also avoid compiler - warnings for missing initializers. -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.910 -Problem: Python code in #ifdef branches with only minor differences. -Solution: Merge the #ifdef branches. (ZyX) -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.911 -Problem: Python: Access to Vim variables is not so easy. -Solution: Define vim.vars and vim.vvars. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/globals.h, - src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.912 -Problem: Typing a ":" command at the hit-enter dialog does not work if the - "file changed" dialog happens next. -Solution: Check for changed files before giving the hit-enter dialog. -Files: src/message.c - -Patch 7.3.913 (after 7.3.905) -Problem: Still a crash when writing viminfo. -Solution: Add checks for NULL pointers. (Ron Aaron) -Files: src/ex_getln.c - -Patch 7.3.914 -Problem: ~/.viminfo is messed up when running tests. -Solution: Set the viminfo filename. -Files: src/testdir/test89.in, src/testdir/test94.in - -Patch 7.3.915 -Problem: When reading a file with encoding conversion fails at the end the - next encoding in 'fencs' is not used. -Solution: Retry with another encoding when possible. (Taro Muraoka) -Files: src/fileio.c - -Patch 7.3.916 -Problem: Using freed memory when pasting with the mouse (Issue 130). -Solution: Get the byte value early. (hint by Dominique Pelle) -Files: src/buffer.c - -Patch 7.3.917 -Problem: When a path ends in a backslash appending a comma has the wrong - effect. -Solution: Replace a trailing backslash with a slash. (Nazri Ramliy) -Files: src/misc1.c, src/testdir/test73.in, src/testdir/test73.ok - -Patch 7.3.918 -Problem: Repeating an Ex command after using a Visual motion does not work. -Solution: Check for an Ex command being used. (David Bürgin) -Files: src/normal.c - -Patch 7.3.919 (after 7.3.788) -Problem: An empty nl.po file does not work with an old msgfmt. -Solution: Put a single # in the file. (Laurent Blume) -Files: src/po/Makefile - -Patch 7.3.920 -Problem: Compiler warning for size_t to int. -Solution: Add a type cast. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.921 (after 7.3.697) -Problem: Trying to create a fontset handle when 'guifontset' is not set. -Solution: Add curly braces around the code block. (Max Kirillov) -Files: src/syntax.c - -Patch 7.3.922 -Problem: No test for what 7.3.918 fixes. -Solution: Add a test. (David Bürgin) -Files: src/testdir/test94.in, src/testdir/test94.ok - -Patch 7.3.923 -Problem: Check for X11 header files fails on Solaris. -Solution: Only use -Werror for gcc. (Laurent Blume) -Files: src/configure.in, src/auto/configure - -Patch 7.3.924 -Problem: Python interface can't easily access options. -Solution: Add vim.options, vim.window.options and vim.buffer.options. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, - src/if_python.c, src/if_python3.c, src/option.c, - src/proto/eval.pro, src/proto/option.pro, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok, src/vim.h - -Patch 7.3.925 -Problem: Typos in source files. -Solution: Fix the typos. (Ken Takata) -Files: runtime/plugin/matchparen.vim, runtime/tools/vim_vs_net.cmd, - src/GvimExt/gvimext.cpp, src/INSTALLvms.txt, src/Make_cyg.mak, - src/Make_mvc.mak, src/Make_sas.mak, src/Make_vms.mms, - src/Make_w16.mak, src/Makefile, src/VisVim/OleAut.cpp, - src/VisVim/README_VisVim.txt, src/auto/configure, src/buffer.c, - src/configure.in, src/diff.c, src/dosinst.c, src/edit.c, - src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, - src/farsi.c, src/feature.h, src/fileio.c, src/glbl_ime.cpp, - src/gui.c, src/gui_athena.c, src/gui_beval.c, src/gui_gtk_x11.c, - src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w16.c, - src/gui_w32.c, src/gui_w48.c, src/gui_xmebw.c, src/gui_xmebwp.h, - src/hardcopy.c, src/if_cscope.c, src/if_mzsch.c, src/if_ole.cpp, - src/if_perl.xs, src/if_py_both.h, src/if_python.c, - src/if_python3.c, src/if_ruby.c, src/main.aap, src/mbyte.c, - src/memfile.c, src/memline.c, src/misc1.c, src/misc2.c, - src/nbdebug.c, src/normal.c, src/ops.c, src/os_amiga.c, - src/os_mac.h, src/os_msdos.c, src/os_mswin.c, src/os_win16.h, - src/os_win32.c, src/os_win32.h, src/quickfix.c, src/screen.c, - src/search.c, src/spell.c, src/structs.h, src/syntax.c, - src/window.c, vimtutor.com - - -Patch 7.3.926 -Problem: Autocommands are triggered by setwinvar() et al. Missing BufEnter - on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of - events for :tablose and :tabnew. -Solution: Fix these autocommand events. (ZyX) -Files: runtime/doc/eval.txt, src/buffer.c, src/eval.c, src/ex_cmds2.c, - src/fileio.c, src/proto/window.pro, src/testdir/test62.in, - src/testdir/test62.ok, src/window.c - -Patch 7.3.927 -Problem: Missing combining characters when putting text in a register. -Solution: Include combining characters. (David Bürgin) -Files: src/getchar.c, src/testdir/test44.in, src/testdir/test44.ok - -Patch 7.3.928 (after 7.3.924) -Problem: Can't build with strict C compiler. -Solution: Move declaration to start of block. (Taro Muraoka) -Files: src/if_py_both.h - -Patch 7.3.929 (after 7.3.924) -Problem: Compiler warning for unused variable. Not freeing unused string. -Solution: Remove the variable. Clear the options. -Files: src/option.c - -Patch 7.3.930 -Problem: MSVC 2012 update is not recognized. -Solution: Update the version in the makefile. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.3.931 -Problem: No completion for :xmap and :smap. (Yukihiro Nakadaira) -Solution: Add the case statements. (Christian Brabandt) -Files: src/ex_docmd.c - -Patch 7.3.932 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Initialize the variable. -Files: src/option.c - -Patch 7.3.933 -Problem: Ruby on Mac crashes due to GC failure. -Solution: Init the stack from main(). (Hiroshi Shirosaki) -Files: src/main.c, src/if_ruby.c, src/proto/if_ruby.pro - -Patch 7.3.934 -Problem: E381 and E380 make the user think nothing happened. -Solution: Display the message indicating what error list is now active. - (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.935 (after 7.3.933) -Problem: Ruby: Init stack works differently on 64 bit systems. -Solution: Handle 64 bit systems and also static library. (Yukihiro - Nakadaira) -Files: src/if_ruby.c - -Patch 7.3.936 (after 7.3.935) -Problem: Ruby 1.8: Missing piece for static linking on 64 bit systems. -Solution: Define ruby_init_stack() (Hiroshi Shirosaki) - Also fix preprocessor indents. -Files: src/if_ruby.c - -Patch 7.3.937 -Problem: More can be shared between Python 2 and 3. -Solution: Move code to if_py_both.h. (ZyX) -Files: src/if_python.c, src/if_python3.c, src/if_py_both.h - -Patch 7.3.938 -Problem: Python: not easy to get to window number. -Solution: Add vim.window.number. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/proto/window.pro, - src/window.c - -Patch 7.3.939 -Problem: Using Py_BuildValue is inefficient sometimes. -Solution: Use PyLong_FromLong(). (ZyX) -Files: src/if_py_both.h - -Patch 7.3.940 -Problem: Python: Can't get position of window. -Solution: Add window.row and window.col. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h - -Patch 7.3.941 -Problem: Stuff in if_py_both.h is ordered badly. -Solution: Reorder by type. (ZyX) -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.942 -Problem: Python: SEGV in Buffer functions. -Solution: Call CheckBuffer() at the right time. (ZyX) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.943 -Problem: Python: Negative indices were failing. -Solution: Fix negative indices. Add tests. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.944 -Problem: External program receives the termrespone. -Solution: Insert a delay and discard input. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.945 -Problem: Python: List of buffers is not very useful. -Solution: Make vim.buffers a map. No iterator yet. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.946 -Problem: Sometimes get stuck in waiting for cursor position report, - resulting in keys starting with <Esc>[ not working. -Solution: Only wait for more characters after <Esc>[ if followed by '?', '>' - or a digit. -Files: src/term.c - -Patch 7.3.947 -Problem: Python: No iterator for vim.list and vim.bufferlist. -Solution: Add the iterators. Also fix name of FunctionType. Add tests for - vim.buffers. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.948 -Problem: Cannot build with Python 2.2 -Solution: Make Python interface work with Python 2.2 - Make 2.2 the first supported version. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.ok, src/configure.in, src/auto/configure - -Patch 7.3.949 -Problem: Python: no easy access to tabpages. -Solution: Add vim.tabpages and vim.current.tabpage. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c, src/proto/if_python3.pro, - src/proto/if_python.pro, src/proto/window.pro, src/structs.h, - src/window.c - -Patch 7.3.950 -Problem: Python: Stack trace printer can't handle messages. -Solution: Make KeyErrors use PyErr_SetObject. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.951 -Problem: Python exceptions have problems. -Solution: Change some IndexErrors to TypeErrors. Make “line number out of - range†an IndexError. Make “unable to get option value†a - RuntimeError. Make all PyErr_SetString messages start with - lowercase letter and use _(). (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.952 -Problem: Python: It's not easy to change window/buffer/tabpage. -Solution: Add ability to assign to vim.current.{tabpage,buffer,window}. - (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h - -Patch 7.3.953 -Problem: Python: string exceptions are deprecated. -Solution: Make vim.error an Exception subclass. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.954 -Problem: No check if PyObject_IsTrue fails. -Solution: Add a check for -1 value. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.955 -Problem: Python: Not enough tests. -Solution: Add tests for vim.{current,window*,tabpage*}. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.956 -Problem: Python vim.bindeval() causes SIGABRT. -Solution: Make pygilstate a local variable. (Yukihiro Nakadaira) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.957 -Problem: Python does not have a "do" command like Perl or Lua. -Solution: Add the ":py3do" command. (Lilydjwg) -Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c, - src/if_python3.c, src/proto/if_python3.pro - -Patch 7.3.958 -Problem: Python: Iteration destructor not set. -Solution: Put IterDestructor to use. (ZyX) -Files: src/if_py_both.c - -Patch 7.3.959 (after 7.3.957) -Problem: Missing error number. -Solution: Assign an error number. -Files: src/if_python3.c - -Patch 7.3.960 -Problem: Compiler warning for unused variable. -Solution: Put declaration in #ifdef. -Files: src/window.c - -Patch 7.3.961 -Problem: Tests 86 and 87 fail when using another language than English. -Solution: Set the language to C in the test. (Dominique Pelle) -Files: src/testdir/test86.in, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.962 -Problem: Python tests are not portable. -Solution: Use shiftwidth instead of iminsert. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.963 -Problem: Setting curbuf without curwin causes trouble. -Solution: Add switch_buffer() and restore_buffer(). Block autocommands to - avoid trouble. -Files: src/eval.c, src/proto/eval.pro, src/proto/window.pro, - src/if_py_both.h, src/window.c, src/testdir/test86.ok - -Patch 7.3.964 -Problem: Python: not so easy to access tab pages. -Solution: Add window.tabpage, make window.number work with non-current tab - pages. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.965 -Problem: Python garbage collection not working properly. -Solution: Add support for garbage collection. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.966 -Problem: There is ":py3do" but no ":pydo". -Solution: Add the ":pydo" command. (Lilydjwg) -Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c, - src/if_py_both.h, src/if_python.c, src/if_python3.c, - src/proto/if_python.pro - -Patch 7.3.967 (after 7.3.965) -Problem: Build fails on Mac OSX. (Greg Novack) -Solution: Undefine clear(). -Files: src/if_py_both.h - -Patch 7.3.968 -Problem: Multi-byte support is only available when compiled with "big" - features. -Solution: Include multi-byte by default, with "normal" features. -Files: src/feature.h - -Patch 7.3.969 -Problem: Can't build with Python 3 and without Python 2. -Solution: Adjust #ifdef. (Xavier de Gaye) -Files: src/window.c - -Patch 7.3.970 -Problem: Syntax highlighting can be slow. -Solution: Include the NFA regexp engine. Add the 'regexpengine' option to - select which one is used. (various authors, including Ken Takata, - Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/Makefile, src/regexp.c, src/regexp.h, src/regexp_nfa.c, - src/structs.h, src/testdir/Makefile, src/testdir/test64.in, - src/testdir/test64.ok, Filelist, runtime/doc/pattern.txt, - runtime/doc/option.txt, src/option.c, src/option.h, - src/testdir/test95.in, src/testdir/test95.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.971 -Problem: No support for VS2012 static code analysis. -Solution: Add the ANALYZE option. (Mike Williams) -Files: src/Make_mvc.mak - -Patch 7.3.972 -Problem: Cursor not restored after InsertEnter autocommand if it moved to - another line. -Solution: Also restore if the saved line number is still valid. Allow - setting v:char to skip restoring. -Files: src/edit.c, runtime/doc/autocmd.txt - -Patch 7.3.973 -Problem: Compiler warnings. Crash on startup. (Tony Mechelynck) -Solution: Change EMSG2 to EMSGN. Make array one character longer. -Files: src/regexp_nfa.c - -Patch 7.3.974 -Problem: Can't build with ruby 1.8.5. -Solution: Only use ruby_init_stack() when RUBY_INIT_STACK is defined. - (Yukihiro Nakadaira) -Files: src/if_ruby.c - -Patch 7.3.975 -Problem: Crash in regexp parsing. -Solution: Correctly compute the end of allocated memory. -Files: src/regexp_nfa.c - -Patch 7.3.976 -Problem: Can't build on HP-UX. -Solution: Remove modern initialization. (John Marriott) -Files: src/regexp_nfa.c - -Patch 7.3.977 -Problem: Compiler warnings on 64 bit Windows. -Solution: Add type casts. (Mike Williams) Also fix some white space and - uncomment what was commented-out for testing. -Files: src/regexp_nfa.c - -Patch 7.3.978 -Problem: Regexp debug logs don't have a good name. -Solution: Use clear names and make it possible to write logs for the old and - new engines separately. (Taro Muraoka) -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.979 -Problem: Complex NFA regexp doesn't work. -Solution: Set actual state stack end instead of using an arbitrary number. - (Yasuhiro Matsumoto) -Files: src/regexp_nfa.c - -Patch 7.3.980 -Problem: Regexp logs may contain garbage. Character classes don't work - correctly for multi-byte characters. -Solution: Check for end of post list. Only use "is" functions for - characters up to 255. (Ken Takata) -Files: src/regexp_nfa.c - -Patch 7.3.981 -Problem: In the old regexp engine \i, \I, \f and \F don't work on - multi-byte characters. -Solution: Dereference pointer properly. -Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.982 -Problem: In the new regexp engine \p does not work on multi-byte - characters. -Solution: Don't point to an integer but the characters. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.983 -Problem: Unnecessary temp variable. -Solution: Remove the variable. -Files: src/regexp_nfa.c - -Patch 7.3.984 -Problem: A Visual mapping that uses CTRL-G works differently when started - from Insert mode. (Ein Brown) -Solution: Reset old_mapped_len when handling typed text in Select mode. -Files: src/normal.c - -Patch 7.3.985 -Problem: GTK vim not started as gvim doesn't set WM_CLASS property to a - useful value. -Solution: Call g_set_prgname() on startup. (James McCoy) -Files: src/gui_gtk_x11.c - -Patch 7.3.986 -Problem: Test 95 doesn't pass when 'encoding' isn't utf-8. (Yasuhiro - Matsumoto) -Solution: Force 'encoding' to be utf-8. -Files: src/testdir/test95.in - -Patch 7.3.987 -Problem: No easy to run an individual test. Tests 64 fails when - 'encoding' is not utf-8. -Solution: Add individual test targets to the Makefile. Move some lines from - test 64 to 95. -Files: src/Makefile, src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.988 -Problem: New regexp engine is slow. -Solution: Break out of the loop when the state list is empty. -Files: src/regexp_nfa.c - -Patch 7.3.989 -Problem: New regexp engine compares negative numbers to character. -Solution: Add missing case statements. -Files: src/regexp_nfa.c - -Patch 7.3.990 -Problem: Memory leak in new regexp engine. -Solution: Jump to end of function to free memory. (Dominique Pelle) -Files: src/regexp_nfa.c - -Patch 7.3.991 -Problem: More can be shared by Python 2 and 3. -Solution: Move more stuff to if_py_both. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test87.ok - -Patch 7.3.992 -Problem: Python: Too many type casts. -Solution: Change argument types. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.993 -Problem: Python: Later patch does things slightly differently. -Solution: Adjusted argument type changes. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.994 -Problem: Python: using magic constants. -Solution: Use descriptive values for ml_flags. (ZyX) -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.995 -Problem: Python: Module initialization is duplicated. -Solution: Move to shared file. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.996 -Problem: Python: Can't check types of what is returned by bindeval(). -Solution: Add vim.List, vim.Dictionary and vim.Function types. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.997 -Problem: Vim and Python exceptions are different. -Solution: Make Vim exceptions be Python exceptions. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.998 -Problem: Python: garbage collection issues. -Solution: Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative - refcounts, use PyObject_GC_* for objects with tp_traverse and - tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some - places. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.999 -Problem: New regexp engine sets curbuf temporarily. -Solution: Use reg_buf instead, like the old engine. -Files: src/regexp_nfa.c - -Patch 7.3.1000 (whoa!) -Problem: Typo in char value causes out of bounds access. -Solution: Fix character value. (Klemens Baum) -Files: src/regexp.c - -Patch 7.3.1001 -Problem: Duplicate condition in if. -Solution: Remove one condition. -Files: src/regexp_nfa.c - -Patch 7.3.1002 -Problem: Valgrind errors for Python interface. -Solution: Fix memory leaks when running tests. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1003 -Problem: Python interface does not compile with Python 2.2 -Solution: Fix thread issues and True/False. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1004 -Problem: No error when option could not be set. -Solution: Report an error. (ZyX) -Files: src/if_py_both.h, src/option.c, src/proto/option.pro, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1005 -Problem: Get stuck on regexp "\n*" and on "%s/^\n\+/\r". -Solution: Fix handling of matching a line break. (idea by Hirohito Higashi) -Files: src/regexp_nfa.c - -Patch 7.3.1006 -Problem: NFA engine not used for "\_[0-9]". -Solution: Enable this, fixed in patch 1005. -Files: src/regexp_nfa.c - -Patch 7.3.1007 -Problem: Can't build on Minix 3.2.1. -Solution: Add a condition to an #ifdef. (Gautam Tirumala) -Files: src/memfile.c - -Patch 7.3.1008 -Problem: Test 95 fails on MS-Windows. -Solution: Set 'nomore'. Change \i to \f. Change multi-byte character to - something that is not matching \i. (Ken Takata) -Files: src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1009 -Problem: Compiler warning for ambiguous else. -Solution: Add curly braces. -Files: src/if_py_both.h - -Patch 7.3.1010 -Problem: New regexp: adding \Z makes every character match. -Solution: Only apply ireg_icombine for composing characters. - Also add missing change from patch 1008. (Ken Takata) -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1011 -Problem: New regexp engine is inefficient with multi-byte characters. -Solution: Handle a character at a time instead of a byte at a time. Also - make \Z partly work. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1012 -Problem: \Z does not work properly with the new regexp engine. -Solution: Make \Z work. Add tests. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1013 -Problem: New regexp logging is a bit messy. -Solution: Consistently use #defines, add explanatory comment. (Taro Muraoka) -Files: src/regexp_nfa.c - -Patch 7.3.1014 -Problem: New regexp state dump is hard to read. -Solution: Make the state dump more pretty. (Taro Muraoka) -Files: src/regexp_nfa.c - -Patch 7.3.1015 -Problem: New regexp engine: Matching composing characters is wrong. -Solution: Fix matching composing characters. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1016 -Problem: Unused field in nfa_state. -Solution: Remove lastthread. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1017 -Problem: Zero width match changes length of match. -Solution: For a zero width match put new states in the current position in - the state list. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/regexp.h - -Patch 7.3.1018 -Problem: New regexp engine wastes memory. -Solution: Allocate prog with actual number of states, not estimated maximum - number of sates. -Files: src/regexp_nfa.c - -Patch 7.3.1019 -Problem: These do not work with the new regexp engine: \%o123, \%x123, - \%d123, \%u123 and \%U123. -Solution: Implement these items. -Files: src/regexp_nfa.c - -Patch 7.3.1020 -Problem: Not all patterns are tested with auto / old / new engine. -Solution: Test patterns with three values of 'regexpengine'. -Files: src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1021 -Problem: New regexp engine does not ignore order of composing chars. -Solution: Ignore composing chars order. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1022 -Problem: Compiler warning for shadowed variable. (John Little) -Solution: Move declaration, rename variables. -Files: src/regexp_nfa.c - -Patch 7.3.1023 -Problem: Searching for composing char only and using \Z has different - results. -Solution: Make it match the composing char, matching everything is not - useful. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1024 -Problem: New regexp: End of matching pattern not set correctly. (Cesar - Romani) -Solution: Quit the loop after finding the match. Store nfa_has_zend in the - program. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/regexp.h - -Patch 7.3.1025 -Problem: New regexp: not matching newline in string. (Marc Weber) -Solution: Check for "\n" character. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1026 -Problem: New regexp: pattern that includes a new-line matches too early. - (john McGowan) -Solution: Do not start searching in the second line. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1027 -Problem: New regexp performance: Calling no_Magic() very often. -Solution: Remove magicness inline. -Files: src/regexp_nfa.c - -Patch 7.3.1028 -Problem: New regexp performance: Copying a lot of position state. -Solution: Only copy the sub-expressions that are being used. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1029 -Problem: New regexp performance: Unused position state being copied. -Solution: Keep track of which positions are actually valid. -Files: src/regexp_nfa.c - -Patch 7.3.1030 (after 7.3.1028) -Problem: Can't build for debugging. -Solution: Fix struct member names. -Files: src/regexp_nfa.c - -Patch 7.3.1031 -Problem: Compiler warnings for shadowed variable. (John Little) -Solution: Move the variable declarations to the scope where they are used. -Files: src/regexp_nfa.c - -Patch 7.3.1032 -Problem: "\ze" is not supported by the new regexp engine. -Solution: Make "\ze" work. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1033 -Problem: "\1" .. "\9" are not supported in the new regexp engine. -Solution: Implement them. Add a few more tests. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/regexp.h - -Patch 7.3.1034 -Problem: New regexp code using strange multi-byte code. -Solution: Use the normal code to advance and backup pointers. -Files: src/regexp_nfa.c - -Patch 7.3.1035 -Problem: Compiler warning on 64 bit windows. -Solution: Add type cast. (Mike Williams) -Files: src/if_py_both.h - -Patch 7.3.1036 -Problem: Can't build on HP-UX. -Solution: Give the union a name. (John Marriott) -Files: src/regexp_nfa.c - -Patch 7.3.1037 -Problem: Look-behind matching is very slow on long lines. -Solution: Add a byte limit to how far back an attempt is made. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1038 -Problem: Crash when using Cscope. -Solution: Avoid negative argument to vim_strncpy(). (Narendran - Gopalakrishnan) -Files: src/if_cscope.c - -Patch 7.3.1039 -Problem: New regexp engine does not support \%23c, \%<23c and the like. -Solution: Implement them. (partly by Yasuhiro Matsumoto) -Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1040 -Problem: Python: Problems with debugging dynamic build. -Solution: Python patch 1. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.1041 -Problem: Python: Invalid read valgrind errors. -Solution: Python patch 2: defer DICTKEY_UNREF until key is no longer needed. - (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1042 -Problem: Python: can't assign to vim.Buffer.name. -Solution: Python patch 3. (ZyX) -Files: runtime/doc/if_pyth.txt, src/ex_cmds.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/ex_cmds.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1043 -Problem: Python: Dynamic compilation with 2.3 fails. -Solution: Python patch 4. (ZyX) -Files: src/if_python.c - -Patch 7.3.1044 -Problem: Python: No {Buffer,TabPage,Window}.valid attributes. -Solution: Python patch 5: add .valid (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1045 -Problem: Python: No error handling for VimToPython function. -Solution: Python patch 6. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1046 -Problem: Python: Using Py_BuildValue for building strings. -Solution: Python patch 7 and 7.5: Replace Py_BuildValue with - PyString_FromString. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1047 -Problem: Python: dir() does not work properly. -Solution: Python patch 8. Add __dir__ method to all objects with custom - tp_getattr supplemented by __members__ attribute for at least - python-2* versions. __members__ is not mentioned in python-3* - dir() output even if it is accessible. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1048 -Problem: Python: no consistent naming. -Solution: Python patch 9: Rename d to dict and lookupDict to lookup_dict. - (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1049 -Problem: Python: no consistent naming -Solution: Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1050 -Problem: Python: Typo in pyiter_to_tv. -Solution: Python patch 11. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1051 -Problem: Python: possible memory leaks. -Solution: Python patch 12: fix the leaks (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1052 -Problem: Python: possible SEGV and negative refcount. -Solution: Python patch 13: Fix IterIter function. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1053 -Problem: Python: no flag for types with tp_traverse+tp_clear. -Solution: Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1054 (after 7.3.1042) -Problem: Can't build without the +autocmd feature. (Elimar Riesebieter) -Solution: Fix use of buf and curbuf. -Files: src/ex_cmds.c, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1055 -Problem: Negated collection does not match newline. -Solution: Handle newline differently. (Hiroshi Shirosaki) -Files: src/regexp_nfa.c, src/testdir/test64.ok, src/testdir/test64.in - -Patch 7.3.1056 -Problem: Python: possible memory leaks. -Solution: Python patch 15. (ZyX) Fix will follow later. -Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro - -Patch 7.3.1057 -Problem: Python: not enough compatibility. -Solution: Python patch 16: Make OutputWritelines support any sequence object - (ZyX) Note: tests fail -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1058 -Problem: Call of funcref does not succeed in other script. -Solution: Python patch 17: add get_expanded_name(). (ZyX) -Files: src/eval.c, src/proto/eval.pro - -Patch 7.3.1059 -Problem: Python: Using fixed size buffers. -Solution: Python patch 18: Use python's own formatter. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.1060 -Problem: Python: can't repr() a function. -Solution: Python patch 19: add FunctionRepr(). (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1061 -Problem: Python: Dictionary is not standard. -Solution: Python patch 20: Add standard methods and fields. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1062 -Problem: Python: List is not standard. -Solution: Python patch 21: Add standard methods and fields. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1063 -Problem: Python: Function is not standard. -Solution: Python patch 22: make Function subclassable. (ZyX) -Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1064 -Problem: Python: insufficient error checking. -Solution: Python patch 23. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1065 -Problem: Python: key mapping is not standard. -Solution: Python patch 24: use PyMapping_Keys. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.1066 -Problem: Python: Insufficient exception and error testing. -Solution: Python patch 25. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1067 -Problem: Python: documentation lags behind. -Solution: Python patch 26. (ZyX) -Files: runtime/doc/if_pyth.txt - -Patch 7.3.1068 -Problem: Python: Script is auto-loaded on function creation. -Solution: Python patch 27. (ZyX) -Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro, - src/testdir/test86.ok, src/testdir/test87.ok, src/vim.h - -Patch 7.3.1069 -Problem: Python: memory leaks. -Solution: Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1070 -Problem: Vim crashes in Python tests. Compiler warning for unused function. -Solution: Disable the tests for now. Move the function. -Files: src/if_py_both.h, src/if_python.c, src/testdir/test86.in, - src/testdir/test87.in - -Patch 7.3.1071 -Problem: New regexp engine: backreferences don't work correctly. -Solution: Add every possible start/end position on the state stack. -Files: src/regexp_nfa.c, src/regexp.h, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1072 -Problem: Compiler warning for uninitialized variable. -Solution: Initialize it. -Files: src/regexp_nfa.c - -Patch 7.3.1073 -Problem: New regexp engine may run out of states. -Solution: Allocate states dynamically. Also make the test report errors. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in - -Patch 7.3.1074 -Problem: Compiler warning for printf format. (Manuel Ortega) -Solution: Add type casts. -Files: src/if_py_both.h - -Patch 7.3.1075 -Problem: Compiler warning for storing a long_u in an int. -Solution: Declare the number as an int. (Mike Williams) -Files: src/regexp_nfa.c - -Patch 7.3.1076 -Problem: New regexp engine: \@= and \& don't work. -Solution: Make these items work. Add column info to logging. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1077 -Problem: Python: Allocating dict the wrong way, causing a crash. -Solution: Use py_dict_alloc(). Fix some exception problems. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1078 -Problem: New regexp engine: \@! doesn't work. -Solution: Implement the negated version of \@=. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1079 -Problem: Test 87 fails. -Solution: Fix the test for Python 3.3. (ZyX) Make it pass on 32 bit systems. -Files: src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1080 -Problem: Test 86 fails. -Solution: Comment out the parts that don't work. Make it pass on 32 bit - systems. -Files: src/testdir/test86.in, src/testdir/test86.ok - -Patch 7.3.1081 -Problem: Compiler warnings on 64-bit Windows. -Solution: Change variable types. (Mike Williams) -Files: src/if_py_both.h, src/regexp_nfa.c - -Patch 7.3.1082 -Problem: New regexp engine: Problem with \@= matching. -Solution: Save and restore nfa_match. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1083 -Problem: New regexp engine: Does not support \%^ and \%$. -Solution: Support matching start and end of file. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1084 -Problem: New regexp engine: only accepts up to \{,10}. -Solution: Remove upper limit. Remove dead code with NFA_PLUS. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1085 -Problem: New regexp engine: Non-greedy multi doesn't work. -Solution: Implement \{-}. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1086 -Problem: Old regexp engine accepts illegal range, new one doesn't. -Solution: Also accept the illegal range with the new engine. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1087 -Problem: A leading star is not seen as a normal char when \{} follows. -Solution: Save and restore the parse state properly. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1088 -Problem: New regexp engine: \@<= and \@<! are not implemented. -Solution: Implement look-behind matching. Fix off-by-one error in old - regexp engine. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1089 -Problem: Tests 86 and 87 fail on MS-Windows. (Ken Takata) -Solution: Fix platform-specific stuff. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1090 -Problem: New regexp engine does not support \z1 .. \z9 and \z(. -Solution: Implement the syntax submatches. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1091 -Problem: New regexp engine: no error when using \z1 or \z( where it does - not work. -Solution: Give an error message. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1092 -Problem: Can't build with regexp debugging. NFA debug output shows wrong - pattern. -Solution: Fix debugging code for recent changes. Add the pattern to the - program. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1093 -Problem: New regexp engine: When a sub expression is empty \1 skips a - character. -Solution: Make \1 try the current position when the match is empty. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1094 -Problem: New regexp engine: Attempts to match "^" at every character. -Solution: Only try "^" at the start of a line. -Files: src/regexp_nfa.c - -Patch 7.3.1095 -Problem: Compiler warnings for shadowed variables. (Christian Brabandt) -Solution: Rename new_state() to alloc_state(). Remove unnecessary - declaration. -Files: src/regexp_nfa.c - -Patch 7.3.1096 -Problem: Python: popitem() was not defined in a standard way. -Solution: Remove the argument from popitem(). (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.1097 -Problem: Python: a few recently added items are not documented. -Solution: Update the documentation. (ZyX) -Files: runtime/doc/if_pyth.txt - -Patch 7.3.1098 -Problem: Python: Possible memory leaks -Solution: Add Py_XDECREF() calls. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1099 -Problem: Python: Changing directory with os.chdir() causes problems for - Vim's notion of directories. -Solution: Add vim.chdir() and vim.fchdir(). (ZyX) -Files: runtime/doc/if_pyth.txt, src/ex_docmd.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/ex_docmd.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1100 -Problem: Python: a few more memory problems. -Solution: Add and remove Py_XDECREF(). (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1101 -Problem: Configure doesn't find Python 3 on Ubuntu 13.04. -Solution: First try distutils.sysconfig. Also fix some indents. (Ken - Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1102 -Problem: Completion of ":py3do" and ":py3file" does not work after ":py3". -Solution: Make completion work. (Taro Muraoka) -Files: src/ex_docmd.c - -Patch 7.3.1103 -Problem: New regexp engine: overhead in saving and restoring. -Solution: Make saving and restoring list IDs faster. Don't copy or check \z - subexpressions when they are not used. -Files: src/regexp_nfa.c - -Patch 7.3.1104 -Problem: New regexp engine does not handle "~". -Solution: Add support for "~". -Files: src/regexp_nfa.c, src/testdir/test24.in, src/testdir/test24.ok - -Patch 7.3.1105 -Problem: New regexp engine: too much code in one function. Dead code. -Solution: Move the recursive nfa_regmatch call to a separate function. - Remove the dead code. -Files: src/regexp_nfa.c - -Patch 7.3.1106 -Problem: New regexp engine: saving and restoring lastlist in the states - takes a lot of time. -Solution: Use a second lastlist value for the first recursive call. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1107 -Problem: Compiler warnings for unused variables. -Solution: Put the variables inside #ifdef. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1108 -Problem: Error message for os.fchdir() (Charles Peacech) -Solution: Clear the error. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1109 -Problem: Building on MS-Windows doesn't see changes in if_py_both.h. -Solution: Add a dependency. (Ken Takata) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, - src/Make_mvc.mak - -Patch 7.3.1110 -Problem: New regexp matching: Using \@= and the like can be slow. -Solution: Decide whether to first try matching the zero-width part or what - follows, whatever is more likely to fail. -Files: src/regexp_nfa.c - -Patch 7.3.1111 -Problem: nfa_recognize_char_class() implementation is inefficient. -Solution: Use bits in an int instead of chars in a string. (Dominique Pelle) -Files: src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok - -Patch 7.3.1112 -Problem: New regexp engine: \%V not supported. -Solution: Implement \%V. Add tests. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1113 -Problem: New regexp engine: \%'m not supported. -Solution: Implement \%'m. Add tests. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1114 (after 7.3.1110) -Problem: Can't build without the syntax feature. -Solution: Add #ifdefs. (Erik Falor) -Files: src/regexp_nfa.c - -Patch 7.3.1115 -Problem: Many users don't like the cursor line number when 'relativenumber' - is set. -Solution: Have four combinations with 'number' and 'relativenumber'. - (Christian Brabandt) -Files: runtime/doc/options.txt, src/option.c, src/screen.c, - src/testdir/test89.in, src/testdir/test89.ok - -Patch 7.3.1116 -Problem: Can't build without Visual mode. -Solution: Add #ifdefs. -Files: src/regexp_nfa.c - -Patch 7.3.1117 -Problem: New regexp engine: \%[abc] not supported. -Solution: Implement \%[abc]. Add tests. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1118 -Problem: Match failure rate is not very specific. -Solution: Tune the failure rate for match items. -Files: src/regexp_nfa.c - -Patch 7.3.1119 -Problem: Flags in 'cpo' are search for several times. -Solution: Store the result and re-use the flags. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1120 -Problem: Crash when regexp logging is enabled. -Solution: Avoid using NULL pointers. Advance over count argument. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1121 -Problem: New regexp engine: adding states that are not used. -Solution: Don't add the states. -Files: src/regexp_nfa.c - -Patch 7.3.1122 -Problem: New regexp engine: \@> not supported. -Solution: Implement \%>. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1123 -Problem: Can't build tiny Vim on MS-Windows. -Solution: Adjust #ifdef around using modif_fname(). (Mike Williams) -Files: src/misc1.c - -Patch 7.3.1124 -Problem: Python: Crash on MS-Windows when os.fchdir() is not available. -Solution: Check for _chdir to be NULL. (Ken Takata) -Files: src/if_py_both.h - -Patch 7.3.1125 -Problem: Error for using \%V in a pattern in tiny Vim. -Solution: Allow using \%V but never match. (Dominique Pelle) -Files: src/regexp_nfa.c - -Patch 7.3.1126 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Assign something to the variable. -Files: src/regexp_nfa.c - -Patch 7.3.1127 -Problem: No error for using empty \%[]. -Solution: Give error message. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1128 -Problem: Now that the NFA engine handles everything every failure is a - syntax error. -Solution: Remove the syntax_error flag. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1129 -Problem: Can't see what pattern in syntax highlighting is slow. -Solution: Add the ":syntime" command. -Files: src/structs.h, src/syntax.c, src/ex_cmds.h, src/ex_docmd.c, - src/proto/syntax.pro, src/ex_cmds2.c, src/proto/ex_cmds2.pro, - runtime/doc/syntax.txt - -Patch 7.3.1130 (after 7.3.1129) -Problem: Can't build with anything but huge features. -Solution: Check for FEAT_PROFILE. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c, src/structs.h, src/syntax.c - -Patch 7.3.1131 -Problem: New regexp engine is a bit slow. -Solution: Do not clear the state list. Don't copy syntax submatches when - not used. -Files: src/regexp_nfa.c - -Patch 7.3.1132 -Problem: Crash when debugging regexp. -Solution: Do not try to dump subexpr that were not set. Skip over count of - \% items. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1133 -Problem: New regexp engine is a bit slow. -Solution: Skip ahead to a character that must match. Don't try matching a - "^" patter past the start of line. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1134 -Problem: Running test 49 takes a long time. -Solution: Don't have it grep all files. -Files: src/testdir/test49.vim - -Patch 7.3.1135 -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/syntax.c - -Patch 7.3.1136 -Problem: ":func Foo" does not show attributes. -Solution: Add "abort", "dict" and "range". (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.1137 -Problem: New regexp engine: collections are slow. -Solution: Handle all characters in one go. -Files: src/regexp_nfa.c - -Patch 7.3.1138 -Problem: New regexp engine: neglist no longer used. -Solution: Remove the now unused neglist. -Files: src/regexp_nfa.c - -Patch 7.3.1139 -Problem: New regexp engine: negated flag is hardly used. -Solution: Add separate _NEG states, remove negated flag. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1140 -Problem: New regexp engine: trying expensive match while the result is not - going to be used. -Solution: Check for output state already being in the state list. -Files: src/regexp_nfa.c - -Patch 7.3.1141 -Problem: Win32: Check for available memory is not reliable and adds - overhead. -Solution: Remove mch_avail_mem(). (Mike Williams) -Files: src/os_win32.c, src/os_win32.h - -Patch 7.3.1142 -Problem: Memory leak in ":syntime report". -Solution: Clear the grow array. (Dominique Pelle) -Files: src/syntax.c - -Patch 7.3.1143 -Problem: When mapping NUL it is displayed as an X. -Solution: Check for KS_ZERO instead of K_ZERO. (Yasuhiro Matsumoto) -Files: src/message.c - -Patch 7.3.1144 -Problem: "RO" is not translated everywhere. -Solution: Put inside _(). (Sergey Alyoshin) -Files: src/buffer.c, src/screen.c - -Patch 7.3.1145 -Problem: New regexp engine: addstate() is called very often. -Solution: Optimize adding the start state. -Files: src/regexp_nfa.c - -Patch 7.3.1146 -Problem: New regexp engine: look-behind match not checked when followed by - zero-width match. -Solution: Do the look-behind match before adding the zero-width state. -Files: src/regexp_nfa.c - -Patch 7.3.1147 -Problem: New regexp engine: regstart is only used to find the first match. -Solution: Use regstart whenever adding the start state. -Files: src/regexp_nfa.c - -Patch 7.3.1148 -Problem: No command line completion for ":syntime". -Solution: Implement the completion. (Dominique Pelle) -Files: runtime/doc/map.txt, src/ex_cmds.h, src/ex_docmd.c, - src/ex_getln.c, src/proto/syntax.pro, src/syntax.c, src/vim.h - -Patch 7.3.1149 -Problem: New regexp engine: Matching plain text could be faster. -Solution: Detect a plain text match and handle it specifically. Add - vim_regfree(). -Files: src/regexp.c, src/regexp.h, src/regexp_nfa.c, - src/proto/regexp.pro, src/buffer.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/fileio.c, src/gui.c, src/misc1.c, src/misc2.c, - src/option.c, src/syntax.c, src/quickfix.c, src/search.c, - src/spell.c, src/tag.c, src/window.c, src/screen.c, src/macros.h, - src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1150 -Problem: New regexp engine: Slow when a look-behind match does not have a - width specified. -Solution: Try to compute the maximum width. -Files: src/regexp_nfa.c - -Patch 7.3.1151 -Problem: New regexp engine: Slow when a look-behind match is followed by a - zero-width match. -Solution: Postpone the look-behind match more often. -Files: src/regexp_nfa.c - -Patch 7.3.1152 -Problem: In tiny build ireg_icombine is undefined. (Tony Mechelynck) -Solution: Add #ifdef. -Files: src/regexp_nfa.c - -Patch 7.3.1153 -Problem: New regexp engine: Some look-behind matches are very expensive. -Solution: Postpone invisible matches further, until a match is almost found. -Files: src/regexp_nfa.c - -Patch 7.3.1154 -Problem: New regexp_nfa engine: Unnecessary code. -Solution: Remove unnecessary code. -Files: src/regexp_nfa.c - -Patch 7.3.1155 -Problem: MS-DOS: "make test" uses external rmdir command. -Solution: Rename "rmdir" to "rd". (Taro Muraoka) -Files: src/testdir/Make_dos.mak - -Patch 7.3.1156 -Problem: Compiler warnings. (dv1445) -Solution: Initialize variables, even when the value isn't really used. -Files: src/regexp_nfa.c, src/eval.c - -Patch 7.3.1157 -Problem: New regexp engine fails on "\(\<command\)\@<=.*" -Solution: Fix rule for postponing match. Further tune estimating whether - postponing works better. Add test. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1158 -Problem: Crash when running test 86. (Jun Takimoto) -Solution: Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.1159 -Problem: The round() function is not always available. (Christ van - Willegen) -Solution: Use the solution from f_round(). -Files: src/ex_cmds2.c, src/eval.c, src/proto/eval.pro - -Patch 7.3.1160 -Problem: Mixing long and pointer doesn't always work. -Solution: Avoid cast to pointer. -Files: src/undo.c - -Patch 7.3.1161 -Problem: Python: PyList_SetItem() is inefficient. -Solution: Use PyList_SET_ITEM() (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1162 -Problem: Python: Memory leaks -Solution: Add more Py_DECREF(). (ZyX) -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.1163 -Problem: Not easy to load Python modules. -Solution: Search "python2", "python3" and "pythonx" directories in - 'runtimepath' for Python modules. (ZyX) -Files: runtime/doc/if_pyth.txt, src/configure.in, src/ex_cmds2.c, - src/if_py_both.h, src/if_python.c, src/if_python3.c, - src/testdir/test86.in, src/testdir/test87.in, src/auto/configure - -Patch 7.3.1164 -Problem: Can't test what is actually displayed on screen. -Solution: Add the screenchar() and screenattr() functions. -Files: src/eval.c, runtime/doc/eval.txt - -Patch 7.3.1165 -Problem: HP-UX compiler can't handle zero size array. (Charles Cooper) -Solution: Make the array one item big. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1166 -Problem: Loading Python modules is not tested. -Solution: Enable commented-out tests, add missing files. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok, - src/testdir/python2/module.py, src/testdir/python3/module.py, - src/testdir/pythonx/module.py, src/testdir/pythonx/modulex.py, - Filelist - -Patch 7.3.1167 -Problem: Python configure check doesn't reject Python 2 when requesting - Python 3. Some systems need -pthreads instead of -pthread. -Solution: Adjust configure accordingly. (Andrei Olsen) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1168 -Problem: Python "sane" configure checks give a warning message. -Solution: Use single quotes instead of escaped double quotes. (Ben Fritz) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1169 -Problem: New regexp engine: some work is done while executing a pattern, - even though the result is predictable. -Solution: Do the work while compiling the pattern. -Files: src/regexp_nfa.c - -Patch 7.3.1170 -Problem: Patch 7.3.1058 breaks backwards compatibility, not possible to use - a function reference as a string. (lilydjwg) -Solution: Instead of translating the function name only translate "s:". -Files: src/eval.c - -Patch 7.3.1171 -Problem: Check for digits and ascii letters can be faster. -Solution: Use a trick with one comparison. (Dominique Pelle) -Files: src/macros.h - -Patch 7.3.1172 -Problem: Python 2: loading modules doesn't work well. -Solution: Fix the code. Add more tests. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, - src/testdir/python2/module.py, src/testdir/python3/module.py, - src/testdir/python_after/after.py, - src/testdir/python_before/before.py, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok, Filelist - -Patch 7.3.1173 -Problem: Python 2 tests don't have the same output everywhere. -Solution: Make the Python 2 tests more portable. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok - -Patch 7.3.1174 -Problem: Python 2 and 3 use different ways to load modules. -Solution: Use the same method. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c - -Patch 7.3.1175 -Problem: Using isalpha() and isalnum() can be slow. -Solution: Use range checks. (Mike Williams) -Files: src/ex_docmd.c, src/macros.h - -Patch 7.3.1176 -Problem: Compiler warnings on 64 bit system. -Solution: Add type casts. (Mike Williams) -Files: src/eval.c, src/if_py_both.h - -Patch 7.3.1177 -Problem: Wasting memory on padding. -Solution: Reorder struct fields. (Dominique Pelle) -Files: src/structs.h, src/fileio.c - -Patch 7.3.1178 -Problem: Can't put all Vim config files together in one directory. -Solution: Load ~/.vim/vimrc if ~/.vimrc does not exist. (Lech Lorens) -Files: runtime/doc/gui.txt, runtime/doc/starting.txt, src/gui.c, - src/main.c, src/os_amiga.h, src/os_dos.h, src/os_unix.h - -Patch 7.3.1179 -Problem: When a global mapping starts with the same characters as a - buffer-local mapping Vim waits for a character to be typed to find - out whether the global mapping is to be used. (Andy Wokula) -Solution: Use the local mapping without waiting. (Michael Henry) -Files: runtime/doc/map.txt, src/getchar.c - -Patch 7.3.1180 -Problem: When current directory changes, path from cscope may no longer be - valid. (AS Budden) -Solution: Always store the absolute path. (Christian Brabandt) -Files: src/if_cscope.c - -Patch 7.3.1181 -Problem: Wrong error message for 1.0[0]. -Solution: Check for funcref and float separately. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.1182 -Problem: 'backupcopy' default on MS-Windows does not work for hard and soft - links. -Solution: Check for links. (David Pope, Ken Takata) -Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 7.3.1183 -Problem: Python tests 86 and 87 fail. -Solution: Add "empty" files. (ZyX) -Files: src/testdir/python_before/before_1.py, - src/testdir/python_before/before_2.py - -Patch 7.3.1184 -Problem: Highlighting is sometimes wrong. (Axel Bender) -Solution: Fetch regline again when returning from recursive regmatch. -Files: src/regexp_nfa.c - -Patch 7.3.1185 -Problem: New regexp engine: no match with ^ after \n. (SungHyun Nam) -Solution: Fix it, add a test. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1186 -Problem: Python 3: test 87 may crash. -Solution: Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto) -Files: src/if_python3.c - -Patch 7.3.1187 (after 7.3.1170) -Problem: "s:" is recognized but "<SID>" is not. (ZyX) -Solution: Translate "<SID>" like "s:". -Files: src/eval.c - -Patch 7.3.1188 -Problem: Newline characters messing up error message. -Solution: Remove the newlines. (Kazunobu Kuriyama) -Files: src/gui_x11.c - -Patch 7.3.1189 (after 7.3.1185) -Problem: Highlighting is still wrong sometimes. (Dominique Pelle) -Solution: Also restore reginput properly. -Files: src/regexp_nfa.c - -Patch 7.3.1190 -Problem: Compiler warning for parentheses. (Christian Wellenbrock) -Solution: Change #ifdef. -Files: src/ex_docmd.c - -Patch 7.3.1191 -Problem: Backreference to previous line doesn't work. (Lech Lorens) -Solution: Implement looking in another line. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1192 -Problem: Valgrind reports errors when using backreferences. (Dominique - Pelle) -Solution: Do not check the end of submatches. -Files: src/regexp_nfa.c - -Patch 7.3.1193 -Problem: fail_if_missing not used for Python 3. -Solution: Give an error when Python 3 can't be configured. (Andrei Olsen) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1194 -Problem: Yaml highlighting is slow. -Solution: Tune the estimation of pattern failure chance. -Files: src/regexp_nfa.c - -Patch 7.3.1195 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Set the length to the matching backref. -Files: src/regexp.c - -Patch 7.3.1196 -Problem: Old regexp engine does not match pattern with backref correctly. - (Dominique Pelle) -Solution: Fix setting status. Test multi-line patterns better. -Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1197 -Problem: ":wviminfo!" does not write history previously read from a viminfo - file. (Roland Eggner) -Solution: When not merging history write all entries. -Files: src/ex_cmds.c, src/ex_getln.c, src/proto/ex_getln.pro - -Patch 7.3.1198 -Problem: Build error when using Perl 5.18.0 and dynamic loading. -Solution: Change #ifdefs for Perl_croak_xs_usage. (Ike Devolder) -Files: src/if_perl.xs - -Patch 7.3.1199 -Problem: When evaluating 'foldexpr' causes an error this is silently - ignored and evaluation is retried every time. -Solution: Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is - it is causing errors. (Christian Brabandt) -Files: src/fold.c - -Patch 7.3.1200 -Problem: When calling setline() from Insert mode, using CTRL-R =, undo does - not work properly. (Israel Chauca) -Solution: Sync undo after evaluating the expression. (Christian Brabandt) -Files: src/edit.c, src/testdir/test61.in, src/testdir/test61.ok - -Patch 7.3.1201 -Problem: When a startup script creates a preview window, it probably - becomes the current window. -Solution: Make another window the current one. (Christian Brabandt) -Files: src/main.c - -Patch 7.3.1202 (after 7.3.660) -Problem: Tags are not found in case-folded tags file. (Darren cole, Issue - 90) -Solution: Take into account that when case folding was used for the tags - file "!rm" sorts before the "!_TAG" header lines. -Files: src/tag.c - -Patch 7.3.1203 -Problem: Matches from matchadd() might be highlighted incorrectly when they - are at a fixed position and inserting lines. (John Szakmeister) -Solution: Redraw all lines below a change if there are highlighted matches. - (idea by Christian Brabandt) -Files: src/screen.c - -Patch 7.3.1204 -Problem: Calling gettabwinvar() in 'tabline' cancels Visual mode. (Hirohito - Higashi) -Solution: Don't always use goto_tabpage_tp(). -Files: src/window.c, src/proto/window.pro, src/eval.c, src/if_py_both.h - -Patch 7.3.1205 -Problem: logtalk.dict is not removed on uninstall. -Solution: Remove the file. (Kazunobu Kuriyama) -Files: src/Makefile - -Patch 7.3.1206 -Problem: Inconsistent function argument declarations. -Solution: Use ANSI style. -Files: src/if_py_both.h - -Patch 7.3.1207 -Problem: New regexp engine: no match found on "#if FOO". (Lech Lorens) -Solution: When adding a state gets skipped don't adjust the index. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1208 -Problem: Compiler warnings on MS-Windows. -Solution: Add type cast. Move variable declaration. (Mike Williams) -Files: src/option.c, src/os_mswin.c - -Patch 7.3.1209 -Problem: No completion for ":tabdo". -Solution: Add tabdo to the list of modifiers. (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.3.1210 (after 7.3.1182) -Problem: 'backupcopy' default on MS-Windows is wrong when 'encoding' equals - the current codepage. -Solution: Change the #else block. (Ken Takata) -Files: src/os_win32.c - -Patch 7.3.1211 -Problem: MS-Windows: When 'encoding' differs from the current codepage - ":hardcopy" does not work properly. -Solution: Use TextOutW() and SetDlgItemTextW(). (Ken Takata) -Files: src/os_mswin.c, src/vim.rc - -Patch 7.3.1212 -Problem: "make test" on MS-Windows does not report failure like Unix does. -Solution: Make it work like on Unix. (Taro Muraoka) -Files: src/testdir/Make_dos.mak - -Patch 7.3.1213 -Problem: Can't build with small features and Python. -Solution: Adjust #ifdefs. -Files: src/eval.c, src/buffer.c, src/eval.c, src/window.c - -Patch 7.3.1214 -Problem: Missing declaration for init_users() and realloc_post_list(). - (Salman Halim) -Solution: Add the declarations. -Files: src/misc1.c, src/regexp_nfa.c - -Patch 7.3.1215 -Problem: Compiler warning for function not defined. -Solution: Add #ifdef. -Files: src/misc1.c - -Patch 7.3.1216 -Problem: Configure can't find Motif on Ubuntu. -Solution: Search for libXm in /usr/lib/*-linux-gnu. -Files: src/configure.in, src/auto/configure - -Patch 7.3.1217 -Problem: New regexp engine: Can't handle \%[[ao]]. (Yukihiro Nakadaira) -Solution: Support nested atoms inside \%[]. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1218 -Problem: "make test" on MS-Windows does not clean all temporary files and - gives some unnecessary message. -Solution: Clean the right files. Create .failed files. (Ken Takata) -Files: src/testdir/Make_dos.mak - -Patch 7.3.1219 -Problem: No test for using []] inside \%[]. -Solution: Add a test. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1220 -Problem: MS-Windows: When using wide font italic and bold are not included. -Solution: Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata, - Taro Muraoka) -Files: src/gui.c, src/gui.h, src/gui_w48.c - -Patch 7.3.1221 -Problem: When build flags change "make distclean" run into a configure - error. -Solution: When CFLAGS changes delete auto/config.cache. Also avoid adding - duplicate text to flags. (Ken Takata) -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.3.1222 -Problem: Cannot execute some tests from the src directly. -Solution: Add missing targets. -Files: src/Makefile - -Patch 7.3.1223 -Problem: Tests fail on MS-Windows. -Solution: Avoid depending on OS version. Use DOS commands instead of Unix - commands. (Taro Muraoka, Ken Takata) -Files: src/testdir/test17.in, src/testdir/test50.in, - src/testdir/test71.in, src/testdir/test77.in - -Patch 7.3.1224 -Problem: Clang gives warnings on xxd. -Solution: Change how to use part of a string. (Dominique Pelle) Also avoid - warning for return not reached. -Files: src/xxd/xxd.c, src/regexp_nfa.c - -Patch 7.3.1225 -Problem: Compiler warnings when building with Motif. -Solution: Change set_label() argument. (Kazunobu Kuriyama) -Files: src/gui_motif.c - -Patch 7.3.1226 -Problem: Python: duplicate code. -Solution: Share code between OutputWrite() and OutputWritelines(). (ZyX) -Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1227 -Problem: Inconsistent string conversion. -Solution: Use 'encoding' instead of utf-8. Use METH_O in place of - METH_VARARGS where appropriate. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1228 -Problem: Python: various inconsistencies and problems. -Solution: StringToLine now supports both bytes() and unicode() objects. - Make function names consistent. Fix memory leak fixed in - StringToLine. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.1229 -Problem: Python: not so easy to delete/restore translating. -Solution: Make macros do translation of exception messages. (ZyX) - Note: this breaks translations! -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.1230 -Problem: Python: Exception messages are not clear. -Solution: Make exception messages more verbose. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1231 -Problem: Python: use of numbers not consistent. -Solution: Add support for Number protocol. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1232 -Problem: Python: inconsistencies in variable names. -Solution: Rename variables. (ZyX) -Files: src/eval.c, src/if_py_both.h - -Patch 7.3.1233 -Problem: Various Python problems. -Solution: Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory - leaks in StringToLine(), BufferMark() and convert_dl. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1234 (after 7.3.1229) -Problem: Python: Strings are not marked for translation. -Solution: Add N_() where appropriate. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1235 -Problem: In insert mode CTRL-] is not inserted, on the command-line it is. -Solution: Don't insert CTRL-] on the command line. (Yukihiro Nakadaira) -Files: src/ex_getln.c - -Patch 7.3.1236 -Problem: Python: WindowSetattr() missing support for NUMBER_UNSIGNED. -Solution: Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/pythonx/failing.py, - src/testdir/pythonx/failing_import.py, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok, src/testdir/pythonx/topmodule/__init__.py, - src/testdir/pythonx/topmodule/submodule/__init__.py, - src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py, - src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py - -Patch 7.3.1237 -Problem: Python: non-import errors not handled correctly. -Solution: Let non-ImportError exceptions pass the finder. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1238 -Problem: Crash in Python interface on 64 bit machines. -Solution: Change argument type of PyString_AsStringAndSize. (Taro Muraoka, - Jun Takimoto) -Files: src/if_python.c - -Patch 7.3.1239 -Problem: Can't build with Python and MSVC10. -Solution: Move #if outside of macro. (Taro Muraoka) -Files: src/if_py_both.h - -Patch 7.3.1240 -Problem: Memory leak in findfile(). -Solution: Free the memory. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.1241 (after 7.3.1236) -Problem: Some test files missing from the distribution. -Solution: Update the list of files. -Files: Filelist - -Patch 7.3.1242 -Problem: No failure when trying to use a number as a string. -Solution: Give an error when StringToLine() is called with an instance of - the wrong type. (Jun Takimoto) -Files: src/if_py_both.h - -Patch 7.3.1243 -Problem: New regexp engine: back references in look-behind match don't - work. (Lech Lorens) -Solution: Copy the submatches before a recursive match. Also fix function - prototypes. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1244 -Problem: MS-Windows: confirm() dialog text may not fit. -Solution: Use GetTextWidthEnc() instead of GetTextWidth(). (Yasuhiro - Matsumoto) -Files: src/gui_w32.c - -Patch 7.3.1245 -Problem: MS-Windows: confirm() dialog text may still not fit. -Solution: Use GetTextWidthEnc() instead of GetTextWidth() in two more - places. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 7.3.1246 -Problem: When setting 'winfixheight' and resizing the window causes the - window layout to be wrong. -Solution: Add frame_check_height() and frame_check_width() (Yukihiro - Nakadaira) -Files: src/window.c - -Patch 7.3.1247 -Problem: New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match. -Solution: When there is a PIM add a duplicate state that starts at another - position. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1248 -Problem: Still have old hacking code for Input Method. -Solution: Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to - Input Method activation. (Yukihiro Nakadaira) -Files: runtime/doc/options.txt, src/fileio.c, src/mbyte.c, src/option.c, - src/option.h, src/proto/fileio.pro - -Patch 7.3.1249 -Problem: Modeline not recognized when using "Vim" instead of "vim". -Solution: Also accept "Vim". -Files: src/buffer.c - -Patch 7.3.1250 -Problem: Python tests fail on MS-Windows. -Solution: Change backslashes to slashes. (Taro Muraoka) -Files: src/testdir/test86.in, src/testdir/test87.in - -Patch 7.3.1251 -Problem: Test 61 messes up viminfo. -Solution: Specify a separate viminfo file. -Files: src/testdir/test61.in - -Patch 7.3.1252 -Problem: Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps - if the corresponding menu command contains additional characters - like the shortcut marker '&' or if you use a non-english locale. -Solution: Use menu->en_dname or menu->dname. (Martin Gieseking) -Files: src/gui_w32.c - -Patch 7.3.1253 (after 7.3.1200) -Problem: Still undo problem after using CTRL-R = setline(). (Hirohito - Higashi) -Solution: Set the ins_need_undo flag. -Files: src/edit.c - -Patch 7.3.1254 (after 7.3.1252) -Problem: Can't build without the multi-lang feature. (John Marriott) -Solution: Add #ifdef. -Files: src/gui_w32.c - -Patch 7.3.1255 -Problem: Clang warnings when building with Athena. -Solution: Add type casts. (Dominique Pelle) -Files: src/gui_at_fs.c - -Patch 7.3.1256 -Problem: Can't build without eval or autocmd feature. -Solution: Add #ifdefs. -Files: src/mbyte.c, src/window.c - -Patch 7.3.1257 -Problem: With GNU gettext() ":lang de_DE.utf8" does not always result in - German messages. -Solution: Clear the $LANGUAGE environment variable. -Files: src/ex_cmds2.c - -Patch 7.3.1258 -Problem: Using submatch() may crash Vim. (Ingo Karkat) -Solution: Restore the number of subexpressions used. -Files: src/regexp_nfa.c - -Patch 7.3.1259 -Problem: No test for patch 7.3.1258 -Solution: Add a test entry. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1260 -Problem: User completion does not get the whole command line in the command - line window. -Solution: Pass on the whole command line. (Daniel Thau) -Files: src/ex_getln.c, src/structs.h - -Patch 7.3.1261 (after patch 7.3.1179) -Problem: A buffer-local language mapping from a keymap stops a global - insert mode mapping from working. (Ron Aaron) -Solution: Do not wait for more characters to be typed only when the mapping - was defined with <nowait>. -Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, - src/testdir/test75.in, src/testdir/test75.ok - -Patch 7.3.1262 -Problem: Crash and compilation warnings with Cygwin. -Solution: Check return value of XmbTextListToTextProperty(). Add type casts. - Adjust #ifdefs. (Lech Lorens) -Files: src/main.c, src/os_unix.c, src/ui.c - -Patch 7.3.1263 -Problem: Typo in short option name. -Solution: Change "imse" to "imsf". -Files: src/option.c - -Patch 7.3.1264 (after 7.3.1261) -Problem: Missing m_nowait. -Solution: Include missing part of the patch. -Files: src/structs.h - -Patch 7.3.1265 (after 7.3.1249) -Problem: Accepting "Vim:" for a modeline causes errors too often. -Solution: Require "Vim:" to be followed by "set". -Files: src/buffer.c - -Patch 7.3.1266 -Problem: QNX: GUI fails to start. -Solution: Remove the QNX-specific #ifdef. (Sean Boudreau) -Files: src/gui.c - -Patch 7.3.1267 -Problem: MS-Windows ACL support doesn't work well. -Solution: Implement more ACL support. (Ken Takata) -Files: src/os_win32.c - -Patch 7.3.1268 -Problem: ACL support doesn't work when compiled with MingW. -Solution: Support ACL on MingW. (Ken Takata) -Files: src/os_win32.c, src/os_win32.h - -Patch 7.3.1269 -Problem: Insert completion keeps entry selected even though the list has - changed. (Olivier Teuliere) -Solution: Reset compl_shown_match and compl_curr_match. (Christian Brabandt) -Files: src/edit.c - -Patch 7.3.1270 -Problem: Using "Vp" in an empty buffer can't be undone. (Hauke Petersen) -Solution: Save one line in an empty buffer. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.1271 (after 7.3.1260) -Problem: Command line completion does not work. -Solution: Move setting xp_line down. (Daniel Thau) -Files: src/ex_getln.c - -Patch 7.3.1272 -Problem: Crash when editing Ruby file. (Aliaksandr Rahalevich) -Solution: Reallocate the state list when necessary. -Files: src/regexp_nfa.c - -Patch 7.3.1273 -Problem: When copying a location list the index might be wrong. -Solution: Set the index to one when using the first entry. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.3.1274 -Problem: When selecting an entry from a location list it may pick an - arbitrary window or open a new one. -Solution: Prefer using a window related to the location list. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.3.1275 -Problem: "gn" does not work when the match is a single character. -Solution: Fix it, add a test. (Christian Brabandt) -Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok - -Patch 7.3.1276 -Problem: When using a cscope connection resizing the window may send - SIGWINCH to cscope and it quits. -Solution: Call setpgid(0, 0) in the child process. (Narendran Gopalakrishnan) -Files: src/if_cscope.c - -Patch 7.3.1277 -Problem: In diff mode 'cursorline' also draws in the non-active window. - When 'nu' and 'sbr' are set the 'sbr' string is not underlined. -Solution: Only draw the cursor line in the current window. Combine the - 'cursorline' and other highlighting attributes. (Christian - Brabandt) -Files: src/screen.c - -Patch 7.3.1278 -Problem: When someone sets the screen size to a huge value with "stty" Vim - runs out of memory before reducing the size. -Solution: Limit Rows and Columns in more places. -Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/os_unix.c, - src/proto/term.pro, src/term.c - -Patch 7.3.1279 -Problem: Compiler warning for variable uninitialized. (Tony Mechelynck) -Solution: Add an init. -Files: src/ex_getln.c - -Patch 7.3.1280 -Problem: Reading memory already freed since patch 7.3.1247. (Simon - Ruderich, Dominique Pelle) -Solution: Copy submatches before reallocating the state list. -Files: src/regexp_nfa.c - -Patch 7.3.1281 -Problem: When 'ttymouse' is set to "xterm2" clicking in column 123 moves - the cursor to column 96. (Kevin Goodsell) -Solution: Decode KE_CSI. -Files: src/term.c - -Patch 7.3.1282 (after 7.3.1277) -Problem: 'cursorline' not drawn in any other window. (Charles Campbell) -Solution: Do draw the cursor line in other windows. -Files: src/screen.c - -Patch 7.3.1283 -Problem: Test 71 fails on MS-Windows. -Solution: Put the binary data in a separate file. (Ken Takata) -Files: src/testdir/test71.in, src/testdir/test71a.in - -Patch 7.3.1284 -Problem: Compiler warnings in MS-Windows clipboard handling. -Solution: Add type casts. (Ken Takata) -Files: src/winclip.c - -Patch 7.3.1285 -Problem: No tests for picking a window when selecting an entry in a - location list. Not picking the right window sometimes. -Solution: Add test 96. Set usable_win appropriately. (Lech Lorens) -Files: src/quickfix.c, src/testdir/Makefile, src/testdir/test96.in, - src/testdir/test96.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.1286 -Problem: Check for screen size missing for Athena and Motif. -Solution: Add call to limit_screen_size(). -Files: src/gui_x11.c - -Patch 7.3.1287 -Problem: Python SystemExit exception is not handled properly. -Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken - Takata) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, - src/if_python3.c - -Patch 7.3.1288 -Problem: The first ":echo 'hello'" command output doesn't show. Mapping - for <S-F3> gets triggered during startup. -Solution: Add debugging code for the termresponse. When receiving the "Co" - entry and when setting 'ambiwidth' redraw right away if possible. - Add redraw_asap(). Don't set 'ambiwidth' if it already had the - right value. Do the 'ambiwidth' check in the second row to avoid - confusion with <S-F3>. -Files: src/term.c, src/screen.c, src/proto/screen.pro - -Patch 7.3.1289 -Problem: Get GLIB warning when removing a menu item. -Solution: Reference menu-id and also call gtk_container_remove(). (Ivan - Krasilnikov) -Files: src/gui_gtk.c - -Patch 7.3.1290 (after 7.3.1253) -Problem: CTRL-R = in Insert mode changes the start of the insert position. - (Ingo Karkat) -Solution: Only break undo, don't start a new insert. -Files: src/edit.c - -Patch 7.3.1291 (after 7.3.1288) -Problem: Compiler warnings for uninitialized variables. (Tony Mechelynck) -Solution: Initialize the variables. -Files: src/screen.c - -Patch 7.3.1292 -Problem: Possibly using invalid pointer when searching for window. (Raichoo) -Solution: Use "firstwin" instead of "tp_firstwin" for current tab. -Files: src/window.c - -Patch 7.3.1293 -Problem: Put in empty buffer cannot be undone. -Solution: Save one more line for undo. (Ozaki) -Files: src/ops.c - -Patch 7.3.1294 -Problem: ":diffoff" resets options. -Solution: Save and restore option values. (Christian Brabandt) -Files: src/diff.c, src/structs.h, src/option.c - -Patch 7.3.1295 -Problem: glob() and globpath() do not handle escaped special characters - properly. -Solution: Handle escaped characters differently. (Adnan Zafar) -Files: src/testdir/Makefile, src/testdir/test97.in, - src/testdir/test97.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/fileio.c, - src/misc1.c - -Patch 7.3.1296 -Problem: Only MS-Windows limits the GUI window size to what fits on the - monitor. -Solution: Limit the size for all systems. (Daniel Harding) -Files: src/ui.c - -Patch 7.3.1297 -Problem: findfile() directory matching does not work when a star follows - text. (Markus Braun) -Solution: Make a wildcard work properly. (Christian Brabandt) -Files: src/misc2.c, src/testdir/test89.in, src/testdir/test89.ok - -Patch 7.3.1298 (after 7.3.1297) -Problem: Crash. -Solution: Use STRCPY() instead of STRCAT() and allocate one more byte. -Files: src/misc2.c - -Patch 7.3.1299 -Problem: Errors when doing "make proto". Didn't do "make depend" for a - while. -Solution: Add #ifdefs. Update dependencies. Update proto files. -Files: src/if_python3.c, src/os_win32.c, src/Makefile, - src/proto/ex_docmd.pro, src/proto/if_python.pro, - src/proto/if_python3.pro, src/proto/gui_w16.pro, - src/proto/gui_w32.pro, src/proto/os_win32.pro - -Patch 7.3.1300 -Problem: Mac: tiny and small build fails. -Solution: Don't include os_macosx.m in tiny build. Include mouse support in - small build. (Kazunobu Kuriyama) -Files: src/configure.in, src/auto/configure, src/vim.h - -Patch 7.3.1301 -Problem: Some tests fail on MS-Windows. -Solution: Fix path separators in test 89 and 96. Omit test 97, escaping - works differently. Make findfile() work on MS-Windows. -Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/test89.in, - src/testdir/test96.in, src/misc2.c - -Patch 7.3.1302 -Problem: Test 17 fails on MS-Windows. Includes line break in file name - everywhere. -Solution: Fix 'fileformat'. Omit CR-LF from a line read from an included - file. -Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok - -Patch 7.3.1303 (after 7.3.1290) -Problem: Undo is synced whenever CTRL-R = is called, breaking some plugins. -Solution: Only break undo when calling setline() or append(). -Files: src/globals.h, src/eval.c, src/edit.c, src/testdir/test61.in, - src/testdir/test61.ok - -Patch 7.3.1304 -Problem: Test 89 still fails on MS-Windows. -Solution: Set 'shellslash'. (Taro Muraoka) -Files: src/testdir/test89.in - -Patch 7.3.1305 -Problem: Warnings from 64 bit compiler. -Solution: Add type casts. -Files: src/misc2.c - -Patch 7.3.1306 -Problem: When redrawing the screen during startup the intro message may be - cleared. -Solution: Redisplay the intro message when appropriate. -Files: src/screen.c, src/version.c, src/proto/version.pro - -Patch 7.3.1307 -Problem: MS-Windows build instructions are outdated. -Solution: Adjust for building on Windows 7. Drop Windows 95/98/ME support. -Files: Makefile, nsis/gvim.nsi - -Patch 7.3.1308 -Problem: Typos in MS-Windows build settings and README. -Solution: Minor changes to MS-Windows files. -Files: src/msvc2008.bat, src/msvc2010.bat, src/VisVim/README_VisVim.txt - -Patch 7.3.1309 -Problem: When a script defines a function the flag to wait for the user to - hit enter is reset. -Solution: Restore the flag. (Yasuhiro Matsumoto) Except when the user was - typing the function. -Files: src/eval.c - -Patch 7.3.1310 -Problem: Typos in nsis script. Can use better compression. -Solution: Fix typos. Use lzma compression. (Ken Takata) -Files: nsis/gvim.nsi - -Patch 7.3.1311 -Problem: Compiler warnings on Cygwin. -Solution: Add type casts. Add windows include files. (Ken Takata) -Files: src/mbyte.c, src/ui.c - -Patch 7.3.1312 (after 7.3.1287) -Problem: Not giving correct error messages for SystemExit(). -Solution: Move E858 into an else. (Ken Takata) -Files: src/if_py_both.h - -Patch 7.3.1313 -Problem: :py and :py3 don't work when compiled with Cygwin or MingW with 64 - bit. -Solution: Add -DMS_WIN64 to the build command. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 7.3.1314 -Problem: Test 87 fails with Python 3.3. -Solution: Filter the error messages. (Taro Muraoka) -Files: src/testdir/test87.in - -Patch 7.4a.001 -Problem: Script to update syntax menu is outdated. -Solution: Add the missing items. -Files: runtime/makemenu.vim - -Patch 7.4a.002 -Problem: Valgrind errors in test 89. (Simon Ruderich) -Solution: Allocate one more byte. (Dominique Pelle) -Files: src/misc2.c - -Patch 7.4a.003 -Problem: Copyright year is outdated. -Solution: Only use the first year. -Files: src/vim.rc, src/vim16.rc - -Patch 7.4a.004 -Problem: MSVC 2012 Update 3 is not recognized. -Solution: Add the version number. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.4a.005 -Problem: Scroll binding causes unexpected scroll. -Solution: Store the topline after updating scroll binding. Add a test. - (Lech Lorens) -Files: src/testdir/test98.in, src/testdir/test98a.in, - src/testdir/test98.ok, src/option.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile - -Patch 7.4a.006 -Problem: Failure in po file check goes unnoticed. -Solution: Fail "make test" if the po file check fails. -Files: src/Makefile - -Patch 7.4a.007 -Problem: After "g$" with 'virtualedit' set, "k" moves to a different - column. (Dimitar Dimitrov) -Solution: Set w_curswant. (Christian Brabandt) -Files: src/normal.c - -Patch 7.4a.008 -Problem: Python 3 doesn't handle multibyte characters properly when - 'encoding' is not utf-8. -Solution: Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken - Takata) -Files: src/if_python3.c - -Patch 7.4a.009 -Problem: Compiler warnings for function prototypes. -Solution: Add "void". Move list_features() prototype. (Ken Takata) -Files: src/gui_w48.c, src/if_py_both.h, src/version.c - -Patch 7.4a.010 -Problem: Test 86 and 87 fail when building with Python or Python 3 and - using a static library. -Solution: Add configure check to add -fPIE compiler flag. -Files: src/configure.in, src/auto/configure - -Patch 7.4a.011 -Problem: Configure check for Python 3 config name isn't right. -Solution: Always include vi_cv_var_python3_version. (Tim Harder) -Files: src/configure.in, src/auto/configure - -Patch 7.4a.012 -Problem: "make test" fails when using a shadow directory. -Solution: Create links for files in src/po. (James McCoy) -Files: src/Makefile - -Patch 7.4a.013 -Problem: Setting/resetting 'lbr' in the main help file changes alignment - after a Tab. (Dimitar Dimitrov) -Solution: Also use the code for conceal mode where n_extra is computed for - 'lbr'. -Files: src/screen.c, src/testdir/test88.in, src/testdir/test88.ok - -Patch 7.4a.014 -Problem: Test 86 and 89 have a problem with using a shadow dir. -Solution: Adjust for the different directory structure. (James McCoy) -Files: src/testdir/test89.in, src/testdir/test86.in, src/Makefile - -Patch 7.4a.015 -Problem: No Japanese man pages. -Solution: Add Japanese translations of man pages. (Ken Takata, Yukihiro - Nakadaira, et al.) -Files: Filelist, src/Makefile, runtime/doc/evim-ja.UTF-8.1, - runtime/doc/vim-ja.UTF-8.1, runtime/doc/vimdiff-ja.UTF-8.1, - runtime/doc/vimtutor-ja.UTF-8.1, runtime/doc/xxd-ja.UTF-8.1 - -Patch 7.4a.016 (after 7.4a.014) -Problem: Features enabled in Makefile. -Solution: Undo accidental changes. -Files: src/Makefile - -Patch 7.4a.017 -Problem: When 'foldmethod' is "indent", using ">>" on a line just above a - fold makes the cursor line folded. (Evan Laforge) -Solution: Call foldOpenCursor(). (Christian Brabandt) -Files: src/ops.c - -Patch 7.4a.018 -Problem: Compiler warning for code unreachable. (Charles Campbell) -Solution: Use "while" instead of endless loop. Change break to continue. -Files: src/regexp_nfa.c, src/ui.c - -Patch 7.4a.019 -Problem: Invalid closing parenthesis in test 62. Command truncated at - double quote. -Solution: Remove the parenthesis. Change double quote to ''. (ZyX) -Files: src/testdir/test62.in, src/testdir/test62.ok - -Patch 7.4a.020 -Problem: Superfluous mb_ptr_adv(). -Solution: Remove the call. (Dominique Pelle) -Files: src/regexp_nfa.c - -Patch 7.4a.021 -Problem: Using feedkeys() doesn't always work. -Solution: Omit feedkeys(). (Ken Takata) -Files: src/testdir/test98a.in - -Patch 7.4a.022 -Problem: Using "d2g$" does not delete the last character. (ZyX) -Solution: Set the "inclusive" flag properly. -Files: src/normal.c - -Patch 7.4a.023 (after 7.4a.019) -Problem: Still another superfluous parenthesis. (ZyX) -Solution: Remove it. -Files: src/testdir/test62.in - -Patch 7.4a.024 -Problem: X11 GUI: Checking icon height twice. -Solution: Check height and width. (Dominique Pelle) -Files: src/gui_x11.c - -Patch 7.4a.025 -Problem: Get the press-Enter prompt even after using :redraw. -Solution: Clear need_wait_return when executing :redraw. -Files: src/ex_docmd.c - -Patch 7.4a.026 -Problem: ":diffoff" does not remove folds. (Ramel) -Solution: Do not restore 'foldenable' when 'foldmethod' is "manual". -Files: src/diff.c - -Patch 7.4a.027 -Problem: When Python adds lines to another buffer the cursor position is - wrong, it might be below the last line causing ml_get errors. - (Vlad Irnov) -Solution: Temporarily change the current window, so that marks are corrected - properly. -Files: src/if_py_both.h, src/window.c, src/proto/buffer.pro - -Patch 7.4a.028 -Problem: Crash when spell checking in new buffer. -Solution: Set the b_p_key field. (Mike Williams) -Files: src/spell.c, src/testdir/test58.in - -Patch 7.4a.029 -Problem: Can't build with MzScheme on Ubuntu 13.04. -Solution: Add configure check for the "ffi" library. -Files: src/configure.in, src/auto/configure - -Patch 7.4a.030 (after 7.4.027) -Problem: Missing find_win_for_buf(). (toothpik) -Solution: Add missing changes. -Files: src/buffer.c - -Patch 7.4a.031 -Problem: Compiler warnings. (Charles Campbell) -Solution: Initialize variables even when not needed. -Files: src/regexp_nfa.c, src/search.c - -Patch 7.4a.032 -Problem: New regexp engine: Does not match shorter alternative. (Ingo - Karkat) -Solution: Do not drop a new state when the PIM info is different. -Files: src/regexp_nfa.c - -Patch 7.4a.033 -Problem: Test 98 always passes. -Solution: Include test98a.in in test98.in, execute the crucial command in - one line. (Yukihiro Nakadaira) -Files: src/testdir/test98.in, src/testdir/test98a.in - -Patch 7.4a.034 -Problem: The tabline may flicker when opening a new tab after 7.3.759 on - Win32. -Solution: Move call to TabCtrl_SetCurSel(). (Ken Takata) -Files: src/gui_w48.c - -Patch 7.4a.035 -Problem: Fix in patch 7.4a.032 is not tested. -Solution: Add test. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4a.036 -Problem: "\p" in a regexp does not match double-width characters. - (Yukihiro Nakadaira) -Solution: Don't count display cells, use vim_isprintc(). -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok, src/testdir/test95.in, - src/testdir/test95.ok - -Patch 7.4a.037 -Problem: Win32: When mouse is hidden and in the toolbar, moving it won't - make it appear. (Sami Salonen) -Solution: Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.4a.038 -Problem: When using MSVC 2012 there are various issues, including GUI size - computations. -Solution: Use SM_CXPADDEDBORDER. (Mike Williams) -Files: src/gui_w32.c, src/gui_w48.c, src/os_win32.h - -Patch 7.4a.039 -Problem: New regexp engine doesn't match pattern. (Ingo Karkat) -Solution: When adding a state also check for different PIM if the list of - states has any state with a PIM. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4a.040 -Problem: Win32: using uninitialized variable. -Solution: (Yukihiro Nakadaira) -Files: src/os_win32.c - -Patch 7.4a.041 -Problem: When using ":new ++ff=unix" and "dos" is first in 'fileformats' - then 'ff' is set to "dos" instead of "unix". (Ingo Karkat) -Solution: Create set_file_options() and invoke it from do_ecmd(). -Files: src/fileio.c, src/proto/fileio.pro, src/ex_cmds.c, - src/testdir/test91.in, src/testdir/test91.ok - -Patch 7.4a.042 -Problem: Crash when BufUnload autocommands close all buffers. (Andrew - Pimlott) -Solution: Set curwin->w_buffer to curbuf to avoid NULL. -Files: src/window.c, src/testdir/test8.in, src/testdir/test8.ok - -Patch 7.4a.043 -Problem: More ml_get errors when adding or deleting lines from Python. - (Vlad Irnov) -Solution: Switch to a window with the buffer when possible. -Files: src/if_py_both.h - -Patch 7.4a.044 -Problem: Test 96 sometimes fails. -Solution: Clear window from b_wininfo in win_free(). (Suggestion by - Yukihiro Nakadaira) -Files: src/window.c - -Patch 7.4a.045 -Problem: Configure does not always find the right library for Lua. Missing - support for LuaJit. -Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki) -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.4a.046 -Problem: Can't build without mbyte feature. -Solution: Add #ifdefs. -Files: src/ex_cmds.c - -Patch 7.4a.047 -Problem: Some comments are not so nice. -Solution: Change the comments. -Files: src/ex_docmd.c, src/message.c, src/ops.c, src/option.c - -Patch 7.4b.001 -Problem: Win32: dialog may extend off-screen. -Solution: Reduce the size, use correct borders. (Andrei Olsen) -Files: src/gui_w32.c - -Patch 7.4b.002 -Problem: Crash searching for \%(\%(\|\d\|-\|\.\)*\|\*\). (Marcin - Szamotulski) Also for \(\)*. -Solution: Do add a state for opening parenthesis, so that we can check if it - was added before at the same position. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4b.003 -Problem: Regexp code is not nicely aligned. -Solution: Adjust white space. (Ken Takata) -Files: src/regexp_nfa.c - -Patch 7.4b.004 -Problem: Regexp crash on pattern "@\%[\w\-]*". (Axel Kielhorn) -Solution: Add \%(\) around \%[] internally. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4b.005 -Problem: Finding %s in shellpipe and shellredir does not ignore %%s. -Solution: Skip over %%. (lcd 47) -Files: src/ex_cmds.c - -Patch 7.4b.006 (after 7.3.1295) -Problem: Using \{n,m} in an autocommand pattern no longer works. - Specifically, mutt temp files are not recognized. (Gary Johnson) -Solution: Make \\\{n,m\} work. -Files: runtime/doc/autocmd.txt, src/fileio.c - -Patch 7.4b.007 -Problem: On 32 bit MS-Windows :perldo does not work. -Solution: Make sure time_t uses 32 bits. (Ken Takata) -Files: src/if_perl.xs, src/vim.h - -Patch 7.4b.008 -Problem: 'autochdir' causes setbufvar() to change the current directory. - (Ben Fritz) -Solution: When disabling autocommands also reset 'acd' temporarily. - (Christian Brabandt) -Files: src/fileio.c - -Patch 7.4b.009 -Problem: When setting the Visual area manually and 'selection' is - exclusive, a yank includes one character too much. (Ingo Karkat) -Solution: Default the Visual operation to "v". (Christian Brabandt) -Files: src/mark.c - -Patch 7.4b.010 -Problem: Win32: Tcl library load does not use standard mechanism. -Solution: Call vimLoadLib() instead of LoadLibraryEx(). (Ken Takata) -Files: src/if_perl.xs, src/if_tcl.c - -Patch 7.4b.011 -Problem: ":he \%(\)" does not work. (ZyX) -Solution: Add an exception to the list. -Files: src/ex_cmds.c - -Patch 7.4b.012 -Problem: Output from a shell command is truncated at a NUL. (lcd 47) -Solution: Change every NUL into an SOH. -Files: src/misc1.c - -Patch 7.4b.013 -Problem: Install dir for JP man pages is wrong. -Solution: Remove ".UTF-8" from the directory name. (Ken Takata) -Files: src/Makefile - -Patch 7.4b.014 (after 7.4b.012) -Problem: Stupid mistake. -Solution: Changle "len" to "i". -Files: src/misc1.c - -Patch 7.4b.015 (after 7.4b.008) -Problem: Can't compile without the 'acd' feature. -Solution: Add #ifdefs. (Kazunobu Kuriyama) -Files: src/fileio.c - -Patch 7.4b.016 -Problem: Ruby detection fails on Fedora 19. -Solution: Use one way to get the Ruby version. (Michael Henry) -Files: src/configure.in, src/auto/configure - -Patch 7.4b.017 -Problem: ":he \^x" gives a strange error message. (glts) -Solution: Do not translate \^x to \_CTRL-x. -Files: src/ex_cmds.c - -Patch 7.4b.018 (after 7.4b.001) -Problem: Win32: Dialog can still be too big. -Solution: Move the check for height further down. (Andrei Olsen) -Files: src/gui_w32.c - -Patch 7.4b.019 (after 7.4a.034) -Problem: Tabline is not updated properly when closing a tab on Win32. -Solution: Only reduce flickering when adding a tab. (Ken Takata) -Files: src/gui_w48.c - -Patch 7.4b.020 -Problem: "g~ap" changes first character of next paragraph. (Manuel Ortega) -Solution: Avoid subtracting (0 - 1) from todo. (Mike Williams) -Files: src/ops.c, src/testdir/test82.in, src/testdir/test82.ok - -Patch 7.4b.021 -Problem: Pressing "u" after an external command results in multiple - press-enter messages. (glts) -Solution: Don't call hit_return_msg() when we have K_IGNORE. (Christian - Brabandt) -Files: src/message.c - -Patch 7.4b.022 -Problem: Not waiting for a character when the tick count overflows. -Solution: Subtract the unsigned numbers and cast to int. (Ken Takata) -Files: src/os_win32.c - - - vim:tw=78:ts=8:ft=help:norl: |