1*version6.txt* For Vim version 7.3. Last change: 2008 Aug 06 2 3 4 VIM REFERENCE MANUAL by Bram Moolenaar 5 6 7Welcome to Vim Version 6.0! A large number of features has been added. This 8file mentions all the new items that have been added, changes to existing 9features and bug fixes compared to Vim 5.x. 10 11See |vi_diff.txt| for an overview of differences between Vi and Vim 6.0. 12See |version4.txt| for differences between Vim 3.0 and Vim 4.0. 13See |version5.txt| for differences between Vim 4.0 and Vim 5.0. 14 15INCOMPATIBLE CHANGES |incompatible-6| 16 17Cursor position in Visual mode |curpos-visual| 18substitute command Vi compatible |substitute-CR| 19global option values introduced |new-global-values| 20'fileencoding' changed |fileencoding-changed| 21Digraphs changed |digraphs-changed| 22Filetype detection changed |filetypedetect-changed| 23Unlisted buffers introduced |new-unlisted-buffers| 24CTRL-U in Command-line mode changed |CTRL-U-changed| 25Ctags gone |ctags-gone| 26Documentation reorganized |documentation-6| 27Modeless selection and clipboard |modeless-and-clipboard| 28Small incompatibilities |incomp-small-6| 29 30NEW FEATURES |new-6| 31 32Folding |new-folding| 33Vertically split windows |new-vertsplit| 34Diff mode |new-diff-mode| 35Easy Vim: click-and-type |new-evim| 36User manual |new-user-manual| 37Flexible indenting |new-indent-flex| 38Extended search patterns |new-searchpat| 39UTF-8 support |new-utf-8| 40Multi-language support |new-multi-lang| 41Plugin support |new-plugins| 42Filetype plugins |new-filetype-plugins| 43File browser |new-file-browser| 44Editing files over a network |new-network-files| 45Window for command-line editing |new-cmdwin| 46Debugging mode |new-debug-mode| 47Cursor in virtual position |new-virtedit| 48Debugger interface |new-debug-itf| 49Communication between Vims |new-vim-server| 50Buffer type options |new-buftype| 51Printing |new-printing| 52Ports |ports-6| 53Quickfix extended |quickfix-6| 54Operator modifiers |new-operator-mod| 55Search Path |new-search-path| 56Writing files improved |new-file-writing| 57Argument list |new-argument-list| 58Restore a View |new-View| 59Color schemes |new-color-schemes| 60Various new items |new-items-6| 61 62IMPROVEMENTS |improvements-6| 63 64COMPILE TIME CHANGES |compile-changes-6| 65 66BUG FIXES |bug-fixes-6| 67 68VERSION 6.1 |version-6.1| 69Changed |changed-6.1| 70Added |added-6.1| 71Fixed |fixed-6.1| 72 73VERSION 6.2 |version-6.2| 74Changed |changed-6.2| 75Added |added-6.2| 76Fixed |fixed-6.2| 77 78VERSION 6.3 |version-6.3| 79Changed |changed-6.3| 80Added |added-6.3| 81Fixed |fixed-6.3| 82 83VERSION 6.4 |version-6.4| 84Changed |changed-6.4| 85Added |added-6.4| 86Fixed |fixed-6.4| 87 88============================================================================== 89INCOMPATIBLE CHANGES *incompatible-6* 90 91These changes are incompatible with previous releases. Check this list if you 92run into a problem when upgrading from Vim 5.x to 6.0 93 94 95Cursor position in Visual mode *curpos-visual* 96------------------------------ 97 98When going from one window to another window on the same buffer while in 99Visual mode, the cursor position of the other window is adjusted to keep the 100same Visual area. This can be used to set the start of the Visual area in one 101window and the end in another. In vim 5.x the cursor position of the other 102window would be used, which could be anywhere and was not very useful. 103 104 105Substitute command Vi compatible *substitute-CR* 106-------------------------------- 107 108The substitute string (the "to" part of the substitute command) has been made 109Vi compatible. Previously a CTRL-V had a special meaning and could be used to 110prevent a <CR> to insert a line break. This made it impossible to insert a 111CTRL-V before a line break. Now a backslash is used to prevent a <CR> to 112cause a line break. Since the number of backslashes is halved, it is still 113possible to insert a line break at the end of the line. This now works just 114like Vi, but it's not compatible with Vim versions before 6.0. 115 116When a ":s" command doesn't make any substitutions, it no longer sets the '[ 117and '] marks. This is not related to Vi, since it doesn't have these marks. 118 119 120Global option values introduced *new-global-values* 121------------------------------- 122 123There are now global values for options which are local to a buffer or window. 124Previously the local options were copied from one buffer to another. When 125editing another file this could cause option values from a modeline to be used 126for the wrong file. Now the global values are used when entering a buffer 127that has not been used before. Also, when editing another buffer in a window, 128the local window options are reset to their global values. The ":set" command 129sets both the local and global values, this is still compatible. But a 130modeline only sets the local value, this is not backwards compatible. 131 132":let &opt = val" now sets the local and global values, like ":set". New 133commands have been added to set the global or local value: 134 :let &opt = val like ":set" 135 :let &g:opt = val like ":setglobal" 136 :let &l:opt = val like ":setlocal" 137 138 139'fileencoding' changed *fileencoding-changed* 140---------------------- 141 142'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim. 143This was a bit strange, because it was local to a buffer and worked for all 144buffers. It could never be different between buffers, because it changed the 145way text in all buffers was interpreted. 146It is now used for the encoding of the file related to the buffer. If you 147still set 'fileencoding' it is likely to be overwritten by the detected 148encoding from 'fileencodings', thus it is "mostly harmless". 149The old FileEncoding autocommand now does the same as the new EncodingChanged 150event. 151 152 153Digraphs changed *digraphs-changed* 154---------------- 155 156The default digraphs now correspond to RFC1345. This is very different from 157what was used in Vim 5.x. |digraphs| 158 159 160Filetype detection changed *filetypedetect-changed* 161-------------------------- 162 163The filetype detection previously was using the "filetype" autocommand group. 164This caused confusion with the FileType event name (case is ignored). The 165group is now called "filetypedetect". It still works, but if the "filetype" 166group is used the autocommands will not be removed by ":filetype off". 167 The support for 'runtimepath' has made the "myfiletypefile" and 168"mysyntaxfile" mechanism obsolete. They are still used for backwards 169compatibility. 170 171The connection between the FileType event and setting the 'syntax' option was 172previously in the "syntax" autocommand group. That caused confusion with the 173Syntax event name. The group is now called "syntaxset". 174 175The distributed syntax files no longer contain "syntax clear". That makes it 176possible to include one in the other without tricks. The syntax is now 177cleared when the 'syntax' option is set (by an autocommand added from 178synload.vim). This makes the syntax cleared when the value of 'syntax' does 179not correspond to a syntax file. Previously the existing highlighting was 180kept. 181 182 183Unlisted buffers introduced *new-unlisted-buffers* 184--------------------------- 185 186There is now a difference between buffers which don't appear in the buffer 187list and buffers which are really not in the buffer list. Commands like 188":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the 189buffer list. |unlisted-buffer| 190The 'buflisted' option can be used to make a buffer appear in the buffer list 191or not. 192 193Several commands that previously added a buffer to the buffer list now create 194an unlisted buffer. This means that a ":bnext" and ":ball" will not find these 195files until they have actually been edited. For example, buffers used for the 196alternative file by ":write file" and ":read file". 197 Other commands previously completely deleted a buffer and now only remove 198the buffer from the buffer list. Commands relying on a buffer not to be 199present might fail. For example, a ":bdelete" command in an autocommand that 200relied on something following to fail (was used in the automatic tests). 201|:bwipeout| can be used for the old meaning of ":bdelete". 202 203The BufDelete autocommand event is now triggered when a buffer is removed from 204the buffer list. The BufCreate event is only triggered when a buffer is 205created that is added to the buffer list, or when an existing buffer is added 206to the buffer list. BufAdd is a new name for BufCreate. 207The new BufNew event is for creating any buffer and BufWipeout for really 208deleting a buffer. 209 210When doing Insert mode completion, only buffers in the buffer list are 211scanned. Added the 'U' flag to 'complete' to do completion from unlisted 212buffers. 213 214Unlisted buffers are not stored in a viminfo file. 215 216 217CTRL-U in Command-line mode changed *CTRL-U-changed* 218----------------------------------- 219 220Using CTRL-U when editing the command line cleared the whole line. Most 221shells only delete the characters before the cursor. Made it work like that. 222(Steve Wall) 223 224You can get the old behavior with CTRL-E CTRL-U: > 225 :cnoremap <C-U> <C-E><C-U> 226 227 228Ctags gone *ctags-gone* 229---------- 230 231Ctags is no longer part of the Vim distribution. It's now a grown-up program 232by itself, it deserves to be distributed separately. 233Ctags can be found here: http://ctags.sf.net/. 234 235 236Documentation reorganized *documentation-6* 237------------------------- 238 239The documentation has been reorganized, an item may not be where you found it 240in Vim 5.x. 241- The user manual was added, some items have been moved to it from the 242 reference manual. 243- The quick reference is now in a separate file (so that it can be printed). 244 245The examples in the documentation were previously marked with a ">" in the 246first column. This made it difficult to copy/paste them. There is now a 247single ">" before the example and it ends at a "<" or a non-blank in the first 248column. This also looks better without highlighting. 249 250'helpfile' is no longer used to find the help tags file. This allows a user 251to add its own help files (e.g., for plugins). 252 253 254Modeless selection and clipboard *modeless-and-clipboard* 255-------------------------------- 256 257The modeless selection is used to select text when Visual mode can't be used, 258for example when editing the command line or at the more prompt. 259In Vim 5.x the modeless selection was always used. On MS-Windows this caused 260the clipboard to be overwritten, with no way to avoid that. The modeless 261selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and 262"autoselectml" in 'clipboard'. By default there is no automatic copy on 263MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection. 264 265To get the old behavior back, do this: > 266 267 :set clipboard^=autoselectml guioptions+=A 268 269 270Small incompatibilities *incomp-small-6* 271----------------------- 272 273'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg', 274'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg', 275'viminfo' and 'runtimepath' can no longer be set from a modeline, for better 276security. 277 278Removed '_' from the 'breakat' default: It's commonly used in keywords. 279 280The default for 'mousehide' is on, because this works well for most people. 281 282The Amiga binary is now always compiled with "big" features. The "big" binary 283archive no longer exists. 284 285The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in 286'statusline' no longer have a leading space. 287 288Non-Unix systems: When expanding wildcards for the Vim arguments, don't use 289'suffixes'. It now works as if the shell had expanded the arguments. 290 291The 'lisp', 'smartindent' and 'cindent' options are not switched off when 292'paste' is set. The auto-indenting is disabled when 'paste' is set, but 293manual indenting with "=" still works. 294 295When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there 296is no change in indent, this is not counted as a change ('modified' isn't set 297and there is nothing to undo). 298 299Report 'modified' as changed when 'fileencoding' or 'fileformat' was set. 300Thus it reflects the possibility to abandon the buffer without losing changes. 301 302The "Save As" menu entry now edits the saved file. Most people expect it to 303work like this. 304 305A buffer for a directory is no longer added to the Buffers menu. 306 307Renamed <Return> to <Enter>, since that's what it's called on most keyboards. 308Thus it's now the hit-enter prompt instead of the hit-return prompt. 309Can map <Enter> just like <CR> or <Return>. 310 311The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't 312set. Most people will want to use it, including beginners, but it required 313setting the option, which isn't that easy. 314 315After using ":colder" the newer error lists are overwritten. This makes it 316possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99" 317to get the old behavior. 318 319The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and 320sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to 321match case. 322 323The 16 bit MS-DOS version is now compiled without the +listcmds feature 324(buffer list manipulation commands). They are not often needed and this 325executable needs to be smaller. 326 327'sessionoptions' now includes "curdir" by default. This means that restoring 328a session will result in the current directory being restored, instead of 329going to the directory where the session file is located. 330 331A session deleted all buffers, deleting all marks. Now keep the buffer list, 332it shouldn't hurt for some existing buffers to remain present. 333When the argument list is empty ":argdel *" caused an error message. 334 335No longer put the search pattern from a tag jump in the history. 336 337Use "SpecialKey" highlighting for unprintable characters instead of "NonText". 338The idea is that unprintable text or any text that's displayed differently 339from the characters in the file is using "SpecialKey", and "NonText" is used 340for text that doesn't really exist in the file. 341 342Motif now uses the system default colors for the menu and scrollbar. Used to 343be grey. It's still possible to set the colors with ":highlight" commands and 344resources. 345 346Formatting text with "gq" breaks a paragraph at a non-empty blank line. 347Previously the line would be removed, which wasn't very useful. 348 349":normal" does no longer hang when the argument ends in half a command. 350Previously Vim would wait for more characters to be typed, without updating 351the screen. Now it pretends an <Esc> was typed. 352 353Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in 354the "bitmaps" directories in 'runtimepath'. 355 356Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal 357mode menus. This generally works better and allows using the "Copy" menu to 358produce CTRL-Y to copy the modeless selection. 359 360Moved the font selection from the Window to the Edit menu, together with the 361other settings. 362 363The default values for 'isfname' include more characters to make "gf" work 364better. 365 366Changed the license for the documentation to the Open Publication License. 367This seemed fair, considering the inclusion of parts of the Vim book, which is 368also published under the OPL. The downside is that we can't force someone who 369would sell copies of the manual to contribute to Uganda. 370 371After "ayy don't let ""yy or :let @" = val overwrite the "a register. 372Use the unnamed register instead. 373 374MSDOS: A pattern "*.*" previously also matched a file name without a dot. 375This was inconsistent with other versions. 376 377In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously 378it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N, 379which is supposed to take us to Normal mode (especially in ":amenu"). 380 381Allow using ":" commands after an operator. Could be used to implement a new 382movement command. Thus it no longer aborts a pending operator. 383 384For the Amiga the "-d {device}" argument was possible. When compiled with the 385diff feature, this no longer works. Use "-dev {device}" instead. |-dev| 386 387Made the default mappings for <S-Insert> in Insert mode insert the text 388literally, avoids that special characters like BS cause side effects. 389 390Using ":confirm" applied to the rest of the line. Now it applies only to the 391command right after it. Thus ":confirm if x | edit | endif" no longer works, 392use ":if x | confirm edit | endif". This was the original intention, that it 393worked differently was a bug. 394 395============================================================================== 396NEW FEATURES *new-6* 397 398Folding *new-folding* 399------- 400 401Vim can now display a buffer with text folded. This allows overviewing the 402structure of a file quickly. It is also possible to yank, delete and put 403folded text, for example to move a function to another position. 404 405There is a whole bunch of new commands and options related to folding. 406See |folding|. 407 408 409Vertically split windows *new-vertsplit* 410------------------------ 411 412Windows can also be split vertically. This makes it possible to have windows 413side by side. One nice use for this is to compare two similar files (see 414|new-diff-mode|). The 'scrollbind' option can be used to synchronize 415scrolling. 416 417A vertical split can be created with the commands: 418 :vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit| 419 :vnew |:vnew| 420 :vertical {cmd} |:vertical| 421The last one is a modifier, which has a meaning for any command that splits a 422window. For example: > 423 :vertical stag main 424Will vertically split the window and jump to the tag "main" in the new window. 425 426Moving from window to window horizontally can be done with the |CTRL-W_h| and 427|CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed 428to jump to the window above or below the cursor position. 429 430The vertical and horizontal splits can be mixed as you like. Resizing windows 431is easy when using the mouse, just position the pointer on a status line or 432vertical separator and drag it. In the GUI a special mouse pointer shape 433indicates where you can drag a status or separator line. 434 435To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands. 436To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|. 437 438To force a new window to use the full width or height of the Vim window, 439these two modifiers are available: 440 :topleft {cmd} New window appears at the top with full 441 width or at the left with full height. 442 :botright {cmd} New window appears at the bottom with full 443 width or at the right with full height. 444This can be combined with ":vertical" to force a vertical split: > 445 :vert bot dsplit DEBUG 446This will open a window at the far right, occupying the full height of the Vim 447window, with the cursor on the first definition of "DEBUG". 448The help window is opened at the top, like ":topleft" was used, if the current 449window is fewer than 80 characters wide. 450 451A few options can be used to set the preferences for vertically split windows. 452They work similar to their existing horizontal equivalents: 453 horizontal vertical ~ 454 'splitbelow' 'splitright' 455 'winheight' 'winwidth' 456 'winminheight' 'winminwidth' 457It's possible to set 'winminwidth' to zero, so that temporarily unused windows 458hardly take up space without closing them. 459 460The new 'eadirection' option tells where 'equalalways' applies: 461 :set eadirection=both both directions 462 :set eadirection=ver equalize window heights 463 :set eadirection=hor equalize windows widths 464This can be used to avoid changing window sizes when you want to keep them. 465 466Since windows can become quite narrow with vertical splits, text lines will 467often not fit. The 'sidescrolloff' has been added to keep some context left 468and right of the cursor. The 'listchars' option has been extended with the 469"precedes" item, to show a "<" for example, when there is text left off the 470screen. (Utz-Uwe Haus) 471 472"-O" command line argument: Like "-o" but split windows vertically. (Scott 473Urban) 474 475Added commands to move the current window to the very top (CTRL-W K), bottom 476(CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the 477window uses the full width/height of the screen. 478 479When there is not enough room in the status line for both the file name and 480the ruler, use up to half the width for the ruler. Useful for narrow windows. 481 482 483Diff mode *new-diff-mode* 484--------- 485 486In diff mode Vim shows the differences between two, three or four files. 487Folding is used to hide the parts of the file that are equal. 488Highlighting is used to show deleted and changed lines. 489See |diff-mode|. 490 491An easy way to start in diff mode is to start Vim as "vimdiff file1 file2". 492Added the vimdiff manpage. 493 494In a running Vim the |:diffsplit| command starts diff mode for the current 495file and another file. The |:diffpatch| command starts diff mode using the 496current file and a patch file. The |:diffthis| command starts diff mode for 497the current window. 498 499Differences can be removed with the |:diffget| and |:diffput| commands. 500 501- The 'diff' option switches diff mode on in a window. 502- The |:diffupdate| command refreshes the diffs. 503- The 'diffopt' option changes how diffs are displayed. 504- The 'diffexpr' option can be set how a diff is to be created. 505- The 'patchexpr' option can be set how patch is applied to a file. 506- Added the "diff" folding method. When opening a window for diff-mode, set 507 'foldlevel' to zero and 'foldenable' on, to close the folds. 508- Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to 509 specify the highlighting for differences. The defaults are ugly... 510- Unix: make a vimdiff symbolic link for "make install". 511- Removed the now obsolete "vimdiff.vim" script from the distribution. 512- Added the "[c" and "]c" commands to move to the next/previous change in diff 513 mode. 514 515 516Easy Vim: click-and-type *new-evim* 517------------------------ 518 519eVim stands for "Easy Vim". This is a separate program, but can also be 520started as "vim -y". 521 522This starts Vim with 'insertmode' set to allow click-and-type editing. The 523$VIMRUNTIME/evim.vim script is used to add mappings and set options to be able 524to do most things like Notepad. This is only for people who can't stand two 525modes. 526 527eView does the same but in readonly mode. 528 529In the GUI a CTRL-C now only interrupts when busy with something, not when 530waiting for a character. Allows using CTRL-C to copy text to the clipboard. 531 532 533User manual *new-user-manual* 534----------- 535 536The user manual has been added. It is organised around editing tasks. It 537reads like a book, from start to end. It should allow beginners to start 538learning Vim. It helps everybody to learn using the most useful Vim features. 539It is much easier to read than the reference manual, but omits details. See 540|user-manual|. 541 542The user manual includes parts of the Vim book by Steve Oualline |frombook|. 543It is published under the OPL |manual-copyright|. 544 545When syntax highlighting is not enabled, the characters in the help file which 546mark examples ('>' and '<') and header lines ('~') are replaced with a space. 547 548When closing the help window, the window layout is restored from before 549opening it, if the window layout didn't change since then. 550When opening the help window, put it at the top of the Vim window if the 551current window is fewer than 80 characters and not full width. 552 553 554Flexible indenting *new-indent-flex* 555------------------ 556 557Automatic indenting is now possible for any language. It works with a Vim 558script, which makes it very flexible to compute the indent. 559 560The ":filetype indent on" command enables using the provided indent scripts. 561This is explained in the user manual: |30.3|. 562 563The 'indentexpr' option is evaluated to get the indent for a line. The 564'indentkeys' option tells when to trigger re-indenting. Normally these 565options are set from an indent script. Like Syntax files, indent scripts will 566be created and maintained by many people. 567 568 569Extended search patterns *new-searchpat* 570------------------------ 571 572Added the possibility to match more than one line with a pattern. (partly by 573Loic Grenie) 574New items in a search pattern for multi-line matches: 575\n match end-of-line, also in [] 576\_[] match characters in range and end-of-line 577\_x match character class and end-of-line 578\_. match any character or end-of-line 579\_^ match start-of-line, can be used anywhere in the regexp 580\_$ match end-of-line, can be used anywhere in the regexp 581 582Various other new items in search patterns: 583\c ignore case for the whole pattern 584\C match case for the whole pattern 585\m magic on for the following 586\M magic off for the following 587\v make following characters "very magic" 588\V make following characters "very nomagic" 589 590\@! don't match atom before this. 591 Example: "foo\(bar\)\@!" matches "foo " but not "foobar". 592\@= match atom, resulting in zero-width match 593 Example: "foo\(bar\)\@=" matches "foo" in "foobar". 594\@<! don't match preceding atom before the current position 595\@<= match preceding atom before the current position 596\@> match preceding atom as a subexpression 597 598\& match only when branch before and after it match 599 600\%[] optionally match a list of atoms; "end\%[if]" matches "end", 601 "endi" and "endif" 602\%(\) like \(\), but without creating a back-reference; there can be 603 any number of these, overcomes the limit of nine \( \) pairs 604\%^ match start-of-file (Chase Tingley) 605\%$ match end-of-file (Chase Tingley) 606\%# Match with the cursor position. (Chase Tingley) 607\? Just like "\=" but can't be used in a "?" command. 608 609\%23l match in line 23 610\%<23l match before line 23 611\%>23l match after line 23 612\%23c, \%<23c, \%>23c match in/before/after column 23 613\%23v, \%<23v, \%>23v match in/before/after virtual column 23 614 615 616For syntax items: 617\z(...\) external reference match set (in region start pattern) 618\z1 - \z9 external reference match use (in region skip or end pattern) 619 (Scott Bigham) 620 621\zs use position as start of match 622\ze use position as end of match 623 624Removed limit of matching only up to 32767 times with *, \+, etc. 625 626Added support to match multi-byte characters. (partly by Muraoka Taro) 627Made "\<" and "\>" work for UTF-8. (Muraoka Taro) 628 629 630UTF-8 support *new-utf-8* 631------------- 632 633Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be 634used, but only 16 bit characters are displayed. Up to two combining 635characters are supported, they overprint the preceding character. 636Double-wide characters are also supported. See |UTF-8|. 637 638UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to 639UTF-8 internally. There is also support for editing Unicode files in a Latin1 640environment. Other encodings are converted with iconv() or an external 641converter specified with 'charconvert'. 642 643Many new items for Multi-byte support: 644- Added 'encoding' option: specifies character encoding used inside Vim. It 645 can be any 8-bit encoding, some double-byte encodings or Unicode. 646 It is initialized from the environment when a supported value is found. 647- Added 'fileencoding' and 'fileencodings': specify character coding in a 648 file, similar to 'fileformat' and 'fileformats'. 649 When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will 650 automatically switch to latin1 if a file does not contain valid UTF-8. 651- Added 'bomb' option and detection of a BOM at the start of a file. Can be 652 used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode 653 file if it starts with a BOM. Especially useful on MS-Windows (NT and 654 2000), which uses ucs-2le files with a BOM (e.g., when exporting the 655 registry). 656- Added the 'termencoding' option: Specifies the encoding used for the 657 terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: > 658 :let &termencoding = &encoding 659 :set encoding=utf-8 660- When 'viminfo' contains the 'c' flag, the viminfo file is converted from the 661 'encoding' it was written with to the current 'encoding'. 662- Added ":scriptencoding" command: convert lines in a sourced script to 663 'encoding'. Useful for menu files. 664- Added 'guifontwide' to specify a font for double-wide characters. 665- Added Korean support for character class detection. Also fix cls() in 666 search.c. (Chong-Dae Park) 667- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev) 668- Win32 with Mingw: compile with iconv library. (Ron Aaron) 669- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro) 670- Make it possible to build a version with multi-byte and iconv support with 671 Borland 5.5. (Yasuhiro Matsumoto) 672- Added 'delcombine' option: Delete combining character separately. (Ron 673 Aaron) 674- The "xfontset" feature isn't required for "xim". These are now two 675 independent features. 676- XIM: enable XIM when typing a language character (Insert mode, Search 677 pattern, "f" or "r" command). Disable XIM when typing a Normal mode 678 command. 679- When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun) 680- Support "CursorIM" for XIM. (Nam SungHyun) 681- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at 682 each multibyte character, not only at a space. 683- Made ":syntax keyword" work with multi-byte characters. 684- Added support for Unicode upper/lowercase flipping and comparing. (based on 685 patch by Raphael Finkel) 686 Let "~" on multi-byte characters that have a third case ("title case") 687 switch between the three cases. (Raphael Finkel) 688 689Allow defining digraphs for multi-byte characters. 690Added RFC1345 digraphs for Unicode. 691Most Normal mode commands that accept a character argument, like "r", "t" and 692"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain 693Vi compatible. 694 695Added Language mapping and 'keymap' to be able to type multi-byte characters: 696- Added the ":lmap" command and friends: Define mappings that are used when 697 typing characters in the language of the text. Also for "r", "t", etc. In 698 Insert and Command-line mode CTRL-^ switches the use of the mappings on/off. 699 CTRL-^ also toggles the use of an input method when no language mappings are 700 present. Allows switching the IM back on halfway typing. 701- "<char-123>" argument to ":map", allows to specify the decimal, octal or 702 hexadecimal value of a character. 703- Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to 704 define mappings for the keymap. The new ":loadkeymap" command is used in 705 the keymap file. 706- Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when 707 it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are 708 active. Show this text in the default statusline too. 709- Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings 710 and Input Method with an option. (Muraoka Taro) 711 Added 'imcmdline' option: When set the input method is always enabled when 712 starting to edit a command line. Useful for a XIM that uses dead keys to 713 type accented characters. 714 Added 'imactivatekey' option to better control XIM. (Muraoka Taro) 715- When typing a mapping that's not finished yet, display the last character 716 under the cursor in Insert mode and Command-line mode. Looks good for dead 717 characters. 718- Made the 'langmap' option recognize multi-byte characters. But mapping only 719 works for 8-bit characters. Helps when using UTF-8. 720- Use a different cursor for when ":lmap" mappings are active. Can specify 721 two highlight groups for an item in 'guicursor'. By default "lCursor" and 722 "Cursor" are equal, the user must set a color he likes. 723 Use the cursor color for hangul input as well. (Sung-Hyun Nam) 724- Show "(lang)" for 'showmode' when language mapping is enabled. 725- UTF-8: Made "r" work with a ":lmap" that includes a composing character. 726 Also works for "f", which now works to find a character that includes a 727 composing character. 728 729Other multi-byte character additions: 730- Support double-byte single-width characters for euc-jp: Characters starting 731 with 0x8E. Added ScreenLines2[] to store the second byte. 732 733 734Multi-language support *new-multi-lang* 735---------------------- 736 737The messages used in Vim can be translated. Several translations are 738available. This uses the gettext mechanism. It allows adding a translation 739without recompiling Vim. |multi-lang| (partly by Marcin Dalecki) 740 741The translation files are in the src/po directory. The src/po/README.txt file 742explains a few things about doing a translation. 743 744Menu translations are available as well. This uses the new |:menutranslate| 745command. The translations are found in the runtime directory "lang". This 746allows a user to add a translation. 747 748Added |:language| command to set the language (locale) for messages, time and 749character type. This allows switching languages in Vim without changing the 750locale outside of Vim. 751 752Made it possible to have vimtutor use different languages. (Eduardo Fernandez) 753Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro 754Matsumoto) and French (Adrien Beau) translations are included. 755Added "vimtutor.bat": script to start Vim on a copy of the tutor file for 756MS-Windows. (Dan Sharp) 757 758- Added v:lang variable to be able to get current language setting. 759 (Marcin Dalecki) Also v:lc_time and v:ctype. 760- Make it possible to translate the dialogs used by the menus. Uses global 761 "menutrans_" variables. ":menutrans clear" deletes them. 762- removed "broken locale" (Marcin Dalecki). 763- Don't use color names in icons, use RGB values. The names could be 764 translated. 765- Win32: Added global IME support (Muraoka) 766- Win32: Added dynamic loading of IME support. 767- ":messages" prints a message about who maintains the messages or the 768 translations. Useful to find out where to make a remark about a wrong 769 translation. 770- --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun 771 Nam) 772- Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez) 773- When available, call bind_textdomain_codeset() to have gettext() translate 774 messages to 'encoding'. This requires GNU gettext 0.10.36 or later. 775- Added gettext support for Win32. This means messages will be translated 776 when the locale is set and libintl.dll can be found. (Muraoka Taro) 777 Also made it work with MingW compiler. (Eduardo Fernandez) 778 Detect the language and set $LANG to get the appropriate translated messages 779 (if supported). Also use $LANG to select a language, v:lang is a very 780 different kind of name. 781- Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto) 782 783 784Plugin support *new-plugins* 785-------------- 786 787To make it really easy to load a Vim script when starting Vim, the "plugin" 788runtime directory can be used. All "*.vim" files in it will be automatically 789loaded. For Unix, the directory "~/.vim/plugin" is used by default. The 790'runtimepath' option can be set to look in other directories for plugins. 791|load-plugins| |add-plugin| 792 793The |:runtime| command has been added to load one or more files in 794'runtimepath'. 795 796Standard plugins: 797netrw.vim - Edit files over a network |new-network-files| 798gzip.vim - Edit compressed files 799explorer.vim - Browse directories |new-file-browser| 800 801Added support for local help files. |add-local-help|. 802When searching for help tags, all "doc/tags" files in 'runtimepath' are used. 803Added the ":helptags" command: Generate a tags file for a help directory. 804The first line of each help file is automagically added to the "LOCAL 805ADDITIONS" section in doc/help.txt. 806 807Added the <unique> argument to ":map": only add a mapping when it wasn't 808defined before. 809 810When displaying an option value with 'verbose' set will give a message about 811where the option was last set. Very useful to find out which script did set 812the value. 813 814The new |:scriptnames| command displays a list of all scripts that have been 815sourced. 816 817GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps" 818directories in 'runtimepath'. Allows adding your own bitmaps. 819 820 821Filetype plugins *new-filetype-plugins* 822----------------- 823 824A new group of files has been added to do settings for specific file types. 825These can be options and mappings which are specifically used for one value of 826'filetype'. 827 828The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option 829makes it possible to use several sets of plugins: Your own, system-wide, 830included in the Vim distribution, etc. 831 832To be able to make this work, several features were added: 833- Added the "s:" variables, local to a script. Avoids name conflicts with 834 global variables. They can be used in the script and in functions, 835 autocommands and user commands defined in the script. They are kept between 836 invocations of the same script. |s:var| 837- Added the global value for local options. This value is used when opening 838 a new buffer or editing another file. The option value specified in a 839 modeline or filetype setting is not carried over to another buffer. 840 ":set" sets both the local and the global value. 841 ":setlocal" sets the local option value only. 842 ":setglobal" sets or displays the global value for a local option. 843 ":setlocal name<" sets a local option to its global value. 844- Added the buffer-local value for some global options: 'equalprg', 'makeprg', 845 'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags', 846 'include' and 'define'. This allows setting a local value for these global 847 options, without making it incompatible. 848- Added mappings and abbreviations local to a buffer: ":map <buffer>". 849- In a mapping "<Leader>" can be used to get the value of the "mapleader" 850 variable. This simplifies mappings that use "mapleader". "<Leader>" 851 defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This 852 is to be used for mappings local to a buffer. 853- Added <SID> Script ID to define functions and mappings local to a script. 854- Added <script> argument to ":noremap" and ":noremenu": Only remap 855 script-local mappings. Avoids that mappings from other scripts get in the 856 way, but does allow using mappings defined in the script. 857- User commands can be local to a buffer: ":command -buffer". 858 859The new ":setfiletype" command is used in the filetype detection autocommands, 860to avoid that 'filetype' is set twice. 861 862 863File browser *new-file-browser* 864------------ 865 866When editing a directory, the explorer plugin will list the files in the 867directory. Pressing <Enter> on a file name edits that file. Pressing <Enter> 868on a directory moves the browser to that directory. 869 870There are several other possibilities, such as opening a file in the preview 871window, renaming files and deleting files. 872 873 874Editing files over a network *new-network-files* 875---------------------------- 876 877Files starting with scp://, rcp://, ftp:// and http:// are recognized as 878remote files. An attempt is made to access these files with the indicated 879method. For http:// only reading is possible, for the others writing is also 880supported. Uses the netrw.vim script as a standard "plugin". |netrw| 881 882Made "gf" work on a URL. It no longer assumes the file is local on the 883computer (mostly didn't work anyway, because the full path was required). 884Adjusted test2 for this. 885 886Allow using a URL in 'path'. Makes ":find index.html" work. 887 888GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes 889care of downloading the file. (MiKael Berthe) 890 891 892Window for command-line editing *new-cmdwin* 893------------------------------- 894 895The Command-line window can be used to edit a command-line with Normal and 896Insert mode commands. When it is opened it contains the history. This allows 897copying parts of previous command lines. |cmdwin| 898 899The command-line window can be opened from the command-line with the key 900specified by the 'cedit' option (like Nvi). It can also be opened directly 901from Normal mode with "q:", "q/" and "q?". 902 903The 'cmdwinheight' is used to specify the initial height of the window. 904 905In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like 906it's done on the command-line. This is also useful for writing Vim scripts! 907 908Additionally, there is "improved Ex mode". Entered when Vim is started as 909"exim" or "vim -E", and with the "gQ" command. Works like repeated use of 910":", with full command-line editing and completion. (Ulf Carlsson) 911 912 913Debugging mode *new-debug-mode* 914-------------- 915 916In debugging mode sourced scripts and user functions can be executed line by 917line. There are commands to step over a command or step into it. |debug-mode| 918 919Breakpoints can be set to run until a certain line in a script or user 920function is executed. |:breakadd| 921 922Debugging can be started with ":debug {cmd}" to debug what happens when a 923command executes. The |-D| argument can be used to debug while starting up. 924 925 926Cursor in virtual position *new-virtedit* 927-------------------------- 928 929Added the 'virtualedit' option: Allow positioning the cursor where there is no 930actual character in Insert mode, Visual mode or always. (Matthias Kramm) 931This is especially useful in Visual-block mode. It allows positioning a 932corner of the area where there is no text character. (Many improvements by 933Chase Tingley) 934 935 936Debugger interface *new-debug-itf* 937------------------ 938 939This was originally made to work with Sun Visual Workshop. (Gordon Prieur) 940See |debugger.txt|, |sign.txt| and |workshop.txt|. 941 942Added the ":sign" command to define and place signs. They can be displayed 943with two ASCII characters or an icon. The line after it can be highlighted. 944Useful to display breakpoints and the current PC position. 945 946Added the |:wsverb| command to execute debugger commands. 947 948Added balloon stuff: 'balloondelay' and 'ballooneval' options. 949 950Added "icon=" argument for ":menu". Allows defining a specific icon for a 951ToolBar item. 952 953 954Communication between Vims *new-vim-server* 955-------------------------- 956 957Added communication between two Vims. Makes it possible to send commands from 958one Vim to another. Works for X-Windows and MS-Windows |clientserver|. 959 960Use "--remote" to have files be edited in an already running Vim. 961Use "--remote-wait" to do the same and wait for the editing to finish. 962Use "--remote-send" to send commands from one Vim to another. 963Use "--remote-expr" to have an expression evaluated in another Vim. 964Use "--serverlist" to list the currently available Vim servers. (X only) 965There are also functions to communicate between the server and the client. 966|remote_send()| |remote_expr()| 967 968(X-windows version implemented by Flemming Madsen, MS-Windows version by Paul 969Moore) 970 971Added the command server name to the window title, so you can see which server 972name belongs to which Vim. 973 974Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the 975distribution. Can now use "gvim --remote" and "gvim --remote-send", which is 976portable. 977 978GTK+: Support running Vim inside another window. Uses the --socketid argument 979(Neil Bird) 980 981 982Buffer type options *new-buftype* 983------------------- 984 985The 'buftype' and 'bufhidden' options have been added. They can be set to 986have different kinds of buffers. For example: 987- 'buftype' = "quickfix": buffer with error list 988- 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be 989 deleted as soon as there is no window displaying it. 990 991'bufhidden' can be used to overrule the 'hidden' option for one buffer. 992 993In combination with 'buflisted' and 'swapfile' this offers the possibility to 994use various kinds of special buffers. See |special-buffers|. 995 996 997Printing *new-printing* 998-------- 999 1000Included first implementation of the ":hardcopy" command for printing 1001to paper. For MS-Windows any installed printer can be used. For other 1002systems a PostScript file is generated, which can be printed with the 1003'printexpr' option. 1004(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and 1005Mike Williams) 1006 1007Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro 1008Matsumoto) 1009 1010Added options to tune the way printing works: (Vince Negri) 1011- 'printoptions' defines various things. 1012- 'printheader' specifies the header format. Added "N" field to 'statusline' 1013 for the page number. 1014- 'printfont' specifies the font name and attributes. 1015- 'printdevice' defines the default printer for ":hardcopy!". 1016 1017 1018Ports *ports-6* 1019----- 1020 1021Port to OS/390 Unix (Ralf Schandl) 1022- A lot of changes to handle EBCDIC encoding. 1023- Changed Ctrl('x') to Ctrl_x define. 1024 1025Included jsbmouse support. (Darren Garth) 1026Support for dec mouse in Unix. (Steve Wall) 1027 1028Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri) 1029 1030Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid) 1031 1032Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron) 1033Added Python support for compiling with Mingw. (Ron Aaron) 1034 1035Dos 32 bit: Added support the Windows clipboard. (David Kotchan) 1036 1037Win32: Dynamically load Perl and Python. Allows compiling Vim with these 1038interfaces and will try to find the DLLs at runtime. (Muraoka Taro) 1039 1040Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and 1041uninstall. (Gerfried) 1042 1043Mac: Make Vim compile with the free MPW compiler supplied by Apple. And 1044updates for CodeWarrior. (Axel Kielhorn) 1045 1046Added typecasts and ifdefs as a start to make Vim work on Win64 (George 1047Reilly) 1048 1049 1050Quickfix extended *quickfix-6* 1051----------------- 1052 1053Added the "error window". It contains all the errors of the current error 1054list. Pressing <Enter> in a line makes Vim jump to that line (in another 1055window). This makes it easy to navigate through the error list. 1056|quickfix-window|. 1057 1058- |:copen| opens the quickfix window. 1059- |:cclose| closes the quickfix window. 1060- |:cwindow| takes care that there is a quickfix window only when there are 1061 recognized errors. (Dan Sharp) 1062 1063- Quickfix also knows "info", next to "warning" and "error" types. "%I" can be 1064 used for the start of a multi-line informational message. (Tony Leneis) 1065- The "%p" argument can be used in 'errorformat' to get the column number from 1066 a line where "^" points to the column. (Stefan Roemer) 1067- When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:" 1068 in the filename, even when using "%f:". 1069 1070 1071Operator modifiers *new-operator-mod* 1072------------------ 1073 1074Insert "v", "V" or CTRL-V between an operator and a motion command to force 1075the operator to work characterwise, linewise or blockwise. |o_v| 1076 1077 1078Search Path *new-search-path* 1079----------- 1080 1081Vim can search in a directory tree not only in downwards but also upwards. 1082Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl) 1083 1084Also use "**" for 'tags' option. (Ralf Schandl) 1085 1086Added 'includeexpr', can be used to modify file name found by 'include' 1087option. 1088Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found 1089without modification. Useful for doing "gf" on the name after an include or 1090import statement. 1091 1092Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf) 1093 1094Added the 'suffixesadd' option: Suffixes to be added to a file name when 1095searching for a file for the "gf", "[I", etc. commands. 1096 1097 1098Writing files improved *new-file-writing* 1099---------------------- 1100 1101Added the 'backupcopy' option: Select whether a file is to be copied or 1102renamed to make a backup file. Useful on Unix to speed up writing an ordinary 1103file. Useful on other systems to preserve file attributes and when editing a 1104file on a Unix filesystem. 1105 1106Added the 'autowriteall' option. Works like 'autowrite' but for more 1107commands. 1108 1109Added the 'backupskip' option: A list of file patterns to skip making a backup 1110file when it matches. The default for Unix includes "/tmp/*", this makes 1111"crontab -e" work. 1112 1113Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL 1114is copied from the original file to the new file (or the backup if it's 1115copied). 1116ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren) 1117And on SGI. 1118 1119 1120Argument list *new-argument-list* 1121------------- 1122 1123The support for the argument list has been extended. It can now be 1124manipulated to contain the files you want it to contain. 1125 1126The argument list can now be local to a window. It is created with the 1127|:arglocal| command. The |:argglobal| command can be used to go back to the 1128global argument list. 1129 1130The |:argdo| command executes a command on all files in the argument list. 1131 1132File names can be added to the argument list with |:argadd|. File names can 1133be removed with |:argdelete|. 1134 1135"##" can be used like "#", it is replaced by all the names in the argument 1136list concatenated. Useful for ":grep foo ##". 1137 1138The |:argedit| adds a file to the argument list and edits it. Like ":argadd" 1139and then ":edit". 1140 1141 1142Restore a View *new-View* 1143-------------- 1144 1145The ":mkview" command writes a Vim script with the settings and mappings for 1146one window. When the created file is sourced, the view of the window is 1147restored. It's like ":mksession" for one window. 1148The View also contains the local argument list and manually created, opened 1149and closed folds. 1150 1151Added the ":loadview" command and the 'viewdir' option: Allows for saving and 1152restoring views of a file with simple commands. ":mkview 1" saves view 1 for 1153the current file, ":loadview 1" loads it again. Also allows quickly switching 1154between two views on one file. And saving and restoring manual folds and the 1155folding state. 1156 1157Added 'viewoptions' to specify how ":mkview" works. 1158 1159":mksession" now also works fine with vertical splits. It has been further 1160improved and restores the view of each window. It also works properly with 1161preview and quickfix windows. 1162 1163'sessionoptions' is used for ":mkview" as well. 1164Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what 1165the current directory will be restored to. 1166 1167The session file now also contains the argument list(s). 1168 1169 1170Color schemes *new-color-schemes* 1171------------- 1172 1173Support for loading a color scheme. Added the ":colorscheme" command. 1174Automatically add menu entries for available schemes. 1175Should now properly reset the colors when 'background' or 't_Co' is changed. 1176":highlight clear" sets the default colors again. 1177":syntax reset" sets the syntax highlight colors back to the defaults. 1178For ":set bg&" guess the value. This allows a color scheme to switch back to 1179the default colors. 1180When syntax highlighting is switched on and a color scheme was defined, reload 1181the color scheme to define the colors. 1182 1183 1184Various new items *new-items-6* 1185----------------- 1186 1187Normal mode commands: ~ 1188 1189"gi" Jump to the ^ mark and start Insert mode. Also works when the 1190 mark is just after the line. |gi| 1191 1192"g'm" and "g`m" 1193 Jump to a mark without changing the jumplist. Now you can use 1194 g`" to jump to the last known position in a file without side 1195 effects. Also useful in mappings. 1196 1197[', [`, ]' and ]` 1198 move the cursor to the next/previous lowercase mark. 1199 1200g_ Go to last non-blank in line. (Steve Wall) 1201 1202 1203Options: ~ 1204 1205'autoread' When detected that a file changed outside of Vim, 1206 automatically read a buffer again when it's not changed. 1207 It has a global and a local value. Use ":setlocal autoread<" 1208 to go back to using the global value for 'autoread'. 1209 1210'debug' When set to "msg" it will print error messages that would 1211 otherwise be omitted. Useful for debugging 'indentexpr' and 1212 'foldexpr'. 1213 1214'lispwords' List of words used for lisp indenting. It was previously hard 1215 coded. Added a number of Lisp names to the default. 1216 1217'fold...' Many new options for folding. 1218 1219'modifiable' When off, it is impossible to make changes to a buffer. 1220 The %m and %M items in 'statusline' show a '-'. 1221 1222'previewwindow' Set in the preview window. Used in a session file to mark a 1223 window as the preview window. 1224 1225'printfont' 1226'printexpr' 1227'printheader' 1228'printdevice' 1229'printoptions' for ":hardcopy". 1230 1231'buflisted' Makes a buffer appear in the buffer list or not. 1232 1233Use "vim{version}:" for modelines, only to be executed when the version is 1234>= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}". 1235 1236 1237Ex commands: ~ 1238 1239:sav[eas][!] {file} 1240 Works like ":w file" and ":e #", but without loading the file 1241 again and avoiding other side effects. |:saveas| 1242 1243:silent[!] {cmd} 1244 Execute a command silently. Also don't use a delay that would 1245 come after the message. And don't do 'showmatch'. 1246 RISCOS: Removed that "!~cmd" didn't output anything, and 1247 didn't wait for <Enter> afterwards. Can use ":silent !cmd" 1248 now. 1249:menu <silent> Add a menu that won't echo Ex commands. 1250:map <silent> Add a mapping that won't echo Ex commands. 1251 1252:checktime Check for changed buffers. 1253 1254:verbose {cmd} Set 'verbose' for one command. 1255 1256:echomsg {expr} 1257:echoerr {expr} Like ":echo" but store the message in the history. (Mark 1258 Waggoner) 1259 1260:grepadd Works just like ":grep" but adds to the current error list 1261 instead of defining a new list. |:grepadd| 1262 1263:finish Finish sourcing a file. Can be used to skip the rest of a Vim 1264 script. |:finish| 1265 1266:leftabove 1267:aboveleft Split left/above current window. 1268 1269:rightbelow 1270:belowright Split right/below current window. 1271 1272:first, :bfirst, :ptfirst, etc. 1273 Alias for ":rewind". It's more logical compared to ":last". 1274 1275:enew Edit a new, unnamed buffer. This is needed, because ":edit" 1276 re-edits the same file. (Wall) 1277 1278:quitall Same as ":qall". 1279 1280:match Define match highlighting local to a window. Allows 1281 highlighting an item in the current window without interfering 1282 with syntax highlighting. 1283 1284:menu enable 1285:menu disable Commands to enable/disable menu entries without removing them. 1286 (Monish Shah) 1287 1288:windo Execute a command in all windows. 1289:bufdo Execute a command in all buffers. 1290 1291:wincmd Window (CTRL-W) command. Useful when a Normal mode command 1292 can't be used (e.g., for a CursorHold autocommand). See 1293 |CursorHold-example| for a nice application with it. 1294 1295:lcd and :lchdir 1296 Set local directory for a window. (Benjie Chen) 1297 1298:hide {command} 1299 Execute {command} with 'hidden' set. 1300 1301:emenu in Visual mode to execute a ":vmenu" entry. 1302 1303:popup Pop up a popup menu. 1304 1305:redraw Redraw the screen even when busy with a script or function. 1306 1307:hardcopy Print to paper. 1308 1309:compiler Load a Vim script to do settings for a specific compiler. 1310 1311:z# List numbered lines. (Bohdan Vlasyuk) 1312 1313 1314New marks: ~ 1315 1316'( and ') Begin or end of current sentence. Useful in Ex commands. 1317'{ and '} Begin or end of current paragraph. Useful in Ex commands. 1318'. Position of the last change in the current buffer. 1319'^ Position where Insert mode was stopped. 1320 1321Store the ^ and . marks in the viminfo file. Makes it possible to jump to the 1322last insert position or changed text. 1323 1324 1325New functions: ~ 1326argidx() Current index in argument list. 1327buflisted() Checks if the buffer exists and has 'buflisted' set. 1328cindent() Get indent according to 'cindent'. 1329eventhandler() Returns 1 when inside an event handler and interactive 1330 commands can't be used. 1331executable() Checks if a program or batch script can be executed. 1332filewritable() Checks if a file can be written. (Ron Aaron) 1333foldclosed() Find out if there is a closed fold. (Johannes Zellner). 1334foldcloseend() Find the end of a closed fold. 1335foldlevel() Find out the foldlevel. (Johannes Zellner) 1336foreground() Move the GUI window to the foreground. 1337getchar() Get one character from the user. Can be used to define a 1338 mapping that takes an argument. 1339getcharmod() Get last used key modifier. 1340getbufvar() gets the value of an option or local variable in a buffer (Ron 1341 Aaron) 1342getfsize() Return the size of a file. 1343getwinvar() gets the value of an option or local variable in a window (Ron 1344 Aaron) 1345globpath() Find matching files in a list of directories. 1346hasmapto() Detect if a mapping to a string is already present. 1347iconv() Convert a string from one encoding to another. 1348indent() gets the indent of a line (Ron Aaron) 1349inputdialog() Like input() but use a GUI dialog when possible. Currently 1350 only works for Win32, Motif, Athena and GTK. 1351 Use inputdialog() for the Edit/Settings/Text Width menu. Also 1352 for the Help/Find.. and Toolbar FindHelp items. 1353 (Win32 support by Thore B. Karlsen) 1354 (Win16 support by Vince Negri) 1355inputsecret() Ask the user to type a string without showing the typed keys. 1356 (Charles Campbell) 1357libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall) 1358libcallnr() for Win32 and Unix 1359lispindent() Get indent according to 'lisp'. 1360mode() Return a string that indicates the current mode. 1361nextnonblank() Skip blank lines forwards. 1362prevnonblank() Skip blank lines backwards. Useful to for indent scripts. 1363resolve() MS-Windows: resolve a shortcut to the file it points to. 1364 Unix: resolve a symbolic link. 1365search() Search for a pattern. 1366searchpair() Search for matching pair. Can be used in indent files to find 1367 the "if" matching an endif. 1368setbufvar() sets an option or variable local to a buffer (Ron Aaron) 1369setwinvar() sets an option or variable local to a window (Ron Aaron) 1370stridx() Search for first occurrence of one string in another. 1371strridx() Search for last occurrence of one string in another. 1372tolower() Convert string to all-lowercase. 1373toupper() Convert string to all-uppercase. 1374type() Check the type of an expression. 1375wincol() window column of the cursor 1376winwidth() Width of a window. (Johannes Zellner) 1377winline() window line of the cursor 1378 1379 1380Added expansion of curly braces in variable and function names. This can be 1381used for variable names that include the value of an option. Or a primitive 1382form of arrays. (Vince Negri) 1383 1384 1385New autocommand events: ~ 1386BufWinEnter Triggered when a buffer is displayed in a window, after using 1387 the modelines. Can be used to load a view. 1388BufWinLeave Triggered when a buffer is no longer in a window. Also 1389 triggered when exiting Vim. Can be used to save views. 1390FileChangedRO Triggered before making the first change to a read-only file. 1391 Can be used to check-out the file. (Scott Graham) 1392TermResponse Triggered when the terminal replies to the version-request. 1393 The v:termresponse internal variable holds the result. Can be 1394 used to react to the version of the terminal. (Ronald Schild) 1395FileReadCmd Triggered before reading a file. 1396BufReadCmd Triggered before reading a file into a buffer. 1397FileWriteCmd Triggered before writing a file. 1398BufWriteCmd Triggered before writing a buffer into a file. 1399FileAppendCmd Triggered before appending to a file. 1400FuncUndefined Triggered when a user function is not defined. (Ron Aaron) 1401 1402The autocommands for the *Cmd events read or write the file instead of normal 1403file read/write. Use this in netrw.vim to be able to edit files on a remote 1404system. (Charles Campbell) 1405 1406 1407New Syntax files: ~ 1408 1409bdf BDF font definition (Nikolai Weibull) 1410catalog SGML catalog (Johannes Zellner) 1411debchangelog Debian Changelog (Wichert Akkerman) 1412debcontrol Debian Control (Wichert Akkerman) 1413dot dot (Markus Mottl) 1414dsl DSSSL syntax (Johannes Zellner) 1415eterm Eterm configuration (Nikolai Weibull) 1416indent Indent profile (Nikolai Weibull) 1417lftp LFTP (Nikolai Weibull) 1418lynx Lynx config (Doug Kearns) 1419mush mush sourcecode (Bek Oberin) 1420natural Natural (Marko Leipert) 1421pilrc Pal resource compiler (Brian Schau) 1422plm PL/M (Philippe Coulonges) 1423povini Povray configuration (David Necas) 1424ratpoison Ratpoison config/command (Doug Kearns) 1425readline readline config (Nikolai Weibull) 1426screen Screen RC (Nikolai Weibull) 1427specman Specman (Or Freund) 1428sqlforms SQL*Forms (Austin Ziegler) 1429terminfo terminfo (Nikolai Weibull) 1430tidy Tidy configuration (Doug Kearns) 1431wget Wget configuration (Doug Kearns) 1432 1433 1434Updated many syntax files to work both with Vim 5.7 and 6.0. 1435 1436Interface to Ruby. (Shugo Maeda) 1437Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro) 1438Support this for Mingw too. (Benoit Cerrina) 1439 1440Win32: Added possibility to load TCL dynamically. (Muraoka Taro) 1441Also for Borland 5.5. (Dan Sharp) 1442 1443Win32: When editing a file that is a shortcut (*.lnk file), edit the file it 1444links to. Unless 'binary' is set, then edit the shortcut file itself. 1445(Yasuhiro Matsumoto) 1446 1447The ":command" command now accepts a "-bar" argument. This allows the user 1448command to be followed by "| command". 1449 1450The preview window is now also used by these commands: 1451- |:pedit| edits the specified file in the preview window 1452- |:psearch| searches for a word in included files, like |:ijump|, and 1453 displays the found text in the preview window. 1454Added the CTRL-W P command: go to preview window. 1455 1456MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly 1457for NT systems with multiple users. 1458 1459A double-click of the mouse on a character that has a "%" match selects from 1460that character to the match. Similar to "v%". 1461 1462"-S session.vim" argument: Source a script file when starting up. Convenient 1463way to start Vim with a session file. 1464 1465Added "--cmd {command}" Vim argument to execute a command before a vimrc file 1466is loaded. (Vince Negri) 1467 1468Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow 1469making changes and writing files. 1470 1471Added runtime/delmenu.vim. Source this to remove all menus and prepare for 1472loading new menus. Useful when changing 'langmenu'. 1473 1474Perl script to filter Perl error messages to quickfix usable format. (Joerg 1475Ziefle) 1476 1477Added runtime/macros/less.vim: Vim script to simulate less, but with syntax 1478highlighting. 1479 1480MS-Windows install program: (Jon Merz) 1481- The Win32 program can now create shortcuts on the desktop and install Vim in 1482 the Start menu. 1483- Possibly remove old "Edit with Vim" entries. 1484- The Vim executable is never moved or $PATH changed. A small batch file is 1485 created in a directory in $PATH. Fewer choices to be made. 1486- Detect already installed Vim versions and offer to uninstall them first. 1487 1488Improved the MS-Windows uninstal program. It now also deletes the entries in 1489the Start menu, icons from the desktop and the created batch files. (Jon Merz) 1490Also made it possible to delete only some of these. Also unregister gvim for 1491OLE. 1492 1493Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon 1494Merz et al.) 1495 1496Added ":filetype detect". Try detecting the filetype again. Helps when 1497writing a new shell script, after adding "#!/bin/csh". 1498 1499Added ":augroup! name" to delete an autocommand group. Needed for the 1500client-server "--remote-wait". 1501 1502Add the Vim version number to the viminfo file, useful for debugging. 1503 1504============================================================================== 1505IMPROVEMENTS *improvements-6* 1506 1507Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not 1508put between line numbers from 'number' option. Makes it a lot easier to read 1509wrapped lines. 1510 1511When there is a format error in a tags file, the byte position is reported so 1512that the error can be located. 1513 1514"gf" works in Visual mode: Use the selected text as the file name. (Chase 1515Tingley) 1516 1517Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest 1518matching one is used. Especially useful for ":lmap" and 'keymap'. 1519 1520Encryption: Ask the key to be typed twice when crypting the first time. 1521Otherwise a typo might cause the text to be lost forever. (Chase Tingley) 1522 1523The window title now has "VIM" on the end. The file name comes first, useful 1524in the taskbar. A "+" is added when the file is modified. "=" is added for 1525a read-only file. "-" is added for a file with 'modifiable' off. 1526 1527In Visual mode, mention the size of the selected area in the 'showcmd' 1528position. 1529 1530Added the "b:changedtick" variable. Incremented at each change, also for 1531undo. Can be used to take action only if the buffer has been changed. 1532 1533In the replacement string of a ":s" command "\=" can be used to replace with 1534the result of an expression. From this expression the submatch() function can 1535be used to access submatches. 1536 1537When doing ":qall" and there is a change in a buffer that is being edited in 1538another window, jump to that window, instead of editing that buffer in the 1539current window. 1540 1541Added the "++enc=" and "++ff=" arguments to file read/write commands to force 1542using the given 'encoding' or 'fileformat'. And added the "v:cmdarg" 1543variable, to be used for FileReadCmd autocommands that read/write the file 1544themselves. 1545 1546When reading stdin, first read the text in binary mode and then re-read it 1547with automatic selection of 'fileformat' and 'fileencoding'. This avoids 1548problems with not being able to rewind the file (e.g., when a line near the 1549end of the file ends in LF instead of CR-LF). 1550When reading text from stdin and the buffer is empty, don't mark it changed. 1551Allows exiting without trouble. 1552 1553Added an ID to many error messages. This will make it easier to find help for 1554a message. 1555 1556Insert mode: 1557- "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same 1558 column. Useful for editing a table. 1559- Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri) 1560- Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus 1561 completion. Added the 's' flag in 'complete'. 1562- Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also 1563 scans other loaded buffers for matching lines. 1564- CTRL-R now also works in Insert mode while doing completion with CTRL-X or 1565 CTRL-N. (Neil Bird) 1566- When doing Insert mode completion, when completion is finished check for a 1567 match with words from 'cinkeys' or 'indentkeys'. 1568 1569Performance: 1570- Made display updating more efficient. Insert/delete lines may be used for 1571 all changes, also for undo/redo. 1572- The display is not redrawn when there is typeahead in Insert mode. Speeds 1573 up CTRL-R a lot. 1574- Improved speed of screen output for 32 bit DOS version. (Vince Negri) 1575- When dragging with the mouse, there is a lookahead to skip mouse codes when 1576 there is another one next. Makes dragging with the mouse a lot faster. 1577- Also a memory usage improvement: When calling u_save with a single line, 1578 don't save it if the line was recently saved for the same undo already. 1579- When using a script that appends one character at a time, the amount of 1580 allocated memory was growing steadily. Also when 'undolevels' is -1. 1581 Caused by the line saved for "U" never to be freed. Now free an undo block 1582 when it becomes empty. 1583- GUI and Dos32: Use a vertical scroll region, to make scrolling in a 1584 vertically split window faster. No need to redraw the whole window. 1585- When scrolling isn't possible with terminal codes (e.g., for a vertically 1586 split window) redraw from ScreenLines[]. That should be faster than going 1587 through the lines with win_line(), especially when using syntax 1588 highlighting. 1589- The Syntax menu is now pre-generated by a separate script. Makes loading 1590 the menu 70% faster. This can halve the startup time of gvim. 1591- When doing ":help tag", don't open help.txt first, jump directly to the help 1592 tag. It's faster and avoids an extra message. 1593- Win32: When a file name doesn't end in ".lnk" don't try resolving a 1594 shortcut, it takes quite a bit of time. 1595- Don't update the mouse pointer shape while there are typeahead characters. 1596- Change META[] from a string into an array, avoids using strchr() on it. 1597- Don't clear the command line when adding characters, avoids that screen_fill 1598 is called but doesn't do anything. 1599 1600Robustness: 1601- Unix: Check for running out of stack space when executing a regexp. Avoids 1602 a nasty crash. Only works when the system supports running the signal 1603 function on another stack. 1604- Disallow ":source <dirname>". On unix it's possible to read a directory, 1605 does not make sense to use it as Vim commands. 1606 1607Security: 1608- When reading from or writing to a temporary file, check that it isn't a 1609 symbolic link. Gives some protection against symlink attacks. 1610- When creating a backup file copy or a swap file, check for it already 1611 existing to avoid a symlink attack. (Colin Phipps) 1612- Evaluating options which are an expression is done in a |sandbox|. If the 1613 option was set by a modeline, it cannot cause damage. 1614- Use a secure way to generate temp file names: Create a private directory for 1615 temp files. Used for Unix, MS-DOS and OS/2. 1616- 'makeef' can be empty, which means that an internally generated file name is 1617 used. The old default was "/tmp/file", which is a security risk. 1618 Writing 'makeef' in the current directory fails in a read-only directory and 1619 causes trouble when using ":grep" on all files. Made the default empty for 1620 all systems, so that a temp file is used. 1621- The command from a tags file is executed in the sandbox for better security. 1622- The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They 1623 might do dangerous things. Perl is still possible, but limited to the Safe 1624 environment. (Donnie Smith) 1625 1626Syntax highlighting: 1627- Optimized the speed by caching the state stack all over the file, not just 1628 the part being displayed. Required for folding. 1629- Added ":syntax sync fromstart": Always parse from the start of the file. 1630- Added the "display" argument for syntax items: use the item only when 1631 displaying the result. Can make parsing faster for text that isn't going to 1632 be displayed. 1633- When using CTRL-L, the cached states are deleted, to force parsing the text 1634 again. 1635- Use elfhash algorithm for table of keywords. This should give a better 1636 distribution and speedup keyword lookup. (Campbell) 1637- Also allow the "lc" leading context for skip and end patterns. (Scott 1638 Bigham) 1639- Syntax items can have the "extend" argument to undo the effect of a 1640 "keepend" argument of an item it is contained in. Makes it possible to have 1641 some contained items extend a region while others don't. 1642- ":syntax clear" now deletes the b:current_syntax variable. That's logical, 1643 since no syntax is defined after this command. 1644- Added ":syntax enable": switch on syntax highlighting without changing the 1645 colors. This allows specifying the colors in the .vimrc file without the 1646 need for a mysyntaxfile. 1647- Added ":syntax reset": reset the colors to their defaults. 1648- Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it 1649 possible to define a transparent item that doesn't contain itself. 1650- Added a "containedin" argument to syntax items. Allows adding a contained 1651 item to an existing item (e.g., to highlight a name in a comment). 1652 1653Modeless selection: 1654- When in the command-line window, use modeless selection in the other 1655 windows. Makes it possible to copy visible text to the command-line window. 1656- Support modeless selection on the cmdline in a terminal. Previously it was 1657 only possible for the GUI. 1658- Make double-right-click in modeless selection select a whole word. Single 1659 right click doesn't use the word selection started by a double-left-click. 1660 Makes it work like in Visual mode. 1661- The modeless selection no longer has an implied automatic copy to the 1662 clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or 1663 "autoselect" and "autoselectml" in 'clipboard'. 1664- Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to 1665 the clipboard. Also works at the hit-enter prompt and the more prompt. 1666 Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in 1667 cmdline-mode to be able to use CTRL-Y in the new way. 1668 1669Reduced the amount of stack space used by regmatch() to allow it to handle 1670complicated patterns on a longer text. 1671 1672'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS. 1673 1674Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave 1675like the ASCII equivalent. (Ivan Wellesz and Vince Negri) 1676Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home> 1677 1678Also trigger the BufUnload event when Vim is going to exit. Perhaps a script 1679needs to do some cleaning up. 1680 1681Expand expression in backticks: `={expr}`. Can be used where backtick 1682expansion is done. (Vince Negri) 1683 1684GUI: 1685- Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only 1686 when there is a vertically split window. 1687- X11: When a color can't be allocated, use the nearest match from the 1688 colormap. This avoids that black is used for many things. (Monish Shah) 1689 Also do this for the menu and scrollbar, to avoid that they become black. 1690- Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to 1691 the current mode. (Vince Negri) 1692- Added the 'linespace' option: Insert a pixel line between lines. (Nam) 1693- Allow modeless selection (without moving the cursor) by keeping CTRL and 1694 SHIFT pressed. (Ivan Wellesz) 1695- Motif: added toolbar. (Gordon Prieur) Also added tooltips. 1696- Athena: added toolbar and tooltips. (David Harrison -- based on Gordon 1697 Prieur's work) 1698- Made the 'toolbar' option work for Athena and Motif. Can now switch between 1699 text and icons on the fly. (David Harrison) 1700- Support menu separator lines for Athena. (David Harrison) 1701- Athena: Adjust the arrow pixmap used in a pullright menu to the size of the 1702 font. (David Harrison) 1703- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem 1704 Khodush) 1705- When no --enable-xim argument is given, automatically enable it when a X GUI 1706 is used. Required for dead key support (and multi-byte input). 1707- After a file selection dialog, check that the edited files were not changed 1708 or deleted. The Win32 dialog allows deleting and renaming files. 1709- Motif and Athena: Added support for "editres". (Marcin Dalecki) 1710- Motif and Athena: Added "menuFont" to be able to specify a font or fontset 1711 for the menus. Can also be set with the "Menu" highlight group. Useful 1712 when the locale is different from 'encoding'. (David Harrison) 1713 When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should 1714 avoid trouble with changing from a font to a fontset. (David Harrison) 1715- Highlighting and font for the tooltips can be specified with the "Tooltip" 1716 highlight group. (David Harrison) 1717- The Cmdline-mode menus can be used at the more-prompt. This mostly works 1718 fine, because they start with a CTRL-C. The "Copy" menu works to copy the 1719 modeless selection. Allows copying the output of ":set all" or ":intro" 1720 without auto-selection. 1721- When starting the GUI when there is no terminal connected to stdout and 1722 stderr, display error messages in a dialog. Previously they wouldn't be 1723 displayed at all. 1724- Allow setting 'browsedir' to the name of a directory, to be used for the 1725 file dialog. (Dan Sharp) 1726- b:browsefilter and g:browsefilter can be set to the filters used for the 1727 file dialog. Supported for Win32 and Motif GUI. (Dan Sharp) 1728 1729X11: 1730- Support for the clipboard selection as register "+. When exiting or 1731 suspending copy the selection to cut buffer 0. Should allow copy/paste with 1732 more applications in a X11-standard way. (Neil Bird) 1733- Use the X clipboard in any terminal, not just in an xterm. 1734 Added "exclude:" in 'clipboard': Specify a pattern to match against terminal 1735 names for which no connection should be made to the X server. The default 1736 currently work for FreeBSD and Linux consoles. 1737- Added a few messages for when 'verbose' is non-zero to show what happens 1738 when trying to connect to the X server. Should help when trying to find out 1739 why startup is slow. 1740 1741GTK GUI: (partly by Marcin Dalecki) 1742- With some fonts the characters can be taller than ascent + descent. E.g., 1743 "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character 1744 cell height. 1745- Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut, 1746 when 'wak' changed after creating the menus. 1747- Setting 'wak' after the GUI started works. 1748- recycle text GC's to reduce communication. 1749- Adjust icon size to window manager. 1750- Cleanup in font handling. 1751- Replace XQueryColor with GDK calls. 1752- Gnome support. Detects Gnome in configure and uses different widgets. 1753 Otherwise it's much like GTK. (Andy Kahn) 1754 It is disabled by default, because it causes a few problems. 1755- Removed the special code to fork first and then start the GUI. Now use 1756 _exit() instead of exit(), this works fine without special tricks. 1757- Dialogs sometimes appeared a bit far away. Position the dialogs inside 1758 the gvim window. (Brent Verner) 1759- When dropping a file on Vim, remove extra slashes from the start of the 1760 path. Also shorten the file name if possible. 1761 1762Motif: (Marcin Dalecki) 1763- Made the dialog layout better. 1764- Added find and find/replace dialogs. 1765- For the menus, change "iso-8859" to "iso_8859", Linux appears to need this. 1766- Added icon to dialogs, like for GTK. 1767- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include 1768 file when it's available. 1769- Change the shadow of the toolbar items to get a visual feedback of it being 1770 pressed on non-LessTif. 1771- Use gadgets instead of windows for some items for speed. 1772 1773Command line completion: 1774- Complete environment variable names. (Mike Steed) 1775- For ":command", added a few completion methods: "mapping", "function", 1776 "expression" and "environment". 1777- When a function doesn't take arguments, let completion add () instead of (. 1778 1779For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR. 1780(Walter Briscoe) 1781 1782Redirect messages to the clipboard ":redir @*" and to the unnamed register 1783":redir @"". (Wall) 1784 1785":let @/ = ''" clears the search pattern, instead of setting it to an empty 1786string. 1787 1788Expression evaluation: 1789- "? :" can be used like in C. 1790- col("$") returns the length of the cursor line plus one. (Stephen P. Wall) 1791- Optional extra argument for match(), matchend() and matchstr(): Offset to 1792 start looking for a match. 1793- Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera) 1794- exists() can also be used to check for Ex commands and defined autocommands. 1795- Added extra argument to input(): Default text. 1796- Also set "v:errmsg" when using ":silent! cmd". 1797- Added the v:prevcount variable: v:count for the previous command. 1798- Added "v:progname", name with which Vim was started. (Vince Negri) 1799- In the verbose message about returning from a function, also show the return 1800 value. 1801 1802Cscope: 1803- Added the cscope_connection() function. (Andy Kahn) 1804- ":cscope kill -1" kills all cscope connections. (Andy Kahn) 1805- Added the 'cscopepathcomp' option. (Scott Hauck) 1806- Added ":scscope" command, split window and execute Cscope command. (Jason 1807 Duell) 1808 1809VMS: 1810- Command line arguments are always uppercase. Interpret a "-X" argument as 1811 "-x" and "-/X" as "-X". 1812- Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy) 1813- Use the X-clipboard feature and the X command server. (Zoltan Arpadffy) 1814 1815Macintosh: (Dany St-Amant) 1816- Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn) 1817- Carbonized (while keeping non Carbon code) 1818 (Some work "stolen" from Ammon Skidmore) 1819- Improved the menu item index handling (should be faster) 1820- Runtime commands now handle / in file name (MacOS 9 version) 1821- Added ":winpos" support. 1822- Support using "~" in file names for home directory. 1823 1824Options: 1825- When using set += or ^= , check for items used twice. Duplicates are 1826 removed. (Vince Negri) 1827- When setting an option that is a list of flags, remove duplicate flags. 1828- If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina) 1829- Added "alpha" to 'nrformats': increment or decrement an alphabetic character 1830 with CTRL-A and CTRL-X. 1831- ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim 1832 default. Useful to set 'cpo' to its Vim default without knowing what flags 1833 that includes. 1834- 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the 1835 window. 1836- Added more option settings to the default menus. 1837- Updated the option window with new options. Made it a bit easier to read. 1838 1839Internal changes: 1840- Split line pointers in text part and attributes part. Allows for future 1841 change to make attribute more than one byte. 1842- Provide a qsort() function for systems that don't have it. 1843- Changed the big switch for Normal mode commands into a table. This cleans 1844 up the code considerably and avoids trouble for some optimizing compilers. 1845- Assigned a negative value to special keys, to avoid them being mixed up with 1846 Unicode characters. 1847- Global variables expand_context and expand_pattern were not supposed to be 1848 global. Pass them to ExpandOne() and all functions called by it. 1849- No longer use the global reg_ic flag. It caused trouble and in a few places 1850 it was not set. 1851- Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids 1852 problem with autocommands. 1853- Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too 1854 big. Also moved some code from screen.c to move.c. 1855- Don't include the CRC table for encryption, generate it. Saves quite a bit 1856 of space in the source code. (Matthias Kramm) 1857- Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems. 1858- Removed the GTK implementation of ":findhelp", it now uses the 1859 ToolBar.FindHelp menu entry. 1860- Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and 1861 mch_shellinit() to mch_init(). 1862 1863Highlighting: 1864- In a ":highlight" listing, show "xxx" with the highlight color. 1865- Added support for xterm with 88 or 256 colors. The right color numbers will 1866 be used for the name used in a ":highlight" command. (Steve Wall) 1867- Added "default" argument for ":highlight". When included, the command is 1868 ignored if highlighting for the group was already defined. 1869 All syntax files now use ":hi default ..." to allow the user to specify 1870 colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed 1871 anymore. This greatly simplifies using non-default colors for a specific 1872 language. 1873- Adjusted colortest.vim: Included colors on normal background and reduced the 1874 size by using a while loop. (Rafael Garcia-Suarez) 1875- Added the "DarkYellow" color name. Just to make the list of standard colors 1876 consistent, it's not really a nice color to use. 1877 1878When an xterm is in 8-bit mode this is detected by the code returned for 1879|t_RV|. All key codes are automatically converted to their 8-bit versions. 1880 1881The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the 1882actual key codes used and the number of colors for t_Co. Only when |t_RV| is 1883also used. 1884 1885":browse set" now also works in the console mode. ":browse edit" will give an 1886error message. 1887 1888":bdelete" and ":bunload" only report the number of deleted/unloaded buffers 1889when more than 'report'. The message was annoying when deleting a buffer in a 1890script. 1891 1892Jump list: 1893- The number of marks kept in the jumplist has been increased from 50 to 100. 1894- The jumplist is now stored in the viminfo file. CTRL-O can be used to jump 1895 to positions from a previous edit session. 1896- When doing ":split" copy the jumplist to the new window. 1897 1898Also set the '[ and '] marks for the "~" and "r" commands. These marks are 1899now always set when making a change with a Normal mode command. 1900 1901Python interface: Allow setting the width of a vertically split window. (John 1902Cook) 1903 1904Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys'). 1905 1906Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes 1907Zellner) 1908Added the "l" flag in 'cinoptions'. (Anduin Withers) 1909Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt) 1910 1911When doing ":wall" or ":wqall" and a modified buffer doesn't have a name, 1912mention its buffer number in the error message. 1913 1914":function Name" lists the function with line numbers. Makes it easier to 1915find out where an error happened. 1916 1917In non-blockwise Visual mode, "r" replaces all selected characters with the 1918typed one, like in blockwise Visual mode. 1919 1920When editing the last file in the argument list in any way, allow exiting. 1921Previously this was only possible when getting to that file with ":next" or 1922":last". 1923 1924Added the '1' flag to 'formatoptions'. (Vit Stradal) 1925Added 'n' flag in 'formatoptions': format a numbered list. 1926 1927Swap file: 1928- When a swap file already exists, and the user selects "Delete" at the 1929 ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo" 1930 file which won't always be found. 1931- When giving the ATTENTION message and the date of the file is newer than the 1932 date of swap file, give a warning about this. 1933- Made the info for an existing swap file a bit shorter, so that it still fits 1934 on a 24 line screen. 1935- It was possible to make a symlink with the name of a swap file, linking to a 1936 file that doesn't exist. Vim would then silently use another file (if open 1937 with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do 1938 another check for an existing swap file just before creating it to catch a 1939 symlink attack. 1940 1941The g CTRL-G command also works in Visual mode and counts the number of words. 1942(Chase Tingley) 1943 1944Give an error message when using 'shell' and it's empty. 1945 1946Added the possibility to include "%s" in 'shellpipe'. 1947 1948Added "uhex" value for 'display': show non-printable characters as <xx>. 1949Show unprintable characters with NonText highlighting, also in the command 1950line. 1951 1952When asked to display the value of a hidden option, tell it's not supported. 1953 1954Win32: 1955- When dropping a shortcut on gvim (.lnk file) edit the target, not the 1956 shortcut itself. (Yasuhiro Matsumoto) 1957- Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe) 1958- When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too. 1959 Also check for the Unix shell names. 1960- When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig 1961 Barkhouse) 1962 1963Win32 console version: 1964- Includes the user and system name in the ":version" message, when available. 1965 It generates a pathdef.c file for this. (Jon Miner) 1966- Set the window icon to Vim's icon (only for Windows 2000). While executing 1967 a shell command, modify the window title to show this. When exiting, 1968 restore the cursor position too. (Craig Barkhouse) 1969- The Win32 console version can be compiled with OLE support. It can only 1970 function as a client, not as an OLE server. 1971 1972Errorformat: 1973- Let "%p" in 'errorformat' (column of error indicated by a row of characters) 1974 also accept a line of dots. 1975- Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp) 1976- Added a default 'errorformat' value for VMS. (Jim Bush) 1977 1978The "p" command can now be used in Visual mode. It overwrites the selected 1979text with the contents of a register. 1980 1981Highlight the <> items in the intro message to make clear they are special. 1982 1983When using the "c" flag for ":substitute", allow typing "l" for replacing this 1984item and then stop: "last". 1985 1986When printing a verbose message about sourcing another file, print the line 1987number. 1988 1989When resizing the Vim window, don't use 'equalalways'. Avoids that making the 1990Vim window smaller makes split windows bigger. And it's what the docs say. 1991 1992When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR 1993kept the remaining white space. Now made it work like BS: delete the 1994autoindent to avoid a blank non-empty line results. 1995 1996Added a GetHwnd() call to the OLE interface. (Vince Negri) 1997 1998Made ":normal" work in an event handler. Useful when dropping a file on Vim 1999and for CursorHold autocommands. 2000 2001For the MS-Windows version, don't change to the directory of the file when a 2002slash is used instead of a backslash. Explorer should always use a backslash, 2003the user can use a slash when typing the command. 2004 2005Timestamps: 2006- When a buffer was changed outside of Vim and regaining focus, give a dialog 2007 to allow the user to reload the file. Now also for other GUIs than 2008 MS-Windows. And also used in the console, when compiled with dialog 2009 support. 2010- Inspect the file contents to find out if it really changed, ignore 2011 situations where only the time stamp changed (e.g., checking the file out 2012 from CVS). 2013- When checking the timestamp, first check if the file size changed, to avoid 2014 a file compare then. Makes it quicker for large (log) files that are 2015 appended to. 2016- Don't give a warning for a changed or deleted file when 'buftype' is set. 2017- No longer warn for a changed directory. This avoids that the file explorer 2018 produces warnings. 2019- Checking timestamps is only done for buffers that are not hidden. These 2020 will be checked when they become unhidden. 2021- When checking for a file being changed outside of Vim, also check if the 2022 file permissions changed. When the file contents didn't change but the 2023 permissions did, give a warning. 2024- Avoid checking too often, otherwise the dialog keeps popping up for a log 2025 file that steadily grows. 2026 2027Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to 2028"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very 2029hard to find problems. Disallow mapping part of a multi-byte character. 2030 2031For ":python" and ":tcl" accept an in-line script. (Johannes Zellner) 2032Also for ":ruby" and ":perl". (Benoit Cerrina) 2033 2034Made ":syn include" use 'runtimepath' when the file name is not a full path. 2035 2036When 'switchbuf' contains "split" and the current window is empty, don't split 2037the window. 2038 2039Unix: Catch SIGPWR to preserve files when the power is about to go down. 2040 2041Sniff interface: (Anton Leherbauer) 2042- fixed windows code, esp. the event handling stuff 2043- adaptations for sniff 4.x ($SNIFF_DIR4) 2044- support for adding sniff requests at runtime 2045 2046Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt 2047key is used. 2048 2049":find" accepts a count, which means that the count'th match in 'path' is 2050used. 2051 2052":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a 2053buffer is active show "a" instead of nothing. When a buffer isn't loaded 2054show nothing instead of "-". 2055 2056Unix install: 2057- When installing the tools, set absolute paths in tools scripts efm_perl.pl 2058 and mve.awk. Avoids that the user has to edit these files. 2059- Install Icons for KDE when the directories exist and the icons do not exist 2060 yet. 2061 2062Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and 2063NT/2000/XP in a Vim script. 2064 2065When a ":cd" command was typed, echo the new current directory. (Dan Sharp) 2066 2067When using ":winpos" before the GUI window has been opened, remember the 2068values until it is opened. 2069 2070In the ":version" output, add "/dyn" for features that are dynamically loaded. 2071This indicates the feature may not always work. 2072 2073On Windows NT it is possible that a directory is read-only, but a file can be 2074deleted. When making a backup by renaming the file and 'backupdir' doesn't 2075use the current directory, this causes the original file to be deleted, 2076without the possibility to create a new file. Give an extra error message 2077then to warn to user about this. 2078 2079Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's 2080consistent with Insert mode. 2081 2082============================================================================== 2083COMPILE TIME CHANGES *compile-changes-6* 2084 2085All generated files have been moved out of the "src" directory. This makes it 2086easy to see which files are not edited by hand. The files generated by 2087configure are now in the "src/auto" directory. For Unix, compiled object 2088files go in the objects directory. 2089 2090The source archive was over the 1.4M floppy limit. The archives are now split 2091up into two runtime and two source archives. Also provide a bzip2 compressed 2092archive that contains all the sources and runtime files. 2093 2094Added "reconfig" as a target for make. Useful when changing some of the 2095arguments that require flushing the cache, such as switching from GTK to 2096Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent 2097over different GUIs. 2098 2099Added src/README.txt to give an overview of the main parts of the source code. 2100 2101The Unix Makefile now fully supports using $(DESTDIR) to install to a specific 2102location. Replaces the manual setting of *ENDLOC variables. 2103 2104Added the possibility for a maintainer of a binary version to include his 2105e-mail address with the --with-compiledby configure argument. 2106 2107Included features are now grouped in "tiny", "small", "normal", "big" and 2108"huge". This replaces "min-features" and "max-features". Using "tiny" 2109disables multiple windows for a really small Vim. 2110 2111For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin 2112are equal to curwin and don't use w_next and w_prev. 2113 2114Added the +listcmds feature. Can be used to compile without the Vim commands 2115that manipulate the buffer list and argument list (the buffer list itself is 2116still there, can't do without it). 2117 2118Added the +vreplace feature. It is disabled in the "small" version to avoid 2119that the 16 bit DOS version runs out of memory. 2120 2121Removed GTK+ support for versions older than 1.1.16. 2122 2123The configure checks for using PTYs have been improved. Code taken from a 2124recent version of screen. 2125 2126Added configure options to install Vim, Ex and View under another name (e.g., 2127vim6, ex6 and view6). 2128 2129Added "--with-global-runtime" configure argument. Allows specifying the 2130global directory used in the 'runtimepath' default. 2131 2132Made enabling the SNiFF+ interface possible with a configure argument. 2133 2134Configure now always checks /usr/local/lib for libraries and 2135/usr/local/include for include files. Helps finding the stuff for iconv() and 2136gettext(). 2137 2138Moved the command line history stuff into the +cmdline_hist feature, to 2139exclude the command line history from the tiny version. 2140 2141MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids 2142having to change two files for one problem. (Vince Negri) 2143 2144Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri) 2145 2146The jumplist is now a separate feature. It is disabled for the "small" 2147version (16 bit MS-DOS). 2148 2149Renamed all types ending in _t to end in _T. Avoids potential problems with 2150system types. 2151 2152Added a configure check for X11 header files that implicitly define the return 2153type to int. (Steve Wall) 2154 2155"make doslang" in the top directory makes an archive with the menu and .mo 2156files for Windows. This uses the files generated on Unix, these should work 2157on MS-Windows as well. 2158 2159Merged a large part of os_vms.c with os_unix.c. The code was duplicated in 2160the past which made maintenance more work. (Zoltan Arpadffy) 2161 2162Updated the Borland C version 5 Makefile: (Dan Sharp) 2163- Fixed the Perl build 2164- Added python and tcl builds 2165- Added dynamic perl and dynamic python builds 2166- Added uninstal.exe build 2167- Use "yes" and "no" for the options, like in Make_mvc.mak. 2168 2169Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's 2170much smaller, many unnecessary text has been removed. (Walter Briscoe) 2171Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in 2172MS-Devstudio. (Walter Briscoe) 2173 2174MS-Windows: The big gvim.exe, which includes OLE, now also includes 2175dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1, 2176ActivePython 2.1.1 and ActiveTCL 8.3.3 2177 2178Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for 2179Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile. 2180 2181Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6. 2182(Vipin Aravind) 2183 2184Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto) 2185 2186Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro 2187Matsumoto) 2188 2189============================================================================== 2190BUG FIXES *bug-fixes-6* 2191 2192When checking the command name for "gvim", "ex", etc. ignore case. Required 2193for systems where case is ignored in command names. 2194 2195Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'. 2196 2197When double-clicking in another window, wasn't recognized as double click, 2198because topline is different. Added set_mouse_topline(). 2199 2200The BROKEN_LOCALE check was broken. (Marcin Dalecki) 2201 2202When "t_Co" is set, the default colors remain the same, thus wrong. Reset the 2203colors after changing "t_Co". (Steve Wall) 2204 2205When exiting with ":wqall" the messages about writing files could overwrite 2206each other and be lost forever. 2207 2208When starting Vim with an extremely long file name (around 1024 characters) it 2209would crash. Added a few checks to avoid buffer overflows. 2210 2211CTRL-E could get stuck in a file with very long lines. 2212 2213":au syntax<Tab>" expanded event names while it should expand groups starting 2214with "syntax". 2215 2216When expanding a file name caused an error (e.g., for <amatch>) it was 2217produced even when inside an "if 0". 2218 2219'cindent' formatted C comments differently from what the 'comments' option 2220specified. (Steve Wall) 2221 2222Default for 'grepprg' didn't include the file name when only grepping in one 2223file. Now /dev/null has been added for Unix. 2224 2225Opening the option window twice caused trouble. Now the cursor goes to the 2226existing option window. 2227 2228":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set 2229'readonly', unless the buffer is also edited in another window. 2230 2231GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar 2232and menubar to disappear and resize the window (which clears the text). 2233Now always grey-out the toplevel menus to avoid that the menubar changes size 2234or disappears. 2235 2236When re-using the current buffer for a new buffer, buffer-local variables were 2237not deleted. 2238 2239GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a 2240down scroll. Now pass on a mouse event with mouse_row set to -1. 2241 2242Win32: Console version didn't work on telnet, because of switching between two 2243console screens. Now use one console screen and save/restore the contents 2244when needed. (Craig Barkhouse) 2245 2246When reading a file the magic number for encryption was included in the file 2247length. (Antonio Colombo) 2248 2249The quickfix window contained leading whitespace and NULs for multi-line 2250messages. (David Harrison) 2251 2252When using cscope, redundant tags were removed. This caused a numbering 2253problem, because they were all listed. Don't remove redundant cscope tags. 2254(David Bustos). 2255 2256Cscope: Test for which matches are in the current buffer sometimes failed, 2257causing a jump to another match than selected. (David Bustos) 2258 2259Win32: Buffer overflow when adding a charset name in a font. 2260 2261'titlestring' and 'iconstring' were evaluating an expression in the current 2262context, which could be a user function, which is a problem for local 2263variables vs global variables. 2264 2265Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in 2266_OnSysChar(). 2267 2268Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle. 2269Could also happen for the ruler. screen_puts() didn't clear the right char in 2270ScreenLines[] for the bold trick. 2271 2272Win32: ":%!sort|uniq" didn't work, because the input file name touches the 2273"|". Insert a space before the "|". 2274 2275OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to 2276fail, which caused syntax highlighting to fail. 2277 2278Pasting a register containing CTRL-R on the command line could cause an 2279endless loop that can't be interrupted. Now it can be stopped with CTRL-C. 2280 2281When 'verbose' is set, a message for file read/write could overwrite the 2282previous message. 2283When 'verbose' is set, the header from ":select" was put after the last 2284message. Now start a new line. 2285 2286The hit-enter prompt reacted to the response of the t_RV string, causing 2287messages at startup to disappear. 2288 2289When t_Co was set to 1, colors were still used. Now only use color when t_Co 2290> 1. 2291 2292Listing functions with ":function" didn't quit when 'q' or ':' was typed at 2293the more prompt. 2294 2295Use mkstemp() instead of mktemp() when it's available, avoids a warning for 2296linking on FreeBSD. 2297 2298When doing Insert mode completion it's possible that b_sfname is NULL. Don't 2299give it to printf() for the "Scanning" message. 2300 2301":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards 2302was done after trying to remove the string. Now for ":set opt+=val" and ":set 2303opt-=val" the expansion of wildcards is done before adding or removing "val". 2304 2305Using CTRL-V with the "r" command with a blockwise Visual selection inserted a 2306CTRL-V instead of getting a special character. 2307 2308Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE 2309after -lXdmcp. Should fix link problem on HP-UX 10.20. 2310 2311Don't remove the last "-lm" from the link line. Vim may link but fail later 2312when the GUI starts. 2313 2314When the shell returns with an error when trying to expand wildcards, do 2315include the pattern when the "EW_NOTFOUND" flag was set. 2316When expanding wildcards with the shell fails, give a clear error message 2317instead of just "1 returned". 2318 2319Selecting a Visual block, with the start partly on a Tab, deleting it leaves 2320the cursor too far to the left. Causes "s" to work in the wrong position. 2321 2322Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead. 2323 2324Warning for changing a read-only file wasn't given when 'insertmode' was set. 2325 2326Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start 2327notepad file" doesn't work. Remove the double quotes added by 'shellxquote' 2328when using ":!start". (Pavol Juhas) 2329 2330The "<f-args>" argument of ":command" didn't accept Tabs for white space. 2331Also, don't add an empty argument when there are trailing blanks. 2332 2333":e test\\je" edited "test\je", but ":next test\\je" edited "testje". 2334Backslashes were removed one time too many for ":next". 2335 2336VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file 2337name. (Zoltan Arpadffy) 2338 2339After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all 2340characters are redrawn with the right background. 2341 2342When doing "make test" without +eval or +windows feature, many tests failed. 2343Now have test1 generate a script to copy the correct output, so that a test 2344that doesn't work is skipped. 2345 2346On FreeBSD the Perl interface added "-lc" to the link command and Python added 2347"-pthread". These two don't work together, because the libc_r library should 2348be used. Removed "-lc" from Perl, it should not be needed. 2349Also: Add "-pthread" to $LIBS, so that the checks for functions is done with 2350libc_r. Sigaltstack() appears to be missing from libc_r. 2351 2352The Syntax sub-menus were getting too long, reorganized them and added another 2353level for some languages. 2354 2355Visual block "r"eplace didn't work well when a Tab is partly included. 2356(Matthias Kramm) 2357 2358When yanking a Visual block, where some lines end halfway the block, putting 2359the text somewhere else doesn't insert a block. Padd with spaces for missing 2360characters. Added "y_width" to struct yankreg. (Matthias Kramm) 2361 2362If a substitute string has a multibyte character after a backslash only the 2363first byte of it was skipped. (Muraoka Taro) 2364 2365Win32: Numeric keypad keys were missing from the builtin termcap entry. 2366 2367When a file was read-only ":wa!" didn't force it to be written. (Vince Negri) 2368 2369Amiga: A file name starting with a colon was considered absolute but it isn't. 2370Amiga: ":pwd" added a slash when in the root of a drive. 2371 2372Don't let 'ttymouse' default to "dec" when compiled with dec mouse support. 2373It breaks the gpm mouse (Linux console). 2374 2375The prototypes for the Perl interface didn't work for threaded Perl. Added a 2376sed command to remove the prototypes from proto/if_perl.pro and added them 2377manually to if_perl.xs. 2378 2379When ":w!" resets the 'readonly' option the title and status lines were not 2380updated. 2381 2382":args" showed the current file when the argument list was empty. Made this 2383work like Vi: display nothing. 2384 2385"99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode. 2386Don't set v:count when executing a stuffed command. 2387 2388Amiga: Got a requester for "home:" because it's in the default runtime path. 2389Don't bring up a requester when searching for a file in 'path', sourcing the 2390.vimrc file or using ":runtime". 2391 2392Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same 2393file to appear as two different buffers. 2394 2395Win32: Renaming a file to an empty string crashed Vim. Happened when using 2396explorer.vim and hitting ESC at the rename prompt. 2397 2398Win32: strftime() crashed when called with a "-1" value for the time. 2399 2400Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not 2401to be found. 2402 2403Cscope sometimes jumped to the wrong tag. (David Bustos) 2404 2405OS/2: Could not find the tags file. mch_expand_wildcards() added another 2406slash to a directory name. 2407 2408When using ">>" the `] mark was not in the last column. 2409 2410When Vim was compiled without menu support, filetype.vim was still trying to 2411source the menu.vim script. (Rafael Garcia-Suarez) 2412 2413":ptag" added an item to the tag stack. 2414 2415Win32 IME: "gr" didn't use IME mode. 2416 2417In the "vim --help" message the term "options" was used for arguments. That's 2418confusing, call them "arguments". 2419 2420When there are two windows, and a BufUnload autocommand for closing window #1 2421closed window #2, Vim would crash. 2422 2423When there is a preview window and only one other window, ":q" wouldn't exit. 2424 2425In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed. 2426 2427On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows 2428glob("*") also returned files starting with a dot. Made this work like Unix 2429on all systems. 2430 2431Win32: Removed old code to open a console. Vimrun is now used and works fine. 2432 2433Compute the room needed by the intro message accurately, so that it also fits 2434on a 25 line console. (Craig Barkhouse) 2435 2436":ptnext" was broken. Now remember the last tag used in the preview window 2437separately from the tagstack. 2438 2439Didn't check for "-display" being the last argument. (Wichert Akkerman) 2440 2441GTK GUI: When starting "gvim" under some conditions there would be an X error. 2442Don't replace the error handler when creating the xterm clipboard. (Wichert 2443Akkerman) 2444 2445Adding a space after a help tag caused the tag not to be found. E.g., ":he 2446autoindent ". 2447 2448Was trying to expand a URL into a full path name. On Windows this resulted in 2449the current directory to be prepended to the URL. Added vim_isAbsName() and 2450vim_FullName() to avoid that various machine specific functions do it 2451differently. 2452 2453":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only 2454does it for the current file (looks like a bug). Now remember the buffer used 2455for the entry in the argument list and use it's name (adjusted when doing 2456":cd"), unless it's deleted. 2457 2458When inserting a special key as its name ("<F8>" as four characters) after 2459moving around in Insert mode, undo didn't work properly. 2460 2461Motif GUI: When using the right mouse button, for some people gvim froze for 2462a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup 2463menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or 2464"popup_setpos". (David Harrison) 2465 2466Motif: When adding many menu items, the "Help" menu disappeared but the 2467menubar didn't wrap. Now manually set the menubar height. 2468 2469When using <BS> in Insert mode to remove a line break, or using "J" to join 2470lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro) 2471 2472Removed defining SVR4 in configure. It causes problems for some X header 2473files and doesn't appear to be used anywhere. 2474 2475When 'wildignore' is used, 'ignorecase' for a tag match was not working. 2476 2477When 'wildignore' contains "*~" it was impossible to edit a file ending in a 2478"~". Now don't recognize a file ending in "~" as containing wildcards. 2479 2480Disabled the mouse code for OS/2. It was not really used. 2481 2482":mksession" always used the full path name for a buffer, also when the short 2483name could be used. 2484":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a 2485way that they would be restored. Now use the key name if possible, this is 2486portable. 2487 2488After recovering a file and abandoning it, an ":edit" command didn't give the 2489ATTENTION prompt again. Would be useful to be able to delete the file in an 2490easy way. Reset the BF_RECOVERED flag when unloading the buffer. 2491 2492histdel() could match or ignore case, depending on what happened before it. 2493Now always match case. 2494 2495When a window size was specified when splitting a window, it would still get 2496the size from 'winheight' or 'winwidth' if it's larger. 2497 2498When using "append" or "insert" inside a function definition, a line starting 2499with "function" or "endfunction" caused confusion. Now recognize the commands 2500and skip lines until a ".". 2501 2502At the end of any function or sourced file need_wait_return could be reset, 2503causing messages to disappear when redrawing. 2504 2505When in a while loop the line number for error messages stayed fixed. Now the 2506line number is remembered in the while loop. 2507 2508"cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash. 2509 2510MS-Windows: getftime() didn't work when a directory had a trailing slash or 2511backslash. Didn't show the time in the explorer because of this. 2512 2513When doing wildcard completion, a directory "a/" sorted after "a-b". Now 2514recognize path separators when sorting files. 2515 2516Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were 2517created as different buffers, although it's the same file. Expand to a full 2518file name also when an absolute name contains "..". 2519 2520"g&" didn't repeat the last substitute properly. 2521 2522When 'clipboard' was set to "unnamed", a "Y" command would not write to "0. 2523Now make a copy of register 0 to the clipboard register. 2524 2525When the search pattern matches in many ways, it could not always be 2526interrupted with a CTRL-C. And CTRL-C would have to be hit once for every 2527line when 'hlsearch' is on. 2528When 'incsearch' is on and interrupting the search for a match, don't abandon 2529the command line. 2530 2531When turning a directory name into a full path, e.g., with fnamemodify(), 2532sometimes a slash was added. Make this consistent: Don't add a slash. 2533 2534When a file name contains a "!", using it in a shell command will cause 2535trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time 2536when 'shell' contains "sh". 2537 2538Completing a file name that has a tail that starts with a "~" didn't work: 2539":e view/~<Tab>". 2540 2541Using a ":command" argument that contains < and > but not for a special 2542argument was not skipped properly. 2543 2544The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in 2545$PATH didn't work, it always found it in the current directory. 2546Rename the vim.exe in the current dir to avoid this. (Walter Briscoe) 2547 2548In the MS-DOS/Windows install program, use %VIM% instead of an absolute path, 2549so that moving Vim requires only one change in the batch file. 2550 2551Mac: mch_FullName() changed the "fname" argument and didn't always initialize 2552the buffer. 2553 2554MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file 2555name. 2556 2557"echo expand("%:p:h")" with an empty file name removed one directory name on 2558MS-DOS. For Unix, when the file name is a directory, the directory name was 2559removed. Now make it consistent: "%:p" adds a path separator for all systems, 2560but no path separator is added in other situations. 2561 2562Unix: When checking for a CTRL-C (could happen any time) and there is an X 2563event (e.g., clipboard updated) and there is typeahead, Vim would hang until a 2564character was typed. 2565 2566MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon, 2567had the slash removed. 2568 2569":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even 2570"he :set^=" didn't find it. 2571 2572A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work 2573when the current path for D: isn't the root of the drive. 2574 2575Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary. 2576 2577When using a dtterm or various other color terminals, and the Normal group has 2578been set to use a different background color, the background wouldn't always 2579be displayed with that color. Added check for "ut" termcap entry: If it's 2580missing, clearing the screen won't give us the current background color. Need 2581to draw each character instead. Vim now also works when the "cl" (clear 2582screen) termcap entry is missing. 2583 2584When repeating a "/" search command with a line offset, the "n" did use the 2585offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the 2586same. 2587 2588Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash. 2589 2590OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty(). 2591 2592C-indenting: Indented a line starting with ")" with the matching "(", but not 2593a line starting with "x)" looks strange. Also compute the indent for aligning 2594with items inside the () and use the lowest indent. 2595 2596MS-DOS and Windows: ":n *.vim" also matched files ending in "~". 2597Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are 2598equal. 2599 2600Macintosh: (Dany St-Amant) 2601- In Vi-compatible mode didn't read files with CR line separators. 2602- Fixed a bug in the handling of Activate/Deactivate Event 2603- Fixed a bug in gui_mch_dialog (using wrong pointer) 2604 2605Multibyte GDK XIM: While composing a multibyte-word, if user presses a 2606mouse button, then the word is removed. It should remain and composing end. 2607(Sung-Hyun Nam) 2608 2609MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF 2610conversion by the C library got in the way of detecting a "dos" 'fileformat'. 2611 2612When 'smartcase' is set, patterns with "\S" would also make 'ignorecase' 2613reset. 2614 2615When clicking the mouse in a column larger than 222, it moved to the first 2616column. Can't encode a larger number in a character. Now limit the number to 2617222, don't jump back to the first column. 2618 2619GUI: In some versions CSI would cause trouble, either when typed directly or 2620when part of a multi-byte sequence. 2621 2622When using multibyte characters in a ":normal" command, a trailing byte that 2623is CSI or K_SPECIAL caused problems. 2624 2625Wildmenu didn't handle multi-byte characters. 2626 2627":sleep 10" could not be interrupted on Windows, while "gs" could. Made them 2628both work the same. 2629 2630Unix: When waiting for a character is interrupted by an X-windows event (e.g., 2631to obtain the contents of the selection), the wait time would not be honored. 2632A message could be overwritten quickly. Now compute the remaining waiting 2633time. 2634 2635Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then 2636the name is invalid. Don't insert the backslash. 2637 2638When doing an auto-write before ":make", IObuff was overwritten and the wrong 2639text displayed later. 2640 2641On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults 2642for 'backupdir' and 'directory', they don't exist. 2643 2644The check for a new file not to be on an MS-DOS filesystem created the file 2645temporarily, which can be slow. Don't do this if there is another check for 2646the swap file being on an MS-DOS filesystem. 2647 2648Don't give the "Changing a readonly file" warning when reading from stdin. 2649 2650When using the "Save As" menu entry and not entering a file name, would get an 2651error message for the trailing ":edit #". Now only do that when the 2652alternate file name was changed. 2653 2654When Vim owns the X11 selection and is being suspended, an application that 2655tries to use the selection hangs. When Vim continues it could no longer 2656obtain the selection. Now give up the selection when suspending. 2657 2658option.h and globals.h were included in some files, while they were already 2659included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it 2660twice. 2661 2662When repeating an operator that used a search pattern and the search pattern 2663contained characters that have a special meaning on the cmdline (e.g., CTRL-U) 2664it didn't work. 2665 2666Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in 2667a (multibyte) character. For example, the "r" command could not be repeated. 2668 2669The DOS/Windows install program didn't always work from a directory with a 2670long filename, because $VIM and the executable name would not have the same 2671path. 2672 2673Multi-byte: 2674- Using an any-but character range [^x] in a regexp didn't work for UTF-8. 2675 (Muraoka Taro) 2676- When backspacing over inserted characters in Replace mode multi-byte 2677 characters were not handled correctly. (Muraoka Taro) 2678- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka 2679 Taro) 2680- Word completion in Insert mode didn't work with multibyte characters. 2681 (Muraoka Taro) 2682- Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too 2683 wide (number of bytes instead of cell width). 2684- When changing 'encoding' to "euc-jp" and inserting a character Vim would 2685 crash. 2686- For euc-jp characters positioning the cursor would sometimes be wrong. 2687 Also, with two characters with 0x8e leading byte only the first one would be 2688 displayed. 2689- When using DYNAMIC_ICONV on Win32 conversion might fail because of using the 2690 wrong error number. (Muraoka Taro) 2691- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce 2692 the right character. 2693- When using Visual block selection and only the left halve of a double-wide 2694 character is selected, the highlighting continued to the end of the line. 2695- Visual-block delete didn't work properly when deleting the right halve of a 2696 double-wide character. 2697- Overstrike mode for the cmdline replaced only the first byte of a multibyte 2698 character. 2699- The cursor in Replace mode (also in the cmdline) was to small on a 2700 double-wide character. 2701- When a multibyte character contained a 0x80 byte, it didn't work (was using 2702 a CSI byte instead). (Muraoka Taro) 2703- Wordwise selection with the mouse didn't work. 2704- Yanking a modeless selection of multi-byte characters didn't work. 2705- When 'selection' is "exclusive", selecting a word that ends in a multi-byte 2706 character used wrong highlighting for the following character. 2707 2708Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse) 2709 2710Win32 GUI: When "vimrun.exe" is used to execute an external command, don't 2711give a message box with the return value, it was already printed by vimrun. 2712Also avoid printing the return value of the shell when ":silent!" is used. 2713 2714Win32: selecting a lot of text and using the "find/replace" dialog caused a 2715crash. 2716 2717X11 GUI: When typing a character with the 8th bit set and the Meta/Alt 2718modifier, the modifier was removed without changing the character. 2719 2720Truncating a message to make it fit on the command line, using "..." for the 2721middle, didn't always compute the space correctly. 2722 2723Could not imap <C-@>. Now it works like <Nul>. 2724 2725VMS: 2726- Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M 2727 characters. (Zoltan Arpadffy and John W. Hamill) 2728- Added VMS-specific defaults for the 'isfname' and 'isprint' options. 2729 (Zoltan Arpadffy) 2730- Removed os_vms_osdef.h, it's no longer used. 2731 2732The gzip plugin used a ":normal" command, this doesn't work when dropping a 2733compressed file on Vim. 2734 2735In very rare situations a binary search for a tag would fail, because an 2736uninitialized value happens to be half the size of the tag file. (Narendran) 2737 2738When using BufEnter and BufLeave autocommands to enable/disable a menu, it 2739wasn't updated right away. 2740 2741When doing a replace with the "c"onfirm flag, the cursor was positioned after 2742the ruler, instead of after the question. With a long replacement string the 2743screen could scroll up and cause a "more" prompt. Now the message is 2744truncated to make it fit. 2745 2746Motif: The autoconf check for the Xp library didn't work. 2747 2748When 'verbose' is set to list lines of a sourced file, defining a function 2749would reset the counter used for the "more" prompt. 2750 2751In the Win32 find/replace dialog, a '/' character caused problems. Escape it 2752with a backslash. 2753 2754Starting a shell with ":sh" was different from starting a shell for CTRL-Z 2755when suspending doesn't work. They now work the same way. 2756 2757Jumping to a file mark while in a changed buffer gave a "mark not set" error. 2758 2759":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch 2760all commands that cause too much recursiveness. 2761 2762Removed "Failed to open input method" error message, too many people got this 2763when they didn't want to use a XIM. 2764 2765GUI: When compiled without the +windows feature, the scrollbar would start 2766below line one. 2767 2768Removed the trick with redefining character class functions from regexp.c. 2769 2770Win32 GUI: Find dialog gives focus back to main window, when typing a 2771character mouse pointer is blanked, it didn't reappear when moving it in the 2772dialog window. (Vince Negri) 2773 2774When recording and typing a CTRL-C, no character was recorded. When in Insert 2775mode or cancelling half a command, playing back the recorded sequence wouldn't 2776work. Now record the CTRL-C. 2777 2778When the GUI was started, mouse codes for DEC and netterm were still checked 2779for. 2780 2781GUI: When scrolling and 'writedelay' is non-zero, the character under the 2782cursor was displayed in the wrong position (one line above/below with 2783CTRL-E/CTRL-Y). 2784 2785A ":normal" command would reset the 'scrollbind' info. Causes problems when 2786using a ":normal" command in an autocommand for opening a file. 2787 2788Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka 2789Taro) 2790 2791When 'scrollbind' wasn't set would still remember the current position, 2792wasting time. 2793 2794GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of 2795exit() when the child couldn't execute the shell. 2796 2797Multi-byte: 2798- GUI with double-byte encoding: a mouse click in left halve of double-wide 2799 character put the cursor in previous char. 2800- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey" 2801 included the character after the word. 2802- When using a double-byte encoding and there is a lead byte at the end of the 2803 line, the preceding line would be displayed. "ga" also showed wrong info. 2804- "gf" didn't include multi-byte characters before the cursor properly. 2805 (Muraoka Taro) 2806 2807GUI: The cursor was sometimes not removed when scrolling. Changed the policy 2808from redrawing the cursor after each call to gui_write() to only update it at 2809the end of update_screen() or when setting the cursor position. Also only 2810update the scrollbars at the end of update_screen(), that's the only place 2811where the window text may have been scrolled. 2812 2813Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now 2814remove the space before the Tab. 2815Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next 2816line. Now keep the space after the Tab. 2817 2818In some places non-ASCII alphabetical characters were accepted, which could 2819cause problems. For example, ":X" (X being such a character). 2820 2821When a pattern matches the end of the line, the last character in the line was 2822highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the 2823character just after the line. 2824 2825Motif: If a dialog was closed by clicking on the "X" of the window frame Vim 2826would no longer respond. 2827 2828When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would 2829crash. (Matsumoto) 2830 2831When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in 2832Select mode. Insert mode wasn't restarted after overwriting the text. 2833Now allow nesting Insert mode with insert and change commands. CTRL-O 2834cwfoo<Esc> now also works. 2835 2836Clicking with the right mouse button in another window started Visual mode, 2837but used the start position of the current window. Caused ml_get errors when 2838the line number was invalid. Now stay in the same window. 2839 2840When 'selection' is "exclusive", "gv" sometimes selected one character fewer. 2841 2842When 'comments' contains more than one start/middle/end triplet, the optional 2843flags could be mixed up. Also didn't align the end with the middle part. 2844 2845Double-right-click in Visual mode didn't update the shown mode. 2846 2847When the Normal group has a font name, it was never used when starting up. 2848Now use it when 'guifont' and 'guifontset' are empty. 2849Setting a font name to a highlight group before the GUI was started didn't 2850work. 2851 2852"make test" didn't use the name of the generated Vim executable. 2853 2854'cindent' problems: 2855- Aligned with an "else" inside a do-while loop for a line below that loop. 2856 (Meikel Brandmeyer) 2857- A line before a function would be indented even when terminated with a 2858 semicolon. (Meikel Brandmeyer) 2859- 'cindent' gave too much indent to a line after a "};" that ends an array 2860 init. 2861- Support declaration lines ending in "," and "\". (Meikel Brandmeyer) 2862- A case statement inside a do-while loop was used for indenting a line after 2863 the do-while loop. (Meikel Brandmeyer) 2864- When skipping a string in a line with one double quote it could continue in 2865 the previous line. (Meikel Brandmeyer) 2866 2867When 'list' is set, 'hlsearch' didn't highlight a match at the end of the 2868line. Now highlight the '$'. 2869 2870The Paste menu item in the menu bar, the popup menu and the toolbar were all 2871different. Now made them all equal to how it was done in mswin.vim. 2872 2873st_dev can be smaller than "unsigned". The compiler may give an overflow 2874warning. Added a configure check for dev_t. 2875 2876Athena: closing a confirm() dialog killed Vim. 2877 2878Various typos in the documentation. (Matt Dunford) 2879 2880Python interface: The definition of _DEBUG could cause trouble, undefine it. 2881The error message for not being able to load the shared library wasn't 2882translated. (Muraoka Taro) 2883 2884Mac: (Dany St-Amant and Axel Kielhorn) 2885- Several fixes. 2886- Vim was eating 80% of the CPU time. 2887- The project os_mac.pbxproj didn't work, Moved it to a subdirectory. 2888- Made the menu priority work for the menubar. 2889- Fixed a problem with dragging the scrollbar. 2890- Cleaned up the various #ifdefs. 2891 2892Unix: When catching a deadly signal and we keep getting one use _exit() to 2893exit in a quick and dirty way. 2894 2895Athena menu ordering didn't work correctly. (David Harrison) 2896 2897A ":make" or ":grep" command with a long argument could cause a crash. 2898 2899Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new 2900window. 2901 2902GTK: When starting the GUI and there is an error in the .vimrc file, don't 2903present the wait-return prompt, since the message was given in the terminal. 2904 2905When there was an error in a .vimrc file the terminal where gvim was started 2906could be cleared. Set msg_row in main.c before writing any messages. 2907 2908GTK and X11 GUI: When trying to read characters from the user (e.g. with 2909input()) before the Vim window was opened caused Vim to hang when it was 2910started from the desktop. 2911 2912OS/390 uses 31 bit pointers. That broke some computations with MAX_COL. 2913Reduce MAX_COL by one bit for OS/390. (Ralf Schandl) 2914 2915When defining a function and it already exists, Vim didn't say it existed 2916until after typing it. Now do this right away when typing it. 2917 2918The message remembered for displaying later (keep_msg) was sometimes pointing 2919into a generic buffer, which might be changed by the time the message is 2920displayed. Now make a copy of the message. 2921 2922When using multi-byte characters in a menu and a trailing byte is a backslash, 2923the menu would not be created correctly. (Muraoka Taro) 2924Using a multibyte character in the substitute string where a trail byte is a 2925backslash didn't work. (Muraoka Taro) 2926 2927When setting "t_Co" in a vimrc file, then setting it automatically from an 2928xterm termresponse and then setting it again manually caused a crash. 2929 2930When getting the value of a string option that is not supported, the number 2931zero was returned. This breaks a check like "&enc == "asdf". Now an empty 2932string is returned for string options. 2933 2934Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting 2935'title' in the gvimrc and starting the GUI with ":gui". Closed the connection 2936to the X server accidentally. 2937 2938Had to hit return after selecting an entry for ":ts". 2939 2940The message from ":cn" message was sometimes cleared. Now display it after 2941redrawing if it doesn't cause a scroll (truncated when necessary). 2942 2943hangulin.c didn't compile when the GUI was disabled. Disable it when it won't 2944work. 2945 2946When setting a termcap option like "t_CO", the value could be displayed as 2947being for a normal key with a modifier, like "<M-=>". 2948 2949When expanding the argument list, entries which are a directory name did not 2950get included. This stopped "vim c:/" from opening the file explorer. 2951 2952":syn match sd "^" nextgroup=asdf" skipped the first column and matched the 2953nextgroup in the second column. 2954 2955GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing 2956the output. 2957 2958Don't define the <NetMouse> termcode in an xterm, reduces the problem when 2959someone types <Esc> } in Insert mode. 2960 2961Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro 2962Matsumoto) 2963Using a filename in Big5 encoding for autocommands didn't work (backslash in 2964trailbyte). (Yasuhiro Matsumoto) 2965 2966DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like 2967Unix to avoid problems with Windows dir functions. Merged the DOS and Win32 2968functions. 2969 2970Win32: Gvimext could not edit more than a few files at once, the length of the 2971argument was fixed. 2972 2973"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to 2974raw mode when needed. Use dup() to copy the stderr file descriptor to stdin 2975to make shell commands work. No longer requires an external program to do 2976this. 2977 2978When using ":filetype off", ftplugin and indent usage would be switched off at 2979the same time. Don't do this, setting 'filetype' manually can still use them. 2980 2981GUI: When writing a double-byte character, it could be split up in two calls 2982to gui_write(), which doesn't work. Now flush before the output buffer 2983becomes full. 2984 2985When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message 2986would be written over the status line. 2987The ":intro" command didn't work when there wasn't enough room. 2988 2989Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha) 2990 2991Athena: When deleting the directory in which Vim was started, using the file 2992browser made Vim exit. Removed the use of XtAppError(). 2993 2994When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef 2995UNIX" to a separate line. 2996 2997Win32: Disabled _OnWindowPosChanging() to make maximize work better. 2998 2999Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe) 3000 3001Athena: 3002- Finally fixed the problems with deleting a menu. (David Harrison) 3003- Athena: When closing the confirm() dialog, worked like OK was pressed, 3004 instead of Cancel. 3005 3006The file explorer didn't work in compatible mode, because of line 3007continuation. 3008 3009Didn't give an error message for ":digraph a". 3010 3011When using Ex mode in the GUI and typing a special key, <BS> didn't delete it 3012correctly. Now display '?' for a special key. 3013 3014When an operator is pending, clicking in another window made it apply to that 3015window, even though the line numbers could be beyond the end of the buffer. 3016 3017When a function call doesn't have a terminating ")" Vim could crash. 3018 3019Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers) 3020 3021Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin) 3022 3023Using a syntax cluster that includes itself made Vim crash. 3024 3025GUI: With 'ls' set to 2, dragging the status line all the way up, then making 3026the Vim window smaller: Could not the drag status line anymore. 3027 3028"vim -c startinsert! file" placed cursor on last char of a line, instead of 3029after it. A ":set" command in the buffer menu set w_set_curswant. Now don't 3030do this when w_curswant is MAXCOL. 3031 3032Win32: When the gvim window was maximized and selecting another font, the 3033window would no longer fill the screen. 3034 3035The line with 'pastetoggle' in ":options" didn't show the right value when it 3036is a special key. Hitting <CR> didn't work either. 3037 3038Formatting text, resulting in a % landing in the first line, repeated the % in 3039the following lines, like it's the start of a comment. 3040 3041GTK: When adding a toolbar item while gvim is already running, it wasn't 3042possible to use the tooltip. Now it works by adding the tooltip first. 3043 3044The output of "g CTRL-G" mentioned "Char" but it's actually bytes. 3045 3046Searching for the end of a oneline region didn't work correctly when there is 3047an offset for the highlighting. 3048 3049Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the 3050start of a comment. 3051 3052Win32: Without scrollbars present, the MS mouse scroll wheel didn't work. 3053Also handle the scrollbars when they are not visible. 3054 3055Motif: When there is no right scrollbar, the bottom scrollbar would still 3056leave room for it. (Marcin Dalecki) 3057 3058When changing 'guicursor' and the value is invalid, some of the effects would 3059still take place. Now first check for errors and only make the new value 3060effective when it's OK. 3061 3062Using "A" In Visual block mode, appending to lines that don't extend into the 3063block, padding was wrong. 3064 3065When pasting a block of text, a character that occupies more than one screen 3066column could be deleted and spaces inserted instead. Now only do that with a 3067tab. 3068 3069Fixed conversion of documentation to HTML using Perl. (Dan Sharp) 3070 3071Give an error message when a menu name starts with a dot. 3072 3073Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem" 3074even when sys/ptem.h isn't present. 3075 3076When creating the temp directory, make sure umask is 077, otherwise the 3077directory is not accessible when it was set to 0177. 3078 3079Unix: When resizing the window and a redraw is a bit slow, could get a window 3080resize event while redrawing, resulting in a messed up window. Any input 3081(e.g., a mouse click) would redraw. 3082 3083The "%B" item in the status line became zero in Insert mode (that's normal) 3084for another than the current window. 3085 3086The menu entries to convert to xxd and back didn't work in Insert mode. 3087 3088When ":vglobal" didn't find a line where the pattern doesn't match, the error 3089message would be the wrong way around. 3090 3091When ignoring a multi-line error message with "%-A", the continuation lines 3092would be used anyway. (Servatius Brandt) 3093 3094"grx" on a double-wide character inserted "x", instead of replacing the 3095character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace 3096at all. When doing "gRxx" on a control character the first "x" would be 3097inserted, breaking the alignment. 3098 3099Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place 3100as where "==" would put it. 3101 3102Win32: When maximized, adding/removing toolbar didn't resize the text area. 3103 3104When using <C-RightMouse> a count was discarded. 3105 3106When typing CTRL-V and <RightMouse> in the command line, would insert 3107<LeftMouse>. 3108 3109Using "vis" or "vas" when 'selection' is exclusive didn't include the last 3110character. 3111 3112When adding to an option like 'grepprg', leading space would be lost. Don't 3113expand environment variables when there is no comma separating the items. 3114 3115GUI: When using a bold-italic font, would still use the bold trick and 3116underlining. 3117 3118Motif: The default button didn't work in dialogs, the first one was always 3119used. Had to give input focus to the default button. 3120 3121When using CTRL-T to jump within the same file, the '' mark wasn't set. 3122 3123Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the 3124whole ":s" command instead of each confirmed replacement. 3125 3126The Buffers menu, when torn-off, disappeared when being refreshed. Add a 3127dummy item to avoid this. 3128 3129Removed calling msg_start() in main(), it should not be needed. 3130 3131vim_strpbrk() did not support multibyte characters. (Muraoka Taro) 3132 3133The Amiga version didn't compile, the code was too big for relative jumps. 3134Moved a few files from ex_docmd.c to ex_cmds2.c 3135 3136When evaluating the "= register resulted in the "= register being changed, Vim 3137would crash. 3138 3139When doing ":view file" and it fails, the current buffer was made read-only. 3140 3141Motif: For some people the separators in the toolbar disappeared when resizing 3142the Vim window. (Marcin Dalecki) 3143 3144Win32 GUI: when setting 'lines' to a huge number, would not compute the 3145available space correctly. Was counting the menu height twice. 3146 3147Conversion of the docs to HTML didn't handle the line with the +quickfix tag 3148correctly. (Antonio Colombo) 3149 3150Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro 3151Matsumoto) 3152 3153The Cygwin version had trouble with fchdir(). Don't use that function for 3154Cygwin. 3155 3156The generic check in scripts.vim for "conf" syntax was done before some checks 3157in filetype.vim, resulting in "conf" syntax too often. 3158 3159Dos32: Typing lagged behind. Would wait for one biostick when checking if a 3160character is available. 3161 3162GTK: When setting 'columns' while starting up "gvim", would set the width of 3163the terminal it was started in. 3164 3165When using ESC in Insert mode, an autoindent that wraps to the next line 3166caused the cursor to move to the end of the line temporarily. When the 3167character before the cursor was a double-wide multi-byte character the cursor 3168would be on the right halve, which causes problems with some terminals. 3169 3170Didn't handle multi-byte characters correctly when expanding a file name. 3171(Yasuhiro Matsumoto) 3172 3173Win32 GUI: Errors generated before the GUI is decided to start were not 3174reported. 3175 3176globpath() didn't reserve enough room for concatenated results. (Anduin 3177Withers) 3178 3179When expanding an option that is very long already, don't do the expansion, it 3180would be truncated to MAXPATHL. (Anduin Withers) 3181 3182When 'selection' is "exclusive", using "Fx" in Visual mode only moved until 3183just after the character. 3184 3185When using IME on the console to enter a file name, the screen may scroll up. 3186Redraw the screen then. (Yasuhiro Matsumoto) 3187 3188Motif: In the find/replace dialog the "Replace" button didn't work first time, 3189second time it replaced all matches. Removed the use of ":s///c". 3190GTK: Similar problems with the find/replace dialog, moved the code to a common 3191function. 3192 3193X11: Use shared GC's for text. (Marcin Dalecki) 3194 3195"]i" found the match under the cursor, instead of the first one below it. 3196Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D". 3197 3198Win16: When maximized and the font is changed, don't change the window size. 3199(Vince Negri) 3200 3201When 'lbr' is set, deleting a block of text could leave the cursor in the 3202wrong position. 3203 3204Win32: When opening a file with the "Edit with Vim" popup menu entry, 3205wildcards would cause trouble. Added the "--literal" argument to avoid 3206expanding file names. 3207 3208When using "gv", it didn't restore that "$" was used in Visual block mode. 3209 3210Win32 GUI: While waiting for a shell command to finish, the window wasn't 3211redrawn at all. (Yasuhiro Matsumoto) 3212 3213Syntax highlighting: A match that continues on a next line because of a 3214contained region didn't end when that region ended. 3215 3216The ":s" command didn't allow flags like 'e' and 'i' right after it. 3217 3218When using ":s" to split a line, marks were moved to the next line. Vi keeps 3219them in the first line. 3220 3221When using ":n" ":rew", the previous context mark was at the top of the file, 3222while Vi puts it in the same place as the cursor. Made it Vi compatible. 3223 3224Fixed Vi incompatibility: Text was not put in register 1 when using "c" and 3225"d" with a motion character, when deleting within one line with one of the 3226commands: % ( ) `<character> / ? N n { } 3227 3228Win32 GUI: The tooltip for tear-off items remained when the tear-off item was 3229no longer selected. 3230 3231GUI: When typing ":" at the more prompt, would return to Normal mode and not 3232redraw the screen. 3233 3234When starting Vim with an argument "-c g/at/p" the printed lines would 3235overwrite each other. 3236 3237BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check 3238removed them. Various changes to os_beos.cc. (Joshua Haberman) 3239Removed the check for the hardware platform, the BeBox has not been produced 3240for a long time now. 3241 3242Win32 GUI: don't use a message box when the shell returns an error code, 3243display the message in the Vim window. 3244 3245Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't 3246work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp) 3247 3248When a line in the tags file ended in ;" (no TAB following) the command would 3249not be recognized as a search command. 3250 3251X11: The inputMethod resource never worked. Don't use the "none" input method 3252for SGI, it apparently makes the first character in Input method dropped. 3253 3254Fixed incorrect tests in os_mac.h. (Axel Kielhorn) 3255 3256Win32 console: When the console where Vim runs in is closed, Vim could hang in 3257trying to restore the window icon. (Yasuhiro Matsumoto) 3258 3259When using ":3call func()" or ":3,3call func() the line number was ignored. 3260 3261When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes 3262continued until the end of the line. 3263 3264GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't' 3265when starting up. 3266 3267MS-Windows: When the current directory includes a "~", searching files with 3268"gf" or ":find" didn't work. A "$" in the directory had the same problem. 3269Added mch_has_exp_wildcard() functions. 3270 3271When reducing the Vim window height while starting up, would get an 3272out-of-memory error message. 3273 3274When editing a very long search pattern, 'incsearch' caused the redraw of the 3275command line to fail. 3276 3277Motif GUI: On some systems the "Help" menu would not be on the far right, as 3278it should be. On some other systems (esp. IRIX) the command line would not 3279completely show. Solution is to only resize the menubar for Lesstif. 3280 3281Using "%" in a line that contains "\\" twice didn't take care of the quotes 3282properly. Now make a difference between \" and \\". 3283 3284For non-Unix systems a dummy file is created when finding a swap name to 3285detect a 8.3 filesystem. When there is an existing swap file, would get a 3286warning for the file being created outside of Vim. Also, when closing the Vim 3287window the file would remain. 3288 3289Motif: The menu height was always computed, using a "-menuheight" argument 3290was setting the room for the command line. Now make clear the argument is not 3291supported. 3292 3293For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to 3294avoid a duplicate case in a switch. 3295 3296The GUI may have problems when forking. Always call _exit() instead of exit() 3297in the parent, the child will call exit(). 3298 3299Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus. 3300Now use CP_ACP instead of CP_OEMCP. (Vince Negri) 3301 3302When displaying text with syntax highlighting causes an error (e.g., running 3303out of stack) the syntax highlighting is disabled to avoid further messages. 3304 3305When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was 3306started from the desktop (no place to display messages) it would hang. Now 3307open the GUI window early to be able to display the messages and pop up the 3308dialog. 3309 3310"r<CR>" on a multi-byte character deleted only the first byte of the 3311character. "3r<CR>" deleted three bytes instead of three characters. 3312 3313When interrupting reading a file, Vi considers the buffer modified. Added the 3314'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to 3315do ":q"). 3316 3317When using an item in 'guicursor' that starts with a colon, Vim would get 3318stuck or crash. 3319 3320When putting a file mark in a help file and later jumping back to it, the 3321options would not be set. Extended the modeline in all help files to make 3322this work better. 3323 3324When a modeline contained "::" the local option values would be printed. Now 3325ignore it. 3326 3327Some help files did not use a 8.3 names, which causes problems when using 3328MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to 3329"rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to 3330"os_risc.txt". 3331 3332When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That 3333doesn't seem right, only do this when in linewise mode. But then do it 3334always, not only when start and end of Visual mode are equal. 3335 3336When using "viw" on a single-letter word and 'selection' is exclusive, would 3337not include the word. 3338 3339When formatting text from Insert mode, using CTRL-O, could mess up undo 3340information. 3341 3342While writing a file (also for the backup file) there was no check for an 3343interrupt (hitting CTRL-C). Vim could hang when writing a large file over a 3344slow network, and moving the mouse didn't make it appear (when 'mousehide' is 3345set) and the screen wasn't updated in the GUI. Also allow interrupting when 3346syncing the swap file, it can take a long time. 3347 3348When using ":mksession" while there is help window, it would later be restored 3349to the right file but not marked as a help buffer. ":help" would then open 3350another window. Now use the value "help" for 'buftype' to mark a help buffer. 3351 3352The session file contained absolute path names in option values, that doesn't 3353work when the home directory depends on the situation. Replace the home 3354directory with ~/ when possible. 3355 3356When using 'showbreak' a TAB just after the shown break would not be counted 3357correctly, the cursor would be positioned wrong. 3358 3359With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting 3360tabs did not work right. Could cause a crash. Backspacing was also wrong, 3361could get stuck at a line break. 3362 3363Win32: crashed when tearing off a menu with over 300 items. 3364 3365GUI: A menu or toolbar item would appear when only a tooltip was defined for 3366it. 3367 3368When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the 3369last line of the file is the first line on screen, the text wasn't displayed. 3370 3371When running "autoconf", delete the configure cache to force starting cleanly 3372when configure is run again. 3373 3374When changing the Normal colors for cterm, the value of 'background' was 3375changed even when the GUI was used. 3376 3377The warning for a missing vimrun.exe was always given on startup, but some 3378people just editing a file don't need to be bothered by it. Only show it when 3379vimrun would be used. 3380 3381When using "%" in a multibyte text it could get confused by trailbytes that 3382match. (Muraoka Taro) 3383 3384Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes. 3385 3386Athena: The title of a dialog window and the file selector window were not 3387set. (David Harrison) 3388 3389The "htmlLink" highlight group specified colors, which gives problems when 3390using a color scheme. Added the "Underlined" highlight group for this. 3391 3392After using ":insert" or ":change" the '[ mark would be one line too low. 3393 3394When looking for the file name after a match with 'include' one character was 3395skipped. Same for 'define'. 3396 3397Win32 and DJGPP: When editing a file with a short name in a directory, and 3398editing the same file but using the long name, would end up with two buffers 3399on the same file. 3400 3401"gf" on a filename that starts with "../" only worked when the file being 3402edited is in the current directory. An include file search didn't work 3403properly for files starting with "../" or ".". Now search both relative to 3404the file and to the current directory. 3405 3406When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline' 3407contained "%{" but no following "}" memory was corrupted and a crash could 3408happen. 3409 3410":0append" and then inserting two lines did not redraw the blank lines that 3411were scrolled back down. 3412 3413When using insert mode completion in a narrow window, the message caused a 3414scroll up. Now shorten the message if it doesn't fit and avoid writing the 3415ruler over the message. 3416 3417XIM still didn't work correctly on some systems, especially SGI/IRIX. Added 3418the 'imdisable' option, which is set by default for that system. 3419 3420Patch 6.0aw.008 3421Problem: When the first character of a file name is over 127, the Buffers 3422 menu entry would get a negative priority and cause problems. 3423Solution: Reduce the multiplier for the first character when computing 3424 the hash value for a Buffers menu entry. 3425Files: runtime/menu.vim 3426 3427Patch 6.0aw.010 3428Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas) 3429Solution: Change slashes to backslashes in the directory passed to the file 3430 browser. 3431Files: src/gui_w48.c 3432 3433Athena file browser: On some systems wcstombs() can't be used to get the 3434length of a multi-byte string. Use the maximum length then. (Yasuhiro 3435Matsumoto) 3436 3437Patch 6.0ax.001 3438Problem: When 'patchmode' is set, appending to a file gives an empty 3439 original file. (Ed Ralston) 3440Solution: Also make a backup copy when appending and 'patchmode' is set. 3441Files: src/fileio.c 3442 3443Patch 6.0ax.002 3444Problem: When 'patchmode' is set, appending to a compressed file gives an 3445 uncompressed original file. (Ed Ralston) 3446Solution: Create the original file before decompressing. 3447Files: runtime/plugin/gzip.vim 3448 3449Patch 6.0ax.005 3450Problem: Athena file selector keeps the title of the first invocation. 3451Solution: Set the title each time the file selector is opened. (David 3452 Harrison) 3453Files: src/gui_at_fs.c 3454 3455Patch 6.0ax.007 3456Problem: When using GPM (mouse driver in a Linux console) a double click is 3457 interpreted as a scroll wheel click. 3458Solution: Check if GPM is being used when deciding if a mouse event is for 3459 the scroll wheel. 3460Files: src/term.c 3461 3462Patch 6.0ax.010 3463Problem: The Edit.Save menu and the Save toolbar button didn't work when 3464 the buffer has no file name. 3465Solution: Use a file browser to ask for a file name. Also fix the toolbar 3466 Find item in Visual mode. 3467Files: runtime/menu.vim 3468 3469Patch 6.0ax.012 3470Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth' 3471 doesn't redraw properly. (Stefan Schulze) 3472Solution: Remove the dollar before breaking the line. 3473Files: src/edit.c 3474 3475Patch 6.0ax.014 3476Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is 3477 "command.com" and 'makeprg' is "nmake". The environment isn't 3478 passed on to "nmake". 3479Solution: Also use vimrun.exe when redirecting the output of a command. 3480Files: src/os_win32.c 3481 3482Patch 6.0ax.016 3483Problem: The version number was reported wrong in the intro screen. 3484Solution: Check for a version number with two additional letters. 3485Files: src/version.c 3486 3487Patch 6.0ax.019 3488Problem: When scrolling a window with folds upwards, switching to another 3489 vertically split window and back may not update the scrollbar. 3490Solution: Limit w_botline to the number of lines in the buffer plus one. 3491Files: src/move.c 3492 3493 3494============================================================================== 3495VERSION 6.1 *version-6.1* 3496 3497This section is about improvements made between version 6.0 and 6.1. 3498 3499This is a bug-fix release, there are not really any new features. 3500 3501 3502Changed *changed-6.1* 3503------- 3504 3505'iminsert' and 'imsearch' are no longer set as a side effect of defining a 3506language-mapping using ":lmap". 3507 3508 3509Added *added-6.1* 3510----- 3511 3512Syntax files: 3513ampl AMPL (David Krief) 3514ant Ant (Johannes Zellner) 3515baan Baan (Her van de Vliert) 3516cs C# (Johannes Zellner) 3517lifelines Lifelines (Patrick Texier) 3518lscript LotusScript (Taryn East) 3519moo MOO (Timo Frenay) 3520nsis NSIS (Alex Jakushev) 3521ppd Postscript Printer Description (Bjoern Jacke) 3522rpl RPL/2 (Joel Bertrand) 3523scilab Scilab (Benoit Hamelin) 3524splint Splint (Ralf Wildenhues) 3525sqlj SQLJ (Andreas Fischbach) 3526wvdial WvDial (Prahlad Vaidyanathan) 3527xf86conf XFree86 config (Nikolai Weibull) 3528xmodmap Xmodmap (Nikolai Weibull) 3529xslt Xslt (Johannes Zellner) 3530monk Monk (Mike Litherland) 3531xsd Xsd (Johannes Zellner) 3532cdl CDL (Raul Segura Acevedo) 3533sendpr Send-pr (Hendrik Scholz) 3534 3535Added indent file for Scheme. (Dorai Sitaram) 3536Added indent file for Prolog. (Kontra Gergely) 3537Added indent file for Povray (David Necas) 3538Added indent file for IDL (Aleksandar Jelenak) 3539Added C# indent and ftplugin scripts. 3540 3541Added Ukrainian menu translations. (Bohdan Vlasyuk) 3542Added ASCII version of the Czech menus. (Jiri Brezina) 3543 3544Added Simplified Chinese translation of the tutor. (Mendel L Chan) 3545 3546Added Russian keymap for yawerty keyboard. 3547 3548Added an explanation of using the vimrc file in the tutor. 3549Changed tutor.vim to get the right encoding for the Taiwainese tutor. 3550 3551Added Russian tutor. (Andrey Kiselev) 3552Added Polish tutor. (Mikolaj Machowski) 3553 3554Added darkblue color scheme. (Bohdan Vlasyuk) 3555 3556When packing the dos language archive automatically generate the .mo files 3557that are required. 3558 3559Improved NSIS script to support NSIS 180. Added icons for the 3560enabled/disabled status. (Mirek Pruchnik) 3561 3562cp1250 version of the Slovak message translations. 3563 3564Compiler plugins for IRIX compilers. (David Harrison) 3565 3566 3567Fixed *fixed-6.1* 3568----- 3569 3570The license text was updated to make the meaning clearer and make it 3571compatible with the GNU GPL. Otherwise distributors have a problem when 3572linking Vim with a GPL'ed library. 3573 3574When installing the "less.sh" script it was not made executable. (Chuck Berg) 3575 3576Win32: The "9" key on the numpad wasn't working. (Julian Kinraid) 3577 3578The NSIS install script didn't work with NSIS 1.80 or later. Also add 3579Vim-specific icons. (Pruchnik) 3580 3581The script for conversion to HTML contained an "if" in the wrong place. 3582(Michael Geddes) 3583 3584Allow using ":ascii" in the sandbox, it's harmless. 3585 3586Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when 3587it's redefined to creat64(). 3588 3589The text files in the VisVim directory were in "dos" format. This caused 3590problems when applying a patch. Now keep them in "unix" format and convert 3591them to "dos" format only for the PC archives. 3592 3593Add ruby files to the dos source archive, they can be used by Make_mvc.mak. 3594(Mirek Pruchnik) 3595 3596"cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm 3597-f" and "cp". 3598 3599Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger) 3600 3601The GTK file selection dialog didn't include the "Create Dir", "Delete File" 3602and "Rename File" buttons. 3603 3604When doing ":browse source" the dialog has the title "Run Macro". Better 3605would be "Source Vim script". (Yegappan Lakshmanan) 3606 3607Win32: Don't use the printer font as default for the font dialog. 3608 3609"make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to 3610"yes". (Mirek Pruchnik) 3611 3612The ToolBar TagJump item used "g]", which prompts for a selection even when 3613there is only one matching tag. Use "g<C-]>" instead. 3614 3615The ming makefile for message translations didn't have the right list of 3616files. 3617 3618The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile 3619this version without message translations. 3620 3621The Borland 5 makefile contained a check for Ruby which is no longer needed. 3622The URLs for the TCL library was outdated. (Dan Sharp) 3623 3624The eviso.ps file was missing from the DOS runtime archive, it's needed for 3625printing PostScript in the 32bit DOS version. 3626 3627In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032 3628Now use ":scriptencoding" in the file where the translations are given. Do 3629the same for all menus in latin1 encoding. 3630 3631Included a lot of fixes for the Macintosh, mostly to make it work with Carbon. 3632(Dany StAmant, Axel Kielhorn, Benji Fisher) 3633 3634Improved the vimtutor shell script to use $TMPDIR when it exists, and delete 3635the copied file when exiting in an abnormal way. (Max Ischenko) 3636 3637When "iconv.dll" can't be found, try using "libiconv.dll". 3638 3639When encryption is used, filtering with a shell command wasn't possible. 3640 3641DJGPP: ":cd c:" always failed, can't get permissions for "c:". 3642Win32: ":cd c:/" failed if the previous current directory on c: had become 3643invalid. 3644 3645DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is 3646wrong. Disabled it. 3647 3648Dependencies on header files in MingW makefile was wrong. 3649 3650Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe) 3651 3652Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a 3653different argument to make didn't regenerate it. 3654 3655Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different 3656directory, the if_ole.h in the src directory may be used instead. Delete the 3657distributed file. 3658 3659When a window is vertically split and then ":ball" is used, the window layout 3660is messed up, can cause a crash. (Muraoka Taro) 3661 3662When 'insertmode' is set, using File/New menu and then double clicking, "i" is 3663soon inserted. (Merlin Hansen) 3664 3665When Select mode is active and using the Buffers menu to switch to another 3666buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer" 3667command. 3668 3669When Select mode is active and 'insertmode' is set, using the Buffers menu to 3670switch to another buffer, did not return to Insert mode. Make sure 3671"restart_edit" is set. 3672 3673When double clicking on the first character of a word while 'selection' is 3674"exclusive" didn't select that word. 3675 3676 3677Patch 6.0.001 3678Problem: Loading the sh.vim syntax file causes error messages . (Corinna 3679 Vinschen) 3680Solution: Add an "if". (Charles Campbell) 3681Files: runtime/syntax/sh.vim 3682 3683Patch 6.0.002 3684Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert) 3685Solution: Add '@' to the list of accepted items. 3686Files: src/option.c 3687 3688Patch 6.0.003 3689Problem: The configure check for ACLs on AIX doesn't work. 3690Solution: Fix the test program so that it compiles. (Tomas Ogren) 3691Files: src/configure.in, src/auto/configure 3692 3693Patch 6.0.004 3694Problem: The find/replace dialog doesn't reuse a previous argument 3695 properly. 3696Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo) 3697Files: src/gui.c 3698 3699Patch 6.0.005 3700Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing. 3701Solution: Don't delay just after wait_return() was called. Added the 3702 did_wait_return flag. 3703Files: src/globals.h, src/message.c, src/normal.c, src/screen.c 3704 3705Patch 6.0.006 3706Problem: With a vertical split, 'number' set and 'scrolloff' non-zero, 3707 making the window width very small causes a crash. (Niklas 3708 Lindstrom) 3709Solution: Check for a zero width. 3710Files: src/move.c 3711 3712Patch 6.0.007 3713Problem: When setting 'filetype' while there is no FileType autocommand, a 3714 following ":setfiletype" would set 'filetype' again. (Kobus 3715 Retief) 3716Solution: Set did_filetype always when 'filetype' has been set. 3717Files: src/option.c 3718 3719Patch 6.0.008 3720Problem: 'imdisable' is missing from the options window. (Michael Naumann) 3721Solution: Add an entry for it. 3722Files: runtime/optwin.vim 3723 3724Patch 6.0.009 3725Problem: Nextstep doesn't have S_ISBLK. (John Beppu) 3726Solution: Define S_ISBLK using S_IFBLK. 3727Files: src/os_unix.h 3728 3729Patch 6.0.010 3730Problem: Using "gf" on a file name starting with "./" or "../" in a buffer 3731 without a name causes a crash. (Roy Lewis) 3732Solution: Check for a NULL file name. 3733Files: src/misc2.c 3734 3735Patch 6.0.011 3736Problem: Python: After replacing or deleting lines get an ml_get error. 3737 (Leo Lipelis) 3738Solution: Adjust the cursor position for deleted or added lines. 3739Files: src/if_python.c 3740 3741Patch 6.0.012 3742Problem: Polish translations contain printf format errors, this can result 3743 in a crash when using one of them. 3744Solution: Fix for translated messages. (Michal Politowski) 3745Files: src/po/pl.po 3746 3747Patch 6.0.013 3748Problem: Using ":silent! cmd" still gives some error messages, like for an 3749 invalid range. (Salman Halim) 3750Solution: Reset emsg_silent after calling emsg() in do_one_cmd(). 3751Files: src/ex_docmd.c 3752 3753Patch 6.0.014 3754Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB 3755 still changes the buffer. (Muraoka Taro) 3756Solution: Check if saving the line for undo fails. 3757Files: src/normal.c 3758 3759Patch 6.0.015 3760Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been 3761 used, can get an error for deleting the b:did_ftplugin variable. 3762 (Ralph Henderson) 3763Solution: Only delete the variable when it exists. 3764Files: runtime/ftplugin.vim 3765 3766Patch 6.0.016 3767Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when 3768 the argument is a string. (Hari Krishna Dara) 3769 Also for setbufvar() and getbufvar(). 3770Solution: Also find unlisted buffers. 3771Files: src/eval.c 3772 3773Patch 6.0.017 3774Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co 3775 and the external one doesn't, it gets reset to empty. (David 3776 Harrison) 3777Solution: Only set t_Co when it wasn't set yet. 3778Files: src/term.c 3779 3780Patch 6.0.018 3781Problem: Initializing 'encoding' may cause a crash when setlocale() is not 3782 used. (Dany St-Amant) 3783Solution: Check for a NULL pointer. 3784Files: src/mbyte.c 3785 3786Patch 6.0.019 3787Problem: Converting a string with multi-byte characters to a printable 3788 string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) 3789Solution: Correctly compute the length of the result in transstr(). 3790Files: src/charset.c 3791 3792Patch 6.0.020 3793Problem: When obtaining the value of a global variable internally, could 3794 get the function-local value instead. Applies to using <Leader> 3795 and <LocalLeader> and resetting highlighting in a function. 3796Solution: Prepend "g:" to the variable name. (Aric Blumer) 3797Files: src/syntax.c, src/term.c 3798 3799Patch 6.0.021 3800Problem: The 'cscopepathcomp' option didn't work. 3801Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng) 3802Files: src/option.c 3803 3804Patch 6.0.022 3805Problem: When using the 'langmap' option, the second character of a command 3806 starting with "g" isn't adjusted. 3807Solution: Apply 'langmap' to the second character. (Alex Kapranoff) 3808Files: src/normal.c 3809 3810Patch 6.0.023 3811Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen) 3812Solution: Use ":runtime" instead of "source" to load haskell.vim. 3813Files: runtime/syntax/lhaskell.vim 3814 3815Patch 6.0.024 3816Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah 3817 Levitt) 3818Solution: Don't insert a NUL byte in the text, use a newline. 3819Files: src/misc1.c 3820 3821Patch 6.0.025 3822Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line. 3823 (Preben Peppe Guldberg) 3824Solution: Always see a "$" as end-of-line after "\v". Do the same for "^". 3825Files: src/regexp.c 3826 3827Patch 6.0.026 3828Problem: GTK: When using arrow keys to navigate through the menus, the 3829 separators are selected. 3830Solution: Set the separators "insensitive". (Pavel Kankovsky) 3831Files: src/gui_gtk.c, src/gui_gtk_x11.c 3832 3833Patch 6.0.027 3834Problem: VMS: Printing doesn't work, the file is deleted too quickly. 3835 No longer need the VMS specific printing menu. 3836 gethostname() is not available with VAXC. 3837 The makefile was lacking selection of the tiny-huge feature set. 3838Solution: Adjust the 'printexpr' option default. Fix the other problems and 3839 update the documentation. (Zoltan Arpadffy) 3840Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt, 3841 src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h 3842 3843Patch 6.0.028 3844Problem: Can't compile without +virtualedit and with +visualextra. (Geza 3845 Lakner) 3846Solution: Add an #ifdef for +virtualedit. 3847Files: src/ops.c 3848 3849Patch 6.0.029 3850Problem: When making a change in line 1, then in line 2 and then deleting 3851 line 1, undo info could be wrong. Only when the changes are undone 3852 at once. (Gerhard Hochholzer) 3853Solution: When not saving a line for undo because it was already done 3854 before, remember for which entry the last line must be computed. 3855 Added ue_getbot_entry pointer for this. When the number of lines 3856 changes, adjust the position of newer undo entries. 3857Files: src/structs.h, src/undo.c 3858 3859Patch 6.0.030 3860Problem: Using ":source! file" doesn't work inside a loop or after 3861 ":argdo". (Pavol Juhas) 3862Solution: Execute the commands in the file right away, do not let the main 3863 loop do it. 3864Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h, 3865 src/proto/ex_docmd.pro, src/proto/getchar.pro 3866 3867Patch 6.0.031 3868Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu) 3869Solution: Move putenv() from pty.c to misc2.c 3870Files: src/misc2.c, src/pty.c 3871 3872Patch 6.0.032 3873Problem: When changing a setting that affects all folds, they are not 3874 displayed immediately. 3875Solution: Set the redraw flag in foldUpdateAll(). 3876Files: src/fold.c 3877 3878Patch 6.0.033 3879Problem: Using 'wildmenu' on MS-Windows, file names that include a space 3880 are only displayed starting with that space. (Xie Yuheng) 3881Solution: Don't recognize a backslash before a space as a path separator. 3882Files: src/screen.c 3883 3884Patch 6.0.034 3885Problem: Calling searchpair() with three arguments could result in a crash 3886 or strange error message. (Kalle Bjorklid) 3887Solution: Don't use the fifth argument when there is no fourth argument. 3888Files: src/eval.c 3889 3890Patch 6.0.035 3891Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work 3892 when 'ignorecase' is set. (Allen Castaban) 3893Solution: Always match case when checking if a flag is already present in 3894 'guioptions'. 3895Files: runtime/menu.vim 3896 3897Patch 6.0.036 3898Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a 3899 slash in 'tags' doesn't work as expected. (Mathias Koehrer) 3900Solution: Only use the drive, not the whole path to the current directory. 3901 Also make it work for "c:dir/file". 3902Files: src/misc2.c 3903 3904Patch 6.0.037 3905Problem: When the user has set "did_install_syntax_menu" to avoid the 3906 default Syntax menu it still appears. (Virgilio) 3907Solution: Don't add the three default items when "did_install_syntax_menu" 3908 is set. 3909Files: runtime/menu.vim 3910 3911Patch 6.0.038 3912Problem: When 'selection' is "exclusive", deleting a block of text at the 3913 end of a line can leave the cursor beyond the end of the line. 3914Solution: Correct the cursor position. 3915Files: src/ops.c 3916 3917Patch 6.0.039 3918Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is 3919 used. Using "c" in blockwise Visual mode leaves the cursor in a 3920 strange position. 3921Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave 3922 the cursor on the last inserted character. 3923Files: src/ops.c 3924 3925Patch 6.0.040 3926Problem: When 'fileencoding' is invalid and writing fails because of 3927 this, the original file is gone. (Eric Carlier) 3928Solution: Restore the original file from the backup. 3929Files: src/fileio.c 3930 3931Patch 6.0.041 3932Problem: Using ":language messages en" when LC_MESSAGES is undefined 3933 results in setting LC_CTYPE. (Eric Carlier) 3934Solution: Set $LC_MESSAGES instead. 3935Files: src/ex_cmds2.c 3936 3937Patch 6.0.042 3938Problem: ":mksession" can't handle file names with a space. 3939Solution: Escape special characters in file names with a backslash. 3940Files: src/ex_docmd.c 3941 3942Patch 6.0.043 3943Problem: Patch 6.0.041 was wrong. 3944Solution: Use mch_getenv() instead of vim_getenv(). 3945Files: src/ex_cmds2.c 3946 3947Patch 6.0.044 3948Problem: Using a "containedin" list for a syntax item doesn't work for an 3949 item that doesn't have a "contains" argument. Also, "containedin" 3950 doesn't ignore a transparent item. (Timo Frenay) 3951Solution: When there is a "containedin" argument somewhere, always check for 3952 contained items. Don't check for the transparent item but the 3953 item it's contained in. 3954Files: src/structs.h, src/syntax.c 3955 3956Patch 6.0.045 3957Problem: After creating a fold with a Visual selection, another window 3958 with the same buffer still has inverted text. (Sami Salonen) 3959Solution: Redraw the inverted text. 3960Files: src/normal.c 3961 3962Patch 6.0.046 3963Problem: When getrlimit() returns an 8 byte number the check for running 3964 out of stack may fail. (Anthony Meijer) 3965Solution: Skip the stack check if the limit doesn't fit in a long. 3966Files: src/auto/configure, src/config.h.in, src/configure.in, 3967 src/os_unix.c 3968 3969Patch 6.0.047 3970Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash. 3971 (Samuel Lacas) 3972Solution: Don't allow nested atoms inside "\%[]". 3973Files: src/regexp.c 3974 3975Patch 6.0.048 3976Problem: Win32: In the console the mouse doesn't always work correctly. 3977 Sometimes after getting focus a mouse movement is interpreted like 3978 a button click. 3979Solution: Use a different function to obtain the number of mouse buttons. 3980 Avoid recognizing a button press from undefined bits. (Vince Negri) 3981Files: src/os_win32.c 3982 3983Patch 6.0.049 3984Problem: When using evim the intro screen is misleading. (Adrian Nagle) 3985Solution: Mention whether 'insertmode' is set and the menus to be used. 3986Files: runtime/menu.vim, src/version.c 3987 3988Patch 6.0.050 3989Problem: UTF-8: "viw" doesn't include non-ASCII characters before the 3990 cursor. (Bertilo Wennergren) 3991Solution: Use dec_cursor() instead of decrementing the column number. 3992Files: src/search.c 3993 3994Patch 6.0.051 3995Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing 3996 characters. (Ron Aaron) 3997Solution: Also include the composing characters and fix redrawing them. 3998Files: src/ex_getln.c, src/ops.c 3999 4000Patch 6.0.052 4001Problem: The check for rlim_t in patch 6.0.046 does not work on some 4002 systems. (Zdenek Sekera) 4003Solution: Also look in sys/resource.h for rlim_t. 4004Files: src/auto/configure, src/configure.in 4005 4006Patch 6.0.053 (extra) 4007Problem: Various problems with QNX. 4008Solution: Minor fix for configure. Switch on terminal clipboard support in 4009 main.c. Fix "pterm" mouse support. os_qnx.c didn't build without 4010 photon. (Julian Kinraid) 4011Files: src/auto/configure, src/configure.in, src/gui_photon.c, 4012 src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h, 4013 src/syntax.c 4014 4015Patch 6.0.054 4016Problem: When using mswin.vim, CTRL-V pastes a block of text like it is 4017 normal text. Using CTRL-V in blockwise Visual mode leaves "x" 4018 characters behind. 4019Solution: Make CTRL-V work as it should. Do the same for the Paste menu 4020 entries. 4021Files: runtime/menu.vim, runtime/mswin.vim 4022 4023Patch 6.0.055 4024Problem: GTK: The selection isn't copied the first time. 4025Solution: Own the selection at the right moment. 4026Files: src/gui_gtk_x11.c 4027 4028Patch 6.0.056 4029Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode. 4030 <Esc> doesn't leave Insert mode then. 4031Solution: Only use nested Insert mode when 'insertmode' is set or when a 4032 mapping is used. 4033Files: src/normal.c 4034 4035Patch 6.0.057 4036Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway) 4037Solution: Execute the command directly, instead of putting it in the 4038 typeahead buffer. 4039Files: src/normal.c, src/proto/normal.pro, src/window.c 4040 4041Patch 6.0.058 4042Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't 4043 updated. (Bohdan Vlasyuk) 4044Solution: Update the ruler after executing the autocommands. 4045Files: src/gui.c 4046 4047Patch 6.0.059 4048Problem: Highlighting for 'hlsearch' isn't visible in lines that are 4049 highlighted for diff highlighting. (Gary Holloway) 4050Solution: Let 'hlsearch' highlighting overrule diff highlighting. 4051Files: src/screen.c 4052 4053Patch 6.0.060 4054Problem: Motif: When the tooltip is to be popped up, Vim crashes. 4055 (Gary Holloway) 4056Solution: Check for a NULL return value from gui_motif_fontset2fontlist(). 4057Files: src/gui_beval.c 4058 4059Patch 6.0.061 4060Problem: The toolbar buttons to load and save a session do not correctly 4061 use v:this_session. 4062Solution: Check for v:this_session to be empty instead of existing. 4063Files: runtime/menu.vim 4064 4065Patch 6.0.062 4066Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan 4067 Lakshmanan) 4068Solution: Avoid giving a NULL pointer to printf(). Also output a newline 4069 and switch the cursor on. 4070Files: src/misc2.c 4071 4072Patch 6.0.063 4073Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of 4074 the "$" doesn't update syntax highlighting after it. 4075Solution: Stop displaying the "$" when typing a ')' in its position. 4076Files: src/search.c 4077 4078Patch 6.0.064 (extra) 4079Problem: The NSIS install script doesn't work with newer versions of NSIS. 4080 The diff feature doesn't work when there isn't a good diff.exe on 4081 the system. 4082Solution: Replace the GetParentDir instruction by a user function. 4083 Fix a few cosmetic problems. Use defined constants for the 4084 version number, so that it's defined in one place only. 4085 Only accept the install directory when it ends in "vim". 4086 (Eduardo Fernandez) 4087 Add a diff.exe and use it from the default _vimrc. 4088Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c 4089 4090Patch 6.0.065 4091Problem: When using ":normal" in 'indentexpr' it may use redo characters 4092 before its argument. (Neil Bird) 4093Solution: Save and restore the stuff buffer in ex_normal(). 4094Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h 4095 4096Patch 6.0.066 4097Problem: Sometimes undo for one command is split into two undo actions. 4098 (Halim Salman) 4099Solution: Don't set the undo-synced flag when reusing a line that was 4100 already saved for undo. 4101Files: src/undo.c 4102 4103Patch 6.0.067 4104Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined 4105 in the usual header file (e.g., AIX). (Mark Waggoner) 4106Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it. 4107Files: src/if_xcmdsrv.c 4108 4109Patch 6.0.068 4110Problem: When formatting a Visually selected area with "gq" and the number 4111 of lines increases the last line may not be redrawn correctly. 4112 (Yegappan Lakshmanan) 4113Solution: Correct the area to be redrawn for inserted/deleted lines. 4114Files: src/ops.c 4115 4116Patch 6.0.069 4117Problem: Using "K" on a word that includes a "!" causes a "No previous 4118 command" error, because the "!" is expanded. (Craig Jeffries) 4119Solution: Put a backslash before the "!". 4120Files: src/normal.c 4121 4122Patch 6.0.070 4123Problem: Win32: The error message for a failed dynamic linking of a Perl, 4124 Ruby, Tcl and Python library is unclear about what went wrong. 4125Solution: Give the name of the library or function that could not be loaded. 4126 Also for the iconv and gettext libraries when 'verbose' is set. 4127Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, 4128 src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro, 4129 src/proto/if_python.pro, src/proto/if_ruby.pro, 4130 src/proto/if_tcl.pro, src/proto/mbyte.pro 4131 4132Patch 6.0.071 4133Problem: The "iris-ansi" builtin termcap isn't very good. 4134Solution: Fix the wrong entries. (David Harrison) 4135Files: src/term.c 4136 4137Patch 6.0.072 4138Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves 4139 the cursor and starts Visual mode again causes a redraw problem. 4140 (Brian Silverman) 4141Solution: Redraw both the old and the new Visual area when necessary. 4142Files: src/normal.c, src/screen.c 4143 4144Patch 6.0.073 (extra) 4145Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway 4146 the text. (Volker Kiefel) 4147Solution: Position the system cursor before starting the shell. 4148Files: src/os_msdos.c 4149 4150Patch 6.0.074 4151Problem: When using "&" in a substitute string a multi-byte character with 4152 a trailbyte 0x5c is not handled correctly. 4153Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro) 4154Files: src/regexp.c 4155 4156Patch 6.0.075 4157Problem: When closing a horizontally split window while 'eadirection' is 4158 "hor" another horizontally split window is still resized. (Aron 4159 Griffis) 4160Solution: Only resize windows in the same top frame as the window that is 4161 split or closed. 4162Files: src/main.c, src/proto/window.pro, src/window.c 4163 4164Patch 6.0.076 4165Problem: Warning for wrong pointer type when compiling. 4166Solution: Use char instead of char_u pointer. 4167Files: src/version.c 4168 4169Patch 6.0.077 4170Problem: Patch 6.0.075 was incomplete. 4171Solution: Fix another call to win_equal(). 4172Files: src/option.c 4173 4174Patch 6.0.078 4175Problem: Using "daw" at the end of a line on a single-character word didn't 4176 include the white space before it. At the end of the file it 4177 didn't work at all. (Gavin Sinclair) 4178Solution: Include the white space before the word. 4179Files: src/search.c 4180 4181Patch 6.0.079 4182Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can 4183 still overwrite a read-only file, because it's renamed. (Gary 4184 Holloway) 4185Solution: Add a check for a read-only file before renaming the file to 4186 become the backup. 4187Files: src/fileio.c 4188 4189Patch 6.0.080 4190Problem: When using a session file that has the same file in two windows, 4191 the fileinfo() call in do_ecmd() causes a scroll and a hit-enter 4192 prompt. (Robert Webb) 4193Solution: Don't scroll this message when 'shortmess' contains 'O'. 4194Files: src/ex_cmds.c 4195 4196Patch 6.0.081 4197Problem: After using ":saveas" the new buffer name is added to the Buffers 4198 menu with a wrong number. (Chauk-Mean Proum) 4199Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer 4200 and BufAdd for the old name (which is with a new buffer). 4201Files: src/ex_cmds.c 4202 4203Patch 6.0.082 4204Problem: When swapping screens in an xterm and there is an (error) message 4205 from the vimrc script, the shell prompt is after the message. 4206Solution: Output a newline when there was output on the alternate screen. 4207 Also when starting the GUI. 4208Files: src/main.c 4209 4210Patch 6.0.083 4211Problem: GTK: When compiled without menu support the buttons in a dialog 4212 don't have any text. (Erik Edelmann) 4213Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define 4214 GTK_USE_ACCEL also when not using menus. 4215Files: src/gui_gtk.c 4216 4217Patch 6.0.084 4218Problem: UTF-8: a "r" command with an argument that is a keymap for a 4219 character with a composing character can't be repeated with ".". 4220 (Raphael Finkel) 4221Solution: Add the composing characters to the redo buffer. 4222Files: src/normal.c 4223 4224Patch 6.0.085 4225Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then 4226 moving the mouse pointer to another window stops Insert mode, 4227 while this doesn't happen with "a" or "i". (Robert Webb) 4228Solution: Reset finish_op before calling edit(). 4229Files: src/normal.c 4230 4231Patch 6.0.086 4232Problem: When using "gu" the message says "~ed". 4233Solution: Make the message say "changed". 4234Files: src/ops.c 4235 4236Patch 6.0.087 (lang) 4237Problem: Message translations are incorrect, which may cause a crash. 4238 (Peter Figura) 4239 The Turkish translations needed more work and the maintainer 4240 didn't have time. 4241Solution: Fix order of printf arguments. Remove %2$d constructs. 4242 Add "-v" to msgfmt to get a warning for wrong translations. 4243 Don't install the Turkish translations for now. 4244 Update a few more translations. 4245Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po, 4246 src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po, 4247 src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po, 4248 src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po, 4249 src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po 4250 4251Patch 6.0.088 4252Problem: "." doesn't work after using "rx" in Visual mode. (Charles 4253 Campbell) 4254Solution: Also store the replacement character in the redo buffer. 4255Files: src/normal.c 4256 4257Patch 6.0.089 4258Problem: In a C file, using "==" to align a line starting with "* " after 4259 a line with "* -" indents one space too few. (Piet Delport) 4260Solution: Align with the previous line if the comment-start-string matches 4261 there. 4262Files: src/misc1.c 4263 4264Patch 6.0.090 4265Problem: When a wrapping line does not fit in a window and 'scrolloff' is 4266 bigger than half the window height, moving the cursor left or 4267 right causes the screen to flash badly. (Lubomir Host) 4268Solution: When there is not enough room to show 'scrolloff' screen lines and 4269 near the end of the line, show the end of the line. 4270Files: src/move.c 4271 4272Patch 6.0.091 4273Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the 4274 cursor is after the end-of-line, moves the cursor left. (Yegappan 4275 Lakshmanan) 4276Solution: Keep the cursor in the same position. 4277Files: src/edit.c 4278 4279Patch 6.0.092 4280Problem: The explorer plugin doesn't ignore case of 'suffixes' on 4281 MS-Windows. (Mike Williams) 4282Solution: Match or ignore case as appropriate for the OS. 4283Files: runtime/plugin/explorer.vim 4284 4285Patch 6.0.093 4286Problem: When the Tcl library couldn't be loaded dynamically, get an error 4287 message when closing a buffer or window. (Muraoka Taro) 4288Solution: Only free structures if already using the Tcl interpreter. 4289Files: src/if_tcl.c 4290 4291Patch 6.0.094 4292Problem: Athena: When clicking in the horizontal scrollbar Vim crashes. 4293 (Paul Ackersviller) 4294Solution: Use the thumb size instead of the window pointer of the scrollbar 4295 (which is NULL). (David Harrison) 4296 Also avoid that scrolling goes the wrong way in a narrow window. 4297Files: src/gui_athena.c 4298 4299Patch 6.0.095 4300Problem: Perl: Deleting lines may leave the cursor beyond the end of the 4301 file. 4302Solution: Check the cursor position after deleting a line. (Serguei) 4303Files: src/if_perl.xs 4304 4305Patch 6.0.096 4306Problem: When ":saveas fname" fails because the file already exists, the 4307 file name is changed anyway and a following ":w" will overwrite 4308 the file. (Eric Carlier) 4309Solution: Don't change the file name if the file already exists. 4310Files: src/ex_cmds.c 4311 4312Patch 6.0.097 4313Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a 4314 multi-byte encoding. 4315Solution: Avoid using a character before the start of a line. (Sergey 4316 Vlasov) 4317Files: src/edit.c 4318 4319Patch 6.0.098 4320Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog 4321 boxes are not translated. 4322Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez) 4323Files: src/gui_gtk.c, src/gui_gtk_x11.c 4324 4325Patch 6.0.099 4326Problem: Cygwin: When running Vi compatible MS-DOS line endings cause 4327 trouble. 4328Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible 4329 mode. (Michael Schaap) 4330Files: src/option.h 4331 4332Patch 6.0.100 4333Problem: ":badd +0 test%file" causes a crash. 4334Solution: Take into account that the "+0" is NUL terminated when allocating 4335 room for replacing the "%". 4336Files: src/ex_docmd.c 4337 4338Patch 6.0.101 4339Problem: ":mksession" doesn't restore editing a file that has a '#' or '%' 4340 in its name. (Wolfgang Blankenburg) 4341Solution: Put a backslash before the '#' and '%'. 4342Files: src/ex_docmd.c 4343 4344Patch 6.0.102 4345Problem: When changing folds the cursor may appear halfway a closed fold. 4346 (Nam SungHyun) 4347Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto) 4348Files: src/move.c 4349 4350Patch 6.0.103 4351Problem: When using 'scrollbind' a large value of 'scrolloff' will make the 4352 scroll binding stop near the end of the file. (Coen Engelbarts) 4353Solution: Don't use 'scrolloff' when limiting the topline for scroll 4354 binding. (Dany StAmant) 4355Files: src/normal.c 4356 4357Patch 6.0.104 4358Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide 4359 character that overwrites the left halve of an old double-wide 4360 character causes a redraw problem and the cursor stops blinking. 4361Solution: Clear the right half of the old character. (Yasuhiro Matsumoto) 4362Files: src/edit.c, src/screen.c 4363 4364Patch 6.0.105 4365Problem: Multi-byte: In a window of one column wide, with syntax 4366 highlighting enabled a crash might happen. 4367Solution: Skip getting the syntax attribute when the character doesn't fit 4368 anyway. (Yasuhiro Matsumoto) 4369Files: src/screen.c 4370 4371Patch 6.0.106 (extra) 4372Problem: Win32: When the printer font is wrong, there is no error message. 4373Solution: Give an appropriate error message. (Yasuhiro Matsumoto) 4374Files: src/os_mswin.c 4375 4376Patch 6.0.107 (extra) 4377Problem: VisVim: When editing another file, a modified file may be written 4378 unexpectedly and without warning. 4379Solution: Split the window if a file was modified. 4380Files: VisVim/Commands.cpp 4381 4382Patch 6.0.108 4383Problem: When using folding could try displaying line zero, resulting in an 4384 error for a NULL pointer. 4385Solution: Stop decrementing w_topline when the first line of a window is in 4386 a closed fold. 4387Files: src/window.c 4388 4389Patch 6.0.109 4390Problem: XIM: When the input method is enabled, repeating an insertion with 4391 "." disables it. (Marcel Svitalsky) 4392Solution: Don't store the input method status when a command comes from the 4393 stuff buffer. 4394Files: src/ui.c 4395 4396Patch 6.0.110 4397Problem: Using undo after executing "OxjAxkdd" from a register in 4398 an empty buffer gives an error message. (Gerhard Hochholzer) 4399Solution: Don't adjust the bottom line number of an undo block when it's 4400 zero. Add a test for this problem. 4401Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok 4402 4403Patch 6.0.111 4404Problem: The virtcol() function doesn't take care of 'virtualedit'. 4405Solution: Add the column offset when needed. (Yegappan Lakshmanan) 4406Files: src/eval.c 4407 4408Patch 6.0.112 4409Problem: The explorer plugin doesn't sort directories with a space or 4410 special character after a directory with a shorter name. 4411Solution: Ignore the trailing slash when comparing directory names. (Mike 4412 Williams) 4413Files: runtime/plugin/explorer.vim 4414 4415Patch 6.0.113 4416Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also, 4417 expanding wildcards with the shell may fail. (John Daniel) 4418Solution: Escape spaces with a backslash when needed. 4419Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c 4420 4421Patch 6.0.114 4422Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a 4423 full path. For Win32 the current directory was prepended. 4424 (Michael Geddes) 4425Solution: Expand the home directory. 4426Files: src/eval.c 4427 4428Patch 6.0.115 (extra) 4429Problem: Win32: When using a dialog with a textfield it cannot scroll the 4430 text. 4431Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes) 4432Files: src/gui_w32.c 4433 4434Patch 6.0.116 (extra) 4435Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for 4436 filesystems that use ACLs. 4437Solution: Use ACL functions to check if a file is writable. (Mike Williams) 4438Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro 4439 4440Patch 6.0.117 (extra) 4441Problem: Win32: when disabling the menu, "set lines=999" doesn't use all 4442 the available screen space. 4443Solution: Don't subtract the fixed caption height but the real menu height 4444 from the available screen space. Also: Avoid recursion in 4445 gui_mswin_get_menu_height(). 4446Files: src/gui_w32.c, src/gui_w48.c 4447 4448Patch 6.0.118 4449Problem: When $TMPDIR is a relative path, the temp directory is missing a 4450 trailing slash and isn't deleted when Vim exits. (Peter Holm) 4451Solution: Add the slash after expanding the directory to an absolute path. 4452Files: src/fileio.c 4453 4454Patch 6.0.119 (depends on patch 6.0.116) 4455Problem: VMS: filewritable() doesn't work properly. 4456Solution: Use the same method as for Unix. (Zoltan Arpadffy) 4457Files: src/eval.c 4458 4459Patch 6.0.120 4460Problem: The conversion to html isn't compatible with XHTML. 4461Solution: Quote the values. (Jess Thrysoee) 4462Files: runtime/syntax/2html.vim 4463 4464Patch 6.0.121 (extra) (depends on patch 6.0.116) 4465Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32. 4466Solution: Add an #ifdef HAVE_ACL. 4467Files: src/os_win32.c 4468 4469Patch 6.0.122 (extra) 4470Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And 4471 dialog textfield problem from patch 6.0.115. 4472Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag. 4473 (Vince Negri) 4474Files: src/gui_w16.c 4475 4476Patch 6.0.123 (depends on patch 6.0.119) 4477Problem: Win16: Compilation problems. 4478Solution: Move "&&" to other lines. (Vince Negri) 4479Files: src/eval.c 4480 4481Patch 6.0.124 4482Problem: When using a ":substitute" command that starts with "\=" 4483 (evaluated as an expression), "~" was still replaced with the 4484 previous substitute string. 4485Solution: Skip the replacement when the substitute string starts with "\=". 4486 Also adjust the documentation about doubling backslashes. 4487Files: src/ex_cmds.c, runtime/doc/change.txt 4488 4489Patch 6.0.125 (extra) 4490Problem: Win32: When using the multi_byte_ime feature pressing the shift 4491 key would be handled as if a character was entered, thus mappings 4492 with a shifted key didn't work. (Charles Campbell) 4493Solution: Ignore pressing the shift, control and alt keys. 4494Files: src/os_win32.c 4495 4496Patch 6.0.126 4497Problem: The python library was always statically linked. 4498Solution: Link the python library dynamically. (Matthias Klose) 4499Files: src/auto/configure, src/configure.in 4500 4501Patch 6.0.127 4502Problem: When using a terminal that swaps screens and the Normal background 4503 color has a different background, using an external command may 4504 cause the color of the wrong screen to be changed. (Mark Waggoner) 4505Solution: Don't call screen_stop_highlight() in stoptermcap(). 4506Files: src/term.c 4507 4508Patch 6.0.128 4509Problem: When moving a vertically split window to the far left or right, 4510 the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus' 4511 is set the mouse pointer wasn't adjusted. 4512Solution: Adjust the scrollbars and the mouse pointer. 4513Files: src/window.c 4514 4515Patch 6.0.129 4516Problem: When using a very long file name, ":ls" (repeated a few times) 4517 causes a crash. Test with "vim `perl -e 'print "A"x1000'`". 4518 (Tejeda) 4519Solution: Terminate a string before getting its length in buflist_list(). 4520Files: src/buffer.c 4521 4522Patch 6.0.130 4523Problem: When using ":cprev" while the error window is open, and the new 4524 line at the top wraps, the window isn't correctly drawn. 4525 (Yegappan Lakshmanan) 4526Solution: When redrawing the topline don't scroll twice. 4527Files: src/screen.c 4528 4529Patch 6.0.131 4530Problem: When using bufname() and there are two matches for listed buffers 4531 and one match for an unlisted buffer, the unlisted buffer is used. 4532 (Aric Blumer) 4533Solution: When there is a match with a listed buffer, don't check for 4534 unlisted buffers. 4535Files: src/buffer.c 4536 4537Patch 6.0.132 4538Problem: When setting 'iminsert' in the vimrc and using an xterm with two 4539 screens the ruler is drawn in the wrong screen. (Igor Goldenberg) 4540Solution: Only draw the ruler when using the right screen. 4541Files: src/option.c 4542 4543Patch 6.0.133 4544Problem: When opening another buffer while 'keymap' is set and 'iminsert' 4545 is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg) 4546Solution: Don't set 'iminsert' as a side effect of defining a ":lmap" 4547 mapping. Only do that when 'keymap' is set. 4548Files: src/getchar.c, src/option.c 4549 4550Patch 6.0.134 4551Problem: When completing ":set tags=" a path with an embedded space causes 4552 the completion to stop. (Sektor van Skijlen) 4553Solution: Escape spaces with backslashes, like for ":set path=". Also take 4554 backslashes into account when searching for the start of the path 4555 to complete (e.g., for 'backupdir' and 'cscopeprg'). 4556Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h 4557 4558Patch 6.0.135 4559Problem: Menus that are not supposed to do anything used "<Nul>", which 4560 still produced an error beep. 4561 When CTRL-O is mapped for Insert mode, ":amenu" commands didn't 4562 work in Insert mode. 4563 Menu language falls back to English when $LANG ends in "@euro". 4564Solution: Use "<Nop>" for a menu item that doesn't do anything, just like 4565 mappings. 4566 Use ":anoremenu" instead of ":amenu". 4567 Ignore "@euro" in the locale name. 4568Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c 4569 4570Patch 6.0.136 4571Problem: When completing in Insert mode, a mapping could be unexpectedly 4572 applied. 4573Solution: Don't use mappings when checking for a typed character. 4574Files: src/edit.c 4575 4576Patch 6.0.137 4577Problem: GUI: When using the find or find/replace dialog from Insert mode, 4578 the input mode is stopped. 4579Solution: Don't use the input method status when the main window doesn't 4580 have focus. 4581Files: src/ui.c 4582 4583Patch 6.0.138 4584Problem: GUI: When using the find or find/replace dialog from Insert mode, 4585 the text is inserted when CTRL-O is mapped. (Andre Pang) 4586 When opening the dialog again, a whole word search isn't 4587 recognized. 4588 When doing "replace all" a whole word search was never done. 4589Solution: Don't put a search or replace command in the input buffer, 4590 execute it directly. 4591 Recognize "\<" and "\>" after removing "\V". 4592 Add "\<" and "\>" also for "replace all". 4593Files: src/gui.c 4594 4595Patch 6.0.139 4596Problem: When stopping 'wildmenu' completion, the statusline of the 4597 bottom-left vertically split window isn't redrawn. (Yegappan 4598 Lakshmanan) 4599Solution: Redraw all the bottom statuslines. 4600Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c 4601 4602Patch 6.0.140 4603Problem: Memory allocated for local mappings and abbreviations is leaked 4604 when the buffer is wiped out. 4605Solution: Clear the local mappings when deleting a buffer. 4606Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h 4607 4608Patch 6.0.141 4609Problem: When using ":enew" in an empty buffer, some buffer-local things 4610 are not cleared. b:keymap_name is not set. 4611Solution: Clear user commands and mappings local to the buffer when re-using 4612 the current buffer. Reload the keymap. 4613Files: src/buffer.c 4614 4615Patch 6.0.142 4616Problem: When Python is linked statically, loading dynamic extensions might 4617 fail. 4618Solution: Add an extra linking flag when needed. (Andrew Rodionoff) 4619Files: src/configure.in, src/auto/configure 4620 4621Patch 6.0.143 4622Problem: When a syntax item includes a line break in a pattern, the syntax 4623 may not be updated properly when making a change. 4624Solution: Add the "linebreaks" argument to ":syn sync". 4625Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c 4626 4627Patch 6.0.144 4628Problem: After patch 6.0.088 redoing "veU" doesn't work. 4629Solution: Don't add the "U" to the redo buffer, it will be used as an undo 4630 command. 4631Files: src/normal.c 4632 4633Patch 6.0.145 4634Problem: When Vim can't read any input it might get stuck. When 4635 redirecting stdin and stderr Vim would not read commands from a 4636 file. (Servatius Brandt) 4637Solution: When repeatedly trying to read a character when it's not possible, 4638 exit Vim. When stdin and stderr are not a tty, still try reading 4639 from them, but don't do a blocking wait. 4640Files: src/ui.c 4641 4642Patch 6.0.146 4643Problem: When 'statusline' contains "%{'-'}" this results in a zero. 4644 (Milan Vancura) 4645Solution: Don't handle numbers with a minus as a number, they were not 4646 displayed anyway. 4647Files: src/buffer.c 4648 4649Patch 6.0.147 4650Problem: It's not easy to mark a Vim version as being modified. The new 4651 license requires this. 4652Solution: Add the --modified-by argument to configure and the MODIFIED_BY 4653 define. It's used in the intro screen and the ":version" output. 4654Files: src/auto/configure, src/configure.in, src/config.h.in, 4655 src/feature.h, src/version.c 4656 4657Patch 6.0.148 4658Problem: After "p" in an empty line, `[ goes to the second character. 4659 (Kontra Gergely) 4660Solution: Don't increment the column number in an empty line. 4661Files: src/ops.c 4662 4663Patch 6.0.149 4664Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search 4665 pattern that causes a stack overflow to be detected Vim could 4666 still hang. 4667Solution: Correctly report "operand could be empty" when using "\{-}". 4668 Check for "out_of_stack" inside loops to avoid a hang. 4669Files: src/regexp.c 4670 4671Patch 6.0.150 4672Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work 4673 like "P". (Sung-Hyun Nam) 4674Solution: Compute the byte length of a multi-byte character. 4675Files: src/ops.c 4676 4677Patch 6.0.151 4678Problem: Redrawing the status line and ruler can be wrong when it contains 4679 multi-byte characters. 4680Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto) 4681Files: src/screen.c 4682 4683Patch 6.0.152 4684Problem: strtrans() could hang on an illegal UTF-8 byte sequence. 4685Solution: Skip over illegal bytes. (Yasuhiro Matsumoto) 4686Files: src/charset.c 4687 4688Patch 6.0.153 4689Problem: When using (illegal) double-byte characters and Vim syntax 4690 highlighting Vim can crash. (Yasuhiro Matsumoto) 4691Solution: Increase a pointer over a character instead of a byte. 4692Files: src/regexp.c 4693 4694Patch 6.0.154 4695Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when 4696 there is no xxd in the path. 4697 When converting back from Hex the filetype may remain "xxd" if it 4698 is not detected. 4699Solution: When xxd is not in the path use the one in the runtime directory, 4700 where the install program has put it. 4701 Clear the 'filetype' option before detecting the new value. 4702Files: runtime/menu.vim 4703 4704Patch 6.0.155 4705Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel 4706 Kielhorn) 4707Solution: Don't call mch_inchar() when NO_CONSOLE is defined. 4708Files: src/ui.c 4709 4710Patch 6.0.156 4711Problem: Starting Vim with the -b argument and two files, ":next" doesn't 4712 set 'binary' in the second file, like Vim 5.7. (Norman Diamond) 4713Solution: Set the global value for 'binary'. 4714Files: src/option.c 4715 4716Patch 6.0.157 4717Problem: When defining a user command with "-complete=dir" files will also 4718 be expanded. Also, "-complete=mapping" doesn't appear to work. 4719 (Michael Naumann) 4720Solution: Use the expansion flags defined with the user command. 4721 Handle expanding mappings specifically. 4722Files: src/ex_docmd.c 4723 4724Patch 6.0.158 4725Problem: When getting the warning for a file being changed outside of Vim 4726 and reloading the file, the 'readonly' option is reset, even when 4727 the permissions didn't change. (Marcel Svitalsky) 4728Solution: Keep 'readonly' set when reloading a file and the permissions 4729 didn't change. 4730Files: src/fileio.c 4731 4732Patch 6.0.159 4733Problem: Wildcard expansion for ":emenu" also shows separators. 4734Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff". 4735 Also, don't handle ":tmenu" as if it was ":tearoff". And leave 4736 out the alternatives with "&" included. 4737Files: src/menu.c 4738 4739Patch 6.0.160 4740Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the 4741 optimizer causes a problem that makes Vim crash. 4742Solution: Add a configure check to avoid "-O2" for this version of gcc. 4743Files: src/configure.in, src/auto/configure 4744 4745Patch 6.0.161 (extra) 4746Problem: Win32: Bitmaps don't work with signs. 4747Solution: Make it possible to use bitmaps with signs. (Muraoka Taro) 4748Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c, 4749 src/proto/gui_w32.pro, src/proto/gui_x11.pro 4750 4751Patch 6.0.162 4752Problem: Client-server: An error message for a wrong expression appears in 4753 the server instead of the client. 4754Solution: Pass the error message from the server to the client. Also 4755 adjust the example code. (Flemming Madsen) 4756Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, 4757 src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro, 4758 runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c 4759 4760Patch 6.0.163 4761Problem: When using a GUI dialog, a file name is sometimes used like it was 4762 a directory. 4763Solution: Separate path and file name properly. 4764 For GTK, Motif and Athena concatenate directory and file name for 4765 the default selection. 4766Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, 4767 src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c 4768 4769Patch 6.0.164 4770Problem: After patch 6.0.135 the menu entries for pasting don't work in 4771 Insert and Visual mode. (Muraoka Taro) 4772Solution: Add <script> to allow script-local mappings. 4773Files: runtime/menu.vim 4774 4775Patch 6.0.165 4776Problem: Using --remote and executing locally gives unavoidable error 4777 messages. 4778Solution: Add --remote-silent and --remote-wait-silent to silently execute 4779 locally. 4780 For Win32 there was no error message when a server didn't exist. 4781Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, 4782 src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro 4783 4784Patch 6.0.166 4785Problem: GUI: There is no way to avoid dialogs to pop up. 4786Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan 4787 Lakshmanan) 4788Files: runtime/doc/options.txt, src/option.h, src/message.c 4789 4790Patch 6.0.167 4791Problem: When 'fileencodings' is "latin2" some characters in the help files 4792 are displayed wrong. 4793Solution: Force the 'fileencoding' for the help files to be "latin1". 4794Files: src/fileio.c 4795 4796Patch 6.0.168 4797Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser) 4798Solution: Don't skip matches after joining two lines. 4799Files: src/ex_cmds.c 4800 4801Patch 6.0.169 4802Problem: When run as evim and the GUI can't be started we get stuck in a 4803 terminal without menus in Insert mode. 4804Solution: Exit when using "evim" and "gvim -y" when the GUI can't be 4805 started. 4806Files: src/main.c 4807 4808Patch 6.0.170 4809Problem: When printing double-width characters the size of tabs after them 4810 is wrong. (Muraoka Taro) 4811Solution: Correctly compute the column after a double-width character. 4812Files: src/ex_cmds2.c 4813 4814Patch 6.0.171 4815Problem: With 'keymodel' including "startsel", in Insert mode after the end 4816 of a line, shift-Left does not move the cursor. (Steve Hall) 4817Solution: CTRL-O doesn't move the cursor left, need to do that explicitly. 4818Files: src/edit.c 4819 4820Patch 6.0.172 4821Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it 4822 does in most other situations. 4823Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode. 4824Files: src/edit.c 4825 4826Patch 6.0.173 4827Problem: When using "P" to insert a line break the cursor remains past the 4828 end of the line. 4829Solution: Check for the cursor being beyond the end of the line. 4830Files: src/ops.c 4831 4832Patch 6.0.174 4833Problem: After using "gd" or "gD" the search direction for "n" may still be 4834 backwards. (Servatius Brandt) 4835Solution: Reset the search direction to forward. 4836Files: src/normal.c, src/search.c, src/proto/search.pro 4837 4838Patch 6.0.175 4839Problem: ":help /\z(\)" doesn't work. (Thomas Koehler) 4840Solution: Double the backslashes. 4841Files: src/ex_cmds.c 4842 4843Patch 6.0.176 4844Problem: When killed by a signal autocommands are still triggered as if 4845 nothing happened. 4846Solution: Add the v:dying variable to allow autocommands to work differently 4847 when a deadly signal has been trapped. 4848Files: src/eval.c, src/os_unix.c, src/vim.h 4849 4850Patch 6.0.177 4851Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf" 4852 doesn't work. (Thomas S. Urban) 4853Solution: Add the marker even when 'commentstring' is empty. 4854Files: src/fold.c, src/normal.c 4855 4856Patch 6.0.178 4857Problem: Uninitialized memory read from xp_backslash field. 4858Solution: Initialize xp_backslash field properly. 4859Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c 4860 4861Patch 6.0.179 4862Problem: Win32: When displaying UTF-8 characters may read uninitialized 4863 memory. 4864Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a 4865 string. 4866Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c 4867 4868Patch 6.0.180 4869Problem: Expanding environment variables in a string that ends in a 4870 backslash could go past the end of the string. 4871Solution: Detect the trailing backslash. 4872Files: src/misc1.c 4873 4874Patch 6.0.181 4875Problem: When using ":cd dir" memory was leaked. 4876Solution: Free the allocated memory. Also avoid an uninitialized memory 4877 read. 4878Files: src/misc2.c 4879 4880Patch 6.0.182 4881Problem: When using a regexp on multi-byte characters, could try to read a 4882 character before the start of the line. 4883Solution: Don't decrement a pointer to before the start of the line. 4884Files: src/regexp.c 4885 4886Patch 6.0.183 4887Problem: Leaking memory when ":func!" redefines a function. 4888Solution: Free the function name when it's not used. 4889Files: src/eval.c 4890 4891Patch 6.0.184 4892Problem: Leaking memory when expanding option values. 4893Solution: Don't always copy the expanded option into allocated memory. 4894Files: src/option.c 4895 4896Patch 6.0.185 4897Problem: Crash in Vim when pasting a selection in another application, on a 4898 64 bit machine. 4899Solution: Fix the format for an Atom to 32 bits. (Peter Derr) 4900Files: src/ui.c 4901 4902Patch 6.0.186 4903Problem: X11: Three warnings when compiling the client-server code. 4904Solution: Add a typecast to unsigned char. 4905Files: src/if_xcmdsrv.c 4906 4907Patch 6.0.187 4908Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew 4909 Stryker) 4910 "I" in Visual linewise mode adjusts the indent for no apparent 4911 reason. 4912Solution: Only save those lines for undo that are changed. 4913 Don't change the indent after inserting in Visual linewise mode. 4914Files: src/ops.c 4915 4916Patch 6.0.188 4917Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't 4918 work. 4919Solution: Initialize the sign icons after initializing the GUI. (Vince 4920 Negri) 4921Files: src/gui.c, src/gui_x11.c 4922 4923Patch 6.0.189 4924Problem: The size of the Visual area isn't always displayed when scrolling 4925 ('ruler' off, 'showcmd' on). Also not when using a search 4926 command. (Sylvain Hitier) 4927Solution: Redisplay the size of the selection after showing the mode. 4928Files: src/screen.c 4929 4930Patch 6.0.190 4931Problem: GUI: when 'mouse' is empty a click with the middle button still 4932 moves the cursor. 4933Solution: Paste at the cursor position instead of the mouse position. 4934Files: src/normal.c 4935 4936Patch 6.0.191 4937Problem: When no servers are available serverlist() gives an error instead 4938 of returning an empty string. (Hari Krishna) 4939Solution: Don't give an error message. 4940Files: src/eval.c 4941 4942Patch 6.0.192 4943Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew 4944 Nikitin) 4945Solution: Reset the flag that w_virtcol is valid when moving the cursor back 4946 to the start of the operated area. 4947Files: src/normal.c 4948 4949Patch 6.0.193 4950Problem: When 'virtualedit' is set, col(".") after the end of the line 4951 should return one extra. 4952Solution: Add one to the column. 4953Files: src/eval.c 4954 4955Patch 6.0.194 4956Problem: "--remote-silent" tries to send a reply to the client, like it was 4957 "--remote-wait". 4958Solution: Properly check for the argument. 4959Files: src/main.c 4960 4961Patch 6.0.195 4962Problem: When 'virtualedit' is set and a search starts in virtual space 4963 ":call search('x')" goes to the wrong position. (Eric Long) 4964Solution: Reset coladd when finding a match. 4965Files: src/search.c 4966 4967Patch 6.0.196 4968Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually 4969 selecting part of a tab at the start of a line, "x" joins it with 4970 the previous line. Also, when the selection spans more than one 4971 line the whole tab is deleted. 4972Solution: Take coladd into account when adjusting for 'selection' being 4973 "exclusive". Also expand a tab into spaces when deleting more 4974 than one line. 4975Files: src/normal.c, src/ops.c 4976 4977Patch 6.0.197 4978Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x" 4979 doesn't delete the last character in the line. (Eric Long) 4980Solution: Don't reset the inclusive flag. (Helmut Stiegler) 4981Files: src/normal.c 4982 4983Patch 6.0.198 4984Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the 4985 cursor over the line break doesn't work properly. (Eric Long) 4986Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the 4987 virtual cursor position. Adjust coladvance() and oneleft() to 4988 skip over the 'showbreak' characters. 4989Files: src/edit.c, src/misc2.c 4990 4991Patch 6.0.199 4992Problem: Multi-byte: could use iconv() after calling iconv_end(). 4993 (Yasuhiro Matsumoto) 4994Solution: Stop converting input and output stream after calling iconv_end(). 4995Files: src/mbyte.c 4996 4997Patch 6.0.200 4998Problem: A script that starts with "#!perl" isn't recognized as a Perl 4999 filetype. 5000Solution: Ignore a missing path in a script header. Also, speed up 5001 recognizing scripts by simplifying the patterns used. 5002Files: runtime/scripts.vim 5003 5004Patch 6.0.201 5005Problem: When scrollbinding and doing a long jump, switching windows jumps 5006 to another position in the file. Scrolling a few lines at a time 5007 is OK. (Johannes Zellner) 5008Solution: When setting w_topline reset the flag that indicates w_botline is 5009 valid. 5010Files: src/diff.c 5011 5012Patch 6.0.202 5013Problem: The "icon=" argument for the menu command to define a toolbar icon 5014 with a file didn't work for GTK. (Christian J. Robinson) 5015 For Motif and Athena a full path was required. 5016Solution: Search the icon file using the specified path. Expand environment 5017 variables in the file name. 5018Files: src/gui_gtk.c, src/gui_x11.c 5019 5020Patch 6.0.203 5021Problem: Can change 'fileformat' even though 'modifiable' is off. 5022 (Servatius Brandt) 5023Solution: Correct check for kind of set command. 5024Files: src/option.c 5025 5026Patch 6.0.204 5027Problem: ":unlet" doesn't work for variables with curly braces. (Thomas 5028 Scott Urban) 5029Solution: Handle variable names with curly braces properly. (Vince Negri) 5030Files: src/eval.c 5031 5032Patch 6.0.205 (extra) 5033Problem: "gvim -f" still forks when using the batch script to start Vim. 5034Solution: Add an argument to "start" to use a foreground session (Michael 5035 Geddes) 5036Files: src/dosinst.c 5037 5038Patch 6.0.206 5039Problem: Unix: if expanding a wildcard in a file name results in a 5040 wildcard character and there are more parts in the path with a 5041 wildcard, it is expanded again. 5042 Windows: ":edit \[abc]" could never edit the file "[abc]". 5043Solution: Don't expand wildcards in already expanded parts. 5044 Don't remove backslashes used to escape the special meaning of a 5045 wildcard; can edit "[abc]" if '[' is removed from 'isfname'. 5046Files: src/misc1.c, src/os_unix.c 5047 5048Patch 6.0.207 (extra) 5049Problem: Win32: The shortcuts and start menu entries let Vim startup in the 5050 desktop directory, which is not very useful. 5051Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH. 5052Files: src/dosinst.c 5053 5054Patch 6.0.208 5055Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in 5056 Insert mode doesn't directly change the cursor color. (Alex 5057 Solow) 5058Solution: Force a redraw of the cursor after CTRL-^. 5059Files: src/edit.c 5060 5061Patch 6.0.209 5062Problem: GUI GTK: After selecting a 'guifont' with the font dialog there 5063 are redraw problems for multi-byte characters. 5064Solution: Separate the font dialog from setting the new font name to avoid 5065 that "*" is used to find wide and bold fonts. 5066 When redrawing extra characters for the bold trick, take care of 5067 UTF-8 characters. 5068Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro, 5069 src/proto/gui_gtk_x11.pro 5070 5071Patch 6.0.210 5072Problem: After patch 6.0.167 it's no longer possible to edit a help file in 5073 another encoding than latin1. 5074Solution: Let the "++enc=" argument overrule the encoding. 5075Files: src/fileio.c 5076 5077Patch 6.0.211 5078Problem: When reading a file fails, the buffer is empty, but it might still 5079 be possible to write it with ":w" later. The original file is 5080 lost then. (Steve Amerige) 5081Solution: Set the 'readonly' option for the buffer. 5082Files: src/fileio.c 5083 5084Patch 6.0.212 5085Problem: GUI GTK: confirm("foo", "") causes a crash. 5086Solution: Don't make a non-existing button the default. Add a default "OK" 5087 button if none is specified. 5088Files: src/eval.c, src/gui_gtk.c 5089 5090Patch 6.0.213 5091Problem: When a file name contains unprintable characters, CTRL-G and other 5092 commands don't work well. 5093Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto) 5094Files: src/buffer.c, src/charset.c 5095 5096Patch 6.0.214 5097Problem: When there is a buffer without a name, empty entries appear in the 5098 jumplist saved in the viminfo file. 5099Solution: Don't write jumplist entries without a file name. 5100Files: src/mark.c 5101 5102Patch 6.0.215 5103Problem: After using "/" from Visual mode the Paste menu and Toolbar 5104 entries don't work. Pasting with the middle mouse doesn't work 5105 and modeless selection doesn't work. 5106Solution: Use the command line mode menus and use the mouse like in the 5107 command line. 5108Files: src/gui.c, src/menu.c, src/ui.c 5109 5110Patch 6.0.216 5111Problem: After reloading a file, displayed in another window than the 5112 current one, which was changed outside of Vim the part of the file 5113 around the cursor set by autocommands may be displayed, but 5114 jumping back to the original cursor position when entering the 5115 window again. 5116Solution: Restore the topline of the window. 5117Files: src/fileio.c 5118 5119Patch 6.0.217 5120Problem: When getting help from a help file that was used before, an empty 5121 unlisted buffer remains in the buffer list. (Eric Long) 5122Solution: Wipe out the buffer used to do the tag jump from. 5123Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro 5124 5125Patch 6.0.218 5126Problem: With explorer plugin: "vim -o filename dirname" doesn't load the 5127 explorer window until entering the window. 5128Solution: Call s:EditDir() for each window after starting up. 5129Files: runtime/plugin/explorer.vim 5130 5131Patch 6.0.219 5132Problem: ":setlocal" and ":setglobal", without arguments, display terminal 5133 options. (Zdenek Sekera) 5134Solution: Skip terminal options for these two commands. 5135Files: src/option.c 5136 5137Patch 6.0.220 5138Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro) 5139Solution: Don't try going to another window when there isn't one. 5140Files: runtime/plugin/explorer.vim 5141 5142Patch 6.0.221 5143Problem: When using ":bdel" and all other buffers are unloaded the lowest 5144 numbered buffer is jumped to instead of the most recent one. (Dave 5145 Cecil) 5146Solution: Prefer an unloaded buffer from the jumplist. 5147Files: src/buffer.c 5148 5149Patch 6.0.222 5150Problem: When 'virtualedit' is set and using autoindent, pressing Esc after 5151 starting a new line leaves behind part of the autoindent. (Helmut 5152 Stiegler) 5153Solution: After deleting the last char in the line adjust the cursor 5154 position in del_bytes(). 5155Files: src/misc1.c, src/ops.c 5156 5157Patch 6.0.223 5158Problem: When splitting a window that contains the explorer, hitting CR on 5159 a file name gives error messages. 5160Solution: Set the window variables after splitting the window. 5161Files: runtime/plugin/explorer.vim 5162 5163Patch 6.0.224 5164Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window 5165 the text may jump left-right and the cursor is displayed in the 5166 wrong position. (Aric Blumer) 5167Solution: When there is not enough room, compute the left column for the 5168 window to put the cursor in the middle. 5169Files: src/move.c 5170 5171Patch 6.0.225 5172Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath 5173 Avadhanula) 5174Solution: Behave differently in a closed fold. 5175Files: src/normal.c 5176 5177Patch 6.0.226 5178Problem: When doing ":recover file" get the ATTENTION prompt. 5179 After recovering the same file five times get a read error or a 5180 crash. (Alex Davis) 5181Solution: Set the recoverymode flag before setting the file name. 5182 Correct the amount of used memory for the size of block zero. 5183Files: src/ex_docmd.c 5184 5185Patch 6.0.227 (extra) 5186Problem: The RISC OS port has several problems. 5187Solution: Update the makefile and fix some of the problems. (Andy Wingate) 5188Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h, 5189 src/proto/os_riscos.pro, src/search.c 5190 5191Patch 6.0.228 5192Problem: After putting text in Visual mode the '] mark is not at the end of 5193 the put text. 5194 Undo doesn't work properly when putting a word into a Visual 5195 selection that spans more than one line. 5196Solution: Correct the '] mark for the deleting the Visually selected text. 5197 #ifdef code that depends on FEAT_VISUAL properly. 5198 Also fix that "d" crossing line boundary puts '[ just before 5199 deleted text. 5200 Fix undo by saving all deleted lines at once. 5201Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c, 5202 src/structs.h, src/vim.h 5203 5204Patch 6.0.229 5205Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break 5206 at a multi-byte char followed by an ASCII char, and the other way 5207 around. (Muraoka Taro) 5208 When joining lines a space is inserted between multi-byte 5209 characters, which is not always wanted. 5210Solution: Check for multi-byte character before and after the breakpoint. 5211 Don't insert a space before or after a multi-byte character when 5212 joining lines and the 'M' flag is in 'formatoptions'. Don't 5213 insert a space between multi-byte characters when the 'B' flag is 5214 in 'formatoptions'. 5215Files: src/edit.c, src/ops.c, src/option.h 5216 5217Patch 6.0.230 5218Problem: The ":" used as a motion after an operator is exclusive, but 5219 sometimes it should be inclusive. 5220Solution: Make the "v" in between an operator and motion toggle 5221 inclusive/exclusive. (Servatius Brandt) 5222Files: runtime/doc/motion.txt, src/normal.c 5223 5224Patch 6.0.231 5225Problem: "gd" and "gD" don't work when the variable matches in a comment 5226 just above the match to be found. (Servatius Brandt) 5227Solution: Continue searching in the first column below the comment. 5228Files: src/normal.c 5229 5230Patch 6.0.232 5231Problem: "vim --version" prints on stderr while "vim --help" prints on 5232 stdout. 5233Solution: Make "vim --version" use stdout. 5234Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c 5235 5236Patch 6.0.233 5237Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because 5238 there is an upper limit. (Jim Battle) 5239Solution: Allow using "\{min,max}" after an atom that can be empty if there 5240 is an upper limit. 5241Files: src/regexp.c 5242 5243Patch 6.0.234 5244Problem: It's not easy to set the cursor position without modifying marks. 5245Solution: Add the cursor() function. (Yegappan Lakshmanan) 5246Files: runtime/doc/eval.txt, src/eval.c 5247 5248Patch 6.0.235 5249Problem: When writing a file and renaming the original file to make the 5250 backup, permissions could change when setting the owner. 5251Solution: Only set the owner when it's needed and set the permissions again 5252 afterwards. 5253 When 'backupcopy' is "auto" check that the owner and permissions 5254 of a newly created file can be set properly. 5255Files: src/fileio.c 5256 5257Patch 6.0.236 5258Problem: ":edit" without argument should move cursor to line 1 in Vi 5259 compatible mode. 5260Solution: Add 'g' flag to 'cpoptions'. 5261Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h 5262 5263Patch 6.0.237 5264Problem: In a C file, using the filetype plugin, re-indenting a comment 5265 with two spaces after the middle "*" doesn't align properly. 5266Solution: Don't use a middle entry from a start/middle/end to line up with 5267 the start of the comment when the start part doesn't match with 5268 the actual comment start. 5269Files: src/misc1.c 5270 5271Patch 6.0.238 5272Problem: Using a ":substitute" command with a substitute() call in the 5273 substitution expression causes errors. (Srinath Avadhanula) 5274Solution: Save and restore pointers when doing substitution recursively. 5275Files: src/regexp.c 5276 5277Patch 6.0.239 5278Problem: Using "A" to append after a Visually selected block which is after 5279 the end of the line, spaces are inserted in the wrong line and 5280 other unexpected effects. (Michael Naumann) 5281Solution: Don't advance the cursor to the next line. 5282Files: src/ops.c 5283 5284Patch 6.0.240 5285Problem: Win32: building with Python 2.2 doesn't work. 5286Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore) 5287Files: src/if_python.c 5288 5289Patch 6.0.241 5290Problem: Win32: Expanding the old value of an option that is a path that 5291 starts with a backslash, an extra backslash is inserted. 5292Solution: Only insert backslashes where needed. 5293 Also handle multi-byte characters properly when removing 5294 backslashes. 5295Files: src/option.c 5296 5297Patch 6.0.242 5298Problem: GUI: On a system with an Exceed X server sometimes get a "Bad 5299 Window" error. (Tommi Maekitalo) 5300Solution: When forking, use a pipe to wait in the parent for the child to 5301 have done the setsid() call. 5302Files: src/gui.c 5303 5304Patch 6.0.243 5305Problem: Unix: "vim --version" outputs a NL before the last line instead of 5306 after it. (Charles Campbell) 5307Solution: Send the NL to the same output stream as the text. 5308Files: src/message.c, src/os_unix.c, src/proto/message.pro 5309 5310Patch 6.0.244 5311Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and 5312 file name (e.g., icon text, status line). 5313Solution: Correctly handle unprintable characters. Catch illegal UTF-8 5314 characters and replace them with <xx>. Truncating the status line 5315 wasn't done correctly at a multi-byte character. (Yasuhiro 5316 Matsumoto) 5317 Added correct_cmdspos() and transchar_byte(). 5318Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c, 5319 src/message.c, src/screen.c, src/vim.h 5320 5321Patch 6.0.245 5322Problem: After using a color scheme, setting the 'background' option might 5323 not work. (Peter Horst) 5324Solution: Disable the color scheme if it switches 'background' back to the 5325 wrong value. 5326Files: src/option.c 5327 5328Patch 6.0.246 5329Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary 5330 Holloway) 5331Solution: Use the specified attributes for the message. (Yegappan 5332 Lakshmanan) 5333Files: src/eval.c 5334 5335Patch 6.0.247 5336Problem: GTK GUI: Can't use gvim in a kpart widget. 5337Solution: Add the "--echo-wid" argument to let Vim echo the window ID on 5338 stdout. (Philippe Fremy) 5339Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c, 5340 src/main.c 5341 5342Patch 6.0.248 5343Problem: When using compressed help files and 'encoding' isn't "latin1", 5344 Vim converts the help file before decompressing. (David Reviejo) 5345Solution: Don't convert a help file when 'binary' is set. 5346Files: src/fileio.c 5347 5348Patch 6.0.249 5349Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit(). 5350Solution: Don't set the cursor on the first line for "-c" arguments when 5351 there also is a "-t" argument. 5352Files: src/main.c 5353 5354Patch 6.0.250 (extra) 5355Problem: Macintosh: Various problems when compiling. 5356Solution: Various fixes, mostly #ifdefs. (Dany St. Amant) 5357Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h, 5358 src/os_mac.pbproj/project.pbxproj, src/os_unix.c 5359 5360Patch 6.0.251 (extra) 5361Problem: Macintosh: menu shortcuts are not very clear. 5362Solution: Show the shortcut with the Mac clover symbol. (raindog) 5363Files: src/gui_mac.c 5364 5365Patch 6.0.252 5366Problem: When a user function was defined with "abort", an error that is 5367 not inside if/endif or while/endwhile doesn't abort the function. 5368 (Servatius Brandt) 5369Solution: Don't reset did_emsg when the function is to be aborted. 5370Files: src/ex_docmd.c 5371 5372Patch 6.0.253 5373Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O> 5374 doesn't work. (Benji Fisher) <C-L> has the same problem. 5375Solution: Reset need_start_insertmode once in edit(). 5376Files: src/edit.c 5377 5378Patch 6.0.254 (extra) 5379Problem: Borland C++ 5.5: Checking for stack overflow doesn't work 5380 correctly. Matters when using a complicated regexp. 5381Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto) 5382Files: src/Make_bc5.mak 5383 5384Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121) 5385Problem: Win32: ACL support doesn't work well on Samba drives. 5386Solution: Add a check for working ACL support. (Mike Williams) 5387Files: src/os_win32.c 5388 5389Patch 6.0.256 (extra) 5390Problem: Win32: ":highlight Comment guifg=asdf" does not give an error 5391 message. (Randall W. Morris) Also for other systems. 5392Solution: Add gui_get_color() to give one error message for all systems. 5393Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c, 5394 src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c, 5395 src/proto/gui.pro, src/syntax.c 5396 5397Patch 6.0.257 5398Problem: Win32: When 'mousefocus' is set and there is a BufRead 5399 autocommand, after the dialog for permissions changed outside of 5400 Vim: 'mousefocus' stops working. (Robert Webb) 5401Solution: Reset need_mouse_correct after checking timestamps. 5402Files: src/fileio.c 5403 5404Patch 6.0.258 5405Problem: When 'scrolloff' is 999 and there are folds, the text can jump up 5406 and down when moving the cursor down near the end of the file. 5407 (Lubomir Host) 5408Solution: When putting the cursor halfway the window start counting lines at 5409 the end of a fold. 5410Files: src/move.c 5411 5412Patch 6.0.259 5413Problem: MS-DOS: after editing the command line the cursor shape may remain 5414 like in Insert mode. (Volker Kiefel) 5415Solution: Reset the cursor shape after editing the command line. 5416Files: src/ex_getln.c 5417 5418Patch 6.0.260 5419Problem: GUI: May crash while starting up when giving an error message for 5420 missing color. (Servatius Brandt) 5421Solution: Don't call gui_write() when still starting up. Don't give error 5422 message for empty color name. Don't use 't_vb' while the GUI is 5423 still starting up. 5424Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c 5425 5426Patch 6.0.261 5427Problem: nr2char() and char2nr() don't work with multi-byte characters. 5428Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto) 5429Files: runtime/doc/eval.txt, src/eval.c 5430 5431Patch 6.0.262 (extra) 5432Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used 5433 at all. 5434Solution: Adjust various things for IME. 5435Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro, 5436 src/structs.h, src/ui.c 5437 5438Patch 6.0.263 5439Problem: GTK: When a dialog is closed by the window manager, Vim hangs. 5440 (Christian J. Robinson) 5441Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE(). 5442Files: src/gui_gtk.c, src/gui_gtk_x11.c 5443 5444Patch 6.0.264 5445Problem: The amount of virtual memory is used to initialize 'maxmemtot', 5446 which may be much more than the amount of physical memory, 5447 resulting in a lot of swapping. 5448Solution: Get the amount of physical memory with sysctl(), sysconf() or 5449 sysinfo() when possible. 5450Files: src/auto/configure, src/configure.in, src/config.h.in, 5451 src/os_unix.c, src/os_unix.h 5452 5453Patch 6.0.265 5454Problem: Win32: Using backspace while 'fkmap' is set causes a crash. 5455 (Jamshid Oasjmoha) 5456Solution: Don't try mapping special keys. 5457Files: src/farsi.c 5458 5459Patch 6.0.266 5460Problem: The rename() function deletes the file if the old and the new name 5461 are the same. (Volker Kiefel) 5462Solution: Don't do anything if the names are equal. 5463Files: src/fileio.c 5464 5465Patch 6.0.267 5466Problem: UTF-8: Although 'isprint' says a character is printable, 5467 utf_char2cells() still considers it unprintable. 5468Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto) 5469Files: src/mbyte.c 5470 5471Patch 6.0.268 (extra) (depends on patch 6.0.255) 5472Problem: Win32: ACL check crashes when using forward slash in file name. 5473Solution: Improve the check for the path in the file name. 5474Files: src/os_win32.c 5475 5476Patch 6.0.269 5477Problem: Unprintable characters in a file name may cause problems when 5478 using the 'statusline' option or when 'buftype' is "nofile". 5479Solution: call trans_characters() for the resulting statusline. (Yasuhiro 5480 Matsumoto) 5481Files: src/buffer.c, src/screen.c, src/charset.c 5482 5483Patch 6.0.270 (depends on patch 6.0.267) 5484Problem: A tab causes UTF-8 text to be displayed in the wrong position. 5485 (Ron Aaron) 5486Solution: Correct utf_char2cells() again. 5487Files: src/mbyte.c 5488 5489Patch 6.1a.001 (extra) 5490Problem: 32bit DOS: copying text to the clipboard may cause a crash. 5491 (Jonathan D Johnston) 5492Solution: Don't copy one byte too much in SetClipboardData(). 5493Files: src/os_msdos.c 5494 5495Patch 6.1a.002 5496Problem: GTK: On some configurations, when closing a dialog from the window 5497 manager, Vim hangs. 5498Solution: Catch the "destroy" signal. (Aric Blumer) 5499Files: src/gui_gtk.c 5500 5501Patch 6.1a.003 5502Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set: 5503 yanking in Visual mode doesn't include the last byte. (Eric Long) 5504Solution: Don't add a space for a double-wide character. 5505Files: src/ops.c 5506 5507Patch 6.1a.004 (extra) 5508Problem: MINGW: undefined type. (Ron Aaron) 5509Solution: Make GetCompositionString_inUCS2() static. 5510Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro 5511 5512Patch 6.1a.005 (extra) 5513Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan 5514 Johnston) 5515Solution: Don't keep the driver context when using ":hardcopy!". (Vince 5516 Negri) 5517Files: src/os_mswin.c 5518 5519Patch 6.1a.006 5520Problem: multi-byte: after setting 'encoding' the window title might be 5521 wrong. 5522Solution: Force resetting the title. (Yasuhiro Matsumoto) 5523Files: src/option.c 5524 5525Patch 6.1a.007 5526Problem: Filetype detection for "*.inc" doesn't work. 5527Solution: Use a ":let" command. (David Schweikert) 5528Files: runtime/filetype.vim 5529 5530Patch 6.1a.008 (extra) 5531Problem: Win32: ACL detection for network shares doesn't work. 5532Solution: Include the trailing (back)slash in the root path. (Mike Williams) 5533Files: src/os_win32.c 5534 5535Patch 6.1a.009 5536Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a () 5537 part that follows, but it generates an error message. 5538Solution: Allow a forward reference when there is a following "\@<=" or 5539 "\@<!". 5540Files: runtime/doc/pattern.txt, src/regexp.c 5541 5542Patch 6.1a.010 5543Problem: When using ":help" and opening a new window, the alternate file 5544 isn't set. 5545Solution: Set the alternate file to the previously edited file. 5546Files: src/ex_cmds.c 5547 5548Patch 6.1a.011 5549Problem: GTK: ":set co=77", change width with the mouse, ":set co=77" 5550 doesn't resize the window. (Darren Hiebert) 5551Solution: Set the form size after handling a resize event. 5552Files: src/gui_gtk_x11.c 5553 5554Patch 6.1a.012 5555Problem: GTK: The file browser always returns a full path. (Lohner) 5556Solution: Shorten the file name if possible. 5557Files: src/gui_gtk.c 5558 5559Patch 6.1a.013 5560Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the 5561 last character of the word isn't ignored. (Raul Segura Acevedo) 5562Solution: Ignore case when checking the last typed character. 5563Files: src/edit.c 5564 5565Patch 6.1a.014 5566Problem: After patch 6.1a.006 can't compile without the title feature. 5567Solution: Add an #ifdef. 5568Files: src/option.c 5569 5570Patch 6.1a.015 5571Problem: MS-Windows: When expanding a file name that contains a '[' or '{' 5572 an extra backslash is inserted. (Raul Segura Acevedo) 5573Solution: Avoid adding the backslash. 5574Files: src/ex_getln.c 5575 5576Patch 6.1a.016 5577Problem: Completion after ":language" doesn't include "time". (Raul Segura 5578 Acevedo) 5579Solution: Add the alternative to the completions. 5580Files: src/ex_cmds2.c 5581 5582Patch 6.1a.017 5583Problem: Clicking the mouse in the top row of a window where the first line 5584 doesn't fit moves the cursor to the wrong column. 5585Solution: Add the skipcol also for the top row of a window. 5586Files: src/ui.c 5587 5588Patch 6.1a.018 5589Problem: When 'scrolloff' is one and the window height is one, "gj" can put 5590 the cursor above the window. (Raul Segura Acevedo) 5591Solution: Don't let skipcol become bigger than the cursor column. 5592Files: src/move.c 5593 5594Patch 6.1a.019 5595Problem: When using a composing character on top of an ASCII character, the 5596 "l" command clears the composing character. Only when 'ruler' and 5597 'showcmd' are off. (Raphael Finkel) 5598Solution: Don't move the cursor by displaying characters when there are 5599 composing characters. 5600Files: src/screen.c 5601 5602Patch 6.1a.020 5603Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always 5604 work well for small sizes. (Adrien Beau) 5605Solution: Use another way to avoid the problem with ":set co=77". 5606Files: src/gui_gtk_x11.c 5607 5608Patch 6.1a.021 5609Problem: Several Syntax menu entries are wrong or confusing. 5610Solution: Rephrase and correct the menu entries. (Adrien Beau) 5611Files: runtime/makemenu.vim, runtime/menu.vim 5612 5613Patch 6.1a.022 5614Problem: A tags file might be used twice on case insensitive systems. 5615 (Rick Swanton) 5616Solution: Don't use the same file name twice in the default for the 'tags' 5617 option. Ignore case when comparing names of already visited 5618 files. 5619Files: src/misc2.c, src/option.c 5620 5621Patch 6.1a.023 5622Problem: When starting the GUI get "C" characters echoed in the terminal. 5623Solution: Don't try sending a clear-screen command while the GUI is starting 5624 up. 5625Files: src/screen.c 5626 5627Patch 6.1a.024 5628Problem: In other editors CTRL-F is often used for a find dialog. 5629Solution: In evim use CTRL-F for the find dialog. 5630Files: runtime/evim.vim 5631 5632Patch 6.1a.025 5633Problem: The choices for the fileformat dialog can't be translated. 5634Solution: Add g:menutrans_fileformat_choices. (Adrien Beau) 5635Files: runtime/menu.vim 5636 5637Patch 6.1a.026 5638Problem: Indenting Java files is wrong with "throws", "extends" and 5639 "implements" clauses. 5640Solution: Update the Java indent script. 5641Files: runtime/indent/java.vim 5642 5643Patch 6.1a.027 5644Problem: A few Syntax menu entries missing or incorrect. 5645Solution: Add and correct the menu entries. (Adrien Beau) 5646 Shorten a few menus to avoid they become too long. 5647Files: runtime/makemenu.vim, runtime/menu.vim 5648 5649Patch 6.1a.028 5650Problem: XIM: problems with feedback and some input methods. 5651Solution: Use iconv for calculating the cells. Remove the queue for 5652 key_press_event only when text was changed. (Yasuhiro Matsumoto) 5653Files: src/globals.h, src/mbyte.c, src/screen.c 5654 5655Patch 6.1a.029 5656Problem: After patch 6.1a.028 can't compile GTK version with XIM but 5657 without multi-byte chars. 5658Solution: Add an #ifdef. (Aschwin Marsman) 5659Files: src/mbyte.c 5660 5661Patch 6.1a.030 5662Problem: With double-byte encodings toupper() and tolower() may have wrong 5663 results. 5664Solution: Skip double-byte characters. (Eric Long) 5665Files: src/eval.c 5666 5667Patch 6.1a.031 5668Problem: Accessing the 'balloondelay' variable may cause a crash. 5669Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert) 5670Files: src/option.h 5671 5672Patch 6.1a.032 (extra) 5673Problem: Some menu files used a wrong encoding name for "scriptencoding". 5674Solution: Move the translations to a separate file, which is sourced after 5675 setting "scriptencoding". 5676 Also add Czech menu translations in ASCII and update the other 5677 encodings. 5678Files: runtime/lang/menu_cs_cz.iso_8859-1.vim, 5679 runtime/lang/menu_cs_cz.iso_8859-2.vim, 5680 runtime/lang/menu_czech_czech_republic.1250.vim, 5681 runtime/lang/menu_czech_czech_republic.1252.vim, 5682 runtime/lang/menu_czech_czech_republic.ascii.vim, 5683 runtime/lang/menu_de_de.iso_8859-1.vim, 5684 runtime/lang/menu_de_de.latin1.vim, 5685 runtime/lang/menu_fr_fr.iso_8859-1.vim, 5686 runtime/lang/menu_fr_fr.latin1.vim, 5687 runtime/lang/menu_french_france.1252.vim, 5688 runtime/lang/menu_german_germany.1252.vim, 5689 runtime/lang/menu_ja_jp.euc-jp.vim, 5690 runtime/lang/menu_ja_jp.utf-8.vim, 5691 runtime/lang/menu_japanese_japan.932.vim 5692 5693Patch 6.1a.033 5694Problem: XIM: doesn't reset input context. 5695Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka) 5696Files: src/mbyte.c 5697 5698Patch 6.1a.034 (extra) 5699Problem: Win32: The ACL checks for a readonly file still don't work well. 5700Solution: Remove the ACL checks, go back to how it worked in Vim 6.0. 5701Files: src/os_win32.c 5702 5703Patch 6.1a.035 5704Problem: multi-byte: When using ":sh" in the GUI, typed and displayed 5705 multi-byte characters are not handled correctly. 5706Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro 5707 Matsumoto) Also handle UTF-8 composing characters. 5708Files: src/os_unix.c 5709 5710Patch 6.1a.036 5711Problem: GTK: the save-yourself event was not handled. 5712Solution: Catch the save-yourself event and preserve swap files. (Neil Bird) 5713Files: src/gui_gtk_x11.c 5714 5715Patch 6.1a.037 5716Problem: The MS-Windows key mapping doesn't include CTRL-S for saving. 5717 (Vlad Sandrini) 5718Solution: Map CTRL-S to ":update". 5719Files: runtime/mswin.vim 5720 5721Patch 6.1a.038 5722Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't 5723 work. (Antonio Colombo) 5724Solution: Don't include sys/sysinfo.h when not calling sysinfo(). 5725Files: src/os_unix.c 5726 5727Patch 6.1a.039 5728Problem: Not all visual basic files are recognized. 5729Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo) 5730Files: runtime/filetype.vim 5731 5732Patch 6.1a.040 5733Problem: A *.pl file is recognized as Perl, but it could be a prolog file. 5734Solution: Check the first non-empty line. (Kontra Gergely) 5735Files: runtime/filetype.vim 5736 5737Patch 6.1a.041 5738Problem: When pressing the left mouse button in the command line and them 5739 moving the mouse upwards, nearly all the text is selected. 5740Solution: Don't try extending a modeless selection when there isn't one. 5741Files: src/ui.c 5742 5743Patch 6.1a.042 5744Problem: When merging files, ":diffput" and ":diffget" are used a lot, but 5745 they require a lot of typing. 5746Solution: Add "dp" for ":diffput" and "do" for ":diffget". 5747Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro 5748 5749 5750Patch 6.1b.001 (extra) 5751Problem: Checking for wildcards in a path does not handle multi-byte 5752 characters with a trail byte which is a wildcard. 5753Solution: Handle multi-byte characters correctly. (Muraoka Taro) 5754Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, 5755 src/os_unix.c 5756 5757Patch 6.1b.002 5758Problem: A regexp that ends in "\{" is not flagged as an error. May cause 5759 a stack overflow when 'incsearch' is set. (Gerhard Hochholzer) 5760Solution: Handle a missing "}" as an error. 5761Files: src/regexp.c 5762 5763Patch 6.1b.003 (extra) 5764Problem: The RISC OS GUI doesn't compile. 5765Solution: Include changes since Vim 5.7. (Andy Wingate) 5766Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c, 5767 src/os_riscos.h, src/proto/gui_riscos.pro 5768 5769Patch 6.1b.004 5770Problem: col("'>") returns a negative number for linewise selection. (Neil 5771 Bird) 5772Solution: Don't add one to MAXCOL. 5773Files: src/eval.c 5774 5775Patch 6.1b.005 5776Problem: Using a search pattern that causes an out-of-stack error while 5777 'hlsearch' is set keeps giving the hit-Enter prompt. 5778 A search pattern that takes a long time delays typing when 5779 'incsearch' is set. 5780Solution: Stop 'hlsearch' highlighting when the regexp causes an error. 5781 Stop searching for 'incsearch' when a character is typed. 5782Files: src/globals.h, src/message.c, src/screen.c, src/search.c, 5783 src/vim.h 5784 5785Patch 6.1b.006 5786Problem: When entering a composing character on the command line with 5787 CTRL-V, the text isn't redrawn correctly. 5788Solution: Redraw the text under and after the cursor. 5789Files: src/ex_getln.c 5790 5791Patch 6.1b.007 5792Problem: When the cursor is in the white space between two sentences, "dis" 5793 deletes the first character of the following sentence, "das" 5794 deletes a space after the sentence. 5795Solution: Backup the cursor one character in these situations. 5796Files: src/search.c 5797 5798Patch 6.1b.008 5799Problem: *.xsl files are not recognized as xslt but xml. 5800 Monk files are not recognized. 5801Solution: Delete the duplicate line for *.xsl. (Johannes Zellner) 5802 Recognize monk files. 5803Files: runtime/filetype.vim 5804 5805Patch 6.1b.009 5806Problem: Can't always compile small features and then adding eval feature, 5807 "sandbox" is undefined. (Axel Kielhorn) 5808Solution: Always define "sandbox" when the eval feature is used. 5809Files: src/globals.h 5810 5811Patch 6.1b.010 (extra) 5812Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings. 5813Solution: Change "true" to "TRUE". (Walter Briscoe) 5814Files: GvimExt/gvimext.cpp 5815 5816Patch 6.1b.011 5817Problem: When using a very long string for confirm(), can't quit the 5818 displaying at the more prompt. (Hari Krishna Dara) 5819Solution: Jump to the end of the message to show the choices. 5820Files: src/message.c 5821 5822Patch 6.1b.012 5823Problem: Multi-byte: When 'showbreak' is set and a double-wide character 5824 doesn't fit at the right window edge the cursor gets stuck there. 5825 Using cursor-left gets stuck when 'virtualedit' is set. (Eric 5826 Long) 5827Solution: Fix the way the extra ">" character is counted when 'showbreak' is 5828 set. Don't correct cursor for virtual editing on a double-wide 5829 character. 5830Files: src/charset.c, src/edit.c 5831 5832Patch 6.1b.013 5833Problem: A user command that partly matches with a buffer-local user 5834 command and matches full with a global user command unnecessarily 5835 gives an 'ambiguous command' error. 5836Solution: Find the full global match even after a partly local match. 5837Files: src/ex_docmd.c 5838 5839Patch 6.1b.014 5840Problem: EBCDIC: switching mouse events off causes garbage on screen. 5841 Positioning the cursor in the GUI causes garbage. 5842Solution: Insert an ESC in the terminal code. (Ralf Schandl) 5843 Use "\b" instead of "\010" for KS_LE. 5844Files: src/os_unix.c, src/term.c 5845 5846Patch 6.1b.015 5847Problem: Vimtutor has a typo. Get a warning for "tempfile" if it 5848 doesn't exist. 5849Solution: Move a quote to the end of a line. (Max Ischenko) 5850 Use "mktemp" first, more systems have it. 5851Files: src/vimtutor 5852 5853Patch 6.1b.016 5854Problem: GTK: loading a fontset that works partly, Vim might hang or crash. 5855Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto) 5856Files: src/gui_gtk_x11.c 5857 5858Patch 6.1b.017 5859Problem: GUI: When using ":shell" and there is a beep, nothing happens. 5860Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro 5861 Matsumoto) 5862Files: src/message.c 5863 5864Patch 6.1b.018 (depends on 6.1b.006) 5865Problem: When entering the encryption key, special keys may still reveal 5866 the typed characters. 5867Solution: Make sure stars are used or nothing is shown in all cases. 5868Files: src/digraph.c, src/getchar.c, src/ex_getln.c 5869 5870Patch 6.1b.019 (depends on 6.1b.005) 5871Problem: A search pattern that takes a long time slows down typing when 5872 'incsearch' is set. 5873Solution: Pass SEARCH_PEEK to dosearch(). 5874Files: src/ex_getln.c 5875 5876Patch 6.1b.020 5877Problem: When using the matchit plugin, "%" finds a match on the "end" of a 5878 ":syntax region" command in Vim scripts. 5879Solution: Skip over ":syntax region" commands by setting b:match_skip. 5880Files: runtime/ftplugin/vim.vim 5881 5882Patch 6.1b.021 5883Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the 5884 pointer to the new window. (Robert Webb) 5885Solution: Don't reset need_mouse_correct when checking the timestamp of a 5886 file. 5887Files: src/fileio.c 5888 5889Patch 6.1b.022 5890Problem: With lots of folds "j" does not obey 'scrolloff' properly. 5891 (Srinath Avadhanula) 5892Solution: Go to end of the fold before counting context lines. 5893Files: src/move.c 5894 5895Patch 6.1b.023 5896Problem: On MS-Windows system() may cause checking timestamps, because Vim 5897 loses and gains input focus, while this doesn't happen on Unix. 5898Solution: Don't check timestamps while system() is busy. 5899Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c 5900 5901Patch 6.1b.024 (extra) 5902Problem: Gettext 0.11 complains that "sjis" is not a standard name. 5903Solution: Use "cp932" instead. 5904Files: src/po/sjiscorr.c 5905 5906Patch 6.1b.025 (extra) 5907Problem: Win32: When closing gvim while it is minimized and has a changed 5908 file, the file-changed dialog pops up in a corner of the screen. 5909Solution: Put the dialog in the middle of the screen. 5910Files: src/gui_w48.c 5911 5912Patch 6.1b.026 5913Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in 5914 case are not highlighted properly. (Gerhard Hochholzer) 5915Solution: Don't ignore case when ignoring white space differences. 5916Files: src/diff.c 5917 5918Patch 6.1b.027 5919Problem: "vim --remote +" may cause a crash. 5920Solution: Check for missing file name argument. (Martin Kahlert) 5921Files: src/main.c 5922 5923Patch 6.1b.028 (extra) 5924Problem: Win16: Can't compile after patch 6.1b.025. 5925Solution: Add code specifically for Win16. (Vince Negri) 5926Files: src/gui_w48.c 5927 5928Patch 6.1b.029 5929Problem: Win32: When a directory on an NTFS partition is read/execute (no 5930 delete,modify,write) and the file has modify rights, trying to 5931 write the file deletes it. Making the file read/write/execute 5932 (not delete) solves it. (Mark Canup) 5933Solution: Use the Unix code to check for a writable directory. If not, then 5934 make a backup copy and overwrite the file. 5935Files: src/fileio.c 5936 5937Patch 6.1b.030 (extra) 5938Problem: Mac: small mistake in the build script and prototypes. 5939Solution: Fix the build script and add the prototypes. (Axel Kielhorn) 5940Files: src/os_mac.build, src/gui_mac.c 5941 5942Patch 6.1b.031 (extra) 5943Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting 5944 font name. (Vlad Sandrini) 5945Solution: Put the code back in gui_mch_init_font() to form the font name out 5946 of the logfont. 5947Files: src/gui_w48.c 5948 5949Patch 6.1b.032 5950Problem: Athena: Setting a color scheme before the GUI has started causes a 5951 crash. (Todd Blumer) 5952Solution: Don't try using color names that haven't been set yet. 5953Files: src/gui_athena.c 5954 5955Patch 6.1b.033 5956Problem: When using a count after a ":s" command may get ml_get errors. 5957 (Dietmar Lang) 5958Solution: Check that the resulting range does not go past the end of the 5959 buffer. 5960Files: src/ex_cmds.c 5961 5962Patch 6.1b.034 5963Problem: After sourcing mswin.vim, when using <C-S-Right> after 5964 auto-indenting and then <Del>, get warning for allocating 5965 ridiculous amount of memory. (Dave Delgreco) 5966Solution: Adjust the start of the Visual area when deleting the auto-indent. 5967Files: src/edit.c 5968 5969Patch 6.1b.035 5970Problem: When using evim, dropping a file on Vim and then double clicking 5971 on a word, it is changed to "i". (Merlin Hansen) 5972Solution: Reset need_start_insertmode after editing the file. 5973Files: src/ex_docmd.c 5974 5975 5976============================================================================== 5977VERSION 6.2 *version-6.2* 5978 5979This section is about improvements made between version 6.1 and 6.2. 5980 5981This is mainly a bug-fix release. There are also a few new features. 5982 5983Main new features: 5984- Support for GTK 2. (Daniel Elstner) 5985- Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi) 5986- ":try" command and exception handling. (Servatius Brandt) 5987- Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff) 5988- Cscope support for Win32. (Khorev Sergey) 5989- Support for PostScript printing in various 8-bit encodings. (Mike Williams) 5990 5991 5992Changed *changed-6.2* 5993------- 5994 5995Removed the scheme indent file, the internal Lisp indenting works well now. 5996 5997Moved the GvimEXt, OleVim and VisVim directories into the "src" directory. 5998This is more consistent with how xxd is handled. 5999 6000The VisVim.dll file is installed in the top directory, next to gvimext.dll, 6001instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it 6002from the wrong directory. 6003 6004Removed the art indent file, it didn't do anything. 6005 6006submatch() returned line breaks with CR instead of LF. 6007 6008Changed the Win32 Makefiles to become more uniform and compile gvimext.dll. 6009(Dan Sharp) 6010 6011'cindent': Align a "//" comment with a "//" comment in a previous line. 6012(Helmut Stiegler) 6013 6014Previously only for xterm-like terminals parent widgets were followed to find 6015the title and icon label. Now do this for all terminal emulators. 6016 6017Made it possible to recognize backslashes for "%" matching. The 'M' flag in 6018'cpoptions' disables it. (Haakon Riiser) 6019 6020Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably 6021can't make it work (the compiler runs out of memory). 6022 6023Even though the documentation refers to keywords, "[ CTRL-D" was using 6024'isident' to find matches. Changed it to use 'iskeyword'. Also applies to 6025other commands that search for defined words in included files such as 6026":dsearch", "[D" and "[d". 6027 6028Made 'keywordprg' global-local. (Christian Robinson) 6029 6030Enabled the Netbeans interface by default. Reversed the configure argument 6031from "--enable-netbeans" to "--disable-netbeans". 6032 6033 6034Added *added-6.2* 6035----- 6036 6037New options: 6038 'arabic' 6039 'arabicshape' 6040 'ambiwidth' 6041 'autochdir' 6042 'casemap' 6043 'copyindent' 6044 'cscopequickfix' 6045 'preserveindent' 6046 'printencoding' 6047 'rightleftcmd' 6048 'termbidi' 6049 'toolbariconsize' 6050 'winfixheight' 6051 6052New keymaps: 6053 Serbian (Aleksandar Veselinovic) 6054 Chinese Pinyin (Fredrik Roubert) 6055 Esperanto (Antoine J. Mechelynck) 6056 6057New syntax files: 6058 Valgrind (Roger Luethi) 6059 Smarty template (Manfred Stienstra) 6060 MySQL (Kenneth Pronovici) 6061 RockLinux package description (Piotr Esden-Tempski) 6062 MMIX (Dirk Huesken) 6063 gkrellmrc (David Necas) 6064 Tilde (Tobias Rundtrom) 6065 Logtalk (Paulo Moura) 6066 PLP (Juerd Waalboer) 6067 fvwm2m4 (David Necas) 6068 IPfilter (Hendrik Scholz) 6069 fstab (Radu Dineiu) 6070 Quake (Nikolai Weibull) 6071 Occam (Mario Schweigler) 6072 lpc (Shizhu Pan) 6073 Exim conf (David Necas) 6074 EDIF (Artem Zankovich) 6075 .cvsrc (Nikolai Weibull) 6076 .fetchmailrc (Nikolai Weibull) 6077 GNU gpg (Nikolai Weibull) 6078 Grub (Nikolai Weibull) 6079 Modconf (Nikolai Weibull) 6080 RCS (Dmitry Vasiliev) 6081 Art (Dorai Sitaram) 6082 Renderman Interface Bytestream (Andrew J Bromage) 6083 Mailcap (Doug Kearns) 6084 Subversion commit file (Dmitry Vasiliev) 6085 Microsoft IDL (Vadim Zeitlin) 6086 WildPackets EtherPeek Decoder (Christopher Shinn) 6087 Spyce (Rimon Barr) 6088 Resolv.conf (Radu Dineiu) 6089 A65 (Clemens Kirchgatterer) 6090 sshconfig and sshdconfig (David Necas) 6091 Cheetah and HTMLCheetah (Max Ischenko) 6092 Packet filter (Camiel Dobbelaar) 6093 6094New indent files: 6095 Eiffel (David Clarke) 6096 Tilde (Tobias Rundtrom) 6097 Occam (Mario Schweigler) 6098 Art (Dorai Sitaram) 6099 PHP (Miles Lott) 6100 Dylan (Brent Fulgham) 6101 6102New tutor translations: 6103 Slovak (Lubos Celko) 6104 Greek (Christos Kontas) 6105 German (Joachim Hofmann) 6106 Norwegian (�yvind Holm) 6107 6108New filetype plugins: 6109 Occam (Mario Schweigler) 6110 Art (Dorai Sitaram) 6111 ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim, 6112 jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim, 6113 xhtml.vim, xml.vim, xsd.vim. (Dan Sharp) 6114 6115New compiler plugins: 6116 Checkstyle (Doug Kearns) 6117 g77 (Ralf Wildenhues) 6118 fortran (Johann-Guenter Simon) 6119 Xmllint (Doug Kearns) 6120 Ruby (Tim Hammerquist) 6121 Modelsim vcom (Paul Baleme) 6122 6123New menu translations: 6124 Brazilian (Jos� de Paula) 6125 British (Mike Williams) 6126 Korean in UTF-8. (Nam SungHyun) 6127 Norwegian (�yvind Holm) 6128 Serbian (Aleksandar Jelenak) 6129 6130New message translation for Norwegian. (�yvind Holm) 6131 6132New color scheme: 6133 desert (Hans Fugal) 6134 6135Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and 6136'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi) 6137 6138Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff) 6139 6140Win32: cscope support. (Khorev Sergey) 6141 6142VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy) 6143 6144Added "x" key to the explorer plugin: execute the default action. (Yasuhiro 6145Matsumoto) 6146 6147Compile gvimext.dll with MingW. (Rene de Zwart) 6148 6149Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy 6150way to convert text to HTML. 6151 6152Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers 6153to all error messages, so that they can be caught by the number. 6154(Servatius Brandt) 6155Moved part of ex_docmd.c to the new ex_eval.c source file. 6156 6157Include support for GTK+ 2.2.x (Daniel Elstner) 6158Adds the "~" register: drag & drop text. 6159Adds the 'toolbariconsize' option. 6160Add -Dalloca when running lint to work around a problem with alloca() 6161prototype. 6162 6163When selecting an item in the error window to jump to, take some effort to 6164find an ordinary window to show the file in (not a preview window). 6165 6166Support for PostScript printing of various 8-bit encodings. (Mike Williams) 6167 6168inputdialog() accepts a third argument that is used when the dialog is 6169cancelled. Makes it possible to see a difference between cancelling and 6170entering nothing. 6171 6172Included Aap recipes. Can be used to update Vim to the latest version, 6173building and installing. 6174 6175"/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler) 6176 6177Vim variable "v:register" and functions setreg(), getreg() and getregtype(). 6178(Michael Geddes) 6179 6180"v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode. 6181(Phillip Vandry) 6182 6183Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when 6184running install in the "src" directory for testing. 6185 6186Support tag files that were sorted with case ignored. (Flemming Madsen) 6187 6188When completing a wildcard in a leading path element, as in "../*/Makefile", 6189only the last part ("Makefile") was listed. Support custom defined 6190command line completion. (Flemming Madsen) 6191 6192Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo) 6193 6194Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not 6195used by popular desktops. (Neil Bird) 6196Not used for Gnome 2, it has its own handling. 6197 6198Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter 6199Briscoe) 6200 6201Support page breaks for printing. Adds the "formfeed" field in 6202'printoptions'. (Mike Williams) 6203 6204Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel 6205Kielhorn) 6206 6207"\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron) 6208 6209Added 'preserveindent' and 'copyindent' options. They use existing white 6210space characters instead of using Tabs as much as possible. (Chris Leishman) 6211 6212Updated Unicode tables to Unicode 4.0. (Raphael Finkel) 6213 6214Support for the mouse wheel in rxvt. (AIDA Shinra) 6215 6216Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8" 6217expansion on Win32 systems. (Michael Geddes) 6218 6219'cscopequickfix' option: Open quickfix window for Cscope commands. Also 6220cleanup the code for giving messages. (Khorev Sergey) 6221 6222GUI: Support more than 222 columns for mouse positions. 6223 6224":stopinsert" command: Don't return to Insert mode. 6225 6226"interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius 6227Brandt) 6228 6229 6230Fixed *fixed-6.2* 6231----- 6232 6233Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h. 6234 6235The Vim icons in PNG format didn't have a transparent background. (Greg 6236Roelofs) 6237 6238Fixed a large number of spelling mistakes in the docs. (Adri Verhoef) 6239 6240The #defines for prototype generation were causing trouble. Changed them to 6241typedefs. 6242 6243A new version of libintl.h uses __asm__, which confuses cproto. Define a 6244dummy __asm__ macro. 6245 6246When 'virtualedit' is set can't move to halfway an unprintable character. 6247Cripples CTRL-V selection. (Taro Muraoka) 6248Allow moving to halfway an unprintable character. Don't let getvvcol() change 6249the pos->coladd argument. 6250 6251When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is 6252non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro) 6253 6254When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto) 6255When no argument given use the ".*" pattern. 6256 6257Win32: When gvim.exe is started from a shortcut with the window style property 6258set to maximize Vim doesn't start with a maximized window. (Yasuhiro 6259Matsumoto) Open the window with the default size and don't call ShowWindow() 6260again when it's already visible. (Helmut Stiegler) 6261 6262gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header 6263files. 6264 6265Win32: When closing a window from a mapping some pixels remain on the 6266statusline. (Yasuhiro Matsumoto) 6267 6268A column number in an errorformat that goes beyond the end of the line may 6269cause a crash. 6270 6271":throw 'test'" crashes Vim. (Yasuhiro Matsumoto) 6272 6273The file selector's scrollbar colors are not set after doing a ":hi Scrollbar 6274guifg=color". And the file selector's colors are not changed by the 6275colorscheme command. (David Harrison) 6276 6277Motif: When compiling with FEAT_FOOTER defined, the text area gets a few 6278pixels extra space on the right. Remove the special case in 6279gui_get_base_width(). (David Harrison) 6280 6281Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position. 6282(Helmut Stiegler) 6283 6284When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted. 6285 6286Using a "--cmd" argument more than 10 times caused a crash. 6287 6288DEC style mouse support didn't work if the page field is not empty. 6289(Uribarri) 6290 6291"vim -l one two" did only set 'lisp' in the first file. Vi does it for every 6292file. 6293 6294":set tw<" didn't work. Was checking for '^' instead of '<'. 6295 6296In ":hardcopy > %.ps" the "%" was not expanded to the current filename. 6297 6298Made ":redraw" also update the Visual area. 6299 6300When a not implemented command, such as ":perl", has wrong arguments the less 6301important error was reported, giving the user the idea the command could work. 6302 6303On non-Unix systems autocommands for writing did not attempt a match with the 6304short file name, causing a pattern like "a/b" to fail. 6305 6306VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan 6307Arpadffy) 6308 6309redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter 6310Briscoe) 6311 6312Various changes for the PC Makefiles. (Walter Briscoe) 6313 6314Use _truename() instead of our own code to expand a file name into a full 6315path. (Walter Briscoe) 6316 6317Error in filetype check for /etc/modutils. (Lubomir Host) 6318 6319Cscope interface: allocated a buffer too small. 6320 6321Win16: remove a trailing backslash from a path when obtaining the permission 6322flags. (Vince Negri) 6323 6324When searching for tags with case ignored Vim could hang. 6325 6326When searching directories with a stopdir could get a crash. Did not 6327re-allocate enough memory. (Vince Negri) 6328 6329A user command may cause a crash. Don't use the command index when it's 6330negative. (Vince Negri) 6331 6332putenv() didn't work for MingW and Cygwin. (Dan Sharp) 6333 6334Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c 6335for compiling the Win16 version and remove the functions from os_win16.c. 6336(Vince Negri) 6337 6338For terminals that behave like an xterm but didn't have a name that is 6339recognized, the window title would not always be set. 6340 6341When syntax highlighting is off ":hardcopy" could still attempt printing 6342colors. 6343 6344Crash when using ":catch" without an argument. (Servatius Brandt) 6345 6346Win32: ":n #" doubled the backslashes. 6347 6348Fixed Arabic shaping for the command line. (Nadim Shaikli) 6349 6350Avoid splitting up a string displayed on the command line into individual 6351characters, it breaks Arabic shaping. 6352 6353Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp) 6354 63552html.vim didn't work with 'nomagic' set. 6356 6357When a local argument list is used and doing ":only" Vim could crash later. 6358(Muraoka Taro) 6359 6360When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3% 6361could result in "-3%". Also avoid changing a space inside a filename to the 6362fill character. 6363 6364MSwin: Handling of backslashes and double quotes for command line arguments 6365was not like what other applications do. (Walter Briscoe) 6366 6367Test32 sometimes didn't work, because test11.out was written as TEST11.OUT. 6368 6369Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and 6370uninstal.c. 6371 6372More improvements for Make_bc3.mak file. (Walter Briscoe) 6373 6374When ":syn sync linebreaks=1" is used, editing the first line caused a redraw 6375of the whole screen. 6376 6377Making translated messages didn't work, if_perl.xs wasn't found. (Vlad 6378Sandrini) 6379 6380Motif and Athena: moving Vim to the foreground didn't uniconify it. Use 6381XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran) 6382 6383When using ":ptag" in a window where 'scrollbind' is set the preview window 6384would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'. 6385 6386Various commands that split a window took over 'scrollbind', which is hardly 6387ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when 6388splitting a window. 6389 6390When 'shellslash' is set in the vimrc file the first entry of ":scriptnames" 6391would still have backslashes. Entries in the quickfix list could also have 6392wrong (back)slashes. 6393 6394Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto) 6395 6396When using a multi-byte character with a K_SPECIAL byte or a special key code 6397with "--remote-send" the received byte sequence was mangled. Put it in the 6398typeahead buffer instead of the input buffer. 6399 6400Win32: The cursor position was incorrect after changing cursor shape. 6401(Yasuhiro Matsumoto). 6402 6403Win32: When 'encoding' is not the current codepage the title could not be set 6404to non-ascii characters. 6405 6406"vim -d scp://machine/file1 scp://machine/file2" did not work, there was only 6407one window. Fixed the netrw plugin not to wipe out the buffer if it is 6408displayed in other windows. 6409 6410"/$" caused "e" in last column of screen to disappear, a highlighted blank was 6411displayed instead. 6412 6413":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was 6414using the line count including what matched after the "\ze". 6415 6416Using the "c" flag with ":s" changed the behavior when a line break is 6417replaced and "\@<=" is used. Without "c" a following match was not found. 6418 6419":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n". 6420 6421VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy) 6422 6423When a delete prompts if a delete should continue when yanking is not 6424possible, restore msg_silent afterwards. 6425 6426":sign" did not complain about a missing argument. 6427 6428When adding or deleting a sign 'hlsearch' highlighting could disappear. 6429Use the generic functions for updating signs. 6430 6431On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing. 6432Makes the tests work on more systems. 6433 6434In the DOS tests don't create "/tmp" to avoid an error. 6435 6436Mac classic: Problems with reading files with CR vs CR/LF. Rely on the 6437library version of fgets() to work correctly for Metrowerks 2.2. (Axel 6438Kielhorn) 6439 6440When typing a password a "*" was shown for each byte instead of for each 6441character. Added multi-byte handling to displaying the stars. (Yasuhiro 6442Matsumoto) 6443 6444When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use 6445different code for 5.6 and 5.8. (Dan Sharp) 6446 6447MingW and Cygwin: Don't strip the debug executable. (Dan Sharp) 6448 6449An assignment to a variable with curlies that includes "==" doesn't work. 6450Skip over the curlies before searching for an "=". (Vince Negri) 6451 6452When cancelling the selection of alternate matching tags the tag stack index 6453could be advanced too far, resulting in an error message when using CTRL-T. 6454 6455 6456Patch 6.1.001 6457Problem: When formatting UTF-8 text it might be wrapped at a space that is 6458 followed by a composing character. (Raphael Finkel) 6459 Also correct a display error for removing a composing char on top 6460 of a space. 6461Solution: Check for a composing character on a space. 6462Files: src/edit.c, src/misc1.c, src/screen.c 6463 6464Patch 6.1.002 (extra) 6465Problem: Win32: after a ":popup" command the mouse pointer stays hidden. 6466Solution: Unhide the mouse pointer before showing the menu. 6467Files: src/gui_w48.c 6468 6469Patch 6.1.003 6470Problem: When 'laststatus' is zero and there is a vertical split, the 6471 vertical separator is drawn in the command line. (Srikant 6472 Sankaran) 6473Solution: Don't draw the vertical separator where there is no statusline. 6474Files: src/screen.c 6475 6476Patch 6.1.004 6477Problem: Unicode 3.2 changes width and composing of a few characters. 6478 (Markus Kuhn) 6479Solution: Adjust the Unicode functions for the character width and composing 6480 characters. 6481Files: src/mbyte.c 6482 6483Patch 6.1.005 6484Problem: When using more than 50 items in 'statusline' Vim might crash. 6485 (Steve Hall) 6486Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen) 6487Files: src/option.c 6488 6489Patch 6.1.006 6490Problem: When using "P" in Visual mode to put linewise selected text, the 6491 wrong text is deleted. (Jakub Turski) 6492Solution: Put the text before the Visual area and correct the text to be 6493 deleted for the inserted lines. 6494 Also fix that "p" of linewise text in Visual block mode doesn't 6495 work correctly. 6496Files: src/normal.c, src/ops.c 6497 6498Patch 6.1.007 6499Problem: Using ":filetype plugin off" when filetype plugins were never 6500 enabled causes an error message. (Yiu Wing) 6501Solution: Use ":silent!" to avoid the error message. 6502Files: runtime/ftplugof.vim 6503 6504Patch 6.1.008 6505Problem: The "%" command doesn't ignore \" inside a string, it's seen as 6506 the end of the string. (Ken Clark) 6507Solution: Skip a double quote preceded by an odd number of backslashes. 6508Files: src/search.c 6509 6510Patch 6.1.009 6511Problem: Vim crashes when using a huge number for the maxwid value in a 6512 statusline. (Robert M. Nowotniak) 6513Solution: Check for an overflow that makes maxwid negative. 6514Files: src/buffer.c 6515 6516Patch 6.1.010 6517Problem: Searching backwards for a question mark with "?\?" doesn't work. 6518 (Alan Isaac) Same problem in ":s?\??" and ":g?\??". 6519Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter. 6520Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c, 6521 src/search.c, src/syntax.c, src/tag.c 6522 6523Patch 6.1.011 6524Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus 6525 problem when selecting candidates. 6526Solution: Fix the XIM problems. (Yasuhiro Matsumoto) 6527Files: src/mbyte.c, src/screen.c 6528 6529Patch 6.1.012 6530Problem: A system() call might fail if fread() does CR-LF to LF 6531 translation. 6532Solution: Open the output file in binary mode. (Pavol Huhas) 6533Files: src/misc1.c 6534 6535Patch 6.1.013 6536Problem: Win32: The default for 'printexpr' doesn't work when there are 6537 special characters in 'printdevice'. 6538Solution: Add double quotes around the device name. (Mike Williams) 6539Files: runtime/doc/option.txt, src/option.c 6540 6541Patch 6.1.014 6542Problem: An operator like "r" used in Visual block mode doesn't use 6543 'virtualedit' when it's set to "block". 6544Solution: Check for 'virtualedit' being active in Visual block mode when the 6545 operator was started. 6546Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c, 6547 src/ops.c, src/undo.c 6548 6549Patch 6.1.015 6550Problem: After patch 6.1.014 can't compile with tiny features. (Christian 6551 J. Robinson) 6552Solution: Add the missing define of virtual_op. 6553Files: src/vim.h 6554 6555Patch 6.1.016 (extra) 6556Problem: Win32: Outputting Hebrew or Arabic text might have a problem with 6557 reversing. 6558Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron) 6559Files: src/gui_w32.c 6560 6561Patch 6.1.017 6562Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O. 6563 (Pavol Juhas) 6564Solution: Define BINARY_FILE_IO for Cygwin. 6565Files: src/os_unix.h 6566 6567Patch 6.1.018 6568Problem: Error message when using cterm highlighting. (Leonardo Di Lella) 6569Solution: Remove a backslash before a question mark. 6570Files: runtime/syntax/cterm.vim 6571 6572Patch 6.1.019 (extra) 6573Problem: Win32: File name is messed up when editing just a drive name. 6574 (Walter Briscoe) 6575Solution: Append a NUL after the drive name. (Vince Negri) 6576Files: src/os_win32.c 6577 6578Patch 6.1.020 6579Problem: col("'>") returns a huge number after using Visual line mode. 6580Solution: Return the length of the line instead. 6581Files: src/eval.c 6582 6583Patch 6.1.021 (depends on patch 6.1.009) 6584Problem: Vim crashes when using a huge number for the minwid value in a 6585 statusline. (Robert M. Nowotniak) 6586Solution: Check for an overflow that makes minwid negative. 6587Files: src/buffer.c 6588 6589Patch 6.1.022 6590Problem: Grabbing the status line above the command-line window works like 6591 the bottom status line was grabbed. (Jim Battle) 6592Solution: Make it possible to grab the status line above the command-line 6593 window, so that it can be resized. 6594Files: src/ui.c 6595 6596Patch 6.1.023 (extra) 6597Problem: VMS: running tests doesn't work properly. 6598Solution: Adjust the makefile. (Zoltan Arpadffy) 6599Files: src/testdir/Make_vms.mms 6600 6601Patch 6.1.024 6602Problem: When header files use a new syntax for declaring functions, Vim 6603 can't figure out missing prototypes properly. 6604Solution: Accept braces around a function name. (M. Warner Losh) 6605Files: src/osdef.sh 6606 6607Patch 6.1.025 6608Problem: Five messages for "vim --help" don't start with a capital. (Vlad 6609 Sandrini) 6610Solution: Make the messages consistent. 6611Files: src/main.c 6612 6613Patch 6.1.026 6614Problem: *.patch files are not recognized as diff files. In a script a 6615 "VAR=val" argument after "env" isn't ignored. PHP scripts are not 6616 recognized. 6617Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP 6618 scripts. (Roman Neuhauser) 6619Files: runtime/filetype.vim, runtime/scripts.vim 6620 6621Patch 6.1.027 6622Problem: When 'foldcolumn' is non-zero, a special character that wraps to 6623 the next line disturbs the foldcolumn highlighting. (Yasuhiro 6624 Matsumoto) 6625Solution: Only use the special highlighting when drawing text characters. 6626Files: src/screen.c 6627 6628Patch 6.1.028 6629Problem: Client-server: When a --remote-expr fails, Vim still exits with 6630 status zero. 6631Solution: Exit Vim with a non-zero status to indicate the --remote-expr 6632 failed. (Thomas Scott Urban) 6633Files: src/main.c 6634 6635Patch 6.1.029 6636Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing 6637 a utf-8 or other Unicode file uses the wrong conversion. (Jan 6638 Fedak) 6639Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other 6640 than "latin1". 6641Files: src/fileio.c 6642 6643Patch 6.1.030 6644Problem: When CTRL-N is mapped in Insert mode, it is also mapped after 6645 CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F. 6646 (Kontra Gergely) 6647Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P. 6648Files: src/getchar.c 6649 6650Patch 6.1.031 6651Problem: Cygwin: Xxd could read a file in text mode instead of binary mode. 6652Solution: Use "rb" or "rt" when needed. (Pavol Juhas) 6653Files: src/xxd/xxd.c 6654 6655Patch 6.1.032 6656Problem: Can't specify a quickfix file without jumping to the first error. 6657Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan) 6658Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, 6659 src/quickfix.c 6660 6661Patch 6.1.033 6662Problem: GUI: When the selection is lost and the Visual highlighting is 6663 changed to underlining, the cursor is left in a different 6664 position. (Christian Michon) 6665Solution: Update the cursor position after redrawing the selection. 6666Files: src/ui.c 6667 6668Patch 6.1.034 6669Problem: A CVS diff file isn't recognized as diff filetype. 6670Solution: Skip lines starting with "? " before checking for an "Index:" line. 6671Files: runtime/scripts.vim 6672 6673Patch 6.1.035 (extra, depends on 6.1.016) 6674Problem: Win32: Outputting Hebrew or Arabic text might have a problem with 6675 reversing on MS-Windows 95/98/ME. 6676Solution: Restore the RevOut() function and use it in specific situations 6677 only. (Ron Aaron) 6678Files: src/gui_w32.c 6679 6680Patch 6.1.036 6681Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens) 6682Solution: Compute the right length of the regexp when it's empty. 6683Files: src/search.c 6684 6685Patch 6.1.037 6686Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt 6687 causes an incomplete redraw and the cursor isn't positioned. 6688 (Lubomir Host) 6689Solution: Overrule 'lazyredraw' when do_redraw is set. 6690Files: src/main.c, src/screen.c 6691 6692Patch 6.1.038 6693Problem: Multi-byte: When a ":s" command contains a multi-byte character 6694 where the trail byte is '~' the text is messed up. 6695Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro) 6696Files: src/regexp.c 6697 6698Patch 6.1.039 6699Problem: When folds are defined and the file is changed outside of Vim, 6700 reloading the file doesn't update the folds. (Anders 6701 Schack-Nielsen) 6702Solution: Recompute the folds after reloading the file. 6703Files: src/fileio.c 6704 6705Patch 6.1.040 6706Problem: When changing directory for expanding a file name fails there is 6707 no error message. 6708Solution: Give an error message for this situation. Don't change directory 6709 if we can't return to the original directory. 6710Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c, 6711 src/os_unix.c 6712 6713Patch 6.1.041 6714Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in 6715 the rhs. (Davyd Ondrejko) 6716Solution: Insert a CTRL-V before the leading space. Also display leading 6717 and trailing white space in <> form. 6718Files: src/getchar.c, src/message.c 6719 6720Patch 6.1.042 6721Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap 6722 files. (Steve Talley) 6723Solution: Keep all matching swap file names. 6724Files: src/memline.c 6725 6726Patch 6.1.043 6727Problem: After patch 6.1.040 a few warnings are produced. 6728Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn) 6729Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c 6730 6731Patch 6.1.044 (extra) 6732Problem: GUI: When using the find/replace dialog with text that contains a 6733 slash, an invalid substitute command is generated. 6734 On Win32 a find doesn't work when 'insertmode' is set. 6735Solution: Escape slashes with a backslash. 6736 Make the Win32, Motif and GTK gui use common code for the 6737 find/replace dialog. 6738 Add the "match case" option for Motif and GTK. 6739Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h, 6740 src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c 6741 6742Patch 6.1.045 6743Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999, 6744 moving the cursor down near the end of the file causes the text to 6745 jump up and down. (Lubomir Host) 6746Solution: Take into account that the cursor may be on the last line of a 6747 closed fold. 6748Files: src/move.c 6749 6750Patch 6.1.046 6751Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black 6752 rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor 6753 disappear. (Nam SungHyun) 6754Solution: Correctly compute the height of the horizontal cursor. 6755Files: src/gui_gtk_x11.c, src/gui_x11.c 6756 6757Patch 6.1.047 6758Problem: When skipping commands after an error was encountered, expressions 6759 for ":if", ";elseif" and ":while" are still evaluated. 6760Solution: Skip the expression after an error. (Servatius Brandt) 6761Files: src/ex_docmd.c 6762 6763Patch 6.1.048 6764Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters. 6765Solution: Recognize more characters as composing characters. (Jungshik Shin) 6766Files: src/mbyte.c 6767 6768Patch 6.1.049 (extra) 6769Problem: On a 32 bit display a valid color may cause an error message, 6770 because its pixel value is negative. (Chris Paulson-Ellis) 6771Solution: Check for -11111 instead of the color being negative. 6772 Don't add one to the pixel value, -1 may be used for white. 6773Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c, 6774 src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c, 6775 src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, 6776 src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c, 6777 src/gui_x11.c, src/mbyte.c, src/syntax.c 6778 6779Patch 6.1.050 (depends on 6.1.049) 6780Problem: After patch 6.1.049 the non-GUI version doesn't compile. 6781Solution: Add an #ifdef FEAT_GUI. (Robert Stanton) 6782Files: src/syntax.c 6783 6784Patch 6.1.051 (depends on 6.1.044) 6785Problem: Doesn't compile with GUI and small features. 6786Solution: Adjust the #if for ga_append(). 6787Files: src/misc2.c 6788 6789Patch 6.1.052 6790Problem: Unix: The executable() function doesn't work when the "which" 6791 command isn't available. 6792Solution: Go through $PATH manually. Also makes it work for VMS. 6793Files: src/os_unix.c 6794 6795Patch 6.1.053 6796Problem: When 'sessionoptions' contains "globals", or "localoptions" and an 6797 option value contains a line break, the resulting script is wrong. 6798Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula) 6799Files: src/eval.c 6800 6801Patch 6.1.054 6802Problem: GUI: A mouse click is not recognized at the more prompt, even when 6803 'mouse' includes 'r'. 6804Solution: Recognize a mouse click at the more prompt. 6805 Also accept a mouse click in the last line in the GUI. 6806 Add "ml" entry in 'mouseshape'. 6807Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, 6808 src/structs.h 6809 6810Patch 6.1.055 6811Problem: When editing a compressed file, Vim will inspect the contents to 6812 guess the filetype. 6813Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files. 6814Files: runtime/filetype.vim, runtime/plugin/gzip.vim 6815 6816Patch 6.1.056 6817Problem: Loading the Syntax menu can take quite a bit of time. 6818Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the 6819 available syntax files are not in the Syntax menu. 6820Files: runtime/doc/gui.txt, runtime/menu.vim 6821 6822Patch 6.1.057 6823Problem: An ESC inside a mapping doesn't work as documented when 6824 'insertmode' is set, it does go from Visual or Normal mode to 6825 Insert mode. (Benji Fisher) 6826Solution: Make it work as documented. 6827Files: src/normal.c 6828 6829Patch 6.1.058 6830Problem: When there is a closed fold just above the first line in the 6831 window, using CTRL-X CTRL-Y in Insert mode will show only one line 6832 of the fold. (Alexey Marinichev) 6833Solution: Correct the topline by putting it at the start of the fold. 6834Files: src/move.c 6835 6836Patch 6.1.059 6837Problem: ":redir > ~/file" doesn't work. (Stephen Rasku) 6838Solution: Expand environment variables in the ":redir >" argument. 6839Files: src/ex_docmd.c 6840 6841Patch 6.1.060 6842Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting 6843 a character just before a tab changes the tab into spaces. Undo 6844 doesn't restore the tab. (Helmut Stiegler) 6845Solution: Don't replace the tab by spaces when it's not needed. Correctly 6846 save the line before it's changed. 6847Files: src/ops.c 6848 6849Patch 6.1.061 6850Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual 6851 selection that ends just after a tab doesn't include that tab in 6852 the highlighting. (Helmut Stiegler) 6853Solution: Use a different way to exclude the character under the cursor. 6854Files: src/screen.c 6855 6856Patch 6.1.062 6857Problem: The "man" filetype plugin doesn't work properly on Solaris 5. 6858Solution: Use a different way to detect that "man -s" should be used. (Hugh 6859 Sasse) 6860Files: runtime/ftplugin/man.vim 6861 6862Patch 6.1.063 6863Problem: Java indenting doesn't work properly. 6864Solution: Ignore comments when checking if the indent doesn't increase after 6865 a "}". 6866Files: runtime/indent/java.vim 6867 6868Patch 6.1.064 6869Problem: The URLs that the netrw plugin recognized for ftp and rcp did not 6870 conform to the standard method://[user@]host[:port]/path. 6871Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new 6872 and the previous style. Also added a bit of dav/cadaver support. 6873 (Charles Campbell) 6874Files: runtime/plugin/netrw.vim 6875 6876Patch 6.1.065 6877Problem: VMS: The colorscheme, keymap and compiler menus are not filled in. 6878Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts) 6879Files: runtime/menu.vim 6880 6881Patch 6.1.066 (extra) 6882Problem: When calling system() in a plugin reading stdin hangs. 6883Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode 6884 before the system() call. 6885Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c, 6886 src/os_win16.c, src/os_win32.c 6887 6888Patch 6.1.067 6889Problem: ":set viminfo+=f0" is not working. (Benji Fisher) 6890Solution: Check the "f" flag instead of "'" in 'viminfo'. 6891Files: src/mark.c 6892 6893Patch 6.1.068 6894Problem: When a file is reloaded after it was changed outside of Vim, diff 6895 mode isn't updated. (Michael Naumann) 6896Solution: Invalidate the diff info so that it's updated when needed. 6897Files: src/fileio.c 6898 6899Patch 6.1.069 6900Problem: When 'showmatch' is set and "$" is in 'cpoptions', using 6901 "C}<Esc>" may forget to remove the "$". (Preben Guldberg) 6902Solution: Restore dollar_vcol after displaying the matching cursor position. 6903Files: src/search.c 6904 6905Patch 6.1.070 (depends on 6.1.060) 6906Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams) 6907Solution: Add a typecast to int. 6908Files: src/ops.c 6909 6910Patch 6.1.071 6911Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one 6912 character too much. (David Necas) 6913Solution: Subtract one from the end position. 6914Files: src/ops.c 6915 6916Patch 6.1.072 6917Problem: When a file name in a tags file starts with http:// or something 6918 else for which there is a BufReadCmd autocommand, the file isn't 6919 opened anyway. 6920Solution: Check if there is a matching BufReadCmd autocommand and try to 6921 open the file. 6922Files: src/fileio.c, src/proto/fileio.pro, src/tag.c 6923 6924Patch 6.1.073 (extra) 6925Problem: BC5: Can't easily specify a tiny, small, normal, big or huge 6926 version. 6927Solution: Allow selecting the version with the FEATURES variable. (Ajit 6928 Thakkar) 6929Files: src/Make_bc5.mak 6930 6931Patch 6.1.074 6932Problem: When 'cdpath' includes "../..", changing to a directory in which 6933 we currently already are doesn't work. ff_check_visited() adds 6934 the directory both when using it as the root for searching and for 6935 the actual matches. (Stephen Rasku) 6936Solution: Use a separate list for the already searched directories. 6937Files: src/misc2.c 6938 6939Patch 6.1.075 (depends on 6.1.072) 6940Problem: Can't compile fileio.c on MS-Windows. 6941Solution: Add a declaration for the "p" pointer. (Madoka Machitani) 6942Files: src/fileio.c 6943 6944Patch 6.1.076 (extra) 6945Problem: Macintosh: explorer plugin doesn't work on Mac Classic. 6946 IME doesn't work. Dialog boxes don't work on Mac OS X 6947Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn) 6948 Fix IME support. (Muraoka Taro) 6949 Disable dialog boxes. (Benji Fisher) 6950Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c 6951 6952Patch 6.1.077 6953Problem: On a Debian system with ACL linking fails. (Lubomir Host) 6954Solution: When the "acl" library is used, check if the "attr" library is 6955 present and use it. 6956Files: src/auto/configure, src/configure.in, src/link.sh 6957 6958Patch 6.1.078 6959Problem: When using 'foldmethod' "marker" and the end marker appears before 6960 the start marker in the file, no fold is found. (Nazri Ramliy) 6961Solution: Don't let the fold depth go negative. 6962Files: src/fold.c 6963 6964Patch 6.1.079 6965Problem: When using "s" in Visual block mode with 'virtualedit' set, when 6966 the selected block is after the end of some lines the wrong text 6967 is inserted and some lines are skipped. (Servatius Brandt) 6968Solution: Insert the right text and extend short lines. 6969Files: src/ops.c 6970 6971Patch 6.1.080 6972Problem: When using gcc with /usr/local already in the search path, adding 6973 it again causes problems. 6974Solution: Adjust configure.in to avoid adding /usr/local/include and 6975 /usr/local/lib when using GCC and they are already used. (Johannes 6976 Zellner) 6977Files: src/auto/configure, src/configure.in 6978 6979Patch 6.1.081 6980Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson) 6981Solution: Double the backslash to avoid the special meaning of "\_". 6982Files: src/ex_cmds.c 6983 6984Patch 6.1.082 6985Problem: On MS-Windows the vimrc_example.vim script is sourced and then 6986 mswin.vim. This enables using select mode, but since "p" is 6987 mapped it doesn't replace the selection. 6988Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete. 6989 (Vlad Sandrini) 6990Files: runtime/vimrc_example.vim 6991 6992Patch 6.1.083 6993Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found. 6994 (Martin Lacko) 6995Solution: Guess the right menu file based on the system. 6996Files: runtime/lang/menu_sk_sk.vim 6997 6998Patch 6.1.084 (depends on 6.1.080) 6999Problem: "include" and "lib" are mixed up when checking the directories gcc 7000 already searches. 7001Solution: Swap the variable names. (SunHo Kim) 7002Files: src/auto/configure, src/configure.in 7003 7004Patch 6.1.085 7005Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed 7006 mode "(insert)" isn't removed. (Benji Fisher) 7007Solution: Clear the command line. 7008Files: src/normal.c 7009 7010Patch 6.1.086 (depends on 6.1.049) 7011Problem: The guifg color for CursorIM doesn't take effect. 7012Solution: Use the foreground color when it's defined. (Muraoka Taro) 7013Files: src/gui.c 7014 7015Patch 6.1.087 7016Problem: A thesaurus with Japanese characters has problems with characters 7017 in different word classes. 7018Solution: Only separate words with single-byte non-word characters. 7019 (Muraoka Taro) 7020Files: src/edit.c 7021 7022Patch 6.1.088 (extra) 7023Problem: Win32: no debugging info is generated. Tags file excludes .cpp 7024 files. 7025Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command. 7026 (Muraoka Taro) 7027Files: src/Make_mvc.mak 7028 7029Patch 6.1.089 7030Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan) 7031Solution: Use ss_base instead. 7032Files: src/auto/configure, src/configure.in, src/config.h.in, 7033 src/os_unix.c 7034 7035Patch 6.1.090 7036Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix 7037 of long wrapping lines and a non-wrapping line. 7038Solution: Check that CTRL-F scrolls at least one line. 7039Files: src/move.c 7040 7041Patch 6.1.091 7042Problem: GTK: Can't change preeditstate without setting 'imactivatekey'. 7043Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro 7044 Matsumoto) 7045Files: src/mbyte.c 7046 7047Patch 6.1.092 7048Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam) 7049Solution: Allow an argument for ":mapclear". 7050Files: src/ex_cmds.h 7051 7052Patch 6.1.093 (extra) 7053Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the 7054 results can be messed up, because the cursor is moved. 7055Solution: Disallow direct scrolling when not waiting for a character. 7056Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 7057 7058Patch 6.1.094 7059Problem: Cygwin: Passing a file name that has backslashes isn't handled 7060 very well. 7061Solution: Convert file name arguments to Posix. (Chris Metcalf) 7062Files: src/main.c 7063 7064Patch 6.1.095 7065Problem: When using signs can free an item on the stack. 7066 Overruling sign colors doesn't work. (Srikanth Sankaran) 7067Solution: Don't free the item on the stack. Use NULL instead of "none" for 7068 the value of the color. 7069Files: src/gui_x11.c 7070 7071Patch 6.1.096 7072Problem: When erasing the right halve of a double-byte character, it may 7073 cause further characters to be erased. (Yasuhiro Matsumoto) 7074Solution: Make sure only one character is erased. 7075Files: src/screen.c 7076 7077Patch 6.1.097 (depends on 6.1.090) 7078Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the 7079 file scrolls one line. (Lubomir Host) 7080Solution: Don't scroll when CTRL-F detects the end-of-file. 7081Files: src/move.c 7082 7083Patch 6.1.098 7084Problem: MS-Windows: When the xxd program is under "c:\program files" the 7085 "Convert to Hex" menu doesn't work. (Brian Mathis) 7086Solution: Put the path to xxd in double quotes. 7087Files: runtime/menu.vim 7088 7089Patch 6.1.099 7090Problem: Memory corrupted when closing a fold with more than 99999 lines. 7091Solution: Allocate more space for the fold text. (Walter Briscoe) 7092Files: src/eval.c 7093 7094Patch 6.1.100 (extra, depends on 6.1.088) 7095Problem: Win32: VC5 and earlier don't support the /mapinfo option. 7096Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro) 7097Files: src/Make_mvc.mak 7098 7099Patch 6.1.101 7100Problem: After using ":options" the tabstop of a new window is 15. Entry 7101 in ":options" window for 'autowriteall' is wrong. (Antoine J 7102 Mechelynck) Can't insert a space in an option value. 7103Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa". 7104 Don't map space in Insert mode. 7105Files: runtime/optwin.vim 7106 7107Patch 6.1.102 7108Problem: Unprintable and multi-byte characters in a statusline item are not 7109 truncated correctly. (Yasuhiro Matsumoto) 7110Solution: Count the width of characters instead of the number of bytes. 7111Files: src/buffer.c 7112 7113Patch 6.1.103 7114Problem: A function returning from a while loop, with 'verbose' set to 12 7115 or higher, doesn't mention the return value. A function with the 7116 'abort' attribute may return -1 while the verbose message says 7117 something else. 7118Solution: Move the verbose message about returning from a function to 7119 call_func(). (Servatius Brandt) 7120Files: src/eval.c 7121 7122Patch 6.1.104 7123Problem: GCC 3.1 appears to have an optimizer problem that makes test 3 7124 crash. 7125Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug. 7126 Filter out extra info from "gcc --version". 7127Files: src/auto/configure, src/configure.in 7128 7129Patch 6.1.105 7130Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion 7131 Nicolaas) 7132Solution: Redirect stderr, depending on the shell (like for 'shellredir'). 7133Files: src/option.c 7134 7135Patch 6.1.106 7136Problem: The maze program crashes. 7137Solution: Change "11" to "27" and it works. (Greg Roelofs) 7138Files: runtime/macros/maze/mazeansi.c 7139 7140Patch 6.1.107 7141Problem: When 'list' is set the current line in the error window may be 7142 displayed wrong. (Muraoka Taro) 7143Solution: Don't continue the line after the $ has been displayed and the 7144 rightmost column is reached. 7145Files: src/screen.c 7146 7147Patch 6.1.108 7148Problem: When interrupting a filter command such as "!!sleep 20" the file 7149 becomes read-only. (Mark Brader) 7150Solution: Only set the read-only flag when opening a buffer is interrupted. 7151 When the shell command was interrupted, read the output that was 7152 produced so far. 7153Files: src/ex_cmds.c, src/fileio.c 7154 7155Patch 6.1.109 7156Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the 7157 window heights. (Roman Neuhauser) 7158Solution: Ignore 'eadirection' for CTRL-W = 7159Files: src/window.c 7160 7161Patch 6.1.110 7162Problem: When using ":badd file" when "file" is already present but not 7163 listed, it stays unlisted. (David Frey) 7164Solution: Set 'buflisted'. 7165Files: src/buffer.c 7166 7167Patch 6.1.111 7168Problem: It's not possible to detect using the Unix sources on Win32 or Mac. 7169Solution: Add has("macunix") and has("win32unix"). 7170Files: runtime/doc/eval.txt, src/eval.c 7171 7172Patch 6.1.112 7173Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to 7174 the cursor position from before this command but every position 7175 where the argument was executed. 7176Solution: Only remember the cursor position from before the ":argdo", 7177 ":bufdo" and ":windo". 7178Files: src/ex_cmds2.c, src/mark.c 7179 7180Patch 6.1.113 7181Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser) 7182Solution: Decide what buffer to go to next before executing the command. 7183Files: src/ex_cmds2.c 7184 7185Patch 6.1.114 7186Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives 7187 a lalloc(0) error. (Chris Southern) 7188Solution: Don't allocate an array when it's size is zero. 7189Files: src/if_python.c 7190 7191Patch 6.1.115 7192Problem: "das" on the white space at the end of a paragraph does not delete 7193 the "." the sentence ends with. 7194Solution: Don't exclude the last character when it is not white space. 7195Files: src/search.c 7196 7197Patch 6.1.116 7198Problem: When 'endofline' is changed while 'binary' is set a file should be 7199 considered modified. (Olaf Buddenhagen) 7200Solution: Remember the 'eol' value when editing started and consider the 7201 file changed when the current value is different and 'binary' is 7202 set. Also fix that the window title isn't updated when 'ff' or 7203 'bin' changes. 7204Files: src/option.c, src/structs.h 7205 7206Patch 6.1.117 7207Problem: Small problem with editing a file over ftp: and with Cygwin. 7208Solution: Remove a dot from a ":normal" command. Use "cygdrive" where 7209 appropriate. (Charles Campbell) 7210Files: runtime/plugin/netrw.vim 7211 7212Patch 6.1.118 7213Problem: When a file in diff mode is reloaded because it changed outside 7214 of Vim, other windows in diff mode are not always updated. 7215 (Michael Naumann) 7216Solution: After reloading a file in diff mode mark all windows in diff mode 7217 for redraw. 7218Files: src/diff.c 7219 7220Patch 6.1.119 (extra) 7221Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be 7222 a crash when connecting to Sniff. 7223Solution: Initialize sniff_rq_sep such that its value can be changed. 7224 (Martin Egloff) 7225Files: src/if_sniff.c 7226 7227Patch 6.1.120 (depends on 6.1.097) 7228Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the 7229 end of the file scrolls part of a closed fold. (Lubomir Host) 7230Solution: Adjust the first line to the start of a fold. 7231Files: src/move.c 7232 7233Patch 6.1.121 (depends on 6.1.098) 7234Problem: When starting Select mode from Insert mode, then using the Paste 7235 menu entry, the cursor is left before the last pasted character. 7236 (Mario Schweigler) 7237Solution: Set the cursor for Insert mode one character to the right. 7238Files: runtime/menu.vim 7239 7240Patch 6.1.122 7241Problem: ":file name" creates a new buffer to hold the old buffer name, 7242 which becomes the alternate file. This buffer is unexpectedly 7243 listed. 7244Solution: Create the buffer for the alternate name unlisted. 7245Files: src/ex_cmds.c 7246 7247Patch 6.1.123 7248Problem: A ":match" command with more than one argument doesn't report an 7249 error. 7250Solution: Check for extra characters. (Servatius Brandt) 7251Files: src/ex_docmd.c 7252 7253Patch 6.1.124 7254Problem: When trying to exit and there is a hidden buffer that had 'eol' 7255 off and 'bin' set exiting isn't possible. (John McGowan) 7256Solution: Set b_start_eol when clearing the buffer. 7257Files: src/buffer.c 7258 7259Patch 6.1.125 7260Problem: Explorer plugin asks for saving a modified buffer even when it's 7261 open in another window as well. 7262Solution: Count the number of windows using the buffer. 7263Files: runtime/plugin/explorer.vim 7264 7265Patch 6.1.126 7266Problem: Adding the choices in the syntax menu is consuming much of the 7267 startup time of the GUI while it's not often used. 7268Solution: Only add the choices when the user wants to use them. 7269Files: Makefile, runtime/makemenu.vim, runtime/menu.vim, 7270 runtime/synmenu.vim, src/Makefile 7271 7272Patch 6.1.127 7273Problem: When using "--remote file" and the server has 'insertmode' set, 7274 commands are inserted instead of being executed. (Niklas Volbers) 7275Solution: Go to Normal mode again after the ":drop" command. 7276Files: src/main.c 7277 7278Patch 6.1.128 7279Problem: The expression "input('very long prompt')" puts the cursor in the 7280 wrong line (column is OK). 7281Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto) 7282Files: src/ex_getln.c 7283 7284Patch 6.1.129 7285Problem: On Solaris editing "file/" and then "file" results in using the 7286 same buffer. (Jim Battle) 7287Solution: Before using stat(), check that there is no illegal trailing 7288 slash. 7289Files: src/auto/configure, src/config.h.in, src/configure.in, 7290 src/macros.h src/misc2.c, src/proto/misc2.pro 7291 7292Patch 6.1.130 7293Problem: The documentation for some of the 'errorformat' items is unclear. 7294Solution: Add more examples and explain hard to understand items. (Stefan 7295 Roemer) 7296Files: runtime/doc/quickfix.txt 7297 7298Patch 6.1.131 7299Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI, 7300 the CSI byte itself isn't copied. 7301Solution: Copy the CSI byte. 7302Files: src/gui_x11.c 7303 7304Patch 6.1.132 7305Problem: Executing a register in Ex mode may cause commands to be skipped. 7306 (John McGowan) 7307Solution: In Ex mode use an extra check if the register contents was 7308 consumed, to avoid input goes into the typeahead buffer. 7309Files: src/ex_docmd.c 7310 7311Patch 6.1.133 7312Problem: When drawing double-wide characters in the statusline, may clear 7313 half of a character. (Yasuhiro Matsumoto) 7314Solution: Force redraw of the next character by setting the attributes 7315 instead of putting a NUL in ScreenLines[]. Do put a NUL in 7316 ScreenLines[] when overwriting half of a double-wide character. 7317Files: src/screen.c 7318 7319Patch 6.1.134 7320Problem: An error for a trailing argument of ":match" should not be given 7321 after ":if 0". (Servatius Brandt) 7322Solution: Only do the check when executing commands. 7323Files: src/ex_docmd.c 7324 7325Patch 6.1.135 7326Problem: Passing a command to the shell that includes a newline always has 7327 a backslash before the newline. 7328Solution: Remove one backslash before the newline. (Servatius Brandt) 7329Files: src/ex_docmd.c 7330 7331Patch 6.1.136 7332Problem: When $TERM is "linux" the default for 'background' is "dark", even 7333 though the GUI uses a light background. (Hugh Allen) 7334Solution: Don't mark the option as set when defaulting to "dark" for the 7335 linux console. Also reset 'background' to "light" when the GUI 7336 has a light background. 7337Files: src/option.c 7338 7339Patch 6.1.137 7340Problem: Converting to HTML has a clumsy way of dealing with tabs which may 7341 change the highlighting. 7342Solution: Replace tabs with spaces after converting a line to HTML. (Preben 7343 Guldberg) 7344Files: runtime/syntax/2html.vim 7345 7346Patch 6.1.138 (depends on 6.1.126) 7347Problem: Adding extra items to the Syntax menu can't be done when the "Show 7348 individual choices" menu is used. 7349Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim 7350 files in the runtime path are loaded. (Servatius Brandt) 7351 Also fix that a translated menu can't be removed. 7352Files: runtime/menu.vim 7353 7354Patch 6.1.139 7355Problem: Cygwin: PATH_MAX is not defined. 7356Solution: Include limits.h. (Dan Sharp) 7357Files: src/main.c 7358 7359Patch 6.1.140 7360Problem: Cygwin: ":args `ls *.c`" does not work if the shell command 7361 produces CR NL line separators. 7362Solution: Remove the CR characters ourselves. (Pavol Juhas) 7363Files: src/os_unix.c 7364 7365Patch 6.1.141 7366Problem: ":wincmd gx" may cause problems when mixed with other commands. 7367 ":wincmd c" doesn't close the window immediately. (Benji Fisher) 7368Solution: Pass the extra command character directly instead of using the 7369 stuff buffer and call ex_close() directly. 7370Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, 7371 src/proto/window.pro, src/window.c 7372 7373Patch 6.1.142 7374Problem: Defining paragraphs without a separating blank line isn't 7375 possible. Paragraphs can't be formatted automatically. 7376Solution: Allow defining paragraphs with lines that end in white space. 7377 Added the 'w' and 'a' flags in 'formatoptions'. 7378Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c, 7379 src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro, 7380 src/vim.h 7381 7382Patch 6.1.143 (depends on 6.1.142) 7383Problem: Auto formatting near the end of the file moves the cursor to a 7384 wrong position. In Insert mode some lines are made one char too 7385 narrow. When deleting a line undo might not always work properly. 7386Solution: Don't always move to the end of the line in the last line. Don't 7387 position the cursor past the end of the line in Insert mode. 7388 After deleting a line save the cursor line for undo. 7389Files: src/edit.c, src/ops.c, src/normal.c 7390 7391Patch 6.1.144 7392Problem: Obtaining the size of a line in screen characters can be wrong. 7393 A pointer may wrap around zero. 7394Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim 7395 Dunleavy) 7396Files: src/charset.c 7397 7398Patch 6.1.145 7399Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael 7400 Marchand) 7401Solution: Rewrite the code that parses the received list of files to be more 7402 robust. 7403Files: src/charset.c, src/gui_gtk_x11.c 7404 7405Patch 6.1.146 7406Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and 7407 $HOMEPATH, it is not used for storing the _viminfo file. (Normal 7408 Diamond) 7409Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH. 7410Files: src/misc1.c 7411 7412Patch 6.1.147 (extra) 7413Problem: MS-Windows: When a dialog has no default button, pressing Enter 7414 ends it anyway and all buttons are selected. 7415Solution: Don't end a dialog when there is no default button. Don't select 7416 all button when there is no default. (Vince Negri) 7417Files: src/gui_w32.c 7418 7419Patch 6.1.148 (extra) 7420Problem: MS-Windows: ACL is not properly supported. 7421Solution: Add an access() replacement that also works for ACL. (Mike 7422 Williams) 7423Files: runtime/doc/editing.txt, src/os_win32.c 7424 7425Patch 6.1.149 (extra) 7426Problem: MS-Windows: Can't use diff mode from the file explorer. 7427Solution: Add a "diff with Vim" context menu entry. (Dan Sharp) 7428Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h 7429 7430Patch 6.1.150 7431Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd() 7432 still uses backslash. (Yegappan Lakshmanan) 7433Solution: Adjust slashes in getcwd(). 7434Files: src/eval.c 7435 7436Patch 6.1.151 (extra) 7437Problem: Win32: The NTFS substream isn't copied. 7438Solution: Copy the substream when making a backup copy. (Muraoka Taro) 7439Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro 7440 7441Patch 6.1.152 7442Problem: When $LANG is iso8859-1 translated menus are not used. 7443Solution: Change iso8859 to iso_8859. 7444Files: runtime/menu.vim 7445 7446Patch 6.1.153 7447Problem: Searching in included files may search recursively when the path 7448 starts with "../". (Sven Berkvens-Matthijsse) 7449Solution: Compare full file names, use inode/device when possible. 7450Files: src/search.c 7451 7452Patch 6.1.154 (extra) 7453Problem: DJGPP: "vim -h" leaves the cursor in a wrong position. 7454Solution: Don't position the cursor using uninitialized variables. (Jim 7455 Dunleavy) 7456Files: src/os_msdos.c 7457 7458Patch 6.1.155 7459Problem: Win32: Cursor may sometimes disappear in Insert mode. 7460Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe) 7461Files: src/option.c 7462 7463Patch 6.1.156 7464Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly. 7465Solution: Clean up a few things. 7466Files: src/mbyte.c, src/structs.h 7467 7468Patch 6.1.157 7469Problem: 'hlsearch' highlights only the second comma in ",,,,," with 7470 "/,\@<=[^,]*". (Preben Guldberg) 7471Solution: Also check for an empty match to start just after a previous 7472 match. 7473Files: src/screen.c 7474 7475Patch 6.1.158 7476Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1". 7477 (Preben Guldberg) 7478Solution: Take 'siso' into account when computing the horizontal scroll 7479 position for "zs" and "ze". 7480Files: src/normal.c 7481 7482Patch 6.1.159 7483Problem: When expanding an abbreviation that includes a multi-byte 7484 character too many characters are deleted. (Andrey Urazov) 7485Solution: Delete the abbreviation counting characters instead of bytes. 7486Files: src/getchar.c 7487 7488Patch 6.1.160 7489Problem: ":$read file.gz" doesn't work. (Preben Guldberg) 7490Solution: Don't use the '[ mark after it has become invalid. 7491Files: runtime/plugin/gzip.vim 7492 7493Patch 6.1.161 (depends on 6.1.158) 7494Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative 7495 value. (Mike Williams) 7496Solution: Add a typecast. Add a check for 'siso' being negative. 7497Files: src/normal.c, src/option.c 7498 7499Patch 6.1.162 7500Problem: Python interface: Didn't initialize threads properly. 7501Solution: Call PyEval_InitThreads() when starting up. 7502Files: src/if_python.c 7503 7504Patch 6.1.163 7505Problem: Win32: Can't compile with Python after 6.1.162. 7506Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp) 7507Files: src/if_python.c 7508 7509Patch 6.1.164 7510Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is 7511 changed to "xxd" anyway. 7512Solution: Don't change 'filetype' when conversion failed. 7513Files: runtime/menu.vim 7514 7515Patch 6.1.165 7516Problem: Making changes in several lines and then a change in one of these 7517 lines that splits it in two or more lines, undo information was 7518 corrupted. May cause a crash. (Dave Fishburn) 7519Solution: When skipping to save a line for undo because it was already 7520 saved, move it to become the last saved line, so that when the 7521 command changes the line count other saved lines are not involved. 7522Files: src/undo.c 7523 7524Patch 6.1.166 7525Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting 7526 with CTRL-V just after auto-indenting removes the indent. (Shlomi 7527 Fish) 7528Solution: First insert an "x" and delete it again, so that the auto-indent 7529 remains. 7530Files: runtime/mswin.vim 7531 7532Patch 6.1.167 7533Problem: When giving a negative argument to ":retab" strange things start 7534 happening. (Hans Ginzel) 7535Solution: Check for a negative value. 7536Files: src/ex_cmds.c 7537 7538Patch 6.1.168 7539Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt. 7540Solution: Make CTRL-C stop the hit-enter prompt. 7541Files: src/message.c 7542 7543Patch 6.1.169 7544Problem: bufexists() finds a buffer by using the name of a symbolic link to 7545 it, but bufnr() doesn't. (Yegappan Lakshmanan) 7546Solution: When bufnr() can't find a buffer, try using the same method as 7547 bufexists(). 7548Files: src/eval.c 7549 7550Patch 6.1.170 7551Problem: Using ":mksession" uses the default session file name, but "vim 7552 -S" doesn't. (Hans Ginzel) 7553Solution: Use the default session file name if "-S" is the last command 7554 line argument or another option follows. 7555Files: runtime/doc/starting.txt, src/main.c 7556 7557Patch 6.1.171 7558Problem: When opening a line just above a closed fold with "O" and the 7559 comment leader is automatically inserted, the cursor is displayed 7560 in the first column. (Sung-Hyun Nam) 7561Solution: Update the flag that indicates the cursor is in a closed fold. 7562Files: src/misc1.c 7563 7564Patch 6.1.172 7565Problem: Command line completion of ":tag /pat" does not show the same 7566 results as the tags the command actually finds. (Gilles Roy) 7567Solution: Don't modify the pattern to make it a regexp. 7568Files: src/ex_getln.c, src/tag.c 7569 7570Patch 6.1.173 7571Problem: When using remote control to edit a position in a file and this 7572 file is the current buffer and it's modified, the window is split 7573 and the ":drop" command fails. 7574Solution: Don't split the window, keep editing the same buffer. 7575 Use the ":drop" command in VisVim to avoid the problem there. 7576Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, 7577 VisVim/Commands.cpp 7578 7579Patch 6.1.174 7580Problem: It is difficult to know in a script whether an option not only 7581 exists but really works. 7582Solution: Add "exists('+option')". 7583Files: runtime/doc/eval.txt, src/eval.c 7584 7585Patch 6.1.175 7586Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim 7587 will hang. (Piet Delport) 7588Solution: Don't keep reading characters to clear typeahead when an interrupt 7589 was detected, stop when a single CTRL-C is read. 7590Files: src/getchar.c, src/ui.c 7591 7592Patch 6.1.176 7593Problem: When the stack limit is very big a false out-of-stack error may 7594 be detected. 7595Solution: Add a check for overflow of the stack limit computation. (Jim 7596 Dunleavy) 7597Files: src/os_unix.c 7598 7599Patch 6.1.177 (depends on 6.1.141) 7600Problem: ":wincmd" does not allow a following command. (Gary Johnson) 7601Solution: Check for a following " | cmd". Also give an error for trailing 7602 characters. 7603Files: src/ex_docmd.c 7604 7605Patch 6.1.178 7606Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab. 7607 (Bruce deVisser) 7608Solution: Replace with a literal Tab. 7609Files: src/normal.c 7610 7611Patch 6.1.179 (depends on 6.1.091) 7612Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin) 7613Solution: Include the missing definitions. 7614Files: src/mbyte.c 7615 7616Patch 6.1.180 7617Problem: Use of the GUI code for forking is inconsistent. 7618Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer) 7619Files: src/gui.c 7620 7621Patch 6.1.181 7622Problem: If the terminal doesn't wrap from the last char in a line to the 7623 next line, the last column is blanked out. (Peter Karp) 7624Solution: Don't output a space to mark the wrap, but the same character 7625 again. 7626Files: src/screen.c 7627 7628Patch 6.1.182 (depends on 6.1.142) 7629Problem: It is not possible to auto-format comments only. (Moshe Kaminsky) 7630Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format 7631 comments. 7632Files: runtime/doc/change.txt, src/edit.c 7633 7634Patch 6.1.183 7635Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with 7636 illegal bytes gives "CONVERSION ERROR" even though no conversion 7637 is done. 'readonly' is set, even though writing the file results 7638 in an unmodified file. 7639Solution: For this specific error use "ILLEGAL BYTE" and don't set 7640 'readonly'. 7641Files: src/fileio.c 7642 7643Patch 6.1.184 (extra) 7644Problem: The extra mouse buttons found on some mice don't work. 7645Solution: Support two extra buttons for MS-Windows. (Michael Geddes) 7646Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c, 7647 src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c, 7648 src/misc1.c, src/misc2.c, src/normal.c, src/vim.h 7649 7650Patch 6.1.185 (depends on 6.1.182) 7651Problem: Can't compile without +comments feature. 7652Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson) 7653Files: src/edit.c 7654 7655Patch 6.1.186 (depends on 6.1.177) 7656Problem: ":wincmd" does not allow a following comment. (Aric Blumer) 7657Solution: Check for a following double quote. 7658Files: src/ex_docmd.c 7659 7660Patch 6.1.187 7661Problem: Using ":doarg" with 'hidden' set and the current file is the only 7662 argument and was modified gives an error message. (Preben 7663 Guldberg) 7664Solution: Don't try re-editing the same file. 7665Files: src/ex_cmds2.c 7666 7667Patch 6.1.188 (depends on 6.1.173) 7668Problem: Unused variable in the small version. 7669Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS. 7670Files: src/ex_cmds2.c 7671 7672Patch 6.1.189 7673Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric 7674 Blumer) 7675Solution: Fall back to the input() function in this situation. 7676Files: src/eval.c 7677 7678Patch 6.1.190 (extra) 7679Problem: VMS: doesn't build with GTK GUI. Various other problems. 7680Solution: Fix building for GTK. Improved Perl, Python and TCL support. 7681 Improved VMS documentation. (Zoltan Arpadffy) 7682 Added Vimtutor for VMS (T. R. Wyant) 7683Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h, 7684 src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms, 7685 src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com, 7686 src/testdir/Make_vms.mms 7687 7688Patch 6.1.191 7689Problem: When using "vim -s script" and redirecting the output, the delay 7690 for the "Output is not to a terminal" warning slows Vim down too 7691 much. 7692Solution: Don't delay when reading commands from a script. 7693Files: src/main.c 7694 7695Patch 6.1.192 7696Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson) 7697Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used. 7698Files: src/diff.c, src/main.c 7699 7700Patch 6.1.193 7701Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave 7702 Fishburn) 7703Solution: Check for a negative syntax id, used for keywords. 7704Files: src/syntax.c 7705 7706Patch 6.1.194 7707Problem: When "t_ti" is set but it doesn't cause swapping terminal pages, 7708 "ZZ" may cause the shell prompt to appear on top of the file-write 7709 message. 7710Solution: Scroll the text up in the Vim page before swapping to the terminal 7711 page. (Michael Schroeder) 7712Files: src/os_unix.c 7713 7714Patch 6.1.195 7715Problem: The quickfix and preview windows always keep their height, while 7716 other windows can't fix their height. 7717Solution: Add the 'winfixheight' option, so that a fixed height can be 7718 specified for any window. Also fix that the wildmenu may resize a 7719 one-line window to a two-line window if 'ls' is zero. 7720Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c, 7721 src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c, 7722 src/screen.c, src/structs.h, src/window.c 7723 7724Patch 6.1.196 (depends on 6.1.084) 7725Problem: On Mac OS X 10.2 generating osdef.h fails. 7726Solution: Add -no-cpp-precomp to avoid using precompiled header files, which 7727 disables printing the search path. (Ben Fowler) 7728Files: src/auto/configure, src/configure.in 7729 7730Patch 6.1.197 7731Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an 7732 error message. (Servatius Brandt) 7733Solution: Double the backslash in "CTRL-\". 7734Files: src/ex_cmds.c 7735 7736Patch 6.1.198 (extra) (depends on 6.1.076) 7737Problem: Mac OS X: Dialogues don't work. 7738Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when 7739 saving to a new file from the GUI. (Peter Cucka) 7740Files: src/feature.h, src/gui_mac.c 7741 7742Patch 6.1.199 7743Problem: 'guifontwide' doesn't work on Win32. 7744Solution: Output each wide character separately. (Michael Geddes) 7745Files: src/gui.c 7746 7747Patch 6.1.200 7748Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make 7749 syntax highlighting very slow. 7750Solution: Check "eap->skip" appropriately. (Rob West) 7751Files: src/syntax.c 7752 7753Patch 6.1.201 (depends on 6.1.192) 7754Problem: Warning for illegal pointer combination. (Zoltan Arpadffy) 7755Solution: Add a typecast. 7756Files: src/diff.c 7757 7758Patch 6.1.202 (extra)(depends on 6.1.148) 7759Problem: Win32: filewritable() doesn't work properly on directories. 7760Solution: fix filewritable(). (Mike Williams) 7761Files: src/os_win32.c 7762 7763Patch 6.1.203 7764Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway) 7765Solution: Avoid reading past the end of a line when "~" is empty. 7766Files: src/regexp.c 7767 7768Patch 6.1.204 (depends on 6.1.129) 7769Problem: Warning for an illegal pointer on Solaris. 7770Solution: Add a typecast. (Derek Wyatt) 7771Files: src/misc2.c 7772 7773Patch 6.1.205 7774Problem: The gzip plugin changes the alternate file when editing a 7775 compressed file. (Oliver Fuchs) 7776Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'. 7777Files: runtime/plugin/gzip.vim 7778 7779Patch 6.1.206 7780Problem: The script generated with ":mksession" doesn't work properly when 7781 some commands are mapped. 7782Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where 7783 possible. (Muraoka Taro) 7784Files: src/ex_docmd.c, src/fold.c 7785 7786Patch 6.1.207 7787Problem: Indenting a Java file hangs below a line with a comment after a 7788 command. 7789Solution: Break out of a loop. (Andre Pang) 7790 Also line up } with matching {. 7791Files: runtime/indent/java.vim 7792 7793Patch 6.1.208 7794Problem: Can't use the buffer number from the Python interface. 7795Solution: Add buffer.number. (Michal Vitecek) 7796Files: src/if_python.c 7797 7798Patch 6.1.209 7799Problem: Printing doesn't work on Mac OS classic. 7800Solution: Use a ":" for path separator when opening the resource file. (Axel 7801 Kielhorn) 7802Files: src/ex_cmds2.c 7803 7804Patch 6.1.210 7805Problem: When there is an iconv() conversion error when reading a file 7806 there can be an error the next time iconv() is used. 7807Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto) 7808Files: src/fileio.c 7809 7810Patch 6.1.211 7811Problem: The message "use ! to override" is confusing. 7812Solution: Make it "add ! to override". 7813Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c, 7814 src/globals.h 7815 7816Patch 6.1.212 7817Problem: When Vim was started with "-R" ":new" creates a buffer 7818 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg) 7819Solution: Don't set 'readonly in a new empty buffer for ":enew". 7820Files: src/ex_docmd.c 7821 7822Patch 6.1.213 7823Problem: Using CTRL-W H may cause a big gap to appear below the last 7824 window. (Aric Blumer) 7825Solution: Don't set the window height when there is a vertical split. 7826 (Yasuhiro Matsumoto) 7827Files: src/window.c 7828 7829Patch 6.1.214 7830Problem: When installing Vim and the runtime files were checked out from 7831 CVS the CVS directories will also be installed. 7832Solution: Avoid installing the CVS dirs and their contents. 7833Files: src/Makefile 7834 7835Patch 6.1.215 7836Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set. 7837 (Xiangjiang Ma) 7838Solution: Adjust backslashes before printing the message. 7839Files: src/ex_docmd.c 7840 7841Patch 6.1.216 7842Problem: When dynamically loading the iconv library, the error codes may be 7843 confused. 7844Solution: Use specific error codes for iconv and redefine them for dynamic 7845 loading. (Yasuhiro Matsumoto) 7846Files: src/fileio.c, src/mbyte.c, src/vim.h 7847 7848Patch 6.1.217 7849Problem: When sourcing the same Vim script using a different name (symbolic 7850 link or MS-Windows 8.3 name) it is listed twice with 7851 ":scriptnames". (Tony Mechelynck) 7852Solution: Turn the script name into a full path before using it. On Unix 7853 compare inode/device numbers. 7854Files: src/ex_cmds2.c 7855 7856Patch 6.1.218 7857Problem: No error message for using the function argument "5+". (Servatius 7858 Brandt) 7859Solution: Give an error message if a function or variable is expected but is 7860 not found. 7861Files: src/eval.c 7862 7863Patch 6.1.219 7864Problem: When using ":amenu :b 1<CR>" with a Visual selection and 7865 'insertmode' is set, Vim does not return to Insert mode. (Mickael 7866 Marchand) 7867Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if 7868 'insertmode' is set and to Normal mode otherwise. Append this to 7869 menus defined with ":amenu". 7870Files: src/edit.c, src/ex_getln.c, src/normal.c 7871 7872Patch 6.1.220 7873Problem: When using a BufReadPost autocommand that changes the line count, 7874 e.g., "$-1join", reloading a file that was changed outside Vim 7875 does not work properly. (Alan G Isaac) 7876Solution: Make the buffer empty before reading the new version of the file. 7877 Save the lines in a dummy buffer, so that they can be put back 7878 when reading the file fails. 7879Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h, 7880 src/proto/buffer.pro 7881 7882Patch 6.1.221 7883Problem: Changing case may not work properly, depending on the current 7884 locale. 7885Solution: Add the 'casemap' option to let the user chose how changing case 7886 is to be done. 7887 Also fix lowering case when an UTF-8 character doesn't keep the 7888 same byte length. 7889Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure, 7890 src/buffer.c, src/charset.c, src/config.h.in, src/configure.in, 7891 src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c, 7892 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c 7893 src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc, 7894 src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c, 7895 src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c, 7896 src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h, 7897 src/syntax.c 7898 7899Patch 6.1.222 (depends on 6.1.219) 7900Problem: Patch 6.1.219 was incomplete. 7901Solution: Add the changes for ":amenu". 7902Files: src/menu.c 7903 7904Patch 6.1.223 (extra) 7905Problem: Win32: When IME is activated 'iminsert' is set, but it might never 7906 be reset when IME is disabled. (Muraoka Taro) 7907 All systems: 'iminsert' is set to 2 when leaving Insert mode, even 7908 when langmap is being used. (Peter Valach) 7909Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro) 7910 Don't store the status of the input method in 'iminsert' when 7911 'iminsert' is one. Also for editing the command line and for 7912 arguments to Normal mode commands. 7913Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c 7914 7915Patch 6.1.224 7916Problem: "expand('$VAR')" returns an empty string when the expanded $VAR 7917 is not an existing file. (Aric Blumer) 7918Solution: Included non-existing files, as documented. 7919Files: src/eval.c 7920 7921Patch 6.1.225 7922Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u 7923 NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses 7924 fileinfo(), the redraw is done after a delay to give the user time 7925 to read the message. 7926Solution: Put the message from fileio() in "keep_msg", so that the redraw is 7927 done before the delay (still needed to avoid the mode message 7928 overwrites the fileinfo() message). 7929Files: src/buffer.c 7930 7931Patch 6.1.226 7932Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin 7933 Keith) 7934Solution: Save the typeahead buffer when obtaining a debug command. 7935Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro 7936 7937Patch 6.1.227 7938Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf 7939 = 5" does not give an error message. (Mikolaj Machowski) 7940Solution: Check for a ":" inside the variable name. 7941Files: src/eval.c 7942 7943Patch 6.1.228 (extra) 7944Problem: Win32: The special output function for Hangul is used too often, 7945 causing special handling for other situations to be skipped. 7946 bInComposition is always FALSE, causing ImeGetTempComposition() 7947 always to return NULL. 7948Solution: Remove HanExtTextOut(). Delete the dead code around 7949 bInComposition and ImeGetTempComposition(). 7950Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 7951 7952Patch 6.1.229 7953Problem: Win32: Conversion to/from often used codepages requires the iconv 7954 library, which is not always available. 7955Solution: Use standard MS-Windows functions for the conversion when 7956 possible. (mostly by Glenn Maynard) 7957 Also fixes missing declaration for patch 6.1.220. 7958Files: src/fileio.c 7959 7960Patch 6.1.230 (extra) 7961Problem: Win16: building doesn't work. 7962Solution: Exclude the XBUTTON handling. (Vince Negri) 7963Files: src/gui_w48.c 7964 7965Patch 6.1.231 7966Problem: Double clicking with the mouse to select a word does not work for 7967 multi-byte characters. 7968Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword' 7969 is used instead of 'isident'. Also fix that mixing ASCII with 7970 multi-byte word characters doesn't work, the mouse class for 7971 punctuation and word characters was mixed up. 7972Files: src/normal.c 7973 7974Patch 6.1.232 (depends on 6.1.226) 7975Problem: Using ex_normal_busy while it might not be available. (Axel 7976 Kielhorn) 7977Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined. 7978Files: src/ex_cmds2.c 7979 7980Patch 6.1.233 7981Problem: ":help expr-||" does not work. 7982Solution: Don't use the '|' as a command separator 7983Files: src/ex_cmds.c 7984 7985Patch 6.1.234 (depends on 6.1.217) 7986Problem: Get a warning for using a negative value for st_dev. 7987Solution: Don't assign a negative value to st_dev. 7988Files: src/ex_cmds2.c 7989 7990Patch 6.1.235 (depends on 6.1.223) 7991Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter 7992 Valach) 7993Solution: Check "State" before resetting it to NORMAL. 7994Files: src/edit.c 7995 7996Patch 6.1.236 7997Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and 7998 when reloading a changed buffer. 7999Solution: Free a line after calling ml_append(). 8000Files: src/diff.c, src/fileio.c 8001 8002Patch 6.1.237 8003Problem: Putting in Visual block mode does not work correctly when "$" was 8004 used or when the first line is short. (Christian Michon) 8005Solution: First delete the selected text and then put the new text. Save 8006 and restore registers as necessary. 8007Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro, 8008 src/vim.h 8009 8010Patch 6.1.238 (extra) 8011Problem: Win32: The "icon=" argument for the ":menu" command does not 8012 search for the bitmap file. 8013Solution: Expand environment variables and search for the bitmap file. 8014 (Vince Negri) 8015 Make it consistent, use the same mechanism for X11 and GTK. 8016Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c, 8017 src/proto/gui.pro 8018 8019Patch 6.1.239 8020Problem: Giving an error for missing :endif or :endwhile when being 8021 interrupted. 8022Solution: Don't give these messages when interrupted. 8023Files: src/ex_docmd.c, src/os_unix.c 8024 8025Patch 6.1.240 (extra) 8026Problem: Win32 with BCC 5: CPU may be defined in the environment, which 8027 causes a wrong argument for the compiler. (Walter Briscoe) 8028Solution: Use CPUNR instead of CPU. 8029Files: src/Make_bc5.mak 8030 8031Patch 6.1.241 8032Problem: Something goes wrong when drawing or undrawing the cursor. 8033Solution: Remember when the cursor invalid in a better way. 8034Files: src/gui.c 8035 8036Patch 6.1.242 8037Problem: When pasting a large number of lines on the command line it is not 8038 possible to interrupt. (Jean Jordaan) 8039Solution: Check for an interrupt after each pasted line. 8040Files: src/ops.c 8041 8042Patch 6.1.243 (extra) 8043Problem: Win32: When the OLE version is started and wasn't registered, a 8044 message pops up to suggest registering, even when this isn't 8045 possible (when the registry is not writable). 8046Solution: Check if registering is possible before asking whether it should 8047 be done. (Walter Briscoe) 8048 Also avoid restarting Vim after registering. 8049Files: src/if_ole.cpp 8050 8051Patch 6.1.244 8052Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg) 8053Solution: Include it here. 8054Files: src/vim.h 8055 8056Patch 6.1.245 8057Problem: Comparing with ignored case does not work properly for Unicode 8058 with a locale where case folding an ASCII character results in a 8059 multi-byte character. (Glenn Maynard) 8060Solution: Handle ignore-case compare for Unicode differently. 8061Files: src/mbyte.c 8062 8063Patch 6.1.246 8064Problem: ":blast" goes to the first buffer if the last one is unlisted. 8065 (Andrew Stryker) 8066Solution: From the last buffer search backwards for the first listed buffer 8067 instead of forwards. 8068Files: src/ex_docmd.c 8069 8070Patch 6.1.247 8071Problem: ACL support doesn't always work properly. 8072Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry 8073 Vignaud) 8074Files: src/auto/configure, src/configure.in 8075 8076Patch 6.1.248 8077Problem: Typing 'q' at the more-prompt for ":let" does not quit the 8078 listing. (Hari Krishna Dara) 8079Solution: Quit the listing when got_int is set. 8080Files: src/eval.c 8081 8082Patch 6.1.249 8083Problem: Can't expand a path on the command line if it includes a "|" as a 8084 trail byte of a multi-byte character. 8085Solution: Check for multi-byte characters. (Yasuhiro Matsumoto) 8086Files: src/ex_docmd.c 8087 8088Patch 6.1.250 8089Problem: When changing the value of 'lines' inside the expression set with 8090 'diffexpr' Vim might crash. (Dave Fishburn) 8091Solution: Don't allow changing the screen size while updating the screen. 8092Files: src/globals.h, src/option.c, src/screen.c 8093 8094Patch 6.1.251 8095Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd". 8096Solution: Expand directory names for these commands. (Servatius Brandt) 8097Files: src/ex_docmd.c 8098 8099Patch 6.1.252 8100Problem: "vi}" does not include a line break when the "}" is at the start 8101 of a following line. (Kamil Burzynski) 8102Solution: Include the line break. 8103Files: src/search.c 8104 8105Patch 6.1.253 (extra) 8106Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way. 8107 (Xiangjiang Ma) 8108Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version. 8109 Update the Cygwin makefile to support more features. (Dan Sharp) 8110Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c 8111 8112Patch 6.1.254 8113Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work. 8114 ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work. 8115 ":delfunc F{" does not give an error message. ':delfunc F{"F"}' 8116 does not work. 8117Solution: Support magic braces for the exists() argument. (Vince Negri) 8118 Check for trailing comments explicitly for ":unlet". Add support 8119 for magic braces in further arguments of ":let". Look for a 8120 parenthesis only after the function name. (Servatius Brandt) 8121 Also expand magic braces for "exists('*expr')". Give an error 8122 message for an invalid ":delfunc" argument. Allow quotes in the 8123 ":delfunc" argument. 8124Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c 8125 8126Patch 6.1.255 (depends on 6.1.254) 8127Problem: Crash when loading menu.vim a second time. (Christian Robinson) 8128 ":unlet garbage foo" tries unletting "foo" after an error message. 8129 (Servatius Brandt) 8130 Very long function arguments cause very long messages when 8131 'verbose' is 14 or higher. 8132Solution: Avoid reading from uninitialized memory. 8133 Break out of a loop after an invalid argument for ":unlet". 8134 Truncate long function arguments to 80 characters. 8135Files: src/eval.c 8136 8137Patch 6.1.256 (depends on 6.1.255) 8138Problem: Defining a function after ":if 0" could still cause an error 8139 message for an existing function. 8140 Leaking memory when there are trailing characters for ":delfunc". 8141Solution: Check the "skip" flag. Free the memory. (Servatius Brandt) 8142Files: src/eval.c 8143 8144Patch 6.1.257 8145Problem: ":cwindow" always sets the previous window to the last but one 8146 window. (Benji Fisher) 8147Solution: Set the previous window properly. 8148Files: src/globals.c, src/quickfix.c, src/window.c 8149 8150Patch 6.1.258 8151Problem: Buffers menu doesn't work properly for multibyte buffer names. 8152Solution: Use a pattern to get the left and right part of the name. 8153 (Yasuhiro Matsumoto) 8154Files: runtime/menu.vim 8155 8156Patch 6.1.259 (extra) 8157Problem: Mac: with 'patchmode' is used filenames are truncated. 8158Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston) 8159Files: src/os_mac.h 8160 8161Patch 6.1.260 (depends on 6.1.104) 8162Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El) 8163Solution: Use the same configure check as used for GCC 3.1. 8164Files: src/auto/configure, src/configure.in 8165 8166Patch 6.1.261 8167Problem: When deleting a line in a buffer which is not the current buffer, 8168 using the Perl interface Delete(), the cursor in the current 8169 window may move. (Chris Houser) 8170Solution: Don't adjust the cursor position when changing another buffer. 8171Files: src/if_perl.xs 8172 8173Patch 6.1.262 8174Problem: When jumping over folds with "z[", "zj" and "zk" the previous 8175 position is not remembered. (Hari Krishna Dara) 8176Solution: Set the previous context mark before jumping. 8177Files: src/fold.c 8178 8179Patch 6.1.263 8180Problem: When typing a multi-byte character that triggers an abbreviation 8181 it is not inserted properly. 8182Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto) 8183Files: src/getchar.c 8184 8185Patch 6.1.264 (depends on patch 6.1.254) 8186Problem: exists() does not work for built-in functions. (Steve Wall) 8187Solution: Don't check for the function name to start with a capital. 8188Files: src/eval.c 8189 8190Patch 6.1.265 8191Problem: libcall() can be used in 'foldexpr' to call any system function. 8192 rename(), delete() and remote_send() can also be used in 8193 'foldexpr'. These are security problems. (Georgi Guninski) 8194Solution: Don't allow using libcall(), rename(), delete(), remote_send() and 8195 similar functions in the sandbox. 8196Files: src/eval.c 8197 8198Patch 6.1.266 (depends on 6.1.265) 8199Problem: Win32: compile error in eval.c. (Bill McCarthy) 8200Solution: Move a variable declaration. 8201Files: src/eval.c 8202 8203Patch 6.1.267 8204Problem: Using "p" to paste into a Visual selected area may cause a crash. 8205Solution: Allocate enough memory for saving the register contents. (Muraoka 8206 Taro) 8207Files: src/ops.c 8208 8209Patch 6.1.268 8210Problem: When triggering an abbreviation with a multi-byte character, this 8211 character is not correctly inserted after expanding the 8212 abbreviation. (Taro Muraoka) 8213Solution: Add ABBR_OFF to all characters above 0xff. 8214Files: src/edit.c, src/ex_getln.c, src/getchar.c 8215 8216Patch 6.1.269 8217Problem: After using input() text written with ":redir" gets extra indent. 8218 (David Fishburn) 8219Solution: Restore msg_col after using input(). 8220Files: src/ex_getln.c 8221 8222Patch 6.1.270 (depends on 6.1.260) 8223Problem: GCC 3.2.1 still seems to have an optimizer problem. 8224Solution: Use the same configure check as used for GCC 3.1. 8225Files: src/auto/configure, src/configure.in 8226 8227Patch 6.1.271 8228Problem: When compiling without the +syntax feature there are errors. 8229Solution: Don't use some code for syntax highlighting. (Roger Cornelius) 8230 Make test 45 work without syntax highlighting. 8231 Also fix an error in a pattern matching: "\%(" was not supported. 8232Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in 8233 8234Patch 6.1.272 8235Problem: After using ":set define<" a crash may happen. (Christian Robinson) 8236Solution: Make a copy of the option value in allocated memory. 8237Files: src/option.c 8238 8239Patch 6.1.273 8240Problem: When the cursor doesn't blink, redrawing an exposed area may hide 8241 the cursor. 8242Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro) 8243Files: src/gui.c 8244 8245Patch 6.1.274 (depends on 6.1.210) 8246Problem: Resetting the iconv() state after each error is wrong for an 8247 incomplete sequence. 8248Solution: Don't reset the iconv() state. 8249Files: src/fileio.c 8250 8251Patch 6.1.275 8252Problem: When using "v" in a startup script, get warning message that 8253 terminal cannot highlight. (Charles Campbell) 8254Solution: Only give the message after the terminal has been initialized. 8255Files: src/normal.c 8256 8257Patch 6.1.276 8258Problem: "gvim --remote file" doesn't prompt for an encryption key. 8259Solution: The further characters the client sends to the server are used. 8260 Added inputsave() and inputrestore() to allow prompting the 8261 user directly and not using typeahead. 8262 Also fix possible memory leak for ":normal". 8263Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, 8264 src/main.c, src/proto/getchar.pro, src/proto/ui.pro, 8265 src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h 8266 8267Patch 6.1.277 (depends on 6.1.276) 8268Problem: Compilation error when building with small features. 8269Solution: Define trash_input_buf() when needed. (Kelvin Lee) 8270Files: src/ui.c 8271 8272Patch 6.1.278 8273Problem: When using signs the line number of a closed fold doesn't line up 8274 with the other line numbers. (Kamil Burzynski) 8275Solution: Insert two spaces for the sign column. 8276Files: src/screen.c 8277 8278Patch 6.1.279 8279Problem: The prototype for smsg() and smsg_attr() do not match the function 8280 definition. This may cause trouble for some compilers. (Nix) 8281Solution: Use va_list for systems that have stdarg.h. Use "int" instead of 8282 "void" for the return type. 8283Files: src/auto/configure, src/config.h.in, src/configure.in, 8284 src/proto.h, src/message.c 8285 8286Patch 6.1.280 8287Problem: It's possible to use an argument "firstline" or "lastline" for a 8288 function but using "a:firstline" or "a:lastline" in the function 8289 won't work. (Benji Fisher) 8290Solution: Give an error message for these arguments. 8291 Also avoid that the following function body causes a whole row of 8292 errors, skip over it after an error in the first line. 8293Files: src/eval.c 8294 8295Patch 6.1.281 8296Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler. 8297Solution: Set the cursor position before waiting for the argument of CTRL-G. 8298 (Yasuhiro Matsumoto) 8299Files: src/edit.c 8300 8301Patch 6.1.282 8302Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this. 8303Solution: Also accept "se " where "set " is accepted in a modeline. 8304 (Yasuhiro Matsumoto) 8305Files: src/buffer.c 8306 8307Patch 6.1.283 8308Problem: For ":sign" the icon file name cannot contain a space. 8309Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto) 8310Files: src/ex_cmds.c 8311 8312Patch 6.1.284 8313Problem: On Solaris there is a warning for "struct utimbuf". 8314Solution: Move including "utime.h" to outside the function. (Derek Wyatt) 8315Files: src/fileio.c 8316 8317Patch 6.1.285 8318Problem: Can't wipe out a buffer with 'bufhide' option. 8319Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan) 8320Files: runtime/doc/options.txt, src/buffer.c, src/option.c, 8321 src/quickfix.c 8322 8323Patch 6.1.286 8324Problem: 'showbreak' cannot contain multi-byte characters. 8325Solution: Allow using all printable characters for 'showbreak'. 8326Files: src/charset.c, src/move.c, src/option.c 8327 8328Patch 6.1.287 (depends on 6.1.285) 8329Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up. 8330Solution: Wipe out when wiping out is asked for. 8331Files: src/buffer.c 8332 8333Patch 6.1.288 8334Problem: ":silent function F" hangs. (Hari Krishna Dara) 8335Solution: Don't use msg_col, it is not incremented when using ":silent". 8336 Also made the function output look a bit better. Don't translate 8337 "function". 8338Files: src/eval.c 8339 8340Patch 6.1.289 (depends on 6.1.278) 8341Problem: Compiler warning for pointer. (Axel Kielhorn) 8342Solution: Add a typecast for " ". 8343Files: src/screen.c 8344 8345Patch 6.1.290 (extra) 8346Problem: Truncating long text for message box may break multi-byte 8347 character. 8348Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto) 8349Files: src/os_mswin.c 8350 8351Patch 6.1.291 (extra) 8352Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it. 8353Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto) 8354Files: src/gui_w48.c 8355 8356Patch 6.1.292 (extra, depends on 6.1.253) 8357Problem: Win32: Can't compile with new MingW compiler. 8358 Borland 5 makefile doesn't generate pathdef.c. 8359Solution: Remove -wwide-multiply argument. (Rene de Zwart) 8360 Various fixes for other problems in Win32 makefiles. (Dan Sharp) 8361Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, 8362 src/Make_mvc.mak 8363 8364Patch 6.1.293 8365Problem: byte2line() returns a wrong result for some values. 8366Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith) 8367 Add one to the line number when at the end of a block. 8368Files: src/memline.c 8369 8370Patch 6.1.294 8371Problem: Can't include a multi-byte character in a string by its hex value. 8372 (Benji Fisher) 8373Solution: Add "\u....": a character specified with up to four hex numbers 8374 and stored according to the value of 'encoding'. 8375Files: src/eval.c 8376 8377Patch 6.1.295 (extra) 8378Problem: Processing the cs.po file generates an error. (Rahul Agrawal) 8379Solution: Fix the printf format characters in the translation. 8380Files: src/po/cs.po 8381 8382Patch 6.1.296 8383Problem: Win32: When cancelling the font dialog 'guifont' remains set to 8384 "*". 8385Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto) 8386Files: src/option.c 8387 8388Patch 6.1.297 8389Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher) 8390Solution: Before executing the BufReadPost autocommands save the current 8391 fileencoding, so that the file isn't marked changed. 8392Files: src/fileio.c 8393 8394Patch 6.1.298 8395Problem: When using signs and the first line of a closed fold has a sign 8396 it can be redrawn as if the fold was open. (Kamil Burzynski) 8397Solution: Don't redraw a sign inside a closed fold. 8398Files: src/screen.c 8399 8400Patch 6.1.299 8401Problem: ":edit +set\ ro file" doesn't work. 8402Solution: Halve the number of backslashes in the "+cmd" argument. 8403Files: src/ex_docmd.c 8404 8405Patch 6.1.300 (extra) 8406Problem: Handling of ETO_IGNORELANGUAGE is confusing. 8407Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard) 8408Files: src/gui_w32.c 8409 8410Patch 6.1.301 (extra) 8411Problem: French translation of file-save dialog doesn't show file name. 8412Solution: Insert a star in the printf string. (Francois Terrot) 8413Files: src/po/fr.po 8414 8415Patch 6.1.302 8416Problem: Counting lines of the Visual area is incorrect for closed folds. 8417 (Mikolaj Machowski) 8418Solution: Correct the start and end for the closed fold. 8419Files: src/normal.c 8420 8421Patch 6.1.303 (extra) 8422Problem: The Top/Bottom/All text does not always fit in the ruler when 8423 translated to Japanese. Problem with a character being wider when 8424 in a bold font. 8425Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro 8426 Matsumoto) 8427Files: src/gui_w32.c 8428 8429Patch 6.1.304 (extra, depends on 6.1.292) 8430Problem: Win32: Postscript is always enabled in the MingW Makefile. 8431 Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro 8432 Matsumoto) 8433Solution: Change an ifdef to an ifeq. (Madoka Machitani) 8434 Use the Borland make redirection to generate pathdef.c. (Maurice 8435 Barnum) 8436Files: src/Make_bc5.mak, src/Make_ming.mak 8437 8438Patch 6.1.305 8439Problem: When 'verbose' is 14 or higher, a function call may cause reading 8440 uninitialized data. (Walter Briscoe) 8441Solution: Check for end-of-string in trunc_string(). 8442Files: src/message.c 8443 8444Patch 6.1.306 8445Problem: The AIX VisualAge cc compiler doesn't define __STDC__. 8446Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee) 8447Files: src/os_unix.h 8448 8449Patch 6.1.307 8450Problem: When a double-byte character has an illegal tail byte the display 8451 is messed up. (Yasuhiro Matsumoto) 8452Solution: Draw "XX" instead of the wrong character. 8453Files: src/screen.c 8454 8455Patch 6.1.308 8456Problem: Can't reset the Visual mode returned by visualmode(). 8457Solution: Use an optional argument to visualmode(). (Charles Campbell) 8458Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, 8459 src/structs.h 8460 8461Patch 6.1.309 8462Problem: The tutor doesn't select German if the locale name is 8463 "German_Germany.1252". (Joachim Hofmann) 8464Solution: Check for "German" in the locale name. Also check for 8465 ".ge". And include the German and Greek tutors. 8466Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim, 8467 runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737 8468 8469Patch 6.1.310 (depends on 6.1.307) 8470Problem: All double-byte characters are displayed as "XX". 8471Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto) 8472Files: src/screen.c 8473 8474Patch 6.1.311 (extra) 8475Problem: VMS: path in window title doesn't include necessary separator. 8476 file version doesn't always work properly with Unix. 8477 Crashes because of memory overwrite in GUI. 8478 Didn't always handle files with lowercase and correct path. 8479Solution: Fix the problems. Remove unnecessary file name translations. 8480 (Zoltan Arpadffy) 8481Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, 8482 src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c 8483 8484Patch 6.1.312 8485Problem: When using ":silent" debugging is also done silently. 8486Solution: Disable silence while at the debug prompt. 8487Files: src/ex_cmds2.c 8488 8489Patch 6.1.313 8490Problem: When a ":drop fname" command is used and "fname" is open in 8491 another window, it is also opened in the current window. 8492Solution: Change to the window with "fname" instead. 8493 Don't redefine the argument list when dropping only one file. 8494Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c, 8495 src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro 8496 8497Patch 6.1.314 (depends on 6.1.126) 8498Problem: Missing backslash in "Generic Config file" syntax menu. 8499Solution: Insert the backslash. (Zak Beck) 8500Files: runtime/makemenu.vim, runtime/synmenu.vim 8501 8502Patch 6.1.315 (extra) 8503Problem: A very long hostname may lead to an unterminated string. Failing 8504 to obtain a hostname may result in garbage. (Walter Briscoe) 8505Solution: Add a NUL at the end of the hostname buffer. 8506Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c, 8507 src/os_win32.c 8508 8509Patch 6.1.316 8510Problem: When exiting with "wq" and there is a hidden buffer, after the 8511 "file changed" dialog there is a warning for a changed buffer. 8512 (Ajit Thakkar) 8513Solution: Do update the buffer timestamps when exiting. 8514Files: src/fileio.c 8515 8516Patch 6.1.317 8517Problem: Closing a window may cause some of the remaining windows to be 8518 positioned wrong if there is a mix of horizontal and vertical 8519 splits. (Stefan Ingi Valdimarsson) 8520Solution: Update the frame sizes before updating the window positions. 8521Files: src/window.c 8522 8523Patch 6.1.318 8524Problem: auto/pathdef.c can include wrong quotes when a compiler flag 8525 includes quotes. 8526Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida) 8527Files: src/Makefile 8528 8529Patch 6.1.319 (depends on 6.1.276) 8530Problem: Using "--remote +cmd file" does not execute "cmd". 8531Solution: Call inputrestore() in the same command line as inputsave(), 8532 otherwise it will never get executed. 8533Files: src/main.c 8534 8535Patch 6.1.320 (depends on 6.1.313) 8536Problem: When a ":drop one\ file" command is used the file "one\ file" is 8537 opened, the backslash is not removed. (Taro Muraoka) 8538Solution: Handle backslashes correctly. Always set the argument list to 8539 keep it simple. 8540Files: runtime/doc/windows.txt, src/ex_cmds.c 8541 8542Patch 6.1.321 8543Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual 8544 mode with the mouse. 8545Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming 8546 Madsen) 8547Files: src/normal.c 8548 8549Patch 6.1.322 (extra, depends on 6.1.315) 8550Problem: Win32: The host name is always "PC " plus the real host name. 8551Solution: Don't insert "PC " before the host name. 8552Files: src/os_win32.c 8553 8554Patch 6.1.323 8555Problem: ":registers" doesn't stop listing for a "q" at the more prompt. 8556 (Hari Krishna Dara) 8557Solution: Check for interrupt and got_int. 8558Files: src/ops.c, src/proto/ops.pro 8559 8560Patch 6.1.324 8561Problem: Crash when dragging a vertical separator when <LeftMouse> is 8562 remapped to jump to another window. 8563Solution: Pass the window pointer to the function doing the dragging instead 8564 of always using the current window. (Daniel Elstner) 8565 Also fix that starting a drag changes window focus. 8566Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h, 8567 src/window.c 8568 8569Patch 6.1.325 8570Problem: Shift-Tab is not automatically recognized in an xterm. 8571Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott) 8572Files: src/term.c 8573 8574Patch 6.1.326 8575Problem: Using a search pattern may read from uninitialized data (Yasuhiro 8576 Matsumoto) 8577Solution: Initialize pointers to NULL. 8578Files: src/regexp.c 8579 8580Patch 6.1.327 8581Problem: When opening the "mbyte.txt" help file the utf-8 characters are 8582 unreadable, because the fileencoding is forced to be latin1. 8583Solution: Check for utf-8 encoding first in help files. (Daniel Elstner) 8584Files: runtime/doc/mbyte.txt, src/fileio.c 8585 8586Patch 6.1.328 8587Problem: Prototype for enc_canon_search() is missing. 8588Solution: Add the prototype. (Walter Briscoe) 8589Files: src/mbyte.c 8590 8591Patch 6.1.329 8592Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %" 8593 does not work properly. (Hari Krishna Dara) 8594Solution: Always escape spaces when expanding "%". Don't split argument for 8595 <f-args> in a user command when only one argument is used. 8596Files: src/ex_docmd.c 8597 8598Patch 6.1.330 8599Problem: GTK, Motif and Athena: Keypad keys produce the same code as 8600 non-keypad keys, making it impossible to map them separately. 8601Solution: Use different termcap codes for the keypad keys. (Neil Bird) 8602Files: src/gui_gtk_x11.c, src/gui_x11.c 8603 8604Patch 6.1.331 8605Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks 8606 the spot where help files from plugins are to be listed. 8607Solution: Add a "local-additions" tag and use that to find the right spot. 8608Files: runtime/doc/help.txt, src/ex_cmds.c 8609 8610Patch 6.1.332 (extra) 8611Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8. 8612 Perl 5.8 also does not work with Cygwin and Ming. 8613Solution: Adjust the function calls. (Taro Muraoka) 8614 Adjust the cyg and ming makefiles. (Dan Sharp) 8615Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, 8616 src/if_perl.xs 8617 8618Patch 6.1.333 (extra) 8619Problem: Win32: Can't handle Unicode text on the clipboard. 8620 Can't pass NUL byte, it becomes a line break. (Bruce DeVisser) 8621Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard) 8622 Also support copy/paste of NUL bytes. 8623Files: src/os_mswin.c, src/os_win16.c src/os_win32.c 8624 8625Patch 6.1.334 (extra, depends on 6.1.303) 8626Problem: Problem with drawing Hebrew characters. 8627Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto) 8628Files: src/gui_w32.c 8629 8630Patch 6.1.335 (extra) 8631Problem: Failure of obtaining the cursor position and window size is 8632 ignored. 8633Solution: Remove a semicolon after an "if". (Walter Briscoe) 8634Files: src/gui_w32.c 8635 8636Patch 6.1.336 (extra) 8637Problem: Warning for use of function prototypes of smsg(). 8638Solution: Define HAVE_STDARG_H. (Walter Briscoe) 8639Files: src/os_win32.h 8640 8641Patch 6.1.337 8642Problem: When using "finish" in debug mode in function B() for ":call 8643 A(B())" does not stop after B() is finished. 8644Solution: Increase debug_level while evaluating a function. 8645Files: src/ex_docmd.c 8646 8647Patch 6.1.338 8648Problem: When using a menu that checks out the current file from Insert 8649 mode, there is no warning for the changed file until exiting 8650 Insert mode. (Srikanth Sankaran) 8651Solution: Add a check for need_check_timestamps in the Insert mode loop. 8652Files: src/edit.c 8653 8654Patch 6.1.339 8655Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji 8656 Fisher) 8657Solution: Return "g:var" for global variables when that is what is being 8658 expanded. (Flemming Madsen) 8659Files: src/eval.c 8660 8661Patch 6.1.340 (extra, depends on 6.1.332) 8662Problem: Win32: Can't compile the Perl interface with nmake. 8663Solution: Don't compare the version number as a string but as a number. 8664 (Juergen Kraemer) 8665Files: src/Make_mvc.mak 8666 8667Patch 6.1.341 8668Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a 8669 double-wide character. For CTRL-R and CTRL-K in Insert mode the " 8670 or ? is not displayed. 8671Solution: Draw the cursor in the next character cell. Display the " or ? 8672 over the right half of the double-wide character. (Yasuhiro 8673 Matsumoto) Also fix that cancelling a digraph doesn't redraw 8674 a double-byte character correctly. 8675Files: src/edit.c, src/gui.c, src/mbyte.c 8676 8677Patch 6.1.342 (depends on 6.1.341) 8678Problem: With 'rightleft' set typing "c" on a double-wide character causes 8679 the cursor to be displayed one cell to the left. 8680Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto) 8681Files: src/gui.c 8682 8683Patch 6.1.343 (depends on 6.1.342) 8684Problem: Cannot compile with the +multi_byte feature but without +rightleft. 8685 Cannot compile without the GUI. 8686Solution: Fix the #ifdefs. (partly by Nam SungHyun) 8687Files: src/gui.c, src/mbyte.c, src/ui.c 8688 8689Patch 6.1.344 8690Problem: When using ":silent filetype" the output is still put in the 8691 message history. (Hari Krishna Dara) 8692Solution: Don't add messages in the history when ":silent" is used. 8693Files: src/message.c 8694 8695Patch 6.1.345 (extra) 8696Problem: Win32: 'imdisable' doesn't work. 8697Solution: Make 'imdisable' work. (Yasuhiro Matsumoto) 8698Files: src/gui_w32.c 8699 8700Patch 6.1.346 8701Problem: The scroll wheel can only scroll the current window. 8702Solution: Make the scroll wheel scroll the window that the mouse points to. 8703 (Daniel Elstner) 8704Files: src/edit.c, src/gui.c, src/normal.c, src/term.c 8705 8706Patch 6.1.347 8707Problem: When using cscope to list matching tags, the listed number is 8708 sometimes not equal to what cscope uses. (Vihren Milev) 8709Solution: For cscope tags use only one table, don't give tags in the current 8710 file a higher priority. 8711Files: src/tag.c 8712 8713Patch 6.1.348 8714Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme 8715 <tab>" results in "zellner" instead of the first entry. (Anand 8716 Hariharan) 8717Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen) 8718Files: src/ex_getln.c 8719 8720Patch 6.1.349 8721Problem: "vim --serverlist" when no server was ever started gives an error 8722 message without "\n". 8723 "vim --serverlist" doesn't exit when the X server can't be 8724 contacted, it starts Vim unexpectedly. (Ricardo Signes) 8725Solution: Don't give an error when no Vim server was ever started. 8726 Treat failing of opening the display equal to errors inside the 8727 remote*() functions. (Flemming Madsen) 8728Files: src/if_xcmdsrv.c, src/main.c 8729 8730Patch 6.1.350 8731Problem: When entering a buffer with ":bnext" for the first time, using an 8732 autocommand to restore the last used cursor position doesn't work. 8733 (Paolo Giarusso) 8734Solution: Don't use the last known cursor position of the current Vim 8735 invocation if an autocommand changed the position. 8736Files: src/buffer.c 8737 8738Patch 6.1.351 (depends on 6.1.349) 8739Problem: Crash when starting Vim the first time in an X server. (John 8740 McGowan) 8741Solution: Don't call xFree() with a fixed string. 8742Files: src/if_xcmdsrv.c 8743 8744Patch 6.1.352 (extra, depends on 6.1.345) 8745Problem: Win32: Crash when setting "imdisable" in _vimrc. 8746Solution: Don't call IME functions when imm32.dll was not loaded (yet). 8747 Also add typecasts to avoid Compiler warnings for 8748 ImmAssociateContext() argument. 8749Files: src/gui_w32.c 8750 8751Patch 6.1.353 (extra, depends on 6.1.334) 8752Problem: Problem with drawing Arabic characters. 8753Solution: Don't use ETO_PDY, do use padding. 8754Files: src/gui_w32.c 8755 8756Patch 6.1.354 (extra, depends on 6.1.333) 8757Problem: MS-Windows 98: Notepad can't paste text copied from Vim when 8758 'encoding' is "utf-8". 8759Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron) 8760Files: src/os_mswin.c 8761 8762Patch 6.1.355 8763Problem: In a regexp '\n' will never match anything in a string. 8764Solution: Make '\n' match a newline character. 8765Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c, 8766 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c, 8767 src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c, 8768 src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h 8769 8770Patch 6.1.356 (extra, depends on, well, eh, several others) 8771Problem: Compiler warnings for using convert_setup() and a few other 8772 things. 8773Solution: Add typecasts. 8774Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c 8775 8776Patch 6.1.357 8777Problem: CR in the quickfix window jumps to the error under the cursor, but 8778 this doesn't work in Insert mode. (Srikanth Sankaran) 8779Solution: Handle CR in Insert mode in the quickfix window. 8780Files: src/edit.c 8781 8782Patch 6.1.358 8783Problem: The tutor doesn't select another locale version properly. 8784Solution: Insert the "let" command. (Yasuhiro Matsumoto) 8785Files: runtime/tutor/tutor.vim 8786 8787Patch 6.1.359 (extra) 8788Problem: Mac Carbon: Vim doesn't get focus when started from the command 8789 line. Crash when using horizontal scroll bar. 8790Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka) 8791Files: src/gui_mac.c 8792 8793Patch 6.1.360 (depends on 6.1.341) 8794Problem: In Insert mode CTRL-K ESC messes up a multi-byte character. 8795 (Anders Helmersson) 8796Solution: Save all bytes of a character when displaying a character 8797 temporarily. 8798Files: src/edit.c, src/proto/screen.pro, src/screen.c 8799 8800Patch 6.1.361 8801Problem: Cannot jump to a file mark with ":'M". 8802Solution: Allow jumping to another file for a mark in an Ex address when it 8803 is the only thing in the command line. 8804Files: src/ex_docmd.c 8805 8806Patch 6.1.362 8807Problem: tgetent() may return zero for success. tgetflag() may return -1 8808 for an error. 8809Solution: Check tgetflag() for returning a positive value. Add an autoconf 8810 check for the value that tgetent() returns. 8811Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c 8812 8813Patch 6.1.363 8814Problem: byte2line() can return one more than the number of lines. 8815Solution: Return -1 if the offset is one byte past the end. 8816Files: src/memline.c 8817 8818Patch 6.1.364 8819Problem: That the FileChangedShell autocommand event never nests makes it 8820 difficult to reload a file in a normal way. 8821Solution: Allow nesting for the FileChangedShell event but do not allow 8822 triggering itself again. 8823 Also avoid autocommands for the cmdline window in rare cases. 8824Files: src/ex_getln.c, src/fileio.c, src/window.c 8825 8826Patch 6.1.365 (depends on 6.1.217) 8827Problem: Setting a breakpoint in a sourced file with a relative path name 8828 doesn't work. (Servatius Brandt) 8829Solution: Expand the file name to a full path. 8830Files: src/ex_cmds2.c 8831 8832Patch 6.1.366 8833Problem: Can't use Vim with Netbeans. 8834Solution: Add the Netbeans interface. Includes support for sign icons and 8835 "-fg" and "-bg" arguments for GTK. Add the 'autochdir' 8836 option. (Gordon Prieur, George Hernandez, Dave Weatherford) 8837 Make it possible to display both a sign with a text and one with 8838 line highlighting in the same line. 8839 Add support for Agide, interface version 2.1. 8840 Also fix that when 'iskeyword' includes '?' the "*" command 8841 doesn't work properly on a word that includes "?" (Bill McCarthy): 8842 Don't escape "?" to "\?" when searching forward. 8843Files: runtime/doc/Makefile, runtime/doc/netbeans.txt, 8844 runtime/doc/options.txt, runtime/doc/various.txt, 8845 src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in, 8846 src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c, 8847 src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, 8848 src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c, 8849 src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c, 8850 src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c, 8851 src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro, 8852 src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro, 8853 src/proto/gui_x11.pro, src/proto/misc2.pro, 8854 src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro, 8855 src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c, 8856 src/vim.h, src/window.c, src/workshop.c 8857 8858Patch 6.1.367 (depends on 6.1.365) 8859Problem: Setting a breakpoint in a function doesn't work. For a sourced 8860 file it doesn't work when symbolic links are involved. (Servatius 8861 Brandt) 8862Solution: Expand the file name in the same way as do_source() does. Don't 8863 prepend the path to a function name. 8864Files: src/ex_cmds2.c 8865 8866Patch 6.1.368 8867Problem: Completion for ":map" does not include <silent> and <script>. 8868 ":mkexrc" do not save the <silent> attribute of mappings. 8869Solution: Add "<silent>" to the generated map commands when appropriate. 8870 (David Elstner) 8871 Add <silent> and <script> to command line completion. 8872Files: src/getchar.c 8873 8874Patch 6.1.369 (extra) 8875Problem: VMS: Vim hangs when attempting to edit a read-only file in the 8876 terminal. Problem with VMS filenames for quickfix. 8877Solution: Rewrite low level input. Remove version number from file name in 8878 a couple more places. Fix crash after patch 6.1.362. Correct 8879 return code for system(). (Zoltan Arpadffy, Tomas Stehlik) 8880Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro, 8881 src/os_vms_conf.h, src/quickfix.c, src/ui.c 8882 8883Patch 6.1.370 8884Problem: #ifdef nesting is unclear. 8885Solution: Insert spaces to indicate the nesting. 8886Files: src/os_unix.c 8887 8888Patch 6.1.371 8889Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line. 8890Solution: Add one to the column when comparing with virtual column (Andrew 8891 Pimlott) 8892Files: src/buffer.c 8893 8894Patch 6.1.372 8895Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe) 8896Solution: Change int into long. 8897Files: src/structs.h, src/syntax.c 8898 8899Patch 6.1.373 8900Problem: The default page header for printing is not translated. 8901Solution: Add _() around the two places where "Page" is used. (Mike 8902 Williams) Translate the default value of the 'titleold' and 8903 'printheader' options. 8904Files: src/ex_cmds2.c, src/option.c 8905 8906Patch 6.1.374 (extra) 8907Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin. 8908Solution: Add makefile and modified resource files. (Rene de Zwart) 8909 Also support Cygwin. (Alejandro Lopez_Valencia) 8910Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile, 8911 GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc 8912 8913Patch 6.1.375 8914Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces. 8915 (Xiangjiang Ma) 8916Solution: Don't insert backslashes for spaces in a shell command. 8917Files: src/ex_docmd.c 8918 8919Patch 6.1.376 8920Problem: "vim --version" and "vim --help" have a non-zero exit code. 8921 That is unusual. (Petesea) 8922Solution: Use a zero exit code. 8923Files: src/main.c 8924 8925Patch 6.1.377 8926Problem: Can't add words to 'lispwords' option. 8927Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser) 8928Files: src/option.c 8929 8930Patch 6.1.378 8931Problem: When two buffer-local user commands are ambiguous, a full match 8932 with a global user command isn't found. (Hari Krishna Dara) 8933Solution: Detect this situation and accept the global command. 8934Files: src/ex_docmd.c 8935 8936Patch 6.1.379 8937Problem: Linux with kernel 2.2 can't use the alternate stack in combination 8938 with threading, causes an infinite loop. 8939Solution: Don't use the alternate stack in this situation. 8940Files: src/os_unix.c 8941 8942Patch 6.1.380 8943Problem: When 'winminheight' is zero and the quickfix window is zero lines, 8944 entering the window doesn't make it higher. (Christian J. 8945 Robinson) 8946Solution: Make sure the current window is at least one line high. 8947Files: src/window.c 8948 8949Patch 6.1.381 8950Problem: When a BufWriteCmd is used and it leaves the buffer modified, the 8951 window may still be closed. (Hari Krishna Dara) 8952Solution: Return FAIL from buf_write() when the buffer is still modified 8953 after a BufWriteCmd autocommand was used. 8954Files: src/fileio.c 8955 8956Patch 6.1.382 (extra) 8957Problem: Win32 GUI: When using two monitors, the code that checks/fixes the 8958 window size and position (e.g. when a font changes) doesn't work 8959 properly. (George Reilly) 8960Solution: Handle a double monitor situation. (Helmut Stiegler) 8961Files: src/gui_w32.c 8962 8963Patch 6.1.383 8964Problem: The filling of the status line doesn't work properly for 8965 multi-byte characters. (Nam SungHyun) 8966 There is no check for going past the end of the buffer. 8967Solution: Properly distinguish characters and bytes. Properly check for 8968 running out of buffer space. 8969Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c 8970 8971Patch 6.1.384 8972Problem: It is not possible to find if a certain patch has been included. 8973 (Lubomir Host) 8974Solution: Support using has() to check if a patch was included. 8975Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro, 8976 src/version.c 8977 8978Patch 6.1.385 (depends on 6.1.383) 8979Problem: Can't compile without the multi-byte feature. 8980Solution: Move an #ifdef. (Christian J. Robinson) 8981Files: src/buffer.c 8982 8983Patch 6.1.386 8984Problem: Get duplicate tags when running ":helptags". 8985Solution: Do the other halve of moving a section to another help file. 8986Files: runtime/tagsrch.txt 8987 8988Patch 6.1.387 (depends on 6.1.373) 8989Problem: Compiler warning for pointer cast. 8990Solution: Add (char_u *). 8991Files: src/option.c 8992 8993Patch 6.1.388 (depends on 6.1.384) 8994Problem: Compiler warning for pointer cast. 8995Solution: Add (char *). Only include has_patch() when used. 8996Files: src/eval.c, src/version.c 8997 8998Patch 6.1.389 (depends on 6.1.366) 8999Problem: Balloon evaluation doesn't work for GTK. 9000 has("balloon_eval") doesn't work. 9001Solution: Add balloon evaluation for GTK. Also improve displaying of signs. 9002 (Daniel Elstner) 9003 Also make ":gui" start the netbeans connection and avoid using 9004 netbeans functions when the connection is not open. 9005Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h, 9006 src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c, 9007 src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c, 9008 src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro, 9009 src/structs.h, src/syntax.c, src/ui.c, src/workshop.c 9010 9011Patch 6.1.390 (depends on 6.1.389) 9012Problem: It's not possible to tell Vim to save and exit through the 9013 Netbeans interface. Would still try to send balloon eval text 9014 after the connection is closed. 9015 Can't use Unicode characters for sign text. 9016Solution: Add functions "saveAndExit" and "getModified". Check for a 9017 working connection before sending a balloonText event. 9018 various other cleanups. 9019 Support any character for sign text. (Daniel Elstner) 9020Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c, 9021 src/netbeans.c, src/screen.c 9022 9023Patch 6.1.391 9024Problem: ml_get() error when using virtualedit. (Charles Campbell) 9025Solution: Get a line from a specific window, not the current one. 9026Files: src/charset.c 9027 9028Patch 6.1.392 (depends on 6.1.383) 9029Problem: Highlighting in the 'statusline' is in the wrong position when an 9030 item is truncated. (Zak Beck) 9031Solution: Correct the start of 'statusline' items properly for a truncated 9032 item. 9033Files: src/buffer.c 9034 9035Patch 6.1.393 9036Problem: When compiled with Python and threads, detaching the terminal may 9037 cause Vim to loop forever. 9038Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel 9039 Elstner) 9040Files: src/auto/configure,, src/configure.in 9041 9042Patch 6.1.394 (depends on 6.1.390) 9043Problem: The netbeans interface doesn't recognize multibyte glyph names. 9044Solution: Check the number of cells rather than bytes to decide 9045 whether a glyph name is not a filename. (Daniel Elstner) 9046Files: src/netbeans.c 9047 9048Patch 6.1.395 (extra, depends on 6.1.369) 9049Problem: VMS: OLD_VMS is never defined. Missing function prototype. 9050Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to 9051 os_vms.pro. (Zoltan Arpadffy) 9052Files: src/Make_vms.mms, src/proto/os_vms.pro 9053 9054Patch 6.1.396 (depends on 6.1.330) 9055Problem: Compiler warnings for using enum. 9056Solution: Add typecast to char_u. 9057Files: src/gui_gtk_x11.c, src/gui_x11.c 9058 9059Patch 6.1.397 (extra) 9060Problem: The install program may use a wrong path for the diff command if 9061 there is a space in the install directory path. 9062Solution: Use double quotes around the path if necessary. (Alejandro 9063 Lopez-Valencia) Also use double quotes around the file name 9064 arguments. 9065Files: src/dosinst.c 9066 9067Patch 6.1.398 9068Problem: Saving the typeahead for debug mode causes trouble for a test 9069 script. (Servatius Brandt) 9070Solution: Add the ":debuggreedy" command to avoid saving the typeahead. 9071Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c, 9072 src/ex_docmd.c, src/proto/ex_cmds2.pro 9073 9074Patch 6.1.399 9075Problem: Warning for unused variable. 9076Solution: Remove the variable two_or_more. 9077Files: src/ex_cmds.c 9078 9079Patch 6.1.400 (depends on 6.1.381) 9080Problem: When a BufWriteCmd wipes out the buffer it may still be accessed. 9081Solution: Don't try accessing a buffer that has been wiped out. 9082Files: src/fileio.c 9083 9084Patch 6.1.401 (extra) 9085Problem: Building the Win16 version with Borland 5.01 doesn't work. 9086 "make test" doesn't work with Make_dos.mak. (Walter Briscoe) 9087Solution: Various fixes to the w16 makefile. (Walter Briscoe) 9088 Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp". 9089Files: src/Make_w16.mak, src/testdir/Make_dos.mak 9090 9091Patch 6.1.402 9092Problem: When evaluating a function name with curly braces, an error 9093 is not handled consistently. 9094Solution: Accept the result of an curly braces expression when an 9095 error was encountered. Skip evaluating an expression in curly 9096 braces when skipping. (Servatius Brandt) 9097Files: src/eval.c 9098 9099Patch 6.1.403 (extra) 9100Problem: MS-Windows 16 bit: compiler warnings. 9101Solution: Add typecasts. (Walter Briscoe) 9102Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c, 9103 src/syntax.c 9104 9105Patch 6.1.404 (extra) 9106Problem: Various small problems. 9107Solution: Fix comments. Various small additions, changes in indent, removal 9108 of unused items and fixes. 9109Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim, 9110 src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak, 9111 src/Make_cyg.mak, src/Make_ming.mak, src/Makefile, 9112 src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c, 9113 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, 9114 src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c, 9115 src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c, 9116 src/message.c, src/misc1.c, src/misc2.c, src/normal.c, 9117 src/option.c, src/os_os2_cfg.h, src/os_win32.c, 9118 src/proto/getchar.pro, src/proto/message.pro, 9119 src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c, 9120 src/term.c, src/testdir/test15.in, src/testdir/test15.ok, 9121 src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile 9122 9123Patch 6.1.405 9124Problem: A few files are missing from the toplevel Makefile. 9125Solution: Add the missing files. 9126Files: Makefile 9127 9128Patch 6.1.406 (depends on 6.1.392) 9129Problem: When a statusline item doesn't fit arbitrary text appears. 9130 (Christian J. Robinson) 9131Solution: When there is just enough room but not for the "<" truncate the 9132 statusline item like there is no room. 9133Files: src/buffer.c 9134 9135Patch 6.1.407 9136Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew 9137 Pimlott) 9138Solution: Reset 'scrollbind' when opening a help window. 9139Files: src/ex_cmds.c 9140 9141Patch 6.1.408 9142Problem: When 'rightleft' is set unprintable character 0x0c is displayed as 9143 ">c0<". 9144Solution: Reverse the text of the hex character. 9145Files: src/screen.c 9146 9147Patch 6.1.409 9148Problem: Generating tags for the help doesn't work for some locales. 9149Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel 9150 Elstner) 9151Files: runtime/doc/Makefile 9152 9153Patch 6.1.410 (depends on 6.1.390) 9154Problem: Linking error when compiling with Netbeans but without sign icons. 9155 (Malte Neumann) 9156Solution: Don't define buf_signcount() when sign icons are unavailable. 9157Files: src/buffer.c 9158 9159Patch 6.1.411 9160Problem: When 'virtualedit' is set, highlighting a Visual block beyond the 9161 end of a line may be wrong. 9162Solution: Correct the virtual column when the end of the line is before the 9163 displayed part of the line. (Muraoka Taro) 9164Files: src/screen.c 9165 9166Patch 6.1.412 9167Problem: When swapping terminal screens and using ":gui" to start the GUI, 9168 the shell prompt may be after a hit-enter prompt. 9169Solution: Output a newline in the terminal when starting the GUI and there 9170 was a hit-enter prompt.. 9171Files: src/gui.c 9172 9173Patch 6.1.413 9174Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't 9175 work correctly. 9176Solution: Save the register before overwriting it and put the resulting text 9177 on the clipboard afterwards. (Muraoka Taro) 9178Files: src/normal.c, src/ops.c 9179 9180Patch 6.1.414 (extra, depends on 6.1.369) 9181Problem: VMS: Vim busy waits when waiting for input. 9182Solution: Delay for a short while before getting another character. (Zoltan 9183 Arpadffy) 9184Files: src/os_vms.c 9185 9186Patch 6.1.415 9187Problem: When there is a vertical split and a quickfix window, reducing the 9188 size of the Vim window may result in a wrong window layout and a 9189 crash. 9190Solution: When reducing the window size and there is not enough space for 9191 'winfixheight' set the frame height to the larger height, so that 9192 there is a retry while ignoring 'winfixheight'. (Yasuhiro 9193 Matsumoto) 9194Files: src/window.c 9195 9196Patch 6.1.416 (depends on 6.1.366) 9197Problem: When using the Netbeans interface, a line with a sign cannot be 9198 changed. 9199Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded 9200 area. 9201Files: src/netbeans.c 9202 9203Patch 6.1.417 9204Problem: Unprintable multi-byte characters are not handled correctly. 9205 Multi-byte characters above 0xffff are displayed as another 9206 character. 9207Solution: Handle unprintable multi-byte characters. Display multi-byte 9208 characters above 0xffff with a marker. Recognize UTF-16 words and 9209 BOM words as unprintable. (Daniel Elstner) 9210Files: src/charset.c, src/mbyte.c, src/screen.c 9211 9212Patch 6.1.418 9213Problem: The result of strftime() is in the current locals. Need to 9214 convert it to 'encoding'. 9215Solution: Obtain the current locale and convert the argument for strftime() 9216 to it and the result back to 'encoding'. (Daniel Elstner) 9217Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c, 9218 src/proto/mbyte.pro, src/option.c, src/os_mswin.c 9219 9220Patch 6.1.419 9221Problem: Vim doesn't compile on AIX 5.1. 9222Solution: Don't define _NO_PROTO on this system. (Uribarri) 9223Files: src/auto/configure, src/configure.in 9224 9225Patch 6.1.420 (extra) 9226Problem: convert_input() has an unnecessary STRLEN(). 9227 Conversion from UCS-2 to a codepage uses word count instead of 9228 byte count. 9229Solution: Remove the STRLEN() call. (Daniel Elstner) 9230 Always use byte count for string_convert(). 9231Files: src/gui_w32.c, src/mbyte.c 9232 9233Patch 6.1.421 (extra, depends on 6.1.354) 9234Problem: MS-Windows 9x: When putting text on the clipboard it can be in 9235 the wrong encoding. 9236Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard) 9237Files: src/os_mswin.c 9238 9239Patch 6.1.422 9240Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping 9241 screens. (Neil Bird) 9242Solution: Set msg_didany also when sending a message to the terminal 9243 directly. 9244Files: src/message.c 9245 9246Patch 6.1.423 9247Problem: Can't find arbitrary text in help files. 9248Solution: Added the ":helpgrep" command. 9249Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, 9250 src/proto/quickfix.pro, src/quickfix.c 9251 9252Patch 6.1.424 (extra) 9253Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show 9254 menu items. 9255Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO. 9256 (Muraoka Taro) 9257Files: src/Make_mvc.mak 9258 9259Patch 6.1.425 9260Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag. 9261Solution: Do add the "help-tags" tag for that specific directory. 9262Files: src/ex_cmds.c 9263 9264Patch 6.1.426 9265Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff) 9266Solution: Don't wait for the "+cmd" argument to have been edited. 9267Files: src/main.c 9268 9269Patch 6.1.427 9270Problem: Several error messages for regexp patterns are not translated. 9271Solution: Use _() properly. (Muraoka Taro) 9272Files: src/regexp.c 9273 9274Patch 6.1.428 9275Problem: FreeBSD: wait() may hang when compiled with Python support and 9276 doing a system() call in a startup script. 9277Solution: Use waitpid() instead of wait() and poll every 10 msec, just like 9278 what is done in the GUI. 9279Files: src/os_unix.c 9280 9281Patch 6.1.429 (depends on 6.1.390) 9282Problem: Crash when using showmarks.vim plugin. (Charles Campbell) 9283Solution: Check for sign_get_text() returning a NULL pointer. 9284Files: src/screen.c 9285 9286Patch 6.1.430 9287Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai) 9288Solution: Skip over backslashed parens. 9289Files: src/search.c 9290 9291Patch 6.1.431 9292Problem: Debug commands end up in redirected text. 9293Solution: Disable redirection while handling debug commands. 9294Files: src/ex_cmds2.c 9295 9296Patch 6.1.432 (depends on 6.1.375) 9297Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls) 9298Solution: Don't add backslashes, handle it like ":!cmd". 9299Files: src/ex_docmd.c 9300 9301Patch 6.1.433 9302Problem: ":popup" only works for Win32. 9303Solution: Add ":popup" support for GTK. (Daniel Elstner) 9304Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c, 9305 src/proto/gui_gtk.pro 9306 9307Patch 6.1.434 (extra) 9308Problem: Win32: When there are more than 32767 lines, the scrollbar has a 9309 roundoff error. 9310Solution: Make a click on an arrow move one line. Also move the code to 9311 gui_w48.c, there is hardly any difference between the 16 bit and 9312 32 bit versions. (Walter Briscoe) 9313Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 9314 9315Patch 6.1.435 9316Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew 9317 Pimlott) 9318Solution: Give an error message for wrong arguments of ":winsize" and 9319 ":winpos". 9320Files: src/ex_docmd.c 9321 9322Patch 6.1.436 9323Problem: When a long UTF-8 file contains an illegal byte it's hard to find 9324 out where it is. (Ron Aaron) 9325Solution: Add the line number to the error message. 9326Files: src/fileio.c 9327 9328Patch 6.1.437 (extra, depends on 6.1.421) 9329Problem: Using multi-byte functions when they are not available. 9330Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri) 9331 Also fix a pointer type mistake. (Walter Briscoe) 9332Files: src/os_mswin.c 9333 9334Patch 6.1.438 9335Problem: When Perl has thread support Vim cannot use the Perl interface. 9336Solution: Add a configure check and disable Perl when it will not work. 9337 (Aron Griffis) 9338Files: src/auto/configure, src/configure.in 9339 9340Patch 6.1.439 9341Problem: Netbeans: A "create" function doesn't actually create a buffer, 9342 following functions may fail. 9343Solution: Create a Vim buffer without a name when "create" is called. 9344 (Gordon Prieur) 9345Files: runtime/doc/netbeans.txt, src/netbeans.c 9346 9347Patch 6.1.440 9348Problem: The "@*" command doesn't obtain the actual contents of the 9349 clipboard. (Hari Krishna Dara) 9350Solution: Obtain the clipboard text before executing the command. 9351Files: src/ops.c 9352 9353Patch 6.1.441 9354Problem: "zj" and "zk" cannot be used as a motion command after an 9355 operator. (Ralf Hetzel) 9356Solution: Accept these commands as motion commands. 9357Files: src/normal.c 9358 9359Patch 6.1.442 9360Problem: Unicode 3.2 defines more space and punctuation characters. 9361Solution: Add the new characters to the Unicode tables. (Raphael Finkel) 9362Files: src/mbyte.c 9363 9364Patch 6.1.443 (extra) 9365Problem: Win32: The gvimext.dll build with Borland 5.5 requires another 9366 DLL. 9367Solution: Build a statically linked version by default. (Dan Sharp) 9368Files: GvimExt/Make_bc5.mak 9369 9370Patch 6.1.444 (extra) 9371Problem: Win32: Enabling a build with gettext support is not consistent. 9372Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp) 9373Files: src/Make_bc5.mak, src/Make_mvc.mak 9374 9375Patch 6.1.445 (extra) 9376Problem: DJGPP: get warning for argument of putenv() 9377Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe) 9378Files: src/os_msdos.h 9379 9380Patch 6.1.446 (extra) 9381Problem: Win32: The MingW makefile uses a different style of arguments than 9382 other makefiles. 9383 Dynamic IME is not supported for Cygwin. 9384Solution: Use "no" and "yes" style arguments. Remove the use of the 9385 dyn-ming.h include file. (Dan Sharp) 9386 Do not include the ime.h file and adjust the makefile. (Alejandro 9387 Lopez-Valencia) 9388Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c, 9389 src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c 9390 9391Patch 6.1.447 9392Problem: "make install" uses "make" directly for generating help tags. 9393Solution: Use $(MAKE) instead of "make". (Tim Mooney) 9394Files: src/Makefile 9395 9396Patch 6.1.448 9397Problem: 'titlestring' has a default maximum width of 50 chars per item. 9398Solution: Remove the default maximum (also for 'statusline'). 9399Files: src/buffer.c 9400 9401Patch 6.1.449 9402Problem: When "1" and "a" are in 'formatoptions', auto-formatting always 9403 moves a newly added character to the next line. (Servatius Brandt) 9404Solution: Don't move a single character to the next line when it was just 9405 typed. 9406Files: src/edit.c 9407 9408Patch 6.1.450 9409Problem: Termcap entry "kB" for back-tab is not recognized. 9410Solution: Use back-tab as the shift-tab code. 9411Files: src/keymap.h, src/misc2.c, src/term.c 9412 9413Patch 6.1.451 9414Problem: GUI: When text in the find dialog contains a slash, a backslash is 9415 inserted the next time it is opened. (Mezz) 9416Solution: Remove escaped backslashes and question marks. (Daniel Elstner) 9417Files: src/gui.c 9418 9419Patch 6.1.452 (extra, after 6.1.446) 9420Problem: Win32: IME support doesn't work for MSVC. 9421Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia) 9422Files: src/gui_w32.c 9423 9424Patch 6.1.453 (after 6.1.429) 9425Problem: When compiled without sign icons but with sign support, adding a 9426 sign may cause a crash. 9427Solution: Check for the text sign to exist before using it. (Kamil 9428 Burzynski) 9429Files: src/screen.c 9430 9431Patch 6.1.454 (extra) 9432Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251 9433 results in utf-8 bytes. (Perelyubskiy) 9434 Conversion from DBCS to UCS2 does not work when 'encoding' is not 9435 the active codepage. 9436Solution: Introduce enc_codepage and use it for conversion to 'encoding' 9437 (Glenn Maynard) 9438 Use MultiByteToWideChar() and WideCharToMultiByte() instead of 9439 iconv(). Should do most needed conversions without iconv.dll. 9440Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c, 9441 src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h 9442 9443Patch 6.1.455 9444Problem: Some Unicode characters can be one or two character cells wide. 9445Solution: Add the 'ambiwidth' option to tell Vim how to display these 9446 characters. (Jungshik Shin) 9447 Also reset the script ID when setting an option to its default 9448 value, so that ":verbose set" won't give wrong info. 9449Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h 9450 9451Patch 6.1.456 (extra, after 6.1.454) 9452Problem: Win32: IME doesn't work. 9453Solution: ImmGetCompositionStringW() returns the size in bytes, not words. 9454 (Yasuhiro Matsumoto) Also fix typecast problem. 9455Files: src/gui_w32.c, src/os_mswin.c 9456 9457Patch 6.1.457 9458Problem: An empty register in viminfo causes conversion to fail. 9459Solution: Don't convert an empty string. (Yasuhiro Matsumoto) 9460Files: src/ex_cmds.c, src/mbyte.c 9461 9462Patch 6.1.458 9463Problem: Compiler warning for pointer. 9464Solution: Add a typecast. 9465Files: src/ex_cmds.c 9466 9467Patch 6.1.459 (extra) 9468Problem: Win32: libcall() may return an invalid pointer and cause Vim to 9469 crash. 9470Solution: Add a strict check for the returned pointer. (Bruce Mellows) 9471Files: src/os_mswin.c 9472 9473Patch 6.1.460 9474Problem: GTK: after scrolling the text one line with a key, clicking the 9475 arrow of the scrollbar does not always work. (Nam SungHyun) 9476Solution: Always update the scrollbar thumb when the value changed, even 9477 when it would not move, like for RISCOS. (Daniel Elstner) 9478Files: src/gui.c, src/gui.h 9479 9480Patch 6.1.461 9481Problem: When a keymap is active, typing a character in Select mode does 9482 not use it. (Benji Fisher) 9483Solution: Apply Insert mode mapping to the character typed in Select mode. 9484Files: src/normal.c 9485 9486Patch 6.1.462 9487Problem: When autocommands wipe out a buffer, a crash may happen. (Hari 9488 Krishna Dara) 9489Solution: Don't decrement the window count of a buffer before calling the 9490 autocommands for it. When re-using the current buffer, watch out 9491 for autocommands changing the current buffer. 9492Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro 9493 9494Patch 6.1.463 9495Problem: When writing a compressed file, the file name that gzip stores in 9496 the file is the weird temporary file name. (David Rennalls) 9497Solution: Use the real file name when possible. 9498Files: runtime/plugin/gzip.vim 9499 9500Patch 6.1.464 9501Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer) 9502Solution: Check for a negative index. 9503Files: src/syntax.c 9504 9505Patch 6.1.465 (after 6.1.454) 9506Problem: Compile error when using cygwin. 9507Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia) 9508 Undefine WIN32 after including windows.h 9509Files: src/mbyte.c 9510 9511Patch 6.1.466 9512Problem: The "-f" argument is a bit obscure. 9513Solution: Add the "--nofork" argument. Improve the help text a bit. 9514Files: runtime/doc/starting.txt, src/main.c 9515 9516Patch 6.1.467 9517Problem: Setting the window title doesn't work for Chinese. 9518Solution: Use an X11 function to convert text to a text property. (Kentaro 9519 Nakazawa) 9520Files: src/os_unix.c 9521 9522Patch 6.1.468 9523Problem: ":mksession" also stores folds for buffers which will not be 9524 restored. 9525Solution: Only store folds for a buffer with 'buftype' empty and help files. 9526Files: src/ex_docmd.c 9527 9528Patch 6.1.469 9529Problem: 'listchars' cannot contain multi-byte characters. 9530Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff) 9531Files: src/message.c, src/option.c, src/screen.c 9532 9533Patch 6.1.470 (lang) 9534Problem: Polish messages don't show up correctly on MS-Windows. 9535Solution: Convert messages to cp1250. (Mikolaj Machowski) 9536 Also add English message translations, because it got in the way 9537 of the patch. 9538Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po 9539 9540Patch 6.1.471 9541Problem: ":jumps" output continues after pressing "q" at the more-prompt. 9542 (Hari Krishna Dara) 9543Solution: Check for "got_int" being set. 9544Files: src/mark.c 9545 9546Patch 6.1.472 9547Problem: When there is an authentication error when connecting to the X 9548 server Vim exits. 9549Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid 9550 the exit. Also do this in the main loop, so that when the X 9551 server exits a Vim running in a console isn't killed. 9552Files: src/globals.h, src/main.c, src/os_unix.c 9553 9554Patch 6.1.473 9555Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash. 9556Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto) 9557Files: src/if_perl.xs 9558 9559Patch 6.1.474 9560Problem: When opening the command-line window in Ex mode it's impossible to 9561 go back. (Pavol Juhas) 9562Solution: Reset "exmode_active" and restore it when the command-line window 9563 is closed. 9564Files: src/ex_getln.c 9565 9566 9567Patch 6.2f.001 9568Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0. 9569Solution: Change the way the Ruby check is done. (Aron Griffis) 9570Files: src/auto/configure, src/configure.in 9571 9572Patch 6.2f.002 9573Problem: The output of ":ls" doesn't show whether a buffer had read errors. 9574Solution: Add the "x" flag in the ":ls" output. 9575Files: runtime/doc/windows.txt, src/buffer.c 9576 9577Patch 6.2f.003 9578Problem: Test49 doesn't properly test the behavior of ":catch" without an 9579 argument. 9580Solution: Update test49. (Servatius Brandt) 9581Files: src/testdir/test49.ok, src/testdir/test49.vim 9582 9583Patch 6.2f.004 9584Problem: "vim --version" always uses CR/LF in the output. 9585Solution: Omit the CR. 9586Files: src/message.c, src/os_unix.c 9587 9588Patch 6.2f.005 9589Problem: Two error messages without a colon after the number. 9590Solution: Add the colon. (Taro Muraoka) 9591Files: src/if_cscope.c 9592 9593Patch 6.2f.006 9594Problem: When saving a file takes a while and Vim regains focus this can 9595 result in a "file changed outside of Vim" warning and ml_get() 9596 errors. (Mike Williams) 9597Solution: Add the "b_saving" flag to avoid checking the timestamp while the 9598 buffer is being saved. (Michael Schaap) 9599Files: src/fileio.c, src/structs.h 9600 9601Patch 6.2f.007 9602Problem: Irix compiler complains about multiple defined symbols. 9603 vsnprintf() is not available. (Charles Campbell) 9604Solution: Insert EXTERN for variables in globals.h. Change the configure 9605 check for vsnprintf() from compiling to linking. 9606Files: src/auto/configure, src/configure.in, src/globals.h 9607 9608Patch 6.2f.008 9609Problem: The Aap recipe doesn't work with Aap 0.149. 9610Solution: Change targetarg to TARGETARG. Update the mysign file. 9611Files: src/main.aap, src/mysign 9612 9613Patch 6.2f.009 (extra) 9614Problem: Small problem when building with Borland 5.01. 9615Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe) 9616Files: src/dosinst.h 9617 9618Patch 6.2f.010 9619Problem: Warning for missing prototypes. 9620Solution: Add missing prototypes. (Walter Briscoe) 9621Files: src/if_cscope.c 9622 9623Patch 6.2f.011 9624Problem: The configure script doesn't work with autoconf 2.5x. 9625Solution: Add square brackets around a header check. (Aron Griffis) 9626 Note: touch src/auto/configure after applying this patch. 9627Files: src/configure.in 9628 9629Patch 6.2f.012 9630Problem: ":echoerr" doesn't work correctly inside try/endtry. 9631Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt) 9632Files: src/eval.c 9633 9634Patch 6.2f.013 (extra) 9635Problem: Macintosh: Compiler warning for a trigraph. 9636Solution: Insert a backslash before each question mark. (Peter Cucka) 9637Files: src/os_mac.h 9638 9639Patch 6.2f.014 (extra) 9640Problem: Macintosh: ex_eval is not included in the project file. 9641Solution: Add ex_eval. (Dany St-Amant) 9642Files: src/os_mac.pbproj/project.pbxproj 9643 9644Patch 6.2f.015 (extra) 9645Problem: Win32: When changing header files not all source files involved 9646 are recompiled. 9647Solution: Improve the dependency rules. (Dan Sharp) 9648Files: src/Make_cyg.mak, src/Make_ming.mak 9649 9650Patch 6.2f.016 9651Problem: "vim --version > ff" on non-Unix systems results in a file with a 9652 missing line break at the end. (Bill McCArthy) 9653Solution: Add a line break. 9654Files: src/main.c 9655 9656Patch 6.2f.017 9657Problem: Unix: starting Vim in the background and then bringing it to the 9658 foreground may cause the terminal settings to be wrong. 9659Solution: Check for tcsetattr() to return an error, retry when it does. 9660 (Paul Tapper) 9661Files: src/os_unix.c 9662 9663Patch 6.2f.018 9664Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses 9665 one. Redefining it causes a warning message. 9666Solution: Undefine OK before defining it to one. (Taro Muraoka) 9667Files: src/vim.h 9668 9669Patch 6.2f.019 9670Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in 9671 curses.h. 9672Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE. 9673Files: src/ex_cmds2.c 9674 9675Patch 6.2f.020 9676Problem: Win32: test50 produces beeps and fails with some versions of diff. 9677Solution: Remove empty lines and convert the output to dos fileformat. 9678Files: src/testdir/test50.in 9679 9680Patch 6.2f.021 9681Problem: Running configure with "--enable-netbeans" disables Netbeans. 9682 (Gordon Prieur) 9683Solution: Fix the tests in configure.in where the default is to enable a 9684 feature. Fix that "--enable-acl" reported "yes" confusingly. 9685Files: src/auto/configure, src/configure.in, src/mysign 9686 9687Patch 6.2f.022 9688Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a 9689 hang. (Derek Wyatt) 9690Solution: Check for a non-empty string before and after the comma. 9691Files: src/option.c 9692 9693Patch 6.2f.023 9694Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is 9695 correct Vim still can't find the help files. 9696Solution: Also look for a tags file in the directory of 'helpfile'. 9697Files: src/tag.c 9698 9699Patch 6.2f.024 9700Problem: When 'delcombine' is set and a character has more than two 9701 composing characters "x" deletes them all. 9702Solution: Always delete only the last composing character. 9703Files: src/misc1.c 9704 9705Patch 6.2f.025 9706Problem: When reading a file from stdin that has DOS line endings but a 9707 missing end-of-line for the last line 'fileformat' becomes "unix". 9708 (Bill McCarthy) 9709Solution: Don't add the missing line break when re-reading the text from the 9710 buffer. 9711Files: src/fileio.c 9712 9713Patch 6.2f.026 9714Problem: When typing new text at the command line, old composing characters 9715 may be displayed. 9716Solution: Don't read composing characters from after the end of the 9717 text to be displayed. 9718Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro, 9719 src/screen.c 9720 9721Patch 6.2f.027 9722Problem: Compiler warnings for unsigned char pointers. (Tony Leneis) 9723Solution: Add typecasts to char pointer. 9724Files: src/quickfix.c 9725 9726Patch 6.2f.028 9727Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be 9728 made active again. Cursor isn't updated immediately when changing 9729 XIM activation. Japanese XIM may hang when using 'imactivatekey'. 9730 Can't activate XIM after typing fFtT command or ":sh". 9731Solution: Properly set the flag that indicates the IM is active. Update the 9732 cursor right away. Do not send a key-release event. Handle 9733 Normal mode and running an external command differently. 9734 (Yasuhiro Matsumoto) 9735Files: src/mbyte.c 9736 9737Patch 6.2f.029 9738Problem: Mixing use of int and enum. 9739Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef. 9740Files: src/if_cscope.c, src/if_cscope.h 9741 9742Patch 6.2f.030 (after 6.2f.028) 9743Problem: Cursor moves up when using XIM. 9744Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto) 9745Files: src/mbyte.c 9746 9747Patch 6.2f.031 9748Problem: Crash when listing a function argument in the debugger. (Ron Aaron) 9749Solution: Init the name field of an argument to NULL. 9750Files: src/eval.c 9751 9752Patch 6.2f.032 9753Problem: When a write fails for a ":silent!" while inside try/endtry the 9754 BufWritePost autocommands are not triggered. 9755Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt) 9756Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim 9757 9758Patch 6.2f.033 9759Problem: Cscope: re-entrance problem for ":cscope" command. Checking for 9760 duplicate database didn't work well for Win95. Didn't check for 9761 duplicate databases after an empty entry. 9762Solution: Don't set postponed_split too early. Remember first empty 9763 database entry. (Sergey Khorev) 9764Files: src/if_cscope.c 9765 9766Patch 6.2f.034 9767Problem: The netbeans interface cannot be used on systems without 9768 vsnprintf(). (Tony Leneis) 9769Solution: Use EMSG(), EMSGN() and EMSG2() instead. 9770Files: src/auto/configure, src/configure.in, src/netbeans.c 9771 9772Patch 6.2f.035 9773Problem: The configure check for the netbeans interface doesn't work if the 9774 socket and nsl libraries are required. 9775Solution: Check for the socket and nsl libraries before the netbeans check. 9776Files: src/auto/configure, src/configure.in 9777 9778Patch 6.2f.036 9779Problem: Moving leftwards over text with an illegal UTF-8 byte moves one 9780 byte instead of one character. 9781Solution: Ignore an illegal byte after the cursor position. 9782Files: src/mbyte.c 9783 9784Patch 6.2f.037 9785Problem: When receiving a Netbeans command at the hit-enter or more prompt 9786 the screen is redrawn but Vim is still waiting at the prompt. 9787Solution: Quit the prompt like a CTRL-C was typed. 9788Files: src/netbeans.c 9789 9790Patch 6.2f.038 9791Problem: The dependency to run autoconf causes a patch for configure.in 9792 to run autoconf, even though the configure script was updated as 9793 well. 9794Solution: Only run autoconf with "make autoconf". 9795Files: src/Makefile 9796 9797Patch 6.2f.039 9798Problem: CTRL-W K makes the new top window very high. 9799Solution: When 'equalalways' is set equalize the window heights. 9800Files: src/window.c 9801 9802 9803============================================================================== 9804VERSION 6.3 *version-6.3* 9805 9806This section is about improvements made between version 6.2 and 6.3. 9807 9808This is mainly a bug-fix release. There are also a few new features. 9809The major number of new items is in the runtime files and translations. 9810 9811 9812Changed *changed-6.3* 9813------- 9814 9815The intro message also displays a note about sponsoring Vim, mixed randomly 9816with the message about helping children in Uganda. 9817 9818Included the translated menus, keymaps and tutors with the normal runtime 9819files. The separate "lang" archive now only contains translated messages. 9820 9821Made the translated menu file names a bit more consistent. Use "latin1" for 9822"iso_8859-1" and "iso_8859-15". 9823 9824Removed the "file_select.vim" script from the distribution. It's not more 9825useful than other scripts that can be downloaded from www.vim.org. 9826 9827The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows 9828it used to be dos fileformat, but ":helptags" generates a unix format file. 9829 9830 9831Added *added-6.3* 9832----- 9833 9834New commands: 9835 :cNfile go to last error in previous file 9836 :cpfile idem 9837 :changes print the change list 9838 :keepmarks following command keeps marks where they are 9839 :keepjumps following command keeps jumplist and marks 9840 :lockmarks following command keeps marks where they are 9841 :redrawstatus force a redraw of the status line(s) 9842 9843New options: 9844 'antialias' Mac OS X: use smooth, antialiased fonts 9845 'helplang' preferred help languages 9846 9847Syntax files: 9848 Arch inventory (Nikolai Weibull) 9849 Calendar (Nikolai Weibull) 9850 Ch (Wayne Cheng) 9851 Controllable Regex Mutilator (Nikolai Weibull) 9852 D (Jason Mills) 9853 Desktop (Mikolaj Machowski) 9854 Dircolors (Nikolai Weibull) 9855 Elinks configuration (Nikolai Weibull) 9856 FASM (Ron Aaron) 9857 GrADS scripts (Stefan Fronzek) 9858 Icewm menu (James Mahler) 9859 LDIF (Zak Johnson) 9860 Locale input, fdcc. (Dwayne Bailey) 9861 Pinfo config (Nikolai Weibull) 9862 Pyrex (Marco Barisione) 9863 Relax NG Compact (Nikolai Weibull) 9864 Slice (Morel Bodin) 9865 VAX Macro Assembly (Tom Uijldert) 9866 grads (Stefan Fronzek) 9867 libao (Nikolai Weibull) 9868 mplayer (Nikolai Weibull) 9869 rst (Nikolai Weibull) 9870 tcsh (Gautam Iyer) 9871 yaml (Nikolai Weibull) 9872 9873Compiler plugins: 9874 ATT dot (Marcos Macedo) 9875 Apple Project Builder (Alexander von Below) 9876 Intel (David Harrison) 9877 bdf (Nikolai Weibull) 9878 icc (Peter Puck) 9879 javac (Doug Kearns) 9880 neato (Marcos Macedo) 9881 onsgmls (Robert B. Rowsome) 9882 perl (Christian J. Robinson) 9883 rst (Nikolai Weibull) 9884 se (SmartEiffel) (Doug Kearns) 9885 tcl (Doug Kearns) 9886 xmlwf (Robert B. Rowsome) 9887 9888Filetype plugins: 9889 Aap (Bram Moolenaar) 9890 Ch (Wayne Cheng) 9891 Css (Nikolai Weibull) 9892 Pyrex (Marco Barisione) 9893 Rst (Nikolai Weibull) 9894 9895Indent scripts: 9896 Aap (Bram Moolenaar) 9897 Ch (Wayne Cheng) 9898 DocBook (Nikolai Weibull) 9899 MetaPost (Eugene Minkovskii) 9900 Objective-C (Kazunobu Kuriyama) 9901 Pyrex (Marco Barisione) 9902 Rst (Nikolai Weibull) 9903 Tcsh (Gautam Iyer) 9904 XFree86 configuration file (Nikolai Weibull) 9905 Zsh (Nikolai Weibull) 9906 9907Keymaps: 9908 Greek for cp1253 (Panagiotis Louridas) 9909 Hungarian (Magyar) (Laszlo Zavaleta) 9910 Persian-Iranian (Behnam Esfahbod) 9911 9912Message translations: 9913 Catalan (Ernest Adrogue) 9914 Russian (Vassily Ragosin) 9915 Swedish (Johan Svedberg) 9916 9917Menu translations: 9918 Catalan (Ernest Adrogue) 9919 Russian (Tim Alexeevsky) 9920 Swedish (Johan Svedberg) 9921 9922Tutor translations: 9923 Catalan (Ernest Adrogue) 9924 Russian in cp1251 (Alexey Froloff) 9925 Slovak in cp1250 and iso8859-2 (Lubos Celko) 9926 Swedish (Johan Svedberg) 9927 Korean (Kee-Won Seo) 9928 UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as 9929 the original, create the other Japanese tutor by conversion. 9930 9931Included "russian.txt" help file. (Vassily Ragosin) 9932 9933Include Encapsulated PostScript and PDF versions of the Vim logo in the extra 9934archive. 9935 9936The help highlighting finds the highlight groups and shows them in the color 9937that is actually being used. (idea from Yakov Lerner) 9938 9939The big Win32 version is now compiled with Ruby interface, version 1.8. For 9940Python version 2.3 is used. For Perl version 5.8 is used. 9941 9942The "ftdetect" directory is mentioned in the documentation. The DOS install 9943program creates it. 9944 9945 9946Fixed *fixed-6.3* 9947----- 9948 9949Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options 9950here and there. (Walter Briscoe) 9951 9952The explorer plugin didn't work for double-byte 'encoding's. 9953 9954Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting. 9955 9956Patch 6.2.001 9957Problem: The ":stopinsert" command doesn't have a help tag. 9958Solution: Add the tag. (Antoine J. Mechelynck) 9959Files: runtime/doc/insert.txt, runtime/doc/tags 9960 9961Patch 6.2.002 9962Problem: When compiled with the +multi_byte feature but without +eval, 9963 displaying UTF-8 characters may cause a crash. (Karsten Hopp) 9964Solution: Also set the default for 'ambiwidth' when compiled without the 9965 +eval feature. 9966Files: src/option.c 9967 9968Patch 6.2.003 9969Problem: GTK 2: double-wide characters below 256 are not displayed 9970 correctly. 9971Solution: Check the cell width for characters above 127. (Yasuhiro 9972 Matsumoto) 9973Files: src/gui_gtk_x11.c 9974 9975Patch 6.2.004 9976Problem: With a line-Visual selection at the end of the file a "p" command 9977 puts the text one line upwards. 9978Solution: Detect that the last line was deleted and put forward. (Taro 9979 Muraoka) 9980Files: src/normal.c 9981 9982Patch 6.2.005 9983Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin 9984 Marsman) 9985Solution: Show the dialog after creating it. (David Necas) 9986Files: src/gui_gtk.c 9987 9988Patch 6.2.006 9989Problem: The Netbeans code contains an obsolete function that uses "vim61" 9990 and sets the fall-back value for $VIMRUNTIME. 9991Solution: Delete the obsolete function. 9992Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro 9993 9994Patch 6.2.007 9995Problem: Listing tags for Cscope doesn't always work. 9996Solution: Avoid using smgs_attr(). (Sergey Khorev) 9997Files: src/if_cscope.c 9998 9999Patch 6.2.008 10000Problem: XIM with GTK 2: After backspacing preedit characters are wrong. 10001Solution: Reset the cursor position. (Yasuhiro Matsumoto) 10002Files: src/mbyte.c 10003 10004Patch 6.2.009 10005Problem: Win32: The self-installing executable "Full" selection only 10006 selects some of the items to install. (Salman Mohsin) 10007Solution: Change commas to spaces in between section numbers. 10008Files: nsis/gvim.nsi 10009 10010Patch 6.2.010 10011Problem: When 'virtualedit' is effective and a line starts with a 10012 multi-byte character, moving the cursor right doesn't work. 10013Solution: Obtain the right character to compute the column offset. (Taro 10014 Muraoka) 10015Files: src/charset.c 10016 10017Patch 6.2.011 10018Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway. 10019 (Moshe Kaminsky) 10020Solution: Move the #ifdef outside of stat(). 10021Files: src/os_unix.c 10022 10023Patch 6.2.012 10024Problem: May hang when polling for a character. 10025Solution: Break the wait loop when not waiting for a character. 10026Files: src/os_unix.c 10027 10028Patch 6.2.013 (extra) 10029Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1". 10030Solution: Change the version number to "6.2". (Ajit Thakkar) 10031Files: src/GvimExt/GvimExt.reg 10032 10033Patch 6.2.014 (after 6.2.012) 10034Problem: XSMP doesn't work when using poll(). 10035Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird) 10036Files: src/os_unix.c 10037 10038Patch 6.2.015 10039Problem: The +xsmp feature is never enabled. 10040Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined. 10041 (Alexey Froloff) 10042Files: src/feature.h 10043 10044Patch 6.2.016 10045Problem: Using ":scscope find" with 'cscopequickfix' does not always split 10046 the window. (Gary Johnson) 10047 Win32: ":cscope add" could make the script that contains it 10048 read-only until the corresponding ":cscope kill". 10049 Errors during ":cscope add" may not be handled properly. 10050Solution: When using the quickfix window may need to split the window. 10051 Avoid file handle inheritance for the script. 10052 Check for a failed connection and/or process. (Sergey Khorev) 10053Files: src/ex_cmds2.c, src/if_cscope.c 10054 10055Patch 6.2.017 10056Problem: Test11 sometimes prompts the user, because a file would have been 10057 changed outside of Vim. (Antonio Colombo) 10058Solution: Add a FileChangedShell autocommand to avoid the prompt. 10059Files: src/testdir/test11.in 10060 10061Patch 6.2.018 10062Problem: When using the XSMP protocol and reading from stdin Vim may wait 10063 for a key to be pressed. 10064Solution: Avoid that RealWaitForChar() is used recursively. 10065Files: src/os_unix.c 10066 10067Patch 6.2.019 (lang) 10068Problem: Loading the Portuguese menu causes an error message. 10069Solution: Join two lines. (Jose Pedro Oliveira, Jos� de Paula) 10070Files: runtime/lang/menu_pt_br.vim 10071 10072Patch 6.2.020 10073Problem: The "Syntax/Set syntax only" menu item causes an error message. 10074 (Oyvind Holm) 10075Solution: Set the script-local variable in a function. (Benji Fisher) 10076Files: runtime/synmenu.vim 10077 10078Patch 6.2.021 10079Problem: The user manual section on exceptions contains small mistakes. 10080Solution: Give a good example of an error that could be missed and other 10081 improvements. (Servatius Brandt) 10082Files: runtime/doc/usr_41.txt 10083 10084Patch 6.2.022 (extra) 10085Problem: Win32: After deleting a menu item it still appears in a tear-off 10086 window. 10087Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto) 10088Files: src/gui_w32.c 10089 10090Patch 6.2.023 (extra) 10091Problem: Win32: Make_ivc.mak does not clean everything. 10092Solution: Delete more files in the clean rule. (Walter Briscoe) 10093Files: src/Make_ivc.mak 10094 10095Patch 6.2.024 (extra) 10096Problem: Win32: Compiler warnings for typecasts. 10097Solution: Use DWORD instead of WORD. (Walter Briscoe) 10098Files: src/gui_w32.c 10099 10100Patch 6.2.025 10101Problem: Missing prototype for sigaltstack(). 10102Solution: Add the prototype when it is not found in a header file. 10103Files: src/os_unix.c 10104 10105Patch 6.2.026 10106Problem: Warning for utimes() argument. 10107Solution: Add a typecast. 10108Files: src/fileio.c 10109 10110Patch 6.2.027 10111Problem: Warning for uninitialized variable. 10112Solution: Set mb_l to one when not using multi-byte characters. 10113Files: src/message.c 10114 10115Patch 6.2.028 10116Problem: Cscope connection may kill Vim process and others. 10117Solution: Check for pid being larger than one. (Khorev Sergey) 10118Files: src/if_cscope.c 10119 10120Patch 6.2.029 10121Problem: When using the remote server functionality Vim may leak memory. 10122 (Srikanth Sankaran) 10123Solution: Free the result of XListProperties(). 10124Files: src/if_xcmdsrv.c 10125 10126Patch 6.2.030 10127Problem: Mac: Warning for not being able to use precompiled header files. 10128Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that 10129 function prototypes are still found. 10130Files: src/os_unix.c, src/osdef.sh 10131 10132Patch 6.2.031 10133Problem: The langmenu entry in the options window doesn't work. (Rodolfo 10134 Lima) 10135 With GTK 1 the ":options" command causes an error message. 10136 (Michael Naumann) 10137Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for 10138 GTK 2. 10139Files: runtime/optwin.vim 10140 10141Patch 6.2.032 10142Problem: The lpc filetype is never recognized. (Shizhu Pan) 10143Solution: Check for g:lpc_syntax_for_c instead of the local variable 10144 lpc_syntax_for_c. (Benji Fisher) 10145Files: runtime/filetype.vim 10146 10147Patch 6.2.033 (extra) 10148Problem: Mac: Various compiler warnings. 10149Solution: Don't include Classic-only headers in Unix version. 10150 Remove references to several unused variables. (Ben Fowler) 10151 Fix double definition of DEFAULT_TERM. 10152 Use int instead of unsigned short for pixel values, so that the 10153 negative error values are recognized. 10154Files: src/gui_mac.c, src/term.c 10155 10156Patch 6.2.034 10157Problem: Mac: Compiler warning for redefining DEFAULT_TERM. 10158Solution: Fix double definition of DEFAULT_TERM. 10159Files: src/term.c 10160 10161Patch 6.2.035 10162Problem: Mac: Compiler warnings in Python interface. 10163Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka) 10164Files: src/if_python.c 10165 10166Patch 6.2.036 (extra) 10167Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should 10168 expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin) 10169Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher) 10170Files: src/os_mac.h 10171 10172Patch 6.2.037 10173Problem: Win32: converting an encoding name to a codepage could result in 10174 an arbitrary number. 10175Solution: make encname2codepage() return zero if the encoding name doesn't 10176 contain a codepage number. 10177Files: src/mbyte.c 10178 10179Patch 6.2.038 (extra) 10180Problem: Warning messages when using the MingW compiler. (Bill McCarthy) 10181 Can't compile console version without +mouse feature. 10182Solution: Initialize variables, add parenthesis. 10183 Add an #ifdef around g_nMouseClick. (Ajit Thakkar) 10184Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c 10185 10186Patch 6.2.039 (extra) 10187Problem: More warning messages when using the MingW compiler. 10188Solution: Initialize variables. (Bill McCarthy) 10189Files: src/os_mswin.c 10190 10191Patch 6.2.040 10192Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature. 10193Solution: Pass a non-NULL argument to IceAddConnectionWatch(). 10194Files: src/os_unix.c 10195 10196Patch 6.2.041 (extra, after 6.2.033) 10197Problem: Mac: Compiler warnings for conversion types, missing prototype, 10198 missing return type. 10199Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add 10200 gui_mch_init_check() prototype. Add "int" to termlib functions. 10201Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c. 10202 10203Patch 6.2.042 (extra) 10204Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a 10205 crash. 10206Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp) 10207Files: src/Make_cyg.mak 10208 10209Patch 6.2.043 10210Problem: Compiling with both netbeans and workshop doesn't work. 10211Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur) 10212Files: src/gui_x11.c, src/integration.c, src/netbeans.c, 10213 src/proto/netbeans.pro 10214 10215Patch 6.2.044 10216Problem: ":au filetypedetect" gives an error for a non-existing event name, 10217 but it's actually a non-existing group name. (Antoine Mechelynck) 10218Solution: Make the error message clearer. 10219Files: src/fileio.c 10220 10221Patch 6.2.045 10222Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway) 10223Solution: Don't set the '' mark when searching for the start/end of the 10224 current sentence/paragraph. 10225Files: src/mark.c 10226 10227Patch 6.2.046 10228Problem: When evaluating an argument of a function throws an exception the 10229 function is still called. (Hari Krishna Dara) 10230Solution: Don't call the function when an exception was thrown. 10231Files: src/eval.c 10232 10233Patch 6.2.047 (extra) 10234Problem: Compiler warnings when using MingW. (Bill McCarthy) 10235Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime. 10236Files: src/os_win32.c 10237 10238Patch 6.2.048 10239Problem: The Python interface doesn't compile with Python 2.3 when 10240 dynamically loaded. 10241Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore) 10242Files: src/if_python.c 10243 10244Patch 6.2.049 10245Problem: Using a "-range=" argument with ":command" doesn't work and 10246 doesn't generate an error message. 10247Solution: Generate an error message. 10248Files: src/ex_docmd.c 10249 10250Patch 6.2.050 10251Problem: Test 32 didn't work on MS-Windows. 10252Solution: Write the temp file in Unix fileformat. (Walter Briscoe) 10253Files: src/testdir/test32.in 10254 10255Patch 6.2.051 10256Problem: When using "\=submatch(0)" in a ":s" command, line breaks become 10257 NUL characters. 10258Solution: Change NL to CR characters, so that they become line breaks. 10259Files: src/regexp.c 10260 10261Patch 6.2.052 10262Problem: A few messages are not translated. 10263Solution: Add _() to the messages. (Muraoka Taro) 10264Files: src/ex_cmds.c 10265 10266Patch 6.2.053 10267Problem: Prototype for bzero() doesn't match most systems. 10268Solution: Use "void *" instead of "char *" and "size_t" instead of "int". 10269Files: src/osdef1.h.in 10270 10271Patch 6.2.054 10272Problem: A double-byte character with a second byte that is a backslash 10273 causes problems inside a string. 10274Solution: Skip over multi-byte characters in a string properly. (Yasuhiro 10275 Matsumoto) 10276Files: src/eval.c 10277 10278Patch 6.2.055 10279Problem: Using col('.') from CTRL-O in Insert mode does not return the 10280 correct value for multi-byte characters. 10281Solution: Correct the cursor position when it is necessary, move to the 10282 first byte of a multi-byte character. (Yasuhiro Matsumoto) 10283Files: src/edit.c 10284 10285Patch 6.2.056 (extra) 10286Problem: Building with Sniff++ doesn't work. 10287Solution: Use the multi-threaded libc when needed. (Holger Ditting) 10288Files: src/Make_mvc.mak 10289 10290Patch 6.2.057 (extra) 10291Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system 10292 library. Get a warning for redefining OK. Unused variables in 10293 os_mac.c 10294Solution: Define HAVE_PUTENV. Undefine OK after including curses.h. 10295 Remove declarations for unused variables. 10296Files: src/os_mac.c, src/os_mac.h, src/vim.h 10297 10298Patch 6.2.058 10299Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes 10300 a crash. 10301Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro 10302 Muraoka) 10303Files: src/buffer.c 10304 10305Patch 6.2.059 10306Problem: When 'scrolloff' is a large number and listing completion results 10307 on the command line, then executing a command that jumps close to 10308 where the cursor was before, part of the screen is not updated. 10309 (Yakov Lerner) 10310Solution: Don't skip redrawing part of the window when it was scrolled. 10311Files: src/screen.c 10312 10313Patch 6.2.060 (extra) 10314Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from 10315 the clipboard gives a lalloc(0) error. (Kriton Kyrimis) 10316Solution: When the string length is zero allocate one byte. Also fix that 10317 when the length of the Unicode text is zero (conversion from 10318 'encoding' to UCS-2 was not possible) the normal text is used. 10319Files: src/os_mswin.c 10320 10321Patch 6.2.061 10322Problem: GUI: Using the left mouse button with the shift key should work 10323 like "*" but it scrolls instead. (Martin Beller) 10324Solution: Don't recognize an rxvt scroll wheel event when using the GUI. 10325Files: src/term.c 10326 10327Patch 6.2.062 10328Problem: When one buffer uses a syntax with "containedin" and another 10329 buffer does not, redrawing depends on what the current buffer is. 10330 (Brett Pershing Stahlman) 10331Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin 10332 flag. 10333Files: src/syntax.c 10334 10335Patch 6.2.063 10336Problem: When using custom completion end up with no matches. 10337Solution: Make cmd_numfiles and cmd_files local to completion to avoid that 10338 they are overwritten when ExpandOne() is called recursively by 10339 f_glob(). 10340Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro, 10341 src/misc1.c, src/structs.h, src/tag.c 10342 10343Patch 6.2.064 10344Problem: resolve() only handles one symbolic link, need to repeat it to 10345 resolve all of them. Then need to simplify the file name. 10346Solution: Make resolve() resolve all symbolic links and simplify the result. 10347 Add simplify() to just simplify a file name. Fix that test49 10348 doesn't work if /tmp is a symbolic link. (Servatius Brandt) 10349Files: runtime/doc/eval.txt, src/eval.c, src/tag.c, 10350 src/testdir/test49.vim 10351 10352Patch 6.2.065 10353Problem: ":windo 123" only updates other windows when entering them. 10354 (Walter Briscoe) 10355Solution: Update the topline before going to the next window. 10356Files: src/ex_cmds2.c 10357 10358Patch 6.2.066 (extra) 10359Problem: Ruby interface doesn't work with Ruby 1.8.0. 10360Solution: Change "defout" to "stdout". (Aron Griffis) 10361 Change dynamic loading. (Taro Muraoka) 10362Files: src/if_ruby.c, src/Make_mvc.mak 10363 10364Patch 6.2.067 10365Problem: When searching for a string that starts with a composing character 10366 the command line isn't drawn properly. 10367Solution: Don't count the space to draw the composing character on and 10368 adjust the cursor column after drawing the string. 10369Files: src/message.c 10370 10371Patch 6.2.068 10372Problem: Events for the netbeans interface that include a file name with 10373 special characters don't work properly. 10374Solution: Use nb_quote() on the file name. (Sergey Khorev) 10375Files: src/netbeans.c 10376 10377Patch 6.2.069 (after 6.2.064) 10378Problem: Unused variables "limit" and "new_st" and unused label "fail" in 10379 some situation. (Bill McCarthy) 10380Solution: Put the declarations inside an #ifdef. (Servatius Brandt) 10381Files: src/eval.c, src/tag.c 10382 10383Patch 6.2.070 (after 6.2.069) 10384Problem: Still unused variable "new_st". (Bill McCarthy) 10385Solution: Move the declaration to the right block this time. 10386Files: src/tag.c 10387 10388Patch 6.2.071 10389Problem: 'statusline' can only contain 50 % items. (Antony Scriven) 10390Solution: Allow 80 items and mention it in the docs. 10391Files: runtime/doc/option.txt, src/vim.h 10392 10393Patch 6.2.072 10394Problem: When using expression folding, foldexpr() mostly returns -1 for 10395 the previous line, which makes it difficult to write a fold 10396 expression. 10397Solution: Make the level of the previous line available while still looking 10398 for the end of a fold. 10399Files: src/fold.c 10400 10401Patch 6.2.073 10402Problem: When adding detection of a specific filetype for a plugin you need 10403 to edit "filetype.vim". 10404Solution: Source files from the "ftdetect" directory, so that a filetype 10405 detection plugin only needs to be dropped in a directory. 10406Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt, 10407 runtime/doc/usr_41.txt, runtime/filetype.vim 10408 10409Patch 6.2.074 10410Problem: Warnings when compiling the Python interface. (Ajit Thakkar) 10411Solution: Use ANSI function declarations. 10412Files: src/if_python.c 10413 10414Patch 6.2.075 10415Problem: When the temp file for writing viminfo can't be used "NULL" 10416 appears in the error message. (Ben Lavender) 10417Solution: Print the original file name when there is no temp file name. 10418Files: src/ex_cmds.c 10419 10420Patch 6.2.076 10421Problem: The tags listed for cscope are in the wrong order. (Johannes 10422 Stezenbach) 10423Solution: Remove the reordering of tags for the current file. (Sergey 10424 Khorev) 10425Files: src/if_cscope.c 10426 10427Patch 6.2.077 10428Problem: When a user function specifies custom completion, the function 10429 gets a zero argument instead of an empty string when there is no 10430 word before the cursor. (Preben Guldberg) 10431Solution: Don't convert an empty string to a zero. 10432Files: src/eval.c 10433 10434Patch 6.2.078 10435Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis) 10436Solution: Build Vim before running the tests. 10437Files: src/Makefile 10438 10439Patch 6.2.079 10440Problem: ":w ++enc=utf-8 !cmd" doesn't work. 10441Solution: Check for the "++" argument before the "!". 10442Files: src/ex_docmd.c 10443 10444Patch 6.2.080 10445Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in 10446 an unmodified file doesn't clear the last line. 10447Solution: Call msg_clr_eos() when needed. (Michael Schroeder) 10448Files: src/os_unix.c 10449 10450Patch 6.2.081 10451Problem: Problem when using a long multibyte string for the statusline. 10452Solution: Use the right pointer to get the cell size. (Taro Muraoka) 10453Files: src/buffer.c 10454 10455Patch 6.2.082 10456Problem: Can't compile with Perl 5.8.1. 10457Solution: Rename "e_number" to "e_number_exp". (Sascha Blank) 10458Files: src/digraph.c, src/globals.h 10459 10460Patch 6.2.083 10461Problem: When a compiler uses ^^^^ to mark a word the information is not 10462 visible in the quickfix window. (Srikanth Sankaran) 10463Solution: Don't remove the indent for a line that is not recognized as an 10464 error message. 10465Files: src/quickfix.c 10466 10467Patch 6.2.084 10468Problem: "g_" in Visual mode always goes to the character after the line. 10469 (Jean-Rene David) 10470Solution: Ignore the NUL at the end of the line. 10471Files: src/normal.c 10472 10473Patch 6.2.085 10474Problem: ":verbose set ts" doesn't say an option was set with a "-c" or 10475 "--cmd" argument. 10476Solution: Remember the option was set from a Vim argument. 10477Files: src/main.c, src/ex_cmds2.c, src/vim.h 10478 10479Patch 6.2.086 10480Problem: "{" and "}" stop inside a closed fold. 10481Solution: Only stop once inside a closed fold. (Stephen Riehm) 10482Files: src/search.c 10483 10484Patch 6.2.087 10485Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with 10486 ":bnext". (Yakov Lerner) 10487Solution: Put up a dialog for a changed file when 'confirm' is set in more 10488 situations. 10489Files: src/buffer.c, src/ex_cmds.c 10490 10491Patch 6.2.088 10492Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if 10493 the match is less than 'sidescrolloff' off from the side of the 10494 window. (Roland Stahn) 10495Solution: Set 'sidescrolloff' to zero while displaying the match. 10496Files: src/search.c 10497 10498Patch 6.2.089 10499Problem: ":set isk+=" adds a comma. (Mark Waggoner) 10500Solution: Don't add a comma when the added value is empty. 10501Files: src/option.c 10502 10503Patch 6.2.090 (extra) 10504Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy) 10505Solution: Put an #ifdef around the #pragmas. 10506Files: src/os_win32.c 10507 10508Patch 6.2.091 10509Problem: When an autocommand is triggered when a file is dropped on Vim and 10510 it produces output, messages from a following command may be 10511 scrolled unexpectedly. (David Rennalls) 10512Solution: Save and restore msg_scroll in handle_drop(). 10513Files: src/ex_docmd.c 10514 10515Patch 6.2.092 10516Problem: Invalid items appear in the help file tags. (Antonio Colombo) 10517Solution: Only accept tags with white space before the first "*". 10518Files: runtime/doc/doctags.c, src/ex_cmds.c 10519 10520Patch 6.2.093 10521Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau) 10522Solution: Check the second command character for an "o", not the third. 10523Files: src/menu.c 10524 10525Patch 6.2.094 10526Problem: Can't compile with GTK and tiny features. 10527Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined. 10528 Do not try to split the window. 10529Files: src/ex_docmd.c, src/misc2.c 10530 10531Patch 6.2.095 10532Problem: The message "Cannot go to buffer x" is confusing for ":buf 6". 10533 (Frans Englich) 10534Solution: Make it "Buffer x does not exist". 10535Files: src/buffer.c 10536 10537Patch 6.2.096 10538Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus 10539 Bosau) 10540Solution: Put zero bytes on the clipboard for an empty string. 10541Files: src/ops.c 10542 10543Patch 6.2.097 10544Problem: Setting or resetting 'insertmode' in a BufEnter autocommand 10545 doesn't always have immediate effect. (Nagger) 10546Solution: When 'insertmode' is set, set need_start_insertmode, when it's 10547 reset set stop_insert_mode. 10548Files: src/option.c 10549 10550Patch 6.2.098 (after 6.2.097) 10551Problem: Can't build Vim with tiny features. (Christian J. Robinson) 10552Solution: Declare stop_insert_mode always. 10553Files: src/edit.c, src/globals.h 10554 10555Patch 6.2.099 (extra) 10556Problem: Test 49 fails. (Mikolaj Machowski) 10557Solution: The Polish translation must not change "E116" to "R116". 10558Files: src/po/pl.po 10559 10560Patch 6.2.100 10561Problem: "make proto" fails when compiled with the Perl interface. 10562Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option. 10563Files: src/auto/configure, src/configure.in 10564 10565Patch 6.2.101 10566Problem: When using syntax folding, opening a file slows down a lot when 10567 it's size increases by only 20%. (Gary Johnson) 10568Solution: The array with cached syntax states is leaking entries. After 10569 cleaning up the list obtain the current entry again. 10570Files: src/syntax.c 10571 10572Patch 6.2.102 10573Problem: The macros equal() and CR conflict with a Carbon header file. 10574Solution: Rename equal() to equalpos(). Rename CR to CAR. 10575 Do this in the non-extra files only. 10576Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c, 10577 src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c, 10578 src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c, 10579 src/gui_motif.c, src/macros.h, src/mark.c, src/message.c, 10580 src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c, 10581 src/regexp.c, src/search.c, src/ui.c, src/workshop.c 10582 10583Patch 6.2.103 (extra) 10584Problem: The macros equal() and CR conflict with a Carbon header file. 10585Solution: Rename equal() to equalpos(). Rename CR to CAR. 10586 Do this in the extra files only. 10587Files: src/gui_photon.c, src/gui_w48.c 10588 10589Patch 6.2.104 10590Problem: Unmatched braces in the table with options. 10591Solution: Move the "}," outside of the #ifdef. (Yakov Lerner) 10592Files: src/option.c 10593 10594Patch 6.2.105 10595Problem: When the cursor is past the end of the line when calling 10596 get_c_indent() a crash might occur. 10597Solution: Don't look past the end of the line. (NJ Verenini) 10598Files: src/misc1.c 10599 10600Patch 6.2.106 10601Problem: Tag searching gets stuck on a very long line in the tags file. 10602Solution: When skipping back to search the first matching tag remember the 10603 offset where searching started looking for a line break. 10604Files: src/tag.c 10605 10606Patch 6.2.107 (extra) 10607Problem: The NetBeans interface cannot be used on Win32. 10608Solution: Add support for the NetBeans for Win32. Add support for reading 10609 XPM files on Win32. Also fixes that a sign icon with a space in 10610 the file name did not work through the NetBeans interface. 10611 (Sergey Khorev) 10612 Also: avoid repeating error messages when the connection is lost. 10613Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak, 10614 src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, 10615 src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h, 10616 src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c, 10617 src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h, 10618 src/proto/gui_beval.pro, src/proto/gui_w32.pro, 10619 src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h, 10620 src/xpm_w32.c, src/xpm_w32.h 10621 10622Patch 6.2.108 10623Problem: Crash when giving a message about ignoring case in a tag. (Manfred 10624 Kuehn) 10625Solution: Use a longer buffer for the message. 10626Files: src/tag.c 10627 10628Patch 6.2.109 10629Problem: Compiler warnings with various Amiga compilers. 10630Solution: Add typecast, prototypes, et al. that are also useful for other 10631 systems. (Flavio Stanchina) 10632Files: src/eval.c, src/ops.c 10633 10634Patch 6.2.110 10635Problem: When $LANG includes the encoding, a menu without an encoding name 10636 is not found. 10637Solution: Also look for a menu file without any encoding. 10638Files: runtime/menu.vim 10639 10640Patch 6.2.111 10641Problem: Encoding "cp1251" is not recognized. 10642Solution: Add "cp1251" to the table of encodings. (Alexey Froloff) 10643Files: src/mbyte.c 10644 10645Patch 6.2.112 10646Problem: After applying patches test32 fails. (Antonio Colombo) 10647Solution: Have "make clean" in the testdir delete *.rej and *.orig files. 10648 Use this when doing "make clean" in the src directory. 10649Files: src/Makefile, src/testdir/Makefile 10650 10651Patch 6.2.113 10652Problem: Using ":startinsert" after "$" works like "a" instead of "i". 10653 (Ajit Thakkar) 10654Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit(). 10655Files: src/edit.c, src/ex_docmd.c 10656 10657Patch 6.2.114 10658Problem: When stdout is piped through "tee", the size of the screen may not 10659 be correct. 10660Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and 10661 stdout isn't. 10662Files: src/os_unix.c 10663 10664Patch 6.2.115 (extra) 10665Problem: Compiler warnings with various Amiga compilers. 10666Solution: Add typecast, prototypes, et al. Those changes that are 10667 Amiga-specific. (Flavio Stanchina) 10668Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h, 10669 src/vim.h 10670 10671Patch 6.2.116 (extra) 10672Problem: German keyboard with Numlock set different from system startup 10673 causes problems. 10674Solution: Ignore keys with code 0xff. (Helmut Stiegler) 10675Files: src/gui_w48.c 10676 10677Patch 6.2.117 10678Problem: Breakpoints in loops of sourced files and functions are not 10679 detected. (Hari Krishna Dara) 10680Solution: Check for breakpoints when using lines that were previously read. 10681 (Servatius Brandt) 10682Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro, 10683 src/proto/ex_cmds2.pro 10684 10685Patch 6.2.118 (extra) 10686Problem: Mac: Compiling is done in a non-standard way. 10687Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI" 10688 to Makefile and configure. (Eric Kow) 10689 Move a few prototypes from os_mac.pro to gui_mac.pro. 10690Files: src/Makefile, src/auto/configure, src/configure.in, 10691 src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c, 10692 src/proto/gui_mac.pro, src/proto/os_mac.pro, 10693 src/infplist.xml, src/vim.h 10694 10695Patch 6.2.119 (after 6.2.107) 10696Problem: When packing the MS-Windows archives a few files are missing. 10697 (Guopeng Wen) 10698Solution: Add gui_beval.* to the list of generic source files. 10699Files: Makefile 10700 10701Patch 6.2.120 10702Problem: Win32 GUI: The console dialogs are not supported on MS-Windows, 10703 disabling the 'c' flag of 'guioptions'. (Servatius Brandt) 10704Solution: Define FEAT_CON_DIALOG also for GUI-only builds. 10705Files: src/feature.h 10706 10707Patch 6.2.121 (after 6.2.118) 10708Problem: Not all make programs support "+=". (Charles Campbell) 10709Solution: Use a normal assignment. 10710Files: src/Makefile 10711 10712Patch 6.2.122 (after 6.2.119) 10713Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen) 10714Solution: Use a simpler pattern. Add the Aap recipe for the maze program 10715 and a clean version of the source code. 10716Files: Makefile, runtime/macros/maze/Makefile, 10717 runtime/macros/maze/README.txt, runtime/macros/maze/main.aap, 10718 runtime/macros/maze/mazeclean.c 10719 10720Patch 6.2.123 (after 6.2.118) 10721Problem: Running configure fails. (Tony Leneis) 10722Solution: Change "==" to "=" for a test. 10723Files: src/auto/configure, src/configure.in 10724 10725Patch 6.2.124 (after 6.2.121)(extra) 10726Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim 10727 directly it can't find the runtime files. (Emily Jackson) 10728 Using GNU constructs causes warnings with other make programs. 10729 (Ronald Schild) 10730Solution: Use another name for the M4FLAGS variable. 10731 Don't remove "Vim.app" from the path. 10732 Update the explanation for compiling on the Mac. (Eric Kow) 10733 Don't use $(shell ) and $(addprefix ). 10734Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c 10735 10736Patch 6.2.125 (after 6.2.107) 10737Problem: The "winsock2.h" file isn't always available. 10738Solution: Don't include this header file. 10739Files: src/netbeans.c 10740 10741Patch 6.2.126 10742Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception. 10743Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set 10744 in _OnChar(). 10745Files: src/misc1.c 10746 10747Patch 6.2.127 (extra) 10748Problem: Win32 console: Typing CTRL-C doesn't throw an exception. 10749Solution: Set got_int immediately when CTRL-C is typed, don't wait for 10750 mch_breakcheck() being called. 10751Files: src/os_win32.c 10752 10753Patch 6.2.128 (after 6.2.118) 10754Problem: src/auto/configure is not consistent with src/configure.in. 10755Solution: Use the newly generated configure script. 10756Files: src/auto/configure 10757 10758Patch 6.2.129 10759Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible. 10760 (Yasuhiro Matsumoto) 10761Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn' 10762 and similar things. 10763Files: src/edit.c 10764 10765Patch 6.2.130 (extra) 10766Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes 10767 the screen to be cleared. (Michael A. Mangino) 10768Solution: Don't clear the screen when exiting and 'restorescreen' isn't set. 10769Files: src/os_win32.c 10770 10771Patch 6.2.131 (extra) 10772Problem: Win32: Font handles are leaked. 10773Solution: Free italic, bold and bold-italic handles before overwriting them. 10774 (Michael Wookey) 10775Files: src/gui_w48.c 10776 10777Patch 6.2.132 (extra) 10778Problem: Win32: console version doesn't work on latest Windows Server 2003. 10779Solution: Copy 12000 instead of 15000 cells at a time to avoid running out 10780 of memory. 10781Files: src/os_win32.c 10782 10783Patch 6.2.133 10784Problem: When starting the GUI a bogus error message about 'imactivatekey' 10785 may be given. 10786Solution: Only check the value of 'imactivatekey' when the GUI is running. 10787Files: src/gui.c, src/option.c 10788 10789Patch 6.2.134 (extra) 10790Problem: Win32: When scrolling parts of the window are redrawn when this 10791 isn't necessary. 10792Solution: Only invalidate parts of the window when they are obscured by 10793 other windows. (Michael Wookey) 10794Files: src/gui_w48.c 10795 10796Patch 6.2.135 10797Problem: An item <> in the ":command" argument is interpreted as <args>. 10798Solution: Avoid that <> is recognized as <args>. 10799Files: src/ex_docmd.c 10800 10801Patch 6.2.136 10802Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't 10803 exist. (Miroslaw Dobrzanski-Neumann) 10804Solution: Set 'fileencoding' to the specified encoding when editing a file 10805 that does not exist. 10806Files: src/fileio.c 10807 10808Patch 6.2.137 10809Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%" 10810 when using the matchit plugin. 10811Solution: Store the command to be repeated. This is restricted to 10812 single-line commands. 10813Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h 10814 10815Patch 6.2.138 (extra) 10816Problem: Compilation problem on VMS with dynamic buffer on the stack. 10817Solution: Read one byte less than the size of the buffer, so that we can 10818 check for the string length without an extra buffer. 10819Files: src/os_vms.c 10820 10821Patch 6.2.139 10822Problem: Code is repeated in the two Perl files. 10823Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h. 10824 Also fix a problem with generating prototypes. 10825Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h 10826 10827Patch 6.2.140 (after 6.2.121) 10828Problem: Mac: Compiling with Python and Perl doesn't work. 10829Solution: Adjust the configure check for Python to use "-framework Python" 10830 for Python 2.3 on Mac OS/X. 10831 Move "-ldl" after "DynaLoader.a" in the link command. 10832 Change "perllibs" to "PERL_LIBS". 10833Files: src/auto/configure, src/configure.in, src/config.mk.in 10834 10835Patch 6.2.141 (extra) 10836Problem: Mac: The b_FSSpec field is sometimes unused. 10837Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h 10838Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h 10839 10840Patch 6.2.142 (after 6.2.124) 10841Problem: Mac: building without GUI through configure doesn't work. 10842 When the system is slow, unpacking the resource file takes too 10843 long. 10844Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it 10845 in the Makefile. 10846 Add a configure option to skip Darwin detection. 10847 Use a Python script to unpack the resources to avoid a race 10848 condition. (Taro Muraoka) 10849Files: Makefile, src/Makefile, src/auto/configure, src/configure.in, 10850 src/dehqx.py, src/vim.h 10851 10852Patch 6.2.143 10853Problem: Using "K" on Visually selected text doesn't work if it ends in 10854 a multi-byte character. 10855Solution: Include all the bytes of the last character. (Taro Muraoka) 10856Files: src/normal.c 10857 10858Patch 6.2.144 10859Problem: When "g:html_use_css" is set the HTML header generated by the 10860 2html script is wrong. 10861Solution: Add the header after adding HREF for links. 10862 Also use ":normal!" instead of ":normal" to avoid mappings 10863 getting in the way. 10864Files: runtime/syntax/2html.vim 10865 10866Patch 6.2.145 (after 6.2.139) 10867Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz) 10868Solution: Only undefine "bool" on Mac OS. 10869Files: src/vim.h 10870 10871Patch 6.2.146 10872Problem: On some systems the prototype for iconv() is wrong, causing a 10873 warning message. 10874Solution: Use a cast (void *) to avoid the warning. (Charles Campbell) 10875Files: src/fileio.c, src/mbyte.c 10876 10877Patch 6.2.147 10878Problem: ":s/pat/\=col('.')" always replaces with "1". 10879Solution: Set the cursor to the start of the match before substituting. 10880 (Helmut Stiegler) 10881Files: src/ex_cmds.c 10882 10883Patch 6.2.148 10884Problem: Can't break an Insert into several undoable parts. 10885Solution: Add the CTRL-G u command. 10886Files: runtime/doc/insert.txt, src/edit.c 10887 10888Patch 6.2.149 10889Problem: When the cursor is on a line past 21,474,748 the indicated 10890 percentage of the position is invalid. With that many lines 10891 "100%" causes a negative cursor line number, resulting in a crash. 10892 (Daniel Goujot) 10893Solution: Divide by 100 instead of multiplying. Avoid overflow when 10894 computing the line number for "100%". 10895Files: src/buffer.c, src/ex_cmds2.c, src/normal.c 10896 10897Patch 6.2.150 10898Problem: When doing "vim - < file" lines are broken at NUL chars. 10899 (Daniel Goujot) 10900Solution: Change NL characters back to NUL when reading from the temp 10901 buffer. 10902Files: src/fileio.c 10903 10904Patch 6.2.151 10905Problem: When doing "vim --remote +startinsert file" some commands are 10906 inserted as text. (Klaus Bosau) 10907Solution: Put all the init commands in one Ex line, not using a <CR>, so 10908 that Insert mode isn't started too early. 10909Files: src/main.c 10910 10911Patch 6.2.152 10912Problem: The cursor() function doesn't reset the column offset for 10913 'virtualedit'. 10914Solution: Reset the offset to zero. (Helmut Stiegler) 10915Files: src/eval.c 10916 10917Patch 6.2.153 10918Problem: Win32: ":lang german" doesn't use German messages. 10919Solution: Add a table to translate the Win32 language names to two-letter 10920 language codes. 10921Files: src/ex_cmds2.c 10922 10923Patch 6.2.154 10924Problem: Python bails out when giving a warning message. (Eugene 10925 Minkovskii) 10926Solution: Set sys.argv[] to an empty string. 10927Files: src/if_python.c 10928 10929Patch 6.2.155 10930Problem: Win32: Using ":tjump www" in a help file gives two results. 10931 (Dave Roberts) 10932Solution: Ignore differences between slashes and backslashes when checking 10933 for identical tag matches. 10934Files: src/tag.c 10935 10936Patch 6.2.156 (after 6.2.125) 10937Problem: Win32: Netbeans fails to build, EINTR is not defined. 10938Solution: Redefine EINTR to WSAEINTR. (Mike Williams) 10939Files: src/netbeans.c 10940 10941Patch 6.2.157 10942Problem: Using "%p" in 'errorformat' gives a column number that is too 10943 high. 10944Solution: Set the flag to use the number as a virtual column. (Lefteris 10945 Koutsoloukas) 10946Files: src/quickfix.c 10947 10948Patch 6.2.158 10949Problem: The sed command on Solaris and HPUX doesn't work for a line that 10950 doesn't end in a newline. 10951Solution: Add a newline when feeding text to sed. (Mark Waggoner) 10952Files: src/configure.in, src/auto/configure 10953 10954Patch 6.2.159 10955Problem: When using expression folding and 'foldopen' is "undo" an undo 10956 command doesn't always open the fold. 10957Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'. 10958 (Taro Muraoka) 10959Files: src/fold.c 10960 10961Patch 6.2.160 10962Problem: When 'virtualedit' is "all" and 'selection is "exclusive", 10963 selecting a double-width character below a single-width character 10964 may cause a crash. 10965Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka) 10966Files: src/normal.c 10967 10968Patch 6.2.161 (extra) 10969Problem: VMS: Missing header file. Reading input busy loops. 10970Solution: Include termdef.h. Avoid the use of a wait function in 10971 vms_read(). (Frank Ries) 10972Files: src/os_unix.h, src/os_vms.c 10973 10974Patch 6.2.162 10975Problem: ":redraw" doesn't always display the text that includes the cursor 10976 position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii) 10977Solution: Call update_topline() before redrawing. 10978Files: src/ex_docmd.c 10979 10980Patch 6.2.163 10981Problem: "make install" may also copy AAPDIR directories. 10982Solution: Delete AAPDIR directories, just like CVS directories. 10983Files: src/Makefile 10984 10985Patch 6.2.164 (after 6.2.144) 10986Problem: When "g:html_use_css" is set the HTML header generated by the 10987 2html script is still wrong. 10988Solution: Search for a string instead of jumping to a fixed line number. 10989 Go to the start of the line before inserting the header. 10990 (Jess Thrysoee) 10991Files: runtime/syntax/2html.vim 10992 10993Patch 6.2.165 10994Problem: The configure checks hang when using autoconf 2.57. 10995Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis) 10996Files: src/auto/configure, src/configure.in 10997 10998Patch 6.2.166 10999Problem: When $GZIP contains "-N" editing compressed files doesn't work 11000 properly. 11001Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind 11002 Holm) 11003Files: runtime/plugin/gzip.vim 11004 11005Patch 6.2.167 11006Problem: The Python interface leaks memory when assigning lines to a 11007 buffer. (Sergey Khorev) 11008Solution: Do not copy the line when calling ml_replace(). 11009Files: src/if_python.c 11010 11011Patch 6.2.168 11012Problem: Python interface: There is no way to get the indices from a range 11013 object. 11014Solution: Add the "start" and "end" attributes. (Maurice S. Barnum) 11015Files: src/if_python.c, runtime/doc/if_pyth.txt 11016 11017Patch 6.2.169 11018Problem: The prototype for _Xmblen() appears in a recent XFree86 header 11019 file, causing a warning for our prototype. (Hisashi T Fujinaka) 11020Solution: Move the prototype to an osdef file, so that it's filtered out. 11021Files: src/mbyte.c, src/osdef2.h.in 11022 11023Patch 6.2.170 11024Problem: When using Sun WorkShop the current directory isn't changed to 11025 where the file is. 11026Solution: Set the 'autochdir' option when using WorkShop. And avoid using 11027 the basename when 'autochdir' is not set. 11028Files: src/gui_x11.c, src/ex_cmds.c 11029 11030Patch 6.2.171 (after 6.2.163) 11031Problem: The "-or" argument of "find" doesn't work for SysV systems. 11032Solution: Use "-o" instead. (Gordon Prieur) 11033Files: src/Makefile 11034 11035Patch 6.2.172 (after 6.2.169) 11036Problem: The prototype for _Xmblen() still causes trouble. 11037Solution: Include the X11 header file that defines the prototype. 11038Files: src/osdef2.h.in, src/osdef.sh 11039 11040Patch 6.2.173 (extra) 11041Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other 11042 compilers than MSVC. 11043Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp) 11044Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak 11045 11046Patch 6.2.174 11047Problem: After the ":intro" message only a mouse click in the last line 11048 gets past the hit-return prompt. 11049Solution: Accept a click at or below the hit-return prompt. 11050Files: src/gui.c, src/message.c 11051 11052Patch 6.2.175 11053Problem: Changing 'backupext' in a *WritePre autocommand doesn't work. 11054 (William Natter) 11055Solution: Move the use of p_bex to after executing the *WritePre 11056 autocommands. Also avoids reading allocated memory after freeing. 11057Files: src/fileio.c 11058 11059Patch 6.2.176 11060Problem: Accented characters in translated help files are not handled 11061 correctly. (Fabien Vayssiere) 11062Solution: Include "192-255" in 'iskeyword' for the help window. 11063Files: src/ex_cmds.c 11064 11065Patch 6.2.177 (extra) 11066Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob 11067 Retter) Arbitrary commands are being executed. (Neil Bird) 11068Solution: Put a backslash in front of every space in the file name. 11069 (Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL. 11070Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc 11071 11072Patch 6.2.178 11073Problem: People who don't know how to exit Vim try pressing CTRL-C. 11074Solution: Give a message how to exit Vim when CTRL-C is pressed and it 11075 doesn't cancel anything. 11076Files: src/normal.c 11077 11078Patch 6.2.179 (extra) 11079Problem: The en_gb messages file isn't found on case sensitive systems. 11080Solution: Rename en_gb to en_GB. (Mike Williams) 11081Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak, 11082 src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt 11083 11084Patch 6.2.180 11085Problem: Compiling with GTK2 on Win32 doesn't work. 11086Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula) 11087Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c 11088 11089Patch 6.2.181 (after 6.2.171) 11090Problem: The "-o" argument of "find" has lower priority than the implied 11091 "and" with "-print". 11092Solution: Add parenthesis around the "-o" expression. (Gordon Prieur) 11093Files: src/Makefile 11094 11095Patch 6.2.182 (after 6.2.094) 11096Problem: Compilation with tiny features fails because of missing 11097 get_past_head() function. 11098Solution: Adjust the #ifdef for get_past_head(). 11099Files: src/misc1.c 11100 11101Patch 6.2.183 (after 6.2.178) 11102Problem: Warning for char/unsigned char mixup. 11103Solution: Use MSG() instead of msg(). (Tony Leneis) 11104Files: src/normal.c 11105 11106Patch 6.2.184 11107Problem: With 'formatoptions' set to "1aw" inserting text may cause the 11108 paragraph to be ended. (Alan Schmitt) 11109Solution: Temporarily add an extra space to make the paragraph continue 11110 after moving the word after the cursor to the next line. 11111 Also format when pressing Esc. 11112Files: src/edit.c, src/normal.c, src/proto/edit.pro 11113 11114Patch 6.2.185 11115Problem: Restoring a session with zero-height windows does not work 11116 properly. (Charles Campbell) 11117Solution: Accept a zero argument to ":resize" as intended. Add a window 11118 number argument to ":resize" to be able to set the size of other 11119 windows, because the current window cannot be zero-height. 11120 Fix the explorer plugin to avoid changing the window sizes. Add 11121 the winrestcmd() function for this. 11122Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c, 11123 src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c 11124 11125Patch 6.2.186 (after 6.2.185) 11126Problem: Documentation file eval.txt contains examples without indent. 11127Solution: Insert the indent. Also fix other mistakes. 11128Files: runtime/doc/eval.txt 11129 11130Patch 6.2.187 11131Problem: Using Insure++ reveals a number of bugs. (Dominique Pelle) 11132Solution: Initialize variables where needed. Free allocated memory to avoid 11133 leaks. Fix comparing tags to avoid reading past allocated memory. 11134Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c, 11135 src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c 11136 11137Patch 6.2.188 (extra) 11138Problem: MS-Windows: Multi-byte characters in a filename cause trouble for 11139 the window title. 11140Solution: Return when the wide function for setting the title did its work. 11141Files: src/gui_w48.c 11142 11143Patch 6.2.189 11144Problem: When setting 'viminfo' after editing a new buffer its marks are 11145 not stored. (Keith Roberts) 11146Solution: Set the "b_marks_read" flag when skipping to read marks from the 11147 viminfo file. 11148Files: src/fileio.c 11149 11150Patch 6.2.190 11151Problem: When editing a compressed files, marks are lost. 11152Solution: Add the ":lockmarks" modifier and use it in the gzip plugin. 11153 Make exists() also check for command modifiers, so that the 11154 existence of ":lockmarks" can be checked for. 11155 Also add ":keepmarks" to avoid that marks are deleted when 11156 filtering text. 11157 When deleting lines put marks 'A - 'Z and '0 - '9 at the first 11158 deleted line instead of clearing the mark. They were kept in the 11159 viminfo file anyway. 11160 Avoid that the gzip plugin puts deleted text in registers. 11161Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c, 11162 src/ex_docmd.c, src/mark.c, src/structs.h 11163 11164Patch 6.2.191 11165Problem: The intro message is outdated. Information about sponsoring and 11166 registering is missing. 11167Solution: Show info about sponsoring and registering Vim in the intro 11168 message now and then. Add help file about sponsoring. 11169Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags, 11170 runtime/menu.vim, src/version.c 11171 11172Patch 6.2.192 11173Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonathan 11174 Hankins) 11175Solution: Avoid calling change_indent() recursively. 11176Files: src/edit.c 11177 11178Patch 6.2.193 11179Problem: When recalling a search pattern from the history from a ":s,a/c," 11180 command the '/' ends the search string. (JC van Winkel) 11181Solution: Store the separator character with the history entries. Escape 11182 characters when needed, replace the old separator with the new one. 11183 Also fixes that recalling a "/" search for a "?" command messes up 11184 trailing flags. 11185Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro, 11186 src/search.c, src/tag.c 11187 11188Patch 6.2.194 (after 6.2.068) 11189Problem: For NetBeans, instead of writing the file and sending an event 11190 about it, tell NetBeans to write the file. 11191Solution: Add the "save" command, "netbeansBuffer" command and 11192 "buttonRelease" event to the netbeans protocol. Updated the 11193 interface to version 2.2. (Gordon Prieur) 11194 Also: open a fold when the cursor has been positioned. 11195 Also: fix memory leak, free result of nb_quote(). 11196Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c, 11197 src/normal.c, src/proto/netbeans.pro, src/structs.h 11198 11199Patch 6.2.195 (after 6.2.190) 11200Problem: Compiling fails for missing CPO_REMMARK symbol. 11201Solution: Add the patch I forgot to include... 11202Files: src/option.h 11203 11204Patch 6.2.196 (after 6.2.191) 11205Problem: Rebuilding the documentation doesn't use the sponsor.txt file. 11206Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson) 11207Files: runtime/doc/Makefile 11208 11209Patch 6.2.197 11210Problem: It is not possible to force a redraw of status lines. (Gary 11211 Johnson) 11212Solution: Add the ":redrawstatus" command. 11213Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, 11214 src/screen.c 11215 11216Patch 6.2.198 11217Problem: A few messages are not translated. (Ernest Adrogue) 11218Solution: Mark the messages to be translated. 11219Files: src/ex_cmds.c 11220 11221Patch 6.2.199 (after 6.2.194) 11222Problem: Vim doesn't work perfectly well with NetBeans. 11223Solution: When NetBeans saves the file, reset the timestamp to avoid "file 11224 changed" warnings. Close a buffer in a proper way. Don't try 11225 giving a debug message with an invalid pointer. Send a 11226 newDotAndMark message when needed. Report a change by the "r" 11227 command to NetBeans. (Gordon Prieur) 11228Files: src/netbeans.c, src/normal.c 11229 11230Patch 6.2.200 11231Problem: When recovering a file, 'fileformat' is always the default, thus 11232 writing the file may result in differences. (Penelope Fudd) 11233Solution: Before recovering the file try reading the original file to obtain 11234 the values of 'fileformat', 'fileencoding', etc. 11235Files: src/memline.c 11236 11237Patch 6.2.201 11238Problem: When 'autowriteall' is set ":qall" still refuses to exit if there 11239 is a modified buffer. (Antoine Mechelynck) 11240Solution: Attempt writing modified buffers as intended. 11241Files: src/ex_cmds2.c 11242 11243Patch 6.2.202 11244Problem: Filetype names of CHILL and ch script are confusing. 11245Solution: Rename "ch" to "chill" and "chscript" to "ch". 11246Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim 11247 runtime/syntax/ch.vim, runtime/syntax/chill.vim 11248 11249Patch 6.2.203 11250Problem: With characterwise text that has more than one line, "3P" works 11251 wrong. "3p" has the same problem. There also is a display 11252 problem. (Daniel Goujot) 11253Solution: Perform characterwise puts with a count in the right position. 11254Files: src/ops.c 11255 11256Patch 6.2.204 (after 6.2.086) 11257Problem: "]]" in a file with closed folds moves to the end of the file. 11258 (Nam SungHyun) 11259Solution: Find one position in each closed fold, then move to after the fold. 11260Files: src/search.c 11261 11262Patch 6.2.205 (extra) 11263Problem: MS-Windows: When the taskbar is at the left or top of the screen, 11264 the Vim window placement is wrong. 11265Solution: Compute the size and position of the window correctly. (Taro 11266 Muraoka) 11267Files: src/gui_w32.c, src/gui_w48.c 11268 11269Patch 6.2.206 11270Problem: Multi-byte characters cannot be used as hotkeys in a console 11271 dialog. (Mattias Erkisson) 11272Solution: Handle multi-byte characters properly. Also put () or [] around 11273 default hotkeys. 11274Files: src/message.c, src/macros.h 11275 11276Patch 6.2.207 11277Problem: When 'encoding' is a multi-byte encoding, expanding an 11278 abbreviation that starts where insertion started results in 11279 characters before the insertion to be deleted. (Xiangjiang Ma) 11280Solution: Stop searching leftwards for the start of the word at the position 11281 where insertion started. 11282Files: src/getchar.c 11283 11284Patch 6.2.208 11285Problem: When using fold markers, three lines in a row have the start 11286 marker and deleting the first one with "dd", a nested fold is not 11287 deleted. (Kamil Burzynski) 11288 Using marker folding, a level 1 fold doesn't stop when it is 11289 followed by "{{{2", starting a level 2 fold. 11290Solution: Don't stop updating folds at the end of a change when the nesting 11291 level of folds is larger than the fold level. 11292 Correctly compute the number of folds that start at "{{{2". 11293 Also avoid a crash for a NULL pointer. 11294Files: src/fold.c 11295 11296Patch 6.2.209 11297Problem: A bogus fold is created when using "P" while the cursor is in the 11298 middle of a closed fold. (Kamil Burzynski) 11299Solution: Correct the line number where marks are modified for closed folds. 11300Files: src/ops.c 11301 11302Patch 6.2.210 (extra) 11303Problem: Mac OSX: antialiased fonts are not supported. 11304Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX 11305 10.2 and later. (Peter Cucka) 11306Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c 11307 11308Patch 6.2.211 (extra) 11309Problem: Code for handling file dropped on Vim is duplicated. 11310Solution: Move the common code to gui_handle_drop(). 11311 Add code to drop the files in the window under the cursor. 11312 Support drag&drop on the Macintosh. (Taro Muraoka) 11313 When dropping a directory name edit that directory (using the 11314 explorer plugin) 11315 Fix that changing directory with Shift pressed didn't work for 11316 relative path names. 11317Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c, 11318 src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro 11319 11320Patch 6.2.212 (after 6.2.199) 11321Problem: NetBeans: Replacing with a count is not handled correctly. 11322Solution: Move reporting the change outside of the loop for the count. 11323 (Gordon Prieur) 11324Files: src/normal.c 11325 11326Patch 6.2.213 (after 6.2.208) 11327Problem: Using marker folding, "{{{1" doesn't start a new fold when already 11328 at fold level 1. (Servatius Brandt) 11329Solution: Correctly compute the number of folds that start at "{{{1". 11330Files: src/fold.c 11331 11332Patch 6.2.214 (after 6.2.211) (extra) 11333Problem: Warning for an unused variable. 11334Solution: Delete the declaration. (Bill McCarthy) 11335Files: src/gui_w48.c 11336 11337Patch 6.2.215 11338Problem: NetBeans: problems saving an unmodified file. 11339Solution: Add isNetbeansModified() function. Disable netbeans_unmodified(). 11340 (Gordon Prieur) 11341Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro, 11342 runtime/doc/netbeans.txt, runtime/doc/tags 11343 11344Patch 6.2.216 (after 6.2.206) 11345Problem: Multi-byte characters still cannot be used as hotkeys in a console 11346 dialog. (Mattias Erkisson) 11347Solution: Make get_keystroke() handle multi-byte characters. 11348Files: src/misc1.c 11349 11350Patch 6.2.217 11351Problem: GTK: setting the title doesn't always work correctly. 11352Solution: Invoke gui_mch_settitle(). (Tomas Stehlik) 11353Files: src/os_unix.c 11354 11355Patch 6.2.218 11356Problem: Warning for function without prototype. 11357Solution: Add argument types to the msgCB field of the BalloonEval struct. 11358Files: src/gui_beval.h 11359 11360Patch 6.2.219 11361Problem: Syntax highlighting hangs on an empty match of an item with a 11362 nextgroup. (Charles Campbell) 11363Solution: Remember that the item has already matched and don't match it 11364 again at the same position. 11365Files: src/syntax.c 11366 11367Patch 6.2.220 11368Problem: When a Vim server runs in a console a remote command isn't handled 11369 before a key is typed. (Joshua Neuheisel) 11370Solution: Don't try reading more input when a client-server command has been 11371 received. 11372Files: src/os_unix.c 11373 11374Patch 6.2.221 11375Problem: No file name completion for ":cscope add". 11376Solution: Add the XFILE flag to ":cscope". (Gary Johnson) 11377Files: src/ex_cmds.h 11378 11379Patch 6.2.222 11380Problem: Using "--remote" several times on a row only opens some of the 11381 files. (Dany St-Amant) 11382Solution: Don't delete all typeahead when the server receives a command from 11383 a client, only delete typed characters. 11384Files: src/main.c 11385 11386Patch 6.2.223 11387Problem: Cscope: Avoid a hang when cscope waits for a response while Vim 11388 waits for a prompt. 11389 Error messages from Cscope mess up the display. 11390Solution: Detect the hit-enter message and respond by sending a return 11391 character to cscope. (Gary Johnson) 11392 Use EMSG() and strerror() when possible. Replace perror() with 11393 PERROR() everywhere, add emsg3(). 11394Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c, 11395 src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h 11396 11397Patch 6.2.224 11398Problem: Mac: Can't compile with small features. (Axel Kielhorn) 11399Solution: Also include vim_chdirfile() when compiling for the Mac. 11400Files: src/misc2.c 11401 11402Patch 6.2.225 11403Problem: NetBeans: Reported modified state isn't exactly right. 11404Solution: Report a file being modified in the NetBeans way. 11405Files: src/netbeans.c 11406 11407Patch 6.2.226 (after 6.2.107) (extra) 11408Problem: The "ws2-32.lib" file isn't always available. 11409Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp) 11410Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak 11411 11412Patch 6.2.227 (extra) 11413Problem: The "PC" symbol is defined but not used anywhere. 11414Solution: Remove "-DPC" from the makefiles. 11415Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, 11416 src/Make_ming.mak 11417 11418Patch 6.2.228 11419Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim 11420 back to Normal mode. Same for CTRL-\ CTRL-G. 11421Solution: Check if the character typed after a command is CTRL-\ and obtain 11422 another character to check for CTRL-N or CTRL-G, waiting up to 11423 'ttimeoutlen' msec. 11424Files: src/normal.c 11425 11426Patch 6.2.229 11427Problem: ":function" with a name that uses magic curlies does not work 11428 inside a function. (Servatius Brandt) 11429Solution: Skip over the function name properly. 11430Files: src/eval.c 11431 11432Patch 6.2.230 (extra) 11433Problem: Win32: a complex pattern may cause a crash. 11434Solution: Use __try and __except to catch the exception and handle it 11435 gracefully, when possible. Add myresetstkoflw() to reset the 11436 stack overflow. (Benjamin Peterson) 11437Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h, 11438 src/proto/os_win32.pro, src/regexp.c 11439 11440Patch 6.2.231 (after 6.2.046) 11441Problem: Various problems when an error exception is raised from within a 11442 builtin function. When it is invoked while evaluating arguments 11443 to a function following arguments are still evaluated. When 11444 invoked with a line range it will be called for remaining lines. 11445Solution: Update "force_abort" also after calling a builtin function, so 11446 that aborting() always returns the correct value. (Servatius 11447 Brandt) 11448Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro, 11449 src/testdir/test49.ok, src/testdir/test49.vim 11450 11451Patch 6.2.232 11452Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene 11453 Minkovskii) 11454Solution: Disallow executing a Python command recursively and give an error 11455 message. 11456Files: src/if_python.c 11457 11458Patch 6.2.233 11459Problem: On Mac OSX adding -pthread for Python only generates a warning. 11460 The test for Perl threads rejects Perl while it's OK. 11461 Tcl doesn't work at all. 11462 The test for Ruby fails if ruby exists but there are no header 11463 files. The Ruby library isn't detected properly 11464Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's 11465 not the 5.5 threads. 11466 Use the Tcl framework for header files. For Ruby rename cWindow 11467 to cVimWindow to avoid a name clash. (Ken Scott) 11468 Only enable Ruby when the header files can be found. Use "-lruby" 11469 instead of "libruby.a" when it can't be found. 11470Files: src/auto/configure, src/configure.in, src/if_ruby.c 11471 11472Patch 6.2.234 11473Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command 11474 line. 11475Solution: Flush output before removing scrollbars. Also do this in other 11476 places where gui_mch_*() functions are invoked. 11477Files: src/ex_cmds.c, src/option.c, src/window.c 11478 11479Patch 6.2.235 (extra) 11480Problem: Win32: Cursor isn't removed with a 25x80 window and doing: 11481 "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto) 11482Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines(). 11483Files: src/gui_w48.c 11484 11485Patch 6.2.236 11486Problem: Using gvim with Agide gives "connection lost" error messages. 11487Solution: Only give the "connection lost" message when the buffer was once 11488 owned by NetBeans. 11489Files: src/netbeans.c, src/structs.h 11490 11491Patch 6.2.237 11492Problem: GTK 2: Thai text is drawn wrong. It changes when moving the 11493 cursor over it. 11494Solution: Disable the shaping engine, it moves combining characters to a 11495 wrong position and combines characters, while drawing the cursor 11496 doesn't combine characters. 11497Files: src/gui_gtk_x11.c 11498 11499Patch 6.2.238 (after 6.2.231) 11500Problem: ":function" does not work inside a while loop. (Servatius Brandt) 11501Solution: Add get_while_line() and pass it to do_one_cmd() when in a while 11502 loop, so that all lines are stored and can be used again when 11503 repeating the loop. 11504 Adjust test 49 so that it checks for the fixed problems. 11505 (Servatius Brandt) 11506Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, 11507 src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, 11508 src/testdir/test49.in, src/testdir/test49.ok, 11509 src/testdir/test49.vim 11510 11511Patch 6.2.239 11512Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar 11513 often doesn't scroll. (Moshe Kaminsky) 11514Solution: Hackish solution: Detect that the button was pressed from the 11515 mouse pointer position. 11516Files: src/gui_gtk.c, src/gui.c 11517 11518Patch 6.2.240 11519Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with 11520 other systems. Need to explicitly use "icon=name". (Ned Konz, 11521 Christian J. Robinson) 11522Solution: Search for icons like done for Motif. 11523Files: src/gui_gtk.c 11524 11525Patch 6.2.241 11526Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no 11527 sense. Buttons are sometimes greyed-out. (Jeremy Messenger) 11528Solution: Remove the code to sync the two dialogs. Adjust the code to react 11529 to an empty search string to also work for GTK2. (David Necas) 11530Files: src/gui_gtk.c 11531 11532Patch 6.2.242 11533Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim 11534 arguments. 11535Solution: Don't let the Gnome code remove the "--help" argument and don't 11536 exit at the end of usage(). 11537Files: src/gui_gtk_x11.c, src/main.c 11538 11539Patch 6.2.243 (extra) 11540Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt. 11541Solution: Move the dropped files to the global argument list, instead of the 11542 usual drop handling. (Eckehard Berns) 11543Files: src/main.c, src/gui_mac.c 11544 11545Patch 6.2.244 11546Problem: ':echo "\xf7"' displays the illegal byte as if it was a character 11547 and leaves "cho" after it. 11548Solution: When checking the length of a UTF-8 byte sequence and it's shorter 11549 than the number of bytes available, assume it's an illegal byte. 11550Files: src/mbyte.c 11551 11552Patch 6.2.245 11553Problem: Completion doesn't work for ":keepmarks" and ":lockmarks". 11554Solution: Add the command modifiers to the table of commands. (Madoka 11555 Machitani) 11556Files: src/ex_cmds.h, src/ex_docmd.c 11557 11558Patch 6.2.246 11559Problem: Mac: Starting Vim from Finder doesn't show error messages. 11560Solution: Recognize that output is being displayed by stderr being 11561 "/dev/console". (Eckehard Berns) 11562Files: src/main.c, src/message.c 11563 11564Patch 6.2.247 (after 6.2.193) 11565Problem: When using a search pattern from the viminfo file the last 11566 character is replaced with a '/'. 11567Solution: Store the separator character in the right place. (Kelvin Lee) 11568Files: src/ex_getln.c 11569 11570Patch 6.2.248 11571Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be 11572 distinguished. 11573Solution: Detect that XIM changes the keypad key to the expected ASCII 11574 character and fall back to the non-XIM code. (Neil Bird) 11575Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro 11576 11577Patch 6.2.249 11578Problem: ":cnext" moves to the error in the next file, but there is no 11579 method to go back. 11580Solution: Add ":cpfile" and ":cNfile". 11581Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt 11582 11583Patch 6.2.250 11584Problem: Memory leaks when using signs. (Xavier de Gaye) 11585Solution: Delete the list of signs when unloading a buffer. 11586Files: src/buffer.c 11587 11588Patch 6.2.251 11589Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall) 11590 Order of buttons is reversed for GTK 2.2.4. Don't always get 11591 focus back after handling a dialog. 11592Solution: Make buttons appear vertically when desired. Reverse the order in 11593 which buttons are added to a dialog. Move mouse pointer around 11594 when the dialog is done and we don't have focus. 11595Files: src/gui_gtk.c 11596 11597Patch 6.2.252 (extra, after 6.2.243) 11598Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for 11599 Mac OS classic. 11600Solution: Remove the #ifdef from the code that fixes it for Mac OSX. 11601Files: src/gui_mac.c 11602 11603Patch 6.2.253 11604Problem: When 'tagstack' is not set a ":tag id" command does not work after 11605 a ":tjump" command. 11606Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran) 11607Files: src/tag.c 11608 11609Patch 6.2.254 11610Problem: May run out of space for error messages. 11611Solution: Keep room for two more bytes. 11612Files: src/quickfix.c 11613 11614Patch 6.2.255 11615Problem: GTK: A new item in the popup menu is put just after instead of 11616 just before the right item. (Gabriel Zachmann) 11617Solution: Don't increment the menu item index. 11618Files: src/gui_gtk.c 11619 11620Patch 6.2.256 11621Problem: Mac: "macroman" encoding isn't recognized, need to use 11622 "8bit-macroman. 11623Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns) 11624Files: src/mbyte.c 11625 11626Patch 6.2.257 (after 6.2.250) 11627Problem: Signs are deleted for ":bdel", but they could still be useful. 11628Solution: Delete signs only for ":bwipe". 11629Files: src/buffer.c 11630 11631Patch 6.2.258 11632Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar) 11633Solution: Loop over the popup menus for all modes. 11634Files: src/menu.c 11635 11636Patch 6.2.259 11637Problem: If there are messages when exiting, on the console there is a 11638 hit-enter prompt while the message can be read; in the GUI the 11639 message may not be visible. 11640Solution: Use the hit-enter prompt when there is an error message from 11641 writing the viminfo file or autocommands, or when there is any 11642 output in the GUI and 'verbose' is set. Don't use a hit-enter 11643 prompt for the non-GUI version unless there is an error message. 11644Files: src/main.c 11645 11646Patch 6.2.260 11647Problem: GTK 2: Can't quit a dialog with <Esc>. 11648 GTK 1 and 2: <Enter> always gives a result, even when the default 11649 button has been disabled. 11650Solution: Handle these keys explicitly. When no default button is specified 11651 use the first one (works mostly like it was before). 11652Files: src/gui_gtk.c 11653 11654Patch 6.2.261 11655Problem: When 'autoindent' and 'cindent' are set and a line is recognized 11656 as a comment, starting a new line won't do 'cindent' formatting. 11657Solution: Also use 'cindent' formatting for lines that are used as a 11658 comment. (Servatius Brandt) 11659Files: src/misc1.c 11660 11661Patch 6.2.262 11662Problem: 1 CTRL-W w beeps, even though going to the first window is 11663 possible. (Charles Campbell) 11664Solution: Don't beep. 11665Files: src/window.c 11666 11667Patch 6.2.263 11668Problem: Lint warnings: Duplicate function prototypes, duplicate macros, 11669 use of a zero character instead of a zero pointer, unused 11670 variable. Clearing allocated memory in a complicated way. 11671Solution: Remove the function prototypes from farsi.h. Remove the 11672 duplicated lines in keymap.h. Change getvcol() argument from NUL 11673 to NULL. Remove the "col" variable in regmatch(). Use 11674 lalloc_clear() instead of lalloc(). (Walter Briscoe) 11675Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c 11676 11677Patch 6.2.264 (after 6.2.247) 11678Problem: Writing past allocated memory when using a command line from the 11679 viminfo file. 11680Solution: Store the NUL in the right place. 11681Files: src/ex_getln.c 11682 11683Patch 6.2.265 11684Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val" 11685 works. 11686Solution: Do allow changing options in the sandbox, but not the ones that 11687 can't be changed from a modeline. 11688Files: src/ex_cmds.h, src/options.c 11689 11690Patch 6.2.266 11691Problem: When redirecting output and using ":silent", line breaks are 11692 missing from output of ":map" and ":tselect". Alignment of 11693 columns is wrong. 11694Solution: Insert a line break where "msg_didout" was tested. Update msg_col 11695 when redirecting and using ":silent". 11696Files: src/getchar.c, src/message.c 11697 11698Patch 6.2.267 (extra) 11699Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte) 11700Solution: Use the "name" item from the menu instead of the "dname" item. 11701Files: src/gui_w32.c, src/menu.c 11702 11703Patch 6.2.268 11704Problem: GUI: When changing 'guioptions' part of the window may be off 11705 screen. (Randall Morris) 11706Solution: Adjust the size of the window when changing 'guioptions', but only 11707 when adding something. 11708Files: src/gui.c 11709 11710Patch 6.2.269 11711Problem: Diff mode does not highlight a change in a combining character. 11712 (Raphael Finkel) 11713Solution: Make diff_find_change() multi-byte aware: find the start byte of 11714 a character that contains a change. 11715Files: src/diff.c 11716 11717Patch 6.2.270 11718Problem: Completion in Insert mode, then repeating with ".", doesn't handle 11719 composing characters in the completed text. (Raphael Finkel) 11720Solution: Don't skip over composing chars when adding completed text to the 11721 redo buffer. 11722Files: src/getchar.c 11723 11724Patch 6.2.271 11725Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with 11726 an argument or environment variable is not secure. 11727Solution: Wait after initializing the log. Allow passing the socket info 11728 through a file. (Gordon Prieur) 11729Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c 11730 11731Patch 6.2.272 11732Problem: When the "po" directory exists, but "po/Makefile" doesn't, 11733 building fails. Make loops when the "po" directory has been 11734 deleted after running configure. 11735Solution: Check for the "po/Makefile" instead of just the "po" directory. 11736 Check this again before trying to run make with that Makefile. 11737Files: src/auto/configure, src/configure.in, src/Makefile 11738 11739Patch 6.2.273 11740Problem: Changing the sort order in an explorer window for an empty 11741 directory produces error messages. (Doug Kearns) 11742Solution: When an invalid range is used for a function that is not going to 11743 be executed, skip over the arguments anyway. 11744Files: src/eval.c 11745 11746Patch 6.2.274 11747Problem: ":print" skips empty lines when 'list' is set and there is no 11748 "eol" in 'listchars'. (Yakov Lerner) 11749Solution: Skip outputting a space for an empty line only when 'list' is set 11750 and the end-of-line character is not empty. 11751Files: src/message.c 11752 11753Patch 6.2.275 (extra, after 6.2.267) 11754Problem: Warning for uninitialized variable when using gcc. 11755Solution: Initialize "acLen" to zero. (Bill McCarthy) 11756Files: src/gui_w32.c 11757 11758Patch 6.2.276 11759Problem: ":echo X()" does not put a line break between the message that X() 11760 displays and the text that X() returns. (Yakov Lerner) 11761Solution: Invoke msg_start() after evaluating the argument. 11762Files: src/eval.c 11763 11764Patch 6.2.277 11765Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive 11766 loop. (Robert Nowotniak) 11767Solution: Restore "msg_list" before returning from do_cmdline(). 11768Files: src/ex_docmd.c 11769 11770Patch 6.2.278 11771Problem: Using "much" instead of "many". 11772Solution: Correct the error message. 11773Files: src/eval.c 11774 11775Patch 6.2.279 11776Problem: There is no default choice for a confirm() dialog, now that it is 11777 possible not to have a default choice. 11778Solution: Make the first choice the default choice. 11779Files: runtime/doc/eval.txt, src/eval.c 11780 11781Patch 6.2.280 11782Problem: "do" and ":diffget" don't work in the first line and the last line 11783 of a buffer. (Aron Griffis) 11784Solution: Find a difference above the first line and below the last line. 11785 Also fix a few display updating bugs. 11786Files: src/diff.c, src/fold.c, src/move.c 11787 11788Patch 6.2.281 11789Problem: PostScript printing doesn't work on Mac OS X 10.3.2. 11790Solution: Adjust the header file. (Mike Williams) 11791Files: runtime/print/prolog.ps 11792 11793Patch 6.2.282 11794Problem: When using CTRL-O to go back to a help file, it becomes listed. 11795 (Andrew Nesbit) 11796 Using ":tag" or ":tjump" in a help file doesn't keep the help file 11797 settings (e.g. for 'iskeyword'). 11798Solution: Don't mark a buffer as listed when its help flag is set. Put all 11799 the option settings for a help buffer together in do_ecmd(). 11800Files: src/ex_cmds.c 11801 11802Patch 6.2.283 11803Problem: The "local additions" in help.txt are used without conversion, 11804 causing latin1 characters showing up wrong when 'enc' is utf-8. 11805 (Antoine J. Mechelynck) 11806Solution: Convert the text to 'encoding'. 11807Files: src/ex_cmds.c 11808 11809Patch 6.2.284 11810Problem: Listing a function puts "endfunction" in the message history. 11811 Typing "q" at the more prompt isn't handled correctly when listing 11812 variables and functions. (Hara Krishna Dara) 11813Solution: Don't use msg() for "endfunction". Check "got_int" regularly. 11814Files: src/eval.c 11815 11816Patch 6.2.285 11817Problem: GUI: In a single wrapped line that fills the window, "gj" in the 11818 last screen line leaves the cursor behind. (Ivan Tarasov) 11819Solution: Undraw the cursor before scrolling the text up. 11820Files: src/gui.c 11821 11822Patch 6.2.286 11823Problem: When trying to rename a file and it doesn't exist, the destination 11824 file is deleted anyway. (Luc Deux) 11825Solution: Don't delete the destination when the source doesn't exist. (Taro 11826 Muraoka) 11827Files: src/fileio.c 11828 11829Patch 6.2.287 (after 6.2.264) 11830Problem: Duplicate lines are added to the viminfo file. 11831Solution: Compare with existing entries without an offset. Also fixes 11832 reading very long history lines from viminfo. 11833Files: src/ex_getln.c 11834 11835Patch 6.2.288 (extra) 11836Problem: Mac: An external program can't be interrupted. 11837Solution: Don't use the 'c' key for backspace. (Eckehard Berns) 11838Files: src/gui_mac.c 11839 11840Patch 6.2.289 11841Problem: Compiling the Tcl interface with thread support causes ":make" to 11842 fail. (Juergen Salk) 11843Solution: Use $TCL_DEFS from the Tcl config script to obtain the required 11844 compile flags for using the thread library. 11845Files: src/auto/configure, src/configure.in 11846 11847Patch 6.2.290 (extra) 11848Problem: Mac: The mousewheel doesn't work. 11849Solution: Add mousewheel support. Also fix updating the thumb after a drag 11850 and then using another way to scroll. (Eckehard Berns) 11851Files: src/gui_mac.c 11852 11853Patch 6.2.291 (extra) 11854Problem: Mac: the plus button and close button don't do anything. 11855Solution: Make the plus button maximize the window and the close button 11856 close Vim. (Eckehard Berns) 11857Files: src/gui.c, src/gui_mac.c 11858 11859Patch 6.2.292 11860Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows 11861 the last argument repeated. 11862Solution: Set argv[argc] to NULL. (Michael Jarvis) 11863Files: src/gui_x11.c 11864 11865Patch 6.2.293 (after 6.2.255) 11866Problem: GTK: A new item in a menu is put before the tearoff item. 11867Solution: Do increment the menu item index for non-popup menu items. 11868Files: src/gui_gtk.c 11869 11870Patch 6.2.294 (extra) 11871Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape. 11872Solution: Handle all modifiers for these keys. (Eckehard Berns) 11873Files: src/gui_mac.c 11874 11875Patch 6.2.295 11876Problem: When in debug mode, receiving a message from a remote client 11877 causes a crash. Evaluating an expression causes Vim to wait for 11878 "cont" to be typed, without a prompt. (Hari Krishna Dara) 11879Solution: Disable debugging when evaluating an expression for a client. 11880 (Michael Geddes) Don't try reading into the typeahead buffer when 11881 it may have been filled in another way. 11882Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c, 11883 src/misc1.c, src/proto/getchar.pro, src/proto/main.pro, 11884 src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h, 11885 src/os_unix.c, src/ui.c 11886 11887Patch 6.2.296 (extra) 11888Problem: Same as 6.2.295. 11889Solution: Extra files for patch 6.2.295. 11890Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c, 11891 src/proto/os_amiga.pro, src/proto/os_msdos.pro, 11892 src/proto/os_riscos.pro, src/proto/os_win32.pro 11893 11894Patch 6.2.297 (after 6.2.232) 11895Problem: Cannot invoke Python commands recursively. 11896Solution: With Python 2.3 and later use the available mechanisms to invoke 11897 Python recursively. (Matthew Mueller) 11898Files: src/if_python.c 11899 11900Patch 6.2.298 11901Problem: A change always sets the '. mark and an insert always sets the '^ 11902 mark, even when this is not wanted. 11903 Cannot go back to the position of older changes without undoing 11904 those changes. 11905Solution: Add the ":keepjumps" command modifier. 11906 Add the "g," and "g;" commands. 11907Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c, 11908 src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro, 11909 src/structs.h, src/undo.c 11910 11911Patch 6.2.299 11912Problem: Can only use one language for help files. 11913Solution: Add the 'helplang' option to select the preferred language(s). 11914 Make ":helptags" generate tags files for all languages. 11915Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, 11916 src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c, 11917 src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro, 11918 src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h, 11919 src/tag.c, src/vim.h 11920 11921Patch 6.2.300 (after 6.2.297) 11922Problem: Cannot build Python interface with Python 2.2 or earlier. 11923Solution: Add a semicolon. 11924Files: src/if_python.c 11925 11926Patch 6.2.301 11927Problem: The "select all" item from the popup menu doesn't work for Select 11928 mode. 11929Solution: Use the same commands as for the "Edit.select all" menu. 11930 (Benji Fisher) 11931Files: runtime/menu.vim 11932 11933Patch 6.2.302 11934Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji 11935 Fisher) 11936Solution: Restore "restart_edit" after an insert command that was not typed. 11937 Avoid waiting with displaying the mode when there is no text to be 11938 overwritten. 11939 Fix that "CTRL-O ." sometimes doesn't put the cursor back after 11940 the end-of-line. Only reset the flag that CTRL-O was used past 11941 the end of the line when restarting editing. Update "o_lnum" 11942 number when inserting text and "o_eol" is set. 11943Files: src/edit.c, src/normal.c 11944 11945Patch 6.2.303 11946Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode. 11947Solution: Convert the character from Unicode to 'encoding' when needed. 11948 Use the Unicode digraphs for the Macintosh. (Eckehard Berns) 11949Files: src/digraph.c 11950 11951Patch 6.2.304 (extra, after 6.2.256) 11952Problem: Mac: No proper support for 'encoding'. Conversion without iconv() 11953 is not possible. 11954Solution: Convert input from 'termencoding' to 'encoding'. Add 11955 mac_string_convert(). Convert text for the clipboard when needed. 11956 (Eckehard Berns) 11957Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h 11958 11959Patch 6.2.305 (after 6.2.300) 11960Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit 11961 Thakkar) 11962Solution: Add two functions to the dynamic loading feature. 11963Files: src/if_python.c 11964 11965Patch 6.2.306 (extra) 11966Problem: Win32: Building console version with BCC 5.5 gives a warning for 11967 get_cmd_args() prototype missing. (Ajit Thakkar) 11968Solution: Don't build os_w32exe.c for the console version. 11969Files: src/Make_bc5.mak 11970 11971Patch 6.2.307 (after 6.2.299) 11972Problem: Installing help files fails. 11973Solution: Expand wildcards for translated help files separately. 11974Files: src/Makefile 11975 11976Patch 6.2.308 11977Problem: Not all systems have "whoami", resulting in an empty user name. 11978Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce) 11979Files: src/Makefile 11980 11981Patch 6.2.309 11982Problem: "3grx" waits for two ESC to be typed. (Jens Paulus) 11983Solution: Append the ESC to the stuff buffer when redoing the "gr" insert. 11984Files: src/edit.c 11985 11986Patch 6.2.310 11987Problem: When setting 'undolevels' to -1, making a change and setting 11988 'undolevels' to a positive value an "undo list corrupt" error 11989 occurs. (Madoka Machitani) 11990Solution: Sync undo before changing 'undolevels'. 11991Files: src/option.c 11992 11993Patch 6.2.311 (after 6.2.298) 11994Problem: When making several changes in one line the changelist grows 11995 quickly. There is no error message for reaching the end of the 11996 changelist. Reading changelist marks from viminfo doesn't work 11997 properly. 11998Solution: Only make a new entry in the changelist when making a change in 11999 another line or 'textwidth' columns away. Add E662, E663 and E664 12000 error messages. Put a changelist mark from viminfo one position 12001 before the end. 12002Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c 12003 12004Patch 6.2.312 (after 6.2.299) 12005Problem: "make install" clears the screen when installing the docs. 12006Solution: Execute ":helptags" in silent mode. 12007Files: runtime/doc/Makefile 12008 12009Patch 6.2.313 12010Problem: When opening folds in a diff window, other diff windows no longer 12011 show the same text. 12012Solution: Sync the folds in diff windows. 12013Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro, 12014 src/proto/move.pro 12015 12016Patch 6.2.314 12017Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise 12018 selection and using "$". (Moritz Orbach) 12019Solution: Don't try replacing chars in a line that has no characters in the 12020 block. 12021Files: src/ops.c 12022 12023Patch 6.2.315 12024Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set 12025 stops Vim from returning to Insert mode. 12026Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode' 12027 is set. 12028Files: src/normal.c 12029 12030Patch 6.2.316 (after 6.2.312) 12031Problem: "make install" tries connecting to the X server when installing 12032 the docs. (Stephen Thomas) 12033Solution: Add the "-X" argument. 12034Files: runtime/doc/Makefile 12035 12036Patch 6.2.317 (after 6.2.313) 12037Problem: When using "zi" in a diff window, other diff windows are not 12038 adjusted. (Richard Curnow) 12039Solution: Distribute a change in 'foldenable' to other diff windows. 12040Files: src/normal.c 12041 12042Patch 6.2.318 12043Problem: When compiling with _THREAD_SAFE external commands don't echo 12044 typed characters. 12045Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at 12046 TMODE_COOK. 12047Files: src/os_unix.c 12048 12049Patch 6.2.319 (extra) 12050Problem: Building gvimext.dll with Mingw doesn't work properly. 12051Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro 12052 Lopez-Valencia) 12053Files: src/GvimExt/Make_ming.mak 12054 12055Patch 6.2.320 12056Problem: Win32: Adding and removing the menubar resizes the Vim window. 12057 (Jonathon Merz) 12058Solution: Don't let a resize event change 'lines' unexpectedly. 12059Files: src/gui.c 12060 12061Patch 6.2.321 12062Problem: When using modeless selection, wrapping lines are not recognized, 12063 a line break is always inserted. 12064Solution: Add LineWraps[] to remember whether a line wrapped or not. 12065Files: src/globals.h, src/screen.c, src/ui.c 12066 12067Patch 6.2.322 12068Problem: With 'showcmd' set, after typing "dd" the next "d" may not be 12069 displayed. (Jens Paulus) 12070Solution: Redraw the command line after updating the screen, scrolling may 12071 have set "clear_cmdline". 12072Files: src/screen.c 12073 12074Patch 6.2.323 12075Problem: Win32: expanding "~/file" in an autocommand pattern results in 12076 backslashes, while this pattern should only have forward slashes. 12077Solution: Make expanding environment variables respect 'shellslash' and set 12078 p_ssl when expanding the autocommand pattern. 12079Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro 12080 12081Patch 6.2.324 (extra) 12082Problem: Win32: when "vimrun.exe" has a path with white space, such as 12083 "Program Files", executing external commands may fail. 12084Solution: Put double quotes around the path to "vimrun". 12085Files: src/os_win32.c 12086 12087Patch 6.2.325 12088Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't 12089 work, the space is used to separate file names. (Brett Stahlman) 12090Solution: Escape the space with a backslash. 12091Files: src/option.c 12092 12093Patch 6.2.326 12094Problem: ":windo set syntax=foo" doesn't work. (Tim Chase) 12095Solution: Don't change 'eventignore' for ":windo". 12096Files: src/ex_cmds2.c 12097 12098Patch 6.2.327 12099Problem: When formatting text all marks in the formatted lines are lost. 12100 A word is not joined to a previous line when this would be 12101 possible. (Mikolaj Machowski) 12102Solution: Try to keep marks in the same position as much as possible. 12103 Also keep mark positions when joining lines. 12104 Start auto-formatting in the previous line when appropriate. 12105 Add the "gw" operator: Like "gq" but keep the cursor where it is. 12106Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c, 12107 src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro, 12108 src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h 12109 12110Patch 6.2.328 12111Problem: XIM with GTK: It is hard to understand what XIM is doing. 12112Solution: Add xim_log() to log XIM events and help with debugging. 12113Files: src/mbyte.c 12114 12115Patch 6.2.329 12116Problem: ":=" does not work Vi compatible. (Antony Scriven) 12117Solution: Print the last line number instead of the current line. Don't 12118 print "line". 12119Files: src/ex_cmds.h, src/ex_docmd.c 12120 12121Patch 6.2.330 (extra, after 6.2.267) 12122Problem: Win32: Crash when tearing off a menu. 12123Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto) 12124Files: src/gui_w32.c 12125 12126Patch 6.2.331 (after 6.2.327) 12127Problem: "gwap" leaves cursor in the wrong line. 12128Solution: Remember the cursor position before finding the ends of the 12129 paragraph. 12130Files: src/normal.c, src/ops.c, src/structs.h 12131 12132Patch 6.2.332 (extra) 12133Problem: Amiga: Compile error for string array. Compiling the Amiga GUI 12134 doesn't work. 12135Solution: Use a char pointer instead. Move including "gui_amiga.h" to after 12136 including "vim.h". Add a semicolon. (Ali Akcaagac) 12137Files: src/gui_amiga.c, src/os_amiga.c 12138 12139Patch 6.2.333 (extra) 12140Problem: Win32: printing doesn't work with specified font charset. 12141Solution: Use the specified font charset. (Mike Williams) 12142Files: src/os_mswin.c 12143 12144Patch 6.2.334 (extra, after 6.2.296) 12145Problem: Win32: evaluating client expression in debug mode requires typing 12146 "cont". 12147Solution: Use eval_client_expr_to_string(). 12148Files: src/os_mswin.c 12149 12150Patch 6.2.335 12151Problem: The ":sign" command cannot be followed by another command. 12152Solution: Add TRLBAR to the command flags. 12153Files: src/ex_cmds.h 12154 12155Patch 6.2.336 (after 6.2.327) 12156Problem: Mixup of items in an expression. 12157Solution: Move "== NUL" to the right spot. 12158Files: src/edit.c 12159 12160Patch 6.2.337 (extra, after 6.2.319) 12161Problem: Building gvimext.dll with Mingw doesn't work properly. 12162Solution: Fix white space and other details. (Alejandro Lopez-Valencia) 12163Files: src/GvimExt/Make_ming.mak 12164 12165Patch 6.2.338 (after 6.2.331) 12166Problem: When undoing "gwap" the cursor is always put at the start of the 12167 paragraph. When undoing auto-formatting the cursor may be above 12168 the change. 12169Solution: Try to move the cursor back to where it was or to the first line 12170 that actually changed. 12171Files: src/normal.c, src/ops.c, src/undo.c 12172 12173Patch 6.2.339 12174Problem: Crash when using many different highlight groups and a User 12175 highlight group. (Juergen Kraemer) 12176Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify 12177 use of the highlight group table. 12178Files: src/syntax.c 12179 12180Patch 6.2.340 12181Problem: ":reg" doesn't show the actual contents of the clipboard if it was 12182 filled outside of Vim. (Stuart MacDonald) 12183Solution: Obtain the clipboard contents before displaying it. 12184Files: src/ops.c 12185 12186Patch 6.2.341 (extra) 12187Problem: Win32: When the path to diff.exe contains a space and using the 12188 vimrc generated by the install program, diff mode does not work. 12189Solution: Put the first double quote just before the space instead of before 12190 the path. 12191Files: src/dosinst.c 12192 12193Patch 6.2.342 (extra) 12194Problem: Win32: macros are not always used as expected. 12195Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro 12196 Lopez-Valencia) 12197Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak 12198 12199Patch 6.2.343 12200Problem: Title doesn't work with some window managers. X11: Setting the 12201 text property for the window title is hard coded. 12202Solution: Use STRING format when possible. Use the UTF-8 function when 12203 it's available and 'encoding' is utf-8. Use 12204 XStringListToTextProperty(). Do the same for the icon name. 12205 (David Harrison) 12206Files: src/os_unix.c 12207 12208Patch 6.2.344 (extra, after 6.2.337) 12209Problem: Cannot build gvimext.dll with MingW on Linux. 12210Solution: Add support for cross compiling. (Ronald Hoellwarth) 12211Files: src/GvimExt/Make_ming.mak 12212 12213Patch 6.2.345 (extra) 12214Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set 12215 properly or there are illegal bytes. 12216Solution: Use a raw byte format. Always set it when copying. When pasting 12217 use the raw format if 'encoding' is the same. 12218Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h 12219 12220Patch 6.2.346 12221Problem: Win32 console: After using "chcp" Vim does not detect the 12222 different codepage. 12223Solution: Use GetConsoleCP() and when it is different from GetACP() set 12224 'termencoding'. 12225Files: src/option.c 12226 12227Patch 6.2.347 (extra) 12228Problem: Win32: XP theme support is missing. 12229Solution: Add a manifest and refer to it from the resource file. (Michael 12230 Wookey) 12231Files: Makefile, src/gvim.exe.mnf, src/vim.rc 12232 12233Patch 6.2.348 12234Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname' 12235 default value doesn't contain parenthesis. 12236Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name 12237 arguments. 12238Files: src/main.c 12239 12240Patch 6.2.349 12241Problem: Finding a match using 'matchpairs' may cause a crash. 12242 'matchpairs' is not used for 'showmatch'. 12243Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for 12244 'showmatch'. (Dave Olszewkski) 12245Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c 12246 12247Patch 6.2.350 12248Problem: Not enough info about startup timing. 12249Solution: Add a few more TIME_MSG() calls. 12250Files: src/main.c 12251 12252Patch 6.2.351 12253Problem: Win32: $HOME may be set to %USERPROFILE%. 12254Solution: Expand %VAR% at the start of $HOME. 12255Files: src/misc1.c 12256 12257Patch 6.2.352 (after 6.2.335) 12258Problem: ":sign texthl=||" does not work. 12259Solution: Remove the check for a following command. Give an error for extra 12260 arguments after "buff=1". 12261Files: src/ex_cmds.c, src/ex_cmds.h 12262 12263Patch 6.2.353 (extra) 12264Problem: Win32: Supported server name length is limited. (Paul Bossi) 12265Solution: Use MAX_PATH instead of 25. 12266Files: src/os_mswin.c 12267 12268Patch 6.2.354 (extra) 12269Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden 12270 when typing but is not redisplayed when moved. (Markx Hackmann) 12271Solution: Handle the pointer move event for the tear-off menu window. 12272Files: src/gui_w32.c 12273 12274Patch 6.2.355 (after 6.2.303) 12275Problem: When 'encoding' is a double-byte encoding different from the 12276 current locale, the width of characters is not correct. 12277 Possible failure and memory leak when using iconv, Unicode 12278 digraphs and 'encoding' is not "utf-8". 12279Solution: Use iconv() to discover the actual width of characters. 12280 Add the "vc_fail" field to vimconv_T. 12281 When converting a digraph, init the conversion type to NONE and 12282 cleanup afterwards. 12283Files: src/digraph.c, src/mbyte.c, src/structs.h 12284 12285Patch 6.2.356 12286Problem: When using a double-byte 'encoding' and 'selection' is 12287 "exclusive", "vy" only yanks the first byte of a double-byte 12288 character. (Xiangjiang Ma) 12289Solution: Correct the column in unadjust_for_sel() to position on the first 12290 byte, always include the trailing byte of the selected text. 12291Files: src/normal.c 12292 12293Patch 6.2.357 (after 6.2.321) 12294Problem: Memory leak when resizing the Vim window. 12295Solution: Free the LineWraps array. 12296Files: src/screen.c 12297 12298Patch 6.2.358 (after 6.2.299) 12299Problem: Memory leak when using ":help" and the language doesn't match. 12300Solution: Free the array with matching tags. 12301Files: src/ex_cmds.c 12302 12303Patch 6.2.359 (after 6.2.352) 12304Problem: Compiler warning for long to int type cast. 12305Solution: Add explicit type cast. 12306Files: src/ex_cmds.c 12307 12308Patch 6.2.360 12309Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol 12310 Juhas) 12311Solution: Recompute w_virtcol if the target column was not reached. 12312Files: src/misc2.c 12313 12314Patch 6.2.361 (extra) 12315Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while 12316 pressing Esc, then release Alt: Cursor disappears and typing a key 12317 causes a beep. (Hari Krishna Dara) 12318Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled. 12319Files: src/gui_w32.c 12320 12321Patch 6.2.362 (extra, after 6.2.347) 12322Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts) 12323Solution: Change "x86" to "X86". (Serge Pirotte) 12324Files: src/gvim.exe.mnf 12325 12326Patch 6.2.363 12327Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler 12328 from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc> 12329 doesn't make it "0-1" again. Same problem for ruler in 12330 statusline. (Andrew Pimlott) 12331Solution: Remember the "empty line" flag with Insert mode and'ed to it. 12332Files: src/screen.c 12333 12334Patch 6.2.364 12335Problem: HTML version of the documentation doesn't mention the encoding, 12336 which is a problem for mbyte.txt. 12337Solution: Adjust the awk script. (Ilya Sher) 12338Files: runtime/doc/makehtml.awk 12339 12340Patch 6.2.365 12341Problem: The configure checks for Perl and Python may add compile and link 12342 arguments that break building Vim. 12343Solution: Do a sanity check: try building with the arguments. 12344Files: src/auto/configure, src/configure.in 12345 12346Patch 6.2.366 12347Problem: When the GUI can't start because no valid font is found, there is 12348 no error message. (Ugen) 12349Solution: Add an error message. 12350Files: src/gui.c 12351 12352Patch 6.2.367 12353Problem: Building the help tags file while installing may fail if there is 12354 another Vim in $PATH. 12355Solution: Specify the just installed Vim executable. (Gordon Prieur) 12356Files: src/Makefile 12357 12358Patch 6.2.368 12359Problem: When 'autochdir' is set, closing a window doesn't change to the 12360 directory of the new current window. (Salman Halim) 12361Solution: Handle 'autochdir' always when a window becomes the current one. 12362Files: src/window.c 12363 12364Patch 6.2.369 12365Problem: Various memory leaks: when using globpath(), when searching for 12366 help tags files, when defining a function inside a function, when 12367 giving an error message through an exception, for the final "." 12368 line in ":append", in expression "cond ? a : b" that fails and for 12369 missing ")" in an expression. Using NULL pointer when adding 12370 first user command and for pointer computations with regexp. 12371 (tests by Dominique Pelle) 12372Solution: Fix the leaks by freeing the allocated memory. Don't use the 12373 array of user commands when there are no entries. Use a macro 12374 instead of a function call for saving and restoring regexp states. 12375Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, 12376 src/misc2.c, src/regexp.c, src/screen.c, src/tag.c 12377 12378Patch 6.2.370 (extra, after6.2.341) 12379Problem: Win32: When the path to diff.exe contains a space and using the 12380 vimrc generated by the install program, diff mode may not work. 12381 (Alejandro Lopez-Valencia) 12382Solution: Do not use double quotes for arguments that do not have a space. 12383Files: src/dosinst.c 12384 12385Patch 6.2.371 12386Problem: When 'virtualedit' is set and there is a Tab before the next "x", 12387 "dtx" does not delete the whole Tab. (Ken Hashishi) 12388Solution: Move the cursor to the last position of the Tab. Also for 12389 "df<Tab>". 12390Files: src/normal.c 12391 12392Patch 6.2.372 12393Problem: When using balloon evaluation, no value is displayed for members 12394 of structures and items of an array. 12395Solution: Include "->", "." and "[*]" in the expression. 12396Files: src/gui_beval.c, src/normal.c, src/vim.h 12397 12398Patch 6.2.373 12399Problem: When 'winminheight' is zero and a window is reduced to zero 12400 height, the ruler always says "Top" instead of the cursor 12401 position. (Antoine J. Mechelynck) 12402Solution: Don't recompute w_topline for a zero-height window. 12403Files: src/window.c 12404 12405Patch 6.2.374 12406Problem: ":echo "hello" | silent normal n" removes the "hello" message. 12407 (Servatius Brandt) 12408Solution: Don't echo the search string when ":silent" was used. Also don't 12409 show the mode. In general: don't clear to the end of the screen. 12410Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro, 12411 src/screen.c, src/search.c, src/window.c 12412 12413Patch 6.2.375 12414Problem: When changing 'guioptions' the hit-enter prompt may be below the 12415 end of the Vim window. 12416Solution: Call screen_alloc() before showing the prompt. 12417Files: src/message.c 12418 12419Patch 6.2.376 12420Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6. 12421Solution: Add #ifdefs around use of rb_w32_snprintf(). (Beno�t Cerrina) 12422Files: src/if_ruby.c 12423 12424Patch 6.2.377 (after 6.2.372) 12425Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey) 12426Solution: Add type cast. 12427Files: src/normal.c 12428 12429Patch 6.2.378 (extra, after 6.2.118) 12430Problem: Mac: cannot build with Project Builder. 12431Solution: Add remove_tail_with_ext() to locate and remove the "build" 12432 directory from the runtime path. Include os_unix.c when needed. 12433 (Dany St Amant) 12434Files: src/misc1.c, src/os_macosx.c, src/vim.h 12435 12436Patch 6.2.379 12437Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to 12438 "delete". (Michael Naumann) 12439Solution: Do not add buffer-specific option values to a global vimrc file. 12440Files: src/option.c 12441 12442Patch 6.2.380 (extra) 12443Problem: DOS: "make test" fails when running it again. Can't "make test" 12444 with Borland C. 12445Solution: Make sure ".out" files are deleted when they get in the way. Add 12446 a "test" target to the Borland C Makefile. 12447Files: src/Make_bc5.mak, src/testdir/Make_dos.mak 12448 12449Patch 6.2.381 12450Problem: Setting 'fileencoding' to a comma separated list (confusing it 12451 with 'fileencodings') does not result in an error message. 12452 Setting 'fileencoding' in an empty file marks it as modified. 12453 There is no "+" in the title after setting 'fileencoding'. 12454Solution: Check for a comma in 'fileencoding'. Only consider a non-empty 12455 file modified by changing 'fileencoding'. Update the title after 12456 changing 'fileencoding'. 12457Files: src/option.c 12458 12459Patch 6.2.382 12460Problem: Running "make test" puts marks from test files in viminfo. 12461Solution: Specify a different viminfo file to use. 12462Files: src/testdir/test15.in, src/testdir/test49.in 12463 12464Patch 6.2.383 12465Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven) 12466Solution: Check that the closing ' is there. 12467Files: src/syntax.c 12468 12469Patch 6.2.384 12470Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated. 12471Solution: Also compare the names without '&' characters. 12472Files: src/menu.c 12473 12474Patch 6.2.385 (extra) 12475Problem: Win32: forward_slash() and trash_input_buf() are undefined when 12476 compiling with small features. (Ajit Thakkar) 12477Solution: Change the #ifdefs for forward_slash(). Don't call 12478 trash_input_buf() if the input buffer isn't used. 12479Files: src/fileio.c, src/os_win32.c 12480 12481Patch 6.2.386 12482Problem: Wasting time trying to read marks from the viminfo file for a 12483 buffer without a name. 12484Solution: Skip reading marks when the buffer has no name. 12485Files: src/fileio.c 12486 12487Patch 6.2.387 12488Problem: There is no highlighting of translated items in help files. 12489Solution: Search for a "help_ab.vim" syntax file when the help file is 12490 called "*.abx". Also improve the help highlighting a bit. 12491Files: runtime/syntax/help.vim 12492 12493Patch 6.2.388 12494Problem: GTK: When displaying some double-width characters they are drawn 12495 as single-width, because of conversion to UTF-8. 12496Solution: Check the width that GTK uses and add a space if it's one instead 12497 of two. 12498Files: src/gui_gtk_x11.c 12499 12500Patch 6.2.389 12501Problem: When working over a slow connection, it's very annoying that the 12502 last line is partly drawn and then cleared for every change. 12503Solution: Don't redraw the bottom line if no rows were inserted or deleted. 12504 Don't draw the line if we know "@" lines will be used. 12505Files: src/screen.c 12506 12507Patch 6.2.390 12508Problem: Using "r*" in Visual mode on multi-byte characters only replaces 12509 every other character. (Tyson Roberts) 12510Solution: Correct the cursor position after replacing each character. 12511Files: src/ops.c 12512 12513Patch 6.2.391 (extra) 12514Problem: The ":highlight" command is not tested. 12515Solution: Add a test script for ":highlight". 12516Files: src/testdir/Makefile, src/testdir/Make_amiga.mak, 12517 src/testdir/Make_dos.mak, src/testdir/Make_os2.mak, 12518 src/testdir/Make_vms.mms, src/testdir/test51.in, 12519 src/testdir/test51.ok 12520 12521Patch 6.2.392 (after 6.2.384) 12522Problem: Unused variable. 12523Solution: Remove "dlen". 12524Files: src/menu.c 12525 12526Patch 6.2.393 12527Problem: When using very long lines the viminfo file can become very big. 12528Solution: Add the "s" flag to 'viminfo': skip registers with more than the 12529 specified Kbyte of text. 12530Files: runtime/doc/options.txt, src/ops.c, src/option.c 12531 12532Patch 6.2.394 (after 6.2.391) 12533Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis) 12534Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute. 12535Files: src/testdir/test51.in 12536 12537Patch 6.2.395 12538Problem: When using ":tag" or ":pop" the previous matching tag is used. 12539 But since the current file is different, the ordering of the tags 12540 may change. 12541Solution: Remember what the current buffer was for when re-using cur_match. 12542Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h, 12543 src/tag.c 12544 12545Patch 6.2.396 12546Problem: When CTRL-T jumps to another file and an autocommand moves the 12547 cursor to the '" mark, don't end up on the right line. (Michal 12548 Malecki) 12549Solution: Set the line number after loading the file. 12550Files: src/tag.c 12551 12552Patch 6.2.397 12553Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work. 12554 (Yasuhiro Matsumoto) 12555Solution: Do not set the 8th bit of the character but use a modifier. 12556Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c 12557 12558Patch 6.2.398 (extra) 12559Problem: Win32 console: no extra key modifiers are supported. 12560Solution: Encode the modifiers into the input stream. Also fix that special 12561 keys are converted and stop working when 'tenc' is set. Also fix 12562 that when 'tenc' is initialized the input and output conversion is 12563 not setup properly until 'enc' or 'tenc' is set. 12564Files: src/getchar.c, src/option.c, src/os_win32.c 12565 12566Patch 6.2.399 12567Problem: A ":set" command that fails still writes a message when it is 12568 inside a try/catch block. 12569Solution: Include all the text of the message in the error message. 12570Files: src/charset.c, src/option.c 12571 12572Patch 6.2.400 12573Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0. 12574Solution: Include header file poll.h. (Malte Neumann) 12575Files: src/if_xcmdsrv.c 12576 12577Patch 6.2.401 12578Problem: When opening a buffer that was previously opened, Vim does not 12579 restore the cursor position if the first line starts with white 12580 space. (Gregory Margo) 12581Solution: Don't skip restoring the cursor position if it is past the blanks 12582 in the first line. 12583Files: src/buffer.c 12584 12585Patch 6.2.402 12586Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher) 12587Solution: Generate help tags before copying the runtime files. 12588Files: src/Makefile 12589 12590Patch 6.2.403 12591Problem: ":@y" checks stdin if there are more commands to execute. This 12592 fails if stdin is not connected, e.g., when starting the GUI from 12593 KDE. (Ned Konz) 12594Solution: Only check for a next command if there still is typeahead. 12595Files: src/ex_docmd.c 12596 12597Patch 6.2.404 12598Problem: Our own function to determine width of Unicode characters may get 12599 outdated. (Markus Kuhn) 12600Solution: Use wcwidth() when it is available. Also use iswprint(). 12601Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c 12602 12603Patch 6.2.405 12604Problem: Cannot map zero without breaking the count before a command. 12605 (Benji Fisher) 12606Solution: Disable mapping zero when entering a count. 12607Files: src/getchar.c, src/globals.h, src/normal.c 12608 12609Patch 6.2.406 12610Problem: ":help \zs", ":help \@=" and similar don't find useful help. 12611Solution: Prepend "/\" to the arguments to find the desired help tag. 12612Files: src/ex_cmds.c 12613 12614Patch 6.2.407 (after 6.2.299) 12615Problem: ":help \@<=" doesn't find help. 12616Solution: Avoid that ":help \@<=" searches for the "<=" language. 12617Files: src/tag.c 12618 12619Patch 6.2.408 12620Problem: ":compiler" is not consistent: Sets local options and a global 12621 variable. (Douglas Potts) There is no error message when a 12622 compiler is not supported. 12623Solution: Use ":compiler!" to set a compiler globally, otherwise it's local 12624 to the buffer and "b:current_compiler" is used. Give an error 12625 when no compiler script could be found. 12626 Note: updated compiler plugins can be found at 12627 ftp://ftp.vim.org/pub/vim/runtime/compiler/ 12628Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c, 12629 src/ex_cmds2.c 12630 12631Patch 6.2.409 12632Problem: The cursor ends up in the last column instead of after the line 12633 when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)". 12634 (Toby Allsopp) 12635Solution: Adjust the cursor as if in Insert mode. 12636Files: src/misc1.c 12637 12638Patch 6.2.410 (after 6.2.389) 12639Problem: In diff mode, when there are more filler lines than fit in the 12640 window, they are not drawn. 12641Solution: Check for filler lines when skipping to draw a line that doesn't 12642 fit. 12643Files: src/screen.c 12644 12645Patch 6.2.411 12646Problem: A "\n" inside a string is not seen as a line break by the regular 12647 expression matching. (Hari Krishna Dara) 12648Solution: Add the vim_regexec_nl() function for strings where "\n" is to be 12649 matched with a line break. 12650Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c 12651 12652Patch 6.2.412 12653Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also 12654 for ":python", ":tcl" and ":perl". 12655Solution: Check for "<< marker" and skip until "marker" before checking for 12656 "endfunction". 12657Files: src/eval.c 12658 12659Patch 6.2.413 (after 6.2.411) 12660Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky) 12661Solution: Now really include the prototype. 12662Files: src/proto/regexp.pro 12663 12664Patch 6.2.414 12665Problem: The function used for custom completion of user commands cannot 12666 have <SID> to make it local. (Hari Krishna Dara) 12667Solution: Pass the SID of the script where the user command was defined on 12668 to the completion. Also clean up #ifdefs. 12669Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h 12670 12671Patch 6.2.415 12672Problem: Vim may crash after a sequence of events that change the window 12673 size. The window layout assumes a larger window than is actually 12674 available. (Servatius Brandt) 12675Solution: Invoke win_new_shellsize() from screenalloc() instead of from 12676 set_shellsize(). 12677Files: src/screen.c, src/term.c 12678 12679Patch 6.2.416 12680Problem: Compiler warning for incompatible pointer. 12681Solution: Remove the "&" in the call to poll(). (Xavier de Gaye) 12682Files: src/os_unix.c 12683 12684Patch 6.2.417 (after 6.2.393) 12685Problem: Many people forget that the '"' item in 'viminfo' needs to be 12686 preceded with a backslash, 12687Solution: Add '<' as an alias for the '"' item. 12688Files: runtime/doc/options.txt, src/ops.c, src/option.c 12689 12690Patch 6.2.418 12691Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx": 12692 when pressing <F12> still uses the abbreviation. (Hari Krishna) 12693Solution: Also apply "noremap" to abbreviations. 12694Files: src/getchar.c 12695 12696Patch 6.2.419 (extra) 12697Problem: Win32: Cannot open the Vim window inside another application. 12698Solution: Add the "-P" argument to specify the window title of the 12699 application to run inside. (Zibo Zhao) 12700Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c, 12701 src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c, 12702 src/proto/gui_w32.pro 12703 12704Patch 6.2.420 12705Problem: Cannot specify a file to be edited in binary mode without setting 12706 the global value of the 'binary' option. 12707Solution: Support ":edit ++bin file". 12708Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h, 12709 src/ex_docmd.c, src/fileio.c, src/misc2.c 12710 12711Patch 6.2.421 12712Problem: Cannot set the '[ and '] mark, which may be necessary when an 12713 autocommand simulates reading a file. 12714Solution: Allow using "m[" and "m]". 12715Files: runtime/doc/motion.txt, src/mark.c 12716 12717Patch 6.2.422 12718Problem: In CTRL-X completion messages the "/" makes them less readable. 12719Solution: Remove the slashes. (Antony Scriven) 12720Files: src/edit.c 12721 12722Patch 6.2.423 12723Problem: ":vertical wincmd ]" does not split vertically. 12724Solution: Add "postponed_split_flags". 12725Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c 12726 12727Patch 6.2.424 12728Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from 12729 working in Insert mode (Normal mode is OK). (Gregory Seidman) 12730Solution: In the Insert mode loop invoke gui_mouse_correct() when needed. 12731Files: src/edit.c 12732 12733Patch 6.2.425 12734Problem: Vertical split and command line window: can only drag status line 12735 above the cmdline window on the righthand side, not lefthand side. 12736Solution: Check the status line row instead of the window pointer. 12737Files: src/ui.c 12738 12739Patch 6.2.426 12740Problem: A syntax region end match with a matchgroup that includes a line 12741 break only highlights the last line with matchgroup. (Gary 12742 Holloway) 12743Solution: Also use the line number of the position where the region 12744 highlighting ends. 12745Files: src/syntax.c 12746 12747Patch 6.2.427 (extra) 12748Problem: When pasting a lot of text in a multi-byte encoding, conversion 12749 from 'termencoding' to 'encoding' may fail for some characters. 12750 (Kuang-che Wu) 12751Solution: When there is an incomplete byte sequence at the end of the read 12752 text keep it for the next time. 12753Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro, 12754 src/proto/os_mswin.pro, src/ui.c 12755 12756Patch 6.2.428 12757Problem: The X11 clipboard supports the Vim selection for char/line/block 12758 mode, but since the encoding is not included can't copy/paste 12759 between two Vims with a different 'encoding'. 12760Solution: Add a new selection format that includes the 'encoding'. Perform 12761 conversion when necessary. 12762Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h 12763 12764Patch 6.2.429 12765Problem: Unix: glob() doesn't work for a directory with a single quote in 12766 the name. (Nazri Ramliy) 12767Solution: When using the shell to expand, only put double quotes around 12768 spaces and single quotes, not the whole thing. 12769Files: src/os_unix.c 12770 12771Patch 6.2.430 12772Problem: BOM at start of a vim script file is not recognized and causes an 12773 error message. 12774Solution: Detect the BOM and skip over it. Also fix that after using 12775 ":scriptencoding" the iconv() file descriptor was not closed 12776 (memory leak). 12777Files: src/ex_cmds2.c 12778 12779Patch 6.2.431 12780Problem: When using the horizontal scrollbar, the scrolling is limited to 12781 the length of the cursor line. 12782Solution: Make the scroll limit depend on the longest visible line. The 12783 cursor is moved when necessary. Including the 'h' flag in 12784 'guioptions' disables this. 12785Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c, 12786 src/misc2.c, src/option.h 12787 12788Patch 6.2.432 (after 6.2.430 and 6.2.431) 12789Problem: Lint warnings. 12790Solution: Add type casts. 12791Files: src/ex_cmds2.c, src/gui.c 12792 12793Patch 6.2.433 12794Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good 12795 result. (Alejandro Lopez Valencia) 12796Solution: Use a string for each combination. 12797Files: src/screen.c 12798 12799Patch 6.2.434 (after 6.2.431) 12800Problem: Compiler warning. (Salman Halim) 12801Solution: Add type casts. 12802Files: src/gui.c 12803 12804Patch 6.2.435 12805Problem: When there are vertically split windows the minimal Vim window 12806 height is computed wrong. 12807Solution: Use frame_minheight() to correctly compute the minimal height. 12808Files: src/window.c 12809 12810Patch 6.2.436 12811Problem: Running the tests changes the user's viminfo file. 12812Solution: In test 49 tell the extra Vim to use the test viminfo file. 12813Files: src/testdir/test49.vim 12814 12815Patch 6.2.437 12816Problem: ":mksession" always puts "set nocompatible" in the session file. 12817 This changes option settings. (Ron Aaron) 12818Solution: Add an "if" to only change 'compatible' when needed. 12819Files: src/ex_docmd.c 12820 12821Patch 6.2.438 12822Problem: When the 'v' flag is present in 'cpoptions', backspacing and then 12823 typing text again: one character too much is overtyped before 12824 inserting is done again. 12825Solution: Set "dollar_vcol" to the right column. 12826Files: src/edit.c 12827 12828Patch 6.2.439 12829Problem: GTK 2: Changing 'lines' may cause a mismatch between the window 12830 layout and the size of the window. 12831Solution: Disable the hack with force_shell_resize_idle(). 12832Files: src/gui_gtk_x11.c 12833 12834Patch 6.2.440 12835Problem: When 'lazyredraw' is set the window title is still updated. 12836 The size of the Visual area and the ruler are displayed too often. 12837Solution: Postpone redrawing the window title. Only show the Visual area 12838 size when waiting for a character. Don't draw the ruler 12839 unnecessary. 12840Files: src/buffer.c, src/normal.c, src/screen.c 12841 12842Patch 6.2.441 12843Problem: ":unabbreviate foo " doesn't work, because of the trailing space, 12844 while an abbreviation with a trailing space is not possible. (Paul 12845 Jolly) 12846Solution: Accept a match with the lhs of an abbreviation without the 12847 trailing space. 12848Files: src/getchar.c 12849 12850Patch 6.2.442 12851Problem: Cannot manipulate the command line from a function. 12852Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the 12853 CTRL-\ e command. 12854Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c 12855 src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, 12856 src/proto/ops.pro 12857 12858Patch 6.2.443 12859Problem: With ":silent! echoerr something" you don't get the position of 12860 the error. emsg() only writes the message itself and returns. 12861Solution: Also redirect the position of the error. 12862Files: src/message.c 12863 12864Patch 6.2.444 12865Problem: When adding the 'c' flag to a ":substitute" command it may replace 12866 more times than without the 'c' flag. Happens for a match that 12867 starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus 12868 Bosau). 12869Solution: Correct "prev_matchcol" when replacing the line. Don't replace 12870 the line when the pattern uses look-behind matching. 12871Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c 12872 12873Patch 6.2.445 12874Problem: Copying vimtutor to /tmp/something is not secure, a symlink may 12875 cause trouble. 12876Solution: Create a directory and create the file in it. Use "umask" to 12877 create the directory with mode 700. (Stefan Nordhausen) 12878Files: src/vimtutor 12879 12880Patch 6.2.446 (after 6.2.404) 12881Problem: Using library functions wcwidth() and iswprint() results in 12882 display problems for Hebrew characters. (Ron Aaron) 12883Solution: Disable the code to use the library functions, use our own. 12884Files: src/mbyte.c 12885 12886Patch 6.2.447 (after 6.2.440) 12887Problem: Now that the title is only updated when redrawing, it is no longer 12888 possible to show it while executing a function. (Madoka Machitani) 12889Solution: Make ":redraw" also update the title. 12890Files: src/ex_docmd.c 12891 12892Patch 6.2.448 (after 6.2.427) 12893Problem: Mac: conversion done when 'termencoding' differs from 'encoding' 12894 fails when pasting a longer text. 12895Solution: Check for an incomplete sequence at the end of the chunk to be 12896 converted. (Eckehard Berns) 12897Files: src/mbyte.c 12898 12899Patch 6.2.449 (after 6.2.431) 12900Problem: Get error messages when switching files. 12901Solution: Check for a valid line number when calculating the width of the 12902 horizontal scrollbar. (Helmut Stiegler) 12903Files: src/gui.c 12904 12905Patch 6.2.450 12906Problem: " #include" and " #define" are not recognized with the default 12907 option values for 'include' and 'defined'. (RG Kiran) 12908Solution: Adjust the default values to allow white space before the #. 12909Files: runtime/doc/options.txt, src/option.c 12910 12911Patch 6.2.451 12912Problem: GTK: when using XIM there are various problems, including setting 12913 'modified' and breaking undo at the wrong moment. 12914Solution: Add "xim_changed_while_preediting", "preedit_end_col" and 12915 im_is_preediting(). (Yasuhiro Matsumoto) 12916Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c, 12917 src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c, 12918 src/undo.c 12919 12920Patch 6.2.452 12921Problem: In diff mode, when DiffAdd and DiffText highlight settings are 12922 equal, an added line is highlighted with DiffChange. (Tom Schumm) 12923Solution: Remember the diff highlight type instead of the attributes. 12924Files: src/screen.c 12925 12926Patch 6.2.453 12927Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar". 12928 (Pavel Papushev) 12929Solution: When the pattern can match a line break also try matching at the 12930 NUL at the end of a line. 12931Files: src/ex_cmds.c, src/regexp.c 12932 12933Patch 6.2.454 12934Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let 12935 b:changedtick = 99" does not give an error message. 12936Solution: Add code to recognize ":let b:changedtick". 12937Files: src/eval.c 12938 12939Patch 6.2.455 (after 6.2.297) 12940Problem: In Python commands the current locale changes how certain Python 12941 functions work. (Eugene M. Minkovskii) 12942Solution: Set the LC_NUMERIC locale to "C" while executing a Python command. 12943Files: src/if_python.c 12944 12945Patch 6.2.456 (extra) 12946Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or 12947 using the file selection dialog) doesn't work. (Yakov Lerner, Alex 12948 Jakushev) 12949Solution: Use wide character functions when file names are involved and 12950 convert from/to 'encoding' where needed. 12951Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c, 12952 src/os_mswin.c, src/os_win32.c 12953 12954Patch 6.2.457 (after 6.2.244) 12955Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80 12956 in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm) 12957Solution: Correct the utf_ptr2len_check_len() function and fix the problem 12958 of displaying 0xf7 in utfc_ptr2len_check_len(). 12959Files: src/mbyte.c 12960 12961Patch 6.2.458 12962Problem: When 'virtualedit' is set "$" doesn't move to the end of an 12963 unprintable character, causing "y$" not to include that character. 12964 (Fred Ma) 12965Solution: Set "coladd" to move the cursor to the end of the character. 12966Files: src/misc2.c 12967 12968Patch 6.2.459 (after 6.2.454) 12969Problem: Variable "b" cannot be written. (Salman Halim) 12970Solution: Compare strings properly. 12971Files: src/eval.c 12972 12973Patch 6.2.460 (extra, after 6.2.456) 12974Problem: Compiler warnings for missing prototypes. 12975Solution: Include the missing prototypes. 12976Files: src/proto/os_win32.pro 12977 12978Patch 6.2.461 12979Problem: After using a search command "x" starts putting single characters 12980 in the numbered registers. 12981Solution: Reset "use_reg_one" at the right moment. 12982Files: src/normal.c 12983 12984Patch 6.2.462 12985Problem: Finding a matching parenthesis does not correctly handle a 12986 backslash in a trailing byte. 12987Solution: Handle multi-byte characters correctly. (Taro Muraoka) 12988Files: src/search.c 12989 12990Patch 6.2.463 (extra) 12991Problem: Win32: An NTFS file system may contain files with extra info 12992 streams. The current method to copy them creates one and then 12993 deletes it again. (Peter Toennies) Also, only three streams with 12994 hard coded names are copied. 12995Solution: Use BackupRead() to check which info streams the original file 12996 contains and only copy these streams. 12997Files: src/os_win32.c 12998 12999Patch 6.2.464 (extra, after 6.2.427) 13000Problem: Amiga: Compilation error with gcc. (Ali Akcaagac) 13001Solution: Move the #ifdef outside of Read(). 13002Files: src/os_amiga.c 13003 13004Patch 6.2.465 13005Problem: When resizing the GUI window the window manager sometimes moves it 13006 left of or above the screen. (Michael McCarty) 13007Solution: Check the window position after resizing it and move it onto the 13008 screen when it isn't. 13009Files: src/gui.c 13010 13011Patch 6.2.466 (extra, after 6.2.456) 13012Problem: Win32: Compiling with Borland C fails, and an un/signed warning. 13013Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro 13014 Matsumoto) 13015Files: src/os_win32.c 13016 13017Patch 6.2.467 (extra, after 6.2.463) 13018Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar) 13019Solution: Add #ifdefs around the info stream code. 13020Files: src/os_win32.c 13021 13022Patch 6.2.468 13023Problem: Compiler warnings for shadowed variables. (Matthias Mohr) 13024Solution: Delete superfluous variables and rename others. 13025Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c, 13026 src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c, 13027 src/regexp.c 13028 13029Patch 6.2.469 (extra, after 6.2.456) 13030Problem: Win32: Can't create swap file when 'encoding' differs from the 13031 active code page. (Kriton Kyrimis) 13032Solution: In enc_to_ucs2() terminate the converted string with a NUL 13033Files: src/os_mswin.c 13034 13035Patch 6.2.470 13036Problem: The name returned by tempname() may be equal to the file used for 13037 shell output when ignoring case. 13038Solution: Skip 'O' and 'I' in tempname(). 13039Files: src/eval.c 13040 13041Patch 6.2.471 13042Problem: "-L/usr/lib" is used in the link command, even though it's 13043 supposed to be filtered out. "-lw" and "-ldl" are not 13044 automatically added when needed for "-lXmu". (Antonio Colombo) 13045Solution: Check for a space after the argument instead of before. Also 13046 remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl" 13047 before trying "-lXmu". 13048Files: src/auto/configure, src/configure.in, src/link.sh 13049 13050Patch 6.2.472 13051Problem: When using a FileChangedShell autocommand that changes the current 13052 buffer, a buffer exists that can't be wiped out. 13053 Also, Vim sometimes crashes when executing an external command 13054 that changes the buffer and a FileChangedShell autocommand is 13055 used. (Hari Krishna Dara) 13056 Users are confused by the warning for a file being changed outside 13057 of Vim. 13058Solution: Avoid that the window counter for a buffer is incremented twice. 13059 Avoid that buf_check_timestamp() is used recursively. 13060 Add a hint to look in the help for more info. 13061Files: src/ex_cmds.c, src/fileio.c 13062 13063Patch 6.2.473 13064Problem: Using CTRL-] in a help buffer without a name causes a crash. 13065Solution: Check for name to be present before using it. (Taro Muraoka) 13066Files: src/tag.c 13067 13068Patch 6.2.474 (extra, after 6.2.456) 13069Problem: When Vim is starting up conversion is done unnecessarily. Failure 13070 to find the runtime files on Windows 98. (Randall W. Morris) 13071Solution: Init enc_codepage negative, only use it when not negative. 13072 Don't use GetFileAttributesW() on Windows 98 or earlier. 13073Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, 13074 src/os_win32.c 13075 13076Patch 6.2.475 13077Problem: Commands after "perl <<EOF" are parsed as Vim commands when they 13078 are not executed. 13079Solution: Properly skip over the perl commands. 13080Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c, 13081 src/if_ruby.c, src/if_tcl.c, src/misc2.c 13082 13083Patch 6.2.476 13084Problem: When reloading a hidden buffer changed outside of Vim and the 13085 current buffer is read-only, the reloaded buffer becomes 13086 read-only. (Hari Krishna Dara) 13087Solution: Save the 'readonly' flag of the reloaded buffer instead of the 13088 current buffer. 13089Files: src/fileio.c 13090 13091Patch 6.2.477 13092Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang. 13093 (Yakov Lerner) 13094Solution: When the resulting string is empty don't set received_from_client. 13095Files: src/main.c 13096 13097Patch 6.2.478 13098Problem: Win32: "--remote file" fails changing directory if the current 13099 directory name starts with a single quote. (Iestyn Walters) 13100Solution: Add a backslash where it will be removed later. 13101Files: src/main.c, src/misc2.c, src/proto/misc2.pro 13102 13103Patch 6.2.479 13104Problem: The error message for errors during recovery goes unnoticed. 13105Solution: Avoid that the hit-enter prompt overwrites the message. Add a few 13106 lines to make the error stand out. 13107Files: src/main.c, src/message.c, src/memline.c 13108 13109Patch 6.2.480 13110Problem: NetBeans: Using negative index in array. backslash at end of 13111 message may cause Vim to crash. (Xavier de Gaye) 13112Solution: Initialize buf_list_used to zero. Check for trailing backslash. 13113Files: src/netbeans.c 13114 13115Patch 6.2.481 13116Problem: When writing a file it is not possible to specify that hard and/or 13117 symlinks are to be broken instead of preserved. 13118Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'. 13119 (Simon Ekstrand) 13120Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h 13121 13122Patch 6.2.482 13123Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is 13124 considered to be a digit. (Juergen Kraemer) 13125Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for 13126 speed where possible. Also add vim_isxdigit(). 13127Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c, 13128 src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c, 13129 src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, 13130 src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c, 13131 src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h, 13132 src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c, 13133 src/misc2.c, src/normal.c, src/ops.c, src/option.c, 13134 src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c, 13135 src/syntax.c, src/tag.c, src/term.c, src/termlib.c 13136 13137Patch 6.2.483 (extra, after 6.2.482) 13138Problem: See 6.2.482. 13139Solution: Extra part of patch 6.2.482. 13140Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c 13141 13142Patch 6.2.484 13143Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z 13144 are not recognized. (Peter Keresztes) 13145Solution: Write the files with unix fileformat and invoke diff with --binary 13146 if possible. 13147Files: src/diff.c 13148 13149Patch 6.2.485 13150Problem: A BufWriteCmd autocommand cannot know if "!" was used or not. 13151 (Hari Krishna Dara) 13152Solution: Add the v:cmdbang variable. 13153Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, 13154 src/fileio.c, src/vim.h 13155 13156Patch 6.2.486 (6.2.482) 13157Problem: Diff for eval.c is missing. 13158Solution: Addition to patch 6.2.482. 13159Files: src/eval.c 13160 13161Patch 6.2.487 (extra, after 6.2.456) 13162Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia) 13163Solution: Delete the prototype for Handle_WM_Notify(). 13164Files: src/proto/gui_w32.pro 13165 13166Patch 6.2.488 13167Problem: Missing ")" in *.ch filetype detection. 13168Solution: Add the ")". (Ciaran McCreesh) 13169Files: runtime/filetype.vim 13170 13171Patch 6.2.489 13172Problem: When accidentally opening a session in Vim which has already been 13173 opened in another Vim there is a long row of ATTENTION prompts. 13174 Need to quit each of them to get out. (Robert Webb) 13175Solution: Add the "Abort" alternative to the dialog. 13176Files: src/memline.c 13177 13178Patch 6.2.490 13179Problem: With 'paragraph' it is not possible to use a single dot as a 13180 paragraph boundary. (Dorai Sitaram) 13181Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or 13182 ". $" 13183Files: src/search.c 13184 13185Patch 6.2.491 13186Problem: Decrementing a position doesn't take care of multi-byte chars. 13187Solution: Adjust the column for multi-byte characters. Remove mb_dec(). 13188 (Yasuhiro Matsumoto) 13189Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro 13190 13191Patch 6.2.492 13192Problem: When using ":redraw" while there is a message, the next ":echo" 13193 still causes text to scroll. (Yasuhiro Matsumoto) 13194Solution: Reset msg_didout and msg_col, so that after ":redraw" the next 13195 message overwrites an existing one. 13196Files: src/ex_docmd.c 13197 13198Patch 6.2.493 13199Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher) 13200Solution: Put "restart_edit" in the typeahead buffer, so that it's used 13201 after executing the register contents. 13202Files: src/ops.c 13203 13204Patch 6.2.494 13205Problem: Using diff mode with two windows, when moving horizontally in 13206 inserted lines, a fold in the other window may open. 13207Solution: Compute the line number in the other window correctly. 13208Files: src/diff.c 13209 13210Patch 6.2.495 (extra, after 6.2.456) 13211Problem: Win32: The file dialog doesn't work on Windows 95. 13212Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use 13213 it only on Windows NT/2000/XP. 13214Files: src/gui_w32.c, src/gui_w48.c 13215 13216Patch 6.2.496 13217Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a 13218 complicated pattern may cause Vim to crash. Catching the signal 13219 doesn't work. 13220Solution: When compiled with threads, instead of using the normal stacksize 13221 limit, use the size of the initial stack. 13222Files: src/auto/configure, src/config.h.in, src/configure.in, 13223 src/os_unix.c 13224 13225Patch 6.2.497 (extra) 13226Problem: Russian messages are only available in one encoding. 13227Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin) 13228Files: src/po/Makefile 13229 13230Patch 6.2.498 13231Problem: Non-latin1 help files are not properly supported. 13232Solution: Support utf-8 help files and convert them to 'encoding' when 13233 needed. 13234Files: src/fileio.c 13235 13236Patch 6.2.499 13237Problem: When writing a file and halting the system, the file might be lost 13238 when using a journaling file system. 13239Solution: Use fsync() to flush the file data to disk after writing a file. 13240 (Radim Kolar) 13241Files: src/fileio.c 13242 13243Patch 6.2.500 (extra) 13244Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for 13245 diff. 13246Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez- 13247 Valencia) 13248Files: src/dosinst.c 13249 13250Patch 6.2.501 13251Problem: Vim does not compile with MorphOS. 13252Solution: Add a Makefile and a few changes to make Vim work with MorphOS. 13253 (Ali Akcaagac) 13254Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt, 13255 src/Make_morphos.mak, src/memfile.c, src/term.c 13256 13257Patch 6.2.502 13258Problem: Building fails for generating message files. 13259Solution: Add dummy message files. 13260Files: src/po/ca.po, src/po/ru.po, src/po/sv.po 13261 13262Patch 6.2.503 13263Problem: Mac: Can't compile MacRoman conversions without the GUI. 13264Solution: Also link with the Carbon framework for the terminal version, for 13265 the MacRoman conversion functions. (Eckehard Berns) 13266 Remove -ltermcap from the GUI link command, it is not needed. 13267Files: src/auto/configure, src/Makefile, src/configure.in 13268 13269Patch 6.2.504 13270Problem: Various problems with 'cindent', among which that a 13271 list of variable declarations is not indented properly. 13272Solution: Fix the wrong indenting. Improve indenting of C++ methods. 13273 Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by 13274 Helmut Stiegler) 13275 Improve indenting of preprocessor-continuation lines. 13276Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, 13277 src/testdir/test3.ok 13278 13279Patch 6.2.505 13280Problem: Help for -P argument is missing. (Ronald Hoellwarth) 13281Solution: Add the patch that was missing in 6.2.419. 13282Files: runtime/doc/starting.txt 13283 13284Patch 6.2.506 (extra) 13285Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file 13286 only works when iconv is available. Writing a file in another 13287 codepage uses the wrong kind of conversion. 13288Solution: Use internal conversion functions. Enable reading and writing 13289 files with 'fileencoding' different from 'encoding' for all valid 13290 codepages and utf-8 without the need for iconv. 13291Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in, 13292 src/testdir/test52.ok 13293 13294Patch 6.2.507 13295Problem: The ownership of the file with the password for the NetBeans 13296 connection is not checked. "-nb={file}" doesn't work for GTK. 13297Solution: Only accept the file when owned by the user and not accessible by 13298 others. Detect "-nb=" for GTK. 13299Files: src/netbeans.c, src/gui_gtk_x11.c 13300 13301Patch 6.2.508 13302Problem: Win32: "v:lang" does not show the current language for messages if 13303 it differs from the other locale settings. 13304Solution: Use the value of the $LC_MESSAGES environment variable. 13305Files: src/ex_cmds2.c 13306 13307Patch 6.2.509 (after 6.2.508) 13308Problem: Crash when $LANG is not set. 13309Solution: Add check for NULL pointer. (Ron Aaron) 13310Files: src/ex_cmds2.c 13311 13312Patch 6.2.510 (after 6.2.507) 13313Problem: Warning for pointer conversion. 13314Solution: Add a type cast. 13315Files: src/gui_gtk_x11.c 13316 13317Patch 6.2.511 13318Problem: Tags in Russian help files are in utf-8 encoding, which may be 13319 different from 'encoding'. 13320Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the 13321 encoding of the tags. Convert help tags from 'encoding' to the 13322 tag file encoding when searching for matches, do the reverse when 13323 listing help tags. 13324Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c 13325 13326Patch 6.2.512 13327Problem: Translating "\"\n" is useless. (Gerfried Fuchs) 13328Solution: Remove the _() around it. 13329Files: src/main.c, src/memline.c 13330 13331Patch 6.2.513 (after 6.2.507) 13332Problem: NetBeans: the check for owning the connection info file can be 13333 simplified. (Nikolay Molchanov) 13334Solution: Only check if the access mode is right. 13335Files: src/netbeans.c 13336 13337Patch 6.2.514 13338Problem: When a highlight/syntax group name contains invalid characters 13339 there is no warning. 13340Solution: Add an error for unprintable characters and a warning for other 13341 invalid characters. 13342Files: src/syntax.c 13343 13344Patch 6.2.515 13345Problem: When using the options window 'swapfile' is reset. 13346Solution: Use ":setlocal" instead of ":set". 13347Files: runtime/optwin.vim 13348 13349Patch 6.2.516 13350Problem: The sign column cannot be seen, looks like there are two spaces 13351 before the text. (Rob Retter) 13352Solution: Add the SignColumn highlight group. 13353Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, 13354 src/screen.c, src/syntax.c, src/vim.h 13355 13356Patch 6.2.517 13357Problem: Using "r*" in Visual mode on multi-byte characters replaces 13358 too many characters. In Visual Block mode replacing with a 13359 multi-byte character doesn't work. 13360Solution: Adjust the operator end for the difference in byte length of the 13361 original and the replaced character. Insert all bytes of a 13362 multi-byte character, take care of double-wide characters. 13363Files: src/ops.c 13364 13365Patch 6.2.518 13366Problem: Last line of a window is not updated after using "J" and then "D". 13367 (Adri Verhoef) 13368Solution: When no line is found below a change that doesn't need updating, 13369 update all lines below the change. 13370Files: src/screen.c 13371 13372Patch 6.2.519 13373Problem: Mac: cannot read/write files in MacRoman format. 13374Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1. 13375 (Eckehard Berns) 13376Files: src/fileio.c 13377 13378Patch 6.2.520 (extra) 13379Problem: The NSIS installer is outdated. 13380Solution: Make it work with NSIS 2.0. Also include console executables for 13381 Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use 13382 "/oname" to avoid having to rename files before running NSIS. 13383Files: Makefile, nsis/gvim.nsi 13384 13385Patch 6.2.521 13386Problem: When using silent Ex mode the "changing a readonly file" warning 13387 is omitted but the one second wait isn't. (Yakov Lerner) 13388Solution: Skip the delay when "silent_mode" is set. 13389Files: src/misc1.c 13390 13391Patch 6.2.522 13392Problem: GUI: when changing 'cmdheight' in the gvimrc file the window 13393 layout is messed up. (Keith Dart) 13394Solution: Skip updating the window layout when changing 'cmdheight' while 13395 still starting up. 13396Files: src/option.c 13397 13398Patch 6.2.523 13399Problem: When loading a session and aborting when a swap file already 13400 exists, the user is left with useless windows. (Robert Webb) 13401Solution: Load one file before creating the windows. 13402Files: src/ex_docmd.c 13403 13404Patch 6.2.524 (extra, after 6.2.520) 13405Problem: Win32: (un)installing gvimext.dll may fail if it was used. 13406 The desktop and start menu links are created for the current user 13407 instead of all users. 13408 Using the home directory as working directory for the links is a 13409 bad idea for multi-user systems. 13410 Cannot use Vim from the "Open With..." menu. 13411Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use 13412 macros for the directory of the source and runtime files. Use 13413 "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. 13414 Do not specify a working directory in the links. 13415 Add Vim to the "Open With..." menu. (Giuseppe Bilotta) 13416Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c 13417 13418Patch 6.2.525 13419Problem: When the history contains a very long line ":history" causes a 13420 crash. (Volker Kiefel) 13421Solution: Shorten the history entry to fit it in one line. 13422Files: src/ex_getln.c 13423 13424Patch 6.2.526 13425Problem: When s:lang is "ja" the Japanese menus are not used. 13426Solution: Add 'encoding' to the language when there is no charset. 13427Files: runtime/menu.vim 13428 13429Patch 6.2.527 13430Problem: The 2html script uses ":wincmd p", which breaks when using some 13431 autocommands. 13432Solution: Remember the window numbers and jump to them with ":wincmd w". 13433 Also add XHTML support. (Panagiotis Issaris) 13434Files: runtime/syntax/2html.vim 13435 13436Patch 6.2.528 13437Problem: NetBeans: Changes of the "~" command are not reported. 13438Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) 13439 Also change NetBeans debugging to append to the log file. 13440 Also fix that "~" in Visual block mode changes too much if there 13441 are multi-byte characters. 13442Files: src/nbdebug.c, src/normal.c, src/ops.c 13443 13444Patch 6.2.529 (extra) 13445Problem: VisVim only works for Admin. Doing it for one user doesn't work. 13446 (Alexandre Gouraud) 13447Solution: When registering the module fails, simply continue. 13448Files: src/VisVim/VisVim.cpp 13449 13450Patch 6.2.530 13451Problem: Warning for missing prototype on the Amiga. 13452Solution: Include time.h 13453Files: src/version.c 13454 13455Patch 6.2.531 13456Problem: In silent ex mode no messages are given, which makes debugging 13457 very difficult. 13458Solution: Do output messages when 'verbose' is set. 13459Files: src/message.c, src/ui.c 13460 13461Patch 6.2.532 (extra) 13462Problem: Compiling for Win32s with VC 4.1 doesn't work. 13463Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* 13464 when not defined. 13465Files: src/dosinst.h, src/fileio.c 13466 13467Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto) 13468 13469Patch 6.3a.001 13470Problem: Win32: if testing for the "--binary" option fails, diff isn't used 13471 at all. 13472Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto) 13473Files: src/diff.c 13474 13475Patch 6.3a.002 13476Problem: NetBeans: An insert command from NetBeans beyond the end of a 13477 buffer crashes Vim. (Xavier de Gaye) 13478Solution: Use a local pos_T structure for the position. 13479Files: src/netbeans.c 13480 13481Patch 6.3a.003 13482Problem: E315 error with auto-formatting comments. (Henry Van Roessel) 13483Solution: Pass the line number to same_leader(). 13484Files: src/ops.c 13485 13486Patch 6.3a.004 13487Problem: Test32 fails on Windows XP for the DJGPP version. Renaming 13488 test11.out fails. 13489Solution: Don't try renaming, create new files to use for the test. 13490Files: src/testdir/test32.in, src/testdir/test32.ok 13491 13492Patch 6.3a.005 13493Problem: ":checkpath!" does not use 'includeexpr'. 13494Solution: Use a file name that was found directly. When a file was not 13495 found and the located name is empty, use the rest of the line. 13496Files: src/search.c 13497 13498Patch 6.3a.006 13499Problem: "yip" moves the cursor to the first yanked line, but not to the 13500 first column. Looks like not all text was yanked. (Jens Paulus) 13501Solution: Move the cursor to the first column. 13502Files: src/search.c 13503 13504Patch 6.3a.007 13505Problem: 'cindent' recognizes "enum" but not "typedef enum". 13506Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler) 13507 Also avoid that searching for this item goes too far back. 13508Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 13509 13510Patch 6.3a.008 (extra) 13511Problem: Windows 98: Some of the wide functions are not implemented, 13512 resulting in file I/O to fail. This depends on what Unicode 13513 support is installed. 13514Solution: Handle the failure and fall back to non-wide functions. 13515Files: src/os_win32.c 13516 13517Patch 6.3a.009 13518Problem: Win32: Completion of filenames does not work properly when 13519 'encoding' differs from the active code page. 13520Solution: Use wide functions for expanding wildcards when appropriate. 13521Files: src/misc1.c 13522 13523Patch 6.3a.010 (extra) 13524Problem: Win32: Characters in the window title that do not appear in the 13525 active codepage are replaced by a question mark. 13526Solution: Use DefWindowProcW() instead of DefWindowProc() when possible. 13527Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, 13528 src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 13529 13530Patch 6.3a.011 13531Problem: Using the explorer plugin changes a local directory to the global 13532 directory. 13533Solution: Don't use ":chdir" to restore the current directory. Make 13534 "expand('%:p')" remove "/../" and "/./" items from the path. 13535Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c 13536 13537Patch 6.3a.012 (extra) 13538Problem: On Windows 98 the installer doesn't work, don't even get the "I 13539 agree" button. The check for the path ending in "vim" makes the 13540 browse dialog hard to use. The default path when no previous Vim 13541 is installed is "c:\vim" instead of "c:\Program Files\Vim". 13542Solution: Remove the background gradient command. Change the 13543 .onVerifyInstDir function to a leave function for the directory 13544 page. Don't let the install program default to c:\vim when no 13545 path could be found. 13546Files: nsis/gvim.nsi, src/dosinst.c 13547 13548Patch 6.3a.013 (extra) 13549Problem: Win32: Characters in the menu that are not in the active codepage 13550 are garbled. 13551Solution: Convert menu strings from 'encoding' to the active codepage. 13552Files: src/gui_w32.c, src/gui_w48.c 13553 13554Patch 6.3a.014 13555Problem: Using multi-byte text and highlighting in a statusline causes gaps 13556 to appear. (Helmut Stiegler) 13557Solution: Advance the column by text width instead of number of bytes. Add 13558 the vim_strnsize() function. 13559Files: src/charset.c, src/proto/charset.pro, src/screen.c 13560 13561Patch 6.3a.015 13562Problem: Using the "select all" menu item when 'insertmode' is set and 13563 clicking the mouse button doesn't return to Insert mode. The 13564 Buffers/Delete menu doesn't offer a choice to abandon a changed 13565 buffer. (Jens Paulus) 13566Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu 13567 items. 13568Files: runtime/menu.vim 13569 13570Patch 6.3a.016 13571Problem: After cancelling the ":confirm" dialog the error message and 13572 hit-enter prompt may not be displayed properly. 13573Solution: Flush output after showing the dialog. 13574Files: src/message.c 13575 13576Patch 6.3a.017 13577Problem: servername() doesn't work when Vim was started with the "-X" 13578 argument or when the "exclude" in 'clipboard' matches the terminal 13579 name. (Robert Nowotniak) 13580Solution: Force connecting to the X server when using client-server 13581 commands. 13582Files: src/eval.c, src/globals.h, src/os_unix.c 13583 13584Patch 6.3a.018 (after 6.3a.017) 13585Problem: Compiler warning for return value of make_connection(). 13586Solution: Use void return type. 13587Files: src/eval.c 13588 13589Patch 6.3a.019 (extra) 13590Problem: Win32: typing non-latin1 characters doesn't work. 13591Solution: Invoke _OnChar() directly to avoid that the argument is truncated 13592 to a byte. Convert the UTF-16 character to bytes according to 13593 'encoding' and ignore 'termencoding'. Same for _OnSysChar(). 13594Files: src/gui_w32.c, src/gui_w48.c 13595 13596Patch 6.3a.020 (extra) 13597Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI 13598 doesn't work. 13599Solution: Add AROS support. (Adam Chodorowski) 13600 Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac) 13601Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, 13602 src/memfile.c, src/os_amiga.c, src/term.c 13603 13604Patch 6.3a.021 (after 6.3a.017) 13605Problem: Can't compile with X11 but without GUI. 13606Solution: Put use of "gui.in_use" inside an #ifdef. 13607Files: src/eval.c 13608 13609Patch 6.3a.022 13610Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a 13611 tab is counted for two spaces. 13612Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted 13613 as two spaces or as 'tabstop'. (Antony Scriven) 13614Files: runtime/doc/options.txt, src/edit.c 13615 13616Patch 6.3a.023 13617Problem: Completion on the command line doesn't handle backslashes 13618 properly. Only the tail of matches is shown, even when not 13619 completing filenames. 13620Solution: When turning the string into a pattern double backslashes. Don't 13621 omit the path when not expanding files or directories. 13622Files: src/ex_getln.c 13623 13624Patch 6.3a.024 13625Problem: The "save all" toolbar item fails for buffers that don't have a 13626 name. When using ":wa" or closing the Vim window and there are 13627 nameless buffers, browsing for a name may cause the name being 13628 given to the wrong buffer or not stored properly. ":browse" only 13629 worked for one file. 13630Solution: Use ":confirm browse" for "save all". 13631 Pass buffer argument to setfname(). Restore "browse" flag and 13632 "forceit" after doing the work for one file. 13633Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, 13634 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, 13635 src/message.c, src/window.c, src/proto/buffer.pro, 13636 src/proto/ex_cmds2.pro, src/proto/memline.pro 13637 13638Patch 6.3a.025 13639Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher) 13640Solution: Update the virtual column before using it. 13641Files: src/option.c 13642 13643Patch 6.3a.026 (extra, after 6.3a.008) 13644Problem: Editing files on Windows 98 doesn't work when 'encoding' is 13645 "utf-8" (Antoine Mechelynck) 13646 Warning for missing function prototype. 13647Solution: For all wide functions check if it failed because it is not 13648 implemented. Use ANSI function declaration for char_to_string(). 13649Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c 13650 13651Patch 6.3a.027 (extra, after 6.3a.026) 13652Problem: Compiler warning for function argument. 13653Solution: Declare both char and WCHAR arrays. 13654Files: src/gui_w48.c 13655 13656Patch 6.3a.028 13657Problem: ":normal ." doesn't work inside a function, because redo is saved 13658 and restored. (Benji Fisher) 13659Solution: Make a copy of the redo buffer when executing a function. 13660Files: src/getchar.c 13661 13662Patch 6.3b.001 (extra) 13663Problem: Bcc 5: The generated auto/pathdef can't be compiled. 13664Solution: Fix the way quotes and backslashes are escaped. 13665Files: src/Make_bc5.mak 13666 13667Patch 6.3b.002 13668Problem: Win32: conversion during file write fails when a double-byte 13669 character is split over two writes. 13670Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka) 13671Files: src/fileio.c 13672 13673Patch 6.3b.003 (extra) 13674Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8" 13675 then Vim can't open files under MS-Windows 98. (Antoine J. 13676 Mechelynck) 13677Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation. 13678Files: src/os_mswin.c, src/os_win32.c 13679 13680Patch 6.3b.004 13681Problem: ":helpgrep" includes a trailing CR in the text line. 13682Solution: Remove the CR. 13683Files: src/quickfix.c 13684 13685Patch 6.3b.005 13686Problem: ":echo &g:ai" results in the local option value. (Salman Halim) 13687Solution: Pass the flags from find_option_end() to get_option_value(). 13688Files: src/eval.c 13689 13690Patch 6.3b.006 13691Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before 13692 last pasted character. (Mathew Davis) 13693Solution: Use the same Paste() function as in menu.vim. 13694Files: runtime/mswin.vim 13695 13696Patch 6.3b.007 13697Problem: Session file doesn't restore view on windows properly. (Robert 13698 Webb) 13699Solution: Restore window sizes both before and after restoring the view, so 13700 that the view, cursor position and size are restored properly. 13701Files: src/ex_docmd.c 13702 13703Patch 6.3b.008 13704Problem: Using ":finally" in a user command doesn't always work. (Hari 13705 Krishna Dara) 13706Solution: Don't assume that using getexline() means the command was typed. 13707Files: src/ex_docmd.c 13708 13709Patch 6.3b.009 (extra) 13710Problem: Win32: When the -P argument is not found in a window title, there 13711 is no error message. 13712Solution: When the window can't be found give an error message and exit. 13713 Also use try/except to catch failing to open the MDI window. 13714 (Michael Wookey) 13715Files: src/gui_w32.c 13716 13717Patch 6.3b.010 13718Problem: Win32: Using the "-D" argument and expanding arguments may cause a 13719 hang, because the terminal isn't initialized yet. (Vince Negri) 13720Solution: Don't go into debug mode before the terminal is initialized. 13721Files: src/main.c 13722 13723Patch 6.3b.011 13724Problem: Using CTRL-\ e while obtaining an expression aborts the command 13725 line. (Hari Krishna Dara) 13726Solution: Insert the CTRL-\ e as typed. 13727Files: src/ex_getln.c 13728 13729Patch 6.3b.012 (after 6.3b.010) 13730Problem: Can't compile with tiny features. (Norbert Tretkowski) 13731Solution: Add #ifdefs. 13732Files: src/main.c 13733 13734Patch 6.3b.013 13735Problem: Loading a session file results in editing the wrong file in the 13736 first window when this is not the file at the current position in 13737 the argument list. (Robert Webb) 13738Solution: Check w_arg_idx_invalid to decide whether to edit a file. 13739Files: src/ex_docmd.c 13740 13741Patch 6.3b.014 13742Problem: ":runtime! foo*.vim" may using freed memory when a sourced script 13743 changes the value of 'runtimepath'. 13744Solution: Make a copy of 'runtimepath' when looping over the matches. 13745Files: src/ex_cmds2.c 13746 13747Patch 6.3b.015 13748Problem: Get lalloc(0) error when using "p" in Visual mode while 13749 'clipboard' contains "autoselect,unnamed". (Mark Wagonner) 13750Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary. 13751Files: src/ops.c 13752 13753Patch 6.3b.016 13754Problem: When 'virtualedit' is used "x" doesn't delete the last character 13755 of a line that has as many characters as 'columns'. (Yakov Lerner) 13756Solution: When the cursor isn't moved let oneright() return FAIL. 13757Files: src/edit.c 13758 13759Patch 6.3b.017 13760Problem: Win32: "vim --remote-wait" doesn't exit when the server finished 13761 editing the file. (David Fishburn) 13762Solution: In the rrhelper plugin change backslashes to forward slashes and 13763 escape special characters. 13764Files: runtime/plugin/rrhelper.vim 13765 13766Patch 6.3b.018 13767Problem: The list of help files in the "local additions" table doesn't 13768 recognize utf-8 encoding. (Yasuhiro Matsumoto) 13769Solution: Recognize utf-8 characters. 13770Files: src/ex_cmds.c 13771 13772Patch 6.3b.019 13773Problem: When $VIMRUNTIME is not a full path name the "local additions" 13774 table lists all the help files. 13775Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory 13776 names. 13777Files: src/ex_cmds.c 13778 13779Patch 6.3b.020 13780Problem: When using CTRL-^ when entering a search string, the item in the 13781 statusline that indicates the keymap is not updated. (Ilya 13782 Dogolazky) 13783Solution: Mark the statuslines for updating. 13784Files: src/ex_getln.c 13785 13786Patch 6.3b.021 13787Problem: The swapfile is not readable for others, the ATTENTION prompt does 13788 not show all info when someone else is editing the same file. 13789 (Marcel Svitalsky) 13790Solution: Use the protection of original file for the swapfile and set it 13791 after creating the swapfile. 13792Files: src/fileio.c 13793 13794Patch 6.3b.022 13795Problem: Using "4v" to select four times the old Visual area may put the 13796 cursor beyond the end of the line. (Jens Paulus) 13797Solution: Correct the cursor column. 13798Files: src/normal.c 13799 13800Patch 6.3b.023 13801Problem: When "3dip" starts in an empty line, white lines after the 13802 non-white lines are not deleted. (Jens Paulus) 13803Solution: Include the white lines. 13804Files: src/search.c 13805 13806Patch 6.3b.024 13807Problem: "2daw" does not delete leading white space like "daw" does. (Jens 13808 Paulus) 13809Solution: Include the white space when a count is used. 13810Files: src/search.c 13811 13812Patch 6.3b.025 13813Problem: Percentage in ruler isn't updated when a line is deleted. (Jens 13814 Paulus) 13815Solution: Check for a change in line count when deciding to update the ruler. 13816Files: src/screen.c, src/structs.h 13817 13818Patch 6.3b.026 13819Problem: When selecting "abort" at the ATTENTION prompt for a file that is 13820 already being edited Vim crashes. 13821Solution: Don't abort creating a new buffer when we really need it. 13822Files: src/buffer.c, src/vim.h 13823 13824Patch 6.3b.027 13825Problem: Win32: When enabling the menu in a maximized window, Vim uses more 13826 lines than what is room for. (Shizhu Pan) 13827Solution: When deciding to call shell_resized(), also compare the text area 13828 size with Rows and Columns, not just with screen_Rows and 13829 screen_Columns. 13830Files: src/gui.c 13831 13832Patch 6.3b.028 13833Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine) 13834Solution: Check for last column differently when 'rightleft' is set. 13835Files: src/screen.c 13836 13837Patch 6.3b.029 13838Problem: Win32: warning for uninitialized variable. 13839Solution: Initialize to zero. 13840Files: src/misc1.c 13841 13842Patch 6.3b.030 13843Problem: After Visually selecting four characters, changing it to other 13844 text, Visually selecting and yanking two characters: "." changes 13845 four characters, another "." changes two characters. (Robert Webb) 13846Solution: Don't store the size of the Visual area when redo is active. 13847Files: src/normal.c 13848 13849============================================================================== 13850VERSION 6.4 *version-6.4* 13851 13852This section is about improvements made between version 6.3 and 6.4. 13853 13854This is a bug-fix release. There are also a few new features. The major 13855number of new items is in the runtime files and translations. 13856 13857The big MS-Windows version now uses: 13858 Ruby version 1.8.3 13859 Perl version 5.8.7 13860 Python version 2.4.2 13861 13862 13863Changed *changed-6.4* 13864------- 13865 13866Removed runtime/tools/tcltags, Exuberant ctags does it better. 13867 13868 13869Added *added-6.4* 13870----- 13871 13872Alsaconf syntax file (Nikolai Weibull) 13873Eruby syntax, indent, compiler and ftplugin file (Doug Kearns) 13874Esterel syntax file (Maurizio Tranchero) 13875Mathematica indent file (Steve Layland) 13876Netrc syntax file (Nikolai Weibull) 13877PHP compiler file (Doug Kearns) 13878Pascal indent file (Neil Carter) 13879Prescribe syntax file (Klaus Muth) 13880Rubyunit compiler file (Doug Kearns) 13881SMTPrc syntax file (Kornel Kielczewski) 13882Sudoers syntax file (Nikolai Weibull) 13883TPP syntax file (Gerfried Fuchs) 13884VHDL ftplugin file (R. Shankar) 13885Verilog-AMS syntax file (S. Myles Prather) 13886 13887Bulgarian keymap (Alberto Mardegan) 13888Canadian keymap (Eric Joanis) 13889 13890Hungarian menu translations in UTF-8 (Kantra Gergely) 13891Ukrainian menu translations (Bohdan Vlasyuk) 13892 13893Irish message translations (Kevin Patrick Scannell) 13894 13895Configure also checks for tclsh8.4. 13896 13897 13898Fixed *fixed-6.4* 13899----- 13900 13901"dFxd;" deleted the character under the cursor, "d;" didn't remember the 13902exclusiveness of the motion. 13903 13904When using "set laststatus=2 cmdheight=2" in the .gvimrc you may only get one 13905line for the cmdline. (Christian Robinson) Invoke command_height() after the 13906GUI has started up. 13907 13908Gcc would warn "dereferencing type-punned pointer will break strict -aliasing 13909rules". Avoid using typecasts for variable pointers. 13910 13911Gcc 3.x interprets the -MM argument differently. Change "-I /path" to 13912"-isystem /path" for "make depend". 13913 13914 13915Patch 6.3.001 13916Problem: ":browse split" gives the file selection dialog twice. (Gordon 13917 Bazeley) Same problem for ":browse diffpatch". 13918Solution: Reset cmdmod.browse before calling do_ecmd(). 13919Files: src/diff.c, src/ex_docmd.c 13920 13921Patch 6.3.002 13922Problem: When using translated help files with non-ASCII latin1 characters 13923 in the first line the utf-8 detection is wrong. 13924Solution: Properly detect utf-8 characters. When a mix of encodings is 13925 detected continue with the next language and avoid a "no matches" 13926 error because of "got_int" being set. Add the directory name to 13927 the error message for a duplicate tag. 13928Files: src/ex_cmds.c 13929 13930Patch 6.3.003 13931Problem: Crash when using a console dialog and the first choice does not 13932 have a default button. (Darin Ohashi) 13933Solution: Allocate two more characters for the [] around the character for 13934 the default choice. 13935Files: src/message.c 13936 13937Patch 6.3.004 13938Problem: When searching for a long string (140 chars in a 80 column 13939 terminal) get three hit-enter prompts. (Robert Webb) 13940Solution: Avoid the hit-enter prompt when giving the message for wrapping 13941 around the end of the buffer. Don't give that message again when 13942 the string was not found. 13943Files: src/message.c, src/search.c 13944 13945Patch 6.3.005 13946Problem: Crash when searching for a pattern with a character offset and 13947 starting in a closed fold. (Frank Butler) 13948Solution: Check for the column to be past the end of the line. Also fix 13949 that a pattern with a character offset relative to the end isn't 13950 read back from the viminfo properly. 13951Files: src/search.c 13952 13953Patch 6.3.006 13954Problem: ":breakadd file *foo" prepends the current directory to the file 13955 pattern. (Hari Krishna Dara) 13956Solution: Keep the pattern as-is. 13957Files: src/ex_cmds2.c 13958 13959Patch 6.3.007 13960Problem: When there is a buffer with 'buftype' set to "nofile" and using a 13961 ":cd" command, the swap file is not deleted when exiting. 13962Solution: Use the full path of the swap file also for "nofile" buffers. 13963Files: src/fileio.c 13964 13965Patch 6.3.008 13966Problem: Compiling fails under OS/2. 13967Solution: Include "e_screenmode" also for OS/2. (David Sanders) 13968Files: src/globals.h 13969 13970Patch 6.3.009 (after 6.3.006) 13971Problem: ":breakadd file /path/foo.vim" does not match when a symbolic link 13972 is involved. (Servatius Brandt) 13973Solution: Do expand the pattern when it does not start with "*". 13974Files: runtime/doc/repeat.txt, src/ex_cmds2.c 13975 13976Patch 6.3.010 13977Problem: When writing to a named pipe there is an error for fsync() 13978 failing. 13979Solution: Ignore the fsync() error for devices. 13980Files: src/fileio.c 13981 13982Patch 6.3.011 13983Problem: Crash when the completion function of a user-command uses a 13984 "normal :cmd" command. (Hari Krishna Dara) 13985Solution: Save the command line when invoking the completion function. 13986Files: src/ex_getln.c 13987 13988Patch 6.3.012 13989Problem: Internal lalloc(0) error when using a complicated multi-line 13990 pattern in a substitute command. (Luc Hermitte) 13991Solution: Avoid going past the end of a line. 13992Files: src/ex_cmds.c 13993 13994Patch 6.3.013 13995Problem: Crash when editing a command line and typing CTRL-R = to evaluate 13996 a function that uses "normal :cmd". (Hari Krishna Dara) 13997Solution: Save and restore the command line when evaluating an expression 13998 for CTRL-R =. 13999Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, 14000 src/proto/ops.pro 14001 14002Patch 6.3.014 14003Problem: When using Chinese or Taiwanese the default for 'helplang' is 14004 wrong. (Simon Liang) 14005Solution: Use the part of the locale name after "zh_". 14006Files: src/option.c 14007 14008Patch 6.3.015 14009Problem: The string that winrestcmd() returns may end in garbage. 14010Solution: NUL-terminate the string. (Walter Briscoe) 14011Files: src/eval.c 14012 14013Patch 6.3.016 14014Problem: The default value for 'define' has "\s" before '#'. 14015Solution: Add a star after "\s". (Herculano de Lima Einloft Neto) 14016Files: src/option.c 14017 14018Patch 6.3.017 14019Problem: "8zz" may leave the cursor beyond the end of the line. (Niko 14020 Maatjes) 14021Solution: Correct the cursor column after moving to another line. 14022Files: src/normal.c 14023 14024Patch 6.3.018 14025Problem: ":0argadd zero" added the argument after the first one, instead of 14026 before it. (Adri Verhoef) 14027Solution: Accept a zero range for ":argadd". 14028Files: src/ex_cmds.h 14029 14030Patch 6.3.019 14031Problem: Crash in startup for debug version. (David Rennals) 14032Solution: Move the call to nbdebug_wait() to after allocating NameBuff. 14033Files: src/main.c 14034 14035Patch 6.3.020 14036Problem: When 'encoding' is "utf-8" and 'delcombine' is set, "dw" does not 14037 delete a word but only a combining character of the first 14038 character, if there is one. (Raphael Finkel) 14039Solution: Correctly check that one character is being deleted. 14040Files: src/misc1.c 14041 14042Patch 6.3.021 14043Problem: When the last character of a file name is a multi-byte character 14044 and the last byte is a path separator, the file cannot be edited. 14045Solution: Check for the last byte to be part of a multi-byte character. 14046 (Taro Muraoka) 14047Files: src/fileio.c 14048 14049Patch 6.3.022 (extra) 14050Problem: Win32: When the last character of a file name is a multi-byte 14051 character and the last byte is a path separator, the file cannot 14052 be written. A trail byte that is a space makes that a file cannot 14053 be opened from the command line. 14054Solution: Recognize double-byte characters when parsing the command line. 14055 In mch_stat() check for the last byte to be part of a multi-byte 14056 character. (Taro Muraoka) 14057Files: src/gui_w48.c, src/os_mswin.c 14058 14059Patch 6.3.023 14060Problem: When the "to" part of a mapping starts with its "from" part, 14061 abbreviations for the same characters is not possible. For 14062 example, when <Space> is mapped to something that starts with a 14063 space, typing <Space> does not expand abbreviations. 14064Solution: Only disable expanding abbreviations when a mapping is not 14065 remapped, don't disable it when the RHS of a mapping starts with 14066 the LHS. 14067Files: src/getchar.c, src/vim.h 14068 14069Patch 6.3.024 14070Problem: In a few places a string in allocated memory is not terminated 14071 with a NUL. 14072Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and 14073 serverGetVimNames(). 14074Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.c 14075 14076Patch 6.3.025 (extra) 14077Problem: Missing NUL for list of server names. 14078Solution: Add ga_append(NUL) in serverGetVimNames(). 14079Files: src/os_mswin.c 14080 14081Patch 6.3.026 14082Problem: When ~/.vim/after/syntax/syncolor.vim contains a command that 14083 reloads the colors an endless loop and/or a crash may occur. 14084Solution: Only free the old value of an option when it was originally 14085 allocated. Limit recursiveness of init_highlight() to 5 levels. 14086Files: src/option.c, src/syntax.c 14087 14088Patch 6.3.027 14089Problem: VMS: Writing a file may insert extra CR characters. Not all 14090 terminals are recognized correctly. Vt320 doesn't support colors. 14091 Environment variables are not expanded correctly. 14092Solution: Use another method to write files. Add vt320 termcap codes for 14093 colors. (Zoltan Arpadffy) 14094Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h, 14095 src/term.c 14096 14097Patch 6.3.028 14098Problem: When appending to a file the BOM marker may be written. (Alex 14099 Jakushev) 14100Solution: Do not write the BOM marker when appending. 14101Files: src/fileio.c 14102 14103Patch 6.3.029 14104Problem: Crash when inserting a line break. (Walter Briscoe) 14105Solution: In the syntax highlighting code, don't use an old state after a 14106 change was made, current_col may be past the end of the line. 14107Files: src/syntax.c 14108 14109Patch 6.3.030 14110Problem: GTK 2: Crash when sourcing a script that deletes the menus, sets 14111 'encoding' to "utf-8" and loads the menus again. GTK error 14112 message when tooltip text is in a wrong encoding. 14113Solution: Don't copy characters from the old screen to the new screen when 14114 switching 'encoding' to utf-8, they may be invalid. Only set the 14115 tooltip when it is valid utf-8. 14116Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.c 14117 14118Patch 6.3.031 14119Problem: When entering a mapping and pressing Tab halfway the command line 14120 isn't redrawn properly. (Adri Verhoef) 14121Solution: Reposition the cursor after drawing over the "..." of the 14122 completion attempt. 14123Files: src/ex_getln.c 14124 14125Patch 6.3.032 14126Problem: Using Python 2.3 with threads doesn't work properly. 14127Solution: Release the lock after initialization. 14128Files: src/if_python.c 14129 14130Patch 6.3.033 14131Problem: When a mapping ends in a Normal mode command of more than one 14132 character Vim doesn't return to Insert mode. 14133Solution: Check that the mapping has ended after obtaining all characters of 14134 the Normal mode command. 14135Files: src/normal.c 14136 14137Patch 6.3.034 14138Problem: VMS: crash when using ":help". 14139Solution: Avoid using "tags-??", some Open VMS systems can't handle the "?" 14140 wildcard. (Zoltan Arpadffy) 14141Files: src/tag.c 14142 14143Patch 6.3.035 (extra) 14144Problem: RISC OS: Compile errors. 14145Solution: Change e_screnmode to e_screenmode. Change the way 14146 __riscosify_control is set. Improve the makefile. (Andy Wingate) 14147Files: src/os_riscos.c, src/search.c, src/Make_ro.mak 14148 14149Patch 6.3.036 14150Problem: ml_get errors when the whole file is a fold, switching 14151 'foldmethod' and doing "zj". (Christian J. Robinson) Was not 14152 deleting the fold but creating a fold with zero lines. 14153Solution: Delete the fold properly. 14154Files: src/fold.c 14155 14156Patch 6.3.037 (after 6.3.032) 14157Problem: Warning for unused variable. 14158Solution: Change the #ifdefs for the saved thread stuff. 14159Files: src/if_python.c 14160 14161Patch 6.3.038 (extra) 14162Problem: Win32: When the "file changed" dialog pops up after a click that 14163 gives gvim focus and not moving the mouse after that, the effect 14164 of the click may occur when moving the mouse later. (Ken Clark) 14165 Happened because the release event was missed. 14166Solution: Clear the s_button_pending variable when any input is received. 14167Files: src/gui_w48.c 14168 14169Patch 6.3.039 14170Problem: When 'number' is set and inserting lines just above the first 14171 displayed line (in another window on the same buffer), the line 14172 numbers are not updated. (Hitier Sylvain) 14173Solution: When 'number' is set and lines are inserted/deleted redraw all 14174 lines below the change. 14175Files: src/screen.c 14176 14177Patch 6.3.040 14178Problem: Error handling does not always work properly and may cause a 14179 buffer to be marked as if it's viewed in a window while it isn't. 14180 Also when selecting "Abort" at the attention prompt. 14181Solution: Add enter_cleanup() and leave_cleanup() functions to move 14182 saving/restoring things for error handling to one place. 14183 Clear a buffer read error when it's unloaded. 14184Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c, 14185 src/proto/ex_eval.pro, src/structs.h, src/vim.h 14186 14187Patch 6.3.041 (extra) 14188Problem: Win32: When the path to a file has Russian characters, ":cd %:p:h" 14189 doesn't work. (Valery Kondakoff) 14190Solution: Use a wide function to change directory. 14191Files: src/os_mswin.c 14192 14193Patch 6.3.042 14194Problem: When there is a closed fold at the top of the window, CTRL-X 14195 CTRL-E in Insert mode reduces the size of the fold instead of 14196 scrolling the text up. (Gautam) 14197Solution: Scroll over the closed fold. 14198Files: src/move.c 14199 14200Patch 6.3.043 14201Problem: 'hlsearch' highlighting sometimes disappears when inserting text 14202 in PHP code with syntax highlighting. (Marcel Svitalsky) 14203Solution: Don't use pointers to remember where a match was found, use an 14204 index. The pointers may become invalid when searching in other 14205 lines. 14206Files: src/screen.c 14207 14208Patch 6.3.044 (extra) 14209Problem: Mac: When 'linespace' is non-zero the Insert mode cursor leaves 14210 pixels behind. (Richard Sandilands) 14211Solution: Erase the character cell before drawing the text when needed. 14212Files: src/gui_mac.c 14213 14214 14215Patch 6.3.045 14216Problem: Unusual characters in an option value may cause unexpected 14217 behavior, especially for a modeline. (Ciaran McCreesh) 14218Solution: Don't allow setting termcap options or 'printdevice' in a 14219 modeline. Don't list options for "termcap" and "all" in a 14220 modeline. Don't allow unusual characters in 'filetype', 'syntax', 14221 'backupext', 'keymap', 'patchmode' and 'langmenu'. 14222Files: src/option.c, runtime/doc/options.txt 14223 14224Patch 6.3.046 14225Problem: ":registers" doesn't show multi-byte characters properly. 14226 (Valery Kondakoff) 14227Solution: Get the length of each character before displaying it. 14228Files: src/ops.c 14229 14230Patch 6.3.047 (extra) 14231Problem: Win32 with Borland C 5.5 on Windows XP: A new file is created with 14232 read-only attributes. (Tony Mechelynck) 14233Solution: Don't use the _wopen() function for Borland. 14234Files: src/os_win32.c 14235 14236Patch 6.3.048 (extra) 14237Problem: Build problems with VMS on IA64. 14238Solution: Add dependencies to the build file. (Zoltan Arpadffy) 14239Files: src/Make_vms.mms 14240 14241Patch 6.3.049 (after 6.3.045) 14242Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy) 14243Solution: Add a typecast. 14244Files: src/option.c 14245 14246Patch 6.3.050 14247Problem: When SIGHUP is received while busy exiting, non-reentrant 14248 functions such as free() may cause a crash. 14249Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson) 14250Files: src/misc1.c, src/main.c 14251 14252Patch 6.3.051 14253Problem: When 'wildmenu' is set and completed file names contain multi-byte 14254 characters Vim may crash. 14255Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto) 14256Files: src/screen.c 14257 14258Patch 6.3.052 (extra) 14259Problem: Windows 98: typed keys that are not ASCII may not work properly. 14260 For example with a Russian input method. (Jiri Jezdinsky) 14261Solution: Assume that the characters arrive in the current codepage instead 14262 of UCS-2. Perform conversion based on that. 14263Files: src/gui_w48.c 14264 14265Patch 6.3.053 14266Problem: Win32: ":loadview" cannot find a file with non-ASCII characters. 14267 (Valerie Kondakoff) 14268Solution: Use mch_open() instead of open() to open the file. 14269Files: src/ex_cmds2.c 14270 14271Patch 6.3.054 14272Problem: When 'insertmode' is set <C-L>4ixxx<C-L> hangs Vim. (Jens Paulus) 14273 Vim is actually still working but redraw is disabled. 14274Solution: When stopping Insert mode with CTRL-L don't put an Esc in the redo 14275 buffer but a CTRL-L. 14276Files: src/edit.c 14277 14278Patch 6.3.055 (after 6.3.013) 14279Problem: Can't use getcmdline(), getcmdpos() or setcmdpos() with <C-R>= 14280 when editing a command line. Using <C-\>e may crash Vim. (Peter 14281 Winters) 14282Solution: When moving ccline out of the way for recursive use, make it 14283 available to the functions that need it. Also save and restore 14284 ccline when calling get_expr_line(). Make ccline.cmdbuf NULL at 14285 the end of getcmdline(). 14286Files: src/ex_getln.c 14287 14288Patch 6.3.056 14289Problem: The last characters of a multi-byte file name may not be displayed 14290 in the window title. 14291Solution: Avoid to remove a multi-byte character where the last byte looks 14292 like a path separator character. (Yasuhiro Matsumoto) 14293Files: src/buffer.c, src/ex_getln.c 14294 14295Patch 6.3.057 14296Problem: When filtering lines folds are not updated. (Carl Osterwisch) 14297Solution: Update folds for filtered lines. 14298Files: src/ex_cmds.c 14299 14300Patch 6.3.058 14301Problem: When 'foldcolumn' is equal to the window width and 'wrap' is on 14302 Vim may crash. Disabling the vertical split feature breaks 14303 compiling. (Peter Winters) 14304Solution: Check for zero room for wrapped text. Make compiling without 14305 vertical splits possible. 14306Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.c 14307 14308Patch 6.3.059 14309Problem: Crash when expanding an ":edit" command containing several spaces 14310 with the shell. (Brian Hirt) 14311Solution: Allocate enough space for the quotes. 14312Files: src/os_unix.c 14313 14314Patch 6.3.060 14315Problem: Using CTRL-R CTRL-O in Insert mode with an invalid register name 14316 still causes something to be inserted. 14317Solution: Check the register name for being valid. 14318Files: src/edit.c 14319 14320Patch 6.3.061 14321Problem: When editing a utf-8 file in an utf-8 xterm and there is a 14322 multi-byte character in the last column, displaying is messed up. 14323 (Jo�l Rio) 14324Solution: Check for a multi-byte character, not a multi-column character. 14325Files: src/screen.c 14326 14327Patch 6.3.062 14328Problem: ":normal! gQ" hangs. 14329Solution: Quit getcmdline() and do_exmode() when out of typeahead. 14330Files: src/ex_getln.c, src/ex_docmd.c 14331 14332Patch 6.3.063 14333Problem: When a CursorHold autocommand changes to another window 14334 (temporarily) 'mousefocus' stops working. 14335Solution: Call gui_mouse_correct() after triggering CursorHold. 14336Files: src/gui.c 14337 14338Patch 6.3.064 14339Problem: line2byte(line("$") + 1) sometimes returns the wrong number. 14340 (Charles Campbell) 14341Solution: Flush the cached line before counting the bytes. 14342Files: src/memline.c 14343 14344Patch 6.3.065 14345Problem: The euro digraph doesn't always work. 14346Solution: Add an "e=" digraph for Unicode euro character and adjust the 14347 help files. 14348Files: src/digraph.c, runtime/doc/digraph.txt 14349 14350Patch 6.3.066 14351Problem: Backup file may get wrong permissions. 14352Solution: Use permissions of original file for backup file in more places. 14353Files: src/fileio.c 14354 14355Patch 6.3.067 (after 6.3.066) 14356Problem: Newly created file gets execute permission. 14357Solution: Check for "perm" to be negative before using it. 14358Files: src/fileio.c 14359 14360Patch 6.3.068 14361Problem: When editing a compressed file xxx.gz which is a symbolic link to 14362 the actual file a ":write" renames the link. 14363Solution: Resolve the link, so that the actual file is renamed and 14364 compressed. 14365Files: runtime/plugin/gzip.vim 14366 14367Patch 6.3.069 14368Problem: When converting text with illegal characters Vim may crash. 14369Solution: Avoid that too much is subtracted from the length. (Da Woon Jung) 14370Files: src/mbyte.c 14371 14372Patch 6.3.070 14373Problem: After ":set number linebreak wrap" and a vertical split, moving 14374 the vertical separator far left will crash Vim. (Georg Dahn) 14375Solution: Avoid dividing by zero. 14376Files: src/charset.c 14377 14378Patch 6.3.071 14379Problem: The message for CTRL-X mode is still displayed after an error for 14380 'thesaurus' or 'dictionary' being empty. 14381Solution: Clear "edit_submode". 14382Files: src/edit.c 14383 14384Patch 6.3.072 14385Problem: Crash in giving substitute message when language is Chinese and 14386 encoding is utf-8. (Yongwei) 14387Solution: Make the msg_buf size larger when using multi-byte. 14388Files: src/vim.h 14389 14390Patch 6.3.073 14391Problem: Win32 GUI: When the Vim window is partly above or below the 14392 screen, scrolling causes display errors when the taskbar is not on 14393 that side. 14394Solution: Use the SW_INVALIDATE flag when the Vim window is partly below or 14395 above the screen. 14396Files: src/gui_w48.c 14397 14398Patch 6.3.074 14399Problem: When mswin.vim is used and 'insertmode' is set, typing text in 14400 Select mode and then using CTRL-V results in <SNR>99_Pastegi. 14401 (Georg Dahn) 14402Solution: When restart_edit is set use "d" instead of "c" to remove the 14403 selected text to avoid calling edit() twice. 14404Files: src/normal.c 14405 14406Patch 6.3.075 14407Problem: After unloading another buffer, syntax highlighting in the current 14408 buffer may be wrong when it uses "containedin". (Eric Arnold) 14409Solution: Use "buf" instead of "curbuf" in syntax_clear(). 14410Files: src/syntax.c 14411 14412Patch 6.3.076 14413Problem: Crash when using cscope and there is a parse error (e.g., line too 14414 long). (Alexey I. Froloff) 14415Solution: Pass the actual number of matches to cs_manage_matches() and 14416 correctly handle the error situation. 14417Files: src/if_cscope.c 14418 14419Patch 6.3.077 (extra) 14420Problem: VMS: First character input after ESC was not recognized. 14421Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy) 14422Files: src/os_vms.c 14423 14424Patch 6.3.078 (extra, after 6.3.077) 14425Problem: VMS: Performance issue after patch 6.3.077 14426Solution: Add a timeout in the itemlist. (Zoltan Arpadffy) 14427Files: src/os_vms.c 14428 14429Patch 6.3.079 14430Problem: Crash when executing a command in the command line window while 14431 syntax highlighting is enabled. (Pero Brbora) 14432Solution: Don't use a pointer to a buffer that has been deleted. 14433Files: src/syntax.c 14434 14435Patch 6.3.080 (extra) 14436Problem: Win32: With 'encoding' set to utf-8 while the current codepage is 14437 Chinese editing a file with some specific characters in the name 14438 fails. 14439Solution: Use _wfullpath() instead of _fullpath() when necessary. 14440Files: src/os_mswin.c 14441 14442Patch 6.3.081 14443Problem: Unix: glob() may execute a shell command when it's not wanted. 14444 (Georgi Guninski) 14445Solution: Verify the sandbox flag is not set. 14446Files: src/os_unix.c 14447 14448Patch 6.3.082 (after 6.3.081) 14449Problem: Unix: expand() may execute a shell command when it's not wanted. 14450 (Georgi Guninski) 14451Solution: A more generic solution than 6.3.081. 14452Files: src/os_unix.c 14453 14454Patch 6.3.083 14455Problem: VMS: The vt320 termcap entry is incomplete. 14456Solution: Add missing function keys. (Zoltan Arpadffy) 14457Files: src/term.c 14458 14459Patch 6.3.084 (extra) 14460Problem: Cygwin: compiling with DEBUG doesn't work. Perl path was ignored. 14461 Failure when $(OUTDIR) already exists. "po" makefile is missing. 14462Solution: Use changes tested in Vim 7. (Tony Mechelynck) 14463Files: src/Make_cyg.mak, src/po/Make_cyg.mak 14464 14465Patch 6.3.085 14466Problem: Crash in syntax highlighting code. (Marc Espie) 14467Solution: Prevent current_col going past the end of the line. 14468Files: src/syntax.c 14469 14470Patch 6.3.086 (extra) 14471Problem: Can't produce message translation file with msgfmt that checks 14472 printf strings. 14473Solution: Fix the Russian translation. 14474Files: src/po/ru.po, src/po/ru.cp1251.po 14475 14476Patch 6.3.087 14477Problem: MS-DOS: Crash. (Jason Hood) 14478Solution: Don't call fname_case() with a NULL pointer. 14479Files: src/ex_cmds.c 14480 14481Patch 6.3.088 14482Problem: Editing ".in" causes error E218. (Stefan Karlsson) 14483Solution: Require some characters before ".in". Same for ".orig" and others. 14484Files: runtime/filetype.vim 14485 14486Patch 6.3.089 14487Problem: A session file doesn't work when created while the current 14488 directory contains a space or the directory of the session files 14489 contains a space. (Paolo Giarrusso) 14490Solution: Escape spaces with a backslash. 14491Files: src/ex_docmd.c 14492 14493Patch 6.3.090 14494Problem: A very big value for 'columns' or 'lines' may cause a crash. 14495Solution: Limit the values to 10000 and 1000. 14496Files: src/option.c 14497 14498Patch 6.4a.001 14499Problem: The Unix Makefile contained too many dependencies and a few 14500 uncommented lines. 14501Solution: Run "make depend" with manual changes to avoid a gcc 14502 incompatibility. Comment a few lines. 14503Files: src/Makefile 14504 14505Patch 6.4b.001 14506Problem: Vim reports "Vim 6.4a" in the ":version" output. 14507Solution: Change "a" to "b". (Tony Mechelynck) 14508Files: src/version.h 14509 14510Patch 6.4b.002 14511Problem: In Insert mode, pasting a multi-byte character after the end of 14512 the line leaves the cursor just before that character. 14513Solution: Make sure "gP" leaves the cursor in the right place when 14514 'virtualedit' is set. 14515Files: src/ops.c 14516 14517Patch 6.4b.003 (after 6.4b.002) 14518Problem: The problem still exists when 'encoding' is set to "cp936". 14519Solution: Fix the problem in getvvcol(), compute the coladd field correctly. 14520Files: src/charset.c, src/ops.c 14521 14522Patch 6.4b.004 14523Problem: Selecting a {} block with "viB" includes the '}' when there is an 14524 empty line before it. 14525Solution: Don't advance the cursor to include a line break when it's already 14526 at the line break. 14527Files: src/search.c 14528 14529 14530 vim:tw=78:ts=8:ft=help:norl: 14531