1*version6.txt* For Vim version 7.0aa. Last change: 2004 Jun 16 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 83============================================================================== 84INCOMPATIBLE CHANGES *incompatible-6* 85 86These changes are incompatible with previous releases. Check this list if you 87run into a problem when upgrading from Vim 5.x to 6.0 88 89 90Cursor position in Visual mode *curpos-visual* 91------------------------------ 92 93When going from one window to another window on the same buffer while in 94Visual mode, the cursor position of the other window is adjusted to keep the 95same Visual area. This can be used to set the start of the Visual area in one 96window and the end in another. In vim 5.x the cursor position of the other 97window would be used, which could be anywhere and was not very useful. 98 99 100Substitute command Vi compatible *substitute-CR* 101-------------------------------- 102 103The substitute string (the "to" part of the substitute command) has been made 104Vi compatible. Previously a CTRL-V had a special meaning and could be used to 105prevent a <CR> to insert a line break. This made it impossible to insert a 106CTRL-V before a line break. Now a backslash is used to prevent a <CR> to 107cause a line break. Since the number of backslashes is halved, it is still 108possible to insert a line break at the end of the line. This now works just 109like Vi, but it's not compatible with Vim versions before 6.0. 110 111When a ":s" command doesn't make any substitutions, it no longer sets the '[ 112and '] marks. This is not related to Vi, since it doesn't have these marks. 113 114 115Global option values introduced *new-global-values* 116------------------------------- 117 118There are now global values for options which are local to a buffer or window. 119Previously the local options were copied from one buffer to another. When 120editing another file this could cause option values from a modeline to be used 121for the wrong file. Now the global values are used when entering a buffer 122that has not been used before. Also, when editing another buffer in a window, 123the local window options are reset to their global values. The ":set" command 124sets both the local and global values, this is still compatible. But a 125modeline only sets the local value, this is not backwards compatible. 126 127":let &opt = val" now sets the local and global values, like ":set". New 128commands have been added to set the global or local value: 129 :let &opt = val like ":set" 130 :let &g:opt = val like ":setglobal" 131 :let &l:opt = val like ":setlocal" 132 133 134'fileencoding' changed *fileencoding-changed* 135---------------------- 136 137'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim. 138This was a bit strange, because it was local to a buffer and worked for all 139buffers. It could never be different between buffers, because it changed the 140way text in all buffers was interpreted. 141It is now used for the encoding of the file related to the buffer. If you 142still set 'fileencoding' it is likely to be overwritten by the detected 143encoding from 'fileencodings', thus it is "mostly harmless". 144The old FileEncoding autocommand now does the same as the new EncodingChanged 145event. 146 147 148Digraphs changed *digraphs-changed* 149---------------- 150 151The default digraphs now correspond to RFC1345. This is very different from 152what was used in Vim 5.x. |digraphs| 153 154 155Filetype detection changed *filetypedetect-changed* 156-------------------------- 157 158The filetype detection previously was using the "filetype" autocommand group. 159This caused confusion with the FileType event name (case is ignored). The 160group is now called "filetypedetect". It still works, but if the "filetype" 161group is used the autocommands will not be removed by ":filetype off". 162 The support for 'runtimepath' has made the "myfiletypefile" and 163"mysyntaxfile" mechanism obsolete. They are still used for backwards 164compatibility. 165 166The connection between the FileType event and setting the 'syntax' option was 167previously in the "syntax" autocommand group. That caused confusion with the 168Syntax event name. The group is now called "syntaxset". 169 170The distributed syntax files no longer contain "syntax clear". That makes it 171possible to include one in the other without tricks. The syntax is now 172cleared when the 'syntax' option is set (by an autocommand added from 173synload.vim). This makes the syntax cleared when the value of 'syntax' does 174not correspond to a syntax file. Previously the existing highlighting was 175kept. 176 177 178Unlisted buffers introduced *new-unlisted-buffers* 179--------------------------- 180 181There is now a difference between buffers which don't appear in the buffer 182list and buffers which are really not in the buffer list. Commands like 183":ls", ":bnext", ":blast" and the Buffers menu will skip buffers not in the 184buffer list. |unlisted-buffer| 185The 'buflisted' option can be used to make a buffer appear in the buffer list 186or not. 187 188Several commands that previously added a buffer to the buffer list now create 189an unlisted buffer. This means that a ":bnext" and ":ball" will not find these 190files until they have actually been edited. For example, buffers used for the 191alternative file by ":write file" and ":read file". 192 Other commands previously completely deleted a buffer and now only remove 193the buffer from the buffer list. Commands relying on a buffer not to be 194present might fail. For example, a ":bdelete" command in an autocommand that 195relied on something following to fail (was used in the automatic tests). 196|:bwipeout| can be used for the old meaning of ":bdelete". 197 198The BufDelete autocommand event is now triggered when a buffer is removed from 199the buffer list. The BufCreate event is only triggered when a buffer is 200created that is added to the buffer list, or when an existing buffer is added 201to the buffer list. BufAdd is a new name for BufCreate. 202The new BufNew event is for creating any buffer and BufWipeout for really 203deleting a buffer. 204 205When doing Insert mode completion, only buffers in the buffer list are 206scanned. Added the 'U' flag to 'complete' to do completion from unlisted 207buffers. 208 209Unlisted buffers are not stored in a viminfo file. 210 211 212CTRL-U in Command-line mode changed *CTRL-U-changed* 213----------------------------------- 214 215Using CTRL-U when editing the command line cleared the whole line. Most 216shells only delete the characters before the cursor. Made it work like that. 217(Steve Wall) 218 219You can get the old behavior with CTRL-E CTRL-U: > 220 :cnoremap <C-U> <C-E><C-U> 221 222 223Ctags gone *ctags-gone* 224---------- 225 226Ctags is no longer part of the Vim distribution. It's now a grown-up program 227by itself, it deserves to be distributed separately. 228Ctags can be found here: http://ctags.sf.net/. 229 230 231Documentation reorganized *documentation-6* 232------------------------- 233 234The documentation has been reorganized, an item may not be where you found it 235in Vim 5.x. 236- The user manual was added, some items have been moved to it from the 237 reference manual. 238- The quick reference is now in a separate file (so that it can be printed). 239 240The examples in the documentation were previously marked with a ">" in the 241first column. This made it difficult to copy/paste them. There is now a 242single ">" before the example and it ends at a "<" or a non-blank in the first 243column. This also looks better without highlighting. 244 245'helpfile' is no longer used to find the help tags file. This allows a user 246to add its own help files (e.g., for plugins). 247 248 249Modeless selection and clipboard *modeless-and-clipboard* 250-------------------------------- 251 252The modeless selection is used to select text when Visual mode can't be used, 253for example when editing the command line or at the more prompt. 254In Vim 5.x the modeless selection was always used. On MS-Windows this caused 255the clipboard to be overwritten, with no way to avoid that. The modeless 256selection now obeys the 'a' and 'A' flags in 'guioptions' and "autoselect" and 257"autoselectml" in 'clipboard'. By default there is no automatic copy on 258MS-Windows. Use the |c_CTRL-Y| command to manually copy the selection. 259 260To get the old behavior back, do this: > 261 262 :set clipboard^=autoselectml guioptions+=A 263 264 265Small incompatibilities *incomp-small-6* 266----------------------- 267 268'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg', 269'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg', 270'viminfo' and 'runtimepath' can no longer be set from a modeline, for better 271security. 272 273Removed '_' from the 'breakat' default: It's commonly used in keywords. 274 275The default for 'mousehide' is on, because this works well for most people. 276 277The Amiga binary is now always compiled with "big" features. The "big" binary 278archive no longer exists. 279 280The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in 281'statusline' no longer have a leading space. 282 283Non-Unix systems: When expanding wildcards for the Vim arguments, don't use 284'suffixes'. It now works as if the shell had expanded the arguments. 285 286The 'lisp', 'smartindent' and 'cindent' options are not switched off when 287'paste' is set. The auto-indenting is disabled when 'paste' is set, but 288manual indenting with "=" still works. 289 290When formatting with "=" uses 'cindent' or 'indentexpr' indenting, and there 291is no change in indent, this is not counted as a change ('modified' isn't set 292and there is nothing to undo). 293 294Report 'modified' as changed when 'fileencoding' or 'fileformat' was set. 295Thus it reflects the possibility to abandon the buffer without losing changes. 296 297The "Save As" menu entry now edits the saved file. Most people expect it to 298work like this. 299 300A buffer for a directory is no longer added to the Buffers menu. 301 302Renamed <Return> to <Enter>, since that's what it's called on most keyboards. 303Thus it's now the hit-enter prompt instead of the hit-return prompt. 304Can map <Enter> just like <CR> or <Return>. 305 306The default for the 'viminfo' option is now '20,"50,h when 'compatible' isn't 307set. Most people will want to use it, including beginners, but it required 308setting the option, which isn't that easy. 309 310After using ":colder" the newer error lists are overwritten. This makes it 311possible to use ":grep" to browse in a tree-like way. Must use ":cnewer 99" 312to get the old behavior. 313 314The patterns in 'errorformat' would sometimes ignore case (MS-Windows) and 315sometimes not (Unix). Now case is always ignored. Add "\C" to the pattern to 316match case. 317 318The 16 bit MS-DOS version is now compiled without the +listcmds feature 319(buffer list manipulation commands). They are not often needed and this 320executable needs to be smaller. 321 322'sessionoptions' now includes "curdir" by default. This means that restoring 323a session will result in the current directory being restored, instead of 324going to the directory where the session file is located. 325 326A session deleted all buffers, deleting all marks. Now keep the buffer list, 327it shouldn't hurt for some existing buffers to remain present. 328When the argument list is empty ":argdel *" caused an error message. 329 330No longer put the search pattern from a tag jump in the history. 331 332Use "SpecialKey" highlighting for unprintable characters instead of "NonText". 333The idea is that unprintable text or any text that's displayed differently 334from the characters in the file is using "SpecialKey", and "NonText" is used 335for text that doesn't really exist in the file. 336 337Motif now uses the system default colors for the menu and scrollbar. Used to 338be grey. It's still possible to set the colors with ":highlight" commands and 339resources. 340 341Formatting text with "gq" breaks a paragraph at a non-empty blank line. 342Previously the line would be removed, which wasn't very useful. 343 344":normal" does no longer hang when the argument ends in half a command. 345Previously Vim would wait for more characters to be typed, without updating 346the screen. Now it pretends an <Esc> was typed. 347 348Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but in 349the "bitmaps" directories in 'runtimepath'. 350 351Now use the Cmdline-mode menus for the hit-enter prompt instead of the Normal 352mode menus. This generally works better and allows using the "Copy" menu to 353produce CTRL-Y to copy the modeless selection. 354 355Moved the font selection from the Window to the Edit menu, together with the 356other settings. 357 358The default values for 'isfname' include more characters to make "gf" work 359better. 360 361Changed the license for the documentation to the Open Publication License. 362This seemed fair, considering the inclusion of parts of the Vim book, which is 363also published under the OPL. The downside is that we can't force someone who 364would sell copies of the manual to contribute to Uganda. 365 366After "ayy don't let ""yy or :let @" = val overwrite the "a register. 367Use the unnamed register instead. 368 369MSDOS: A pattern "*.*" previously also matched a file name without a dot. 370This was inconsistent with other versions. 371 372In Insert mode, CTRL-O CTRL-\ CTRL-N {cmd} remains in Normal mode. Previously 373it would go back to Insert mode, thus confusing the meaning of CTRL-\ CTRL-N, 374which is supposed to take us to Normal mode (especially in ":amenu"). 375 376Allow using ":" commands after an operator. Could be used to implement a new 377movement command. Thus it no longer aborts a pending operator. 378 379For the Amiga the "-d {device}" argument was possible. When compiled with the 380diff feature, this no longer works. Use "-dev {device}" instead. |-dev| 381 382Made the default mappings for <S-Insert> in Insert mode insert the text 383literally, avoids that special characters like BS cause side effects. 384 385Using ":confirm" applied to the rest of the line. Now it applies only to the 386command right after it. Thus ":confirm if x | edit | endif" no longer works, 387use ":if x | confirm edit | endif". This was the original intention, that it 388worked differently was a bug. 389 390============================================================================== 391NEW FEATURES *new-6* 392 393Folding *new-folding* 394------- 395 396Vim can now display a buffer with text folded. This allows overviewing the 397structure of a file quickly. It is also possible to yank, delete and put 398folded text, for example to move a function to another position. 399 400There is a whole bunch of new commands and options related to folding. 401See |folding|. 402 403 404Vertically split windows *new-vertsplit* 405------------------------ 406 407Windows can also be split vertically. This makes it possible to have windows 408side by side. One nice use for this is to compare two similar files (see 409|new-diff-mode|). The 'scrollbind' option can be used to synchronize 410scrolling. 411 412A vertical split can be created with the commands: 413 :vsplit or CTRL-W v or CTRL-W CTRL-V |:vsplit| 414 :vnew |:vnew| 415 :vertical {cmd} |:vertical| 416The last one is a modifier, which has a meaning for any command that splits a 417window. For example: > 418 :vertical stag main 419Will vertically split the window and jump to the tag "main" in the new window. 420 421Moving from window to window horizontally can be done with the |CTRL-W_h| and 422|CTRL-W_l| commands. The |CTRL-W_k| and |CTRL-W_j| commands have been changed 423to jump to the window above or below the cursor position. 424 425The vertical and horizontal splits can be mixed as you like. Resizing windows 426is easy when using the mouse, just position the pointer on a status line or 427vertical separator and drag it. In the GUI a special mouse pointer shape 428indicates where you can drag a status or separator line. 429 430To resize vertically split windows use the |CTRL-W_<| and |CTRL-W_>| commands. 431To make a window the maximum width use the CTRL-W | command |CTRL-W_bar|. 432 433To force a new window to use the full width or height of the Vim window, 434these two modifiers are available: 435 :topleft {cmd} New window appears at the top with full 436 width or at the left with full height. 437 :botright {cmd} New window appears at the bottom with full 438 width or at the right with full height. 439This can be combined with ":vertical" to force a vertical split: > 440 :vert bot dsplit DEBUG 441This will open a window at the far right, occupying the full height of the Vim 442window, with the cursor on the first definition of "DEBUG". 443The help window is opened at the top, like ":topleft" was used, if the current 444window is fewer than 80 characters wide. 445 446A few options can be used to set the preferences for vertically split windows. 447They work similar to their existing horizontal equivalents: 448 horizontal vertical ~ 449 'splitbelow' 'splitright' 450 'winheight' 'winwidth' 451 'winminheight' 'winminwidth' 452It's possible to set 'winminwidth' to zero, so that temporarily unused windows 453hardly take up space without closing them. 454 455The new 'eadirection' option tells where 'equalalways' applies: 456 :set eadirection=both both directions 457 :set eadirection=ver equalize window heights 458 :set eadirection=hor equalize windows widths 459This can be used to avoid changing window sizes when you want to keep them. 460 461Since windows can become quite narrow with vertical splits, text lines will 462often not fit. The 'sidescrolloff' has been added to keep some context left 463and right of the cursor. The 'listchars' option has been extended with the 464"precedes" item, to show a "<" for example, when there is text left off the 465screen. (Utz-Uwe Haus) 466 467"-O" command line argument: Like "-o" but split windows vertically. (Scott 468Urban) 469 470Added commands to move the current window to the very top (CTRL-W K), bottom 471(CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position the 472window uses the full width/height of the screen. 473 474When there is not enough room in the status line for both the file name and 475the ruler, use up to half the width for the ruler. Useful for narrow windows. 476 477 478Diff mode *new-diff-mode* 479--------- 480 481In diff mode Vim shows the differences between two, three or four files. 482Folding is used to hide the parts of the file that are equal. 483Highlighting is used to show deleted and changed lines. 484See |diff-mode|. 485 486An easy way to start in diff mode is to start Vim as "vimdiff file1 file2". 487Added the vimdiff manpage. 488 489In a running Vim the |:diffsplit| command starts diff mode for the current 490file and another file. The |:diffpatch| command starts diff mode using the 491current file and a patch file. The |:diffthis| command starts diff mode for 492the current window. 493 494Differences can be removed with the |:diffget| and |:diffput| commands. 495 496- The 'diff' option switches diff mode on in a window. 497- The |:diffupdate| command refreshes the diffs. 498- The 'diffopt' option changes how diffs are displayed. 499- The 'diffexpr' option can be set how a diff is to be created. 500- The 'patchexpr' option can be set how patch is applied to a file. 501- Added the "diff" folding method. When opening a window for diff-mode, set 502 'foldlevel' to zero and 'foldenable' on, to close the folds. 503- Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to 504 specify the highlighting for differences. The defaults are ugly... 505- Unix: make a vimdiff symbolic link for "make install". 506- Removed the now obsolete "vimdiff.vim" script from the distribution. 507- Added the "[c" and "]c" commands to move to the next/previous change in diff 508 mode. 509 510 511Easy Vim: click-and-type *new-evim* 512------------------------ 513 514eVim stands for "Easy Vim". This is a separate program, but can also be 515started as "vim -y". 516 517This starts Vim with 'insertmode' set to allow click-and-type editing. The 518$VIMRUNTIME/evim.vim script is used to add mappings and set options to be able 519to do most things like Notepad. This is only for people who can't stand two 520modes. 521 522eView does the same but in readonly mode. 523 524In the GUI a CTRL-C now only interrupts when busy with something, not when 525waiting for a character. Allows using CTRL-C to copy text to the clipboard. 526 527 528User manual *new-user-manual* 529----------- 530 531The user manual has been added. It is organised around editing tasks. It 532reads like a book, from start to end. It should allow beginners to start 533learning Vim. It helps everybody to learn using the most useful Vim features. 534It is much easier to read than the reference manual, but omits details. See 535|user-manual|. 536 537The user manual includes parts of the Vim book by Steve Oualline |frombook|. 538It is published under the OPL |manual-copyright|. 539 540When syntax highlighting is not enabled, the characters in the help file which 541mark examples ('>' and '<') and header lines ('~') are replaced with a space. 542 543When closing the help window, the window layout is restored from before 544opening it, if the window layout didn't change since then. 545When opening the help window, put it at the top of the Vim window if the 546current window is fewer than 80 characters and not full width. 547 548 549Flexible indenting *new-indent-flex* 550------------------ 551 552Automatic indenting is now possible for any language. It works with a Vim 553script, which makes it very flexible to compute the indent. 554 555The ":filetype indent on" command enables using the provided indent scripts. 556This is explained in the user manual: |30.3|. 557 558The 'indentexpr' option is evaluated to get the indent for a line. The 559'indentkeys' option tells when to trigger re-indenting. Normally these 560options are set from an indent script. Like Syntax files, indent scripts will 561be created and maintained by many people. 562 563 564Extended search patterns *new-searchpat* 565------------------------ 566 567Added the possibility to match more than one line with a pattern. (partly by 568Loic Grenie) 569New items in a search pattern for multi-line matches: 570\n match end-of-line, also in [] 571\_[] match characters in range and end-of-line 572\_x match character class and end-of-line 573\_. match any character or end-of-line 574\_^ match start-of-line, can be used anywhere in the regexp 575\_$ match end-of-line, can be used anywhere in the regexp 576 577Various other new items in search patterns: 578\c ignore case for the whole pattern 579\C match case for the whole pattern 580\m magic on for the following 581\M magic off for the following 582\v make following characters "very magic" 583\V make following characters "very nomagic" 584 585\@! don't match atom before this. 586 Example: "foo\(bar\)\@!" matches "foo " but not "foobar". 587\@= match atom, resulting in zero-width match 588 Example: "foo\(bar\)\@=" matches "foo" in "foobar". 589\@<! don't match preceding atom before the current position 590\@<= match preceding atom before the current position 591\@> match preceding atom as a subexpression 592 593\& match only when branch before and after it match 594 595\%[] optionally match a list of atoms; "end\%[if]" matches "end", 596 "endi" and "endif" 597\%(\) like \(\), but without creating a back-reference; there can be 598 any number of these, overcomes the limit of nine \( \) pairs 599\%^ match start-of-file (Chase Tingley) 600\%$ match end-of-file (Chase Tingley) 601\%# Match with the cursor position. (Chase Tingley) 602\? Just like "\=" but can't be used in a "?" command. 603 604\%23l match in line 23 605\%<23l match before line 23 606\%>23l match after line 23 607\%23c, \%<23c, \%>23c match in/before/after column 23 608\%23v, \%<23v, \%>23v match in/before/after virtual column 23 609 610 611For syntax items: 612\z(...\) external reference match set (in region start pattern) 613\z1 - \z9 external reference match use (in region skip or end pattern) 614 (Scott Bigham) 615 616\zs use position as start of match 617\ze use position as end of match 618 619Removed limit of matching only up to 32767 times with *, \+, etc. 620 621Added support to match multi-byte characters. (partly by Muraoka Taro) 622Made "\<" and "\>" work for UTF-8. (Muraoka Taro) 623 624 625UTF-8 support *new-utf-8* 626------------- 627 628Vim can now edit files in UTF-8 encoding. Up to 31 bit characters can be 629used, but only 16 bit characters are displayed. Up to two combining 630characters are supported, they overprint the preceding character. 631Double-wide characters are also supported. See |UTF-8|. 632 633UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted to 634UTF-8 internally. There is also support for editing Unicode files in a Latin1 635environment. Other encodings are converted with iconv() or an external 636converter specified with 'charconvert'. 637 638Many new items for Multi-byte support: 639- Added 'encoding' option: specifies character encoding used inside Vim. It 640 can be any 8-bit encoding, some double-byte encodings or Unicode. 641 It is initialized from the environment when a supported value is found. 642- Added 'fileencoding' and 'fileencodings': specify character coding in a 643 file, similar to 'fileformat' and 'fileformats'. 644 When 'encoding' is "utf-8" and 'fileencodings' is "utf-8,latin1" this will 645 automatically switch to latin1 if a file does not contain valid UTF-8. 646- Added 'bomb' option and detection of a BOM at the start of a file. Can be 647 used with "ucs-bom" in 'fileencodings' to automatically detect a Unicode 648 file if it starts with a BOM. Especially useful on MS-Windows (NT and 649 2000), which uses ucs-2le files with a BOM (e.g., when exporting the 650 registry). 651- Added the 'termencoding' option: Specifies the encoding used for the 652 terminal. Useful to put Vim in utf-8 mode while in a non-Unicode locale: > 653 :let &termencoding = &encoding 654 :set encoding=utf-8 655- When 'viminfo' contains the 'c' flag, the viminfo file is converted from the 656 'encoding' it was written with to the current 'encoding'. 657- Added ":scriptencoding" command: convert lines in a sourced script to 658 'encoding'. Useful for menu files. 659- Added 'guifontwide' to specify a font for double-wide characters. 660- Added Korean support for character class detection. Also fix cls() in 661 search.c. (Chong-Dae Park) 662- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev) 663- Win32 with Mingw: compile with iconv library. (Ron Aaron) 664- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro) 665- Make it possible to build a version with multi-byte and iconv support with 666 Borland 5.5. (Yasuhiro Matsumoto) 667- Added 'delcombine' option: Delete combining character separately. (Ron 668 Aaron) 669- The "xfontset" feature isn't required for "xim". These are now two 670 independent features. 671- XIM: enable XIM when typing a language character (Insert mode, Search 672 pattern, "f" or "r" command). Disable XIM when typing a Normal mode 673 command. 674- When the XIM is active, show "XIM" in the 'showmode' message. (Nam SungHyun) 675- Support "CursorIM" for XIM. (Nam SungHyun) 676- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at 677 each multibyte character, not only at a space. 678- Made ":syntax keyword" work with multi-byte characters. 679- Added support for Unicode upper/lowercase flipping and comparing. (based on 680 patch by Raphael Finkel) 681 Let "~" on multi-byte characters that have a third case ("title case") 682 switch between the three cases. (Raphael Finkel) 683 684Allow defining digraphs for multi-byte characters. 685Added RFC1345 digraphs for Unicode. 686Most Normal mode commands that accept a character argument, like "r", "t" and 687"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain 688Vi compatible. 689 690Added Language mapping and 'keymap' to be able to type multi-byte characters: 691- Added the ":lmap" command and friends: Define mappings that are used when 692 typing characters in the language of the text. Also for "r", "t", etc. In 693 Insert and Command-line mode CTRL-^ switches the use of the mappings on/off. 694 CTRL-^ also toggles the use of an input method when no language mappings are 695 present. Allows switching the IM back on halfway typing. 696- "<char-123>" argument to ":map", allows to specify the decimal, octal or 697 hexadecimal value of a character. 698- Implemented the 'keymap' option: Load a keymap file. Uses ":lnoremap" to 699 define mappings for the keymap. The new ":loadkeymap" command is used in 700 the keymap file. 701- Added 'k' flag in 'statusline': Value of "b:keymap_name" or 'keymap' when 702 it's being used. Uses "<lang>" when no keymap is loaded and ":lmap"s are 703 active. Show this text in the default statusline too. 704- Added the 'iminsert' and 'imsearch' options: Specify use of langmap mappings 705 and Input Method with an option. (Muraoka Taro) 706 Added 'imcmdline' option: When set the input method is always enabled when 707 starting to edit a command line. Useful for a XIM that uses dead keys to 708 type accented characters. 709 Added 'imactivatekey' option to better control XIM. (Muraoka Taro) 710- When typing a mapping that's not finished yet, display the last character 711 under the cursor in Insert mode and Command-line mode. Looks good for dead 712 characters. 713- Made the 'langmap' option recognize multi-byte characters. But mapping only 714 works for 8-bit characters. Helps when using UTF-8. 715- Use a different cursor for when ":lmap" mappings are active. Can specify 716 two highlight groups for an item in 'guicursor'. By default "lCursor" and 717 "Cursor" are equal, the user must set a color he likes. 718 Use the cursor color for hangul input as well. (Sung-Hyun Nam) 719- Show "(lang)" for 'showmode' when language mapping is enabled. 720- UTF-8: Made "r" work with a ":lmap" that includes a composing character. 721 Also works for "f", which now works to find a character that includes a 722 composing character. 723 724Other multi-byte character additions: 725- Support double-byte single-width characters for euc-jp: Characters starting 726 with 0x8E. Added ScreenLines2[] to store the second byte. 727 728 729Multi-language support *new-multi-lang* 730---------------------- 731 732The messages used in Vim can be translated. Several translations are 733available. This uses the gettext mechanism. It allows adding a translation 734without recompiling Vim. |multi-lang| (partly by Marcin Dalecki) 735 736The translation files are in the src/po directory. The src/po/README.txt file 737explains a few things about doing a translation. 738 739Menu translations are available as well. This uses the new |:menutranslate| 740command. The translations are found in the runtime directory "lang". This 741allows a user to add a translation. 742 743Added |:language| command to set the language (locale) for messages, time and 744character type. This allows switching languages in Vim without changing the 745locale outside of Vim. 746 747Made it possible to have vimtutor use different languages. (Eduardo Fernandez) 748Spanish (Eduardo Fernandez), Italian (Antonio Colombo), Japanese (Yasuhiro 749Matsumoto) and French (Adrien Beau) translations are included. 750Added "vimtutor.bat": script to start Vim on a copy of the tutor file for 751MS-Windows. (Dan Sharp) 752 753- Added v:lang variable to be able to get current language setting. 754 (Marcin Dalecki) Also v:lc_time and v:ctype. 755- Make it possible to translate the dialogs used by the menus. Uses global 756 "menutrans_" variables. ":menutrans clear" deletes them. 757- removed "broken locale" (Marcin Dalecki). 758- Don't use color names in icons, use RGB values. The names could be 759 translated. 760- Win32: Added global IME support (Muraoka) 761- Win32: Added dynamic loading of IME support. 762- ":messages" prints a message about who maintains the messages or the 763 translations. Useful to find out where to make a remark about a wrong 764 translation. 765- --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun 766 Nam) 767- Added NLS support for Win32 with the MingW compiler. (Eduardo Fernandez) 768- When available, call bind_textdomain_codeset() to have gettext() translate 769 messages to 'encoding'. This requires GNU gettext 0.10.36 or later. 770- Added gettext support for Win32. This means messages will be translated 771 when the locale is set and libintl.dll can be found. (Muraoka Taro) 772 Also made it work with MingW compiler. (Eduardo Fernandez) 773 Detect the language and set $LANG to get the appropriate translated messages 774 (if supported). Also use $LANG to select a language, v:lang is a very 775 different kind of name. 776- Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto) 777 778 779Plugin support *new-plugins* 780-------------- 781 782To make it really easy to load a Vim script when starting Vim, the "plugin" 783runtime directory can be used. All "*.vim" files in it will be automatically 784loaded. For Unix, the directory "~/.vim/plugin" is used by default. The 785'runtimepath' option can be set to look in other directories for plugins. 786|load-plugins| |add-plugin| 787 788The |:runtime| command has been added to load one or more files in 789'runtimepath'. 790 791Standard plugins: 792netrw.vim - Edit files over a network |new-network-files| 793gzip.vim - Edit compressed files 794explorer.vim - Browse directories |new-file-browser| 795 796Added support for local help files. |add-local-help|. 797When searching for help tags, all "doc/tags" files in 'runtimepath' are used. 798Added the ":helptags" command: Generate a tags file for a help directory. 799The first line of each help file is automagically added to the "LOCAL 800ADDITIONS" section in doc/help.txt. 801 802Added the <unique> argument to ":map": only add a mapping when it wasn't 803defined before. 804 805When displaying an option value with 'verbose' set will give a message about 806where the option was last set. Very useful to find out which script did set 807the value. 808 809The new |:scriptnames| command displays a list of all scripts that have been 810sourced. 811 812GUI: For Athena, Motif and GTK look for a toolbar bitmap in the "bitmaps" 813directories in 'runtimepath'. Allows adding your own bitmaps. 814 815 816Filetype plugins *new-filetype-plugins* 817----------------- 818 819A new group of files has been added to do settings for specific file types. 820These can be options and mappings which are specifically used for one value of 821'filetype'. 822 823The files are located in "$VIMRUNTIME/ftplugin". The 'runtimepath' option 824makes it possible to use several sets of plugins: Your own, system-wide, 825included in the Vim distribution, etc. 826 827To be able to make this work, several features were added: 828- Added the "s:" variables, local to a script. Avoids name conflicts with 829 global variables. They can be used in the script and in functions, 830 autocommands and user commands defined in the script. They are kept between 831 invocations of the same script. |s:var| 832- Added the global value for local options. This value is used when opening 833 a new buffer or editing another file. The option value specified in a 834 modeline or filetype setting is not carried over to another buffer. 835 ":set" sets both the local and the global value. 836 ":setlocal" sets the local option value only. 837 ":setglobal" sets or displays the global value for a local option. 838 ":setlocal name<" sets a local option to its global value. 839- Added the buffer-local value for some global options: 'equalprg', 'makeprg', 840 'errorformat', 'grepprg', 'path', 'dictionary', 'thesaurus', 'tags', 841 'include' and 'define'. This allows setting a local value for these global 842 options, without making it incompatible. 843- Added mappings and abbreviations local to a buffer: ":map <buffer>". 844- In a mapping "<Leader>" can be used to get the value of the "mapleader" 845 variable. This simplifies mappings that use "mapleader". "<Leader>" 846 defaults to "\". "<LocalLeader>" does the same with "maplocalleader". This 847 is to be used for mappings local to a buffer. 848- Added <SID> Script ID to define functions and mappings local to a script. 849- Added <script> argument to ":noremap" and ":noremenu": Only remap 850 script-local mappings. Avoids that mappings from other scripts get in the 851 way, but does allow using mappings defined in the script. 852- User commands can be local to a buffer: ":command -buffer". 853 854The new ":setfiletype" command is used in the filetype detection autocommands, 855to avoid that 'filetype' is set twice. 856 857 858File browser *new-file-browser* 859------------ 860 861When editing a directory, the explorer plugin will list the files in the 862directory. Pressing <Enter> on a file name edits that file. Pressing <Enter> 863on a directory moves the browser to that directory. 864 865There are several other possibilities, such as opening a file in the preview 866window, renaming files and deleting files. 867 868See |file-explorer|. 869 870 871Editing files over a network *new-network-files* 872---------------------------- 873 874Files starting with scp://, rcp://, ftp:// and http:// are recognized as 875remote files. An attempt is made to access these files with the indicated 876method. For http:// only reading is possible, for the others writing is also 877supported. Uses the netrw.vim script as a standard "plugin". |netrw| 878 879Made "gf" work on a URL. It no longer assumes the file is local on the 880computer (mostly didn't work anyway, because the full path was required). 881Adjusted test2 for this. 882 883Allow using a URL in 'path'. Makes ":find index.html" work. 884 885GTK: Allow dropping a http:// and ftp:// URL on Vim. The netrw plugin takes 886care of downloading the file. (MiKael Berthe) 887 888 889Window for command-line editing *new-cmdwin* 890------------------------------- 891 892The Command-line window can be used to edit a command-line with Normal and 893Insert mode commands. When it is opened it contains the history. This allows 894copying parts of previous command lines. |cmdwin| 895 896The command-line window can be opened from the command-line with the key 897specified by the 'cedit' option (like Nvi). It can also be opened directly 898from Normal mode with "q:", "q/" and "q?". 899 900The 'cmdwinheight' is used to specify the initial height of the window. 901 902In Insert mode CTRL-X CTRL-V can be used to complete an Ex command line, like 903it's done on the command-line. This is also useful for writing Vim scripts! 904 905Additionally, there is "improved Ex mode". Entered when Vim is started as 906"exim" or "vim -E", and with the "gQ" command. Works like repeated use of 907":", with full command-line editing and completion. (Ulf Carlsson) 908 909 910Debugging mode *new-debug-mode* 911-------------- 912 913In debugging mode sourced scripts and user functions can be executed line by 914line. There are commands to step over a command or step into it. |debug-mode| 915 916Breakpoints can be set to run until a certain line in a script or user 917function is executed. |:breakadd| 918 919Debugging can be started with ":debug {cmd}" to debug what happens when a 920command executes. The |-D| argument can be used to debug while starting up. 921 922 923Cursor in virtual position *new-virtedit* 924-------------------------- 925 926Added the 'virtualedit' option: Allow positioning the cursor where there is no 927actual character in Insert mode, Visual mode or always. (Matthias Kramm) 928This is especially useful in Visual-block mode. It allows positioning a 929corner of the area where there is no text character. (Many improvements by 930Chase Tingley) 931 932 933Debugger interface *new-debug-itf* 934------------------ 935 936This was originally made to work with Sun Visual Workshop. (Gordon Prieur) 937See |debugger.txt|, |sign.txt| and |workshop.txt|. 938 939Added the ":sign" command to define and place signs. They can be displayed 940with two ASCII characters or an icon. The line after it can be highlighted. 941Useful to display breakpoints and the current PC position. 942 943Added the |:wsverb| command to execute debugger commands. 944 945Added balloon stuff: 'balloondelay' and 'ballooneval' options. 946 947Added "icon=" argument for ":menu". Allows defining a specific icon for a 948ToolBar item. 949 950 951Communication between Vims *new-vim-server* 952-------------------------- 953 954Added communication between two Vims. Makes it possible to send commands from 955one Vim to another. Works for X-Windows and MS-Windows |clientserver|. 956 957Use "--remote" to have files be edited in an already running Vim. 958Use "--remote-wait" to do the same and wait for the editing to finish. 959Use "--remote-send" to send commands from one Vim to another. 960Use "--remote-expr" to have an expression evaluated in another Vim. 961Use "--serverlist" to list the currently available Vim servers. (X only) 962There are also functions to communicate between the server and the client. 963|remote_send()| |remote_expr()| 964 965(X-windows version implemented by Flemming Madsen, MS-Windows version by Paul 966Moore) 967 968Added the command server name to the window title, so you can see which server 969name belongs to which Vim. 970 971Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from the 972distribution. Can now use "gvim --remote" and "gvim --remote-send", which is 973portable. 974 975GTK+: Support running Vim inside another window. Uses the --socketid argument 976(Neil Bird) 977 978 979Buffer type options *new-buftype* 980------------------- 981 982The 'buftype' and 'bufhidden' options have been added. They can be set to 983have different kinds of buffers. For example: 984- 'buftype' = "quickfix": buffer with error list 985- 'buftype' = "nofile" and 'bufhidden' = "delete": scratch buffer that will be 986 deleted as soon as there is no window displaying it. 987 988'bufhidden' can be used to overrule the 'hidden' option for one buffer. 989 990In combination with 'buflisted' and 'swapfile' this offers the possibility to 991use various kinds of special buffers. See |special-buffers|. 992 993 994Printing *new-printing* 995-------- 996 997Included first implementation of the ":hardcopy" command for printing 998to paper. For MS-Windows any installed printer can be used. For other 999systems a PostScript file is generated, which can be printed with the 1000'printexpr' option. 1001(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and 1002Mike Williams) 1003 1004Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro 1005Matsumoto) 1006 1007Added options to tune the way printing works: (Vince Negri) 1008- 'printoptions' defines various things. 1009- 'printheader' specifies the header format. Added "N" field to 'statusline' 1010 for the page number. 1011- 'printfont' specifies the font name and attributes. 1012- 'printdevice' defines the default printer for ":hardcopy!". 1013 1014 1015Ports *ports-6* 1016----- 1017 1018Port to OS/390 Unix (Ralf Schandl) 1019- A lot of changes to handle EBCDIC encoding. 1020- Changed Ctrl('x') to Ctrl_x define. 1021 1022Included jsbmouse support. (Darren Garth) 1023Support for dec mouse in Unix. (Steve Wall) 1024 1025Port to 16-bit MS Windows (Windows 3.1x) (Vince Negri) 1026 1027Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid) 1028 1029Allow cross-compiling the Win32 version with Make_ming.mak. (Ron Aaron) 1030Added Python support for compiling with Mingw. (Ron Aaron) 1031 1032Dos 32 bit: Added support the Windows clipboard. (David Kotchan) 1033 1034Win32: Dynamically load Perl and Python. Allows compiling Vim with these 1035interfaces and will try to find the DLLs at runtime. (Muraoka Taro) 1036 1037Compiling the Win32 GUI with Cygwin. Also compile vimrun, dosinst and 1038uninstall. (Gerfried) 1039 1040Mac: Make Vim compile with the free MPW compiler supplied by Apple. And 1041updates for CodeWarrior. (Axel Kielhorn) 1042 1043Added typecasts and ifdefs as a start to make Vim work on Win64 (George 1044Reilly) 1045 1046 1047Quickfix extended *quickfix-6* 1048----------------- 1049 1050Added the "error window". It contains all the errors of the current error 1051list. Pressing <Enter> in a line makes Vim jump to that line (in another 1052window). This makes it easy to navigate through the error list. 1053|quickfix-window|. 1054 1055- |:copen| opens the quickfix window. 1056- |:cclose| closes the quickfix window. 1057- |:cwindow| takes care that there is a quickfix window only when there are 1058 recognized errors. (Dan Sharp) 1059 1060- Quickfix also knows "info", next to "warning" and "error" types. "%I" can be 1061 used for the start of a multi-line informational message. (Tony Leneis) 1062- The "%p" argument can be used in 'errorformat' to get the column number from 1063 a line where "^" points to the column. (Stefan Roemer) 1064- When using "%f" in 'errorformat' on a DOS/Windows system, also include "c:" 1065 in the filename, even when using "%f:". 1066 1067 1068Operator modifiers *new-operator-mod* 1069------------------ 1070 1071Insert "v", "V" or CTRL-V between an operator and a motion command to force 1072the operator to work characterwise, linewise or blockwise. |o_v| 1073 1074 1075Search Path *new-search-path* 1076----------- 1077 1078Vim can search in a directory tree not only in downwards but also upwards. 1079Works for the 'path', 'cdpath' and 'tags' options. (Ralf Schandl) 1080 1081Also use "**" for 'tags' option. (Ralf Schandl) 1082 1083Added 'includeexpr', can be used to modify file name found by 'include' 1084option. 1085Also use 'includeexpr' for "gf" and "<cfile>" when the file can't be found 1086without modification. Useful for doing "gf" on the name after an include or 1087import statement. 1088 1089Added the 'cdpath' option: Locations to find a ":cd" argument. (Raf) 1090 1091Added the 'suffixesadd' option: Suffixes to be added to a file name when 1092searching for a file for the "gf", "[I", etc. commands. 1093 1094 1095Writing files improved *new-file-writing* 1096---------------------- 1097 1098Added the 'backupcopy' option: Select whether a file is to be copied or 1099renamed to make a backup file. Useful on Unix to speed up writing an ordinary 1100file. Useful on other systems to preserve file attributes and when editing a 1101file on a Unix filesystem. 1102 1103Added the 'autowriteall' option. Works like 'autowrite' but for more 1104commands. 1105 1106Added the 'backupskip' option: A list of file patterns to skip making a backup 1107file when it matches. The default for Unix includes "/tmp/*", this makes 1108"crontab -e" work. 1109 1110Added support for Access Control Lists (ACL) for FreeBSD and Win32. The ACL 1111is copied from the original file to the new file (or the backup if it's 1112copied). 1113ACL is also supported for AIX, Solaris and generic POSIX. (Tomas Ogren) 1114And on SGI. 1115 1116 1117Argument list *new-argument-list* 1118------------- 1119 1120The support for the argument list has been extended. It can now be 1121manipulated to contain the files you want it to contain. 1122 1123The argument list can now be local to a window. It is created with the 1124|:arglocal| command. The |:argglobal| command can be used to go back to the 1125global argument list. 1126 1127The |:argdo| command executes a command on all files in the argument list. 1128 1129File names can be added to the argument list with |:argadd|. File names can 1130be removed with |:argdelete|. 1131 1132"##" can be used like "#", it is replaced by all the names in the argument 1133list concatenated. Useful for ":grep foo ##". 1134 1135The |:argedit| adds a file to the argument list and edits it. Like ":argadd" 1136and then ":edit". 1137 1138 1139Restore a View *new-View* 1140-------------- 1141 1142The ":mkview" command writes a Vim script with the settings and mappings for 1143one window. When the created file is sourced, the view of the window is 1144restored. It's like ":mksession" for one window. 1145The View also contains the local argument list and manually created, opened 1146and closed folds. 1147 1148Added the ":loadview" command and the 'viewdir' option: Allows for saving and 1149restoring views of a file with simple commands. ":mkview 1" saves view 1 for 1150the current file, ":loadview 1" loads it again. Also allows quickly switching 1151between two views on one file. And saving and restoring manual folds and the 1152folding state. 1153 1154Added 'viewoptions' to specify how ":mkview" works. 1155 1156":mksession" now also works fine with vertical splits. It has been further 1157improved and restores the view of each window. It also works properly with 1158preview and quickfix windows. 1159 1160'sessionoptions' is used for ":mkview" as well. 1161Added "curdir" and "sesdir" to 'sessionoptions'. Allows selection of what 1162the current directory will be restored to. 1163 1164The session file now also contains the argument list(s). 1165 1166 1167Color schemes *new-color-schemes* 1168------------- 1169 1170Support for loading a color scheme. Added the ":colorscheme" command. 1171Automatically add menu entries for available schemes. 1172Should now properly reset the colors when 'background' or 't_Co' is changed. 1173":highlight clear" sets the default colors again. 1174":syntax reset" sets the syntax highlight colors back to the defaults. 1175For ":set bg&" guess the value. This allows a color scheme to switch back to 1176the default colors. 1177When syntax highlighting is switched on and a color scheme was defined, reload 1178the color scheme to define the colors. 1179 1180 1181Various new items *new-items-6* 1182----------------- 1183 1184Normal mode commands: ~ 1185 1186"gi" Jump to the ^ mark and start Insert mode. Also works when the 1187 mark is just after the line. |gi| 1188 1189"g'm" and "g`m" 1190 Jump to a mark without changing the jumplist. Now you can use 1191 g`" to jump to the last known position in a file without side 1192 effects. Also useful in mappings. 1193 1194[', [`, ]' and ]` 1195 move the cursor to the next/previous lowercase mark. 1196 1197g_ Go to last non-blank in line. (Steve Wall) 1198 1199 1200Options: ~ 1201 1202'autoread' When detected that a file changed outside of Vim, 1203 automatically read a buffer again when it's not changed. 1204 It has a global and a local value. Use ":setlocal autoread<" 1205 to go back to using the global value for 'autoread'. 1206 1207'debug' When set to "msg" it will print error messages that would 1208 otherwise be omitted. Useful for debugging 'indentexpr' and 1209 'foldexpr'. 1210 1211'lispwords' List of words used for lisp indenting. It was previously hard 1212 coded. Added a number of Lisp names to the default. 1213 1214'fold...' Many new options for folding. 1215 1216'modifiable' When off, it is impossible to make changes to a buffer. 1217 The %m and %M items in 'statusline' show a '-'. 1218 1219'previewwindow' Set in the preview window. Used in a session file to mark a 1220 window as the preview window. 1221 1222'printfont' 1223'printexpr' 1224'printheader' 1225'printdevice' 1226'printoptions' for ":hardcopy". 1227 1228'buflisted' Makes a buffer appear in the buffer list or not. 1229 1230Use "vim{version}:" for modelines, only to be executed when the version is 1231>= {version}. Also "vim>{version}", "vim<{version}" and "vim={version}". 1232 1233 1234Ex commands: ~ 1235 1236:sav[eas][!] {file} 1237 Works like ":w file" and ":e #", but without loading the file 1238 again and avoiding other side effects. |:saveas| 1239 1240:silent[!] {cmd} 1241 Execute a command silently. Also don't use a delay that would 1242 come after the message. And don't do 'showmatch'. 1243 RISCOS: Removed that "!~cmd" didn't output anything, and 1244 didn't wait for <Enter> afterwards. Can use ":silent !cmd" 1245 now. 1246:menu <silent> Add a menu that won't echo Ex commands. 1247:map <silent> Add a mapping that won't echo Ex commands. 1248 1249:checktime Check for changed buffers. 1250 1251:verbose {cmd} Set 'verbose' for one command. 1252 1253:echomsg {expr} 1254:echoerr {expr} Like ":echo" but store the message in the history. (Mark 1255 Waggoner) 1256 1257:grepadd Works just like ":grep" but adds to the current error list 1258 instead of defining a new list. |:grepadd| 1259 1260:finish Finish sourcing a file. Can be used to skip the rest of a Vim 1261 script. |:finish| 1262 1263:leftabove 1264:aboveleft Split left/above current window. 1265 1266:rightbelow 1267:belowright Split right/below current window. 1268 1269:first, :bfirst, :ptfirst, etc. 1270 Alias for ":rewind". It's more logical compared to ":last". 1271 1272:enew Edit a new, unnamed buffer. This is needed, because ":edit" 1273 re-edits the same file. (Wall) 1274 1275:quitall Same as ":qall". 1276 1277:match Define match highlighting local to a window. Allows 1278 highlighting an item in the current window without interfering 1279 with syntax highlighting. 1280 1281:menu enable 1282:menu disable Commands to enable/disable menu entries without removing them. 1283 (Monish Shah) 1284 1285:windo Execute a command in all windows. 1286:bufdo Execute a command in all buffers. 1287 1288:wincmd Window (CTRL-W) command. Useful when a Normal mode command 1289 can't be used (e.g., for a CursorHold autocommand). See 1290 |CursorHold-example| for a nice application with it. 1291 1292:lcd and :lchdir 1293 Set local directory for a window. (Benjie Chen) 1294 1295:hide {command} 1296 Execute {command} with 'hidden' set. 1297 1298:emenu in Visual mode to execute a ":vmenu" entry. 1299 1300:popup Pop up a popup menu. 1301 1302:redraw Redraw the screen even when busy with a script or function. 1303 1304:hardcopy Print to paper. 1305 1306:compiler Load a Vim script to do settings for a specific compiler. 1307 1308:z# List numbered lines. (Bohdan Vlasyuk) 1309 1310 1311New marks: ~ 1312 1313'( and ') Begin or end of current sentence. Useful in Ex commands. 1314'{ and '} Begin or end of current paragraph. Useful in Ex commands. 1315'. Position of the last change in the current buffer. 1316'^ Position where Insert mode was stopped. 1317 1318Store the ^ and . marks in the viminfo file. Makes it possible to jump to the 1319last insert position or changed text. 1320 1321 1322New functions: ~ 1323argidx() Current index in argument list. 1324buflisted() Checks if the buffer exists and has 'buflisted' set. 1325cindent() Get indent according to 'cindent'. 1326eventhandler() Returns 1 when inside an event handler and interactive 1327 commands can't be used. 1328executable() Checks if a program or batch script can be executed. 1329filewritable() Checks if a file can be written. (Ron Aaron) 1330foldclosed() Find out if there is a closed fold. (Johannes Zellner). 1331foldcloseend() Find the end of a closed fold. 1332foldlevel() Find out the foldlevel. (Johannes Zellner) 1333foreground() Move the GUI window to the foreground. 1334getchar() Get one character from the user. Can be used to define a 1335 mapping that takes an argument. 1336getcharmod() Get last used key modifier. 1337getbufvar() gets the value of an option or local variable in a buffer (Ron 1338 Aaron) 1339getfsize() Return the size of a file. 1340getwinvar() gets the value of an option or local variable in a window (Ron 1341 Aaron) 1342globpath() Find matching files in a list of directories. 1343hasmapto() Detect if a mapping to a string is already present. 1344iconv() Convert a string from one encoding to another. 1345indent() gets the indent of a line (Ron Aaron) 1346inputdialog() Like input() but use a GUI dialog when possible. Currently 1347 only works for Win32, Motif, Athena and GTK. 1348 Use inputdialog() for the Edit/Settings/Text Width menu. Also 1349 for the Help/Find.. and Toolbar FindHelp items. 1350 (Win32 support by Thore B. Karlsen) 1351 (Win16 support by Vince Negri) 1352inputsecret() Ask the user to type a string without showing the typed keys. 1353 (Charles Campbell) 1354libcall() for Unix (Neil Bird, Johannes Zellner, Stephen Wall) 1355libcallnr() for Win32 and Unix 1356lispindent() Get indent according to 'lisp'. 1357mode() Return a string that indicates the current mode. 1358nextnonblank() Skip blank lines forwards. 1359prevnonblank() Skip blank lines backwards. Useful to for indent scripts. 1360resolve() MS-Windows: resolve a shortcut to the file it points to. 1361 Unix: resolve a symbolic link. 1362search() Search for a pattern. 1363searchpair() Search for matching pair. Can be used in indent files to find 1364 the "if" matching an endif. 1365setbufvar() sets an option or variable local to a buffer (Ron Aaron) 1366setwinvar() sets an option or variable local to a window (Ron Aaron) 1367stridx() Search for first occurrence of one string in another. 1368strridx() Search for last occurrence of one string in another. 1369tolower() Convert string to all-lowercase. 1370toupper() Convert string to all-uppercase. 1371type() Check the type of an expression. 1372wincol() window column of the cursor 1373winwidth() Width of a window. (Johannes Zellner) 1374winline() window line of the cursor 1375 1376 1377Added expansion of curly braces in variable and function names. This can be 1378used for variable names that include the value of an option. Or a primitive 1379form of arrays. (Vince Negri) 1380 1381 1382New autocommand events: ~ 1383BufWinEnter Triggered when a buffer is displayed in a window, after using 1384 the modelines. Can be used to load a view. 1385BufWinLeave Triggered when a buffer is no longer in a window. Also 1386 triggered when exiting Vim. Can be used to save views. 1387FileChangedRO Triggered before making the first change to a read-only file. 1388 Can be used to check-out the file. (Scott Graham) 1389TermResponse Triggered when the terminal replies to the version-request. 1390 The v:termresponse internal variable holds the result. Can be 1391 used to react to the version of the terminal. (Ronald Schild) 1392FileReadCmd Triggered before reading a file. 1393BufReadCmd Triggered before reading a file into a buffer. 1394FileWriteCmd Triggered before writing a file. 1395BufWriteCmd Triggered before writing a buffer into a file. 1396FileAppendCmd Triggered before appending to a file. 1397FuncUndefined Triggered when a user function is not defined. (Ron Aaron) 1398 1399The autocommands for the *Cmd events read or write the file instead of normal 1400file read/write. Use this in netrw.vim to be able to edit files on a remote 1401system. (Charles Campbell) 1402 1403 1404New Syntax files: ~ 1405 1406bdf BDF font definition (Nikolai Weibull) 1407catalog SGML catalog (Johannes Zellner) 1408debchangelog Debian Changelog (Wichert Akkerman) 1409debcontrol Debian Control (Wichert Akkerman) 1410dot dot (Markus Mottl) 1411dsl DSSSL syntax (Johannes Zellner) 1412eterm Eterm configuration (Nikolai Weibull) 1413indent Indent profile (Nikolai Weibull) 1414lftp LFTP (Nikolai Weibull) 1415lynx Lynx config (Doug Kearns) 1416mush mush sourcecode (Bek Oberin) 1417natural Natural (Marko Leipert) 1418pilrc Pal resource compiler (Brian Schau) 1419plm PL/M (Philippe Coulonges) 1420povini Povray configuration (David Necas) 1421ratpoison Ratpoison config/command (Doug Kearns) 1422readline readline config (Nikolai Weibull) 1423screen Screen RC (Nikolai Weibull) 1424specman Specman (Or Freund) 1425sqlforms SQL*Forms (Austin Ziegler) 1426terminfo terminfo (Nikolai Weibull) 1427tidy Tidy configuration (Doug Kearns) 1428wget Wget configuration (Doug Kearns) 1429 1430 1431Updated many syntax files to work both with Vim 5.7 and 6.0. 1432 1433Interface to Ruby. (Shugo Maeda) 1434Support dynamic loading of the Ruby interface on MS-Windows. (Muraoka Taro) 1435Support this for Mingw too. (Benoit Cerrina) 1436 1437Win32: Added possibility to load TCL dynamically. (Muraoka Taro) 1438Also for Borland 5.5. (Dan Sharp) 1439 1440Win32: When editing a file that is a shortcut (*.lnk file), edit the file it 1441links to. Unless 'binary' is set, then edit the shortcut file itself. 1442(Yasuhiro Matsumoto) 1443 1444The ":command" command now accepts a "-bar" argument. This allows the user 1445command to be followed by "| command". 1446 1447The preview window is now also used by these commands: 1448- |:pedit| edits the specified file in the preview window 1449- |:psearch| searches for a word in included files, like |:ijump|, and 1450 displays the found text in the preview window. 1451Added the CTRL-W P command: go to preview window. 1452 1453MS-DOS and MS-Windows also read the system-wide vimrc file $VIM/vimrc. Mostly 1454for NT systems with multiple users. 1455 1456A double-click of the mouse on a character that has a "%" match selects from 1457that character to the match. Similar to "v%". 1458 1459"-S session.vim" argument: Source a script file when starting up. Convenient 1460way to start Vim with a session file. 1461 1462Added "--cmd {command}" Vim argument to execute a command before a vimrc file 1463is loaded. (Vince Negri) 1464 1465Added the "-M" Vim argument: reset 'modifiable' and 'write', thus disallow 1466making changes and writing files. 1467 1468Added runtime/delmenu.vim. Source this to remove all menus and prepare for 1469loading new menus. Useful when changing 'langmenu'. 1470 1471Perl script to filter Perl error messages to quickfix usable format. (Joerg 1472Ziefle) 1473 1474Added runtime/macros/less.vim: Vim script to simulate less, but with syntax 1475highlighting. 1476 1477MS-Windows install program: (Jon Merz) 1478- The Win32 program can now create shortcuts on the desktop and install Vim in 1479 the Start menu. 1480- Possibly remove old "Edit with Vim" entries. 1481- The Vim executable is never moved or $PATH changed. A small batch file is 1482 created in a directory in $PATH. Fewer choices to be made. 1483- Detect already installed Vim versions and offer to uninstall them first. 1484 1485Improved the MS-Windows uninstal program. It now also deletes the entries in 1486the Start menu, icons from the desktop and the created batch files. (Jon Merz) 1487Also made it possible to delete only some of these. Also unregister gvim for 1488OLE. 1489 1490Generate a self-installing Vim package for MS-Windows. This uses NSIS. (Jon 1491Merz et al.) 1492 1493Added ":filetype detect". Try detecting the filetype again. Helps when 1494writing a new shell script, after adding "#!/bin/csh". 1495 1496Added ":augroup! name" to delete an autocommand group. Needed for the 1497client-server "--remote-wait". 1498 1499Add the Vim version number to the viminfo file, useful for debugging. 1500 1501============================================================================== 1502IMPROVEMENTS *improvements-6* 1503 1504Added the 'n' flag in 'cpoptions': When omitted text of wrapped lines is not 1505put between line numbers from 'number' option. Makes it a lot easier to read 1506wrapped lines. 1507 1508When there is a format error in a tags file, the byte position is reported so 1509that the error can be located. 1510 1511"gf" works in Visual mode: Use the selected text as the file name. (Chase 1512Tingley) 1513 1514Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longest 1515matching one is used. Especially useful for ":lmap" and 'keymap'. 1516 1517Encryption: Ask the key to be typed twice when crypting the first time. 1518Otherwise a typo might cause the text to be lost forever. (Chase Tingley) 1519 1520The window title now has "VIM" on the end. The file name comes first, useful 1521in the taskbar. A "+" is added when the file is modified. "=" is added for 1522a read-only file. "-" is added for a file with 'modifiable' off. 1523 1524In Visual mode, mention the size of the selected area in the 'showcmd' 1525position. 1526 1527Added the "b:changedtick" variable. Incremented at each change, also for 1528undo. Can be used to take action only if the buffer has been changed. 1529 1530In the replacement string of a ":s" command "\=" can be used to replace with 1531the result of an expression. From this expression the submatch() function can 1532be used to access submatches. 1533 1534When doing ":qall" and there is a change in a buffer that is being edited in 1535another window, jump to that window, instead of editing that buffer in the 1536current window. 1537 1538Added the "++enc=" and "++ff=" arguments to file read/write commands to force 1539using the given 'encoding' or 'fileformat'. And added the "v:cmdarg" 1540variable, to be used for FileReadCmd autocommands that read/write the file 1541themselves. 1542 1543When reading stdin, first read the text in binary mode and then re-read it 1544with automatic selection of 'fileformat' and 'fileencoding'. This avoids 1545problems with not being able to rewind the file (e.g., when a line near the 1546end of the file ends in LF instead of CR-LF). 1547When reading text from stdin and the buffer is empty, don't mark it changed. 1548Allows exiting without trouble. 1549 1550Added an ID to many error messages. This will make it easier to find help for 1551a message. 1552 1553Insert mode: 1554- "CTRL-G j" and "CTRL-G k" can be used to insert in another line in the same 1555 column. Useful for editing a table. 1556- Added Thesaurus completion with CTRL-X CTRL-T. (Vince Negri) 1557- Added the 'thesaurus' option, to use instead of 'dictionary' for thesaurus 1558 completion. Added the 's' flag in 'complete'. 1559- Made CTRL-X CTRL-L in Insert mode use the 'complete' option. It now also 1560 scans other loaded buffers for matching lines. 1561- CTRL-R now also works in Insert mode while doing completion with CTRL-X or 1562 CTRL-N. (Neil Bird) 1563- When doing Insert mode completion, when completion is finished check for a 1564 match with words from 'cinkeys' or 'indentkeys'. 1565 1566Performance: 1567- Made display updating more efficient. Insert/delete lines may be used for 1568 all changes, also for undo/redo. 1569- The display is not redrawn when there is typeahead in Insert mode. Speeds 1570 up CTRL-R a lot. 1571- Improved speed of screen output for 32 bit DOS version. (Vince Negri) 1572- When dragging with the mouse, there is a lookahead to skip mouse codes when 1573 there is another one next. Makes dragging with the mouse a lot faster. 1574- Also a memory usage improvement: When calling u_save with a single line, 1575 don't save it if the line was recently saved for the same undo already. 1576- When using a script that appends one character at a time, the amount of 1577 allocated memory was growing steadily. Also when 'undolevels' is -1. 1578 Caused by the line saved for "U" never to be freed. Now free an undo block 1579 when it becomes empty. 1580- GUI and Dos32: Use a vertical scroll region, to make scrolling in a 1581 vertically split window faster. No need to redraw the whole window. 1582- When scrolling isn't possible with terminal codes (e.g., for a vertically 1583 split window) redraw from ScreenLines[]. That should be faster than going 1584 through the lines with win_line(), especially when using syntax 1585 highlighting. 1586- The Syntax menu is now pre-generated by a separate script. Makes loading 1587 the menu 70% faster. This can halve the startup time of gvim. 1588- When doing ":help tag", don't open help.txt first, jump directly to the help 1589 tag. It's faster and avoids an extra message. 1590- Win32: When a file name doesn't end in ".lnk" don't try resolving a 1591 shortcut, it takes quite a bit of time. 1592- Don't update the mouse pointer shape while there are typeahead characters. 1593- Change META[] from a string into an array, avoids using strchr() on it. 1594- Don't clear the command line when adding characters, avoids that screen_fill 1595 is called but doesn't do anything. 1596 1597Robustness: 1598- Unix: Check for running out of stack space when executing a regexp. Avoids 1599 a nasty crash. Only works when the system supports running the signal 1600 function on another stack. 1601- Disallow ":source <dirname>". On unix it's possible to read a directory, 1602 does not make sense to use it as Vim commands. 1603 1604Security: 1605- When reading from or writing to a temporary file, check that it isn't a 1606 symbolic link. Gives some protection against symlink attacks. 1607- When creating a backup file copy or a swap file, check for it already 1608 existing to avoid a symlink attack. (Colin Phipps) 1609- Evaluating options which are an expression is done in a |sandbox|. If the 1610 option was set by a modeline, it cannot cause damage. 1611- Use a secure way to generate temp file names: Create a private directory for 1612 temp files. Used for Unix, MS-DOS and OS/2. 1613- 'makeef' can be empty, which means that an internally generated file name is 1614 used. The old default was "/tmp/file", which is a security risk. 1615 Writing 'makeef' in the current directory fails in a read-only directory and 1616 causes trouble when using ":grep" on all files. Made the default empty for 1617 all systems, so that a temp file is used. 1618- The command from a tags file is executed in the sandbox for better security. 1619- The Ruby, Tcl and Python interfaces cannot be used from the sandbox. They 1620 might do dangerous things. Perl is still possible, but limited to the Safe 1621 environment. (Donnie Smith) 1622 1623Syntax highlighting: 1624- Optimized the speed by caching the state stack all over the file, not just 1625 the part being displayed. Required for folding. 1626- Added ":syntax sync fromstart": Always parse from the start of the file. 1627- Added the "display" argument for syntax items: use the item only when 1628 displaying the result. Can make parsing faster for text that isn't going to 1629 be displayed. 1630- When using CTRL-L, the cached states are deleted, to force parsing the text 1631 again. 1632- Use elfhash algorithm for table of keywords. This should give a better 1633 distribution and speedup keyword lookup. (Campbell) 1634- Also allow the "lc" leading context for skip and end patterns. (Scott 1635 Bigham) 1636- Syntax items can have the "extend" argument to undo the effect of a 1637 "keepend" argument of an item it is contained in. Makes it possible to have 1638 some contained items extend a region while others don't. 1639- ":syntax clear" now deletes the b:current_syntax variable. That's logical, 1640 since no syntax is defined after this command. 1641- Added ":syntax enable": switch on syntax highlighting without changing the 1642 colors. This allows specifying the colors in the .vimrc file without the 1643 need for a mysyntaxfile. 1644- Added ":syntax reset": reset the colors to their defaults. 1645- Added the "contains=TOP" and "contains=CONTAINED" arguments. Makes it 1646 possible to define a transparent item that doesn't contain itself. 1647- Added a "containedin" argument to syntax items. Allows adding a contained 1648 item to an existing item (e.g., to highlight a name in a comment). 1649 1650Modeless selection: 1651- When in the command-line window, use modeless selection in the other 1652 windows. Makes it possible to copy visible text to the command-line window. 1653- Support modeless selection on the cmdline in a terminal. Previously it was 1654 only possible for the GUI. 1655- Make double-right-click in modeless selection select a whole word. Single 1656 right click doesn't use the word selection started by a double-left-click. 1657 Makes it work like in Visual mode. 1658- The modeless selection no longer has an implied automatic copy to the 1659 clipboard. It now obeys the 'a' and 'A' flags in 'guioptions' or 1660 "autoselect" and "autoselectml" in 'clipboard'. 1661- Added the CTRL-Y command in Cmdline-mode to copy the modeless selection to 1662 the clipboard. Also works at the hit-enter prompt and the more prompt. 1663 Removed the mappings in runtime/mswin.vim for CTRL-Y and CTRL-Z in 1664 cmdline-mode to be able to use CTRL-Y in the new way. 1665 1666Reduced the amount of stack space used by regmatch() to allow it to handle 1667complicated patterns on a longer text. 1668 1669'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS. 1670 1671Added keypad special keys <kEnter>, <k0> - <k9>. When not mapped they behave 1672like the ASCII equivalent. (Ivan Wellesz and Vince Negri) 1673Recognize a few more xterm keys: <C-Right>, <C-Left>, <C-End>, <C-Home> 1674 1675Also trigger the BufUnload event when Vim is going to exit. Perhaps a script 1676needs to do some cleaning up. 1677 1678Expand expression in backticks: `={expr}`. Can be used where backtick 1679expansion is done. (Vince Negri) 1680 1681GUI: 1682- Added 'L' and 'R' flags in 'guioptions': Add a left or right scrollbar only 1683 when there is a vertically split window. 1684- X11: When a color can't be allocated, use the nearest match from the 1685 colormap. This avoids that black is used for many things. (Monish Shah) 1686 Also do this for the menu and scrollbar, to avoid that they become black. 1687- Win32 and X11: Added 'mouseshape' option: Adjust the mouse pointer shape to 1688 the current mode. (Vince Negri) 1689- Added the 'linespace' option: Insert a pixel line between lines. (Nam) 1690- Allow modeless selection (without moving the cursor) by keeping CTRL and 1691 SHIFT pressed. (Ivan Wellesz) 1692- Motif: added toolbar. (Gordon Prieur) Also added tooltips. 1693- Athena: added toolbar and tooltips. (David Harrison -- based on Gordon 1694 Prieur's work) 1695- Made the 'toolbar' option work for Athena and Motif. Can now switch between 1696 text and icons on the fly. (David Harrison) 1697- Support menu separator lines for Athena. (David Harrison) 1698- Athena: Adjust the arrow pixmap used in a pullright menu to the size of the 1699 font. (David Harrison) 1700- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem 1701 Khodush) 1702- When no --enable-xim argument is given, automatically enable it when a X GUI 1703 is used. Required for dead key support (and multi-byte input). 1704- After a file selection dialog, check that the edited files were not changed 1705 or deleted. The Win32 dialog allows deleting and renaming files. 1706- Motif and Athena: Added support for "editres". (Martin Dalecki) 1707- Motif and Athena: Added "menuFont" to be able to specify a font or fontset 1708 for the menus. Can also be set with the "Menu" highlight group. Useful 1709 when the locale is different from 'encoding'. (David Harrison) 1710 When FONTSET_ALWAYS is defined, always use a fontset for the menus. Should 1711 avoid trouble with changing from a font to a fontset. (David Harrison) 1712- Highlighting and font for the tooltips can be specified with the "Tooltip" 1713 highlight group. (David Harrison) 1714- The Cmdline-mode menus can be used at the more-prompt. This mostly works 1715 fine, because they start with a CTRL-C. The "Copy" menu works to copy the 1716 modeless selection. Allows copying the output of ":set all" or ":intro" 1717 without auto-selection. 1718- When starting the GUI when there is no terminal connected to stdout and 1719 stderr, display error messages in a dialog. Previously they wouldn't be 1720 displayed at all. 1721- Allow setting 'browsedir' to the name of a directory, to be used for the 1722 file dialog. (Dan Sharp) 1723- b:browsefilter and g:browsefilter can be set to the filters used for the 1724 file dialog. Supported for Win32 and Motif GUI. (Dan Sharp) 1725 1726X11: 1727- Support for the clipboard selection as register "+. When exiting or 1728 suspending copy the selection to cut buffer 0. Should allow copy/paste with 1729 more applications in a X11-standard way. (Neil Bird) 1730- Use the X clipboard in any terminal, not just in an xterm. 1731 Added "exclude:" in 'clipboard': Specify a pattern to match against terminal 1732 names for which no connection should be made to the X server. The default 1733 currently work for FreeBSD and Linux consoles. 1734- Added a few messages for when 'verbose' is non-zero to show what happens 1735 when trying to connect to the X server. Should help when trying to find out 1736 why startup is slow. 1737 1738GTK GUI: (partly by Marcin Dalecki) 1739- With some fonts the characters can be taller than ascent + descent. E.g., 1740 "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character 1741 cell height. 1742- Implement "no" value for 'winaltkeys': don't use Alt-Key as a menu shortcut, 1743 when 'wak' changed after creating the menus. 1744- Setting 'wak' after the GUI started works. 1745- recycle text GC's to reduce communication. 1746- Adjust icon size to window manager. 1747- Cleanup in font handling. 1748- Replace XQueryColor with GDK calls. 1749- Gnome support. Detects Gnome in configure and uses different widgets. 1750 Otherwise it's much like GTK. (Andy Kahn) 1751 It is disabled by default, because it causes a few problems. 1752- Removed the special code to fork first and then start the GUI. Now use 1753 _exit() instead of exit(), this works fine without special tricks. 1754- Dialogs sometimes appeared a bit far away. Position the dialogs inside 1755 the gvim window. (Brent Verner) 1756- When dropping a file on Vim, remove extra slashes from the start of the 1757 path. Also shorten the file name if possible. 1758 1759Motif: (Martin Dalecki) 1760- Made the dialog layout better. 1761- Added find and find/replace dialogs. 1762- For the menus, change "iso-8859" to "iso_8859", Linux appears to need this. 1763- Added icon to dialogs, like for GTK. 1764- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include 1765 file when it's available. 1766- Change the shadow of the toolbar items to get a visual feedback of it being 1767 pressed on non-LessTif. 1768- Use gadgets instead of windows for some items for speed. 1769 1770Command line completion: 1771- Complete environment variable names. (Mike Steed) 1772- For ":command", added a few completion methods: "mapping", "function", 1773 "expression" and "environment". 1774- When a function doesn't take arguments, let completion add () instead of (. 1775 1776For MS-DOS, MS-Windows and OS/2: Expand %VAR% environment variables like $VAR. 1777(Walter Briscoe) 1778 1779Redirect messages to the clipboard ":redir @*" and to the unnamed register 1780":redir @"". (Wall) 1781 1782":let @/ = ''" clears the search pattern, instead of setting it to an empty 1783string. 1784 1785Expression evaluation: 1786- "? :" can be used like in C. 1787- col("$") returns the length of the cursor line plus one. (Stephen P. Wall) 1788- Optional extra argument for match(), matchend() and matchstr(): Offset to 1789 start looking for a match. 1790- Made third argument to strpart() optional. (Paul Moore, Zdenek Sekera) 1791- exists() can also be used to check for Ex commands and defined autocommands. 1792- Added extra argument to input(): Default text. 1793- Also set "v:errmsg" when using ":silent! cmd". 1794- Added the v:prevcount variable: v:count for the previous command. 1795- Added "v:progname", name with which Vim was started. (Vince Negri) 1796- In the verbose message about returning from a function, also show the return 1797 value. 1798 1799Cscope: 1800- Added the cscope_connection() function. (Andy Kahn) 1801- ":cscope kill -1" kills all cscope connections. (Andy Kahn) 1802- Added the 'cscopepathcomp' option. (Scott Hauck) 1803- Added ":scscope" command, split window and execute Cscope command. (Jason 1804 Duell) 1805 1806VMS: 1807- Command line arguments are always uppercase. Interpret a "-X" argument as 1808 "-x" and "-/X" as "-X". 1809- Set 'makeprg' and 'grepprg' to meaningful defaults. (Zoltan Arpadffy) 1810- Use the X-clipboard feature and the X command server. (Zoltan Arpadffy) 1811 1812Macintosh: (Dany St-Amant) 1813- Allow a tags file to have CR, CR-LF or LF line separator. (Axel Kielhorn) 1814- Carbonized (while keeping non Carbon code) 1815 (Some work "stolen" from Ammon Skidmore) 1816- Improved the menu item index handling (should be faster) 1817- Runtime commands now handle / in file name (MacOS 9 version) 1818- Added ":winpos" support. 1819- Support using "~" in file names for home directory. 1820 1821Options: 1822- When using set += or ^= , check for items used twice. Duplicates are 1823 removed. (Vince Negri) 1824- When setting an option that is a list of flags, remove duplicate flags. 1825- If possible, use getrlimit() to set 'maxmemtot' and 'maxmem'. (Pina) 1826- Added "alpha" to 'nrformats': increment or decrement an alphabetic character 1827 with CTRL-A and CTRL-X. 1828- ":set opt&vi" sets an option to its Vi default, ":set opt&vim" to its Vim 1829 default. Useful to set 'cpo' to its Vim default without knowing what flags 1830 that includes. 1831- 'scrolloff' now also applies to a long, wrapped line that doesn't fit in the 1832 window. 1833- Added more option settings to the default menus. 1834- Updated the option window with new options. Made it a bit easier to read. 1835 1836Internal changes: 1837- Split line pointers in text part and attributes part. Allows for future 1838 change to make attribute more than one byte. 1839- Provide a qsort() function for systems that don't have it. 1840- Changed the big switch for Normal mode commands into a table. This cleans 1841 up the code considerably and avoids trouble for some optimizing compilers. 1842- Assigned a negative value to special keys, to avoid them being mixed up with 1843 Unicode characters. 1844- Global variables expand_context and expand_pattern were not supposed to be 1845 global. Pass them to ExpandOne() and all functions called by it. 1846- No longer use the global reg_ic flag. It caused trouble and in a few places 1847 it was not set. 1848- Removed the use of the stuff buffer for "*", "K", CTRL-], etc. Avoids 1849 problem with autocommands. 1850- Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too 1851 big. Also moved some code from screen.c to move.c. 1852- Don't include the CRC table for encryption, generate it. Saves quite a bit 1853 of space in the source code. (Matthias Kramm) 1854- Renamed multibyte.c to mbyte.c to avoid a problem with 8.3 filesystems. 1855- Removed the GTK implementation of ":findhelp", it now uses the 1856 ToolBar.FindHelp menu entry. 1857- Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and 1858 mch_shellinit() to mch_init(). 1859 1860Highlighting: 1861- In a ":highlight" listing, show "xxx" with the highlight color. 1862- Added support for xterm with 88 or 256 colors. The right color numbers will 1863 be used for the name used in a ":highlight" command. (Steve Wall) 1864- Added "default" argument for ":highlight". When included, the command is 1865 ignored if highlighting for the group was already defined. 1866 All syntax files now use ":hi default ..." to allow the user to specify 1867 colors in his vimrc file. Also, the "if did_xxx_syntax_inits" is not needed 1868 anymore. This greatly simplifies using non-default colors for a specific 1869 language. 1870- Adjusted colortest.vim: Included colors on normal background and reduced the 1871 size by using a while loop. (Rafael Garcia-Suarez) 1872- Added the "DarkYellow" color name. Just to make the list of standard colors 1873 consistent, it's not really a nice color to use. 1874 1875When an xterm is in 8-bit mode this is detected by the code returned for 1876|t_RV|. All key codes are automatically converted to their 8-bit versions. 1877 1878The OPT_TCAP_QUERY in xterm patch level 141 and later is used to obtain the 1879actual key codes used and the number of colors for t_Co. Only when |t_RV| is 1880also used. 1881 1882":browse set" now also works in the console mode. ":browse edit" will give an 1883error message. 1884 1885":bdelete" and ":bunload" only report the number of deleted/unloaded buffers 1886when more than 'report'. The message was annoying when deleting a buffer in a 1887script. 1888 1889Jump list: 1890- The number of marks kept in the jumplist has been increased from 50 to 100. 1891- The jumplist is now stored in the viminfo file. CTRL-O can be used to jump 1892 to positions from a previous edit session. 1893- When doing ":split" copy the jumplist to the new window. 1894 1895Also set the '[ and '] marks for the "~" and "r" commands. These marks are 1896now always set when making a change with a Normal mode command. 1897 1898Python interface: Allow setting the width of a vertically split window. (John 1899Cook) 1900 1901Added "=word" and "=~word" to 'cinkeys' (also used in 'indentkeys'). 1902 1903Added "j1" argument in 'cinoptions': indent {} inside () for Java. (Johannes 1904Zellner) 1905Added the "l" flag in 'cinoptions'. (Anduin Withers) 1906Added 'C', 'U', 'w' and 'm' flags to 'cinoptions'. (Servatius Brandt) 1907 1908When doing ":wall" or ":wqall" and a modified buffer doesn't have a name, 1909mention its buffer number in the error message. 1910 1911":function Name" lists the function with line numbers. Makes it easier to 1912find out where an error happened. 1913 1914In non-blockwise Visual mode, "r" replaces all selected characters with the 1915typed one, like in blockwise Visual mode. 1916 1917When editing the last file in the argument list in any way, allow exiting. 1918Previously this was only possible when getting to that file with ":next" or 1919":last". 1920 1921Added the '1' flag to 'formatoptions'. (Vit Stradal) 1922Added 'n' flag in 'formatoptions': format a numbered list. 1923 1924Swap file: 1925- When a swap file already exists, and the user selects "Delete" at the 1926 ATTENTION prompt, use the same ".swp" swapfile, to avoid creating a ".swo" 1927 file which won't always be found. 1928- When giving the ATTENTION message and the date of the file is newer than the 1929 date of swap file, give a warning about this. 1930- Made the info for an existing swap file a bit shorter, so that it still fits 1931 on a 24 line screen. 1932- It was possible to make a symlink with the name of a swap file, linking to a 1933 file that doesn't exist. Vim would then silently use another file (if open 1934 with O_EXCL refuses a symlink). Now check for a symlink to exist. Also do 1935 another check for an existing swap file just before creating it to catch a 1936 symlink attack. 1937 1938The g CTRL-G command also works in Visual mode and counts the number of words. 1939(Chase Tingley) 1940 1941Give an error message when using 'shell' and it's empty. 1942 1943Added the possibility to include "%s" in 'shellpipe'. 1944 1945Added "uhex" value for 'display': show non-printable characters as <xx>. 1946Show unprintable characters with NonText highlighting, also in the command 1947line. 1948 1949When asked to display the value of a hidden option, tell it's not supported. 1950 1951Win32: 1952- When dropping a shortcut on gvim (.lnk file) edit the target, not the 1953 shortcut itself. (Yasuhiro Matsumoto) 1954- Added C versions of the OpenWithVim and SendToVim programs. (Walter Briscoe) 1955- When 'shell' is "cmd" or "cmd.exe", set 'shellredir' to redirect stderr too. 1956 Also check for the Unix shell names. 1957- When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig 1958 Barkhouse) 1959 1960Win32 console version: 1961- Includes the user and system name in the ":version" message, when available. 1962 It generates a pathdef.c file for this. (Jon Miner) 1963- Set the window icon to Vim's icon (only for Windows 2000). While executing 1964 a shell command, modify the window title to show this. When exiting, 1965 restore the cursor position too. (Craig Barkhouse) 1966- The Win32 console version can be compiled with OLE support. It can only 1967 function as a client, not as an OLE server. 1968 1969Errorformat: 1970- Let "%p" in 'errorformat' (column of error indicated by a row of characters) 1971 also accept a line of dots. 1972- Added "%v" item in 'errorformat': Virtual column number. (Dan Sharp) 1973- Added a default 'errorformat' value for VMS. (Jim Bush) 1974 1975The "p" command can now be used in Visual mode. It overwrites the selected 1976text with the contents of a register. 1977 1978Highlight the <> items in the intro message to make clear they are special. 1979 1980When using the "c" flag for ":substitute", allow typing "l" for replacing this 1981item and then stop: "last". 1982 1983When printing a verbose message about sourcing another file, print the line 1984number. 1985 1986When resizing the Vim window, don't use 'equalalways'. Avoids that making the 1987Vim window smaller makes split windows bigger. And it's what the docs say. 1988 1989When typing CTRL-D in Insert mode, just after an autoindent, then hitting CR 1990kept the remaining white space. Now made it work like BS: delete the 1991autoindent to avoid a blank non-empty line results. 1992 1993Added a GetHwnd() call to the OLE interface. (Vince Negri) 1994 1995Made ":normal" work in an event handler. Useful when dropping a file on Vim 1996and for CursorHold autocommands. 1997 1998For the MS-Windows version, don't change to the directory of the file when a 1999slash is used instead of a backslash. Explorer should always use a backslash, 2000the user can use a slash when typing the command. 2001 2002Timestamps: 2003- When a buffer was changed outside of Vim and regaining focus, give a dialog 2004 to allow the user to reload the file. Now also for other GUIs than 2005 MS-Windows. And also used in the console, when compiled with dialog 2006 support. 2007- Inspect the file contents to find out if it really changed, ignore 2008 situations where only the time stamp changed (e.g., checking the file out 2009 from CVS). 2010- When checking the timestamp, first check if the file size changed, to avoid 2011 a file compare then. Makes it quicker for large (log) files that are 2012 appended to. 2013- Don't give a warning for a changed or deleted file when 'buftype' is set. 2014- No longer warn for a changed directory. This avoids that the file explorer 2015 produces warnings. 2016- Checking timestamps is only done for buffers that are not hidden. These 2017 will be checked when they become unhidden. 2018- When checking for a file being changed outside of Vim, also check if the 2019 file permissions changed. When the file contents didn't change but the 2020 permissions did, give a warning. 2021- Avoid checking too often, otherwise the dialog keeps popping up for a log 2022 file that steadily grows. 2023 2024Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to 2025"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very 2026hard to find problems. Disallow mapping part of a multi-byte character. 2027 2028For ":python" and ":tcl" accept an in-line script. (Johannes Zellner) 2029Also for ":ruby" and ":perl". (Benoit Cerrina) 2030 2031Made ":syn include" use 'runtimepath' when the file name is not a full path. 2032 2033When 'switchbuf' contains "split" and the current window is empty, don't split 2034the window. 2035 2036Unix: Catch SIGPWR to preserve files when the power is about to go down. 2037 2038Sniff interface: (Anton Leherbauer) 2039- fixed windows code, esp. the event handling stuff 2040- adaptations for sniff 4.x ($SNIFF_DIR4) 2041- support for adding sniff requests at runtime 2042 2043Support the notation <A-x> as an alias for <M-x>. This logical, since the Alt 2044key is used. 2045 2046":find" accepts a count, which means that the count'th match in 'path' is 2047used. 2048 2049":ls" and ":buffers" output shows modified/readonly/modifiable flag. When a 2050buffer is active show "a" instead of nothing. When a buffer isn't loaded 2051show nothing instead of "-". 2052 2053Unix install: 2054- When installing the tools, set absolute paths in tools scripts efm_perl.pl 2055 and mve.awk. Avoids that the user has to edit these files. 2056- Install Icons for KDE when the directories exist and the icons do not exist 2057 yet. 2058 2059Added has("win95"), to be able to distinguish between MS-Windows 95/98/ME and 2060NT/2000/XP in a Vim script. 2061 2062When a ":cd" command was typed, echo the new current directory. (Dan Sharp) 2063 2064When using ":winpos" before the GUI window has been opened, remember the 2065values until it is opened. 2066 2067In the ":version" output, add "/dyn" for features that are dynamically loaded. 2068This indicates the feature may not always work. 2069 2070On Windows NT it is possible that a directory is read-only, but a file can be 2071deleted. When making a backup by renaming the file and 'backupdir' doesn't 2072use the current directory, this causes the original file to be deleted, 2073without the possibility to create a new file. Give an extra error message 2074then to warn to user about this. 2075 2076Made CTRL-R CTRL-O at the command line work like CTRL-R CTRL-R, so that it's 2077consistent with Insert mode. 2078 2079============================================================================== 2080COMPILE TIME CHANGES *compile-changes-6* 2081 2082All generated files have been moved out of the "src" directory. This makes it 2083easy to see which files are not edited by hand. The files generated by 2084configure are now in the "src/auto" directory. For Unix, compiled object 2085files go in the objects directory. 2086 2087The source archive was over the 1.4M floppy limit. The archives are now split 2088up into two runtime and two source archives. Also provide a bzip2 compressed 2089archive that contains all the sources and runtime files. 2090 2091Added "reconfig" as a target for make. Useful when changing some of the 2092arguments that require flushing the cache, such as switching from GTK to 2093Motif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistent 2094over different GUIs. 2095 2096Added src/README.txt to give an overview of the main parts of the source code. 2097 2098The Unix Makefile now fully supports using $(DESTDIR) to install to a specific 2099location. Replaces the manual setting of *ENDLOC variables. 2100 2101Added the possibility for a maintainer of a binary version to include his 2102e-mail address with the --with-compiledby configure argument. 2103 2104Included features are now grouped in "tiny", "small", "normal", "big" and 2105"huge". This replaces "min-features" and "max-features". Using "tiny" 2106disables multiple windows for a really small Vim. 2107 2108For the tiny version or when FEAT_WINDOWS is not defined: Firstwin and lastwin 2109are equal to curwin and don't use w_next and w_prev. 2110 2111Added the +listcmds feature. Can be used to compile without the Vim commands 2112that manipulate the buffer list and argument list (the buffer list itself is 2113still there, can't do without it). 2114 2115Added the +vreplace feature. It is disabled in the "small" version to avoid 2116that the 16 bit DOS version runs out of memory. 2117 2118Removed GTK+ support for versions older than 1.1.16. 2119 2120The configure checks for using PTYs have been improved. Code taken from a 2121recent version of screen. 2122 2123Added configure options to install Vim, Ex and View under another name (e.g., 2124vim6, ex6 and view6). 2125 2126Added "--with-global-runtime" configure argument. Allows specifying the 2127global directory used in the 'runtimepath' default. 2128 2129Made enabling the SNiFF+ interface possible with a configure argument. 2130 2131Configure now always checks /usr/local/lib for libraries and 2132/usr/local/include for include files. Helps finding the stuff for iconv() and 2133gettext(). 2134 2135Moved the command line history stuff into the +cmdline_hist feature, to 2136exclude the command line history from the tiny version. 2137 2138MS-Windows: Moved common functions from Win16 and Win32 to os_mswin.c. Avoids 2139having to change two files for one problem. (Vince Negri) 2140 2141Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri) 2142 2143The jumplist is now a separate feature. It is disabled for the "small" 2144version (16 bit MS-DOS). 2145 2146Renamed all types ending in _t to end in _T. Avoids potential problems with 2147system types. 2148 2149Added a configure check for X11 header files that implicitly define the return 2150type to int. (Steve Wall) 2151 2152"make doslang" in the top directory makes an archive with the menu and .mo 2153files for Windows. This uses the files generated on Unix, these should work 2154on MS-Windows as well. 2155 2156Merged a large part of os_vms.c with os_unix.c. The code was duplicated in 2157the past which made maintenance more work. (Zoltan Arpadffy) 2158 2159Updated the Borland C version 5 Makefile: (Dan Sharp) 2160- Fixed the Perl build 2161- Added python and tcl builds 2162- Added dynamic perl and dynamic python builds 2163- Added uninstal.exe build 2164- Use "yes" and "no" for the options, like in Make_mvc.mak. 2165 2166Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It's 2167much smaller, many unnecessary text has been removed. (Walter Briscoe) 2168Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak in 2169MS-Devstudio. (Walter Briscoe) 2170 2171MS-Windows: The big gvim.exe, which includes OLE, now also includes 2172dynamically loaded Tcl, Perl and Python. This uses ActivePerl 5.6.1, 2173ActivePython 2.1.1 and ActiveTCL 8.3.3 2174 2175Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" for 2176Cygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile. 2177 2178Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6. 2179(Vipin Aravind) 2180 2181Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto) 2182 2183Win32: Added Makefile for Borland 5 to compile gvimext.dll. (Yasuhiro 2184Matsumoto) 2185 2186============================================================================== 2187BUG FIXES *bug-fixes-6* 2188 2189When checking the command name for "gvim", "ex", etc. ignore case. Required 2190for systems where case is ignored in command names. 2191 2192Search pattern "[a-c-e]" also matched a 'd' and didn't match a '-'. 2193 2194When double-clicking in another window, wasn't recognized as double click, 2195because topline is different. Added set_mouse_topline(). 2196 2197The BROKEN_LOCALE check was broken. (Marcin Dalecki) 2198 2199When "t_Co" is set, the default colors remain the same, thus wrong. Reset the 2200colors after changing "t_Co". (Steve Wall) 2201 2202When exiting with ":wqall" the messages about writing files could overwrite 2203each other and be lost forever. 2204 2205When starting Vim with an extremely long file name (around 1024 characters) it 2206would crash. Added a few checks to avoid buffer overflows. 2207 2208CTRL-E could get stuck in a file with very long lines. 2209 2210":au syntax<Tab>" expanded event names while it should expand groups starting 2211with "syntax". 2212 2213When expanding a file name caused an error (e.g., for <amatch>) it was 2214produced even when inside an "if 0". 2215 2216'cindent' formatted C comments differently from what the 'comments' option 2217specified. (Steve Wall) 2218 2219Default for 'grepprg' didn't include the file name when only grepping in one 2220file. Now /dev/null has been added for Unix. 2221 2222Opening the option window twice caused trouble. Now the cursor goes to the 2223existing option window. 2224 2225":sview" and ":view" didn't set 'readonly' for an existing buffer. Now do set 2226'readonly', unless the buffer is also edited in another window. 2227 2228GTK GUI: When 'guioptions' excluded 'g', the more prompt caused the toolbar 2229and menubar to disappear and resize the window (which clears the text). 2230Now always grey-out the toplevel menus to avoid that the menubar changes size 2231or disappears. 2232 2233When re-using the current buffer for a new buffer, buffer-local variables were 2234not deleted. 2235 2236GUI: when 'scrolloff' is 0 dragging the mouse above the window didn't cause a 2237down scroll. Now pass on a mouse event with mouse_row set to -1. 2238 2239Win32: Console version didn't work on telnet, because of switching between two 2240console screens. Now use one console screen and save/restore the contents 2241when needed. (Craig Barkhouse) 2242 2243When reading a file the magic number for encryption was included in the file 2244length. (Antonio Colombo) 2245 2246The quickfix window contained leading whitespace and NULs for multi-line 2247messages. (David Harrison) 2248 2249When using cscope, redundant tags were removed. This caused a numbering 2250problem, because they were all listed. Don't remove redundant cscope tags. 2251(David Bustos). 2252 2253Cscope: Test for which matches are in the current buffer sometimes failed, 2254causing a jump to another match than selected. (David Bustos) 2255 2256Win32: Buffer overflow when adding a charset name in a font. 2257 2258'titlestring' and 'iconstring' were evaluating an expression in the current 2259context, which could be a user function, which is a problem for local 2260variables vs global variables. 2261 2262Win32 GUI: Mapping <M-F> didn't work. Now handle SHIFT and CTRL in 2263_OnSysChar(). 2264 2265Win32 GUI: (on no file), :vs<CR>:q<CR> left a trail of pixels down the middle. 2266Could also happen for the ruler. screen_puts() didn't clear the right char in 2267ScreenLines[] for the bold trick. 2268 2269Win32: ":%!sort|uniq" didn't work, because the input file name touches the 2270"|". Insert a space before the "|". 2271 2272OS/2: Expanding wildcards included non-existing files. Caused ":runtime" to 2273fail, which caused syntax highlighting to fail. 2274 2275Pasting a register containing CTRL-R on the command line could cause an 2276endless loop that can't be interrupted. Now it can be stopped with CTRL-C. 2277 2278When 'verbose' is set, a message for file read/write could overwrite the 2279previous message. 2280When 'verbose' is set, the header from ":select" was put after the last 2281message. Now start a new line. 2282 2283The hit-enter prompt reacted to the response of the t_RV string, causing 2284messages at startup to disappear. 2285 2286When t_Co was set to 1, colors were still used. Now only use color when t_Co 2287> 1. 2288 2289Listing functions with ":function" didn't quit when 'q' or ':' was typed at 2290the more prompt. 2291 2292Use mkstemp() instead of mktemp() when it's available, avoids a warning for 2293linking on FreeBSD. 2294 2295When doing Insert mode completion it's possible that b_sfname is NULL. Don't 2296give it to printf() for the "Scanning" message. 2297 2298":set runtimepath-=$VIMRUNTIME" didn't work, because expansion of wildcards 2299was done after trying to remove the string. Now for ":set opt+=val" and ":set 2300opt-=val" the expansion of wildcards is done before adding or removing "val". 2301 2302Using CTRL-V with the "r" command with a blockwise Visual selection inserted a 2303CTRL-V instead of getting a special character. 2304 2305Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICE 2306after -lXdmcp. Should fix link problem on HP-UX 10.20. 2307 2308Don't remove the last "-lm" from the link line. Vim may link but fail later 2309when the GUI starts. 2310 2311When the shell returns with an error when trying to expand wildcards, do 2312include the pattern when the "EW_NOTFOUND" flag was set. 2313When expanding wildcards with the shell fails, give a clear error message 2314instead of just "1 returned". 2315 2316Selecting a Visual block, with the start partly on a Tab, deleting it leaves 2317the cursor too far to the left. Causes "s" to work in the wrong position. 2318 2319Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead. 2320 2321Warning for changing a read-only file wasn't given when 'insertmode' was set. 2322 2323Win32: When 'shellxquote' is set to a double quote (e.g., using csh), ":!start 2324notepad file" doesn't work. Remove the double quotes added by 'shellxquote' 2325when using ":!start". (Pavol Juhas) 2326 2327The "<f-args>" argument of ":command" didn't accept Tabs for white space. 2328Also, don't add an empty argument when there are trailing blanks. 2329 2330":e test\\je" edited "test\je", but ":next test\\je" edited "testje". 2331Backslashes were removed one time too many for ":next". 2332 2333VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the file 2334name. (Zoltan Arpadffy) 2335 2336After ":hi Normal ctermbg=black ctermfg=white" and suspending Vim not all 2337characters are redrawn with the right background. 2338 2339When doing "make test" without +eval or +windows feature, many tests failed. 2340Now have test1 generate a script to copy the correct output, so that a test 2341that doesn't work is skipped. 2342 2343On FreeBSD the Perl interface added "-lc" to the link command and Python added 2344"-pthread". These two don't work together, because the libc_r library should 2345be used. Removed "-lc" from Perl, it should not be needed. 2346Also: Add "-pthread" to $LIBS, so that the checks for functions is done with 2347libc_r. Sigaltstack() appears to be missing from libc_r. 2348 2349The Syntax sub-menus were getting too long, reorganized them and added another 2350level for some languages. 2351 2352Visual block "r"eplace didn't work well when a Tab is partly included. 2353(Matthias Kramm) 2354 2355When yanking a Visual block, where some lines end halfway the block, putting 2356the text somewhere else doesn't insert a block. Padd with spaces for missing 2357characters. Added "y_width" to struct yankreg. (Matthias Kramm) 2358 2359If a substitute string has a multibyte character after a backslash only the 2360first byte of it was skipped. (Muraoka Taro) 2361 2362Win32: Numeric keypad keys were missing from the builtin termcap entry. 2363 2364When a file was read-only ":wa!" didn't force it to be written. (Vince Negri) 2365 2366Amiga: A file name starting with a colon was considered absolute but it isn't. 2367Amiga: ":pwd" added a slash when in the root of a drive. 2368 2369Don't let 'ttymouse' default to "dec" when compiled with dec mouse support. 2370It breaks the gpm mouse (Linux console). 2371 2372The prototypes for the Perl interface didn't work for threaded Perl. Added a 2373sed command to remove the prototypes from proto/if_perl.pro and added them 2374manually to if_perl.xs. 2375 2376When ":w!" resets the 'readonly' option the title and status lines were not 2377updated. 2378 2379":args" showed the current file when the argument list was empty. Made this 2380work like Vi: display nothing. 2381 2382"99:<C-U>echo v:count" echoed "99" in Normal mode, but 0 in Visual mode. 2383Don't set v:count when executing a stuffed command. 2384 2385Amiga: Got a requester for "home:" because it's in the default runtime path. 2386Don't bring up a requester when searching for a file in 'path', sourcing the 2387.vimrc file or using ":runtime". 2388 2389Win16 and Win32: Considered a file "\path\file" absolute. Can cause the same 2390file to appear as two different buffers. 2391 2392Win32: Renaming a file to an empty string crashed Vim. Happened when using 2393explorer.vim and hitting ESC at the rename prompt. 2394 2395Win32: strftime() crashed when called with a "-1" value for the time. 2396 2397Win32 with Borland compiler: mch_FullName() didn't work, caused tag file not 2398to be found. 2399 2400Cscope sometimes jumped to the wrong tag. (David Bustos) 2401 2402OS/2: Could not find the tags file. mch_expand_wildcards() added another 2403slash to a directory name. 2404 2405When using ">>" the `] mark was not in the last column. 2406 2407When Vim was compiled without menu support, filetype.vim was still trying to 2408source the menu.vim script. (Rafael Garcia-Suarez) 2409 2410":ptag" added an item to the tag stack. 2411 2412Win32 IME: "gr" didn't use IME mode. 2413 2414In the "vim --help" message the term "options" was used for arguments. That's 2415confusing, call them "arguments". 2416 2417When there are two windows, and a BufUnload autocommand for closing window #1 2418closed window #2, Vim would crash. 2419 2420When there is a preview window and only one other window, ":q" wouldn't exit. 2421 2422In Insert mode, when cancelling a digraph with ESC, the '?' wasn't removed. 2423 2424On Unix glob(".*") returned "." and "..", on Windows it didn't. On Windows 2425glob("*") also returned files starting with a dot. Made this work like Unix 2426on all systems. 2427 2428Win32: Removed old code to open a console. Vimrun is now used and works fine. 2429 2430Compute the room needed by the intro message accurately, so that it also fits 2431on a 25 line console. (Craig Barkhouse) 2432 2433":ptnext" was broken. Now remember the last tag used in the preview window 2434separately from the tagstack. 2435 2436Didn't check for "-display" being the last argument. (Wichert Akkerman) 2437 2438GTK GUI: When starting "gvim" under some conditions there would be an X error. 2439Don't replace the error handler when creating the xterm clipboard. (Wichert 2440Akkerman) 2441 2442Adding a space after a help tag caused the tag not to be found. E.g., ":he 2443autoindent ". 2444 2445Was trying to expand a URL into a full path name. On Windows this resulted in 2446the current directory to be prepended to the URL. Added vim_isAbsName() and 2447vim_FullName() to avoid that various machine specific functions do it 2448differently. 2449 2450":n *.c" ":cd .." ":n" didn't use the original directory of the file. Vi only 2451does it for the current file (looks like a bug). Now remember the buffer used 2452for the entry in the argument list and use it's name (adjusted when doing 2453":cd"), unless it's deleted. 2454 2455When inserting a special key as its name ("<F8>" as four characters) after 2456moving around in Insert mode, undo didn't work properly. 2457 2458Motif GUI: When using the right mouse button, for some people gvim froze for 2459a couple of seconds (Motif 1.2?). This doesn't happen when there is no Popup 2460menu. Solved by only creating a popup menu when 'mousemodel' is "popup" or 2461"popup_setpos". (David Harrison) 2462 2463Motif: When adding many menu items, the "Help" menu disappeared but the 2464menubar didn't wrap. Now manually set the menubar height. 2465 2466When using <BS> in Insert mode to remove a line break, or using "J" to join 2467lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro) 2468 2469Removed defining SVR4 in configure. It causes problems for some X header 2470files and doesn't appear to be used anywhere. 2471 2472When 'wildignore' is used, 'ignorecase' for a tag match was not working. 2473 2474When 'wildignore' contains "*~" it was impossible to edit a file ending in a 2475"~". Now don't recognize a file ending in "~" as containing wildcards. 2476 2477Disabled the mouse code for OS/2. It was not really used. 2478 2479":mksession" always used the full path name for a buffer, also when the short 2480name could be used. 2481":mkvimrc" and ":mksession" didn't save 'wildchar' and 'pastetoggle' in such a 2482way that they would be restored. Now use the key name if possible, this is 2483portable. 2484 2485After recovering a file and abandoning it, an ":edit" command didn't give the 2486ATTENTION prompt again. Would be useful to be able to delete the file in an 2487easy way. Reset the BF_RECOVERED flag when unloading the buffer. 2488 2489histdel() could match or ignore case, depending on what happened before it. 2490Now always match case. 2491 2492When a window size was specified when splitting a window, it would still get 2493the size from 'winheight' or 'winwidth' if it's larger. 2494 2495When using "append" or "insert" inside a function definition, a line starting 2496with "function" or "endfunction" caused confusion. Now recognize the commands 2497and skip lines until a ".". 2498 2499At the end of any function or sourced file need_wait_return could be reset, 2500causing messages to disappear when redrawing. 2501 2502When in a while loop the line number for error messages stayed fixed. Now the 2503line number is remembered in the while loop. 2504 2505"cd c:/" didn't work on MS-DOS. mch_isdir() removed a trailing slash. 2506 2507MS-Windows: getftime() didn't work when a directory had a trailing slash or 2508backslash. Didn't show the time in the explorer because of this. 2509 2510When doing wildcard completion, a directory "a/" sorted after "a-b". Now 2511recognize path separators when sorting files. 2512 2513Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they were 2514created as different buffers, although it's the same file. Expand to a full 2515file name also when an absolute name contains "..". 2516 2517"g&" didn't repeat the last substitute properly. 2518 2519When 'clipboard' was set to "unnamed", a "Y" command would not write to "0. 2520Now make a copy of register 0 to the clipboard register. 2521 2522When the search pattern matches in many ways, it could not always be 2523interrupted with a CTRL-C. And CTRL-C would have to be hit once for every 2524line when 'hlsearch' is on. 2525When 'incsearch' is on and interrupting the search for a match, don't abandon 2526the command line. 2527 2528When turning a directory name into a full path, e.g., with fnamemodify(), 2529sometimes a slash was added. Make this consistent: Don't add a slash. 2530 2531When a file name contains a "!", using it in a shell command will cause 2532trouble: ":!cat %". Escape the "!" to avoid that. Escape it another time 2533when 'shell' contains "sh". 2534 2535Completing a file name that has a tail that starts with a "~" didn't work: 2536":e view/~<Tab>". 2537 2538Using a ":command" argument that contains < and > but not for a special 2539argument was not skipped properly. 2540 2541The DOS install program: On Win2000 the check for a vim.exe or gvim.exe in 2542$PATH didn't work, it always found it in the current directory. 2543Rename the vim.exe in the current dir to avoid this. (Walter Briscoe) 2544 2545In the MS-DOS/Windows install program, use %VIM% instead of an absolute path, 2546so that moving Vim requires only one change in the batch file. 2547 2548Mac: mch_FullName() changed the "fname" argument and didn't always initialize 2549the buffer. 2550 2551MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute file 2552name. 2553 2554"echo expand("%:p:h")" with an empty file name removed one directory name on 2555MS-DOS. For Unix, when the file name is a directory, the directory name was 2556removed. Now make it consistent: "%:p" adds a path separator for all systems, 2557but no path separator is added in other situations. 2558 2559Unix: When checking for a CTRL-C (could happen any time) and there is an X 2560event (e.g., clipboard updated) and there is typeahead, Vim would hang until a 2561character was typed. 2562 2563MS-DOS, MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends in a colon, 2564had the slash removed. 2565 2566":he \^=" gave an error for using \_. ":he ^=" didn't find tag :set^=. Even 2567"he :set^=" didn't find it. 2568 2569A tags file name "D:/tags" was used as file "tags" in "D:". That doesn't work 2570when the current path for D: isn't the root of the drive. 2571 2572Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary. 2573 2574When using a dtterm or various other color terminals, and the Normal group has 2575been set to use a different background color, the background wouldn't always 2576be displayed with that color. Added check for "ut" termcap entry: If it's 2577missing, clearing the screen won't give us the current background color. Need 2578to draw each character instead. Vim now also works when the "cl" (clear 2579screen) termcap entry is missing. 2580 2581When repeating a "/" search command with a line offset, the "n" did use the 2582offset but didn't make the motion linewise. Made "d/pat/+2" and "dn" do the 2583same. 2584 2585Win32: Trying to use ":tearoff" for a menu that doesn't exist caused a crash. 2586 2587OpenPTY() didn't work on Sequent. Add a configure check for getpseudotty(). 2588 2589C-indenting: Indented a line starting with ")" with the matching "(", but not 2590a line starting with "x)" looks strange. Also compute the indent for aligning 2591with items inside the () and use the lowest indent. 2592 2593MS-DOS and Windows: ":n *.vim" also matched files ending in "~". 2594Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they are 2595equal. 2596 2597Macintosh: (Dany St-Amant) 2598- In Vi-compatible mode didn't read files with CR line separators. 2599- Fixed a bug in the handling of Activate/Deactivate Event 2600- Fixed a bug in gui_mch_dialog (using wrong pointer) 2601 2602Multibyte GDK XIM: While composing a multibyte-word, if user presses a 2603mouse button, then the word is removed. It should remain and composing end. 2604(Sung-Hyun Nam) 2605 2606MS-DOS, MS-Windows and OS/2: When reading from stdin, automatic CR-LF 2607conversion by the C library got in the way of detecting a "dos" 'fileformat'. 2608 2609When 'smartcase' is set, patterns with "\S" would also make 'ignorecase' 2610reset. 2611 2612When clicking the mouse in a column larger than 222, it moved to the first 2613column. Can't encode a larger number in a character. Now limit the number to 2614222, don't jump back to the first column. 2615 2616GUI: In some versions CSI would cause trouble, either when typed directly or 2617when part of a multi-byte sequence. 2618 2619When using multibyte characters in a ":normal" command, a trailing byte that 2620is CSI or K_SPECIAL caused problems. 2621 2622Wildmenu didn't handle multi-byte characters. 2623 2624":sleep 10" could not be interrupted on Windows, while "gs" could. Made them 2625both work the same. 2626 2627Unix: When waiting for a character is interrupted by an X-windows event (e.g., 2628to obtain the contents of the selection), the wait time would not be honored. 2629A message could be overwritten quickly. Now compute the remaining waiting 2630time. 2631 2632Windows: Completing "\\share\c$\S" inserted a backslash before the $ and then 2633the name is invalid. Don't insert the backslash. 2634 2635When doing an auto-write before ":make", IObuff was overwritten and the wrong 2636text displayed later. 2637 2638On the Mac the directories "c:/tmp" and "c:/temp" were used in the defaults 2639for 'backupdir' and 'directory', they don't exist. 2640 2641The check for a new file not to be on an MS-DOS filesystem created the file 2642temporarily, which can be slow. Don't do this if there is another check for 2643the swap file being on an MS-DOS filesystem. 2644 2645Don't give the "Changing a readonly file" warning when reading from stdin. 2646 2647When using the "Save As" menu entry and not entering a file name, would get an 2648error message for the trailing ":edit #". Now only do that when the 2649alternate file name was changed. 2650 2651When Vim owns the X11 selection and is being suspended, an application that 2652tries to use the selection hangs. When Vim continues it could no longer 2653obtain the selection. Now give up the selection when suspending. 2654 2655option.h and globals.h were included in some files, while they were already 2656included in vim.h. Moved the definition of EXTERN to vim.h to avoid doing it 2657twice. 2658 2659When repeating an operator that used a search pattern and the search pattern 2660contained characters that have a special meaning on the cmdline (e.g., CTRL-U) 2661it didn't work. 2662 2663Fixed various problems with using K_SPECIAL (0x80) and CSI (0x9b) as a byte in 2664a (multibyte) character. For example, the "r" command could not be repeated. 2665 2666The DOS/Windows install program didn't always work from a directory with a 2667long filename, because $VIM and the executable name would not have the same 2668path. 2669 2670Multi-byte: 2671- Using an any-but character range [^x] in a regexp didn't work for UTF-8. 2672 (Muraoka Taro) 2673- When backspacing over inserted characters in Replace mode multi-byte 2674 characters were not handled correctly. (Muraoka Taro) 2675- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka 2676 Taro) 2677- Word completion in Insert mode didn't work with multibyte characters. 2678 (Muraoka Taro) 2679- Athena/Motif GUI: when 'linespace' is non-zero the cursor would be drawn too 2680 wide (number of bytes instead of cell width). 2681- When changing 'encoding' to "euc-jp" and inserting a character Vim would 2682 crash. 2683- For euc-jp characters positioning the cursor would sometimes be wrong. 2684 Also, with two characters with 0x8e leading byte only the first one would be 2685 displayed. 2686- When using DYNAMIC_ICONV on Win32 conversion might fail because of using the 2687 wrong error number. (Muraoka Taro) 2688- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce 2689 the right character. 2690- When using Visual block selection and only the left halve of a double-wide 2691 character is selected, the highlighting continued to the end of the line. 2692- Visual-block delete didn't work properly when deleting the right halve of a 2693 double-wide character. 2694- Overstrike mode for the cmdline replaced only the first byte of a multibyte 2695 character. 2696- The cursor in Replace mode (also in the cmdline) was to small on a 2697 double-wide character. 2698- When a multibyte character contained a 0x80 byte, it didn't work (was using 2699 a CSI byte instead). (Muraoka Taro) 2700- Wordwise selection with the mouse didn't work. 2701- Yanking a modeless selection of multi-byte characters didn't work. 2702- When 'selection' is "exclusive", selecting a word that ends in a multi-byte 2703 character used wrong highlighting for the following character. 2704 2705Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse) 2706 2707Win32 GUI: When "vimrun.exe" is used to execute an external command, don't 2708give a message box with the return value, it was already printed by vimrun. 2709Also avoid printing the return value of the shell when ":silent!" is used. 2710 2711Win32: selecting a lot of text and using the "find/replace" dialog caused a 2712crash. 2713 2714X11 GUI: When typing a character with the 8th bit set and the Meta/Alt 2715modifier, the modifier was removed without changing the character. 2716 2717Truncating a message to make it fit on the command line, using "..." for the 2718middle, didn't always compute the space correctly. 2719 2720Could not imap <C-@>. Now it works like <Nul>. 2721 2722VMS: 2723- Fixed a few things for VAXC. os_vms_fix.com had some strange CTRL-M 2724 characters. (Zoltan Arpadffy and John W. Hamill) 2725- Added VMS-specific defaults for the 'isfname' and 'isprint' options. 2726 (Zoltan Arpadffy) 2727- Removed os_vms_osdef.h, it's no longer used. 2728 2729The gzip plugin used a ":normal" command, this doesn't work when dropping a 2730compressed file on Vim. 2731 2732In very rare situations a binary search for a tag would fail, because an 2733uninitialized value happens to be half the size of the tag file. (Narendran) 2734 2735When using BufEnter and BufLeave autocommands to enable/disable a menu, it 2736wasn't updated right away. 2737 2738When doing a replace with the "c"onfirm flag, the cursor was positioned after 2739the ruler, instead of after the question. With a long replacement string the 2740screen could scroll up and cause a "more" prompt. Now the message is 2741truncated to make it fit. 2742 2743Motif: The autoconf check for the Xp library didn't work. 2744 2745When 'verbose' is set to list lines of a sourced file, defining a function 2746would reset the counter used for the "more" prompt. 2747 2748In the Win32 find/replace dialog, a '/' character caused problems. Escape it 2749with a backslash. 2750 2751Starting a shell with ":sh" was different from starting a shell for CTRL-Z 2752when suspending doesn't work. They now work the same way. 2753 2754Jumping to a file mark while in a changed buffer gave a "mark not set" error. 2755 2756":execute histget("cmd")" causes an endless loop and crashed Vim. Now catch 2757all commands that cause too much recursiveness. 2758 2759Removed "Failed to open input method" error message, too many people got this 2760when they didn't want to use a XIM. 2761 2762GUI: When compiled without the +windows feature, the scrollbar would start 2763below line one. 2764 2765Removed the trick with redefining character class functions from regexp.c. 2766 2767Win32 GUI: Find dialog gives focus back to main window, when typing a 2768character mouse pointer is blanked, it didn't reappear when moving it in the 2769dialog window. (Vince Negri) 2770 2771When recording and typing a CTRL-C, no character was recorded. When in Insert 2772mode or cancelling half a command, playing back the recorded sequence wouldn't 2773work. Now record the CTRL-C. 2774 2775When the GUI was started, mouse codes for DEC and netterm were still checked 2776for. 2777 2778GUI: When scrolling and 'writedelay' is non-zero, the character under the 2779cursor was displayed in the wrong position (one line above/below with 2780CTRL-E/CTRL-Y). 2781 2782A ":normal" command would reset the 'scrollbind' info. Causes problems when 2783using a ":normal" command in an autocommand for opening a file. 2784 2785Windows GUI: a point size with a dot, like "7.5", wasn't recognized. (Muraoka 2786Taro) 2787 2788When 'scrollbind' wasn't set would still remember the current position, 2789wasting time. 2790 2791GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of 2792exit() when the child couldn't execute the shell. 2793 2794Multi-byte: 2795- GUI with double-byte encoding: a mouse click in left halve of double-wide 2796 character put the cursor in previous char. 2797- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey" 2798 included the character after the word. 2799- When using a double-byte encoding and there is a lead byte at the end of the 2800 line, the preceding line would be displayed. "ga" also showed wrong info. 2801- "gf" didn't include multi-byte characters before the cursor properly. 2802 (Muraoka Taro) 2803 2804GUI: The cursor was sometimes not removed when scrolling. Changed the policy 2805from redrawing the cursor after each call to gui_write() to only update it at 2806the end of update_screen() or when setting the cursor position. Also only 2807update the scrollbars at the end of update_screen(), that's the only place 2808where the window text may have been scrolled. 2809 2810Formatting "/*<Tab>long text", produced "* <Tab>" in the next line. Now 2811remove the space before the Tab. 2812Formatting "/*<Tab> long text", produced "* <Tab> long text" in the next 2813line. Now keep the space after the Tab. 2814 2815In some places non-ASCII alphabetical characters were accepted, which could 2816cause problems. For example, ":X" (X being such a character). 2817 2818When a pattern matches the end of the line, the last character in the line was 2819highlighted for 'hlsearch'. That looks wrong for "/\%3c". Now highlight the 2820character just after the line. 2821 2822Motif: If a dialog was closed by clicking on the "X" of the window frame Vim 2823would no longer respond. 2824 2825When using CTRL-X or CTRL-A on a number with many leading zeros, Vim would 2826crash. (Matsumoto) 2827 2828When 'insertmode' is set, the mapping in mswin.vim for CTRL-V didn't work in 2829Select mode. Insert mode wasn't restarted after overwriting the text. 2830Now allow nesting Insert mode with insert and change commands. CTRL-O 2831cwfoo<Esc> now also works. 2832 2833Clicking with the right mouse button in another window started Visual mode, 2834but used the start position of the current window. Caused ml_get errors when 2835the line number was invalid. Now stay in the same window. 2836 2837When 'selection' is "exclusive", "gv" sometimes selected one character fewer. 2838 2839When 'comments' contains more than one start/middle/end triplet, the optional 2840flags could be mixed up. Also didn't align the end with the middle part. 2841 2842Double-right-click in Visual mode didn't update the shown mode. 2843 2844When the Normal group has a font name, it was never used when starting up. 2845Now use it when 'guifont' and 'guifontset' are empty. 2846Setting a font name to a highlight group before the GUI was started didn't 2847work. 2848 2849"make test" didn't use the name of the generated Vim executable. 2850 2851'cindent' problems: 2852- Aligned with an "else" inside a do-while loop for a line below that loop. 2853 (Meikel Brandmeyer) 2854- A line before a function would be indented even when terminated with a 2855 semicolon. (Meikel Brandmeyer) 2856- 'cindent' gave too much indent to a line after a "};" that ends an array 2857 init. 2858- Support declaration lines ending in "," and "\". (Meikel Brandmeyer) 2859- A case statement inside a do-while loop was used for indenting a line after 2860 the do-while loop. (Meikel Brandmeyer) 2861- When skipping a string in a line with one double quote it could continue in 2862 the previous line. (Meikel Brandmeyer) 2863 2864When 'list' is set, 'hlsearch' didn't highlight a match at the end of the 2865line. Now highlight the '$'. 2866 2867The Paste menu item in the menu bar, the popup menu and the toolbar were all 2868different. Now made them all equal to how it was done in mswin.vim. 2869 2870st_dev can be smaller than "unsigned". The compiler may give an overflow 2871warning. Added a configure check for dev_t. 2872 2873Athena: closing a confirm() dialog killed Vim. 2874 2875Various typos in the documentation. (Matt Dunford) 2876 2877Python interface: The definition of _DEBUG could cause trouble, undefine it. 2878The error message for not being able to load the shared library wasn't 2879translated. (Muraoka Taro) 2880 2881Mac: (Dany St-Amant and Axel Kielhorn) 2882- Several fixes. 2883- Vim was eating 80% of the CPU time. 2884- The project os_mac.pbxproj didn't work, Moved it to a subdirectory. 2885- Made the menu priority work for the menubar. 2886- Fixed a problem with dragging the scrollbar. 2887- Cleaned up the various #ifdefs. 2888 2889Unix: When catching a deadly signal and we keep getting one use _exit() to 2890exit in a quick and dirty way. 2891 2892Athena menu ordering didn't work correctly. (David Harrison) 2893 2894A ":make" or ":grep" command with a long argument could cause a crash. 2895 2896Doing ":new file" and using "Quit" for the ATTENTION dialog still opened a new 2897window. 2898 2899GTK: When starting the GUI and there is an error in the .vimrc file, don't 2900present the wait-return prompt, since the message was given in the terminal. 2901 2902When there was an error in a .vimrc file the terminal where gvim was started 2903could be cleared. Set msg_row in main.c before writing any messages. 2904 2905GTK and X11 GUI: When trying to read characters from the user (e.g. with 2906input()) before the Vim window was opened caused Vim to hang when it was 2907started from the desktop. 2908 2909OS/390 uses 31 bit pointers. That broke some computations with MAX_COL. 2910Reduce MAX_COL by one bit for OS/390. (Ralf Schandl) 2911 2912When defining a function and it already exists, Vim didn't say it existed 2913until after typing it. Now do this right away when typing it. 2914 2915The message remembered for displaying later (keep_msg) was sometimes pointing 2916into a generic buffer, which might be changed by the time the message is 2917displayed. Now make a copy of the message. 2918 2919When using multi-byte characters in a menu and a trailing byte is a backslash, 2920the menu would not be created correctly. (Muraoka Taro) 2921Using a multibyte character in the substitute string where a trail byte is a 2922backslash didn't work. (Muraoka Taro) 2923 2924When setting "t_Co" in a vimrc file, then setting it automatically from an 2925xterm termresponse and then setting it again manually caused a crash. 2926 2927When getting the value of a string option that is not supported, the number 2928zero was returned. This breaks a check like "&enc == "asdf". Now an empty 2929string is returned for string options. 2930 2931Crashed when starting the GTK GUI while using 'notitle' in the vimrc, setting 2932'title' in the gvimrc and starting the GUI with ":gui". Closed the connection 2933to the X server accidentally. 2934 2935Had to hit return after selecting an entry for ":ts". 2936 2937The message from ":cn" message was sometimes cleared. Now display it after 2938redrawing if it doesn't cause a scroll (truncated when necessary). 2939 2940hangulin.c didn't compile when the GUI was disabled. Disable it when it won't 2941work. 2942 2943When setting a termcap option like "t_CO", the value could be displayed as 2944being for a normal key with a modifier, like "<M-=>". 2945 2946When expanding the argument list, entries which are a directory name did not 2947get included. This stopped "vim c:/" from opening the file explorer. 2948 2949":syn match sd "^" nextgroup=asdf" skipped the first column and matched the 2950nextgroup in the second column. 2951 2952GUI: When 'lazyredraw' is set, 'showmatch' didn't work. Required flushing 2953the output. 2954 2955Don't define the <NetMouse> termcode in an xterm, reduces the problem when 2956someone types <Esc> } in Insert mode. 2957 2958Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro 2959Matsumoto) 2960Using a filename in Big5 encoding for autocommands didn't work (backslash in 2961trailbyte). (Yasuhiro Matsumoto) 2962 2963DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path like 2964Unix to avoid problems with Windows dir functions. Merged the DOS and Win32 2965functions. 2966 2967Win32: Gvimext could not edit more than a few files at once, the length of the 2968argument was fixed. 2969 2970"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to 2971raw mode when needed. Use dup() to copy the stderr file descriptor to stdin 2972to make shell commands work. No longer requires an external program to do 2973this. 2974 2975When using ":filetype off", ftplugin and indent usage would be switched off at 2976the same time. Don't do this, setting 'filetype' manually can still use them. 2977 2978GUI: When writing a double-byte character, it could be split up in two calls 2979to gui_write(), which doesn't work. Now flush before the output buffer 2980becomes full. 2981 2982When 'laststatus' is set and 'cmdheight' is two or bigger, the intro message 2983would be written over the status line. 2984The ":intro" command didn't work when there wasn't enough room. 2985 2986Configuring for Ruby failed with a recent version of Ruby. (Akinori Musha) 2987 2988Athena: When deleting the directory in which Vim was started, using the file 2989browser made Vim exit. Removed the use of XtAppError(). 2990 2991When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undef 2992UNIX" to a separate line. 2993 2994Win32: Disabled _OnWindowPosChanging() to make maximize work better. 2995 2996Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe) 2997 2998Athena: 2999- Finally fixed the problems with deleting a menu. (David Harrison) 3000- Athena: When closing the confirm() dialog, worked like OK was pressed, 3001 instead of Cancel. 3002 3003The file explorer didn't work in compatible mode, because of line 3004continuation. 3005 3006Didn't give an error message for ":digraph a". 3007 3008When using Ex mode in the GUI and typing a special key, <BS> didn't delete it 3009correctly. Now display '?' for a special key. 3010 3011When an operator is pending, clicking in another window made it apply to that 3012window, even though the line numbers could be beyond the end of the buffer. 3013 3014When a function call doesn't have a terminating ")" Vim could crash. 3015 3016Perl interface: could crash on exit with perl 5.6.1. (Anduin Withers) 3017 3018Using %P in 'errorformat' wasn't handled correctly. (Tomas Zellerin) 3019 3020Using a syntax cluster that includes itself made Vim crash. 3021 3022GUI: With 'ls' set to 2, dragging the status line all the way up, then making 3023the Vim window smaller: Could not the drag status line anymore. 3024 3025"vim -c startinsert! file" placed cursor on last char of a line, instead of 3026after it. A ":set" command in the buffer menu set w_set_curswant. Now don't 3027do this when w_curswant is MAXCOL. 3028 3029Win32: When the gvim window was maximized and selecting another font, the 3030window would no longer fill the screen. 3031 3032The line with 'pastetoggle' in ":options" didn't show the right value when it 3033is a special key. Hitting <CR> didn't work either. 3034 3035Formatting text, resulting in a % landing in the first line, repeated the % in 3036the following lines, like it's the start of a comment. 3037 3038GTK: When adding a toolbar item while gvim is already running, it wasn't 3039possible to use the tooltip. Now it works by adding the tooltip first. 3040 3041The output of "g CTRL-G" mentioned "Char" but it's actually bytes. 3042 3043Searching for the end of a oneline region didn't work correctly when there is 3044an offset for the highlighting. 3045 3046Syntax highlighting: When synchronizing on C-comments, //*/ was seen as the 3047start of a comment. 3048 3049Win32: Without scrollbars present, the MS mouse scroll wheel didn't work. 3050Also handle the scrollbars when they are not visible. 3051 3052Motif: When there is no right scrollbar, the bottom scrollbar would still 3053leave room for it. (Martin Dalecki) 3054 3055When changing 'guicursor' and the value is invalid, some of the effects would 3056still take place. Now first check for errors and only make the new value 3057effective when it's OK. 3058 3059Using "A" In Visual block mode, appending to lines that don't extend into the 3060block, padding was wrong. 3061 3062When pasting a block of text, a character that occupies more than one screen 3063column could be deleted and spaces inserted instead. Now only do that with a 3064tab. 3065 3066Fixed conversion of documentation to HTML using Perl. (Dan Sharp) 3067 3068Give an error message when a menu name starts with a dot. 3069 3070Avoid a hang when executing a shell from the GUI on HP-UX by pushing "ptem" 3071even when sys/ptem.h isn't present. 3072 3073When creating the temp directory, make sure umask is 077, otherwise the 3074directory is not accessible when it was set to 0177. 3075 3076Unix: When resizing the window and a redraw is a bit slow, could get a window 3077resize event while redrawing, resulting in a messed up window. Any input 3078(e.g., a mouse click) would redraw. 3079 3080The "%B" item in the status line became zero in Insert mode (that's normal) 3081for another than the current window. 3082 3083The menu entries to convert to xxd and back didn't work in Insert mode. 3084 3085When ":vglobal" didn't find a line where the pattern doesn't match, the error 3086message would be the wrong way around. 3087 3088When ignoring a multi-line error message with "%-A", the continuation lines 3089would be used anyway. (Servatius Brandt) 3090 3091"grx" on a double-wide character inserted "x", instead of replacing the 3092character with "x ". "gR" on <xx> ('display' set the "uhex") didn't replace 3093at all. When doing "gRxx" on a control character the first "x" would be 3094inserted, breaking the alignment. 3095 3096Added "0)" to 'cinkeys', so that when typing a ) it is put in the same place 3097as where "==" would put it. 3098 3099Win32: When maximized, adding/removing toolbar didn't resize the text area. 3100 3101When using <C-RightMouse> a count was discarded. 3102 3103When typing CTRL-V and <RightMouse> in the command line, would insert 3104<LeftMouse>. 3105 3106Using "vis" or "vas" when 'selection' is exclusive didn't include the last 3107character. 3108 3109When adding to an option like 'grepprg', leading space would be lost. Don't 3110expand environment variables when there is no comma separating the items. 3111 3112GUI: When using a bold-italic font, would still use the bold trick and 3113underlining. 3114 3115Motif: The default button didn't work in dialogs, the first one was always 3116used. Had to give input focus to the default button. 3117 3118When using CTRL-T to jump within the same file, the '' mark wasn't set. 3119 3120Undo wasn't Vi compatible when using the 'c' flag for ":s". Now it undoes the 3121whole ":s" command instead of each confirmed replacement. 3122 3123The Buffers menu, when torn-off, disappeared when being refreshed. Add a 3124dummy item to avoid this. 3125 3126Removed calling msg_start() in main(), it should not be needed. 3127 3128vim_strpbrk() did not support multibyte characters. (Muraoka Taro) 3129 3130The Amiga version didn't compile, the code was too big for relative jumps. 3131Moved a few files from ex_docmd.c to ex_cmds2.c 3132 3133When evaluating the "= register resulted in the "= register being changed, Vim 3134would crash. 3135 3136When doing ":view file" and it fails, the current buffer was made read-only. 3137 3138Motif: For some people the separators in the toolbar disappeared when resizing 3139the Vim window. (Martin Dalecki) 3140 3141Win32 GUI: when setting 'lines' to a huge number, would not compute the 3142available space correctly. Was counting the menu height twice. 3143 3144Conversion of the docs to HTML didn't handle the line with the +quickfix tag 3145correctly. (Antonio Colombo) 3146 3147Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro 3148Matsumoto) 3149 3150The Cygwin version had trouble with fchdir(). Don't use that function for 3151Cygwin. 3152 3153The generic check in scripts.vim for "conf" syntax was done before some checks 3154in filetype.vim, resulting in "conf" syntax too often. 3155 3156Dos32: Typing lagged behind. Would wait for one biostick when checking if a 3157character is available. 3158 3159GTK: When setting 'columns' while starting up "gvim", would set the width of 3160the terminal it was started in. 3161 3162When using ESC in Insert mode, an autoindent that wraps to the next line 3163caused the cursor to move to the end of the line temporarily. When the 3164character before the cursor was a double-wide multi-byte character the cursor 3165would be on the right halve, which causes problems with some terminals. 3166 3167Didn't handle multi-byte characters correctly when expanding a file name. 3168(Yasuhiro Matsumoto) 3169 3170Win32 GUI: Errors generated before the GUI is decided to start were not 3171reported. 3172 3173globpath() didn't reserve enough room for concatenated results. (Anduin 3174Withers) 3175 3176When expanding an option that is very long already, don't do the expansion, it 3177would be truncated to MAXPATHL. (Anduin Withers) 3178 3179When 'selection' is "exclusive", using "Fx" in Visual mode only moved until 3180just after the character. 3181 3182When using IME on the console to enter a file name, the screen may scroll up. 3183Redraw the screen then. (Yasuhiro Matsumoto) 3184 3185Motif: In the find/replace dialog the "Replace" button didn't work first time, 3186second time it replaced all matches. Removed the use of ":s///c". 3187GTK: Similar problems with the find/replace dialog, moved the code to a common 3188function. 3189 3190X11: Use shared GC's for text. (Martin Dalecki) 3191 3192"]i" found the match under the cursor, instead of the first one below it. 3193Same for "]I", "] CTRL-I", "]d", "]D" and "] CTRL-D". 3194 3195Win16: When maximized and the font is changed, don't change the window size. 3196(Vince Negri) 3197 3198When 'lbr' is set, deleting a block of text could leave the cursor in the 3199wrong position. 3200 3201Win32: When opening a file with the "Edit with Vim" popup menu entry, 3202wildcards would cause trouble. Added the "--literal" argument to avoid 3203expanding file names. 3204 3205When using "gv", it didn't restore that "$" was used in Visual block mode. 3206 3207Win32 GUI: While waiting for a shell command to finish, the window wasn't 3208redrawn at all. (Yasuhiro Matsumoto) 3209 3210Syntax highlighting: A match that continues on a next line because of a 3211contained region didn't end when that region ended. 3212 3213The ":s" command didn't allow flags like 'e' and 'i' right after it. 3214 3215When using ":s" to split a line, marks were moved to the next line. Vi keeps 3216them in the first line. 3217 3218When using ":n" ":rew", the previous context mark was at the top of the file, 3219while Vi puts it in the same place as the cursor. Made it Vi compatible. 3220 3221Fixed Vi incompatibility: Text was not put in register 1 when using "c" and 3222"d" with a motion character, when deleting within one line with one of the 3223commands: % ( ) `<character> / ? N n { } 3224 3225Win32 GUI: The tooltip for tear-off items remained when the tear-off item was 3226no longer selected. 3227 3228GUI: When typing ":" at the more prompt, would return to Normal mode and not 3229redraw the screen. 3230 3231When starting Vim with an argument "-c g/at/p" the printed lines would 3232overwrite each other. 3233 3234BeOS: Didn't compile. Configure didn't add the os_beos files, the QNX check 3235removed them. Various changes to os_beos.cc. (Joshua Haberman) 3236Removed the check for the hardware platform, the BeBox has not been produced 3237for a long time now. 3238 3239Win32 GUI: don't use a message box when the shell returns an error code, 3240display the message in the Vim window. 3241 3242Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn't 3243work. Use "DEBUG=yes" instead of "DEBUG=1" to make it consistent. (Dan Sharp) 3244 3245When a line in the tags file ended in ;" (no TAB following) the command would 3246not be recognized as a search command. 3247 3248X11: The inputMethod resource never worked. Don't use the "none" input method 3249for SGI, it apparently makes the first character in Input method dropped. 3250 3251Fixed incorrect tests in os_mac.h. (Axel Kielhorn) 3252 3253Win32 console: When the console where Vim runs in is closed, Vim could hang in 3254trying to restore the window icon. (Yasuhiro Matsumoto) 3255 3256When using ":3call func()" or ":3,3call func() the line number was ignored. 3257 3258When 'showbreak' and 'linebreak' were both set, Visual highlighting sometimes 3259continued until the end of the line. 3260 3261GTK GUI: Tearoff items were added even when 'guioptions' didn't contain 't' 3262when starting up. 3263 3264MS-Windows: When the current directory includes a "~", searching files with 3265"gf" or ":find" didn't work. A "$" in the directory had the same problem. 3266Added mch_has_exp_wildcard() functions. 3267 3268When reducing the Vim window height while starting up, would get an 3269out-of-memory error message. 3270 3271When editing a very long search pattern, 'incsearch' caused the redraw of the 3272command line to fail. 3273 3274Motif GUI: On some systems the "Help" menu would not be on the far right, as 3275it should be. On some other systems (esp. IRIX) the command line would not 3276completely show. Solution is to only resize the menubar for Lesstif. 3277 3278Using "%" in a line that contains "\\" twice didn't take care of the quotes 3279properly. Now make a difference between \" and \\". 3280 3281For non-Unix systems a dummy file is created when finding a swap name to 3282detect a 8.3 filesystem. When there is an existing swap file, would get a 3283warning for the file being created outside of Vim. Also, when closing the Vim 3284window the file would remain. 3285 3286Motif: The menu height was always computed, using a "-menuheight" argument 3287was setting the room for the command line. Now make clear the argument is not 3288supported. 3289 3290For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that to 3291avoid a duplicate case in a switch. 3292 3293The GUI may have problems when forking. Always call _exit() instead of exit() 3294in the parent, the child will call exit(). 3295 3296Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus. 3297Now use CP_ACP instead of CP_OEMCP. (Vince Negri) 3298 3299When displaying text with syntax highlighting causes an error (e.g., running 3300out of stack) the syntax highlighting is disabled to avoid further messages. 3301 3302When a command in a .vimrc or .gvimrc causes an ATTENTION prompt, and Vim was 3303started from the desktop (no place to display messages) it would hang. Now 3304open the GUI window early to be able to display the messages and pop up the 3305dialog. 3306 3307"r<CR>" on a multi-byte character deleted only the first byte of the 3308character. "3r<CR>" deleted three bytes instead of three characters. 3309 3310When interrupting reading a file, Vi considers the buffer modified. Added the 3311'i' flag in 'cpoptions' flag for this (we don't want it modified to be able to 3312do ":q"). 3313 3314When using an item in 'guicursor' that starts with a colon, Vim would get 3315stuck or crash. 3316 3317When putting a file mark in a help file and later jumping back to it, the 3318options would not be set. Extended the modeline in all help files to make 3319this work better. 3320 3321When a modeline contained "::" the local option values would be printed. Now 3322ignore it. 3323 3324Some help files did not use a 8.3 names, which causes problems when using 3325MS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to 3326"rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to 3327"os_risc.txt". 3328 3329When Visual mode is blockwise, using "iw" or "aw" made it characterwise. That 3330doesn't seem right, only do this when in linewise mode. But then do it 3331always, not only when start and end of Visual mode are equal. 3332 3333When using "viw" on a single-letter word and 'selection' is exclusive, would 3334not include the word. 3335 3336When formatting text from Insert mode, using CTRL-O, could mess up undo 3337information. 3338 3339While writing a file (also for the backup file) there was no check for an 3340interrupt (hitting CTRL-C). Vim could hang when writing a large file over a 3341slow network, and moving the mouse didn't make it appear (when 'mousehide' is 3342set) and the screen wasn't updated in the GUI. Also allow interrupting when 3343syncing the swap file, it can take a long time. 3344 3345When using ":mksession" while there is help window, it would later be restored 3346to the right file but not marked as a help buffer. ":help" would then open 3347another window. Now use the value "help" for 'buftype' to mark a help buffer. 3348 3349The session file contained absolute path names in option values, that doesn't 3350work when the home directory depends on the situation. Replace the home 3351directory with ~/ when possible. 3352 3353When using 'showbreak' a TAB just after the shown break would not be counted 3354correctly, the cursor would be positioned wrong. 3355 3356With 'showbreak' set to "--->" or "------->" and 'sts' set to 4, inserting 3357tabs did not work right. Could cause a crash. Backspacing was also wrong, 3358could get stuck at a line break. 3359 3360Win32: crashed when tearing off a menu with over 300 items. 3361 3362GUI: A menu or toolbar item would appear when only a tooltip was defined for 3363it. 3364 3365When 'scrolloff' is non-zero and "$" is in 'cpoptions', using "s" while the 3366last line of the file is the first line on screen, the text wasn't displayed. 3367 3368When running "autoconf", delete the configure cache to force starting cleanly 3369when configure is run again. 3370 3371When changing the Normal colors for cterm, the value of 'background' was 3372changed even when the GUI was used. 3373 3374The warning for a missing vimrun.exe was always given on startup, but some 3375people just editing a file don't need to be bothered by it. Only show it when 3376vimrun would be used. 3377 3378When using "%" in a multibyte text it could get confused by trailbytes that 3379match. (Muraoka Taro) 3380 3381Termcap entry for RiscOS was wrong, using 7 and 8 in octal codes. 3382 3383Athena: The title of a dialog window and the file selector window were not 3384set. (David Harrison) 3385 3386The "htmlLink" highlight group specified colors, which gives problems when 3387using a color scheme. Added the "Underlined" highlight group for this. 3388 3389After using ":insert" or ":change" the '[ mark would be one line too low. 3390 3391When looking for the file name after a match with 'include' one character was 3392skipped. Same for 'define'. 3393 3394Win32 and DJGPP: When editing a file with a short name in a directory, and 3395editing the same file but using the long name, would end up with two buffers 3396on the same file. 3397 3398"gf" on a filename that starts with "../" only worked when the file being 3399edited is in the current directory. An include file search didn't work 3400properly for files starting with "../" or ".". Now search both relative to 3401the file and to the current directory. 3402 3403When 'printheader', 'titlestring', 'iconstring', 'rulerformat' or 'statusline' 3404contained "%{" but no following "}" memory was corrupted and a crash could 3405happen. 3406 3407":0append" and then inserting two lines did not redraw the blank lines that 3408were scrolled back down. 3409 3410When using insert mode completion in a narrow window, the message caused a 3411scroll up. Now shorten the message if it doesn't fit and avoid writing the 3412ruler over the message. 3413 3414XIM still didn't work correctly on some systems, especially SGI/IRIX. Added 3415the 'imdisable' option, which is set by default for that system. 3416 3417Patch 6.0aw.008 3418Problem: When the first character of a file name is over 127, the Buffers 3419 menu entry would get a negative priority and cause problems. 3420Solution: Reduce the multiplier for the first character when computing 3421 the hash value for a Buffers menu entry. 3422Files: runtime/menu.vim 3423 3424Patch 6.0aw.010 3425Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas) 3426Solution: Change slashes to backslashes in the directory passed to the file 3427 browser. 3428Files: src/gui_w48.c 3429 3430Athena file browser: On some systems wcstombs() can't be used to get the 3431length of a multi-byte string. Use the maximum length then. (Yasuhiro 3432Matsumoto) 3433 3434Patch 6.0ax.001 3435Problem: When 'patchmode' is set, appending to a file gives an empty 3436 original file. (Ed Ralston) 3437Solution: Also make a backup copy when appending and 'patchmode' is set. 3438Files: src/fileio.c 3439 3440Patch 6.0ax.002 3441Problem: When 'patchmode' is set, appending to a compressed file gives an 3442 uncompressed original file. (Ed Ralston) 3443Solution: Create the original file before decompressing. 3444Files: runtime/plugin/gzip.vim 3445 3446Patch 6.0ax.005 3447Problem: Athena file selector keeps the title of the first invocation. 3448Solution: Set the title each time the file selector is opened. (David 3449 Harrison) 3450Files: src/gui_at_fs.c 3451 3452Patch 6.0ax.007 3453Problem: When using GPM (mouse driver in a Linux console) a double click is 3454 interpreted as a scroll wheel click. 3455Solution: Check if GPM is being used when deciding if a mouse event is for 3456 the scroll wheel. 3457Files: src/term.c 3458 3459Patch 6.0ax.010 3460Problem: The Edit.Save menu and the Save toolbar button didn't work when 3461 the buffer has no file name. 3462Solution: Use a file browser to ask for a file name. Also fix the toolbar 3463 Find item in Visual mode. 3464Files: runtime/menu.vim 3465 3466Patch 6.0ax.012 3467Problem: When 'cpoptions' contains "$", breaking a line for 'textwidth' 3468 doesn't redraw properly. (Stefan Schulze) 3469Solution: Remove the dollar before breaking the line. 3470Files: src/edit.c 3471 3472Patch 6.0ax.014 3473Problem: Win32: On Windows 98 ":make -f file" doesn't work when 'shell' is 3474 "command.com" and 'makeprg' is "nmake". The environment isn't 3475 passed on to "nmake". 3476Solution: Also use vimrun.exe when redirecting the output of a command. 3477Files: src/os_win32.c 3478 3479Patch 6.0ax.016 3480Problem: The version number was reported wrong in the intro screen. 3481Solution: Check for a version number with two additional letters. 3482Files: src/version.c 3483 3484Patch 6.0ax.019 3485Problem: When scrolling a window with folds upwards, switching to another 3486 vertically split window and back may not update the scrollbar. 3487Solution: Limit w_botline to the number of lines in the buffer plus one. 3488Files: src/move.c 3489 3490 3491============================================================================== 3492VERSION 6.1 *version-6.1* 3493 3494This section is about improvements made between version 6.0 and 6.1. 3495 3496This is a bug-fix release, there are not really any new features. 3497 3498 3499Changed *changed-6.1* 3500------- 3501 3502'iminsert' and 'imsearch' are no longer set as a side effect of defining a 3503language-mapping using ":lmap". 3504 3505 3506Added *added-6.1* 3507----- 3508 3509Syntax files: 3510ampl AMPL (David Krief) 3511ant Ant (Johannes Zellner) 3512baan Baan (Her van de Vliert) 3513cs C# (Johannes Zellner) 3514lifelines Lifelines (Patrick Texier) 3515lscript LotusScript (Taryn East) 3516moo MOO (Timo Frenay) 3517nsis NSIS (Alex Jakushev) 3518ppd Postscript Printer Description (Bjoern Jacke) 3519rpl RPL/2 (Joel Bertrand) 3520scilab Scilab (Benoit Hamelin) 3521splint Splint (Ralf Wildenhues) 3522sqlj SQLJ (Andreas Fischbach) 3523wvdial WvDial (Prahlad Vaidyanathan) 3524xf86conf XFree86 config (Nikolai Weibull) 3525xmodmap Xmodmap (Nikolai Weibull) 3526xslt Xslt (Johannes Zellner) 3527monk Monk (Mike Litherland) 3528xsd Xsd (Johannes Zellner) 3529cdl CDL (Raul Segura Acevedo) 3530sendpr Send-pr (Hendrik Scholz) 3531 3532Added indent file for Scheme. (Dorai Sitaram) 3533Added indent file for Prolog. (Kontra Gergely) 3534Added indent file for Povray (David Necas) 3535Added indent file for IDL (Aleksandar Jelenak) 3536Added C# indent and ftplugin scripts. 3537 3538Added Ukrainian menu translations. (Bohdan Vlasyuk) 3539Added ASCII version of the Czech menus. (Jiri Brezina) 3540 3541Added Simplified Chinese translation of the tutor. (Mendel L Chan) 3542 3543Added Russian keymap for yawerty keyboard. 3544 3545Added an explanation of using the vimrc file in the tutor. 3546Changed tutor.vim to get the right encoding for the Taiwainese tutor. 3547 3548Added Russian tutor. (Andrey Kiselev) 3549Added Polish tutor. (Mikolaj Machowski) 3550 3551Added darkblue color scheme. (Bohdan Vlasyuk) 3552 3553When packing the dos language archive automatically generate the .mo files 3554that are required. 3555 3556Improved NSIS script to support NSIS 180. Added icons for the 3557enabled/disabled status. (Mirek Pruchnik) 3558 3559cp1250 version of the Slovak message translations. 3560 3561Compiler plugins for IRIX compilers. (David Harrison) 3562 3563 3564Fixed *fixed-6.1* 3565----- 3566 3567The license text was updated to make the meaning clearer and make it 3568compatible with the GNU GPL. Otherwise distributors have a problem when 3569linking Vim with a GPL'ed library. 3570 3571When installing the "less.sh" script it was not made executable. (Chuck Berg) 3572 3573Win32: The "9" key on the numpad wasn't working. (Julian Kinraid) 3574 3575The NSIS install script didn't work with NSIS 1.80 or later. Also add 3576Vim-specific icons. (Pruchnik) 3577 3578The script for conversion to HTML contained an "if" in the wrong place. 3579(Michael Geddes) 3580 3581Allow using ":ascii" in the sandbox, it's harmless. 3582 3583Removed creat() from osdef2.h.in, it wasn't used and may cause a problem when 3584it's redefined to creat64(). 3585 3586The text files in the VisVim directory were in "dos" format. This caused 3587problems when applying a patch. Now keep them in "unix" format and convert 3588them to "dos" format only for the PC archives. 3589 3590Add ruby files to the dos source archive, they can be used by Make_mvc.mak. 3591(Mirek Pruchnik) 3592 3593"cp -f" doesn't work on all systems. Change "cp -f" in the Makefile to "rm 3594-f" and "cp". 3595 3596Didn't compile on a Compaq Tandem Himalaya OSS. (Michael A. Benzinger) 3597 3598The GTK file selection dialog didn't include the "Create Dir", "Delete File" 3599and "Rename File" buttons. 3600 3601When doing ":browse source" the dialog has the title "Run Macro". Better 3602would be "Source Vim script". (Yegappan Lakshmanan) 3603 3604Win32: Don't use the printer font as default for the font dialog. 3605 3606"make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to 3607"yes". (Mirek Pruchnik) 3608 3609The ToolBar TagJump item used "g]", which prompts for a selection even when 3610there is only one matching tag. Use "g<C-]>" instead. 3611 3612The ming makefile for message translations didn't have the right list of 3613files. 3614 3615The MS-Windows 3.1 version complains about LIBINTL.DLL not found. Compile 3616this version without message translations. 3617 3618The Borland 5 makefile contained a check for Ruby which is no longer needed. 3619The URLs for the TCL library was outdated. (Dan Sharp) 3620 3621The eviso.ps file was missing from the DOS runtime archive, it's needed for 3622printing PostScript in the 32bit DOS version. 3623 3624In menu files ":scriptencoding" was used in a wrong way after patch 6.1a.032 3625Now use ":scriptencoding" in the file where the translations are given. Do 3626the same for all menus in latin1 encoding. 3627 3628Included a lot of fixes for the Macintosh, mostly to make it work with Carbon. 3629(Dany StAmant, Axel Kielhorn, Benji Fisher) 3630 3631Improved the vimtutor shell script to use $TMPDIR when it exists, and delete 3632the copied file when exiting in an abnormal way. (Max Ischenko) 3633 3634When "iconv.dll" can't be found, try using "libiconv.dll". 3635 3636When encryption is used, filtering with a shell command wasn't possible. 3637 3638DJGPP: ":cd c:" always failed, can't get permissions for "c:". 3639Win32: ":cd c:/" failed if the previous current directory on c: had become 3640invalid. 3641 3642DJGPP: Shift-Del and Del both produce \316\123. Default mapping for Del is 3643wrong. Disabled it. 3644 3645Dependencies on header files in MingW makefile was wrong. 3646 3647Win32: Don't use ACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe) 3648 3649Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providing a 3650different argument to make didn't regenerate it. 3651 3652Win32 with MSVC: Make_ivc.mak generates a new if_ole.h in a different 3653directory, the if_ole.h in the src directory may be used instead. Delete the 3654distributed file. 3655 3656When a window is vertically split and then ":ball" is used, the window layout 3657is messed up, can cause a crash. (Muraoka Taro) 3658 3659When 'insertmode' is set, using File/New menu and then double clicking, "i" is 3660soon inserted. (Merlin Hansen) 3661 3662When Select mode is active and using the Buffers menu to switch to another 3663buffer, an old selection comes back. Reset VIsual_reselect for a ":buffer" 3664command. 3665 3666When Select mode is active and 'insertmode' is set, using the Buffers menu to 3667switch to another buffer, did not return to Insert mode. Make sure 3668"restart_edit" is set. 3669 3670When double clicking on the first character of a word while 'selection' is 3671"exclusive" didn't select that word. 3672 3673 3674Patch 6.0.001 3675Problem: Loading the sh.vim syntax file causes error messages . (Corinna 3676 Vinschen) 3677Solution: Add an "if". (Charles Campbell) 3678Files: runtime/syntax/sh.vim 3679 3680Patch 6.0.002 3681Problem: Using a '@' item in 'viminfo' doesn't work. (Marko Leipert) 3682Solution: Add '@' to the list of accepted items. 3683Files: src/option.c 3684 3685Patch 6.0.003 3686Problem: The configure check for ACLs on AIX doesn't work. 3687Solution: Fix the test program so that it compiles. (Tomas Ogren) 3688Files: src/configure.in, src/auto/configure 3689 3690Patch 6.0.004 3691Problem: The find/replace dialog doesn't reuse a previous argument 3692 properly. 3693Solution: After removing a "\V" terminate the string. (Zwane Mwaikambo) 3694Files: src/gui.c 3695 3696Patch 6.0.005 3697Problem: In Insert mode, "CTRL-O :ls" has a delay before redrawing. 3698Solution: Don't delay just after wait_return() was called. Added the 3699 did_wait_return flag. 3700Files: src/globals.h, src/message.c, src/normal.c, src/screen.c 3701 3702Patch 6.0.006 3703Problem: With a vertical split, 'number' set and 'scrolloff' non-zero, 3704 making the window width very small causes a crash. (Niklas 3705 Lindstrom) 3706Solution: Check for a zero width. 3707Files: src/move.c 3708 3709Patch 6.0.007 3710Problem: When setting 'filetype' while there is no FileType autocommand, a 3711 following ":setfiletype" would set 'filetype' again. (Kobus 3712 Retief) 3713Solution: Set did_filetype always when 'filetype' has been set. 3714Files: src/option.c 3715 3716Patch 6.0.008 3717Problem: 'imdisable' is missing from the options window. (Michael Naumann) 3718Solution: Add an entry for it. 3719Files: runtime/optwin.vim 3720 3721Patch 6.0.009 3722Problem: Nextstep doesn't have S_ISBLK. (John Beppu) 3723Solution: Define S_ISBLK using S_IFBLK. 3724Files: src/os_unix.h 3725 3726Patch 6.0.010 3727Problem: Using "gf" on a file name starting with "./" or "../" in a buffer 3728 without a name causes a crash. (Roy Lewis) 3729Solution: Check for a NULL file name. 3730Files: src/misc2.c 3731 3732Patch 6.0.011 3733Problem: Python: After replacing or deleting lines get an ml_get error. 3734 (Leo Lipelis) 3735Solution: Adjust the cursor position for deleted or added lines. 3736Files: src/if_python.c 3737 3738Patch 6.0.012 3739Problem: Polish translations contain printf format errors, this can result 3740 in a crash when using one of them. 3741Solution: Fix for translated messages. (Michal Politowski) 3742Files: src/po/pl.po 3743 3744Patch 6.0.013 3745Problem: Using ":silent! cmd" still gives some error messages, like for an 3746 invalid range. (Salman Halim) 3747Solution: Reset emsg_silent after calling emsg() in do_one_cmd(). 3748Files: src/ex_docmd.c 3749 3750Patch 6.0.014 3751Problem: When 'modifiable' is off and 'virtualedit' is "all", "rx" on a TAB 3752 still changes the buffer. (Muraoka Taro) 3753Solution: Check if saving the line for undo fails. 3754Files: src/normal.c 3755 3756Patch 6.0.015 3757Problem: When 'cpoptions' includes "S" and "filetype plugin on" has been 3758 used, can get an error for deleting the b:did_ftplugin variable. 3759 (Ralph Henderson) 3760Solution: Only delete the variable when it exists. 3761Files: runtime/ftplugin.vim 3762 3763Patch 6.0.016 3764Problem: bufnr(), bufname() and bufwinnr() don't find unlisted buffers when 3765 the argument is a string. (Hari Krishna Dara) 3766 Also for setbufvar() and getbufvar(). 3767Solution: Also find unlisted buffers. 3768Files: src/eval.c 3769 3770Patch 6.0.017 3771Problem: When 'ttybuiltin' is set and a builtin termcap entry defines t_Co 3772 and the external one doesn't, it gets reset to empty. (David 3773 Harrison) 3774Solution: Only set t_Co when it wasn't set yet. 3775Files: src/term.c 3776 3777Patch 6.0.018 3778Problem: Initializing 'encoding' may cause a crash when setlocale() is not 3779 used. (Dany St-Amant) 3780Solution: Check for a NULL pointer. 3781Files: src/mbyte.c 3782 3783Patch 6.0.019 3784Problem: Converting a string with multi-byte characters to a printable 3785 string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin) 3786Solution: Correctly compute the length of the result in transstr(). 3787Files: src/charset.c 3788 3789Patch 6.0.020 3790Problem: When obtaining the value of a global variable internally, could 3791 get the function-local value instead. Applies to using <Leader> 3792 and <LocalLeader> and resetting highlighting in a function. 3793Solution: Prepend "g:" to the variable name. (Aric Blumer) 3794Files: src/syntax.c, src/term.c 3795 3796Patch 6.0.021 3797Problem: The 'cscopepathcomp' option didn't work. 3798Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng) 3799Files: src/option.c 3800 3801Patch 6.0.022 3802Problem: When using the 'langmap' option, the second character of a command 3803 starting with "g" isn't adjusted. 3804Solution: Apply 'langmap' to the second character. (Alex Kapranoff) 3805Files: src/normal.c 3806 3807Patch 6.0.023 3808Problem: Loading the lhaskell syntax doesn't work. (Thore B. Karlsen) 3809Solution: Use ":runtime" instead of "source" to load haskell.vim. 3810Files: runtime/syntax/lhaskell.vim 3811 3812Patch 6.0.024 3813Problem: Using "CTRL-V u 9900" in Insert mode may cause a crash. (Noah 3814 Levitt) 3815Solution: Don't insert a NUL byte in the text, use a newline. 3816Files: src/misc1.c 3817 3818Patch 6.0.025 3819Problem: The pattern "\vx(.|$)" doesn't match "x" at the end of a line. 3820 (Preben Peppe Guldberg) 3821Solution: Always see a "$" as end-of-line after "\v". Do the same for "^". 3822Files: src/regexp.c 3823 3824Patch 6.0.026 3825Problem: GTK: When using arrow keys to navigate through the menus, the 3826 separators are selected. 3827Solution: Set the separators "insensitive". (Pavel Kankovsky) 3828Files: src/gui_gtk.c, src/gui_gtk_x11.c 3829 3830Patch 6.0.027 3831Problem: VMS: Printing doesn't work, the file is deleted too quickly. 3832 No longer need the VMS specific printing menu. 3833 gethostname() is not available with VAXC. 3834 The makefile was lacking selection of the tiny-huge feature set. 3835Solution: Adjust the 'printexpr' option default. Fix the other problems and 3836 update the documentation. (Zoltan Arpadffy) 3837Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt, 3838 src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.h 3839 3840Patch 6.0.028 3841Problem: Can't compile without +virtualedit and with +visualextra. (Geza 3842 Lakner) 3843Solution: Add an #ifdef for +virtualedit. 3844Files: src/ops.c 3845 3846Patch 6.0.029 3847Problem: When making a change in line 1, then in line 2 and then deleting 3848 line 1, undo info could be wrong. Only when the changes are undone 3849 at once. (Gerhard Hochholzer) 3850Solution: When not saving a line for undo because it was already done 3851 before, remember for which entry the last line must be computed. 3852 Added ue_getbot_entry pointer for this. When the number of lines 3853 changes, adjust the position of newer undo entries. 3854Files: src/structs.h, src/undo.c 3855 3856Patch 6.0.030 3857Problem: Using ":source! file" doesn't work inside a loop or after 3858 ":argdo". (Pavol Juhas) 3859Solution: Execute the commands in the file right away, do not let the main 3860 loop do it. 3861Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h, 3862 src/proto/ex_docmd.pro, src/proto/getchar.pro 3863 3864Patch 6.0.031 3865Problem: Nextstep doesn't have setenv() or putenv(). (John Beppu) 3866Solution: Move putenv() from pty.c to misc2.c 3867Files: src/misc2.c, src/pty.c 3868 3869Patch 6.0.032 3870Problem: When changing a setting that affects all folds, they are not 3871 displayed immediately. 3872Solution: Set the redraw flag in foldUpdateAll(). 3873Files: src/fold.c 3874 3875Patch 6.0.033 3876Problem: Using 'wildmenu' on MS-Windows, file names that include a space 3877 are only displayed starting with that space. (Xie Yuheng) 3878Solution: Don't recognize a backslash before a space as a path separator. 3879Files: src/screen.c 3880 3881Patch 6.0.034 3882Problem: Calling searchpair() with three arguments could result in a crash 3883 or strange error message. (Kalle Bjorklid) 3884Solution: Don't use the fifth argument when there is no fourth argument. 3885Files: src/eval.c 3886 3887Patch 6.0.035 3888Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work 3889 when 'ignorecase' is set. (Allen Castaban) 3890Solution: Always match case when checking if a flag is already present in 3891 'guioptions'. 3892Files: runtime/menu.vim 3893 3894Patch 6.0.036 3895Problem: OS/2, MS-DOS and MS-Windows: Using a path that starts with a 3896 slash in 'tags' doesn't work as expected. (Mathias Koehrer 3897Solution: Only use the drive, not the whole path to the current directory. 3898 Also make it work for "c:dir/file". 3899Files: src/misc2.c 3900 3901Patch 6.0.037 3902Problem: When the user has set "did_install_syntax_menu" to avoid the 3903 default Syntax menu it still appears. (Virgilio) 3904Solution: Don't add the three default items when "did_install_syntax_menu" 3905 is set. 3906Files: runtime/menu.vim 3907 3908Patch 6.0.038 3909Problem: When 'selection' is "exclusive", deleting a block of text at the 3910 end of a line can leave the cursor beyond the end of the line. 3911Solution: Correct the cursor position. 3912Files: src/ops.c 3913 3914Patch 6.0.039 3915Problem: "gP" leaves the cursor in the wrong position when 'virtualedit' is 3916 used. Using "c" in blockwise Visual mode leaves the cursor in a 3917 strange position. 3918Solution: For "gP" reset the "coladd" field for the '] mark. For "c" leave 3919 the cursor on the last inserted character. 3920Files: src/ops.c 3921 3922Patch 6.0.040 3923Problem: When 'fileencoding' is invalid and writing fails because of 3924 this, the original file is gone. (Eric Carlier) 3925Solution: Restore the original file from the backup. 3926Files: src/fileio.c 3927 3928Patch 6.0.041 3929Problem: Using ":language messages en" when LC_MESSAGES is undefined 3930 results in setting LC_CTYPE. (Eric Carlier) 3931Solution: Set $LC_MESSAGES instead. 3932Files: src/ex_cmds2.c 3933 3934Patch 6.0.042 3935Problem: ":mksession" can't handle file names with a space. 3936Solution: Escape special characters in file names with a backslash. 3937Files: src/ex_docmd.c 3938 3939Patch 6.0.043 3940Problem: Patch 6.0.041 was wrong. 3941Solution: Use mch_getenv() instead of vim_getenv(). 3942Files: src/ex_cmds2.c 3943 3944Patch 6.0.044 3945Problem: Using a "containedin" list for a syntax item doesn't work for an 3946 item that doesn't have a "contains" argument. Also, "containedin" 3947 doesn't ignore a transparent item. (Timo Frenay) 3948Solution: When there is a "containedin" argument somewhere, always check for 3949 contained items. Don't check for the transparent item but the 3950 item it's contained in. 3951Files: src/structs.h, src/syntax.c 3952 3953Patch 6.0.045 3954Problem: After creating a fold with a Visual selection, another window 3955 with the same buffer still has inverted text. (Sami Salonen) 3956Solution: Redraw the inverted text. 3957Files: src/normal.c 3958 3959Patch 6.0.046 3960Problem: When getrlimit() returns an 8 byte number the check for running 3961 out of stack may fail. (Anthony Meijer) 3962Solution: Skip the stack check if the limit doesn't fit in a long. 3963Files: src/auto/configure, src/config.h.in, src/configure.in, 3964 src/os_unix.c 3965 3966Patch 6.0.047 3967Problem: Using a regexp with "\(\)" inside a "\%[]" item causes a crash. 3968 (Samuel Lacas) 3969Solution: Don't allow nested atoms inside "\%[]". 3970Files: src/regexp.c 3971 3972Patch 6.0.048 3973Problem: Win32: In the console the mouse doesn't always work correctly. 3974 Sometimes after getting focus a mouse movement is interpreted like 3975 a button click. 3976Solution: Use a different function to obtain the number of mouse buttons. 3977 Avoid recognizing a button press from undefined bits. (Vince Negri) 3978Files: src/os_win32.c 3979 3980Patch 6.0.049 3981Problem: When using evim the intro screen is misleading. (Adrian Nagle) 3982Solution: Mention whether 'insertmode' is set and the menus to be used. 3983Files: runtime/menu.vim, src/version.c 3984 3985Patch 6.0.050 3986Problem: UTF-8: "viw" doesn't include non-ASCII characters before the 3987 cursor. (Bertilo Wennergren) 3988Solution: Use dec_cursor() instead of decrementing the column number. 3989Files: src/search.c 3990 3991Patch 6.0.051 3992Problem: UTF-8: Using CTRL-R on the command line doesn't insert composing 3993 characters. (Ron Aaron) 3994Solution: Also include the composing characters and fix redrawing them. 3995Files: src/ex_getln.c, src/ops.c 3996 3997Patch 6.0.052 3998Problem: The check for rlim_t in patch 6.0.046 does not work on some 3999 systems. (Zdenek Sekera) 4000Solution: Also look in sys/resource.h for rlim_t. 4001Files: src/auto/configure, src/configure.in 4002 4003Patch 6.0.053 (extra) 4004Problem: Various problems with QNX. 4005Solution: Minor fix for configure. Switch on terminal clipboard support in 4006 main.c. Fix "pterm" mouse support. os_qnx.c didn't build without 4007 photon. (Julian Kinraid) 4008Files: src/auto/configure, src/configure.in, src/gui_photon.c, 4009 src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h, 4010 src/syntax.c 4011 4012Patch 6.0.054 4013Problem: When using mswin.vim, CTRL-V pastes a block of text like it is 4014 normal text. Using CTRL-V in blockwise Visual mode leaves "x" 4015 characters behind. 4016Solution: Make CTRL-V work as it should. Do the same for the Paste menu 4017 entries. 4018Files: runtime/menu.vim, runtime/mswin.vim 4019 4020Patch 6.0.055 4021Problem: GTK: The selection isn't copied the first time. 4022Solution: Own the selection at the right moment. 4023Files: src/gui_gtk_x11.c 4024 4025Patch 6.0.056 4026Problem: Using "CTRL-O cw" in Insert mode results in a nested Insert mode. 4027 <Esc> doesn't leave Insert mode then. 4028Solution: Only use nested Insert mode when 'insertmode' is set or when a 4029 mapping is used. 4030Files: src/normal.c 4031 4032Patch 6.0.057 4033Problem: Using ":wincmd g}" in a function doesn't work. (Gary Holloway) 4034Solution: Execute the command directly, instead of putting it in the 4035 typeahead buffer. 4036Files: src/normal.c, src/proto/normal.pro, src/window.c 4037 4038Patch 6.0.058 4039Problem: When a Cursorhold autocommand moved the cursor, the ruler wasn't 4040 updated. (Bohdan Vlasyuk) 4041Solution: Update the ruler after executing the autocommands. 4042Files: src/gui.c 4043 4044Patch 6.0.059 4045Problem: Highlighting for 'hlsearch' isn't visible in lines that are 4046 highlighted for diff highlighting. (Gary Holloway) 4047Solution: Let 'hlsearch' highlighting overrule diff highlighting. 4048Files: src/screen.c 4049 4050Patch 6.0.060 4051Problem: Motif: When the tooltip is to be popped up, Vim crashes. 4052 (Gary Holloway) 4053Solution: Check for a NULL return value from gui_motif_fontset2fontlist(). 4054Files: src/gui_beval.c 4055 4056Patch 6.0.061 4057Problem: The toolbar buttons to load and save a session do not correctly 4058 use v:this_session. 4059Solution: Check for v:this_session to be empty instead of existing. 4060Files: runtime/menu.vim 4061 4062Patch 6.0.062 4063Problem: Crash when 'verbose' is > 3 and using ":shell". (Yegappan 4064 Lakshmanan) 4065Solution: Avoid giving a NULL pointer to printf(). Also output a newline 4066 and switch the cursor on. 4067Files: src/misc2.c 4068 4069Patch 6.0.063 4070Problem: When 'cpoptions' includes "$", using "cw" to type a ')' on top of 4071 the "$" doesn't update syntax highlighting after it. 4072Solution: Stop displaying the "$" when typing a ')' in its position. 4073Files: src/search.c 4074 4075Patch 6.0.064 (extra) 4076Problem: The NSIS install script doesn't work with newer versions of NSIS. 4077 The diff feature doesn't work when there isn't a good diff.exe on 4078 the system. 4079Solution: Replace the GetParentDir instruction by a user function. 4080 Fix a few cosmetic problems. Use defined constants for the 4081 version number, so that it's defined in one place only. 4082 Only accept the install directory when it ends in "vim". 4083 (Eduardo Fernandez) 4084 Add a diff.exe and use it from the default _vimrc. 4085Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.c 4086 4087Patch 6.0.065 4088Problem: When using ":normal" in 'indentexpr' it may use redo characters 4089 before its argument. (Neil Bird) 4090Solution: Save and restore the stuff buffer in ex_normal(). 4091Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h 4092 4093Patch 6.0.066 4094Problem: Sometimes undo for one command is split into two undo actions. 4095 (Halim Salman) 4096Solution: Don't set the undo-synced flag when reusing a line that was 4097 already saved for undo. 4098Files: src/undo.c 4099 4100Patch 6.0.067 4101Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined 4102 in the usual header file (e.g., AIX). (Mark Waggoner) 4103Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it. 4104Files: src/if_xcmdsrv.c 4105 4106Patch 6.0.068 4107Problem: When formatting a Visually selected area with "gq" and the number 4108 of lines increases the last line may not be redrawn correctly. 4109 (Yegappan Lakshmanan) 4110Solution: Correct the area to be redrawn for inserted/deleted lines. 4111Files: src/ops.c 4112 4113Patch 6.0.069 4114Problem: Using "K" on a word that includes a "!" causes a "No previous 4115 command" error, because the "!" is expanded. (Craig Jeffries) 4116Solution: Put a backslash before the "!". 4117Files: src/normal.c 4118 4119Patch 6.0.070 4120Problem: Win32: The error message for a failed dynamic linking of a Perl, 4121 Ruby, Tcl and Python library is unclear about what went wrong. 4122Solution: Give the name of the library or function that could not be loaded. 4123 Also for the iconv and gettext libraries when 'verbose' is set. 4124Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, 4125 src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro, 4126 src/proto/if_python.pro, src/proto/if_ruby.pro, 4127 src/proto/if_tcl.pro, src/proto/mbyte.pro 4128 4129Patch 6.0.071 4130Problem: The "iris-ansi" builtin termcap isn't very good. 4131Solution: Fix the wrong entries. (David Harrison) 4132Files: src/term.c 4133 4134Patch 6.0.072 4135Problem: When 'lazyredraw' is set, a mapping that stops Visual mode, moves 4136 the cursor and starts Visual mode again causes a redraw problem. 4137 (Brian Silverman) 4138Solution: Redraw both the old and the new Visual area when necessary. 4139Files: src/normal.c, src/screen.c 4140 4141Patch 6.0.073 (extra) 4142Problem: DJGPP: When using CTRL-Z to start a shell, the prompt is halfway 4143 the text. (Volker Kiefel) 4144Solution: Position the system cursor before starting the shell. 4145Files: src/os_msdos.c 4146 4147Patch 6.0.074 4148Problem: When using "&" in a substitute string a multi-byte character with 4149 a trailbyte 0x5c is not handled correctly. 4150Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro) 4151Files: src/regexp.c 4152 4153Patch 6.0.075 4154Problem: When closing a horizontally split window while 'eadirection' is 4155 "hor" another horizontally split window is still resized. (Aron 4156 Griffis) 4157Solution: Only resize windows in the same top frame as the window that is 4158 split or closed. 4159Files: src/main.c, src/proto/window.pro, src/window.c 4160 4161Patch 6.0.076 4162Problem: Warning for wrong pointer type when compiling. 4163Solution: Use char instead of char_u pointer. 4164Files: src/version.c 4165 4166Patch 6.0.077 4167Problem: Patch 6.0.075 was incomplete. 4168Solution: Fix another call to win_equal(). 4169Files: src/option.c 4170 4171Patch 6.0.078 4172Problem: Using "daw" at the end of a line on a single-character word didn't 4173 include the white space before it. At the end of the file it 4174 didn't work at all. (Gavin Sinclair) 4175Solution: Include the white space before the word. 4176Files: src/search.c 4177 4178Patch 6.0.079 4179Problem: When "W" is in 'cpoptions' and 'backupcopy' is "no" or "auto", can 4180 still overwrite a read-only file, because it's renamed. (Gary 4181 Holloway) 4182Solution: Add a check for a read-only file before renaming the file to 4183 become the backup. 4184Files: src/fileio.c 4185 4186Patch 6.0.080 4187Problem: When using a session file that has the same file in two windows, 4188 the fileinfo() call in do_ecmd() causes a scroll and a hit-enter 4189 prompt. (Robert Webb) 4190Solution: Don't scroll this message when 'shortmess' contains 'O'. 4191Files: src/ex_cmds.c 4192 4193Patch 6.0.081 4194Problem: After using ":saveas" the new buffer name is added to the Buffers 4195 menu with a wrong number. (Chauk-Mean Proum) 4196Solution: Trigger BufFilePre and BufFilePost events for the renamed buffer 4197 and BufAdd for the old name (which is with a new buffer). 4198Files: src/ex_cmds.c 4199 4200Patch 6.0.082 4201Problem: When swapping screens in an xterm and there is an (error) message 4202 from the vimrc script, the shell prompt is after the message. 4203Solution: Output a newline when there was output on the alternate screen. 4204 Also when starting the GUI. 4205Files: src/main.c 4206 4207Patch 6.0.083 4208Problem: GTK: When compiled without menu support the buttons in a dialog 4209 don't have any text. (Erik Edelmann) 4210Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define 4211 GTK_USE_ACCEL also when not using menus. 4212Files: src/gui_gtk.c 4213 4214Patch 6.0.084 4215Problem: UTF-8: a "r" command with an argument that is a keymap for a 4216 character with a composing character can't be repeated with ".". 4217 (Raphael Finkel) 4218Solution: Add the composing characters to the redo buffer. 4219Files: src/normal.c 4220 4221Patch 6.0.085 4222Problem: When 'mousefocus' is set, using "s" to go to Insert mode and then 4223 moving the mouse pointer to another window stops Insert mode, 4224 while this doesn't happen with "a" or "i". (Robert Webb) 4225Solution: Reset finish_op before calling edit(). 4226Files: src/normal.c 4227 4228Patch 6.0.086 4229Problem: When using "gu" the message says "~ed". 4230Solution: Make the message say "changed". 4231Files: src/ops.c 4232 4233Patch 6.0.087 (lang) 4234Problem: Message translations are incorrect, which may cause a crash. 4235 (Peter Figura) 4236 The Turkish translations needed more work and the maintainer 4237 didn't have time. 4238Solution: Fix order of printf arguments. Remove %2$d constructs. 4239 Add "-v" to msgfmt to get a warning for wrong translations. 4240 Don't install the Turkish translations for now. 4241 Update a few more translations. 4242Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po, 4243 src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po, 4244 src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po, 4245 src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po, 4246 src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.po 4247 4248Patch 6.0.088 4249Problem: "." doesn't work after using "rx" in Visual mode. (Charles 4250 Campbell) 4251Solution: Also store the replacement character in the redo buffer. 4252Files: src/normal.c 4253 4254Patch 6.0.089 4255Problem: In a C file, using "==" to align a line starting with "* " after 4256 a line with "* -" indents one space too few. (Piet Delport) 4257Solution: Align with the previous line if the comment-start-string matches 4258 there. 4259Files: src/misc1.c 4260 4261Patch 6.0.090 4262Problem: When a wrapping line does not fit in a window and 'scrolloff' is 4263 bigger than half the window height, moving the cursor left or 4264 right causes the screen to flash badly. (Lubomir Host) 4265Solution: When there is not enough room to show 'scrolloff' screen lines and 4266 near the end of the line, show the end of the line. 4267Files: src/move.c 4268 4269Patch 6.0.091 4270Problem: Using CTRL-O in Insert mode, while 'virtualedit' is "all" and the 4271 cursor is after the end-of-line, moves the cursor left. (Yegappan 4272 Lakshmanan) 4273Solution: Keep the cursor in the same position. 4274Files: src/edit.c 4275 4276Patch 6.0.092 4277Problem: The explorer plugin doesn't ignore case of 'suffixes' on 4278 MS-Windows. (Mike Williams) 4279Solution: Match or ignore case as appropriate for the OS. 4280Files: runtime/plugin/explorer.vim 4281 4282Patch 6.0.093 4283Problem: When the Tcl library couldn't be loaded dynamically, get an error 4284 message when closing a buffer or window. (Muraoka Taro) 4285Solution: Only free structures if already using the Tcl interpreter. 4286Files: src/if_tcl.c 4287 4288Patch 6.0.094 4289Problem: Athena: When clicking in the horizontal scrollbar Vim crashes. 4290 (Paul Ackersviller) 4291Solution: Use the thumb size instead of the window pointer of the scrollbar 4292 (which is NULL). (David Harrison) 4293 Also avoid that scrolling goes the wrong way in a narrow window. 4294Files: src/gui_athena.c 4295 4296Patch 6.0.095 4297Problem: Perl: Deleting lines may leave the cursor beyond the end of the 4298 file. 4299Solution: Check the cursor position after deleting a line. (Serguei) 4300Files: src/if_perl.xs 4301 4302Patch 6.0.096 4303Problem: When ":saveas fname" fails because the file already exists, the 4304 file name is changed anyway and a following ":w" will overwrite 4305 the file. (Eric Carlier) 4306Solution: Don't change the file name if the file already exists. 4307Files: src/ex_cmds.c 4308 4309Patch 6.0.097 4310Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a 4311 multi-byte encoding. 4312Solution: Avoid using a character before the start of a line. (Sergey 4313 Vlasov) 4314Files: src/edit.c 4315 4316Patch 6.0.098 4317Problem: GTK: When using Gnome the "Search" and "Search and Replace" dialog 4318 boxes are not translated. 4319Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez) 4320Files: src/gui_gtk.c, src/gui_gtk_x11.c 4321 4322Patch 6.0.099 4323Problem: Cygwin: When running Vi compatible MS-DOS line endings cause 4324 trouble. 4325Solution: Make the default for 'fileformats' "unix,dos" in Vi compatible 4326 mode. (Michael Schaap) 4327Files: src/option.h 4328 4329Patch 6.0.100 4330Problem: ":badd +0 test%file" causes a crash. 4331Solution: Take into account that the "+0" is NUL terminated when allocating 4332 room for replacing the "%". 4333Files: src/ex_docmd.c 4334 4335Patch 6.0.101 4336Problem: ":mksession" doesn't restore editing a file that has a '#' or '%' 4337 in its name. (Wolfgang Blankenburg) 4338Solution: Put a backslash before the '#' and '%'. 4339Files: src/ex_docmd.c 4340 4341Patch 6.0.102 4342Problem: When changing folds the cursor may appear halfway a closed fold. 4343 (Nam SungHyun) 4344Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto) 4345Files: src/move.c 4346 4347Patch 6.0.103 4348Problem: When using 'scrollbind' a large value of 'scrolloff' will make the 4349 scroll binding stop near the end of the file. (Coen Engelbarts) 4350Solution: Don't use 'scrolloff' when limiting the topline for scroll 4351 binding. (Dany StAmant) 4352Files: src/normal.c 4353 4354Patch 6.0.104 4355Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide 4356 character that overwrites the left halve of an old double-wide 4357 character causes a redraw problem and the cursor stops blinking. 4358Solution: Clear the right half of the old character. (Yasuhiro Matsumoto) 4359Files: src/edit.c, src/screen.c 4360 4361Patch 6.0.105 4362Problem: Multi-byte: In a window of one column wide, with syntax 4363 highlighting enabled a crash might happen. 4364Solution: Skip getting the syntax attribute when the character doesn't fit 4365 anyway. (Yasuhiro Matsumoto) 4366Files: src/screen.c 4367 4368Patch 6.0.106 (extra) 4369Problem: Win32: When the printer font is wrong, there is no error message. 4370Solution: Give an appropriate error message. (Yasuhiro Matsumoto) 4371Files: src/os_mswin.c 4372 4373Patch 6.0.107 (extra) 4374Problem: VisVim: When editing another file, a modified file may be written 4375 unexpectedly and without warning. 4376Solution: Split the window if a file was modified. 4377Files: VisVim/Commands.cpp 4378 4379Patch 6.0.108 4380Problem: When using folding could try displaying line zero, resulting in an 4381 error for a NULL pointer. 4382Solution: Stop decrementing w_topline when the first line of a window is in 4383 a closed fold. 4384Files: src/window.c 4385 4386Patch 6.0.109 4387Problem: XIM: When the input method is enabled, repeating an insertion with 4388 "." disables it. (Marcel Svitalsky) 4389Solution: Don't store the input method status when a command comes from the 4390 stuff buffer. 4391Files: src/ui.c 4392 4393Patch 6.0.110 4394Problem: Using undo after executing "OxjAxkdd" from a register in 4395 an empty buffer gives an error message. (Gerhard Hochholzer) 4396Solution: Don't adjust the bottom line number of an undo block when it's 4397 zero. Add a test for this problem. 4398Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.ok 4399 4400Patch 6.0.111 4401Problem: The virtcol() function doesn't take care of 'virtualedit'. 4402Solution: Add the column offset when needed. (Yegappan Lakshmanan) 4403Files: src/eval.c 4404 4405Patch 6.0.112 4406Problem: The explorer plugin doesn't sort directories with a space or 4407 special character after a directory with a shorter name. 4408Solution: Ignore the trailing slash when comparing directory names. (Mike 4409 Williams) 4410Files: runtime/plugin/explorer.vim 4411 4412Patch 6.0.113 4413Problem: ":edit ~/fname" doesn't work if $HOME includes a space. Also, 4414 expanding wildcards with the shell may fail. (John Daniel) 4415Solution: Escape spaces with a backslash when needed. 4416Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.c 4417 4418Patch 6.0.114 4419Problem: Using ":p" with fnamemodify() didn't expand "~/" or "~user/" to a 4420 full path. For Win32 the current directory was prepended. 4421 (Michael Geddes) 4422Solution: Expand the home directory. 4423Files: src/eval.c 4424 4425Patch 6.0.115 (extra) 4426Problem: Win32: When using a dialog with a textfield it cannot scroll the 4427 text. 4428Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes) 4429Files: src/gui_w32.c 4430 4431Patch 6.0.116 (extra) 4432Problem: MS-Windows NT/2000/XP: filewritable() doesn't work correctly for 4433 filesystems that use ACLs. 4434Solution: Use ACL functions to check if a file is writable. (Mike Williams) 4435Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.pro 4436 4437Patch 6.0.117 (extra) 4438Problem: Win32: when disabling the menu, "set lines=999" doesn't use all 4439 the available screen space. 4440Solution: Don't subtract the fixed caption height but the real menu height 4441 from the available screen space. Also: Avoid recursion in 4442 gui_mswin_get_menu_height(). 4443Files: src/gui_w32.c, src/gui_w48.c 4444 4445Patch 6.0.118 4446Problem: When $TMPDIR is a relative path, the temp directory is missing a 4447 trailing slash and isn't deleted when Vim exits. (Peter Holm) 4448Solution: Add the slash after expanding the directory to an absolute path. 4449Files: src/fileio.c 4450 4451Patch 6.0.119 (depends on patch 6.0.116) 4452Problem: VMS: filewritable() doesn't work properly. 4453Solution: Use the same method as for Unix. (Zoltan Arpadffy) 4454Files: src/eval.c 4455 4456Patch 6.0.120 4457Problem: The conversion to html isn't compatible with XHTML. 4458Solution: Quote the values. (Jess Thrysoee) 4459Files: runtime/syntax/2html.vim 4460 4461Patch 6.0.121 (extra) (depends on patch 6.0.116) 4462Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32. 4463Solution: Add an #ifdef HAVE_ACL. 4464Files: src/os_win32.c 4465 4466Patch 6.0.122 (extra) 4467Problem: Win16: Same resize problems as patch 6.0.117 fixed for Win32. And 4468 dialog textfield problem from patch 6.0.115. 4469Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag. 4470 (Vince Negri) 4471Files: src/gui_w16.c 4472 4473Patch 6.0.123 (depends on patch 6.0.119) 4474Problem: Win16: Compilation problems. 4475Solution: Move "&&" to other lines. (Vince Negri) 4476Files: src/eval.c 4477 4478Patch 6.0.124 4479Problem: When using a ":substitute" command that starts with "\=" 4480 (evaluated as an expression), "~" was still replaced with the 4481 previous substitute string. 4482Solution: Skip the replacement when the substitute string starts with "\=". 4483 Also adjust the documentation about doubling backslashes. 4484Files: src/ex_cmds.c, runtime/doc/change.txt 4485 4486Patch 6.0.125 (extra) 4487Problem: Win32: When using the multi_byte_ime feature pressing the shift 4488 key would be handled as if a character was entered, thus mappings 4489 with a shifted key didn't work. (Charles Campbell) 4490Solution: Ignore pressing the shift, control and alt keys. 4491Files: src/os_win32.c 4492 4493Patch 6.0.126 4494Problem: The python library was always statically linked. 4495Solution: Link the python library dynamically. (Matthias Klose) 4496Files: src/auto/configure, src/configure.in 4497 4498Patch 6.0.127 4499Problem: When using a terminal that swaps screens and the Normal background 4500 color has a different background, using an external command may 4501 cause the color of the wrong screen to be changed. (Mark Waggoner) 4502Solution: Don't call screen_stop_highlight() in stoptermcap(). 4503Files: src/term.c 4504 4505Patch 6.0.128 4506Problem: When moving a vertically split window to the far left or right, 4507 the scrollbars are not adjusted. (Scott E Lee) When 'mousefocus' 4508 is set the mouse pointer wasn't adjusted. 4509Solution: Adjust the scrollbars and the mouse pointer. 4510Files: src/window.c 4511 4512Patch 6.0.129 4513Problem: When using a very long file name, ":ls" (repeated a few times) 4514 causes a crash. Test with "vim `perl -e 'print "A"x1000'`". 4515 (Tejeda) 4516Solution: Terminate a string before getting its length in buflist_list(). 4517Files: src/buffer.c 4518 4519Patch 6.0.130 4520Problem: When using ":cprev" while the error window is open, and the new 4521 line at the top wraps, the window isn't correctly drawn. 4522 (Yegappan Lakshmanan) 4523Solution: When redrawing the topline don't scroll twice. 4524Files: src/screen.c 4525 4526Patch 6.0.131 4527Problem: When using bufname() and there are two matches for listed buffers 4528 and one match for an unlisted buffer, the unlisted buffer is used. 4529 (Aric Blumer) 4530Solution: When there is a match with a listed buffer, don't check for 4531 unlisted buffers. 4532Files: src/buffer.c 4533 4534Patch 6.0.132 4535Problem: When setting 'iminsert' in the vimrc and using an xterm with two 4536 screens the ruler is drawn in the wrong screen. (Igor Goldenberg) 4537Solution: Only draw the ruler when using the right screen. 4538Files: src/option.c 4539 4540Patch 6.0.133 4541Problem: When opening another buffer while 'keymap' is set and 'iminsert' 4542 is zero, 'iminsert' is set to one unexpectedly. (Igor Goldenberg) 4543Solution: Don't set 'iminsert' as a side effect of defining a ":lmap" 4544 mapping. Only do that when 'keymap' is set. 4545Files: src/getchar.c, src/option.c 4546 4547Patch 6.0.134 4548Problem: When completing ":set tags=" a path with an embedded space causes 4549 the completion to stop. (Sektor van Skijlen) 4550Solution: Escape spaces with backslashes, like for ":set path=". Also take 4551 backslashes into account when searching for the start of the path 4552 to complete (e.g., for 'backupdir' and 'cscopeprg'). 4553Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.h 4554 4555Patch 6.0.135 4556Problem: Menus that are not supposed to do anything used "<Nul>", which 4557 still produced an error beep. 4558 When CTRL-O is mapped for Insert mode, ":amenu" commands didn't 4559 work in Insert mode. 4560 Menu language falls back to English when $LANG ends in "@euro". 4561Solution: Use "<Nop>" for a menu item that doesn't do anything, just like 4562 mappings. 4563 Use ":anoremenu" instead of ":amenu". 4564 Ignore "@euro" in the locale name. 4565Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.c 4566 4567Patch 6.0.136 4568Problem: When completing in Insert mode, a mapping could be unexpectedly 4569 applied. 4570Solution: Don't use mappings when checking for a typed character. 4571Files: src/edit.c 4572 4573Patch 6.0.137 4574Problem: GUI: When using the find or find/replace dialog from Insert mode, 4575 the input mode is stopped. 4576Solution: Don't use the input method status when the main window doesn't 4577 have focus. 4578Files: src/ui.c 4579 4580Patch 6.0.138 4581Problem: GUI: When using the find or find/replace dialog from Insert mode, 4582 the text is inserted when CTRL-O is mapped. (Andre Pang) 4583 When opening the dialog again, a whole word search isn't 4584 recognized. 4585 When doing "replace all" a whole word search was never done. 4586Solution: Don't put a search or replace command in the input buffer, 4587 execute it directly. 4588 Recognize "\<" and "\>" after removing "\V". 4589 Add "\<" and "\>" also for "replace all". 4590Files: src/gui.c 4591 4592Patch 6.0.139 4593Problem: When stopping 'wildmenu' completion, the statusline of the 4594 bottom-left vertically split window isn't redrawn. (Yegappan 4595 Lakshmanan) 4596Solution: Redraw all the bottom statuslines. 4597Files: src/ex_getln.c, src/proto/screen.pro, src/screen.c 4598 4599Patch 6.0.140 4600Problem: Memory allocated for local mappings and abbreviations is leaked 4601 when the buffer is wiped out. 4602Solution: Clear the local mappings when deleting a buffer. 4603Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.h 4604 4605Patch 6.0.141 4606Problem: When using ":enew" in an empty buffer, some buffer-local things 4607 are not cleared. b:keymap_name is not set. 4608Solution: Clear user commands and mappings local to the buffer when re-using 4609 the current buffer. Reload the keymap. 4610Files: src/buffer.c 4611 4612Patch 6.0.142 4613Problem: When Python is linked statically, loading dynamic extensions might 4614 fail. 4615Solution: Add an extra linking flag when needed. (Andrew Rodionoff) 4616Files: src/configure.in, src/auto/configure 4617 4618Patch 6.0.143 4619Problem: When a syntax item includes a line break in a pattern, the syntax 4620 may not be updated properly when making a change. 4621Solution: Add the "linebreaks" argument to ":syn sync". 4622Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.c 4623 4624Patch 6.0.144 4625Problem: After patch 6.0.088 redoing "veU" doesn't work. 4626Solution: Don't add the "U" to the redo buffer, it will be used as an undo 4627 command. 4628Files: src/normal.c 4629 4630Patch 6.0.145 4631Problem: When Vim can't read any input it might get stuck. When 4632 redirecting stdin and stderr Vim would not read commands from a 4633 file. (Servatius Brandt) 4634Solution: When repeatedly trying to read a character when it's not possible, 4635 exit Vim. When stdin and stderr are not a tty, still try reading 4636 from them, but don't do a blocking wait. 4637Files: src/ui.c 4638 4639Patch 6.0.146 4640Problem: When 'statusline' contains "%{'-'}" this results in a zero. 4641 (Milan Vancura) 4642Solution: Don't handle numbers with a minus as a number, they were not 4643 displayed anyway. 4644Files: src/buffer.c 4645 4646Patch 6.0.147 4647Problem: It's not easy to mark a Vim version as being modified. The new 4648 license requires this. 4649Solution: Add the --modified-by argument to configure and the MODIFIED_BY 4650 define. I's used in the intro screen and the ":version" output. 4651Files: src/auto/configure, src/configure.in, src/config.h.in, 4652 src/feature.h, src/version.c 4653 4654Patch 6.0.148 4655Problem: After "p" in an empty line, `[ goes to the second character. 4656 (Kontra Gergely) 4657Solution: Don't increment the column number in an empty line. 4658Files: src/ops.c 4659 4660Patch 6.0.149 4661Problem: The pattern "\(.\{-}\)*" causes a hang. When using a search 4662 pattern that causes a stack overflow to be detected Vim could 4663 still hang. 4664Solution: Correctly report "operand could be empty" when using "\{-}". 4665 Check for "out_of_stack" inside loops to avoid a hang. 4666Files: src/regexp.c 4667 4668Patch 6.0.150 4669Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work 4670 like "P". (Sung-Hyun Nam) 4671Solution: Compute the byte length of a multi-byte character. 4672Files: src/ops.c 4673 4674Patch 6.0.151 4675Problem: Redrawing the status line and ruler can be wrong when it contains 4676 multi-byte characters. 4677Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto) 4678Files: src/screen.c 4679 4680Patch 6.0.152 4681Problem: strtrans() could hang on an illegal UTF-8 byte sequence. 4682Solution: Skip over illegal bytes. (Yasuhiro Matsumoto) 4683Files: src/charset.c 4684 4685Patch 6.0.153 4686Problem: When using (illegal) double-byte characters and Vim syntax 4687 highlighting Vim can crash. (Yasuhiro Matsumoto) 4688Solution: Increase a pointer over a character instead of a byte. 4689Files: src/regexp.c 4690 4691Patch 6.0.154 4692Problem: MS-DOS and MS-Windows: The menu entries for xxd don't work when 4693 there is no xxd in the path. 4694 When converting back from Hex the filetype may remain "xxd" if it 4695 is not detected. 4696Solution: When xxd is not in the path use the one in the runtime directory, 4697 where the install program has put it. 4698 Clear the 'filetype' option before detecting the new value. 4699Files: runtime/menu.vim 4700 4701Patch 6.0.155 4702Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel 4703 Kielhorn) 4704Solution: Don't call mch_inchar() when NO_CONSOLE is defined. 4705Files: src/ui.c 4706 4707Patch 6.0.156 4708Problem: Starting Vim with the -b argument and two files, ":next" doesn't 4709 set 'binary' in the second file, like Vim 5.7. (Norman Diamond) 4710Solution: Set the global value for 'binary'. 4711Files: src/option.c 4712 4713Patch 6.0.157 4714Problem: When defining a user command with "-complete=dir" files will also 4715 be expanded. Also, "-complete=mapping" doesn't appear to work. 4716 (Michael Naumann) 4717Solution: Use the expansion flags defined with the user command. 4718 Handle expanding mappings specifically. 4719Files: src/ex_docmd.c 4720 4721Patch 6.0.158 4722Problem: When getting the warning for a file being changed outside of Vim 4723 and reloading the file, the 'readonly' option is reset, even when 4724 the permissions didn't change. (Marcel Svitalsky) 4725Solution: Keep 'readonly' set when reloading a file and the permissions 4726 didn't change. 4727Files: src/fileio.c 4728 4729Patch 6.0.159 4730Problem: Wildcard expansion for ":emenu" also shows separators. 4731Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff". 4732 Also, don't handle ":tmenu" as if it was ":tearoff". And leave 4733 out the alternatives with "&" included. 4734Files: src/menu.c 4735 4736Patch 6.0.160 4737Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the 4738 optimizer causes a problem that makes Vim crash. 4739Solution: Add a configure check to avoid "-O2" for this version of gcc. 4740Files: src/configure.in, src/auto/configure 4741 4742Patch 6.0.161 (extra) 4743Problem: Win32: Bitmaps don't work with signs. 4744Solution: Make it possible to use bitmaps with signs. (Muraoka Taro) 4745Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c, 4746 src/proto/gui_w32.pro, src/proto/gui_x11.pro 4747 4748Patch 6.0.162 4749Problem: Client-server: An error message for a wrong expression appears in 4750 the server instead of the client. 4751Solution: Pass the error message from the server to the client. Also 4752 adjust the example code. (Flemming Madsen) 4753Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, 4754 src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro, 4755 runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.c 4756 4757Patch 6.0.163 4758Problem: When using a GUI dialog, a file name is sometimes used like it was 4759 a directory. 4760Solution: Separate path and file name properly. 4761 For GTK, Motif and Athena concatenate directory and file name for 4762 the default selection. 4763Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, 4764 src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.c 4765 4766Patch 6.0.164 4767Problem: After patch 6.0.135 the menu entries for pasting don't work in 4768 Insert and Visual mode. (Muraoka Taro) 4769Solution: Add <script> to allow script-local mappings. 4770Files: runtime/menu.vim 4771 4772Patch 6.0.165 4773Problem: Using --remote and executing locally gives unavoidable error 4774 messages. 4775Solution: Add --remote-silent and --remote-wait-silent to silently execute 4776 locally. 4777 For Win32 there was no error message when a server didn't exist. 4778Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, 4779 src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro 4780 4781Patch 6.0.166 4782Problem: GUI: There is no way to avoid dialogs to pop up. 4783Solution: Add the 'c' flag to 'guioptions': Use console dialogs. (Yegappan 4784 Lakshmanan) 4785Files: runtime/doc/options.txt, src/option.h, src/message.c 4786 4787Patch 6.0.167 4788Problem: When 'fileencodings' is "latin2" some characters in the help files 4789 are displayed wrong. 4790Solution: Force the 'fileencoding' for the help files to be "latin1". 4791Files: src/fileio.c 4792 4793Patch 6.0.168 4794Problem: ":%s/\n/#/" doesn't replace at an empty line. (Bruce DeVisser) 4795Solution: Don't skip matches after joining two lines. 4796Files: src/ex_cmds.c 4797 4798Patch 6.0.169 4799Problem: When run as evim and the GUI can't be started we get stuck in a 4800 terminal without menus in Insert mode. 4801Solution: Exit when using "evim" and "gvim -y" when the GUI can't be 4802 started. 4803Files: src/main.c 4804 4805Patch 6.0.170 4806Problem: When printing double-width characters the size of tabs after them 4807 is wrong. (Muraoka Taro) 4808Solution: Correctly compute the column after a double-width character. 4809Files: src/ex_cmds2.c 4810 4811Patch 6.0.171 4812Problem: With 'keymodel' including "startsel", in Insert mode after the end 4813 of a line, shift-Left does not move the cursor. (Steve Hall) 4814Solution: CTRL-O doesn't move the cursor left, need to do that explicitly. 4815Files: src/edit.c 4816 4817Patch 6.0.172 4818Problem: CTRL-Q doesn't replace CTRL-V after CTRL-X in Insert mode while it 4819 does in most other situations. 4820Solution: Make CTRL-X CTRL-Q work like CTRL-X CTRL-V in Insert mode. 4821Files: src/edit.c 4822 4823Patch 6.0.173 4824Problem: When using "P" to insert a line break the cursor remains past the 4825 end of the line. 4826Solution: Check for the cursor being beyond the end of the line. 4827Files: src/ops.c 4828 4829Patch 6.0.174 4830Problem: After using "gd" or "gD" the search direction for "n" may still be 4831 backwards. (Servatius Brandt) 4832Solution: Reset the search direction to forward. 4833Files: src/normal.c, src/search.c, src/proto/search.pro 4834 4835Patch 6.0.175 4836Problem: ":help /\z(\)" doesn't work. (Thomas Koehler) 4837Solution: Double the backslashes. 4838Files: src/ex_cmds.c 4839 4840Patch 6.0.176 4841Problem: When killed by a signal autocommands are still triggered as if 4842 nothing happened. 4843Solution: Add the v:dying variable to allow autocommands to work differently 4844 when a deadly signal has been trapped. 4845Files: src/eval.c, src/os_unix.c, src/vim.h 4846 4847Patch 6.0.177 4848Problem: When 'commentstring' is empty and 'foldmethod' is "marker", "zf" 4849 doesn't work. (Thomas S. Urban) 4850Solution: Add the marker even when 'commentstring' is empty. 4851Files: src/fold.c, src/normal.c 4852 4853Patch 6.0.178 4854Problem: Uninitialized memory read from xp_backslash field. 4855Solution: Initialize xp_backslash field properly. 4856Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.c 4857 4858Patch 6.0.179 4859Problem: Win32: When displaying UTF-8 characters may read uninitialized 4860 memory. 4861Solution: Add utfc_ptr2len_check_len() to avoid reading past the end of a 4862 string. 4863Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.c 4864 4865Patch 6.0.180 4866Problem: Expanding environment variables in a string that ends in a 4867 backslash could go past the end of the string. 4868Solution: Detect the trailing backslash. 4869Files: src/misc1.c 4870 4871Patch 6.0.181 4872Problem: When using ":cd dir" memory was leaked. 4873Solution: Free the allocated memory. Also avoid an uninitialized memory 4874 read. 4875Files: src/misc2.c 4876 4877Patch 6.0.182 4878Problem: When using a regexp on multi-byte characters, could try to read a 4879 character before the start of the line. 4880Solution: Don't decrement a pointer to before the start of the line. 4881Files: src/regexp.c 4882 4883Patch 6.0.183 4884Problem: Leaking memory when ":func!" redefines a function. 4885Solution: Free the function name when it's not used. 4886Files: src/eval.c 4887 4888Patch 6.0.184 4889Problem: Leaking memory when expanding option values. 4890Solution: Don't always copy the expanded option into allocated memory. 4891Files: src/option.c 4892 4893Patch 6.0.185 4894Problem: Crash in Vim when pasting a selection in another application, on a 4895 64 bit machine. 4896Solution: Fix the format for an Atom to 32 bits. (Peter Derr) 4897Files: src/ui.c 4898 4899Patch 6.0.186 4900Problem: X11: Three warnings when compiling the client-server code. 4901Solution: Add a typecast to unsigned char. 4902Files: src/if_xcmdsrv.c 4903 4904Patch 6.0.187 4905Problem: "I" in Visual mode and then "u" reports too many changes. (Andrew 4906 Stryker) 4907 "I" in Visual linewise mode adjusts the indent for no apparent 4908 reason. 4909Solution: Only save those lines for undo that are changed. 4910 Don't change the indent after inserting in Visual linewise mode. 4911Files: src/ops.c 4912 4913Patch 6.0.188 4914Problem: Win32: After patch 6.0.161 signs defined in the vimrc file don't 4915 work. 4916Solution: Initialize the sign icons after initializing the GUI. (Vince 4917 Negri) 4918Files: src/gui.c, src/gui_x11.c 4919 4920Patch 6.0.189 4921Problem: The size of the Visual area isn't always displayed when scrolling 4922 ('ruler' off, 'showcmd' on). Also not when using a search 4923 command. (Sylvain Hitier) 4924Solution: Redisplay the size of the selection after showing the mode. 4925Files: src/screen.c 4926 4927Patch 6.0.190 4928Problem: GUI: when 'mouse' is empty a click with the middle button still 4929 moves the cursor. 4930Solution: Paste at the cursor position instead of the mouse position. 4931Files: src/normal.c 4932 4933Patch 6.0.191 4934Problem: When no servers are available serverlist() gives an error instead 4935 of returning an empty string. (Hari Krishna) 4936Solution: Don't give an error message. 4937Files: src/eval.c 4938 4939Patch 6.0.192 4940Problem: When 'virtualedit' is set, "ylj" goes to the wrong column. (Andrew 4941 Nikitin) 4942Solution: Reset the flag that w_virtcol is valid when moving the cursor back 4943 to the start of the operated area. 4944Files: src/normal.c 4945 4946Patch 6.0.193 4947Problem: When 'virtualedit' is set, col(".") after the end of the line 4948 should return one extra. 4949Solution: Add one to the column. 4950Files: src/eval.c 4951 4952Patch 6.0.194 4953Problem: "--remote-silent" tries to send a reply to the client, like it was 4954 "--remote-wait". 4955Solution: Properly check for the argument. 4956Files: src/main.c 4957 4958Patch 6.0.195 4959Problem: When 'virtualedit' is set and a search starts in virtual space 4960 ":call search('x')" goes to the wrong position. (Eric Long) 4961Solution: Reset coladd when finding a match. 4962Files: src/search.c 4963 4964Patch 6.0.196 4965Problem: When 'virtualedit' is set, 'selection' is "exclusive" and visually 4966 selecting part of a tab at the start of a line, "x" joins it with 4967 the previous line. Also, when the selection spans more than one 4968 line the whole tab is deleted. 4969Solution: Take coladd into account when adjusting for 'selection' being 4970 "exclusive". Also expand a tab into spaces when deleting more 4971 than one line. 4972Files: src/normal.c, src/ops.c 4973 4974Patch 6.0.197 4975Problem: When 'virtualedit' is set and 'selection' is "exclusive", "v$x" 4976 doesn't delete the last character in the line. (Eric Long) 4977Solution: Don't reset the inclusive flag. (Helmut Stiegler) 4978Files: src/normal.c 4979 4980Patch 6.0.198 4981Problem: When 'virtualedit' is set and 'showbreak' is not empty, moving the 4982 cursor over the line break doesn't work properly. (Eric Long) 4983Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the 4984 virtual cursor position. Adjust coladvance() and oneleft() to 4985 skip over the 'showbreak' characters. 4986Files: src/edit.c, src/misc2.c 4987 4988Patch 6.0.199 4989Problem: Multi-byte: could use iconv() after calling iconv_end(). 4990 (Yasuhiro Matsumoto) 4991Solution: Stop converting input and output stream after calling iconv_end(). 4992Files: src/mbyte.c 4993 4994Patch 6.0.200 4995Problem: A script that starts with "#!perl" isn't recognized as a Perl 4996 filetype. 4997Solution: Ignore a missing path in a script header. Also, speed up 4998 recognizing scripts by simplifying the patterns used. 4999Files: runtime/scripts.vim 5000 5001Patch 6.0.201 5002Problem: When scrollbinding and doing a long jump, switching windows jumps 5003 to another position in the file. Scrolling a few lines at a time 5004 is OK. (Johannes Zellner) 5005Solution: When setting w_topline reset the flag that indicates w_botline is 5006 valid. 5007Files: src/diff.c 5008 5009Patch 6.0.202 5010Problem: The "icon=" argument for the menu command to define a toolbar icon 5011 with a file didn't work for GTK. (Christian J. Robinson) 5012 For Motif and Athena a full path was required. 5013Solution: Search the icon file using the specified path. Expand environment 5014 variables in the file name. 5015Files: src/gui_gtk.c, src/gui_x11.c 5016 5017Patch 6.0.203 5018Problem: Can change 'fileformat' even though 'modifiable' is off. 5019 (Servatius Brandt) 5020Solution: Correct check for kind of set command. 5021Files: src/option.c 5022 5023Patch 6.0.204 5024Problem: ":unlet" doesn't work for variables with curly braces. (Thomas 5025 Scott Urban) 5026Solution: Handle variable names with curly braces properly. (Vince Negri) 5027Files: src/eval.c 5028 5029Patch 6.0.205 (extra) 5030Problem: "gvim -f" still forks when using the batch script to start Vim. 5031Solution: Add an argument to "start" to use a foreground session (Michael 5032 Geddes) 5033Files: src/dosinst.c 5034 5035Patch 6.0.206 5036Problem: Unix: if expanding a wildcard in a file name results in a 5037 wildcard character and there are more parts in the path with a 5038 wildcard, it is expanded again. 5039 Windows: ":edit \[abc]" could never edit the file "[abc]". 5040Solution: Don't expand wildcards in already expanded parts. 5041 Don't remove backslashes used to escape the special meaning of a 5042 wildcard; can edit "[abc]" if '[' is removed from 'isfname'. 5043Files: src/misc1.c, src/os_unix.c 5044 5045Patch 6.0.207 (extra) 5046Problem: Win32: The shortcuts and start menu entries let Vim startup in the 5047 desktop directory, which is not very useful. 5048Solution: Let shortcuts start Vim in $HOME or $HOMEDIR$HOMEPATH. 5049Files: src/dosinst.c 5050 5051Patch 6.0.208 5052Problem: GUI: When using a keymap and the cursor is not blinking, CTRL-^ in 5053 Insert mode doesn't directly change the cursor color. (Alex 5054 Solow) 5055Solution: Force a redraw of the cursor after CTRL-^. 5056Files: src/edit.c 5057 5058Patch 6.0.209 5059Problem: GUI GTK: After selecting a 'guifont' with the font dialog there 5060 are redraw problems for multi-byte characters. 5061Solution: Separate the font dialog from setting the new font name to avoid 5062 that "*" is used to find wide and bold fonts. 5063 When redrawing extra characters for the bold trick, take care of 5064 UTF-8 characters. 5065Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro, 5066 src/proto/gui_gtk_x11.pro 5067 5068Patch 6.0.210 5069Problem: After patch 6.0.167 it's no longer possible to edit a help file in 5070 another encoding than latin1. 5071Solution: Let the "++enc=" argument overrule the encoding. 5072Files: src/fileio.c 5073 5074Patch 6.0.211 5075Problem: When reading a file fails, the buffer is empty, but it might still 5076 be possible to write it with ":w" later. The original file is 5077 lost then. (Steve Amerige) 5078Solution: Set the 'readonly' option for the buffer. 5079Files: src/fileio.c 5080 5081Patch 6.0.212 5082Problem: GUI GTK: confirm("foo", "") causes a crash. 5083Solution: Don't make a non-existing button the default. Add a default "OK" 5084 button if none is specified. 5085Files: src/eval.c, src/gui_gtk.c 5086 5087Patch 6.0.213 5088Problem: When a file name contains unprintable characters, CTRL-G and other 5089 commands don't work well. 5090Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto) 5091Files: src/buffer.c, src/charset.c 5092 5093Patch 6.0.214 5094Problem: When there is a buffer without a name, empty entries appear in the 5095 jumplist saved in the viminfo file. 5096Solution: Don't write jumplist entries without a file name. 5097Files: src/mark.c 5098 5099Patch 6.0.215 5100Problem: After using "/" from Visual mode the Paste menu and Toolbar 5101 entries don't work. Pasting with the middle mouse doesn't work 5102 and modeless selection doesn't work. 5103Solution: Use the command line mode menus and use the mouse like in the 5104 command line. 5105Files: src/gui.c, src/menu.c, src/ui.c 5106 5107Patch 6.0.216 5108Problem: After reloading a file, displayed in another window than the 5109 current one, which was changed outside of Vim the part of the file 5110 around the cursor set by autocommands may be displayed, but 5111 jumping back to the original cursor position when entering the 5112 window again. 5113Solution: Restore the topline of the window. 5114Files: src/fileio.c 5115 5116Patch 6.0.217 5117Problem: When getting help from a help file that was used before, an empty 5118 unlisted buffer remains in the buffer list. (Eric Long) 5119Solution: Wipe out the buffer used to do the tag jump from. 5120Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro 5121 5122Patch 6.0.218 5123Problem: With explorer plugin: "vim -o filename dirname" doesn't load the 5124 explorer window until entering the window. 5125Solution: Call s:EditDir() for each window after starting up. 5126Files: runtime/plugin/explorer.vim 5127 5128Patch 6.0.219 5129Problem: ":setlocal" and ":setglobal", without arguments, display terminal 5130 options. (Zdenek Sekera) 5131Solution: Skip terminal options for these two commands. 5132Files: src/option.c 5133 5134Patch 6.0.220 5135Problem: After patch 6.0.218 get a beep on startup. (Muraoka Taro) 5136Solution: Don't try going to another window when there isn't one. 5137Files: runtime/plugin/explorer.vim 5138 5139Patch 6.0.221 5140Problem: When using ":bdel" and all other buffers are unloaded the lowest 5141 numbered buffer is jumped to instead of the most recent one. (Dave 5142 Cecil) 5143Solution: Prefer an unloaded buffer from the jumplist. 5144Files: src/buffer.c 5145 5146Patch 6.0.222 5147Problem: When 'virtualedit' is set and using autoindent, pressing Esc after 5148 starting a new line leaves behind part of the autoindent. (Helmut 5149 Stiegler) 5150Solution: After deleting the last char in the line adjust the cursor 5151 position in del_bytes(). 5152Files: src/misc1.c, src/ops.c 5153 5154Patch 6.0.223 5155Problem: When splitting a window that contains the explorer, hitting CR on 5156 a file name gives error messages. 5157Solution: Set the window variables after splitting the window. 5158Files: runtime/plugin/explorer.vim 5159 5160Patch 6.0.224 5161Problem: When 'sidescroll' and 'sidescrolloff' are set in a narrow window 5162 the text may jump left-right and the cursor is displayed in the 5163 wrong position. (Aric Blumer) 5164Solution: When there is not enough room, compute the left column for the 5165 window to put the cursor in the middle. 5166Files: src/move.c 5167 5168Patch 6.0.225 5169Problem: In Visual mode "gk" gets stuck in a closed fold. (Srinath 5170 Avadhanula) 5171Solution: Behave differently in a closed fold. 5172Files: src/normal.c 5173 5174Patch 6.0.226 5175Problem: When doing ":recover file" get the ATTENTION prompt. 5176 After recovering the same file five times get a read error or a 5177 crash. (Alex Davis) 5178Solution: Set the recoverymode flag before setting the file name. 5179 Correct the amount of used memory for the size of block zero. 5180Files: src/ex_docmd.c 5181 5182Patch 6.0.227 (extra) 5183Problem: The RISC OS port has several problems. 5184Solution: Update the makefile and fix some of the problems. (Andy Wingate) 5185Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h, 5186 src/proto/os_riscos.pro, src/search.c 5187 5188Patch 6.0.228 5189Problem: After putting text in Visual mode the '] mark is not at the end of 5190 the put text. 5191 Undo doesn't work properly when putting a word into a Visual 5192 selection that spans more than one line. 5193Solution: Correct the '] mark for the deleting the Visually selected text. 5194 #ifdef code that depends on FEAT_VISUAL properly. 5195 Also fix that "d" crossing line boundary puts '[ just before 5196 deleted text. 5197 Fix undo by saving all deleted lines at once. 5198Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c, 5199 src/structs.h, src/vim.h 5200 5201Patch 6.0.229 5202Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break 5203 at a multi-byte char followed by an ASCII char, and the other way 5204 around. (Muraoka Taro) 5205 When joining lines a space is inserted between multi-byte 5206 characters, which is not always wanted. 5207Solution: Check for multi-byte character before and after the breakpoint. 5208 Don't insert a space before or after a multi-byte character when 5209 joining lines and the 'M' flag is in 'formatoptions'. Don't 5210 insert a space between multi-byte characters when the 'B' flag is 5211 in 'formatoptions'. 5212Files: src/edit.c, src/ops.c, src/option.h 5213 5214Patch 6.0.230 5215Problem: The ":" used as a motion after an operator is exclusive, but 5216 sometimes it should be inclusive. 5217Solution: Make the "v" in between an operator and motion toggle 5218 inclusive/exclusive. (Servatius Brandt) 5219Files: runtime/doc/motion.txt, src/normal.c 5220 5221Patch 6.0.231 5222Problem: "gd" and "gD" don't work when the variable matches in a comment 5223 just above the match to be found. (Servatius Brandt) 5224Solution: Continue searching in the first column below the comment. 5225Files: src/normal.c 5226 5227Patch 6.0.232 5228Problem: "vim --version" prints on stderr while "vim --help" prints on 5229 stdout. 5230Solution: Make "vim --version" use stdout. 5231Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.c 5232 5233Patch 6.0.233 5234Problem: "\1\{,8}" in a regexp is not allowed, but it should work, because 5235 there is an upper limit. (Jim Battle) 5236Solution: Allow using "\{min,max}" after an atom that can be empty if there 5237 is an upper limit. 5238Files: src/regexp.c 5239 5240Patch 6.0.234 5241Problem: It's not easy to set the cursor position without modifying marks. 5242Solution: Add the cursor() function. (Yegappan Lakshmanan) 5243Files: runtime/doc/eval.txt, src/eval.c 5244 5245Patch 6.0.235 5246Problem: When writing a file and renaming the original file to make the 5247 backup, permissions could change when setting the owner. 5248Solution: Only set the owner when it's needed and set the permissions again 5249 afterwards. 5250 When 'backupcopy' is "auto" check that the owner and permissions 5251 of a newly created file can be set properly. 5252Files: src/fileio.c 5253 5254Patch 6.0.236 5255Problem: ":edit" without argument should move cursor to line 1 in Vi 5256 compatible mode. 5257Solution: Add 'g' flag to 'cpoptions'. 5258Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.h 5259 5260Patch 6.0.237 5261Problem: In a C file, using the filetype plugin, re-indenting a comment 5262 with two spaces after the middle "*" doesn't align properly. 5263Solution: Don't use a middle entry from a start/middle/end to line up with 5264 the start of the comment when the start part doesn't match with 5265 the actual comment start. 5266Files: src/misc1.c 5267 5268Patch 6.0.238 5269Problem: Using a ":substitute" command with a substitute() call in the 5270 substitution expression causes errors. (Srinath Avadhanula) 5271Solution: Save and restore pointers when doing substitution recursively. 5272Files: src/regexp.c 5273 5274Patch 6.0.239 5275Problem: Using "A" to append after a Visually selected block which is after 5276 the end of the line, spaces are inserted in the wrong line and 5277 other unexpected effects. (Michael Naumann) 5278Solution: Don't advance the cursor to the next line. 5279Files: src/ops.c 5280 5281Patch 6.0.240 5282Problem: Win32: building with Python 2.2 doesn't work. 5283Solution: Add support for Python 2.2 with dynamic linking. (Paul Moore) 5284Files: src/if_python.c 5285 5286Patch 6.0.241 5287Problem: Win32: Expanding the old value of an option that is a path that 5288 starts with a backslash, an extra backslash is inserted. 5289Solution: Only insert backslashes where needed. 5290 Also handle multi-byte characters properly when removing 5291 backslashes. 5292Files: src/option.c 5293 5294Patch 6.0.242 5295Problem: GUI: On a system with an Exceed X server sometimes get a "Bad 5296 Window" error. (Tommi Maekitalo) 5297Solution: When forking, use a pipe to wait in the parent for the child to 5298 have done the setsid() call. 5299Files: src/gui.c 5300 5301Patch 6.0.243 5302Problem: Unix: "vim --version" outputs a NL before the last line instead of 5303 after it. (Charles Campbell) 5304Solution: Send the NL to the same output stream as the text. 5305Files: src/message.c, src/os_unix.c, src/proto/message.pro 5306 5307Patch 6.0.244 5308Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and 5309 file name (e.g., icon text, status line). 5310Solution: Correctly handle unprintable characters. Catch illegal UTF-8 5311 characters and replace them with <xx>. Truncating the status line 5312 wasn't done correctly at a multi-byte character. (Yasuhiro 5313 Matsumoto) 5314 Added correct_cmdspos() and transchar_byte(). 5315Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c, 5316 src/message.c, src/screen.c, src/vim.h 5317 5318Patch 6.0.245 5319Problem: After using a color scheme, setting the 'background' option might 5320 not work. (Peter Horst) 5321Solution: Disable the color scheme if it switches 'background' back to the 5322 wrong value. 5323Files: src/option.c 5324 5325Patch 6.0.246 5326Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary 5327 Holloway) 5328Solution: Use the specified attributes for the message. (Yegappan 5329 Lakshmanan) 5330Files: src/eval.c 5331 5332Patch 6.0.247 5333Problem: GTK GUI: Can't use gvim in a kpart widget. 5334Solution: Add the "--echo-wid" argument to let Vim echo the window ID on 5335 stdout. (Philippe Fremy) 5336Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c, 5337 src/main.c 5338 5339Patch 6.0.248 5340Problem: When using compressed help files and 'encoding' isn't "latin1", 5341 Vim converts the help file before decompressing. (David Reviejo) 5342Solution: Don't convert a help file when 'binary' is set. 5343Files: src/fileio.c 5344 5345Patch 6.0.249 5346Problem: "vim -t edit -c 'sta ex_help'" doesn't move cursor to edit(). 5347Solution: Don't set the cursor on the first line for "-c" arguments when 5348 there also is a "-t" argument. 5349Files: src/main.c 5350 5351Patch 6.0.250 (extra) 5352Problem: Macintosh: Various problems when compiling. 5353Solution: Various fixes, mostly #ifdefs. (Dany St. Amant) 5354Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h, 5355 src/os_mac.pbproj/project.pbxproj, src/os_unix.c 5356 5357Patch 6.0.251 (extra) 5358Problem: Macintosh: menu shortcuts are not very clear. 5359Solution: Show the shortcut with the Mac clover symbol. (raindog) 5360Files: src/gui_mac.c 5361 5362Patch 6.0.252 5363Problem: When a user function was defined with "abort", an error that is 5364 not inside if/endif or while/endwhile doesn't abort the function. 5365 (Servatius Brandt) 5366Solution: Don't reset did_emsg when the function is to be aborted. 5367Files: src/ex_docmd.c 5368 5369Patch 6.0.253 5370Problem: When 'insertmode' is set, after "<C-O>:edit file" the next <C-O> 5371 doesn't work. (Benji Fisher) <C-L> has the same problem. 5372Solution: Reset need_start_insertmode once in edit(). 5373Files: src/edit.c 5374 5375Patch 6.0.254 (extra) 5376Problem: Borland C++ 5.5: Checking for stack overflow doesn't work 5377 correctly. Matters when using a complicated regexp. 5378Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto) 5379Files: src/Make_bc5.mak 5380 5381Patch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121) 5382Problem: Win32: ACL support doesn't work well on Samba drives. 5383Solution: Add a check for working ACL support. (Mike Williams) 5384Files: src/os_win32.c 5385 5386Patch 6.0.256 (extra) 5387Problem: Win32: ":highlight Comment guifg=asdf" does not give an error 5388 message. (Randall W. Morris) Also for other systems. 5389Solution: Add gui_get_color() to give one error message for all systems. 5390Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c, 5391 src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c, 5392 src/proto/gui.pro, src/syntax.c 5393 5394Patch 6.0.257 5395Problem: Win32: When 'mousefocus' is set and there is a BufRead 5396 autocommand, after the dialog for permissions changed outside of 5397 Vim: 'mousefocus' stops working. (Robert Webb) 5398Solution: Reset need_mouse_correct after checking timestamps. 5399Files: src/fileio.c 5400 5401Patch 6.0.258 5402Problem: When 'scrolloff' is 999 and there are folds, the text can jump up 5403 and down when moving the cursor down near the end of the file. 5404 (Lubomir Host) 5405Solution: When putting the cursor halfway the window start counting lines at 5406 the end of a fold. 5407Files: src/move.c 5408 5409Patch 6.0.259 5410Problem: MS-DOS: after editing the command line the cursor shape may remain 5411 like in Insert mode. (Volker Kiefel) 5412Solution: Reset the cursor shape after editing the command line. 5413Files: src/ex_getln.c 5414 5415Patch 6.0.260 5416Problem: GUI: May crash while starting up when giving an error message for 5417 missing color. (Servatius Brandt) 5418Solution: Don't call gui_write() when still starting up. Don't give error 5419 message for empty color name. Don't use 't_vb' while the GUI is 5420 still starting up. 5421Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c 5422 5423Patch 6.0.261 5424Problem: nr2char() and char2nr() don't work with multi-byte characters. 5425Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto) 5426Files: runtime/doc/eval.txt, src/eval.c 5427 5428Patch 6.0.262 (extra) 5429Problem: Win32: IME doesn't work properly. OnImeComposition() isn't used 5430 at all. 5431Solution: Adjust various things for IME. 5432Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro, 5433 src/structs.h, src/ui.c 5434 5435Patch 6.0.263 5436Problem: GTK: When a dialog is closed by the window manager, Vim hangs. 5437 (Christian J. Robinson) 5438Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE(). 5439Files: src/gui_gtk.c, src/gui_gtk_x11.c 5440 5441Patch 6.0.264 5442Problem: The amount of virtual memory is used to initialize 'maxmemtot', 5443 which may be much more than the amount of physical memory, 5444 resulting in a lot of swapping. 5445Solution: Get the amount of physical memory with sysctl(), sysconf() or 5446 sysinfo() when possible. 5447Files: src/auto/configure, src/configure.in, src/config.h.in, 5448 src/os_unix.c, src/os_unix.h 5449 5450Patch 6.0.265 5451Problem: Win32: Using backspace while 'fkmap' is set causes a crash. 5452 (Jamshid Oasjmoha) 5453Solution: Don't try mapping special keys. 5454Files: src/farsi.c 5455 5456Patch 6.0.266 5457Problem: The rename() function deletes the file if the old and the new name 5458 are the same. (Volker Kiefel) 5459Solution: Don't do anything if the names are equal. 5460Files: src/fileio.c 5461 5462Patch 6.0.267 5463Problem: UTF-8: Although 'isprint' says a character is printable, 5464 utf_char2cells() still considers it unprintable. 5465Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto) 5466Files: src/mbyte.c 5467 5468Patch 6.0.268 (extra) (depends on patch 6.0.255) 5469Problem: Win32: ACL check crashes when using forward slash in file name. 5470Solution: Improve the check for the path in the file name. 5471Files: src/os_win32.c 5472 5473Patch 6.0.269 5474Problem: Unprintable characters in a file name may cause problems when 5475 using the 'statusline' option or when 'buftype' is "nofile". 5476Solution: call trans_characters() for the resulting statusline. (Yasuhiro 5477 Matsumoto) 5478Files: src/buffer.c, src/screen.c, src/charset.c 5479 5480Patch 6.0.270 (depends on patch 6.0.267) 5481Problem: A tab causes UTF-8 text to be displayed in the wrong position. 5482 (Ron Aaron) 5483Solution: Correct utf_char2cells() again. 5484Files: src/mbyte.c 5485 5486Patch 6.1a.001 (extra) 5487Problem: 32bit DOS: copying text to the clipboard may cause a crash. 5488 (Jonathan D Johnston) 5489Solution: Don't copy one byte too much in SetClipboardData(). 5490Files: src/os_msdos.c 5491 5492Patch 6.1a.002 5493Problem: GTK: On some configurations, when closing a dialog from the window 5494 manager, Vim hangs. 5495Solution: Catch the "destroy" signal. (Aric Blumer) 5496Files: src/gui_gtk.c 5497 5498Patch 6.1a.003 5499Problem: Multi-byte: With UTF-8 double-wide char and 'virtualedit' set: 5500 yanking in Visual mode doesn't include the last byte. (Eric Long) 5501Solution: Don't add a space for a double-wide character. 5502Files: src/ops.c 5503 5504Patch 6.1a.004 (extra) 5505Problem: MINGW: undefined type. (Ron Aaron) 5506Solution: Make GetCompositionString_inUCS2() static. 5507Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.pro 5508 5509Patch 6.1a.005 (extra) 5510Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan 5511 Johnston) 5512Solution: Don't keep the driver context when using ":hardcopy!". (Vince 5513 Negri) 5514Files: src/os_mswin.c 5515 5516Patch 6.1a.006 5517Problem: multi-byte: after setting 'encoding' the window title might be 5518 wrong. 5519Solution: Force resetting the title. (Yasuhiro Matsumoto) 5520Files: src/option.c 5521 5522Patch 6.1a.007 5523Problem: Filetype detection for "*.inc" doesn't work. 5524Solution: Use a ":let" command. (David Schweikert) 5525Files: runtime/filetype.vim 5526 5527Patch 6.1a.008 (extra) 5528Problem: Win32: ACL detection for network shares doesn't work. 5529Solution: Include the trailing (back)slash in the root path. (Mike Williams) 5530Files: src/os_win32.c 5531 5532Patch 6.1a.009 5533Problem: When using "\@<=" or "\@<!" in a pattern, a "\1" may refer to a () 5534 part that follows, but it generates an error message. 5535Solution: Allow a forward reference when there is a following "\@<=" or 5536 "\@<!". 5537Files: runtime/doc/pattern.txt, src/regexp.c 5538 5539Patch 6.1a.010 5540Problem: When using ":help" and opening a new window, the alternate file 5541 isn't set. 5542Solution: Set the alternate file to the previously edited file. 5543Files: src/ex_cmds.c 5544 5545Patch 6.1a.011 5546Problem: GTK: ":set co=77", change width with the mouse, ":set co=77" 5547 doesn't resize the window. (Darren Hiebert) 5548Solution: Set the form size after handling a resize event. 5549Files: src/gui_gtk_x11.c 5550 5551Patch 6.1a.012 5552Problem: GTK: The file browser always returns a full path. (Lohner) 5553Solution: Shorten the file name if possible. 5554Files: src/gui_gtk.c 5555 5556Patch 6.1a.013 5557Problem: When using "=~word" in 'cinkeys' or 'indentkeys', the case of the 5558 last character of the word isn't ignored. (Raul Segura Acevedo) 5559Solution: Ignore case when checking the last typed character. 5560Files: src/edit.c 5561 5562Patch 6.1a.014 5563Problem: After patch 6.1a.006 can't compile without the title feature. 5564Solution: Add an #ifdef. 5565Files: src/option.c 5566 5567Patch 6.1a.015 5568Problem: MS-Windows: When expanding a file name that contains a '[' or '{' 5569 an extra backslash is inserted. (Raul Segura Acevedo) 5570Solution: Avoid adding the backslash. 5571Files: src/ex_getln.c 5572 5573Patch 6.1a.016 5574Problem: Completion after ":language" doesn't include "time". (Raul Segura 5575 Acevedo) 5576Solution: Add the alternative to the completions. 5577Files: src/ex_cmds2.c 5578 5579Patch 6.1a.017 5580Problem: Clicking the mouse in the top row of a window where the first line 5581 doesn't fit moves the cursor to the wrong column. 5582Solution: Add the skipcol also for the top row of a window. 5583Files: src/ui.c 5584 5585Patch 6.1a.018 5586Problem: When 'scrolloff' is one and the window height is one, "gj" can put 5587 the cursor above the window. (Raul Segura Acevedo) 5588Solution: Don't let skipcol become bigger than the cursor column. 5589Files: src/move.c 5590 5591Patch 6.1a.019 5592Problem: When using a composing character on top of an ASCII character, the 5593 "l" command clears the composing character. Only when 'ruler' and 5594 'showcmd' are off. (Raphael Finkel) 5595Solution: Don't move the cursor by displaying characters when there are 5596 composing characters. 5597Files: src/screen.c 5598 5599Patch 6.1a.020 5600Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always 5601 work well for small sizes. (Adrien Beau) 5602Solution: Use another way to avoid the problem with ":set co=77". 5603Files: src/gui_gtk_x11.c 5604 5605Patch 6.1a.021 5606Problem: Several Syntax menu entries are wrong or confusing. 5607Solution: Rephrase and correct the menu entries. (Adrien Beau) 5608Files: runtime/makemenu.vim, runtime/menu.vim 5609 5610Patch 6.1a.022 5611Problem: A tags file might be used twice on case insensitive systems. 5612 (Rick Swanton) 5613Solution: Don't use the same file name twice in the default for the 'tags' 5614 option. Ignore case when comparing names of already visited 5615 files. 5616Files: src/misc2.c, src/option.c 5617 5618Patch 6.1a.023 5619Problem: When starting the GUI get "C" characters echoed in the terminal. 5620Solution: Don't try sending a clear-screen command while the GUI is starting 5621 up. 5622Files: src/screen.c 5623 5624Patch 6.1a.024 5625Problem: In other editors CTRL-F is often used for a find dialog. 5626Solution: In evim use CTRL-F for the find dialog. 5627Files: runtime/evim.vim 5628 5629Patch 6.1a.025 5630Problem: The choices for the fileformat dialog can't be translated. 5631Solution: Add g:menutrans_fileformat_choices. (Adrien Beau) 5632Files: runtime/menu.vim 5633 5634Patch 6.1a.026 5635Problem: Indenting Java files is wrong with "throws", "extends" and 5636 "implements" clauses. 5637Solution: Update the Java indent script. 5638Files: runtime/indent/java.vim 5639 5640Patch 6.1a.027 5641Problem: A few Syntax menu entries missing or incorrect. 5642Solution: Add and correct the menu entries. (Adrien Beau) 5643 Shorten a few menus to avoid they become too long. 5644Files: runtime/makemenu.vim, runtime/menu.vim 5645 5646Patch 6.1a.028 5647Problem: XIM: problems with feedback and some input methods. 5648Solution: Use iconv for calculating the cells. Remove the queue for 5649 key_press_event only when text was changed. (Yasuhiro Matsumoto) 5650Files: src/globals.h, src/mbyte.c, src/screen.c 5651 5652Patch 6.1a.029 5653Problem: After patch 6.1a.028 can't compile GTK version with XIM but 5654 without multi-byte chars. 5655Solution: Add an #ifdef. (Aschwin Marsman) 5656Files: src/mbyte.c 5657 5658Patch 6.1a.030 5659Problem: With double-byte encodings toupper() and tolower() may have wrong 5660 results. 5661Solution: Skip double-byte characters. (Eric Long) 5662Files: src/eval.c 5663 5664Patch 6.1a.031 5665Problem: Accessing the 'balloondelay' variable may cause a crash. 5666Solution: Make the variable for 'balloondelay' a long. (Olaf Seibert) 5667Files: src/option.h 5668 5669Patch 6.1a.032 (extra) 5670Problem: Some menu files used a wrong encoding name for "scriptencoding". 5671Solution: Move the translations to a separate file, which is sourced after 5672 setting "scriptencoding". 5673 Also add Czech menu translations in ASCII and update the other 5674 encodings. 5675Files: runtime/lang/menu_cs_cz.iso_8859-1.vim, 5676 runtime/lang/menu_cs_cz.iso_8859-2.vim, 5677 runtime/lang/menu_czech_czech_republic.1250.vim, 5678 runtime/lang/menu_czech_czech_republic.1252.vim, 5679 runtime/lang/menu_czech_czech_republic.ascii.vim, 5680 runtime/lang/menu_de_de.iso_8859-1.vim, 5681 runtime/lang/menu_de_de.latin1.vim, 5682 runtime/lang/menu_fr_fr.iso_8859-1.vim, 5683 runtime/lang/menu_fr_fr.latin1.vim, 5684 runtime/lang/menu_french_france.1252.vim, 5685 runtime/lang/menu_german_germany.1252.vim, 5686 runtime/lang/menu_ja_jp.euc-jp.vim, 5687 runtime/lang/menu_ja_jp.utf-8.vim, 5688 runtime/lang/menu_japanese_japan.932.vim 5689 5690Patch 6.1a.033 5691Problem: XIM: doesn't reset input context. 5692Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka) 5693Files: src/mbyte.c 5694 5695Patch 6.1a.034 (extra) 5696Problem: Win32: The ACL checks for a readonly file still don't work well. 5697Solution: Remove the ACL checks, go back to how it worked in Vim 6.0. 5698Files: src/os_win32.c 5699 5700Patch 6.1a.035 5701Problem: multi-byte: When using ":sh" in the GUI, typed and displayed 5702 multi-byte characters are not handled correctly. 5703Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro 5704 Matsumoto) Also handle UTF-8 composing characters. 5705Files: src/os_unix.c 5706 5707Patch 6.1a.036 5708Problem: GTK: the save-yourself event was not handled. 5709Solution: Catch the save-yourself event and preserve swap files. (Neil Bird) 5710Files: src/gui_gtk_x11.c 5711 5712Patch 6.1a.037 5713Problem: The MS-Windows key mapping doesn't include CTRL-S for saving. 5714 (Vlad Sandrini) 5715Solution: Map CTRL-S to ":update". 5716Files: runtime/mswin.vim 5717 5718Patch 6.1a.038 5719Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't 5720 work. (Antonio Colombo) 5721Solution: Don't include sys/sysinfo.h when not calling sysinfo(). 5722Files: src/os_unix.c 5723 5724Patch 6.1a.039 5725Problem: Not all visual basic files are recognized. 5726Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo) 5727Files: runtime/filetype.vim 5728 5729Patch 6.1a.040 5730Problem: A *.pl file is recognized as Perl, but it could be a prolog file. 5731Solution: Check the first non-empty line. (Kontra Gergely) 5732Files: runtime/filetype.vim 5733 5734Patch 6.1a.041 5735Problem: When pressing the left mouse button in the command line and them 5736 moving the mouse upwards, nearly all the text is selected. 5737Solution: Don't try extending a modeless selection when there isn't one. 5738Files: src/ui.c 5739 5740Patch 6.1a.042 5741Problem: When merging files, ":diffput" and ":diffget" are used a lot, but 5742 they require a lot of typing. 5743Solution: Add "dp" for ":diffput" and "do" for ":diffget". 5744Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro 5745 5746 5747Patch 6.1b.001 (extra) 5748Problem: Checking for wildcards in a path does not handle multi-byte 5749 characters with a trail byte which is a wildcard. 5750Solution: Handle multi-byte characters correctly. (Muraoka Taro) 5751Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, 5752 src/os_unix.c 5753 5754Patch 6.1b.002 5755Problem: A regexp that ends in "\{" is not flagged as an error. May cause 5756 a stack overflow when 'incsearch' is set. (Gerhard Hochholzer) 5757Solution: Handle a missing "}" as an error. 5758Files: src/regexp.c 5759 5760Patch 6.1b.003 (extra) 5761Problem: The RISC OS GUI doesn't compile. 5762Solution: Include changes since Vim 5.7. (Andy Wingate) 5763Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c, 5764 src/os_riscos.h, src/proto/gui_riscos.pro 5765 5766Patch 6.1b.004 5767Problem: col("'>") returns a negative number for linewise selection. (Neil 5768 Bird) 5769Solution: Don't add one to MAXCOL. 5770Files: src/eval.c 5771 5772Patch 6.1b.005 5773Problem: Using a search pattern that causes an out-of-stack error while 5774 'hlsearch' is set keeps giving the hit-Enter prompt. 5775 A search pattern that takes a long time delays typing when 5776 'incsearch' is set. 5777Solution: Stop 'hlsearch' highlighting when the regexp causes an error. 5778 Stop searching for 'incsearch' when a character is typed. 5779Files: src/globals.h, src/message.c, src/screen.c, src/search.c, 5780 src/vim.h 5781 5782Patch 6.1b.006 5783Problem: When entering a composing character on the command line with 5784 CTRL-V, the text isn't redrawn correctly. 5785Solution: Redraw the text under and after the cursor. 5786Files: src/ex_getln.c 5787 5788Patch 6.1b.007 5789Problem: When the cursor is in the white space between two sentences, "dis" 5790 deletes the first character of the following sentence, "das" 5791 deletes a space after the sentence. 5792Solution: Backup the cursor one character in these situations. 5793Files: src/search.c 5794 5795Patch 6.1b.008 5796Problem: *.xsl files are not recognized as xslt but xml. 5797 Monk files are not recognized. 5798Solution: Delete the duplicate line for *.xsl. (Johannes Zellner) 5799 Recognize monk files. 5800Files: runtime/filetype.vim 5801 5802Patch 6.1b.009 5803Problem: Can't always compile small features and then adding eval feature, 5804 "sandbox" is undefined. (Axel Kielhorn) 5805Solution: Always define "sandbox" when the eval feature is used. 5806Files: src/globals.h 5807 5808Patch 6.1b.010 (extra) 5809Problem: When compiling gvimext.cpp with MSVC 4.2 get a number of warnings. 5810Solution: Change "true" to "TRUE". (Walter Briscoe) 5811Files: GvimExt/gvimext.cpp 5812 5813Patch 6.1b.011 5814Problem: When using a very long string for confirm(), can't quit the 5815 displaying at the more prompt. (Hari Krishna Dara) 5816Solution: Jump to the end of the message to show the choices. 5817Files: src/message.c 5818 5819Patch 6.1b.012 5820Problem: Multi-byte: When 'showbreak' is set and a double-wide character 5821 doesn't fit at the right window edge the cursor gets stuck there. 5822 Using cursor-left gets stuck when 'virtualedit' is set. (Eric 5823 Long) 5824Solution: Fix the way the extra ">" character is counted when 'showbreak' is 5825 set. Don't correct cursor for virtual editing on a double-wide 5826 character. 5827Files: src/charset.c, src/edit.c 5828 5829Patch 6.1b.013 5830Problem: A user command that partly matches with a buffer-local user 5831 command and matches full with a global user command unnecessarily 5832 gives an 'ambiguous command' error. 5833Solution: Find the full global match even after a partly local match. 5834Files: src/ex_docmd.c 5835 5836Patch 6.1b.014 5837Problem: EBCDIC: switching mouse events off causes garbage on screen. 5838 Positioning the cursor in the GUI causes garbage. 5839Solution: Insert an ESC in the terminal code. (Ralf Schandl) 5840 Use "\b" instead of "\010" for KS_LE. 5841Files: src/os_unix.c, src/term.c 5842 5843Patch 6.1b.015 5844Problem: Vimtutor has a typo. Get a warning for "tempfile" if it 5845 doesn't exist. 5846Solution: Move a quote to the end of a line. (Max Ischenko) 5847 Use "mktemp" first, more systems have it. 5848Files: src/vimtutor 5849 5850Patch 6.1b.016 5851Problem: GTK: loading a fontset that works partly, Vim might hang or crash. 5852Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto) 5853Files: src/gui_gtk_x11.c 5854 5855Patch 6.1b.017 5856Problem: GUI: When using ":shell" and there is a beep, nothing happens. 5857Solution: Call vim_beep() to produce the beep from the shell. (Yasuhiro 5858 Matsumoto) 5859Files: src/message.c 5860 5861Patch 6.1b.018 (depends on 6.1b.006) 5862Problem: When entering the encryption key, special keys may still reveal 5863 the typed characters. 5864Solution: Make sure stars are used or nothing is shown in all cases. 5865Files: src/digraph.c, src/getchar.c, src/ex_getln.c 5866 5867Patch 6.1b.019 (depends on 6.1b.005) 5868Problem: A search pattern that takes a long time slows down typing when 5869 'incsearch' is set. 5870Solution: Pass SEARCH_PEEK to dosearch(). 5871Files: src/ex_getln.c 5872 5873Patch 6.1b.020 5874Problem: When using the matchit plugin, "%" finds a match on the "end" of a 5875 ":syntax region" command in Vim scripts. 5876Solution: Skip over ":syntax region" commands by setting b:match_skip. 5877Files: runtime/ftplugin/vim.vim 5878 5879Patch 6.1b.021 5880Problem: when 'mousefocus' is set, CTRL-W CTRL-] sometimes doesn't warp the 5881 pointer to the new window. (Robert Webb) 5882Solution: Don't reset need_mouse_correct when checking the timestamp of a 5883 file. 5884Files: src/fileio.c 5885 5886Patch 6.1b.022 5887Problem: With lots of folds "j" does not obey 'scrolloff' properly. 5888 (Srinath Avadhanula) 5889Solution: Go to end of the fold before counting context lines. 5890Files: src/move.c 5891 5892Patch 6.1b.023 5893Problem: On MS-Windows system() may cause checking timestamps, because Vim 5894 looses and gains input focus, while this doesn't happen on Unix. 5895Solution: Don't check timestamps while system() is busy. 5896Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.c 5897 5898Patch 6.1b.024 (extra) 5899Problem: Gettext 0.11 complains that "sjis" is not a standard name. 5900Solution: Use "cp932" instead. 5901Files: src/po/sjiscorr.c 5902 5903Patch 6.1b.025 (extra) 5904Problem: Win32: When closing gvim while it is minimized and has a changed 5905 file, the file-changed dialog pops up in a corner of the screen. 5906Solution: Put the dialog in the middle of the screen. 5907Files: src/gui_w48.c 5908 5909Patch 6.1b.026 5910Problem: When 'diffopt' contains 'iwhite' but not 'icase': differences in 5911 case are not highlighted properly. (Gerhard Hochholzer) 5912Solution: Don't ignore case when ignoring white space differences. 5913Files: src/diff.c 5914 5915Patch 6.1b.027 5916Problem: "vim --remote +" may cause a crash. 5917Solution: Check for missing file name argument. (Martin Kahlert) 5918Files: src/main.c 5919 5920Patch 6.1b.028 (extra) 5921Problem: Win16: Can't compile after patch 6.1b.025. 5922Solution: Add code specifically for Win16. (Vince Negri) 5923Files: src/gui_w48.c 5924 5925Patch 6.1b.029 5926Problem: Win32: When a directory on an NTFS partition is read/execute (no 5927 delete,modify,write) and the file has modify rights, trying to 5928 write the file deletes it. Making the file read/write/execute 5929 (not delete) solves it. (Mark Canup) 5930Solution: Use the Unix code to check for a writable directory. If not, then 5931 make a backup copy and overwrite the file. 5932Files: src/fileio.c 5933 5934Patch 6.1b.030 (extra) 5935Problem: Mac: small mistake in the build script and prototypes. 5936Solution: Fix the build script and add the prototypes. (Axel Kielhorn) 5937Files: src/os_mac.build, src/gui_mac.c 5938 5939Patch 6.1b.031 (extra) 5940Problem: Win32 GUI: ":set guifont=*" doesn't set 'guifont' to the resulting 5941 font name. (Vlad Sandrini) 5942Solution: Put the code back in gui_mch_init_font() to form the font name out 5943 of the logfont. 5944Files: src/gui_w48.c 5945 5946Patch 6.1b.032 5947Problem: Athena: Setting a color scheme before the GUI has started causes a 5948 crash. (Todd Blumer) 5949Solution: Don't try using color names that haven't been set yet. 5950Files: src/gui_athena.c 5951 5952Patch 6.1b.033 5953Problem: When using a count after a ":s" command may get ml_get errors. 5954 (Dietmar Lang) 5955Solution: Check that the resulting range does not go past the end of the 5956 buffer. 5957Files: src/ex_cmds.c 5958 5959Patch 6.1b.034 5960Problem: After sourcing mswin.vim, when using <C-S-Right> after 5961 auto-indenting and then <Del>, get warning for allocating 5962 ridiculous amount of memory. (Dave Delgreco) 5963Solution: Adjust the start of the Visual area when deleting the auto-indent. 5964Files: src/edit.c 5965 5966Patch 6.1b.035 5967Problem: When using evim, dropping a file on Vim and then double clicking 5968 on a word, it is changed to "i". (Merlin Hansen) 5969Solution: Reset need_start_insertmode after editing the file. 5970Files: src/ex_docmd.c 5971 5972 5973============================================================================== 5974VERSION 6.2 *version-6.2* 5975 5976This section is about improvements made between version 6.1 and 6.2. 5977 5978This is mainly a bug-fix release. There are also a few new features. 5979 5980Main new features: 5981- Support for GTK 2. (Daniel Elstner) 5982- Support for editing Arabic text. (Nadim Shaikli & Isam Bayazidi) 5983- ":try" command and exception handling. (Servatius Brandt) 5984- Support for the neXtaw GUI toolkit (mostly like Athena). (Alexey Froloff) 5985- Cscope support for Win32. (Khorev Sergey) 5986- Support for PostScript printing in various 8-bit encodings. (Mike Williams) 5987 5988 5989Changed *changed-6.2* 5990------- 5991 5992Removed the scheme indent file, the internal Lisp indenting works well now. 5993 5994Moved the GvimEXt, OleVim and VisVim directories into the "src" directory. 5995This is more consistent with how xxd is handled. 5996 5997The VisVim.dll file is installed in the top directory, next to gvimext.dll, 5998instead of in a subdirectory "VisVim". Fixes that NSIS was uninstalling it 5999from the wrong directory. 6000 6001Removed the art indent file, it didn't do anything. 6002 6003submatch() returned line breaks with CR instead of LF. 6004 6005Changed the Win32 Makefiles to become more uniform and compile gvimext.dll. 6006(Dan Sharp) 6007 6008'cindent': Align a "//" comment with a "//" comment in a previous line. 6009(Helmut Stiegler) 6010 6011Previously only for xterm-like terminals parent widgets were followed to find 6012the title and icon label. Now do this for all terminal emulators. 6013 6014Made it possible to recognize backslashes for "%" matching. The 'M' flag in 6015'cpoptions' disables it. (Haakon Riiser) 6016 6017Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probably 6018can't make it work (the compiler runs out of memory). 6019 6020Even though the documentation refers to keywords, "[ CTRL-D" was using 6021'isident' to find matches. Changed it to use 'iskeyword'. Also applies to 6022other commands that search for defined words in included files such as 6023":dsearch", "[D" and "[d". 6024 6025Made 'keywordprg' global-local. (Christian Robinson) 6026 6027Enabled the Netbeans interface by default. Reversed the configure argument 6028from "--enable-netbeans" to "--disable-netbeans". 6029 6030 6031Added *added-6.2* 6032----- 6033 6034New options: 6035 'arabic' 6036 'arabicshape' 6037 'ambiwidth' 6038 'autochdir' 6039 'casemap' 6040 'copyindent' 6041 'cscopequickfix' 6042 'preserveindent' 6043 'printencoding' 6044 'rightleftcmd' 6045 'termbidi' 6046 'toolbariconsize' 6047 'winfixheight' 6048 6049New keymaps: 6050 Serbian (Aleksandar Veselinovic) 6051 Chinese Pinyin (Fredrik Roubert) 6052 Esperanto (Antoine J. Mechelynck) 6053 6054New syntax files: 6055 Valgrind (Roger Luethi) 6056 Smarty template (Manfred Stienstra) 6057 MySQL (Kenneth Pronovici) 6058 RockLinux package description (Piotr Esden-Tempski) 6059 MMIX (Dirk Huesken) 6060 gkrellmrc (David Necas) 6061 Tilde (Tobias Rundtrom) 6062 Logtalk (Paulo Moura) 6063 PLP (Juerd Waalboer) 6064 fvwm2m4 (David Necas) 6065 IPfilter (Hendrik Scholz) 6066 fstab (Radu Dineiu) 6067 Quake (Nikolai Weibull) 6068 Occam (Mario Schweigler) 6069 lpc (Shizhu Pan) 6070 Exim conf (David Necas) 6071 EDIF (Artem Zankovich) 6072 .cvsrc (Nikolai Weibull) 6073 .fetchmailrc (Nikolai Weibull) 6074 GNU gpg (Nikolai Weibull) 6075 Grub (Nikolai Weibull) 6076 Modconf (Nikolai Weibull) 6077 RCS (Dmitry Vasiliev) 6078 Art (Dorai Sitaram) 6079 Renderman Interface Bytestream (Andrew J Bromage) 6080 Mailcap (Doug Kearns) 6081 Subversion commit file (Dmitry Vasiliev) 6082 Microsoft IDL (Vadim Zeitlin) 6083 WildPackets EtherPeek Decoder (Christopher Shinn) 6084 Spyce (Rimon Barr) 6085 Resolv.conf (Radu Dineiu) 6086 A65 (Clemens Kirchgatterer) 6087 sshconfig and sshdconfig (David Necas) 6088 Cheetah and HTMLCheetah (Max Ischenko) 6089 Packet filter (Camiel Dobbelaar) 6090 6091New indent files: 6092 Eiffel (David Clarke) 6093 Tilde (Tobias Rundtrom) 6094 Occam (Mario Schweigler) 6095 Art (Dorai Sitaram) 6096 PHP (Miles Lott) 6097 Dylan (Brent Fulgham) 6098 6099New tutor translations: 6100 Slovak (Lubos Celko) 6101 Greek (Christos Kontas) 6102 German (Joachim Hofmann) 6103 Norwegian (�yvind Holm) 6104 6105New filetype plugins: 6106 Occam (Mario Schweigler) 6107 Art (Dorai Sitaram) 6108 ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim, 6109 jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim, 6110 xhtml.vim, xml.vim, xsd.vim. (Dan Sharp) 6111 6112New compiler plugins: 6113 Checkstyle (Doug Kearns) 6114 g77 (Ralf Wildenhues) 6115 fortran (Johann-Guenter Simon) 6116 Xmllint (Doug Kearns) 6117 Ruby (Tim Hammerquist) 6118 Modelsim vcom (Paul Baleme) 6119 6120New menu translations: 6121 Brazilian (Jos� de Paula) 6122 British (Mike Williams) 6123 Korean in UTF-8. (Nam SungHyun) 6124 Norwegian (�yvind Holm) 6125 Serbian (Aleksandar Jelenak) 6126 6127New message translation for Norwegian. (�yvind Holm) 6128 6129New color scheme: 6130 desert (Hans Fugal) 6131 6132Arabic specific features. 'arabicshape', 'termbidi', 'arabic' and 6133'rightleftcmd' options. (Nadim Shaikli & Isam Bayazidi) 6134 6135Support for neXtaw GUI toolkit, mostly like Athena. (Alexey Froloff) 6136 6137Win32: cscope support. (Khorev Sergey) 6138 6139VMS: various improvements to documentation and makefiles. (Zoltan Arpadffy) 6140 6141Added "x" key to the explorer plugin: execute the default action. (Yasuhiro 6142Matsumoto) 6143 6144Compile gvimext.dll with MingW. (Rene de Zwart) 6145 6146Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, an easy 6147way to convert text to HTML. 6148 6149Added ":try" / ":catch" / ":finally" / ":endtry" commands. Add E999 numbers 6150to all error messages, so that they can be caught by the number. 6151(Servatius Brandt) 6152Moved part of ex_docmd.c to the new ex_eval.c source file. 6153 6154Include support for GTK+ 2.2.x (Daniel Elstner) 6155Adds the "~" register: drag & drop text. 6156Adds the 'toolbariconsize' option. 6157Add -Dalloca when running lint to work around a problem with alloca() 6158prototype. 6159 6160When selecting an item in the error window to jump to, take some effort to 6161find an ordinary window to show the file in (not a preview window). 6162 6163Support for PostScript printing of various 8-bit encodings. (Mike Williams) 6164 6165inputdialog() accepts a third argument that is used when the dialog is 6166cancelled. Makes it possible to see a difference between cancelling and 6167entering nothing. 6168 6169Included Aap recipes. Can be used to update Vim to the latest version, 6170building and installing. 6171 6172"/" option in 'cinoptions': extra indent for comment lines. (Helmut Stiegler) 6173 6174Vim variable "v:register" and functions setreg(), getreg() and getregtype(). 6175(Michael Geddes) 6176 6177"v" flag in 'cpoptions': Leave text on screen with backspace in Insert mode. 6178(Phillip Vandry) 6179 6180Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful when 6181running install in the "src" directory for testing. 6182 6183Support tag files that were sorted with case ignored. (Flemming Madsen) 6184 6185When completing a wildcard in a leading path element, as in "../*/Makefile", 6186only the last part ("Makefile") was listed. Support custom defined 6187command line completion. (Flemming Madsen) 6188 6189Also recognize "rxvt" as an xterm-like terminal. (Tomas Styblo) 6190 6191Proper X11 session management. Fixes that the WM_SAVE_YOURSELF event was not 6192used by popular desktops. (Neil Bird) 6193Not used for Gnome 2, it has its own handling. 6194 6195Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (Walter 6196Briscoe) 6197 6198Support page breaks for printing. Adds the "formfeed" field in 6199'printoptions'. (Mike Williams) 6200 6201Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, Axel 6202Kielhorn) 6203 6204"\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron) 6205 6206Added 'preserveindent' and 'copyindent' options. They use existing white 6207space characters instead of using Tabs as much as possible. (Chris Leishman) 6208 6209Updated Unicode tables to Unicode 4.0. (Raphael Finkel) 6210 6211Support for the mouse wheel in rxvt. (AIDA Shinra) 6212 6213Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8" 6214expansion on Win32 systems. (Michael Geddes) 6215 6216'cscopequickfix' option: Open quickfix window for Cscope commands. Also 6217cleanup the code for giving messages. (Khorev Sergey) 6218 6219GUI: Support more than 222 columns for mouse positions. 6220 6221":stopinsert" command: Don't return to Insert mode. 6222 6223"interrupt" command for debug mode. Useful for simulating CTRL-C. (Servatius 6224Brandt) 6225 6226 6227Fixed *fixed-6.2* 6228----- 6229 6230Removed a few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h. 6231 6232The Vim icons in PNG format didn't have a transparent background. (Greg 6233Roelofs) 6234 6235Fixed a large number of spelling mistakes in the docs. (Adri Verhoef) 6236 6237The #defines for prototype generation were causing trouble. Changed them to 6238typedefs. 6239 6240A new version of libintl.h uses __asm__, which confuses cproto. Define a 6241dummy __asm__ macro. 6242 6243When 'virtualedit' is set can't move to halfway an unprintable character. 6244Cripples CTRL-V selection. (Taro Muraoka) 6245Allow moving to halfway an unprintable character. Don't let getvvcol() change 6246the pos->coladd argument. 6247 6248When a tab wraps to the next line, 'listchars' is set and 'foldcolumn' is 6249non-zero, only one character of the foldcolumn is highlighted. (Muraoka Taro) 6250 6251When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto) 6252When no argument given use the ".*" pattern. 6253 6254Win32: When gvim.exe is started from a shortcut with the window style property 6255set to maximize Vim doesn't start with a maximized window. (Yasuhiro 6256Matsumoto) Open the window with the default size and don't call ShowWindow() 6257again when it's already visible. (Helmut Stiegler) 6258 6259gui_gtk.c used MAX, but it's undefined to avoid a conflict with system header 6260files. 6261 6262Win32: When closing a window from a mapping some pixels remain on the 6263statusline. (Yasuhiro Matsumoto) 6264 6265A column number in an errorformat that goes beyond the end of the line may 6266cause a crash. 6267 6268":throw 'test'" crashes Vim. (Yasuhiro Matsumoto) 6269 6270The file selector's scrollbar colors are not set after doing a ":hi Scrollbar 6271guifg=color". And the file selector's colors are not changed by the 6272colorscheme command. (David Harrison) 6273 6274Motif: When compiling with FEAT_FOOTER defined, the text area gets a few 6275pixels extra space on the right. Remove the special case in 6276gui_get_base_width(). (David Harrison) 6277 6278Using CTRL-R CTRL-P in Insert mode puts the '] mark in the wrong position. 6279(Helmut Stiegler) 6280 6281When 'formatoptions' includes "awct" a non-comment wasn't auto-formatted. 6282 6283Using a "--cmd" argument more than 10 times caused a crash. 6284 6285DEC style mouse support didn't work if the page field is not empty. 6286(Uribarri) 6287 6288"vim -l one two" did only set 'lisp' in the first file. Vi does it for every 6289file. 6290 6291":set tw<" didn't work. Was checking for '^' instead of '<'. 6292 6293In ":hardcopy > %.ps" the "%" was not expanded to the current filename. 6294 6295Made ":redraw" also update the Visual area. 6296 6297When a not implemented command, such as ":perl", has wrong arguments the less 6298important error was reported, giving the user the idea the command could work. 6299 6300On non-Unix systems autocommands for writing did not attempt a match with the 6301short file name, causing a pattern like "a/b" to fail. 6302 6303VMS: e_screenmode was not defined and a few other fixes for VMS. (Zoltan 6304Arpadffy) 6305 6306redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (Walter 6307Briscoe) 6308 6309Various changes for the PC Makefiles. (Walter Briscoe) 6310 6311Use _truename() instead of our own code to expand a file name into a full 6312path. (Walter Briscoe) 6313 6314Error in filetype check for /etc/modutils. (Lubomir Host) 6315 6316Cscope interface: allocated a buffer too small. 6317 6318Win16: remove a trailing backslash from a path when obtaining the permission 6319flags. (Vince Negri) 6320 6321When searching for tags with case ignored Vim could hang. 6322 6323When searching directories with a stopdir could get a crash. Did not 6324re-allocate enough memory. (Vince Negri) 6325 6326A user command may cause a crash. Don't use the command index when it's 6327negative. (Vince Negri) 6328 6329putenv() didn't work for MingW and Cygwin. (Dan Sharp) 6330 6331Many functions were common between os_msdos.c and os_win16.c. Use os_msdos.c 6332for compiling the Win16 version and remove the functions from os_win16.c. 6333(Vince Negri) 6334 6335For terminals that behave like an xterm but didn't have a name that is 6336recognized, the window title would not always be set. 6337 6338When syntax highlighting is off ":hardcopy" could still attempt printing 6339colors. 6340 6341Crash when using ":catch" without an argument. (Servatius Brandt) 6342 6343Win32: ":n #" doubled the backslashes. 6344 6345Fixed Arabic shaping for the command line. (Nadim Shaikli) 6346 6347Avoid splitting up a string displayed on the command line into individual 6348characters, it breaks Arabic shaping. 6349 6350Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp) 6351 63522html.vim didn't work with 'nomagic' set. 6353 6354When a local argument list is used and doing ":only" Vim could crash later. 6355(Muraoka Taro) 6356 6357When using "%P" in 'statusline' and the fillchar is "-", a percentage of 3% 6358could result in "-3%". Also avoid changing a space inside a filename to the 6359fill character. 6360 6361MSwin: Handling of backslashes and double quotes for command line arguments 6362was not like what other applications do. (Walter Briscoe) 6363 6364Test32 sometimes didn't work, because test11.out was written as TEST11.OUT. 6365 6366Avoid pointer conversions warnings for Borland C 5.5 in dosinst.c and 6367uninstal.c. 6368 6369More improvements for Make_bc3.mak file. (Walter Briscoe) 6370 6371When ":syn sync linebreaks=1" is used, editing the first line caused a redraw 6372of the whole screen. 6373 6374Making translated messages didn't work, if_perl.xs wasn't found. (Vlad 6375Sandrini) 6376 6377Motif and Athena: moving Vim to the foreground didn't uniconify it. Use 6378XMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran) 6379 6380When using ":ptag" in a window where 'scrollbind' is set the preview window 6381would also have 'scrollbind' set. Also reset 'foldcolumn' and 'diff'. 6382 6383Various commands that split a window took over 'scrollbind', which is hardly 6384ever desired. Esp. for "q:" and ":copen". Mostly reset 'scrollbind' when 6385splitting a window. 6386 6387When 'shellslash' is set in the vimrc file the first entry of ":scriptnames" 6388would still have backslashes. Entries in the quickfix list could also have 6389wrong (back)slashes. 6390 6391Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto) 6392 6393When using a multi-byte character with a K_SPECIAL byte or a special key code 6394with "--remote-send" the received byte sequence was mangled. Put it in the 6395typeahead buffer instead of the input buffer. 6396 6397Win32: The cursor position was incorrect after changing cursor shape. 6398(Yasuhiro Matsumoto). 6399 6400Win32: When 'encoding' is not the current codepage the title could not be set 6401to non-ascii characters. 6402 6403"vim -d scp://machine/file1 scp://machine/file2" did not work, there was only 6404one window. Fixed the netrw plugin not to wipe out the buffer if it is 6405displayed in other windows. 6406 6407"/$" caused "e" in last column of screen to disappear, a highlighted blank was 6408displayed instead. 6409 6410":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Was 6411using the line count including what matched after the "\ze". 6412 6413Using the "c" flag with ":s" changed the behavior when a line break is 6414replaced and "\@<=" is used. Without "c" a following match was not found. 6415 6416":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n". 6417 6418VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy) 6419 6420When a delete prompts if a delete should continue when yanking is not 6421possible, restore msg_silent afterwards. 6422 6423":sign" did not complain about a missing argument. 6424 6425When adding or deleting a sign 'hlsearch' highlighting could disappear. 6426Use the generic functions for updating signs. 6427 6428On MS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing. 6429Makes the tests work on more systems. 6430 6431In the DOS tests don't create "/tmp" to avoid an error. 6432 6433Mac classic: Problems with reading files with CR vs CR/LF. Rely on the 6434library version of fgets() to work correctly for Metrowerks 2.2. (Axel 6435Kielhorn) 6436 6437When typing a password a "*" was shown for each byte instead of for each 6438character. Added multi-byte handling to displaying the stars. (Yasuhiro 6439Matsumoto) 6440 6441When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use 6442different code for 5.6 and 5.8. (Dan Sharp) 6443 6444MingW and Cygwin: Don't strip the debug executable. (Dan Sharp) 6445 6446An assignment to a variable with curlies that includes "==" doesn't work. 6447Skip over the curlies before searching for an "=". (Vince Negri) 6448 6449When cancelling the selection of alternate matching tags the tag stack index 6450could be advanced too far, resulting in an error message when using CTRL-T. 6451 6452 6453Patch 6.1.001 6454Problem: When formatting UTF-8 text it might be wrapped at a space that is 6455 followed by a composing character. (Raphael Finkel) 6456 Also correct a display error for removing a composing char on top 6457 of a space. 6458Solution: Check for a composing character on a space. 6459Files: src/edit.c, src/misc1.c, src/screen.c 6460 6461Patch 6.1.002 (extra) 6462Problem: Win32: after a ":popup" command the mouse pointer stays hidden. 6463Solution: Unhide the mouse pointer before showing the menu. 6464Files: src/gui_w48.c 6465 6466Patch 6.1.003 6467Problem: When 'laststatus' is zero and there is a vertical split, the 6468 vertical separator is drawn in the command line. (Srikant 6469 Sankaran) 6470Solution: Don't draw the vertical separator where there is no statusline. 6471Files: src/screen.c 6472 6473Patch 6.1.004 6474Problem: Unicode 3.2 changes width and composing of a few characters. 6475 (Markus Kuhn) 6476Solution: Adjust the Unicode functions for the character width and composing 6477 characters. 6478Files: src/mbyte.c 6479 6480Patch 6.1.005 6481Problem: When using more than 50 items in 'statusline' Vim might crash. 6482 (Steve Hall) 6483Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen) 6484Files: src/option.c 6485 6486Patch 6.1.006 6487Problem: When using "P" in Visual mode to put linewise selected text, the 6488 wrong text is deleted. (Jakub Turski) 6489Solution: Put the text before the Visual area and correct the text to be 6490 deleted for the inserted lines. 6491 Also fix that "p" of linewise text in Visual block mode doesn't 6492 work correctly. 6493Files: src/normal.c, src/ops.c 6494 6495Patch 6.1.007 6496Problem: Using ":filetype plugin off" when filetype plugins were never 6497 enabled causes an error message. (Yiu Wing) 6498Solution: Use ":silent!" to avoid the error message. 6499Files: runtime/ftplugof.vim 6500 6501Patch 6.1.008 6502Problem: The "%" command doesn't ignore \" inside a string, it's seen as 6503 the end of the string. (Ken Clark) 6504Solution: Skip a double quote preceded by an odd number of backslashes. 6505Files: src/search.c 6506 6507Patch 6.1.009 6508Problem: Vim crashes when using a huge number for the maxwid value in a 6509 statusline. (Robert M. Nowotniak) 6510Solution: Check for an overflow that makes maxwid negative. 6511Files: src/buffer.c 6512 6513Patch 6.1.010 6514Problem: Searching backwards for a question mark with "?\?" doesn't work. 6515 (Alan Isaac) Same problem in ":s?\??" and ":g?\??". 6516Solution: Change the "\?" in a pattern to "?" when using "?" as delimiter. 6517Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c, 6518 src/search.c, src/syntax.c, src/tag.c 6519 6520Patch 6.1.011 6521Problem: XIM: doesn't work correctly when 'number' is set. Also, a focus 6522 problem when selecting candidates. 6523Solution: Fix the XIM problems. (Yasuhiro Matsumoto) 6524Files: src/mbyte.c, src/screen.c 6525 6526Patch 6.1.012 6527Problem: A system() call might fail if fread() does CR-LF to LF 6528 translation. 6529Solution: Open the output file in binary mode. (Pavol Huhas) 6530Files: src/misc1.c 6531 6532Patch 6.1.013 6533Problem: Win32: The default for 'printexpr' doesn't work when there are 6534 special characters in 'printdevice'. 6535Solution: Add double quotes around the device name. (Mike Williams) 6536Files: runtime/doc/option.txt, src/option.c 6537 6538Patch 6.1.014 6539Problem: An operator like "r" used in Visual block mode doesn't use 6540 'virtualedit' when it's set to "block". 6541Solution: Check for 'virtualedit' being active in Visual block mode when the 6542 operator was started. 6543Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c, 6544 src/ops.c, src/undo.c 6545 6546Patch 6.1.015 6547Problem: After patch 6.1.014 can't compile with tiny features. (Christian 6548 J. Robinson) 6549Solution: Add the missing define of virtual_op. 6550Files: src/vim.h 6551 6552Patch 6.1.016 (extra) 6553Problem: Win32: Outputting Hebrew or Arabic text might have a problem with 6554 reversing. 6555Solution: Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron) 6556Files: src/gui_w32.c 6557 6558Patch 6.1.017 6559Problem: Cygwin: After patch 6.1.012 Still doesn't do binary file I/O. 6560 (Pavol Juhas) 6561Solution: Define BINARY_FILE_IO for Cygwin. 6562Files: src/os_unix.h 6563 6564Patch 6.1.018 6565Problem: Error message when using cterm highlighting. (Leonardo Di Lella) 6566Solution: Remove a backslash before a question mark. 6567Files: runtime/syntax/cterm.vim 6568 6569Patch 6.1.019 (extra) 6570Problem: Win32: File name is messed up when editing just a drive name. 6571 (Walter Briscoe) 6572Solution: Append a NUL after the drive name. (Vince Negri) 6573Files: src/os_win32.c 6574 6575Patch 6.1.020 6576Problem: col("'>") returns a huge number after using Visual line mode. 6577Solution: Return the length of the line instead. 6578Files: src/eval.c 6579 6580Patch 6.1.021 (depends on patch 6.1.009) 6581Problem: Vim crashes when using a huge number for the minwid value in a 6582 statusline. (Robert M. Nowotniak) 6583Solution: Check for an overflow that makes minwid negative. 6584Files: src/buffer.c 6585 6586Patch 6.1.022 6587Problem: Grabbing the status line above the command-line window works like 6588 the bottom status line was grabbed. (Jim Battle) 6589Solution: Make it possible to grab the status line above the command-line 6590 window, so that it can be resized. 6591Files: src/ui.c 6592 6593Patch 6.1.023 (extra) 6594Problem: VMS: running tests doesn't work properly. 6595Solution: Adjust the makefile. (Zoltan Arpadffy) 6596Files: src/testdir/Make_vms.mms 6597 6598Patch 6.1.024 6599Problem: When header files use a new syntax for declaring functions, Vim 6600 can't figure out missing prototypes properly. 6601Solution: Accept braces around a function name. (M. Warner Losh) 6602Files: src/osdef.sh 6603 6604Patch 6.1.025 6605Problem: Five messages for "vim --help" don't start with a capital. (Vlad 6606 Sandrini) 6607Solution: Make the messages consistent. 6608Files: src/main.c 6609 6610Patch 6.1.026 6611Problem: *.patch files are not recognized as diff files. In a script a 6612 "VAR=val" argument after "env" isn't ignored. PHP scripts are not 6613 recognized. 6614Solution: Add *.patch for diff filetypes. Ignore "VAR=val". Recognize PHP 6615 scripts. (Roman Neuhauser) 6616Files: runtime/filetype.vim, runtime/scripts.vim 6617 6618Patch 6.1.027 6619Problem: When 'foldcolumn' is non-zero, a special character that wraps to 6620 the next line disturbs the foldcolumn highlighting. (Yasuhiro 6621 Matsumoto) 6622Solution: Only use the special highlighting when drawing text characters. 6623Files: src/screen.c 6624 6625Patch 6.1.028 6626Problem: Client-server: When a --remote-expr fails, Vim still exits with 6627 status zero. 6628Solution: Exit Vim with a non-zero status to indicate the --remote-expr 6629 failed. (Thomas Scott Urban) 6630Files: src/main.c 6631 6632Patch 6.1.029 6633Problem: When 'encoding' is an 8-bit encoding other than "latin1", editing 6634 a utf-8 or other Unicode file uses the wrong conversion. (Jan 6635 Fedak) 6636Solution: Don't use Unicode to latin1 conversion for 8-bit encodings other 6637 than "latin1". 6638Files: src/fileio.c 6639 6640Patch 6.1.030 6641Problem: When CTRL-N is mapped in Insert mode, it is also mapped after 6642 CTRL-X CTRL-N, while it is not mapped after CTRL-X CTRL-F. 6643 (Kontra Gergely) 6644Solution: Don't map CTRL-N after CTRL-X CTRL-N. Same for CTRL-P. 6645Files: src/getchar.c 6646 6647Patch 6.1.031 6648Problem: Cygwin: Xxd could read a file in text mode instead of binary mode. 6649Solution: Use "rb" or "rt" when needed. (Pavol Juhas) 6650Files: src/xxd/xxd.c 6651 6652Patch 6.1.032 6653Problem: Can't specify a quickfix file without jumping to the first error. 6654Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan) 6655Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, 6656 src/quickfix.c 6657 6658Patch 6.1.033 6659Problem: GUI: When the selection is lost and the Visual highlighting is 6660 changed to underlining, the cursor is left in a different 6661 position. (Christian Michon) 6662Solution: Update the cursor position after redrawing the selection. 6663Files: src/ui.c 6664 6665Patch 6.1.034 6666Problem: A CVS diff file isn't recognized as diff filetype. 6667Solution: Skip lines starting with "? " before checking for an "Index:" line. 6668Files: runtime/scripts.vim 6669 6670Patch 6.1.035 (extra, depends on 6.1.016) 6671Problem: Win32: Outputting Hebrew or Arabic text might have a problem with 6672 reversing on MS-Windows 95/98/ME. 6673Solution: Restore the RevOut() function and use it in specific situations 6674 only. (Ron Aaron) 6675Files: src/gui_w32.c 6676 6677Patch 6.1.036 6678Problem: This command may cause a crash: ":v/./,//-j". (Ralf Arens) 6679Solution: Compute the right length of the regexp when it's empty. 6680Files: src/search.c 6681 6682Patch 6.1.037 6683Problem: When 'lazyredraw' is set, pressing "q" at the hit-enter prompt 6684 causes an incomplete redraw and the cursor isn't positioned. 6685 (Lubomir Host) 6686Solution: Overrule 'lazyredraw' when do_redraw is set. 6687Files: src/main.c, src/screen.c 6688 6689Patch 6.1.038 6690Problem: Multi-byte: When a ":s" command contains a multi-byte character 6691 where the trail byte is '~' the text is messed up. 6692Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro) 6693Files: src/regexp.c 6694 6695Patch 6.1.039 6696Problem: When folds are defined and the file is changed outside of Vim, 6697 reloading the file doesn't update the folds. (Anders 6698 Schack-Nielsen) 6699Solution: Recompute the folds after reloading the file. 6700Files: src/fileio.c 6701 6702Patch 6.1.040 6703Problem: When changing directory for expanding a file name fails there is 6704 no error message. 6705Solution: Give an error message for this situation. Don't change directory 6706 if we can't return to the original directory. 6707Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c, 6708 src/os_unix.c 6709 6710Patch 6.1.041 6711Problem: ":mkvimrc" doesn't handle a mapping that has a leading space in 6712 the rhs. (Davyd Ondrejko) 6713Solution: Insert a CTRL-V before the leading space. Also display leading 6714 and trailing white space in <> form. 6715Files: src/getchar.c, src/message.c 6716 6717Patch 6.1.042 6718Problem: "vim -r" doesn't show all matches when 'wildignore' removes swap 6719 files. (Steve Talley) 6720Solution: Keep all matching swap file names. 6721Files: src/memline.c 6722 6723Patch 6.1.043 6724Problem: After patch 6.1.040 a few warnings are produced. 6725Solution: Add a type cast to "char *" for mch_chdir(). (Axel Kielhorn) 6726Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.c 6727 6728Patch 6.1.044 (extra) 6729Problem: GUI: When using the find/replace dialog with text that contains a 6730 slash, an invalid substitute command is generated. 6731 On Win32 a find doesn't work when 'insertmode' is set. 6732Solution: Escape slashes with a backslash. 6733 Make the Win32, Motif and GTK gui use common code for the 6734 find/replace dialog. 6735 Add the "match case" option for Motif and GTK. 6736Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h, 6737 src/gui_motif.c, src/gui_gtk.c, src/gui_w48.c 6738 6739Patch 6.1.045 6740Problem: In Visual mode, with lots of folds and 'scrolloff' set to 999, 6741 moving the cursor down near the end of the file causes the text to 6742 jump up and down. (Lubomir Host) 6743Solution: Take into account that the cursor may be on the last line of a 6744 closed fold. 6745Files: src/move.c 6746 6747Patch 6.1.046 6748Problem: X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" draws a black 6749 rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor 6750 disappear. (Nam SungHyun) 6751Solution: Correctly compute the height of the horizontal cursor. 6752Files: src/gui_gtk_x11.c, src/gui_x11.c 6753 6754Patch 6.1.047 6755Problem: When skipping commands after an error was encountered, expressions 6756 for ":if", ";elseif" and ":while" are still evaluated. 6757Solution: Skip the expression after an error. (Servatius Brandt) 6758Files: src/ex_docmd.c 6759 6760Patch 6.1.048 6761Problem: Unicode 3.2 changes were missing a few Hangul Jamo characters. 6762Solution: Recognize more characters as composing characters. (Jungshik Shin) 6763Files: src/mbyte.c 6764 6765Patch 6.1.049 (extra) 6766Problem: On a 32 bit display a valid color may cause an error message, 6767 because its pixel value is negative. (Chris Paulson-Ellis) 6768Solution: Check for -11111 instead of the color being negative. 6769 Don't add one to the pixel value, -1 may be used for white. 6770Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c, 6771 src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c, 6772 src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, 6773 src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c, 6774 src/gui_x11.c, src/mbyte.c, src/syntax.c 6775 6776Patch 6.1.050 (depends on 6.1.049) 6777Problem: After patch 6.1.049 the non-GUI version doesn't compile. 6778Solution: Add an #ifdef FEAT_GUI. (Robert Stanton) 6779Files: src/syntax.c 6780 6781Patch 6.1.051 (depends on 6.1.044) 6782Problem: Doesn't compile with GUI and small features. 6783Solution: Adjust the #if for ga_append(). 6784Files: src/misc2.c 6785 6786Patch 6.1.052 6787Problem: Unix: The executable() function doesn't work when the "which" 6788 command isn't available. 6789Solution: Go through $PATH manually. Also makes it work for VMS. 6790Files: src/os_unix.c 6791 6792Patch 6.1.053 6793Problem: When 'sessionoptions' contains "globals", or "localoptions" and an 6794 option value contains a line break, the resulting script is wrong. 6795Solution: Use "\n" and "\r" for a line break. (Srinath Avadhanula) 6796Files: src/eval.c 6797 6798Patch 6.1.054 6799Problem: GUI: A mouse click is not recognized at the more prompt, even when 6800 'mouse' includes 'r'. 6801Solution: Recognize a mouse click at the more prompt. 6802 Also accept a mouse click in the last line in the GUI. 6803 Add "ml" entry in 'mouseshape'. 6804Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, 6805 src/structs.h 6806 6807Patch 6.1.055 6808Problem: When editing a compressed file, Vim will inspect the contents to 6809 guess the filetype. 6810Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files. 6811Files: runtime/filetype.vim, runtime/plugin/gzip.vim 6812 6813Patch 6.1.056 6814Problem: Loading the Syntax menu can take quite a bit of time. 6815Solution: Add the "skip_syntax_sel_menu" variable. When its defined the 6816 available syntax files are not in the Syntax menu. 6817Files: runtime/doc/gui.txt, runtime/menu.vim 6818 6819Patch 6.1.057 6820Problem: An ESC inside a mapping doesn't work as documented when 6821 'insertmode' is set, it does go from Visual or Normal mode to 6822 Insert mode. (Benji Fisher) 6823Solution: Make it work as documented. 6824Files: src/normal.c 6825 6826Patch 6.1.058 6827Problem: When there is a closed fold just above the first line in the 6828 window, using CTRL-X CTRL-Y in Insert mode will show only one line 6829 of the fold. (Alexey Marinichev) 6830Solution: Correct the topline by putting it at the start of the fold. 6831Files: src/move.c 6832 6833Patch 6.1.059 6834Problem: ":redir > ~/file" doesn't work. (Stephen Rasku) 6835Solution: Expand environment variables in the ":redir >" argument. 6836Files: src/ex_docmd.c 6837 6838Patch 6.1.060 6839Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting 6840 a character just before a tab changes the tab into spaces. Undo 6841 doesn't restore the tab. (Helmut Stiegler) 6842Solution: Don't replace the tab by spaces when it's not needed. Correctly 6843 save the line before it's changed. 6844Files: src/ops.c 6845 6846Patch 6.1.061 6847Problem: When 'virtualedit' is set and 'selection' is "exclusive", a Visual 6848 selection that ends just after a tab doesn't include that tab in 6849 the highlighting. (Helmut Stiegler) 6850Solution: Use a different way to exclude the character under the cursor. 6851Files: src/screen.c 6852 6853Patch 6.1.062 6854Problem: The "man" filetype plugin doesn't work properly on Solaris 5. 6855Solution: Use a different way to detect that "man -s" should be used. (Hugh 6856 Sasse) 6857Files: runtime/ftplugin/man.vim 6858 6859Patch 6.1.063 6860Problem: Java indenting doesn't work properly. 6861Solution: Ignore comments when checking if the indent doesn't increase after 6862 a "}". 6863Files: runtime/indent/java.vim 6864 6865Patch 6.1.064 6866Problem: The URLs that the netrw plugin recognized for ftp and rcp did not 6867 conform to the standard method://[user@]host[:port]/path. 6868Solution: Use ftp://[user@]host[[:#]port]/path, which supports both the new 6869 and the previous style. Also added a bit of dav/cadaver support. 6870 (Charles Campbell) 6871Files: runtime/plugin/netrw.vim 6872 6873Patch 6.1.065 6874Problem: VMS: The colorscheme, keymap and compiler menus are not filled in. 6875Solution: Ignore case when looking for ".vim" files. (Coen Engelbarts) 6876Files: runtime/menu.vim 6877 6878Patch 6.1.066 (extra) 6879Problem: When calling system() in a plugin reading stdin hangs. 6880Solution: Don't set the terminal to RAW mode when it wasn't in RAW mode 6881 before the system() call. 6882Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c, 6883 src/os_win16.c, src/os_win32.c 6884 6885Patch 6.1.067 6886Problem: ":set viminfo+=f0" is not working. (Benji Fisher) 6887Solution: Check the "f" flag instead of "'" in 'viminfo'. 6888Files: src/mark.c 6889 6890Patch 6.1.068 6891Problem: When a file is reloaded after it was changed outside of Vim, diff 6892 mode isn't updated. (Michael Naumann) 6893Solution: Invalidate the diff info so that it's updated when needed. 6894Files: src/fileio.c 6895 6896Patch 6.1.069 6897Problem: When 'showmatch' is set and "$" is in 'cpoptions', using 6898 "C}<Esc>" may forget to remove the "$". (Preben Guldberg) 6899Solution: Restore dollar_vcol after displaying the matching cursor position. 6900Files: src/search.c 6901 6902Patch 6.1.070 (depends on 6.1.060) 6903Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams) 6904Solution: Add a typecast to int. 6905Files: src/ops.c 6906 6907Patch 6.1.071 6908Problem: When 'selection' is exclusive, g CTRL-G in Visual mode counts one 6909 character too much. (David Necas) 6910Solution: Subtract one from the end position. 6911Files: src/ops.c 6912 6913Patch 6.1.072 6914Problem: When a file name in a tags file starts with http:// or something 6915 else for which there is a BufReadCmd autocommand, the file isn't 6916 opened anyway. 6917Solution: Check if there is a matching BufReadCmd autocommand and try to 6918 open the file. 6919Files: src/fileio.c, src/proto/fileio.pro, src/tag.c 6920 6921Patch 6.1.073 (extra) 6922Problem: BC5: Can't easily specify a tiny, small, normal, big or huge 6923 version. 6924Solution: Allow selecting the version with the FEATURES variable. (Ajit 6925 Thakkar) 6926Files: src/Make_bc5.mak 6927 6928Patch 6.1.074 6929Problem: When 'cdpath' includes "../..", changing to a directory in which 6930 we currently already are doesn't work. ff_check_visited() adds 6931 the directory both when using it as the root for searching and for 6932 the actual matches. (Stephen Rasku) 6933Solution: Use a separate list for the already searched directories. 6934Files: src/misc2.c 6935 6936Patch 6.1.075 (depends on 6.1.072) 6937Problem: Can't compile fileio.c on MS-Windows. 6938Solution: Add a declaration for the "p" pointer. (Madoka Machitani) 6939Files: src/fileio.c 6940 6941Patch 6.1.076 (extra) 6942Problem: Macintosh: explorer plugin doesn't work on Mac Classic. 6943 IME doesn't work. Dialog boxes don't work on Mac OS X 6944Solution: Fix explorer plugin and key modifiers. (Axel Kielhorn) 6945 Fix IME support. (Muraoka Taro) 6946 Disable dialog boxes. (Benji Fisher) 6947Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.c 6948 6949Patch 6.1.077 6950Problem: On a Debian system with ACL linking fails. (Lubomir Host) 6951Solution: When the "acl" library is used, check if the "attr" library is 6952 present and use it. 6953Files: src/auto/configure, src/configure.in, src/link.sh 6954 6955Patch 6.1.078 6956Problem: When using 'foldmethod' "marker" and the end marker appears before 6957 the start marker in the file, no fold is found. (Nazri Ramliy) 6958Solution: Don't let the fold depth go negative. 6959Files: src/fold.c 6960 6961Patch 6.1.079 6962Problem: When using "s" in Visual block mode with 'virtualedit' set, when 6963 the selected block is after the end of some lines the wrong text 6964 is inserted and some lines are skipped. (Servatius Brandt) 6965Solution: Insert the right text and extend short lines. 6966Files: src/ops.c 6967 6968Patch 6.1.080 6969Problem: When using gcc with /usr/local already in the search path, adding 6970 it again causes problems. 6971Solution: Adjust configure.in to avoid adding /usr/local/include and 6972 /usr/local/lib when using GCC and they are already used. (Johannes 6973 Zellner) 6974Files: src/auto/configure, src/configure.in 6975 6976Patch 6.1.081 6977Problem: ":help CTRL-\_CTRL-N" doesn't work. (Christian J. Robinson) 6978Solution: Double the backslash to avoid the special meaning of "\_". 6979Files: src/ex_cmds.c 6980 6981Patch 6.1.082 6982Problem: On MS-Windows the vimrc_example.vim script is sourced and then 6983 mswin.vim. This enables using select mode, but since "p" is 6984 mapped it doesn't replace the selection. 6985Solution: Remove the mapping of "p" from vimrc_example.vim, it's obsolete. 6986 (Vlad Sandrini) 6987Files: runtime/vimrc_example.vim 6988 6989Patch 6.1.083 6990Problem: When $LANG is "sk" or "sk_sk", the Slovak menu file isn't found. 6991 (Martin Lacko) 6992Solution: Guess the right menu file based on the system. 6993Files: runtime/lang/menu_sk_sk.vim 6994 6995Patch 6.1.084 (depends on 6.1.080) 6996Problem: "include" and "lib" are mixed up when checking the directories gcc 6997 already searches. 6998Solution: Swap the variable names. (SunHo Kim) 6999Files: src/auto/configure, src/configure.in 7000 7001Patch 6.1.085 7002Problem: When using CTRL-O CTRL-\ CTRL-N from Insert mode, the displayed 7003 mode "(insert)" isn't removed. (Benji Fisher) 7004Solution: Clear the command line. 7005Files: src/normal.c 7006 7007Patch 6.1.086 (depends on 6.1.049) 7008Problem: The guifg color for CursorIM doesn't take effect. 7009Solution: Use the foreground color when it's defined. (Muraoka Taro) 7010Files: src/gui.c 7011 7012Patch 6.1.087 7013Problem: A thesaurus with Japanese characters has problems with characters 7014 in different word classes. 7015Solution: Only separate words with single-byte non-word characters. 7016 (Muraoka Taro) 7017Files: src/edit.c 7018 7019Patch 6.1.088 (extra) 7020Problem: Win32: no debugging info is generated. Tags file excludes .cpp 7021 files. 7022Solution: Add "/map" to compiler flags. Add "*.cpp" to ctags command. 7023 (Muraoka Taro) 7024Files: src/Make_mvc.mak 7025 7026Patch 6.1.089 7027Problem: On BSDI systems there is no ss_sp field in stack_t. (Robert Jan) 7028Solution: Use ss_base instead. 7029Files: src/auto/configure, src/configure.in, src/config.h.in, 7030 src/os_unix.c 7031 7032Patch 6.1.090 7033Problem: CTRL-F gets stuck when 'scrolloff' is non-zero and there is a mix 7034 of long wrapping lines and a non-wrapping line. 7035Solution: Check that CTRL-F scrolls at least one line. 7036Files: src/move.c 7037 7038Patch 6.1.091 7039Problem: GTK: Can't change preeditstate without setting 'imactivatekey'. 7040Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro 7041 Matsumoto) 7042Files: src/mbyte.c 7043 7044Patch 6.1.092 7045Problem: ":mapclear <buffer>" doesn't work. (Srikanth Adayapalam) 7046Solution: Allow an argument for ":mapclear". 7047Files: src/ex_cmds.h 7048 7049Patch 6.1.093 (extra) 7050Problem: Mac and MS-Windows GUI: when scrolling while ":s" is working the 7051 results can be messed up, because the cursor is moved. 7052Solution: Disallow direct scrolling when not waiting for a character. 7053Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 7054 7055Patch 6.1.094 7056Problem: Cygwin: Passing a file name that has backslashes isn't handled 7057 very well. 7058Solution: Convert file name arguments to Posix. (Chris Metcalf) 7059Files: src/main.c 7060 7061Patch 6.1.095 7062Problem: When using signs can free an item on the stack. 7063 Overruling sign colors doesn't work. (Srikanth Sankaran) 7064Solution: Don't free the item on the stack. Use NULL instead of "none" for 7065 the value of the color. 7066Files: src/gui_x11.c 7067 7068Patch 6.1.096 7069Problem: When erasing the right halve of a double-byte character, it may 7070 cause further characters to be erased. (Yasuhiro Matsumoto) 7071Solution: Make sure only one character is erased. 7072Files: src/screen.c 7073 7074Patch 6.1.097 (depends on 6.1.090) 7075Problem: When 'scrolloff' is set to a huge value, CTRL-F at the end of the 7076 file scrolls one line. (Lubomir Host) 7077Solution: Don't scroll when CTRL-F detects the end-of-file. 7078Files: src/move.c 7079 7080Patch 6.1.098 7081Problem: MS-Windows: When the xxd program is under "c:\program files" the 7082 "Convert to Hex" menu doesn't work. (Brian Mathis) 7083Solution: Put the path to xxd in double quotes. 7084Files: runtime/menu.vim 7085 7086Patch 6.1.099 7087Problem: Memory corrupted when closing a fold with more than 99999 lines. 7088Solution: Allocate more space for the fold text. (Walter Briscoe) 7089Files: src/eval.c 7090 7091Patch 6.1.100 (extra, depends on 6.1.088) 7092Problem: Win32: VC5 and earlier don't support the /mapinfo option. 7093Solution: Add "/mapinfo" only when "MAP=lines" is specified. (Muraoka Taro) 7094Files: src/Make_mvc.mak 7095 7096Patch 6.1.101 7097Problem: After using ":options" the tabstop of a new window is 15. Entry 7098 in ":options" window for 'autowriteall' is wrong. (Antoine J 7099 Mechelynck) Can't insert a space in an option value. 7100Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa". 7101 Don't map space in Insert mode. 7102Files: runtime/optwin.vim 7103 7104Patch 6.1.102 7105Problem: Unprintable and multi-byte characters in a statusline item are not 7106 truncated correctly. (Yasuhiro Matsumoto) 7107Solution: Count the width of characters instead of the number of bytes. 7108Files: src/buffer.c 7109 7110Patch 6.1.103 7111Problem: A function returning from a while loop, with 'verbose' set to 12 7112 or higher, doesn't mention the return value. A function with the 7113 'abort' attribute may return -1 while the verbose message says 7114 something else. 7115Solution: Move the verbose message about returning from a function to 7116 call_func(). (Servatius Brandt) 7117Files: src/eval.c 7118 7119Patch 6.1.104 7120Problem: GCC 3.1 appears to have an optimizer problem that makes test 3 7121 crash. 7122Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug. 7123 Filter out extra info from "gcc --version". 7124Files: src/auto/configure, src/configure.in 7125 7126Patch 6.1.105 7127Problem: Win32: The default for 'shellpipe' doesn't redirect stderr. (Dion 7128 Nicolaas) 7129Solution: Redirect stderr, depending on the shell (like for 'shellredir'). 7130Files: src/option.c 7131 7132Patch 6.1.106 7133Problem: The maze program crashes. 7134Solution: Change "11" to "27" and it works. (Greg Roelofs) 7135Files: runtime/macros/maze/mazeansi.c 7136 7137Patch 6.1.107 7138Problem: When 'list' is set the current line in the error window may be 7139 displayed wrong. (Muraoka Taro) 7140Solution: Don't continue the line after the $ has been displayed and the 7141 rightmost column is reached. 7142Files: src/screen.c 7143 7144Patch 6.1.108 7145Problem: When interrupting a filter command such as "!!sleep 20" the file 7146 becomes read-only. (Mark Brader) 7147Solution: Only set the read-only flag when opening a buffer is interrupted. 7148 When the shell command was interrupted, read the output that was 7149 produced so far. 7150Files: src/ex_cmds.c, src/fileio.c 7151 7152Patch 6.1.109 7153Problem: When 'eadirection' is "hor", using CTRL-W = doesn't equalize the 7154 window heights. (Roman Neuhauser) 7155Solution: Ignore 'eadirection' for CTRL-W = 7156Files: src/window.c 7157 7158Patch 6.1.110 7159Problem: When using ":badd file" when "file" is already present but not 7160 listed, it stays unlisted. (David Frey) 7161Solution: Set 'buflisted'. 7162Files: src/buffer.c 7163 7164Patch 6.1.111 7165Problem: It's not possible to detect using the Unix sources on Win32 or Mac. 7166Solution: Add has("macunix") and has("win32unix"). 7167Files: runtime/doc/eval.txt, src/eval.c 7168 7169Patch 6.1.112 7170Problem: When using ":argdo", ":bufdo" or ":windo", CTRL-O doesn't go to 7171 the cursor position from before this command but every position 7172 where the argument was executed. 7173Solution: Only remember the cursor position from before the ":argdo", 7174 ":bufdo" and ":windo". 7175Files: src/ex_cmds2.c, src/mark.c 7176 7177Patch 6.1.113 7178Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser) 7179Solution: Decide what buffer to go to next before executing the command. 7180Files: src/ex_cmds2.c 7181 7182Patch 6.1.114 7183Problem: ":python import vim", ":python vim.current.buffer[0:0] = []" gives 7184 a lalloc(0) error. (Chris Southern) 7185Solution: Don't allocate an array when it's size is zero. 7186Files: src/if_python.c 7187 7188Patch 6.1.115 7189Problem: "das" on the white space at the end of a paragraph does not delete 7190 the "." the sentence ends with. 7191Solution: Don't exclude the last character when it is not white space. 7192Files: src/search.c 7193 7194Patch 6.1.116 7195Problem: When 'endofline' is changed while 'binary' is set a file should be 7196 considered modified. (Olaf Buddenhagen) 7197Solution: Remember the 'eol' value when editing started and consider the 7198 file changed when the current value is different and 'binary' is 7199 set. Also fix that the window title isn't updated when 'ff' or 7200 'bin' changes. 7201Files: src/option.c, src/structs.h 7202 7203Patch 6.1.117 7204Problem: Small problem with editing a file over ftp: and with Cygwin. 7205Solution: Remove a dot from a ":normal" command. Use "cygdrive" where 7206 appropriate. (Charles Campbell) 7207Files: runtime/plugin/netrw.vim 7208 7209Patch 6.1.118 7210Problem: When a file in diff mode is reloaded because it changed outside 7211 of Vim, other windows in diff mode are not always updated. 7212 (Michael Naumann) 7213Solution: After reloading a file in diff mode mark all windows in diff mode 7214 for redraw. 7215Files: src/diff.c 7216 7217Patch 6.1.119 (extra) 7218Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may be 7219 a crash when connecting to Sniff. 7220Solution: Initialize sniff_rq_sep such that its value can be changed. 7221 (Martin Egloff) 7222Files: src/if_sniff.c 7223 7224Patch 6.1.120 (depends on 6.1.097) 7225Problem: When 'scrolloff' is non-zero and there are folds, CTRL-F at the 7226 end of the file scrolls part of a closed fold. (Lubomir Host) 7227Solution: Adjust the first line to the start of a fold. 7228Files: src/move.c 7229 7230Patch 6.1.121 (depends on 6.1.098) 7231Problem: When starting Select mode from Insert mode, then using the Paste 7232 menu entry, the cursor is left before the last pasted character. 7233 (Mario Schweigler) 7234Solution: Set the cursor for Insert mode one character to the right. 7235Files: runtime/menu.vim 7236 7237Patch 6.1.122 7238Problem: ":file name" creates a new buffer to hold the old buffer name, 7239 which becomes the alternate file. This buffer is unexpectedly 7240 listed. 7241Solution: Create the buffer for the alternate name unlisted. 7242Files: src/ex_cmds.c 7243 7244Patch 6.1.123 7245Problem: A ":match" command with more than one argument doesn't report an 7246 error. 7247Solution: Check for extra characters. (Servatius Brandt) 7248Files: src/ex_docmd.c 7249 7250Patch 6.1.124 7251Problem: When trying to exit and there is a hidden buffer that had 'eol' 7252 off and 'bin' set exiting isn't possible. (John McGowan) 7253Solution: Set b_start_eol when clearing the buffer. 7254Files: src/buffer.c 7255 7256Patch 6.1.125 7257Problem: Explorer plugin asks for saving a modified buffer even when it's 7258 open in another window as well. 7259Solution: Count the number of windows using the buffer. 7260Files: runtime/plugin/explorer.vim 7261 7262Patch 6.1.126 7263Problem: Adding the choices in the syntax menu is consuming much of the 7264 startup time of the GUI while it's not often used. 7265Solution: Only add the choices when the user wants to use them. 7266Files: Makefile, runtime/makemenu.vim, runtime/menu.vim, 7267 runtime/synmenu.vim, src/Makefile 7268 7269Patch 6.1.127 7270Problem: When using "--remote file" and the server has 'insertmode' set, 7271 commands are inserted instead of being executed. (Niklas Volbers) 7272Solution: Go to Normal mode again after the ":drop" command. 7273Files: src/main.c 7274 7275Patch 6.1.128 7276Problem: The expression "input('very long prompt')" puts the cursor in the 7277 wrong line (column is OK). 7278Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto) 7279Files: src/ex_getln.c 7280 7281Patch 6.1.129 7282Problem: On Solaris editing "file/" and then "file" results in using the 7283 same buffer. (Jim Battle) 7284Solution: Before using stat(), check that there is no illegal trailing 7285 slash. 7286Files: src/auto/configure, src/config.h.in, src/configure.in, 7287 src/macros.h src/misc2.c, src/proto/misc2.pro 7288 7289Patch 6.1.130 7290Problem: The documentation for some of the 'errorformat' items is unclear. 7291Solution: Add more examples and explain hard to understand items. (Stefan 7292 Roemer) 7293Files: runtime/doc/quickfix.txt 7294 7295Patch 6.1.131 7296Problem: X11 GUI: when expanding a CSI byte in the input stream to K_CSI, 7297 the CSI byte itself isn't copied. 7298Solution: Copy the CSI byte. 7299Files: src/gui_x11.c 7300 7301Patch 6.1.132 7302Problem: Executing a register in Ex mode may cause commands to be skipped. 7303 (John McGowan) 7304Solution: In Ex mode use an extra check if the register contents was 7305 consumed, to avoid input goes into the typeahead buffer. 7306Files: src/ex_docmd.c 7307 7308Patch 6.1.133 7309Problem: When drawing double-wide characters in the statusline, may clear 7310 half of a character. (Yasuhiro Matsumoto) 7311Solution: Force redraw of the next character by setting the attributes 7312 instead of putting a NUL in ScreenLines[]. Do put a NUL in 7313 ScreenLines[] when overwriting half of a double-wide character. 7314Files: src/screen.c 7315 7316Patch 6.1.134 7317Problem: An error for a trailing argument of ":match" should not be given 7318 after ":if 0". (Servatius Brandt) 7319Solution: Only do the check when executing commands. 7320Files: src/ex_docmd.c 7321 7322Patch 6.1.135 7323Problem: Passing a command to the shell that includes a newline always has 7324 a backslash before the newline. 7325Solution: Remove one backslash before the newline. (Servatius Brandt) 7326Files: src/ex_docmd.c 7327 7328Patch 6.1.136 7329Problem: When $TERM is "linux" the default for 'background' is "dark", even 7330 though the GUI uses a light background. (Hugh Allen) 7331Solution: Don't mark the option as set when defaulting to "dark" for the 7332 linux console. Also reset 'background' to "light" when the GUI 7333 has a light background. 7334Files: src/option.c 7335 7336Patch 6.1.137 7337Problem: Converting to HTML has a clumsy way of dealing with tabs which may 7338 change the highlighting. 7339Solution: Replace tabs with spaces after converting a line to HTML. (Preben 7340 Guldberg) 7341Files: runtime/syntax/2html.vim 7342 7343Patch 6.1.138 (depends on 6.1.126) 7344Problem: Adding extra items to the Syntax menu can't be done when the "Show 7345 individual choices" menu is used. 7346Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim 7347 files in the runtime path are loaded. (Servatius Brandt) 7348 Also fix that a translated menu can't be removed. 7349Files: runtime/menu.vim 7350 7351Patch 6.1.139 7352Problem: Cygwin: PATH_MAX is not defined. 7353Solution: Include limits.h. (Dan Sharp) 7354Files: src/main.c 7355 7356Patch 6.1.140 7357Problem: Cygwin: ":args `ls *.c`" does not work if the shell command 7358 produces CR NL line separators. 7359Solution: Remove the CR characters ourselves. (Pavol Juhas) 7360Files: src/os_unix.c 7361 7362Patch 6.1.141 7363Problem: ":wincmd gx" may cause problems when mixed with other commands. 7364 ":wincmd c" doesn't close the window immediately. (Benji Fisher) 7365Solution: Pass the extra command character directly instead of using the 7366 stuff buffer and call ex_close() directly. 7367Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, 7368 src/proto/window.pro, src/window.c 7369 7370Patch 6.1.142 7371Problem: Defining paragraphs without a separating blank line isn't 7372 possible. Paragraphs can't be formatted automatically. 7373Solution: Allow defining paragraphs with lines that end in white space. 7374 Added the 'w' and 'a' flags in 'formatoptions'. 7375Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c, 7376 src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro, 7377 src/vim.h 7378 7379Patch 6.1.143 (depends on 6.1.142) 7380Problem: Auto formatting near the end of the file moves the cursor to a 7381 wrong position. In Insert mode some lines are made one char too 7382 narrow. When deleting a line undo might not always work properly. 7383Solution: Don't always move to the end of the line in the last line. Don't 7384 position the cursor past the end of the line in Insert mode. 7385 After deleting a line save the cursor line for undo. 7386Files: src/edit.c, src/ops.c, src/normal.c 7387 7388Patch 6.1.144 7389Problem: Obtaining the size of a line in screen characters can be wrong. 7390 A pointer may wrap around zero. 7391Solution: In win_linetabsize() check for a MAXCOL length argument. (Jim 7392 Dunleavy) 7393Files: src/charset.c 7394 7395Patch 6.1.145 7396Problem: GTK: Drag&drop with more than 3 files may cause a crash. (Mickael 7397 Marchand) 7398Solution: Rewrite the code that parses the received list of files to be more 7399 robust. 7400Files: src/charset.c, src/gui_gtk_x11.c 7401 7402Patch 6.1.146 7403Problem: MS-Windows: When $HOME is constructed from $HOMEDRIVE and 7404 $HOMEPATH, it is not used for storing the _viminfo file. (Normal 7405 Diamond) 7406Solution: Set $HOME with the value obtained from $HOMEDRIVE and $HOMEPATH. 7407Files: src/misc1.c 7408 7409Patch 6.1.147 (extra) 7410Problem: MS-Windows: When a dialog has no default button, pressing Enter 7411 ends it anyway and all buttons are selected. 7412Solution: Don't end a dialog when there is no default button. Don't select 7413 all button when there is no default. (Vince Negri) 7414Files: src/gui_w32.c 7415 7416Patch 6.1.148 (extra) 7417Problem: MS-Windows: ACL is not properly supported. 7418Solution: Add an access() replacement that also works for ACL. (Mike 7419 Williams) 7420Files: runtime/doc/editing.txt, src/os_win32.c 7421 7422Patch 6.1.149 (extra) 7423Problem: MS-Windows: Can't use diff mode from the file explorer. 7424Solution: Add a "diff with Vim" context menu entry. (Dan Sharp) 7425Files: GvimExt/gvimext.cpp, GvimExt/gvimext.h 7426 7427Patch 6.1.150 7428Problem: OS/2, MS-Windows and MS-DOS: When 'shellslash' is set getcwd() 7429 still uses backslash. (Yegappan Lakshmanan) 7430Solution: Adjust slashes in getcwd(). 7431Files: src/eval.c 7432 7433Patch 6.1.151 (extra) 7434Problem: Win32: The NTFS substream isn't copied. 7435Solution: Copy the substream when making a backup copy. (Muraoka Taro) 7436Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro 7437 7438Patch 6.1.152 7439Problem: When $LANG is iso8859-1 translated menus are not used. 7440Solution: Change iso8859 to iso_8859. 7441Files: runtime/menu.vim 7442 7443Patch 6.1.153 7444Problem: Searching in included files may search recursively when the path 7445 starts with "../". (Sven Berkvens-Matthijsse) 7446Solution: Compare full file names, use inode/device when possible. 7447Files: src/search.c 7448 7449Patch 6.1.154 (extra) 7450Problem: DJGPP: "vim -h" leaves the cursor in a wrong position. 7451Solution: Don't position the cursor using uninitialized variables. (Jim 7452 Dunleavy) 7453Files: src/os_msdos.c 7454 7455Patch 6.1.155 7456Problem: Win32: Cursor may sometimes disappear in Insert mode. 7457Solution: Change "hor10" in 'guicursor' to "hor15". (Walter Briscoe) 7458Files: src/option.c 7459 7460Patch 6.1.156 7461Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly. 7462Solution: Clean up a few things. 7463Files: src/mbyte.c, src/structs.h 7464 7465Patch 6.1.157 7466Problem: 'hlsearch' highlights only the second comma in ",,,,," with 7467 "/,\@<=[^,]*". (Preben Guldberg) 7468Solution: Also check for an empty match to start just after a previous 7469 match. 7470Files: src/screen.c 7471 7472Patch 6.1.158 7473Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1". 7474 (Preben Guldberg) 7475Solution: Take 'siso' into account when computing the horizontal scroll 7476 position for "zs" and "ze". 7477Files: src/normal.c 7478 7479Patch 6.1.159 7480Problem: When expanding an abbreviation that includes a multi-byte 7481 character too many characters are deleted. (Andrey Urazov) 7482Solution: Delete the abbreviation counting characters instead of bytes. 7483Files: src/getchar.c 7484 7485Patch 6.1.160 7486Problem: ":$read file.gz" doesn't work. (Preben Guldberg) 7487Solution: Don't use the '[ mark after it has become invalid. 7488Files: runtime/plugin/gzip.vim 7489 7490Patch 6.1.161 (depends on 6.1.158) 7491Problem: Warning for signed/unsigned compare. Can set 'siso' to a negative 7492 value. (Mike Williams) 7493Solution: Add a typecast. Add a check for 'siso' being negative. 7494Files: src/normal.c, src/option.c 7495 7496Patch 6.1.162 7497Problem: Python interface: Didn't initialize threads properly. 7498Solution: Call PyEval_InitThreads() when starting up. 7499Files: src/if_python.c 7500 7501Patch 6.1.163 7502Problem: Win32: Can't compile with Python after 6.1.162. 7503Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp) 7504Files: src/if_python.c 7505 7506Patch 6.1.164 7507Problem: If 'modifiable' is off, converting to xxd fails and 'filetype' is 7508 changed to "xxd" anyway. 7509Solution: Don't change 'filetype' when conversion failed. 7510Files: runtime/menu.vim 7511 7512Patch 6.1.165 7513Problem: Making changes in several lines and then a change in one of these 7514 lines that splits it in two or more lines, undo information was 7515 corrupted. May cause a crash. (Dave Fishburn) 7516Solution: When skipping to save a line for undo because it was already 7517 saved, move it to become the last saved line, so that when the 7518 command changes the line count other saved lines are not involved. 7519Files: src/undo.c 7520 7521Patch 6.1.166 7522Problem: When 'autoindent' is set and mswin.vim has been sourced, pasting 7523 with CTRL-V just after auto-indenting removes the indent. (Shlomi 7524 Fish) 7525Solution: First insert an "x" and delete it again, so that the auto-indent 7526 remains. 7527Files: runtime/mswin.vim 7528 7529Patch 6.1.167 7530Problem: When giving a negative argument to ":retab" strange things start 7531 happening. (Hans Ginzel) 7532Solution: Check for a negative value. 7533Files: src/ex_cmds.c 7534 7535Patch 6.1.168 7536Problem: Pressing CTRL-C at the hit-enter prompt doesn't end the prompt. 7537Solution: Make CTRL-C stop the hit-enter prompt. 7538Files: src/message.c 7539 7540Patch 6.1.169 7541Problem: bufexists() finds a buffer by using the name of a symbolic link to 7542 it, but bufnr() doesn't. (Yegappan Lakshmanan) 7543Solution: When bufnr() can't find a buffer, try using the same method as 7544 bufexists(). 7545Files: src/eval.c 7546 7547Patch 6.1.170 7548Problem: Using ":mksession" uses the default session file name, but "vim 7549 -S" doesn't. (Hans Ginzel) 7550Solution: Use the default session file name if "-S" is the last command 7551 line argument or another option follows. 7552Files: runtime/doc/starting.txt, src/main.c 7553 7554Patch 6.1.171 7555Problem: When opening a line just above a closed fold with "O" and the 7556 comment leader is automatically inserted, the cursor is displayed 7557 in the first column. (Sung-Hyun Nam) 7558Solution: Update the flag that indicates the cursor is in a closed fold. 7559Files: src/misc1.c 7560 7561Patch 6.1.172 7562Problem: Command line completion of ":tag /pat" does not show the same 7563 results as the tags the command actually finds. (Gilles Roy) 7564Solution: Don't modify the pattern to make it a regexp. 7565Files: src/ex_getln.c, src/tag.c 7566 7567Patch 6.1.173 7568Problem: When using remote control to edit a position in a file and this 7569 file is the current buffer and it's modified, the window is split 7570 and the ":drop" command fails. 7571Solution: Don't split the window, keep editing the same buffer. 7572 Use the ":drop" command in VisVim to avoid the problem there. 7573Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, 7574 VisVim/Commands.cpp 7575 7576Patch 6.1.174 7577Problem: It is difficult to know in a script whether an option not only 7578 exists but really works. 7579Solution: Add "exists('+option')". 7580Files: runtime/doc/eval.txt, src/eval.c 7581 7582Patch 6.1.175 7583Problem: When reading commands from a pipe and a CTRL-C is pressed, Vim 7584 will hang. (Piet Delport) 7585Solution: Don't keep reading characters to clear typeahead when an interrupt 7586 was detected, stop when a single CTRL-C is read. 7587Files: src/getchar.c, src/ui.c 7588 7589Patch 6.1.176 7590Problem: When the stack limit is very big a false out-of-stack error may 7591 be detected. 7592Solution: Add a check for overflow of the stack limit computation. (Jim 7593 Dunleavy) 7594Files: src/os_unix.c 7595 7596Patch 6.1.177 (depends on 6.1.141) 7597Problem: ":wincmd" does not allow a following command. (Gary Johnson) 7598Solution: Check for a following " | cmd". Also give an error for trailing 7599 characters. 7600Files: src/ex_docmd.c 7601 7602Patch 6.1.178 7603Problem: When 'expandtab' is set "r<C-V><Tab>" still expands the Tab. 7604 (Bruce deVisser) 7605Solution: Replace with a literal Tab. 7606Files: src/normal.c 7607 7608Patch 6.1.179 (depends on 6.1.091) 7609Problem: When using X11R5 XIMPreserveState is undefined. (Albert Chin) 7610Solution: Include the missing definitions. 7611Files: src/mbyte.c 7612 7613Patch 6.1.180 7614Problem: Use of the GUI code for forking is inconsistent. 7615Solution: Define MAY_FORK and use it for later #ifdefs. (Ben Fowlwer) 7616Files: src/gui.c 7617 7618Patch 6.1.181 7619Problem: If the terminal doesn't wrap from the last char in a line to the 7620 next line, the last column is blanked out. (Peter Karp) 7621Solution: Don't output a space to mark the wrap, but the same character 7622 again. 7623Files: src/screen.c 7624 7625Patch 6.1.182 (depends on 6.1.142) 7626Problem: It is not possible to auto-format comments only. (Moshe Kaminsky) 7627Solution: When the 'a' and 'c' flags are in 'formatoptions' only auto-format 7628 comments. 7629Files: runtime/doc/change.txt, src/edit.c 7630 7631Patch 6.1.183 7632Problem: When 'fencs' is empty and 'enc' is utf-8, reading a file with 7633 illegal bytes gives "CONVERSION ERROR" even though no conversion 7634 is done. 'readonly' is set, even though writing the file results 7635 in an unmodified file. 7636Solution: For this specific error use "ILLEGAL BYTE" and don't set 7637 'readonly'. 7638Files: src/fileio.c 7639 7640Patch 6.1.184 (extra) 7641Problem: The extra mouse buttons found on some mice don't work. 7642Solution: Support two extra buttons for MS-Windows. (Michael Geddes) 7643Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c, 7644 src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c, 7645 src/misc1.c, src/misc2.c, src/normal.c. src/vim.h 7646 7647Patch 6.1.185 (depends on 6.1.182) 7648Problem: Can't compile without +comments feature. 7649Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson) 7650Files: src/edit.c 7651 7652Patch 6.1.186 (depends on 6.1.177) 7653Problem: ":wincmd" does not allow a following comment. (Aric Blumer) 7654Solution: Check for a following double quote. 7655Files: src/ex_docmd.c 7656 7657Patch 6.1.187 7658Problem: Using ":doarg" with 'hidden' set and the current file is the only 7659 argument and was modified gives an error message. (Preben 7660 Guldberg) 7661Solution: Don't try re-editing the same file. 7662Files: src/ex_cmds2.c 7663 7664Patch 6.1.188 (depends on 6.1.173) 7665Problem: Unused variable in the small version. 7666Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS. 7667Files: src/ex_cmds2.c 7668 7669Patch 6.1.189 7670Problem: inputdialog() doesn't work when 'c' is in 'guioptions'. (Aric 7671 Blumer) 7672Solution: Fall back to the input() function in this situation. 7673Files: src/eval.c 7674 7675Patch 6.1.190 (extra) 7676Problem: VMS: doesn't build with GTK GUI. Various other problems. 7677Solution: Fix building for GTK. Improved Perl, Python and TCL support. 7678 Improved VMS documentation. (Zoltan Arpadffy) 7679 Added Vimtutor for VMS (T. R. Wyant) 7680Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h, 7681 src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms, 7682 src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com, 7683 src/testdir/Make_vms.mms 7684 7685Patch 6.1.191 7686Problem: When using "vim -s script" and redirecting the output, the delay 7687 for the "Output is not to a terminal" warning slows Vim down too 7688 much. 7689Solution: Don't delay when reading commands from a script. 7690Files: src/main.c 7691 7692Patch 6.1.192 7693Problem: ":diffsplit" doesn't add "hor" to 'scrollopt'. (Gary Johnson) 7694Solution: Add "hor" to 'scrollopt' each time ":diffsplit" is used. 7695Files: src/diff.c, src/main.c 7696 7697Patch 6.1.193 7698Problem: Crash in in_id_list() for an item with a "containedin" list. (Dave 7699 Fishburn) 7700Solution: Check for a negative syntax id, used for keywords. 7701Files: src/syntax.c 7702 7703Patch 6.1.194 7704Problem: When "t_ti" is set but it doesn't cause swapping terminal pages, 7705 "ZZ" may cause the shell prompt to appear on top of the file-write 7706 message. 7707Solution: Scroll the text up in the Vim page before swapping to the terminal 7708 page. (Michael Schroeder) 7709Files: src/os_unix.c 7710 7711Patch 6.1.195 7712Problem: The quickfix and preview windows always keep their height, while 7713 other windows can't fix their height. 7714Solution: Add the 'winfixheight' option, so that a fixed height can be 7715 specified for any window. Also fix that the wildmenu may resize a 7716 one-line window to a two-line window if 'ls' is zero. 7717Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c, 7718 src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c, 7719 src/screen.c, src/structs.h, src/window.c 7720 7721Patch 6.1.196 (depends on 6.1.084) 7722Problem: On Mac OS X 10.2 generating osdef.h fails. 7723Solution: Add -no-cpp-precomp to avoid using precompiled header files, which 7724 disables printing the search path. (Ben Fowler) 7725Files: src/auto/configure, src/configure.in 7726 7727Patch 6.1.197 7728Problem: ":help <C-V><C-\><C-V><C-N>" (resulting in <1c><0e>) gives an 7729 error message. (Servatius Brandt) 7730Solution: Double the backslash in "CTRL-\". 7731Files: src/ex_cmds.c 7732 7733Patch 6.1.198 (extra) (depends on 6.1.076) 7734Problem: Mac OS X: Dialogues don't work. 7735Solution: Fix a crashing problem for some GUI dialogues. Fix a problem when 7736 saving to a new file from the GUI. (Peter Cucka) 7737Files: src/feature.h, src/gui_mac.c 7738 7739Patch 6.1.199 7740Problem: 'guifontwide' doesn't work on Win32. 7741Solution: Output each wide character separately. (Michael Geddes) 7742Files: src/gui.c 7743 7744Patch 6.1.200 7745Problem: ":syn sync fromstart" is not skipped after ":if 0". This can make 7746 syntax highlighting very slow. 7747Solution: Check "eap->skip" appropriately. (Rob West) 7748Files: src/syntax.c 7749 7750Patch 6.1.201 (depends on 6.1.192) 7751Problem: Warning for illegal pointer combination. (Zoltan Arpadffy) 7752Solution: Add a typecast. 7753Files: src/diff.c 7754 7755Patch 6.1.202 (extra)(depends on 6.1.148) 7756Problem: Win32: filewritable() doesn't work properly on directories. 7757Solution: fix filewritable(). (Mike Williams) 7758Files: src/os_win32.c 7759 7760Patch 6.1.203 7761Problem: ":%s/~//" causes a crash after ":%s/x//". (Gary Holloway) 7762Solution: Avoid reading past the end of a line when "~" is empty. 7763Files: src/regexp.c 7764 7765Patch 6.1.204 (depends on 6.1.129) 7766Problem: Warning for an illegal pointer on Solaris. 7767Solution: Add a typecast. (Derek Wyatt) 7768Files: src/misc2.c 7769 7770Patch 6.1.205 7771Problem: The gzip plugin changes the alternate file when editing a 7772 compressed file. (Oliver Fuchs) 7773Solution: Temporarily remove the 'a' and 'A' flags from 'cpo'. 7774Files: runtime/plugin/gzip.vim 7775 7776Patch 6.1.206 7777Problem: The script generated with ":mksession" doesn't work properly when 7778 some commands are mapped. 7779Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where 7780 possible. (Muraoka Taro) 7781Files: src/ex_docmd.c, src/fold.c 7782 7783Patch 6.1.207 7784Problem: Indenting a Java file hangs below a line with a comment after a 7785 command. 7786Solution: Break out of a loop. (Andre Pang) 7787 Also line up } with matching {. 7788Files: runtime/indent/java.vim 7789 7790Patch 6.1.208 7791Problem: Can't use the buffer number from the Python interface. 7792Solution: Add buffer.number. (Michal Vitecek) 7793Files: src/if_python.c 7794 7795Patch 6.1.209 7796Problem: Printing doesn't work on Mac OS classic. 7797Solution: Use a ":" for path separator when opening the resource file. (Axel 7798 Kielhorn) 7799Files: src/ex_cmds2.c 7800 7801Patch 6.1.210 7802Problem: When there is an iconv() conversion error when reading a file 7803 there can be an error the next time iconv() is used. 7804Solution: Reset the state of the iconv() descriptor. (Yasuhiro Matsumoto) 7805Files: src/fileio.c 7806 7807Patch 6.1.211 7808Problem: The message "use ! to override" is confusing. 7809Solution: Make it "add ! to override". 7810Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c, 7811 src/globals.h 7812 7813Patch 6.1.212 7814Problem: When Vim was started with "-R" ":new" creates a buffer 7815 'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg) 7816Solution: Don't set 'readonly in a new empty buffer for ":enew". 7817Files: src/ex_docmd.c 7818 7819Patch 6.1.213 7820Problem: Using CTRL-W H may cause a big gap to appear below the last 7821 window. (Aric Blumer) 7822Solution: Don't set the window height when there is a vertical split. 7823 (Yasuhiro Matsumoto) 7824Files: src/window.c 7825 7826Patch 6.1.214 7827Problem: When installing Vim and the runtime files were checked out from 7828 CVS the CVS directories will also be installed. 7829Solution: Avoid installing the CVS dirs and their contents. 7830Files: src/Makefile 7831 7832Patch 6.1.215 7833Problem: Win32: ":pwd" uses backslashes even when 'shellslash' is set. 7834 (Xiangjiang Ma) 7835Solution: Adjust backslashes before printing the message. 7836Files: src/ex_docmd.c 7837 7838Patch 6.1.216 7839Problem: When dynamically loading the iconv library, the error codes may be 7840 confused. 7841Solution: Use specific error codes for iconv and redefine them for dynamic 7842 loading. (Yasuhiro Matsumoto) 7843Files: src/fileio.c, src/mbyte.c, src/vim.h 7844 7845Patch 6.1.217 7846Problem: When sourcing the same Vim script using a different name (symbolic 7847 link or MS-Windows 8.3 name) it is listed twice with 7848 ":scriptnames". (Tony Mechelynck) 7849Solution: Turn the script name into a full path before using it. On Unix 7850 compare inode/device numbers. 7851Files: src/ex_cmds2.c 7852 7853Patch 6.1.218 7854Problem: No error message for using the function argument "5+". (Servatius 7855 Brandt) 7856Solution: Give an error message if a function or variable is expected but is 7857 not found. 7858Files: src/eval.c 7859 7860Patch 6.1.219 7861Problem: When using ":amenu :b 1<CR>" with a Visual selection and 7862 'insertmode' is set, Vim does not return to Insert mode. (Mickael 7863 Marchand) 7864Solution: Add the command CTRL-\ CTRL-G that goes to Insert mode if 7865 'insertmode' is set and to Normal mode otherwise. Append this to 7866 menus defined with ":amenu". 7867Files: src/edit.c, src/ex_getln.c, src/normal.c 7868 7869Patch 6.1.220 7870Problem: When using a BufReadPost autocommand that changes the line count, 7871 e.g., "$-1join", reloading a file that was changed outside Vim 7872 does not work properly. (Alan G Isaac) 7873Solution: Make the buffer empty before reading the new version of the file. 7874 Save the lines in a dummy buffer, so that they can be put back 7875 when reading the file fails. 7876Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h, 7877 src/proto/buffer.pro 7878 7879Patch 6.1.221 7880Problem: Changing case may not work properly, depending on the current 7881 locale. 7882Solution: Add the 'casemap' option to let the user chose how changing case 7883 is to be done. 7884 Also fix lowering case when an UTF-8 character doesn't keep the 7885 same byte length. 7886Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure, 7887 src/buffer.c, src/charset.c, src/config.h.in, src/configure.in, 7888 src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c, 7889 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c 7890 src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc, 7891 src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c, 7892 src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c, 7893 src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h, 7894 src/syntax.c 7895 7896Patch 6.1.222 (depends on 6.1.219) 7897Problem: Patch 6.1.219 was incomplete. 7898Solution: Add the changes for ":amenu". 7899Files: src/menu.c 7900 7901Patch 6.1.223 (extra) 7902Problem: Win32: When IME is activated 'iminsert' is set, but it might never 7903 be reset when IME is disabled. (Muraoka Taro) 7904 All systems: 'iminsert' is set to 2 when leaving Insert mode, even 7905 when langmap is being used. (Peter Valach) 7906Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro) 7907 Don't store the status of the input method in 'iminsert' when 7908 'iminsert' is one. Also for editing the command line and for 7909 arguments to Normal mode commands. 7910Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.c 7911 7912Patch 6.1.224 7913Problem: "expand('$VAR')" returns an empty string when the expanded $VAR 7914 is not an existing file. (Aric Blumer) 7915Solution: Included non-existing files, as documented. 7916Files: src/eval.c 7917 7918Patch 6.1.225 7919Problem: Using <C-O><C-^> in Insert mode has a delay when starting "vim -u 7920 NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses 7921 fileinfo(), the redraw is done after a delay to give the user time 7922 to read the message. 7923Solution: Put the message from fileio() in "keep_msg", so that the redraw is 7924 done before the delay (still needed to avoid the mode message 7925 overwrites the fileinfo() message). 7926Files: src/buffer.c 7927 7928Patch 6.1.226 7929Problem: Using ":debug" with a ":normal" command may cause a hang. (Colin 7930 Keith) 7931Solution: Save the typeahead buffer when obtaining a debug command. 7932Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.pro 7933 7934Patch 6.1.227 7935Problem: It is possible to use a variable name "asdf:asdf" and ":let j:asdf 7936 = 5" does not give an error message. (Mikolaj Machowski) 7937Solution: Check for a ":" inside the variable name. 7938Files: src/eval.c 7939 7940Patch 6.1.228 (extra) 7941Problem: Win32: The special output function for Hangul is used too often, 7942 causing special handling for other situations to be skipped. 7943 bInComposition is always FALSE, causing ImeGetTempComposition() 7944 always to return NULL. 7945Solution: Remove HanExtTextOut(). Delete the dead code around 7946 bInComposition and ImeGetTempComposition(). 7947Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 7948 7949Patch 6.1.229 7950Problem: Win32: Conversion to/from often used codepages requires the iconv 7951 library, which is not always available. 7952Solution: Use standard MS-Windows functions for the conversion when 7953 possible. (mostly by Glenn Maynard) 7954 Also fixes missing declaration for patch 6.1.220. 7955Files: src/fileio.c 7956 7957Patch 6.1.230 (extra) 7958Problem: Win16: building doesn't work. 7959Solution: Exclude the XBUTTON handling. (Vince Negri) 7960Files: src/gui_w48.c 7961 7962Patch 6.1.231 7963Problem: Double clicking with the mouse to select a word does not work for 7964 multi-byte characters. 7965Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword' 7966 is used instead of 'isident'. Also fix that mixing ASCII with 7967 multi-byte word characters doesn't work, the mouse class for 7968 punctuation and word characters was mixed up. 7969Files: src/normal.c 7970 7971Patch 6.1.232 (depends on 6.1.226) 7972Problem: Using ex_normal_busy while it might not be available. (Axel 7973 Kielhorn) 7974Solution: Only use ex_normal_busy when FEAT_EX_EXTRA is defined. 7975Files: src/ex_cmds2.c 7976 7977Patch 6.1.233 7978Problem: ":help expr-||" does not work. 7979Solution: Don't use the '|' as a command separator 7980Files: src/ex_cmds.c 7981 7982Patch 6.1.234 (depends on 6.1.217) 7983Problem: Get a warning for using a negative value for st_dev. 7984Solution: Don't assign a negative value to st_dev. 7985Files: src/ex_cmds2.c 7986 7987Patch 6.1.235 (depends on 6.1.223) 7988Problem: 'iminsert' is changed from 1 to 2 when leaving Insert mode. (Peter 7989 Valach) 7990Solution: Check "State" before resetting it to NORMAL. 7991Files: src/edit.c 7992 7993Patch 6.1.236 7994Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and 7995 when reloading a changed buffer. 7996Solution: Free a line after calling ml_append(). 7997Files: src/diff.c, src/fileio.c 7998 7999Patch 6.1.237 8000Problem: Putting in Visual block mode does not work correctly when "$" was 8001 used or when the first line is short. (Christian Michon) 8002Solution: First delete the selected text and then put the new text. Save 8003 and restore registers as necessary. 8004Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro, 8005 src/vim.h 8006 8007Patch 6.1.238 (extra) 8008Problem: Win32: The "icon=" argument for the ":menu" command does not 8009 search for the bitmap file. 8010Solution: Expand environment variables and search for the bitmap file. 8011 (Vince Negri) 8012 Make it consistent, use the same mechanism for X11 and GTK. 8013Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c, 8014 src/proto/gui.pro 8015 8016Patch 6.1.239 8017Problem: Giving an error for missing :endif or :endwhile when being 8018 interrupted. 8019Solution: Don't give these messages when interrupted. 8020Files: src/ex_docmd.c, src/os_unix.c 8021 8022Patch 6.1.240 (extra) 8023Problem: Win32 with BCC 5: CPU may be defined in the environment, which 8024 causes a wrong argument for the compiler. (Walter Briscoe) 8025Solution: Use CPUNR instead of CPU. 8026Files: src/Make_bc5.mak 8027 8028Patch 6.1.241 8029Problem: Something goes wrong when drawing or undrawing the cursor. 8030Solution: Remember when the cursor invalid in a better way. 8031Files: src/gui.c 8032 8033Patch 6.1.242 8034Problem: When pasting a large number of lines on the command line it is not 8035 possible to interrupt. (Jean Jordaan) 8036Solution: Check for an interrupt after each pasted line. 8037Files: src/ops.c 8038 8039Patch 6.1.243 (extra) 8040Problem: Win32: When the OLE version is started and wasn't registered, a 8041 message pops up to suggest registering, even when this isn't 8042 possible (when the registry is not writable). 8043Solution: Check if registering is possible before asking whether it should 8044 be done. (Walter Briscoe) 8045 Also avoid restarting Vim after registering. 8046Files: src/if_ole.cpp 8047 8048Patch 6.1.244 8049Problem: Patch 6.1.237 was missing the diff for vim.h. (Igor Goldenberg) 8050Solution: Include it here. 8051Files: src/vim.h 8052 8053Patch 6.1.245 8054Problem: Comparing with ignored case does not work properly for Unicode 8055 with a locale where case folding an ASCII character results in a 8056 multi-byte character. (Glenn Maynard) 8057Solution: Handle ignore-case compare for Unicode differently. 8058Files: src/mbyte.c 8059 8060Patch 6.1.246 8061Problem: ":blast" goes to the first buffer if the last one is unlisted. 8062 (Andrew Stryker) 8063Solution: From the last buffer search backwards for the first listed buffer 8064 instead of forwards. 8065Files: src/ex_docmd.c 8066 8067Patch 6.1.247 8068Problem: ACL support doesn't always work properly. 8069Solution: Add a configure argument to disable ACL "--disable-acl". (Thierry 8070 Vignaud) 8071Files: src/auto/configure, src/configure.in 8072 8073Patch 6.1.248 8074Problem: Typing 'q' at the more-prompt for ":let" does not quit the 8075 listing. (Hari Krishna Dara) 8076Solution: Quit the listing when got_int is set. 8077Files: src/eval.c 8078 8079Patch 6.1.249 8080Problem: Can't expand a path on the command line if it includes a "|" as a 8081 trail byte of a multi-byte character. 8082Solution: Check for multi-byte characters. (Yasuhiro Matsumoto) 8083Files: src/ex_docmd.c 8084 8085Patch 6.1.250 8086Problem: When changing the value of 'lines' inside the expression set with 8087 'diffexpr' Vim might crash. (Dave Fishburn) 8088Solution: Don't allow changing the screen size while updating the screen. 8089Files: src/globals.h, src/option.c, src/screen.c 8090 8091Patch 6.1.251 8092Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd". 8093Solution: Expand directory names for these commands. (Servatius Brandt) 8094Files: src/ex_docmd.c 8095 8096Patch 6.1.252 8097Problem: "vi}" does not include a line break when the "}" is at the start 8098 of a following line. (Kamil Burzynski) 8099Solution: Include the line break. 8100Files: src/search.c 8101 8102Patch 6.1.253 (extra) 8103Problem: Win32 with Cygwin: Changes the path of arguments in a wrong way. 8104 (Xiangjiang Ma) 8105Solution: Don't use cygwin_conv_to_posix_path() for the Win32 version. 8106 Update the Cygwin makefile to support more features. (Dan Sharp) 8107Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.c 8108 8109Patch 6.1.254 8110Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work. 8111 ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work. 8112 ":delfunc F{" does not give an error message. ':delfunc F{"F"}' 8113 does not work. 8114Solution: Support magic braces for the exists() argument. (Vince Negri) 8115 Check for trailing comments explicitly for ":unlet". Add support 8116 for magic braces in further arguments of ":let". Look for a 8117 parenthesis only after the function name. (Servatius Brandt) 8118 Also expand magic braces for "exists('*expr')". Give an error 8119 message for an invalid ":delfunc" argument. Allow quotes in the 8120 ":delfunc" argument. 8121Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c 8122 8123Patch 6.1.255 (depends on 6.1.254) 8124Problem: Crash when loading menu.vim a second time. (Christian Robinson) 8125 ":unlet garbage foo" tries unletting "foo" after an error message. 8126 (Servatius Brandt) 8127 Very long function arguments cause very long messages when 8128 'verbose' is 14 or higher. 8129Solution: Avoid reading from uninitialized memory. 8130 Break out of a loop after an invalid argument for ":unlet". 8131 Truncate long function arguments to 80 characters. 8132Files: src/eval.c 8133 8134Patch 6.1.256 (depends on 6.1.255) 8135Problem: Defining a function after ":if 0" could still cause an error 8136 message for an existing function. 8137 Leaking memory when there are trailing characters for ":delfunc". 8138Solution: Check the "skip" flag. Free the memory. (Servatius Brandt) 8139Files: src/eval.c 8140 8141Patch 6.1.257 8142Problem: ":cwindow" always sets the previous window to the last but one 8143 window. (Benji Fisher) 8144Solution: Set the previous window properly. 8145Files: src/globals.c, src/quickfix.c, src/window.c 8146 8147Patch 6.1.258 8148Problem: Buffers menu doesn't work properly for multibyte buffer names. 8149Solution: Use a pattern to get the left and right part of the name. 8150 (Yasuhiro Matsumoto) 8151Files: runtime/menu.vim 8152 8153Patch 6.1.259 (extra) 8154Problem: Mac: with 'patchmode' is used filenames are truncated. 8155Solution: Increase the BASENAMELEN for Mac OS X. (Ed Ralston) 8156Files: src/os_mac.h 8157 8158Patch 6.1.260 (depends on 6.1.104) 8159Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El) 8160Solution: Use the same configure check as used for GCC 3.1. 8161Files: src/auto/configure, src/configure.in 8162 8163Patch 6.1.261 8164Problem: When deleting a line in a buffer which is not the current buffer, 8165 using the Perl interface Delete(), the cursor in the current 8166 window may move. (Chris Houser) 8167Solution: Don't adjust the cursor position when changing another buffer. 8168Files: src/if_perl.xs 8169 8170Patch 6.1.262 8171Problem: When jumping over folds with "z[", "zj" and "zk" the previous 8172 position is not remembered. (Hari Krishna Dara) 8173Solution: Set the previous context mark before jumping. 8174Files: src/fold.c 8175 8176Patch 6.1.263 8177Problem: When typing a multi-byte character that triggers an abbreviation 8178 it is not inserted properly. 8179Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto) 8180Files: src/getchar.c 8181 8182Patch 6.1.264 (depends on patch 6.1.254) 8183Problem: exists() does not work for built-in functions. (Steve Wall) 8184Solution: Don't check for the function name to start with a capital. 8185Files: src/eval.c 8186 8187Patch 6.1.265 8188Problem: libcall() can be used in 'foldexpr' to call any system function. 8189 rename(), delete() and remote_send() can also be used in 8190 'foldexpr'. These are security problems. (Georgi Guninski) 8191Solution: Don't allow using libcall(), rename(), delete(), remote_send() and 8192 similar functions in the sandbox. 8193Files: src/eval.c 8194 8195Patch 6.1.266 (depends on 6.1.265) 8196Problem: Win32: compile error in eval.c. (Bill McCarthy) 8197Solution: Move a variable declaration. 8198Files: src/eval.c 8199 8200Patch 6.1.267 8201Problem: Using "p" to paste into a Visual selected area may cause a crash. 8202Solution: Allocate enough memory for saving the register contents. (Muraoka 8203 Taro) 8204Files: src/ops.c 8205 8206Patch 6.1.268 8207Problem: When triggering an abbreviation with a multi-byte character, this 8208 character is not correctly inserted after expanding the 8209 abbreviation. (Taro Muraoka) 8210Solution: Add ABBR_OFF to all characters above 0xff. 8211Files: src/edit.c, src/ex_getln.c, src/getchar.c 8212 8213Patch 6.1.269 8214Problem: After using input() text written with ":redir" gets extra indent. 8215 (David Fishburn) 8216Solution: Restore msg_col after using input(). 8217Files: src/ex_getln.c 8218 8219Patch 6.1.270 (depends on 6.1.260) 8220Problem: GCC 3.2.1 still seems to have an optimizer problem. 8221Solution: Use the same configure check as used for GCC 3.1. 8222Files: src/auto/configure, src/configure.in 8223 8224Patch 6.1.271 8225Problem: When compiling without the +syntax feature there are errors. 8226Solution: Don't use some code for syntax highlighting. (Roger Cornelius) 8227 Make test 45 work without syntax highlighting. 8228 Also fix an error in a pattern matching: "\%(" was not supported. 8229Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.in 8230 8231Patch 6.1.272 8232Problem: After using ":set define<" a crash may happen. (Christian Robinson) 8233Solution: Make a copy of the option value in allocated memory. 8234Files: src/option.c 8235 8236Patch 6.1.273 8237Problem: When the cursor doesn't blink, redrawing an exposed area may hide 8238 the cursor. 8239Solution: Always draw the cursor, also when it didn't move. (Muraoka Taro) 8240Files: src/gui.c 8241 8242Patch 6.1.274 (depends on 6.1.210) 8243Problem: Resetting the iconv() state after each error is wrong for an 8244 incomplete sequence. 8245Solution: Don't reset the iconv() state. 8246Files: src/fileio.c 8247 8248Patch 6.1.275 8249Problem: When using "v" in a startup script, get warning message that 8250 terminal cannot highlight. (Charles Campbell) 8251Solution: Only give the message after the terminal has been initialized. 8252Files: src/normal.c 8253 8254Patch 6.1.276 8255Problem: "gvim --remote file" doesn't prompt for an encryption key. 8256Solution: The further characters the client sends to the server are used. 8257 Added inputsave() and inputrestore() to allow prompting the 8258 user directly and not using typeahead. 8259 Also fix possible memory leak for ":normal". 8260Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, 8261 src/main.c, src/proto/getchar.pro, src/proto/ui.pro, 8262 src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.h 8263 8264Patch 6.1.277 (depends on 6.1.276) 8265Problem: Compilation error when building with small features. 8266Solution: Define trash_input_buf() when needed. (Kelvin Lee) 8267Files: src/ui.c 8268 8269Patch 6.1.278 8270Problem: When using signs the line number of a closed fold doesn't line up 8271 with the other line numbers. (Kamil Burzynski) 8272Solution: Insert two spaces for the sign column. 8273Files: src/screen.c 8274 8275Patch 6.1.279 8276Problem: The prototype for smsg() and smsg_attr() do not match the function 8277 definition. This may cause trouble for some compilers. (Nix) 8278Solution: Use va_list for systems that have stdarg.h. Use "int" instead of 8279 "void" for the return type. 8280Files: src/auto/configure, src/config.h.in, src/configure.in, 8281 src/proto.h, src/message.c 8282 8283Patch 6.1.280 8284Problem: It's possible to use an argument "firstline" or "lastline" for a 8285 function but using "a:firstline" or "a:lastline" in the function 8286 won't work. (Benji Fisher) 8287Solution: Give an error message for these arguments. 8288 Also avoid that the following function body causes a whole row of 8289 errors, skip over it after an error in the first line. 8290Files: src/eval.c 8291 8292Patch 6.1.281 8293Problem: In Insert mode CTRL-X CTRL-G leaves the cursor after the ruler. 8294Solution: Set the cursor position before waiting for the argument of CTRL-G. 8295 (Yasuhiro Matsumoto) 8296Files: src/edit.c 8297 8298Patch 6.1.282 8299Problem: Elvis uses "se" in a modeline, Vim doesn't recognize this. 8300Solution: Also accept "se " where "set " is accepted in a modeline. 8301 (Yasuhiro Matsumoto) 8302Files: src/buffer.c 8303 8304Patch 6.1.283 8305Problem: For ":sign" the icon file name cannot contain a space. 8306Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto) 8307Files: src/ex_cmds.c 8308 8309Patch 6.1.284 8310Problem: On Solaris there is a warning for "struct utimbuf". 8311Solution: Move including "utime.h" to outside the function. (Derek Wyatt) 8312Files: src/fileio.c 8313 8314Patch 6.1.285 8315Problem: Can't wipe out a buffer with 'bufhide' option. 8316Solution: Add "wipe" value to 'bufhide'. (Yegappan Lakshmanan) 8317Files: runtime/doc/options.txt, src/buffer.c, src/option.c, 8318 src/quickfix.c 8319 8320Patch 6.1.286 8321Problem: 'showbreak' cannot contain multi-byte characters. 8322Solution: Allow using all printable characters for 'showbreak'. 8323Files: src/charset.c, src/move.c, src/option.c 8324 8325Patch 6.1.287 (depends on 6.1.285) 8326Problem: Effect of "delete" and "wipe" in 'bufhide' were mixed up. 8327Solution: Wipe out when wiping out is asked for. 8328Files: src/buffer.c 8329 8330Patch 6.1.288 8331Problem: ":silent function F" hangs. (Hari Krishna Dara) 8332Solution: Don't use msg_col, it is not incremented when using ":silent". 8333 Also made the function output look a bit better. Don't translate 8334 "function". 8335Files: src/eval.c 8336 8337Patch 6.1.289 (depends on 6.1.278) 8338Problem: Compiler warning for pointer. (Axel Kielhorn) 8339Solution: Add a typecast for " ". 8340Files: src/screen.c 8341 8342Patch 6.1.290 (extra) 8343Problem: Truncating long text for message box may break multi-byte 8344 character. 8345Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto) 8346Files: src/os_mswin.c 8347 8348Patch 6.1.291 (extra) 8349Problem: Win32: CTRL-@ doesn't work. Don't even get a message for it. 8350Solution: Recognize the keycode for CTRL-@. (Yasuhiro Matsumoto) 8351Files: src/gui_w48.c 8352 8353Patch 6.1.292 (extra, depends on 6.1.253) 8354Problem: Win32: Can't compile with new MingW compiler. 8355 Borland 5 makefile doesn't generate pathdef.c. 8356Solution: Remove -wwide-multiply argument. (Rene de Zwart) 8357 Various fixes for other problems in Win32 makefiles. (Dan Sharp) 8358Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, 8359 src/Make_mvc.mak 8360 8361Patch 6.1.293 8362Problem: byte2line() returns a wrong result for some values. 8363Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith) 8364 Add one to the line number when at the end of a block. 8365Files: src/memline.c 8366 8367Patch 6.1.294 8368Problem: Can't include a multi-byte character in a string by its hex value. 8369 (Benji Fisher) 8370Solution: Add "\u....": a character specified with up to four hex numbers 8371 and stored according to the value of 'encoding'. 8372Files: src/eval.c 8373 8374Patch 6.1.295 (extra) 8375Problem: Processing the cs.po file generates an error. (Rahul Agrawal) 8376Solution: Fix the printf format characters in the translation. 8377Files: src/po/cs.po 8378 8379Patch 6.1.296 8380Problem: Win32: When cancelling the font dialog 'guifont' remains set to 8381 "*". 8382Solution: Restore the old value of 'guifont' (Yasuhiro Matsumoto) 8383Files: src/option.c 8384 8385Patch 6.1.297 8386Problem: "make test" fails in test6 in an UTF-8 environment. (Benji Fisher) 8387Solution: Before executing the BufReadPost autocommands save the current 8388 fileencoding, so that the file isn't marked changed. 8389Files: src/fileio.c 8390 8391Patch 6.1.298 8392Problem: When using signs and the first line of a closed fold has a sign 8393 it can be redrawn as if the fold was open. (Kamil Burzynski) 8394Solution: Don't redraw a sign inside a closed fold. 8395Files: src/screen.c 8396 8397Patch 6.1.299 8398Problem: ":edit +set\ ro file" doesn't work. 8399Solution: Halve the number of backslashes in the "+cmd" argument. 8400Files: src/ex_docmd.c 8401 8402Patch 6.1.300 (extra) 8403Problem: Handling of ETO_IGNORELANGUAGE is confusing. 8404Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard) 8405Files: src/gui_w32.c 8406 8407Patch 6.1.301 (extra) 8408Problem: French translation of file-save dialog doesn't show file name. 8409Solution: Insert a star in the printf string. (Francois Terrot) 8410Files: src/po/fr.po 8411 8412Patch 6.1.302 8413Problem: Counting lines of the Visual area is incorrect for closed folds. 8414 (Mikolaj Machowski) 8415Solution: Correct the start and end for the closed fold. 8416Files: src/normal.c 8417 8418Patch 6.1.303 (extra) 8419Problem: The Top/Bottom/All text does not always fit in the ruler when 8420 translated to Japanese. Problem with a character being wider when 8421 in a bold font. 8422Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro 8423 Matsumoto) 8424Files: src/gui_w32.c 8425 8426Patch 6.1.304 (extra, depends on 6.1.292) 8427Problem: Win32: Postscript is always enabled in the MingW Makefile. 8428 Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro 8429 Matsumoto) 8430Solution: Change an ifdef to an ifeq. (Madoka Machitani) 8431 Use the Borland make redirection to generate pathdef.c. (Maurice 8432 Barnum) 8433Files: src/Make_bc5.mak, src/Make_ming.mak 8434 8435Patch 6.1.305 8436Problem: When 'verbose' is 14 or higher, a function call may cause reading 8437 uninitialized data. (Walter Briscoe) 8438Solution: Check for end-of-string in trunc_string(). 8439Files: src/message.c 8440 8441Patch 6.1.306 8442Problem: The AIX VisualAge cc compiler doesn't define __STDC__. 8443Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee) 8444Files: src/os_unix.h 8445 8446Patch 6.1.307 8447Problem: When a double-byte character has an illegal tail byte the display 8448 is messed up. (Yasuhiro Matsumoto) 8449Solution: Draw "XX" instead of the wrong character. 8450Files: src/screen.c 8451 8452Patch 6.1.308 8453Problem: Can't reset the Visual mode returned by visualmode(). 8454Solution: Use an optional argument to visualmode(). (Charles Campbell) 8455Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, 8456 src/structs.h 8457 8458Patch 6.1.309 8459Problem: The tutor doesn't select German if the locale name is 8460 "German_Germany.1252". (Joachim Hofmann) 8461Solution: Check for "German" in the locale name. Also check for 8462 ".ge". And include the German and Greek tutors. 8463Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim, 8464 runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737 8465 8466Patch 6.1.310 (depends on 6.1.307) 8467Problem: All double-byte characters are displayed as "XX". 8468Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto) 8469Files: src/screen.c 8470 8471Patch 6.1.311 (extra) 8472Problem: VMS: path in window title doesn't include necessary separator. 8473 file version doesn't always work properly with Unix. 8474 Crashes because of memory overwrite in GUI. 8475 Didn't always handle files with lowercase and correct path. 8476Solution: Fix the problems. Remove unnecessary file name translations. 8477 (Zoltan Arpadffy) 8478Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, 8479 src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.c 8480 8481Patch 6.1.312 8482Problem: When using ":silent" debugging is also done silently. 8483Solution: Disable silence while at the debug prompt. 8484Files: src/ex_cmds2.c 8485 8486Patch 6.1.313 8487Problem: When a ":drop fname" command is used and "fname" is open in 8488 another window, it is also opened in the current window. 8489Solution: Change to the window with "fname" instead. 8490 Don't redefine the argument list when dropping only one file. 8491Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c, 8492 src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro 8493 8494Patch 6.1.314 (depends on 6.1.126) 8495Problem: Missing backslash in "Generic Config file" syntax menu. 8496Solution: Insert the backslash. (Zak Beck) 8497Files: runtime/makemenu.vim, runtime/synmenu.vim 8498 8499Patch 6.1.315 (extra) 8500Problem: A very long hostname may lead to an unterminated string. Failing 8501 to obtain a hostname may result in garbage. (Walter Briscoe) 8502Solution: Add a NUL at the end of the hostname buffer. 8503Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c, 8504 src/os_win32.c 8505 8506Patch 6.1.316 8507Problem: When exiting with "wq" and there is a hidden buffer, after the 8508 "file changed" dialog there is a warning for a changed buffer. 8509 (Ajit Thakkar) 8510Solution: Do update the buffer timestamps when exiting. 8511Files: src/fileio.c 8512 8513Patch 6.1.317 8514Problem: Closing a window may cause some of the remaining windows to be 8515 positioned wrong if there is a mix of horizontal and vertical 8516 splits. (Stefan Ingi Valdimarsson) 8517Solution: Update the frame sizes before updating the window positions. 8518Files: src/window.c 8519 8520Patch 6.1.318 8521Problem: auto/pathdef.c can include wrong quotes when a compiler flag 8522 includes quotes. 8523Solution: Put a backslash before the quotes in compiler flags. (Shinra Aida) 8524Files: src/Makefile 8525 8526Patch 6.1.319 (depends on 6.1.276) 8527Problem: Using "--remote +cmd file" does not execute "cmd". 8528Solution: Call inputrestore() in the same command line as inputsave(), 8529 otherwise it will never get executed. 8530Files: src/main.c 8531 8532Patch 6.1.320 (depends on 6.1.313) 8533Problem: When a ":drop one\ file" command is used the file "one\ file" is 8534 opened, the backslash is not removed. (Taro Muraoka) 8535Solution: Handle backslashes correctly. Always set the argument list to 8536 keep it simple. 8537Files: runtime/doc/windows.txt, src/ex_cmds.c 8538 8539Patch 6.1.321 8540Problem: When 'mouse' includes 'n' but not 'v', don't allow starting Visual 8541 mode with the mouse. 8542Solution: Don't use MOUSE_MAY_VIS when there is no 'v' in 'mouse'. (Flemming 8543 Madsen) 8544Files: src/normal.c 8545 8546Patch 6.1.322 (extra, depends on 6.1.315) 8547Problem: Win32: The host name is always "PC " plus the real host name. 8548Solution: Don't insert "PC " before the host name. 8549Files: src/os_win32.c 8550 8551Patch 6.1.323 8552Problem: ":registers" doesn't stop listing for a "q" at the more prompt. 8553 (Hari Krishna Dara) 8554Solution: Check for interrupt and got_int. 8555Files: src/ops.c, src/proto/ops.pro 8556 8557Patch 6.1.324 8558Problem: Crash when dragging a vertical separator when <LeftMouse> is 8559 remapped to jump to another window. 8560Solution: Pass the window pointer to the function doing the dragging instead 8561 of always using the current window. (Daniel Elstner) 8562 Also fix that starting a drag changes window focus. 8563Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h, 8564 src/window.c 8565 8566Patch 6.1.325 8567Problem: Shift-Tab is not automatically recognized in an xterm. 8568Solution: Add <Esc>[Z as the termcap code. (Andrew Pimlott) 8569Files: src/term.c 8570 8571Patch 6.1.326 8572Problem: Using a search pattern may read from uninitialized data (Yasuhiro 8573 Matsumoto) 8574Solution: Initialize pointers to NULL. 8575Files: src/regexp.c 8576 8577Patch 6.1.327 8578Problem: When opening the "mbyte.txt" help file the utf-8 characters are 8579 unreadable, because the fileencoding is forced to be latin1. 8580Solution: Check for utf-8 encoding first in help files. (Daniel Elstner) 8581Files: runtime/doc/mbyte.txt, src/fileio.c 8582 8583Patch 6.1.328 8584Problem: Prototype for enc_canon_search() is missing. 8585Solution: Add the prototype. (Walter Briscoe) 8586Files: src/mbyte.c 8587 8588Patch 6.1.329 8589Problem: When editing a file "a b c" replacing "%" in ":Cmd %" or ":next %" 8590 does not work properly. (Hari Krishna Dara) 8591Solution: Always escape spaces when expanding "%". Don't split argument for 8592 <f-args> in a user command when only one argument is used. 8593Files: src/ex_docmd.c 8594 8595Patch 6.1.330 8596Problem: GTK, Motif and Athena: Keypad keys produce the same code as 8597 non-keypad keys, making it impossible to map them separately. 8598Solution: Use different termcap codes for the keypad keys. (Neil Bird) 8599Files: src/gui_gtk_x11.c, src/gui_x11.c 8600 8601Patch 6.1.331 8602Problem: When translating the help files, "LOCAL ADDITIONS" no longer marks 8603 the spot where help files from plugins are to be listed. 8604Solution: Add a "local-additions" tag and use that to find the right spot. 8605Files: runtime/doc/help.txt, src/ex_cmds.c 8606 8607Patch 6.1.332 (extra) 8608Problem: Win32: Loading Perl dynamically doesn't work with Perl 5.8. 8609 Perl 5.8 also does not work with Cygwin and Ming. 8610Solution: Adjust the function calls. (Taro Muraoka) 8611 Adjust the cyg and ming makefiles. (Dan Sharp) 8612Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, 8613 src/if_perl.xs 8614 8615Patch 6.1.333 (extra) 8616Problem: Win32: Can't handle Unicode text on the clipboard. 8617 Can't pass NUL byte, it becomes a line break. (Bruce DeVisser) 8618Solution: Support Unicode for the clipboard (Ron Aaron and Glenn Maynard) 8619 Also support copy/paste of NUL bytes. 8620Files: src/os_mswin.c, src/os_win16.c src/os_win32.c 8621 8622Patch 6.1.334 (extra, depends on 6.1.303) 8623Problem: Problem with drawing Hebrew characters. 8624Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto) 8625Files: src/gui_w32.c 8626 8627Patch 6.1.335 (extra) 8628Problem: Failure of obtaining the cursor position and window size is 8629 ignored. 8630Solution: Remove a semicolon after an "if". (Walter Briscoe) 8631Files: src/gui_w32.c 8632 8633Patch 6.1.336 (extra) 8634Problem: Warning for use of function prototypes of smsg(). 8635Solution: Define HAVE_STDARG_H. (Walter Briscoe) 8636Files: src/os_win32.h 8637 8638Patch 6.1.337 8639Problem: When using "finish" in debug mode in function B() for ":call 8640 A(B())" does not stop after B() is finished. 8641Solution: Increase debug_level while evaluating a function. 8642Files: src/ex_docmd.c 8643 8644Patch 6.1.338 8645Problem: When using a menu that checks out the current file from Insert 8646 mode, there is no warning for the changed file until exiting 8647 Insert mode. (Srikanth Sankaran) 8648Solution: Add a check for need_check_timestamps in the Insert mode loop. 8649Files: src/edit.c 8650 8651Patch 6.1.339 8652Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji 8653 Fisher) 8654Solution: Return "g:var" for global variables when that is what is being 8655 expanded. (Flemming Madsen) 8656Files: src/eval.c 8657 8658Patch 6.1.340 (extra, depends on 6.1.332) 8659Problem: Win32: Can't compile the Perl interface with nmake. 8660Solution: Don't compare the version number as a string but as a number. 8661 (Juergen Kraemer) 8662Files: src/Make_mvc.mak 8663 8664Patch 6.1.341 8665Problem: In Insert mode with 'rightleft' set the cursor is drawn halfway a 8666 double-wide character. For CTRL-R and CTRL-K in Insert mode the " 8667 or ? is not displayed. 8668Solution: Draw the cursor in the next character cell. Display the " or ? 8669 over the right half of the double-wide character. (Yasuhiro 8670 Matsumoto) Also fix that cancelling a digraph doesn't redraw 8671 a double-byte character correctly. 8672Files: src/edit.c, src/gui.c, src/mbyte.c 8673 8674Patch 6.1.342 (depends on 6.1.341) 8675Problem: With 'rightleft' set typing "c" on a double-wide character causes 8676 the cursor to be displayed one cell to the left. 8677Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto) 8678Files: src/gui.c 8679 8680Patch 6.1.343 (depends on 6.1.342) 8681Problem: Cannot compile with the +multi_byte feature but without +rightleft. 8682 Cannot compile without the GUI. 8683Solution: Fix the #ifdefs. (partly by Nam SungHyun) 8684Files: src/gui.c, src/mbyte.c, src/ui.c 8685 8686Patch 6.1.344 8687Problem: When using ":silent filetype" the output is still put in the 8688 message history. (Hari Krishna Dara) 8689Solution: Don't add messages in the history when ":silent" is used. 8690Files: src/message.c 8691 8692Patch 6.1.345 (extra) 8693Problem: Win32: 'imdisable' doesn't work. 8694Solution: Make 'imdisable' work. (Yasuhiro Matsumoto) 8695Files: src/gui_w32.c 8696 8697Patch 6.1.346 8698Problem: The scroll wheel can only scroll the current window. 8699Solution: Make the scroll wheel scroll the window that the mouse points to. 8700 (Daniel Elstner) 8701Files: src/edit.c, src/gui.c, src/normal.c, src/term.c 8702 8703Patch 6.1.347 8704Problem: When using cscope to list matching tags, the listed number is 8705 sometimes not equal to what cscope uses. (Vihren Milev) 8706Solution: For cscope tags use only one table, don't give tags in the current 8707 file a higher priority. 8708Files: src/tag.c 8709 8710Patch 6.1.348 8711Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme 8712 <tab>" results in "zellner" instead of the first entry. (Anand 8713 Hariharan) 8714Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen) 8715Files: src/ex_getln.c 8716 8717Patch 6.1.349 8718Problem: "vim --serverlist" when no server was ever started gives an error 8719 message without "\n". 8720 "vim --serverlist" doesn't exit when the X server can't be 8721 contacted, it starts Vim unexpectedly. (Ricardo Signes) 8722Solution: Don't give an error when no Vim server was ever started. 8723 Treat failing of opening the display equal to errors inside the 8724 remote*() functions. (Flemming Madsen) 8725Files: src/if_xcmdsrv.c, src/main.c 8726 8727Patch 6.1.350 8728Problem: When entering a buffer with ":bnext" for the first time, using an 8729 autocommand to restore the last used cursor position doesn't work. 8730 (Paolo Giarusso) 8731Solution: Don't use the last known cursor position of the current Vim 8732 invocation if an autocommand changed the position. 8733Files: src/buffer.c 8734 8735Patch 6.1.351 (depends on 6.1.349) 8736Problem: Crash when starting Vim the first time in an X server. (John 8737 McGowan) 8738Solution: Don't call xFree() with a fixed string. 8739Files: src/if_xcmdsrv.c 8740 8741Patch 6.1.352 (extra, depends on 6.1.345) 8742Problem: Win32: Crash when setting "imdisable" in _vimrc. 8743Solution: Don't call IME functions when imm32.dll was not loaded (yet). 8744 Also add typecasts to avoid Compiler warnings for 8745 ImmAssociateContext() argument. 8746Files: src/gui_w32.c 8747 8748Patch 6.1.353 (extra, depends on 6.1.334) 8749Problem: Problem with drawing Arabic characters. 8750Solution: Don't use ETO_PDY, do use padding. 8751Files: src/gui_w32.c 8752 8753Patch 6.1.354 (extra, depends on 6.1.333) 8754Problem: MS-Windows 98: Notepad can't paste text copied from Vim when 8755 'encoding' is "utf-8". 8756Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron) 8757Files: src/os_mswin.c 8758 8759Patch 6.1.355 8760Problem: In a regexp '\n' will never match anything in a string. 8761Solution: Make '\n' match a newline character. 8762Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c, 8763 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c, 8764 src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c, 8765 src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.h 8766 8767Patch 6.1.356 (extra, depends on, well, eh, several others) 8768Problem: Compiler warnings for using convert_setup() and a few other 8769 things. 8770Solution: Add typecasts. 8771Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.c 8772 8773Patch 6.1.357 8774Problem: CR in the quickfix window jumps to the error under the cursor, but 8775 this doesn't work in Insert mode. (Srikanth Sankaran) 8776Solution: Handle CR in Insert mode in the quickfix window. 8777Files: src/edit.c 8778 8779Patch 6.1.358 8780Problem: The tutor doesn't select another locale version properly. 8781Solution: Insert the "let" command. (Yasuhiro Matsumoto) 8782Files: runtime/tutor/tutor.vim 8783 8784Patch 6.1.359 (extra) 8785Problem: Mac Carbon: Vim doesn't get focus when started from the command 8786 line. Crash when using horizontal scroll bar. 8787Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka) 8788Files: src/gui_mac.c 8789 8790Patch 6.1.360 (depends on 6.1.341) 8791Problem: In Insert mode CTRL-K ESC messes up a multi-byte character. 8792 (Anders Helmersson) 8793Solution: Save all bytes of a character when displaying a character 8794 temporarily. 8795Files: src/edit.c, src/proto/screen.pro, src/screen.c 8796 8797Patch 6.1.361 8798Problem: Cannot jump to a file mark with ":'M". 8799Solution: Allow jumping to another file for a mark in an Ex address when it 8800 is the only thing in the command line. 8801Files: src/ex_docmd.c 8802 8803Patch 6.1.362 8804Problem: tgetent() may return zero for success. tgetflag() may return -1 8805 for an error. 8806Solution: Check tgetflag() for returning a positive value. Add an autoconf 8807 check for the value that tgetent() returns. 8808Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.c 8809 8810Patch 6.1.363 8811Problem: byte2line() can return one more than the number of lines. 8812Solution: Return -1 if the offset is one byte past the end. 8813Files: src/memline.c 8814 8815Patch 6.1.364 8816Problem: That the FileChangedShell autocommand event never nests makes it 8817 difficult to reload a file in a normal way. 8818Solution: Allow nesting for the FileChangedShell event but do not allow 8819 triggering itself again. 8820 Also avoid autocommands for the cmdline window in rare cases. 8821Files: src/ex_getln.c, src/fileio.c, src/window.c 8822 8823Patch 6.1.365 (depends on 6.1.217) 8824Problem: Setting a breakpoint in a sourced file with a relative path name 8825 doesn't work. (Servatius Brandt) 8826Solution: Expand the file name to a full path. 8827Files: src/ex_cmds2.c 8828 8829Patch 6.1.366 8830Problem: Can't use Vim with Netbeans. 8831Solution: Add the Netbeans interface. Includes support for sign icons and 8832 "-fg" and "-bg" arguments for GTK. Add the 'autochdir' 8833 option. (Gordon Prieur, George Hernandez, Dave Weatherford) 8834 Make it possible to display both a sign with a text and one with 8835 line highlighting in the same line. 8836 Add support for Agide, interface version 2.1. 8837 Also fix that when 'iskeyword' includes '?' the "*" command 8838 doesn't work properly on a word that includes "?" (Bill McCarthy): 8839 Don't escape "?" to "\?" when searching forward. 8840Files: runtime/doc/Makefile, runtime/doc/netbeans.txt, 8841 runtime/doc/options.txt, runtime/doc/various.txt, 8842 src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in, 8843 src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c, 8844 src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, 8845 src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c, 8846 src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c, 8847 src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c, 8848 src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro, 8849 src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro, 8850 src/proto/gui_x11.pro, src/proto/misc2.pro, 8851 src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro, 8852 src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c, 8853 src/vim.h, src/window.c, src/workshop.c 8854 8855Patch 6.1.367 (depends on 6.1.365) 8856Problem: Setting a breakpoint in a function doesn't work. For a sourced 8857 file it doesn't work when symbolic links are involved. (Servatius 8858 Brandt) 8859Solution: Expand the file name in the same way as do_source() does. Don't 8860 prepend the path to a function name. 8861Files: src/ex_cmds2.c 8862 8863Patch 6.1.368 8864Problem: Completion for ":map" does not include <silent> and <script>. 8865 ":mkexrc" do not save the <silent> attribute of mappings. 8866Solution: Add "<silent>" to the generated map commands when appropriate. 8867 (David Elstner) 8868 Add <silent> and <script> to command line completion. 8869Files: src/getchar.c 8870 8871Patch 6.1.369 (extra) 8872Problem: VMS: Vim hangs when attempting to edit a read-only file in the 8873 terminal. Problem with VMS filenames for quickfix. 8874Solution: Rewrite low level input. Remove version number from file name in 8875 a couple more places. Fix crash after patch 6.1.362. Correct 8876 return code for system(). (Zoltan Arpadffy, Tomas Stehlik) 8877Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro, 8878 src/os_vms_conf.h, src/quickfix.c, src/ui.c 8879 8880Patch 6.1.370 8881Problem: #ifdef nesting is unclear. 8882Solution: Insert spaces to indicate the nesting. 8883Files: src/os_unix.c 8884 8885Patch 6.1.371 8886Problem: "%V" in 'statusline' doesn't show "0-1" in an empty line. 8887Solution: Add one to the column when comparing with virtual column (Andrew 8888 Pimlott) 8889Files: src/buffer.c 8890 8891Patch 6.1.372 8892Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe) 8893Solution: Change int into long. 8894Files: src/structs.h, src/syntax.c 8895 8896Patch 6.1.373 8897Problem: The default page header for printing is not translated. 8898Solution: Add _() around the two places where "Page" is used. (Mike 8899 Williams) Translate the default value of the 'titleold' and 8900 'printheader' options. 8901Files: src/ex_cmds2.c, src/option.c 8902 8903Patch 6.1.374 (extra) 8904Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin. 8905Solution: Add makefile and modified resource files. (Rene de Zwart) 8906 Also support Cygwin. (Alejandro Lopez_Valencia) 8907Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile, 8908 GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rc 8909 8910Patch 6.1.375 8911Problem: MS-Windows: ':!dir "%"' does not work for a file name with spaces. 8912 (Xiangjiang Ma) 8913Solution: Don't insert backslashes for spaces in a shell command. 8914Files: src/ex_docmd.c 8915 8916Patch 6.1.376 8917Problem: "vim --version" and "vim --help" have a non-zero exit code. 8918 That is unusual. (Petesea) 8919Solution: Use a zero exit code. 8920Files: src/main.c 8921 8922Patch 6.1.377 8923Problem: Can't add words to 'lispwords' option. 8924Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser) 8925Files: src/option.c 8926 8927Patch 6.1.378 8928Problem: When two buffer-local user commands are ambiguous, a full match 8929 with a global user command isn't found. (Hari Krishna Dara) 8930Solution: Detect this situation and accept the global command. 8931Files: src/ex_docmd.c 8932 8933Patch 6.1.379 8934Problem: Linux with kernel 2.2 can't use the alternate stack in combination 8935 with threading, causes an infinite loop. 8936Solution: Don't use the alternate stack in this situation. 8937Files: src/os_unix.c 8938 8939Patch 6.1.380 8940Problem: When 'winminheight' is zero and the quickfix window is zero lines, 8941 entering the window doesn't make it higher. (Christian J. 8942 Robinson) 8943Solution: Make sure the current window is at least one line high. 8944Files: src/window.c 8945 8946Patch 6.1.381 8947Problem: When a BufWriteCmd is used and it leaves the buffer modified, the 8948 window may still be closed. (Hari Krishna Dara) 8949Solution: Return FAIL from buf_write() when the buffer is still modified 8950 after a BufWriteCmd autocommand was used. 8951Files: src/fileio.c 8952 8953Patch 6.1.382 (extra) 8954Problem: Win32 GUI: When using two monitors, the code that checks/fixes the 8955 window size and position (e.g. when a font changes) doesn't work 8956 properly. (George Reilly) 8957Solution: Handle a double monitor situation. (Helmut Stiegler) 8958Files: src/gui_w32.c 8959 8960Patch 6.1.383 8961Problem: The filling of the status line doesn't work properly for 8962 multi-byte characters. (Nam SungHyun) 8963 There is no check for going past the end of the buffer. 8964Solution: Properly distinguish characters and bytes. Properly check for 8965 running out of buffer space. 8966Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.c 8967 8968Patch 6.1.384 8969Problem: It is not possible to find if a certain patch has been included. 8970 (Lubomir Host) 8971Solution: Support using has() to check if a patch was included. 8972Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro, 8973 src/version.c 8974 8975Patch 6.1.385 (depends on 6.1.383) 8976Problem: Can't compile without the multi-byte feature. 8977Solution: Move an #ifdef. (Christian J. Robinson) 8978Files: src/buffer.c 8979 8980Patch 6.1.386 8981Problem: Get duplicate tags when running ":helptags". 8982Solution: Do the other halve of moving a section to another help file. 8983Files: runtime/tagsrch.txt 8984 8985Patch 6.1.387 (depends on 6.1.373) 8986Problem: Compiler warning for pointer cast. 8987Solution: Add (char_u *). 8988Files: src/option.c 8989 8990Patch 6.1.388 (depends on 6.1.384) 8991Problem: Compiler warning for pointer cast. 8992Solution: Add (char *). Only include has_patch() when used. 8993Files: src/eval.c, src/version.c 8994 8995Patch 6.1.389 (depends on 6.1.366) 8996Problem: Balloon evaluation doesn't work for GTK. 8997 has("balloon_eval") doesn't work. 8998Solution: Add balloon evaluation for GTK. Also improve displaying of signs. 8999 (Daniel Elstner) 9000 Also make ":gui" start the netbeans connection and avoid using 9001 netbeans functions when the connection is not open. 9002Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h, 9003 src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c, 9004 src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c, 9005 src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro, 9006 src/structs.h, src/syntax.c, src/ui.c, src/workshop.c 9007 9008Patch 6.1.390 (depends on 6.1.389) 9009Problem: It's not possible to tell Vim to save and exit through the 9010 Netbeans interface. Would still try to send balloon eval text 9011 after the connection is closed. 9012 Can't use Unicode characters for sign text. 9013Solution: Add functions "saveAndExit" and "getModified". Check for a 9014 working connection before sending a balloonText event. 9015 various other cleanups. 9016 Support any character for sign text. (Daniel Elstner) 9017Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c, 9018 src/netbeans.c, src/screen.c 9019 9020Patch 6.1.391 9021Problem: ml_get() error when using virtualedit. (Charles Campbell) 9022Solution: Get a line from a specific window, not the current one. 9023Files: src/charset.c 9024 9025Patch 6.1.392 (depends on 6.1.383) 9026Problem: Highlighting in the 'statusline' is in the wrong position when an 9027 item is truncated. (Zak Beck) 9028Solution: Correct the start of 'statusline' items properly for a truncated 9029 item. 9030Files: src/buffer.c 9031 9032Patch 6.1.393 9033Problem: When compiled with Python and threads, detaching the terminal may 9034 cause Vim to loop forever. 9035Solution: Add -pthread to $CFLAGS when using Python and gcc. (Daniel 9036 Elstner) 9037Files: src/auto/configure,, src/configure.in 9038 9039Patch 6.1.394 (depends on 6.1.390) 9040Problem: The netbeans interface doesn't recognize multibyte glyph names. 9041Solution: Check the number of cells rather than bytes to decide 9042 whether a glyph name is not a filename. (Daniel Elstner) 9043Files: src/netbeans.c 9044 9045Patch 6.1.395 (extra, depends on 6.1.369) 9046Problem: VMS: OLD_VMS is never defined. Missing function prototype. 9047Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to 9048 os_vms.pro. (Zoltan Arpadffy) 9049Files: src/Make_vms.mms, src/proto/os_vms.pro 9050 9051Patch 6.1.396 (depends on 6.1.330) 9052Problem: Compiler warnings for using enum. 9053Solution: Add typecast to char_u. 9054Files: src/gui_gtk_x11.c, src/gui_x11.c 9055 9056Patch 6.1.397 (extra) 9057Problem: The install program may use a wrong path for the diff command if 9058 there is a space in the install directory path. 9059Solution: Use double quotes around the path if necessary. (Alejandro 9060 Lopez-Valencia) Also use double quotes around the file name 9061 arguments. 9062Files: src/dosinst.c 9063 9064Patch 6.1.398 9065Problem: Saving the typeahead for debug mode causes trouble for a test 9066 script. (Servatius Brandt) 9067Solution: Add the ":debuggreedy" command to avoid saving the typeahead. 9068Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c, 9069 src/ex_docmd.c, src/proto/ex_cmds2.pro 9070 9071Patch 6.1.399 9072Problem: Warning for unused variable. 9073Solution: Remove the variable two_or_more. 9074Files: src/ex_cmds.c 9075 9076Patch 6.1.400 (depends on 6.1.381) 9077Problem: When a BufWriteCmd wipes out the buffer it may still be accessed. 9078Solution: Don't try accessing a buffer that has been wiped out. 9079Files: src/fileio.c 9080 9081Patch 6.1.401 (extra) 9082Problem: Building the Win16 version with Borland 5.01 doesn't work. 9083 "make test" doesn't work with Make_dos.mak. (Walter Briscoe) 9084Solution: Various fixes to the w16 makefile. (Walter Briscoe) 9085 Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp". 9086Files: src/Make_w16.mak, src/testdir/Make_dos.mak 9087 9088Patch 6.1.402 9089Problem: When evaluating a function name with curly braces, an error 9090 is not handled consistently. 9091Solution: Accept the result of an curly braces expression when an 9092 error was encountered. Skip evaluating an expression in curly 9093 braces when skipping. (Servatius Brandt) 9094Files: src/eval.c 9095 9096Patch 6.1.403 (extra) 9097Problem: MS-Windows 16 bit: compiler warnings. 9098Solution: Add typecasts. (Walter Briscoe) 9099Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c, 9100 src/syntax.c 9101 9102Patch 6.1.404 (extra) 9103Problem: Various small problems. 9104Solution: Fix comments. Various small additions, changes in indent, removal 9105 of unused items and fixes. 9106Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim, 9107 src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak, 9108 src/Make_cyg.mak, src/Make_ming.mak, src/Makefile, 9109 src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c, 9110 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, 9111 src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c, 9112 src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c, 9113 src/message.c, src/misc1.c, src/misc2.c, src/normal.c, 9114 src/option.c, src/os_os2_cfg.h, src/os_win32.c, 9115 src/proto/getchar.pro, src/proto/message.pro, 9116 src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c, 9117 src/term.c, src/testdir/test15.in, src/testdir/test15.ok, 9118 src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/Makefile 9119 9120Patch 6.1.405 9121Problem: A few files are missing from the toplevel Makefile. 9122Solution: Add the missing files. 9123Files: Makefile 9124 9125Patch 6.1.406 (depends on 6.1.392) 9126Problem: When a statusline item doesn't fit arbitrary text appears. 9127 (Christian J. Robinson) 9128Solution: When there is just enough room but not for the "<" truncate the 9129 statusline item like there is no room. 9130Files: src/buffer.c 9131 9132Patch 6.1.407 9133Problem: ":set scrollbind | help" scrollbinds the help window. (Andrew 9134 Pimlott) 9135Solution: Reset 'scrollbind' when opening a help window. 9136Files: src/ex_cmds.c 9137 9138Patch 6.1.408 9139Problem: When 'rightleft' is set unprintable character 0x0c is displayed as 9140 ">c0<". 9141Solution: Reverse the text of the hex character. 9142Files: src/screen.c 9143 9144Patch 6.1.409 9145Problem: Generating tags for the help doesn't work for some locales. 9146Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel 9147 Elstner) 9148Files: runtime/doc/Makefile 9149 9150Patch 6.1.410 (depends on 6.1.390) 9151Problem: Linking error when compiling with Netbeans but without sign icons. 9152 (Malte Neumann) 9153Solution: Don't define buf_signcount() when sign icons are unavailable. 9154Files: src/buffer.c 9155 9156Patch 6.1.411 9157Problem: When 'virtualedit' is set, highlighting a Visual block beyond the 9158 end of a line may be wrong. 9159Solution: Correct the virtual column when the end of the line is before the 9160 displayed part of the line. (Muraoka Taro) 9161Files: src/screen.c 9162 9163Patch 6.1.412 9164Problem: When swapping terminal screens and using ":gui" to start the GUI, 9165 the shell prompt may be after a hit-enter prompt. 9166Solution: Output a newline in the terminal when starting the GUI and there 9167 was a hit-enter prompt.. 9168Files: src/gui.c 9169 9170Patch 6.1.413 9171Problem: When 'clipboard' contains "unnamed", "p" in Visual mode doesn't 9172 work correctly. 9173Solution: Save the register before overwriting it and put the resulting text 9174 on the clipboard afterwards. (Muraoka Taro) 9175Files: src/normal.c, src/ops.c 9176 9177Patch 6.1.414 (extra, depends on 6.1.369) 9178Problem: VMS: Vim busy waits when waiting for input. 9179Solution: Delay for a short while before getting another character. (Zoltan 9180 Arpadffy) 9181Files: src/os_vms.c 9182 9183Patch 6.1.415 9184Problem: When there is a vertical split and a quickfix window, reducing the 9185 size of the Vim window may result in a wrong window layout and a 9186 crash. 9187Solution: When reducing the window size and there is not enough space for 9188 'winfixheight' set the frame height to the larger height, so that 9189 there is a retry while ignoring 'winfixheight'. (Yasuhiro 9190 Matsumoto) 9191Files: src/window.c 9192 9193Patch 6.1.416 (depends on 6.1.366) 9194Problem: When using the Netbeans interface, a line with a sign cannot be 9195 changed. 9196Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded 9197 area. 9198Files: src/netbeans.c 9199 9200Patch 6.1.417 9201Problem: Unprintable multi-byte characters are not handled correctly. 9202 Multi-byte characters above 0xffff are displayed as another 9203 character. 9204Solution: Handle unprintable multi-byte characters. Display multi-byte 9205 characters above 0xffff with a marker. Recognize UTF-16 words and 9206 BOM words as unprintable. (Daniel Elstner) 9207Files: src/charset.c, src/mbyte.c, src/screen.c 9208 9209Patch 6.1.418 9210Problem: The result of strftime() is in the current locals. Need to 9211 convert it to 'encoding'. 9212Solution: Obtain the current locale and convert the argument for strftime() 9213 to it and the result back to 'encoding'. (Daniel Elstner) 9214Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c, 9215 src/proto/mbyte.pro, src/option.c, src/os_mswin.c 9216 9217Patch 6.1.419 9218Problem: Vim doesn't compile on AIX 5.1. 9219Solution: Don't define _NO_PROTO on this system. (Uribarri) 9220Files: src/auto/configure, src/configure.in 9221 9222Patch 6.1.420 (extra) 9223Problem: convert_input() has an unnecessary STRLEN(). 9224 Conversion from UCS-2 to a codepage uses word count instead of 9225 byte count. 9226Solution: Remove the STRLEN() call. (Daniel Elstner) 9227 Always use byte count for string_convert(). 9228Files: src/gui_w32.c, src/mbyte.c 9229 9230Patch 6.1.421 (extra, depends on 6.1.354) 9231Problem: MS-Windows 9x: When putting text on the clipboard it can be in 9232 the wrong encoding. 9233Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard) 9234Files: src/os_mswin.c 9235 9236Patch 6.1.422 9237Problem: Error in .vimrc doesn't cause hit-enter prompt when swapping 9238 screens. (Neil Bird) 9239Solution: Set msg_didany also when sending a message to the terminal 9240 directly. 9241Files: src/message.c 9242 9243Patch 6.1.423 9244Problem: Can't find arbitrary text in help files. 9245Solution: Added the ":helpgrep" command. 9246Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, 9247 src/proto/quickfix.pro, src/quickfix.c 9248 9249Patch 6.1.424 (extra) 9250Problem: Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show 9251 menu items. 9252Solution: Define $WINVER to avoid an extra item is added to MENUITEMINFO. 9253 (Muraoka Taro) 9254Files: src/Make_mvc.mak 9255 9256Patch 6.1.425 9257Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag. 9258Solution: Do add the "help-tags" tag for that specific directory. 9259Files: src/ex_cmds.c 9260 9261Patch 6.1.426 9262Problem: "--remote-wait +cmd file" waits forever. (Valery Kondakoff) 9263Solution: Don't wait for the "+cmd" argument to have been edited. 9264Files: src/main.c 9265 9266Patch 6.1.427 9267Problem: Several error messages for regexp patterns are not translated. 9268Solution: Use _() properly. (Muraoka Taro) 9269Files: src/regexp.c 9270 9271Patch 6.1.428 9272Problem: FreeBSD: wait() may hang when compiled with Python support and 9273 doing a system() call in a startup script. 9274Solution: Use waitpid() instead of wait() and poll every 10 msec, just like 9275 what is done in the GUI. 9276Files: src/os_unix.c 9277 9278Patch 6.1.429 (depends on 6.1.390) 9279Problem: Crash when using showmarks.vim plugin. (Charles Campbell) 9280Solution: Check for sign_get_text() returning a NULL pointer. 9281Files: src/screen.c 9282 9283Patch 6.1.430 9284Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai) 9285Solution: Skip over backslashed parens. 9286Files: src/search.c 9287 9288Patch 6.1.431 9289Problem: Debug commands end up in redirected text. 9290Solution: Disable redirection while handling debug commands. 9291Files: src/ex_cmds2.c 9292 9293Patch 6.1.432 (depends on 6.1.375) 9294Problem: MS-Windows: ":make %:p" inserts extra backslashes. (David Rennalls) 9295Solution: Don't add backslashes, handle it like ":!cmd". 9296Files: src/ex_docmd.c 9297 9298Patch 6.1.433 9299Problem: ":popup" only works for Win32. 9300Solution: Add ":popup" support for GTK. (Daniel Elstner) 9301Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c, 9302 src/proto/gui_gtk.pro 9303 9304Patch 6.1.434 (extra) 9305Problem: Win32: When there are more than 32767 lines, the scrollbar has a 9306 roundoff error. 9307Solution: Make a click on an arrow move one line. Also move the code to 9308 gui_w48.c, there is hardly any difference between the 16 bit and 9309 32 bit versions. (Walter Briscoe) 9310Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 9311 9312Patch 6.1.435 9313Problem: ":winsize x" resizes the Vim window to the minimal size. (Andrew 9314 Pimlott) 9315Solution: Give an error message for wrong arguments of ":winsize" and 9316 ":winpos". 9317Files: src/ex_docmd.c 9318 9319Patch 6.1.436 9320Problem: When a long UTF-8 file contains an illegal byte it's hard to find 9321 out where it is. (Ron Aaron) 9322Solution: Add the line number to the error message. 9323Files: src/fileio.c 9324 9325Patch 6.1.437 (extra, depends on 6.1.421) 9326Problem: Using multi-byte functions when they are not available. 9327Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri) 9328 Also fix a pointer type mistake. (Walter Briscoe) 9329Files: src/os_mswin.c 9330 9331Patch 6.1.438 9332Problem: When Perl has thread support Vim cannot use the Perl interface. 9333Solution: Add a configure check and disable Perl when it will not work. 9334 (Aron Griffis) 9335Files: src/auto/configure, src/configure.in 9336 9337Patch 6.1.439 9338Problem: Netbeans: A "create" function doesn't actually create a buffer, 9339 following functions may fail. 9340Solution: Create a Vim buffer without a name when "create" is called. 9341 (Gordon Prieur) 9342Files: runtime/doc/netbeans.txt, src/netbeans.c 9343 9344Patch 6.1.440 9345Problem: The "@*" command doesn't obtain the actual contents of the 9346 clipboard. (Hari Krishna Dara) 9347Solution: Obtain the clipboard text before executing the command. 9348Files: src/ops.c 9349 9350Patch 6.1.441 9351Problem: "zj" and "zk" cannot be used as a motion command after an 9352 operator. (Ralf Hetzel) 9353Solution: Accept these commands as motion commands. 9354Files: src/normal.c 9355 9356Patch 6.1.442 9357Problem: Unicode 3.2 defines more space and punctuation characters. 9358Solution: Add the new characters to the Unicode tables. (Raphael Finkel) 9359Files: src/mbyte.c 9360 9361Patch 6.1.443 (extra) 9362Problem: Win32: The gvimext.dll build with Borland 5.5 requires another 9363 DLL. 9364Solution: Build a statically linked version by default. (Dan Sharp) 9365Files: GvimExt/Make_bc5.mak 9366 9367Patch 6.1.444 (extra) 9368Problem: Win32: Enabling a build with gettext support is not consistent. 9369Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp) 9370Files: src/Make_bc5.mak, src/Make_mvc.mak 9371 9372Patch 6.1.445 (extra) 9373Problem: DJGPP: get warning for argument of putenv() 9374Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe) 9375Files: src/os_msdos.h 9376 9377Patch 6.1.446 (extra) 9378Problem: Win32: The MingW makefile uses a different style of arguments than 9379 other makefiles. 9380 Dynamic IME is not supported for Cygwin. 9381Solution: Use "no" and "yes" style arguments. Remove the use of the 9382 dyn-ming.h include file. (Dan Sharp) 9383 Do not include the ime.h file and adjust the makefile. (Alejandro 9384 Lopez-Valencia) 9385Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c, 9386 src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.c 9387 9388Patch 6.1.447 9389Problem: "make install" uses "make" directly for generating help tags. 9390Solution: Use $(MAKE) instead of "make". (Tim Mooney) 9391Files: src/Makefile 9392 9393Patch 6.1.448 9394Problem: 'titlestring' has a default maximum width of 50 chars per item. 9395Solution: Remove the default maximum (also for 'statusline'). 9396Files: src/buffer.c 9397 9398Patch 6.1.449 9399Problem: When "1" and "a" are in 'formatoptions', auto-formatting always 9400 moves a newly added character to the next line. (Servatius Brandt) 9401Solution: Don't move a single character to the next line when it was just 9402 typed. 9403Files: src/edit.c 9404 9405Patch 6.1.450 9406Problem: Termcap entry "kB" for back-tab is not recognized. 9407Solution: Use back-tab as the shift-tab code. 9408Files: src/keymap.h, src/misc2.c, src/term.c 9409 9410Patch 6.1.451 9411Problem: GUI: When text in the find dialog contains a slash, a backslash is 9412 inserted the next time it is opened. (Mezz) 9413Solution: Remove escaped backslashes and question marks. (Daniel Elstner) 9414Files: src/gui.c 9415 9416Patch 6.1.452 (extra, after 6.1.446) 9417Problem: Win32: IME support doesn't work for MSVC. 9418Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia) 9419Files: src/gui_w32.c 9420 9421Patch 6.1.453 (after 6.1.429) 9422Problem: When compiled without sign icons but with sign support, adding a 9423 sign may cause a crash. 9424Solution: Check for the text sign to exist before using it. (Kamil 9425 Burzynski) 9426Files: src/screen.c 9427 9428Patch 6.1.454 (extra) 9429Problem: Win32: pasting Russian text in Vim with 'enc' set to cp1251 9430 results in utf-8 bytes. (Perelyubskiy) 9431 Conversion from DBCS to UCS2 does not work when 'encoding' is not 9432 the active codepage. 9433Solution: Introduce enc_codepage and use it for conversion to 'encoding' 9434 (Glenn Maynard) 9435 Use MultiByteToWideChar() and WideCharToMultiByte() instead of 9436 iconv(). Should do most needed conversions without iconv.dll. 9437Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c, 9438 src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.h 9439 9440Patch 6.1.455 9441Problem: Some Unicode characters can be one or two character cells wide. 9442Solution: Add the 'ambiwidth' option to tell Vim how to display these 9443 characters. (Jungshik Shin) 9444 Also reset the script ID when setting an option to its default 9445 value, so that ":verbose set" won't give wrong info. 9446Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h 9447 9448Patch 6.1.456 (extra, after 6.1.454) 9449Problem: Win32: IME doesn't work. 9450Solution: ImmGetCompositionStringW() returns the size in bytes, not words. 9451 (Yasuhiro Matsumoto) Also fix typecast problem. 9452Files: src/gui_w32.c, src/os_mswin.c 9453 9454Patch 6.1.457 9455Problem: An empty register in viminfo causes conversion to fail. 9456Solution: Don't convert an empty string. (Yasuhiro Matsumoto) 9457Files: src/ex_cmds.c, src/mbyte.c 9458 9459Patch 6.1.458 9460Problem: Compiler warning for pointer. 9461Solution: Add a typecast. 9462Files: src/ex_cmds.c 9463 9464Patch 6.1.459 (extra) 9465Problem: Win32: libcall() may return an invalid pointer and cause Vim to 9466 crash. 9467Solution: Add a strict check for the returned pointer. (Bruce Mellows) 9468Files: src/os_mswin.c 9469 9470Patch 6.1.460 9471Problem: GTK: after scrolling the text one line with a key, clicking the 9472 arrow of the scrollbar does not always work. (Nam SungHyun) 9473Solution: Always update the scrollbar thumb when the value changed, even 9474 when it would not move, like for RISCOS. (Daniel Elstner) 9475Files: src/gui.c, src/gui.h 9476 9477Patch 6.1.461 9478Problem: When a keymap is active, typing a character in Select mode does 9479 not use it. (Benji Fisher) 9480Solution: Apply Insert mode mapping to the character typed in Select mode. 9481Files: src/normal.c 9482 9483Patch 6.1.462 9484Problem: When autocommands wipe out a buffer, a crash may happen. (Hari 9485 Krishna Dara) 9486Solution: Don't decrement the window count of a buffer before calling the 9487 autocommands for it. When re-using the current buffer, watch out 9488 for autocommands changing the current buffer. 9489Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.pro 9490 9491Patch 6.1.463 9492Problem: When writing a compressed file, the file name that gzip stores in 9493 the file is the weird temporary file name. (David Rennalls) 9494Solution: Use the real file name when possible. 9495Files: runtime/plugin/gzip.vim 9496 9497Patch 6.1.464 9498Problem: Crash when using C++ syntax highlighting. (Gerhard Hochholzer) 9499Solution: Check for a negative index. 9500Files: src/syntax.c 9501 9502Patch 6.1.465 (after 6.1.454) 9503Problem: Compile error when using cygwin. 9504Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia) 9505 Undefine WIN32 after including windows.h 9506Files: src/mbyte.c 9507 9508Patch 6.1.466 9509Problem: The "-f" argument is a bit obscure. 9510Solution: Add the "--nofork" argument. Improve the help text a bit. 9511Files: runtime/doc/starting.txt, src/main.c 9512 9513Patch 6.1.467 9514Problem: Setting the window title doesn't work for Chinese. 9515Solution: Use an X11 function to convert text to a text property. (Kentaro 9516 Nakazawa) 9517Files: src/os_unix.c 9518 9519Patch 6.1.468 9520Problem: ":mksession" also stores folds for buffers which will not be 9521 restored. 9522Solution: Only store folds for a buffer with 'buftype' empty and help files. 9523Files: src/ex_docmd.c 9524 9525Patch 6.1.469 9526Problem: 'listchars' cannot contain multi-byte characters. 9527Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff) 9528Files: src/message.c, src/option.c, src/screen.c 9529 9530Patch 6.1.470 (lang) 9531Problem: Polish messages don't show up correctly on MS-Windows. 9532Solution: Convert messages to cp1250. (Mikolaj Machowski) 9533 Also add English message translations, because it got in the way 9534 of the patch. 9535Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.po 9536 9537Patch 6.1.471 9538Problem: ":jumps" output continues after pressing "q" at the more-prompt. 9539 (Hari Krishna Dara) 9540Solution: Check for "got_int" being set. 9541Files: src/mark.c 9542 9543Patch 6.1.472 9544Problem: When there is an authentication error when connecting to the X 9545 server Vim exits. 9546Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid 9547 the exit. Also do this in the main loop, so that when the X 9548 server exits a Vim running in a console isn't killed. 9549Files: src/globals.h, src/main.c, src/os_unix.c 9550 9551Patch 6.1.473 9552Problem: Referring to $curwin or $curbuf in Perl 5.6 causes a crash. 9553Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto) 9554Files: src/if_perl.xs 9555 9556Patch 6.1.474 9557Problem: When opening the command-line window in Ex mode it's impossible to 9558 go back. (Pavol Juhas) 9559Solution: Reset "exmode_active" and restore it when the command-line window 9560 is closed. 9561Files: src/ex_getln.c 9562 9563 9564Patch 6.2f.001 9565Problem: The configure check for Ruby didn't work properly for Ruby 1.8.0. 9566Solution: Change the way the Ruby check is done. (Aron Griffis) 9567Files: src/auto/configure, src/configure.in 9568 9569Patch 6.2f.002 9570Problem: The output of ":ls" doesn't show whether a buffer had read errors. 9571Solution: Add the "x" flag in the ":ls" output. 9572Files: runtime/doc/windows.txt, src/buffer.c 9573 9574Patch 6.2f.003 9575Problem: Test49 doesn't properly test the behavior of ":catch" without an 9576 argument. 9577Solution: Update test49. (Servatius Brandt) 9578Files: src/testdir/test49.ok, src/testdir/test49.vim 9579 9580Patch 6.2f.004 9581Problem: "vim --version" always uses CR/LF in the output. 9582Solution: Omit the CR. 9583Files: src/message.c, src/os_unix.c 9584 9585Patch 6.2f.005 9586Problem: Two error messages without a colon after the number. 9587Solution: Add the colon. (Taro Muraoka) 9588Files: src/if_cscope.c 9589 9590Patch 6.2f.006 9591Problem: When saving a file takes a while and Vim regains focus this can 9592 result in a "file changed outside of Vim" warning and ml_get() 9593 errors. (Mike Williams) 9594Solution: Add the "b_saving" flag to avoid checking the timestamp while the 9595 buffer is being saved. (Michael Schaap) 9596Files: src/fileio.c, src/structs.h 9597 9598Patch 6.2f.007 9599Problem: Irix compiler complains about multiple defined symbols. 9600 vsnprintf() is not available. (Charles Campbell) 9601Solution: Insert EXTERN for variables in globals.h. Change the configure 9602 check for vsnprintf() from compiling to linking. 9603Files: src/auto/configure, src/configure.in, src/globals.h 9604 9605Patch 6.2f.008 9606Problem: The Aap recipe doesn't work with Aap 0.149. 9607Solution: Change targetarg to TARGETARG. Update the mysign file. 9608Files: src/main.aap, src/mysign 9609 9610Patch 6.2f.009 (extra) 9611Problem: Small problem when building with Borland 5.01. 9612Solution: Use mkdir() instead of _mkdir(). (Walter Briscoe) 9613Files: src/dosinst.h 9614 9615Patch 6.2f.010 9616Problem: Warning for missing prototypes. 9617Solution: Add missing prototypes. (Walter Briscoe) 9618Files: src/if_cscope.c 9619 9620Patch 6.2f.011 9621Problem: The configure script doesn't work with autoconf 2.5x. 9622Solution: Add square brackets around a header check. (Aron Griffis) 9623 Note: touch src/auto/configure after applying this patch. 9624Files: src/configure.in 9625 9626Patch 6.2f.012 9627Problem: ":echoerr" doesn't work correctly inside try/endtry. 9628Solution: Don't reset did_emsg inside a try/endtry. (Servatius Brandt) 9629Files: src/eval.c 9630 9631Patch 6.2f.013 (extra) 9632Problem: Macintosh: Compiler warning for a trigraph. 9633Solution: Insert a backslash before each question mark. (Peter Cucka) 9634Files: src/os_mac.h 9635 9636Patch 6.2f.014 (extra) 9637Problem: Macintosh: ex_eval is not included in the project file. 9638Solution: Add ex_eval. (Dany St-Amant) 9639Files: src/os_mac.pbproj/project.pbxproj 9640 9641Patch 6.2f.015 (extra) 9642Problem: Win32: When changing header files not all source files involved 9643 are recompiled. 9644Solution: Improve the dependency rules. (Dan Sharp) 9645Files: src/Make_cyg.mak, src/Make_ming.mak 9646 9647Patch 6.2f.016 9648Problem: "vim --version > ff" on non-Unix systems results in a file with a 9649 missing line break at the end. (Bill McCArthy) 9650Solution: Add a line break. 9651Files: src/main.c 9652 9653Patch 6.2f.017 9654Problem: Unix: starting Vim in the background and then bringing it to the 9655 foreground may cause the terminal settings to be wrong. 9656Solution: Check for tcsetattr() to return an error, retry when it does. 9657 (Paul Tapper) 9658Files: src/os_unix.c 9659 9660Patch 6.2f.018 9661Problem: Mac OS X 10.2: OK is defined to zero in cursus.h while Vim uses 9662 one. Redefining it causes a warning message. 9663Solution: Undefine OK before defining it to one. (Taro Muraoka) 9664Files: src/vim.h 9665 9666Patch 6.2f.019 9667Problem: Mac OS X 10.2: COLOR_BLACK and COLOR_WHITE are defined in 9668 curses.h. 9669Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE. 9670Files: src/ex_cmds2.c 9671 9672Patch 6.2f.020 9673Problem: Win32: test50 produces beeps and fails with some versions of diff. 9674Solution: Remove empty lines and convert the output to dos fileformat. 9675Files: src/testdir/test50.in 9676 9677Patch 6.2f.021 9678Problem: Running configure with "--enable-netbeans" disables Netbeans. 9679 (Gordon Prieur) 9680Solution: Fix the tests in configure.in where the default is to enable a 9681 feature. Fix that "--enable-acl" reported "yes" confusingly. 9682Files: src/auto/configure, src/configure.in, src/mysign 9683 9684Patch 6.2f.022 9685Problem: A bogus value for 'foldmarker' is not rejected, possibly causing a 9686 hang. (Derek Wyatt) 9687Solution: Check for a non-empty string before and after the comma. 9688Files: src/option.c 9689 9690Patch 6.2f.023 9691Problem: When the help files are not in $VIMRUNTIME but 'helpfile' is 9692 correct Vim still can't find the help files. 9693Solution: Also look for a tags file in the directory of 'helpfile'. 9694Files: src/tag.c 9695 9696Patch 6.2f.024 9697Problem: When 'delcombine' is set and a character has more than two 9698 composing characters "x" deletes them all. 9699Solution: Always delete only the last composing character. 9700Files: src/misc1.c 9701 9702Patch 6.2f.025 9703Problem: When reading a file from stdin that has DOS line endings but a 9704 missing end-of-line for the last line 'fileformat' becomes "unix". 9705 (Bill McCarthy) 9706Solution: Don't add the missing line break when re-reading the text from the 9707 buffer. 9708Files: src/fileio.c 9709 9710Patch 6.2f.026 9711Problem: When typing new text at the command line, old composing characters 9712 may be displayed. 9713Solution: Don't read composing characters from after the end of the 9714 text to be displayed. 9715Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro, 9716 src/screen.c 9717 9718Patch 6.2f.027 9719Problem: Compiler warnings for unsigned char pointers. (Tony Leneis) 9720Solution: Add typecasts to char pointer. 9721Files: src/quickfix.c 9722 9723Patch 6.2f.028 9724Problem: GTK: When 'imactivatekey' is empty and XIM is inactive it can't be 9725 made active again. Cursor isn't updated immediately when changing 9726 XIM activation. Japanese XIM may hang when using 'imactivatekey'. 9727 Can't activate XIM after typing fFtT command or ":sh". 9728Solution: Properly set the flag that indicates the IM is active. Update the 9729 cursor right away. Do not send a key-release event. Handle 9730 Normal mode and running an external command differently. 9731 (Yasuhiro Matsumoto) 9732Files: src/mbyte.c 9733 9734Patch 6.2f.029 9735Problem: Mixing use of int and enum. 9736Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef. 9737Files: src/if_cscope.c, src/if_cscope.h 9738 9739Patch 6.2f.030 (after 6.2f.028) 9740Problem: Cursor moves up when using XIM. 9741Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto) 9742Files: src/mbyte.c 9743 9744Patch 6.2f.031 9745Problem: Crash when listing a function argument in the debugger. (Ron Aaron) 9746Solution: Init the name field of an argument to NULL. 9747Files: src/eval.c 9748 9749Patch 6.2f.032 9750Problem: When a write fails for a ":silent!" while inside try/endtry the 9751 BufWritePost autocommands are not triggered. 9752Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt) 9753Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vim 9754 9755Patch 6.2f.033 9756Problem: Cscope: re-entrance problem for ":cscope" command. Checking for 9757 duplicate database didn't work well for Win95. Didn't check for 9758 duplicate databases after an empty entry. 9759Solution: Don't set postponed_split too early. Remember first empty 9760 database entry. (Sergey Khorev) 9761Files: src/if_cscope.c 9762 9763Patch 6.2f.034 9764Problem: The netbeans interface cannot be used on systems without 9765 vsnprintf(). (Tony Leneis) 9766Solution: Use EMSG(), EMSGN() and EMSG2() instead. 9767Files: src/auto/configure, src/configure.in, src/netbeans.c 9768 9769Patch 6.2f.035 9770Problem: The configure check for the netbeans interface doesn't work if the 9771 socket and nsl libraries are required. 9772Solution: Check for the socket and nsl libraries before the netbeans check. 9773Files: src/auto/configure, src/configure.in 9774 9775Patch 6.2f.036 9776Problem: Moving leftwards over text with an illegal UTF-8 byte moves one 9777 byte instead of one character. 9778Solution: Ignore an illegal byte after the cursor position. 9779Files: src/mbyte.c 9780 9781Patch 6.2f.037 9782Problem: When receiving a Netbeans command at the hit-enter or more prompt 9783 the screen is redrawn but Vim is still waiting at the prompt. 9784Solution: Quit the prompt like a CTRL-C was typed. 9785Files: src/netbeans.c 9786 9787Patch 6.2f.038 9788Problem: The dependency to run autoconf causes a patch for configure.in 9789 to run autoconf, even though the configure script was updated as 9790 well. 9791Solution: Only run autoconf with "make autoconf". 9792Files: src/Makefile 9793 9794Patch 6.2f.039 9795Problem: CTRL-W K makes the new top window very high. 9796Solution: When 'equalalways' is set equalize the window heights. 9797Files: src/window.c 9798 9799 9800============================================================================== 9801VERSION 6.3 *version-6.3* 9802 9803This section is about improvements made between version 6.2 and 6.3. 9804 9805This is mainly a bug-fix release. There are also a few new features. 9806The major number of new items is in the runtime files and translations. 9807 9808 9809Changed *changed-6.3* 9810------- 9811 9812The intro message also displays a note about sponsoring Vim, mixed randomly 9813with the message about helping children in Uganda. 9814 9815Included the translated menus, keymaps and tutors with the normal runtime 9816files. The separate "lang" archive now only contains translated messages. 9817 9818Made the translated menu file names a bit more consistent. Use "latin1" for 9819"iso_8859-1" and "iso_8859-15". 9820 9821Removed the "file_select.vim" script from the distribution. It's not more 9822useful than other scripts that can be downloaded from www.vim.org. 9823 9824The "runtime/doc/tags" file is now always in unix fileformat. On MS-Windows 9825it used to be dos fileformat, but ":helptags" generates a unix format file. 9826 9827 9828Added *added-6.3* 9829----- 9830 9831New commands: 9832 :cNfile go to last error in previous file 9833 :cpfile idem 9834 :changes print the change list 9835 :keepmarks following command keeps marks where they are 9836 :keepjumps following command keeps jumplist and marks 9837 :lockmarks following command keeps marks where they are 9838 :redrawstatus force a redraw of the status line(s) 9839 9840New options: 9841 'antialias' Mac OS X: use smooth, antialiased fonts 9842 'helplang' preferred help languages 9843 9844Syntax files: 9845 Arch inventory (Nikolai Weibull) 9846 Calendar (Nikolai Weibull) 9847 Ch (Wayne Cheng) 9848 Controllable Regex Mutilator (Nikolai Weibull) 9849 D (Jason Mills) 9850 Desktop (Mikolaj Machowski) 9851 Dircolors (Nikolai Weibull) 9852 Elinks configuration (Nikolai Weibull) 9853 FASM (Ron Aaron) 9854 GrADS scripts (Stefan Fronzek) 9855 Icewm menu (James Mahler) 9856 LDIF (Zak Johnson) 9857 Locale input, fdcc. (Dwayne Bailey) 9858 Pinfo config (Nikolai Weibull) 9859 Pyrex (Marco Barisione) 9860 Relax NG Compact (Nikolai Weibull) 9861 Slice (Morel Bodin) 9862 VAX Macro Assembly (Tom Uijldert) 9863 grads (Stefan Fronzek) 9864 libao (Nikolai Weibull) 9865 mplayer (Nikolai Weibull) 9866 rst (Nikolai Weibull) 9867 tcsh (Gautam Iyer) 9868 yaml (Nikolai Weibull) 9869 9870Compiler plugins: 9871 ATT dot (Marcos Macedo) 9872 Apple Project Builder (Alexander von Below) 9873 Intel (David Harrison) 9874 bdf (Nikolai Weibull) 9875 icc (Peter Puck) 9876 javac (Doug Kearns) 9877 neato (Marcos Macedo) 9878 onsgmls (Robert B. Rowsome) 9879 perl (Christian J. Robinson) 9880 rst (Nikolai Weibull) 9881 se (SmartEiffel) (Doug Kearns) 9882 tcl (Doug Kearns) 9883 xmlwf (Robert B. Rowsome) 9884 9885Filetype plugins: 9886 Aap (Bram Moolenaar) 9887 Ch (Wayne Cheng) 9888 Css (Nikolai Weibull) 9889 Pyrex (Marco Barisione) 9890 Rst (Nikolai Weibull) 9891 9892Indent scripts: 9893 Aap (Bram Moolenaar) 9894 Ch (Wayne Cheng) 9895 DocBook (Nikolai Weibull) 9896 MetaPost (Eugene Minkovskii) 9897 Objective-C (Kazunobu Kuriyama) 9898 Pyrex (Marco Barisione) 9899 Rst (Nikolai Weibull) 9900 Tcsh (Gautam Iyer) 9901 XFree86 configuration file (Nikolai Weibull) 9902 Zsh (Nikolai Weibull) 9903 9904Keymaps: 9905 Greek for cp1253 (Panagiotis Louridas) 9906 Hungarian (Magyar) (Laszlo Zavaleta) 9907 Persian-Iranian (Behnam Esfahbod) 9908 9909Message translations: 9910 Catalan (Ernest Adrogue) 9911 Russian (Vassily Ragosin) 9912 Swedish (Johan Svedberg) 9913 9914Menu translations: 9915 Catalan (Ernest Adrogue) 9916 Russian (Tim Alexeevsky) 9917 Swedish (Johan Svedberg) 9918 9919Tutor translations: 9920 Catalan (Ernest Adrogue) 9921 Russian in cp1251 (Alexey Froloff) 9922 Slovak in cp1251 and iso8859-2 (Lubos Celko) 9923 Swedish (Johan Svedberg) 9924 Korean (Kee-Won Seo) 9925 UTF-8 version of the Japanese tutor (Yasuhiro Matsumoto) Use this as 9926 the original, create the other Japanese tutor by conversion. 9927 9928Included "russian.txt" help file. (Vassily Ragosin) 9929 9930Include Encapsulated PostScript and PDF versions of the Vim logo in the extra 9931archive. 9932 9933The help highlighting finds the highlight groups and shows them in the color 9934that is actually being used. (idea from Yakov Lerner) 9935 9936The big Win32 version is now compiled with Ruby interface, version 1.8. For 9937Python version 2.3 is used. For Perl version 5.8 is used. 9938 9939The "ftdetect" directory is mentioned in the documentation. The DOS install 9940program creates it. 9941 9942 9943Fixed *fixed-6.3* 9944----- 9945 9946Test 42 failed on MS-Windows. Set and reset 'fileformat' and 'binary' options 9947here and there. (Walter Briscoe) 9948 9949The explorer plugin didn't work for double-byte 'encoding's. 9950 9951Use "copy /y" in Make_bc5.mak to avoid a prompt for overwriting. 9952 9953Patch 6.2.001 9954Problem: The ":stopinsert" command doesn't have a help tag. 9955Solution: Add the tag. (Antoine J. Mechelynck) 9956Files: runtime/doc/insert.txt, runtime/doc/tags 9957 9958Patch 6.2.002 9959Problem: When compiled with the +multi_byte feature but without +eval, 9960 displaying UTF-8 characters may cause a crash. (Karsten Hopp) 9961Solution: Also set the default for 'ambiwidth' when compiled without the 9962 +eval feature. 9963Files: src/option.c 9964 9965Patch 6.2.003 9966Problem: GTK 2: double-wide characters below 256 are not displayed 9967 correctly. 9968Solution: Check the cell width for characters above 127. (Yasuhiro 9969 Matsumoto) 9970Files: src/gui_gtk_x11.c 9971 9972Patch 6.2.004 9973Problem: With a line-Visual selection at the end of the file a "p" command 9974 puts the text one line upwards. 9975Solution: Detect that the last line was deleted and put forward. (Taro 9976 Muraoka) 9977Files: src/normal.c 9978 9979Patch 6.2.005 9980Problem: GTK: the "Find" and "Find and Replace" tools don't work. (Aschwin 9981 Marsman) 9982Solution: Show the dialog after creating it. (David Necas) 9983Files: src/gui_gtk.c 9984 9985Patch 6.2.006 9986Problem: The Netbeans code contains an obsolete function that uses "vim61" 9987 and sets the fall-back value for $VIMRUNTIME. 9988Solution: Delete the obsolete function. 9989Files: src/main.c, src/netbeans.c, src/proto/netbeans.pro 9990 9991Patch 6.2.007 9992Problem: Listing tags for Cscope doesn't always work. 9993Solution: Avoid using smgs_attr(). (Sergey Khorev) 9994Files: src/if_cscope.c 9995 9996Patch 6.2.008 9997Problem: XIM with GTK 2: After backspacing preedit characters are wrong. 9998Solution: Reset the cursor position. (Yasuhiro Matsumoto) 9999Files: src/mbyte.c 10000 10001Patch 6.2.009 10002Problem: Win32: The self-installing executable "Full" selection only 10003 selects some of the items to install. (Salman Mohsin) 10004Solution: Change commas to spaces in between section numbers. 10005Files: nsis/gvim.nsi 10006 10007Patch 6.2.010 10008Problem: When 'virtualedit' is effective and a line starts with a 10009 multi-byte character, moving the cursor right doesn't work. 10010Solution: Obtain the right character to compute the column offset. (Taro 10011 Muraoka) 10012Files: src/charset.c 10013 10014Patch 6.2.011 10015Problem: Alpha OSF1: stat() is a macro and doesn't allow an #ifdef halfway. 10016 (Moshe Kaminsky) 10017Solution: Move the #ifdef outside of stat(). 10018Files: src/os_unix.c 10019 10020Patch 6.2.012 10021Problem: May hang when polling for a character. 10022Solution: Break the wait loop when not waiting for a character. 10023Files: src/os_unix.c 10024 10025Patch 6.2.013 (extra) 10026Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1". 10027Solution: Change the version number to "6.2". (Ajit Thakkar) 10028Files: src/GvimExt/GvimExt.reg 10029 10030Patch 6.2.014 (after 6.2.012) 10031Problem: XSMP doesn't work when using poll(). 10032Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird) 10033Files: src/os_unix.c 10034 10035Patch 6.2.015 10036Problem: The +xsmp feature is never enabled. 10037Solution: Move the #define for USE_XSMP to below where WANT_X11 is defined. 10038 (Alexey Froloff) 10039Files: src/feature.h 10040 10041Patch 6.2.016 10042Problem: Using ":scscope find" with 'cscopequickfix' does not always split 10043 the window. (Gary Johnson) 10044 Win32: ":cscope add" could make the script that contains it 10045 read-only until the corresponding ":cscope kill". 10046 Errors during ":cscope add" may not be handled properly. 10047Solution: When using the quickfix window may need to split the window. 10048 Avoid file handle inheritance for the script. 10049 Check for a failed connection and/or process. (Sergey Khorev) 10050Files: src/ex_cmds2.c, src/if_cscope.c 10051 10052Patch 6.2.017 10053Problem: Test11 sometimes prompts the user, because a file would have been 10054 changed outside of Vim. (Antonio Colombo) 10055Solution: Add a FileChangedShell autocommand to avoid the prompt. 10056Files: src/testdir/test11.in 10057 10058Patch 6.2.018 10059Problem: When using the XSMP protocol and reading from stdin Vim may wait 10060 for a key to be pressed. 10061Solution: Avoid that RealWaitForChar() is used recursively. 10062Files: src/os_unix.c 10063 10064Patch 6.2.019 (lang) 10065Problem: Loading the Portuguese menu causes an error message. 10066Solution: Join two lines. (Jose Pedro Oliveira, Jos� de Paula) 10067Files: runtime/lang/menu_pt_br.vim 10068 10069Patch 6.2.020 10070Problem: The "Syntax/Set syntax only" menu item causes an error message. 10071 (Oyvind Holm) 10072Solution: Set the script-local variable in a function. (Benji Fisher) 10073Files: runtime/synmenu.vim 10074 10075Patch 6.2.021 10076Problem: The user manual section on exceptions contains small mistakes. 10077Solution: Give a good example of an error that could be missed and other 10078 improvements. (Servatius Brandt) 10079Files: runtime/doc/usr_41.txt 10080 10081Patch 6.2.022 (extra) 10082Problem: Win32: After deleting a menu item it still appears in a tear-off 10083 window. 10084Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto) 10085Files: src/gui_w32.c 10086 10087Patch 6.2.023 (extra) 10088Problem: Win32: Make_ivc.mak does not clean everything. 10089Solution: Delete more files in the clean rule. (Walter Briscoe) 10090Files: src/Make_ivc.mak 10091 10092Patch 6.2.024 (extra) 10093Problem: Win32: Compiler warnings for typecasts. 10094Solution: Use DWORD instead of WORD. (Walter Briscoe) 10095Files: src/gui_w32.c 10096 10097Patch 6.2.025 10098Problem: Missing prototype for sigaltstack(). 10099Solution: Add the prototype when it is not found in a header file. 10100Files: src/os_unix.c 10101 10102Patch 6.2.026 10103Problem: Warning for utimes() argument. 10104Solution: Add a typecast. 10105Files: src/fileio.c 10106 10107Patch 6.2.027 10108Problem: Warning for uninitialized variable. 10109Solution: Set mb_l to one when not using multi-byte characters. 10110Files: src/message.c 10111 10112Patch 6.2.028 10113Problem: Cscope connection may kill Vim process and others. 10114Solution: Check for pid being larger than one. (Khorev Sergey) 10115Files: src/if_cscope.c 10116 10117Patch 6.2.029 10118Problem: When using the remote server functionality Vim may leak memory. 10119 (Srikanth Sankaran) 10120Solution: Free the result of XListProperties(). 10121Files: src/if_xcmdsrv.c 10122 10123Patch 6.2.030 10124Problem: Mac: Warning for not being able to use precompiled header files. 10125Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that 10126 function prototypes are still found. 10127Files: src/os_unix.c, src/osdef.sh 10128 10129Patch 6.2.031 10130Problem: The langmenu entry in the options window doesn't work. (Rodolfo 10131 Lima) 10132 With GTK 1 the ":options" command causes an error message. 10133 (Michael Naumann) 10134Solution: Change "lmenu" to "langmenu". Only display the 'tbis' option for 10135 GTK 2. 10136Files: runtime/optwin.vim 10137 10138Patch 6.2.032 10139Problem: The lpc filetype is never recognized. (Shizhu Pan) 10140Solution: Check for g:lpc_syntax_for_c instead of the local variable 10141 lpc_syntax_for_c. (Benji Fisher) 10142Files: runtime/filetype.vim 10143 10144Patch 6.2.033 (extra) 10145Problem: Mac: Various compiler warnings. 10146Solution: Don't include Classic-only headers in Unix version. 10147 Remove references to several unused variables. (Ben Fowler) 10148 Fix double definition of DEFAULT_TERM. 10149 Use int instead of unsigned short for pixel values, so that the 10150 negative error values are recognized. 10151Files: src/gui_mac.c, src/term.c 10152 10153Patch 6.2.034 10154Problem: Mac: Compiler warning for redefining DEFAULT_TERM. 10155Solution: Fix double definition of DEFAULT_TERM. 10156Files: src/term.c 10157 10158Patch 6.2.035 10159Problem: Mac: Compiler warnings in Python interface. 10160Solution: Make a difference between pure Mac and Unix-Mac. (Peter Cucka) 10161Files: src/if_python.c 10162 10163Patch 6.2.036 (extra) 10164Problem: Mac Unix version: If foo is a directory, then ":e f<Tab>" should 10165 expand to ":e foo/" instead of ":e foo" . (Vadim Zeitlin) 10166Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher) 10167Files: src/os_mac.h 10168 10169Patch 6.2.037 10170Problem: Win32: converting an encoding name to a codepage could result in 10171 an arbitrary number. 10172Solution: make encname2codepage() return zero if the encoding name doesn't 10173 contain a codepage number. 10174Files: src/mbyte.c 10175 10176Patch 6.2.038 (extra) 10177Problem: Warning messages when using the MingW compiler. (Bill McCarthy) 10178 Can't compile console version without +mouse feature. 10179Solution: Initialize variables, add parenthesis. 10180 Add an #ifdef around g_nMouseClick. (Ajit Thakkar) 10181Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.c 10182 10183Patch 6.2.039 (extra) 10184Problem: More warning messages when using the MingW compiler. 10185Solution: Initialize variables. (Bill McCarthy) 10186Files: src/os_mswin.c 10187 10188Patch 6.2.040 10189Problem: FreeBSD: Crash while starting up when compiled with +xsmp feature. 10190Solution: Pass a non-NULL argument to IceAddConnectionWatch(). 10191Files: src/os_unix.c 10192 10193Patch 6.2.041 (extra, after 6.2.033) 10194Problem: Mac: Compiler warnings for conversion types, missing prototype, 10195 missing return type. 10196Solution: Change sscanf "%hd" to "%d", the argument is an int now. Add 10197 gui_mch_init_check() prototype. Add "int" to termlib functions. 10198Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c. 10199 10200Patch 6.2.042 (extra) 10201Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causing a 10202 crash. 10203Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp) 10204Files: src/Make_cyg.mak 10205 10206Patch 6.2.043 10207Problem: Compiling with both netbeans and workshop doesn't work. 10208Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur) 10209Files: src/gui_x11.c, src/integration.c, src/netbeans.c, 10210 src/proto/netbeans.pro 10211 10212Patch 6.2.044 10213Problem: ":au filetypedetect" gives an error for a non-existing event name, 10214 but it's actually a non-existing group name. (Antoine Mechelynck) 10215Solution: Make the error message clearer. 10216Files: src/fileio.c 10217 10218Patch 6.2.045 10219Problem: Obtaining the '( mark changes the '' mark. (Gary Holloway) 10220Solution: Don't set the '' mark when searching for the start/end of the 10221 current sentence/paragraph. 10222Files: src/mark.c 10223 10224Patch 6.2.046 10225Problem: When evaluating an argument of a function throws an exception the 10226 function is still called. (Hari Krishna Dara) 10227Solution: Don't call the function when an exception was thrown. 10228Files: src/eval.c 10229 10230Patch 6.2.047 (extra) 10231Problem: Compiler warnings when using MingW. (Bill McCarthy) 10232Solution: Give the s_dwLastClickTime variable a type. Initialize dwEndTime. 10233Files: src/os_win32.c 10234 10235Patch 6.2.048 10236Problem: The Python interface doesn't compile with Python 2.3 when 10237 dynamically loaded. 10238Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore) 10239Files: src/if_python.c 10240 10241Patch 6.2.049 10242Problem: Using a "-range=" argument with ":command" doesn't work and 10243 doesn't generate an error message. 10244Solution: Generate an error message. 10245Files: src/ex_docmd.c 10246 10247Patch 6.2.050 10248Problem: Test 32 didn't work on MS-Windows. 10249Solution: Write the temp file in Unix fileformat. (Walter Briscoe) 10250Files: src/testdir/test32.in 10251 10252Patch 6.2.051 10253Problem: When using "\=submatch(0)" in a ":s" command, line breaks become 10254 NUL characters. 10255Solution: Change NL to CR characters, so that they become line breaks. 10256Files: src/regexp.c 10257 10258Patch 6.2.052 10259Problem: A few messages are not translated. 10260Solution: Add _() to the messages. (Muraoka Taro) 10261Files: src/ex_cmds.c 10262 10263Patch 6.2.053 10264Problem: Prototype for bzero() doesn't match most systems. 10265Solution: Use "void *" instead of "char *" and "size_t" instead of "int". 10266Files: src/osdef1.h.in 10267 10268Patch 6.2.054 10269Problem: A double-byte character with a second byte that is a backslash 10270 causes problems inside a string. 10271Solution: Skip over multi-byte characters in a string properly. (Yasuhiro 10272 Matsumoto) 10273Files: src/eval.c 10274 10275Patch 6.2.055 10276Problem: Using col('.') from CTRL-O in Insert mode does not return the 10277 correct value for multi-byte characters. 10278Solution: Correct the cursor position when it is necessary, move to the 10279 first byte of a multi-byte character. (Yasuhiro Matsumoto) 10280Files: src/edit.c 10281 10282Patch 6.2.056 (extra) 10283Problem: Building with Sniff++ doesn't work. 10284Solution: Use the multi-threaded libc when needed. (Holger Ditting) 10285Files: src/Make_mvc.mak 10286 10287Patch 6.2.057 (extra) 10288Problem: Mac: With -DMACOS_X putenv() is defined twice, it is in a system 10289 library. Get a warning for redefining OK. Unused variables in 10290 os_mac.c 10291Solution: Define HAVE_PUTENV. Undefine OK after including curses.h. 10292 Remove declarations for unused variables. 10293Files: src/os_mac.c, src/os_mac.h, src/vim.h 10294 10295Patch 6.2.058 10296Problem: When 'autochdir' is set ":bnext" to a buffer without a name causes 10297 a crash. 10298Solution: Don't call vim_chdirfile() when the file name is NULL. (Taro 10299 Muraoka) 10300Files: src/buffer.c 10301 10302Patch 6.2.059 10303Problem: When 'scrolloff' is a large number and listing completion results 10304 on the command line, then executing a command that jumps close to 10305 where the cursor was before, part of the screen is not updated. 10306 (Yakov Lerner) 10307Solution: Don't skip redrawing part of the window when it was scrolled. 10308Files: src/screen.c 10309 10310Patch 6.2.060 (extra) 10311Problem: Win32: When 'encoding' is set to "iso-8859-7" copy/paste to/from 10312 the clipboard gives a lalloc(0) error. (Kriton Kyrimis) 10313Solution: When the string length is zero allocate one byte. Also fix that 10314 when the length of the Unicode text is zero (conversion from 10315 'encoding' to UCS-2 was not possible) the normal text is used. 10316Files: src/os_mswin.c 10317 10318Patch 6.2.061 10319Problem: GUI: Using the left mouse button with the shift key should work 10320 like "*" but it scrolls instead. (Martin Beller) 10321Solution: Don't recognize an rxvt scroll wheel event when using the GUI. 10322Files: src/term.c 10323 10324Patch 6.2.062 10325Problem: When one buffer uses a syntax with "containedin" and another 10326 buffer does not, redrawing depends on what the current buffer is. 10327 (Brett Pershing Stahlman) 10328Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin 10329 flag. 10330Files: src/syntax.c 10331 10332Patch 6.2.063 10333Problem: When using custom completion end up with no matches. 10334Solution: Make cmd_numfiles and cmd_files local to completion to avoid that 10335 they are overwritten when ExpandOne() is called recursively by 10336 f_glob(). 10337Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro, 10338 src/misc1.c, src/structs.h, src/tag.c 10339 10340Patch 6.2.064 10341Problem: resolve() only handles one symbolic link, need to repeat it to 10342 resolve all of them. Then need to simplify the file name. 10343Solution: Make resolve() resolve all symbolic links and simplify the result. 10344 Add simplify() to just simplify a file name. Fix that test49 10345 doesn't work if /tmp is a symbolic link. (Servatius Brandt) 10346Files: runtime/doc/eval.txt, src/eval.c, src/tag.c, 10347 src/testdir/test49.vim 10348 10349Patch 6.2.065 10350Problem: ":windo 123" only updates other windows when entering them. 10351 (Walter Briscoe) 10352Solution: Update the topline before going to the next window. 10353Files: src/ex_cmds2.c 10354 10355Patch 6.2.066 (extra) 10356Problem: Ruby interface doesn't work with Ruby 1.8.0. 10357Solution: Change "defout" to "stdout". (Aron Grifis) 10358 Change dynamic loading. (Taro Muraoka) 10359Files: src/if_ruby.c, src/Make_mvc.mak 10360 10361Patch 6.2.067 10362Problem: When searching for a string that starts with a composing character 10363 the command line isn't drawn properly. 10364Solution: Don't count the space to draw the composing character on and 10365 adjust the cursor column after drawing the string. 10366Files: src/message.c 10367 10368Patch 6.2.068 10369Problem: Events for the netbeans interface that include a file name with 10370 special characters don't work properly. 10371Solution: Use nb_quote() on the file name. (Sergey Khorev) 10372Files: src/netbeans.c 10373 10374Patch 6.2.069 (after 6.2.064) 10375Problem: Unused variables "limit" and "new_st" and unused label "fail" in 10376 some situation. (Bill McCarthy) 10377Solution: Put the declarations inside an #ifdef. (Servatius Brandt) 10378Files: src/eval.c, src/tag.c 10379 10380Patch 6.2.070 (after 6.2.069) 10381Problem: Still unused variable "new_st". (Bill McCarthy) 10382Solution: Move the declaration to the right block this time. 10383Files: src/tag.c 10384 10385Patch 6.2.071 10386Problem: 'statusline' can only contain 50 % items. (Antony Scriven) 10387Solution: Allow 80 items and mention it in the docs. 10388Files: runtime/doc/option.txt, src/vim.h 10389 10390Patch 6.2.072 10391Problem: When using expression folding, foldexpr() mostly returns -1 for 10392 the previous line, which makes it difficult to write a fold 10393 expression. 10394Solution: Make the level of the previous line available while still looking 10395 for the end of a fold. 10396Files: src/fold.c 10397 10398Patch 6.2.073 10399Problem: When adding detection of a specific filetype for a plugin you need 10400 to edit "filetype.vim". 10401Solution: Source files from the "ftdetect" directory, so that a filetype 10402 detection plugin only needs to be dropped in a directory. 10403Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt, 10404 runtime/doc/usr_41.txt, runtime/filetype.vim 10405 10406Patch 6.2.074 10407Problem: Warnings when compiling the Python interface. (Ajit Thakkar) 10408Solution: Use ANSI function declarations. 10409Files: src/if_python.c 10410 10411Patch 6.2.075 10412Problem: When the temp file for writing viminfo can't be used "NULL" 10413 appears in the error message. (Ben Lavender) 10414Solution: Print the original file name when there is no temp file name. 10415Files: src/ex_cmds.c 10416 10417Patch 6.2.076 10418Problem: The tags listed for cscope are in the wrong order. (Johannes 10419 Stezenbach) 10420Solution: Remove the reordering of tags for the current file. (Sergey 10421 Khorev) 10422Files: src/if_cscope.c 10423 10424Patch 6.2.077 10425Problem: When a user function specifies custom completion, the function 10426 gets a zero argument instead of an empty string when there is no 10427 word before the cursor. (Preben Guldberg) 10428Solution: Don't convert an empty string to a zero. 10429Files: src/eval.c 10430 10431Patch 6.2.078 10432Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis) 10433Solution: Build Vim before running the tests. 10434Files: src/Makefile 10435 10436Patch 6.2.079 10437Problem: ":w ++enc=utf-8 !cmd" doesn't work. 10438Solution: Check for the "++" argument before the "!". 10439Files: src/ex_docmd.c 10440 10441Patch 6.2.080 10442Problem: When 't_ti' is not empty but doesn't swap screens, using "ZZ" in 10443 an unmodified file doesn't clear the last line. 10444Solution: Call msg_clr_eos() when needed. (Michael Schroeder) 10445Files: src/os_unix.c 10446 10447Patch 6.2.081 10448Problem: Problem when using a long multibyte string for the statusline. 10449Solution: Use the right pointer to get the cell size. (Taro Muraoka) 10450Files: src/buffer.c 10451 10452Patch 6.2.082 10453Problem: Can't compile with Perl 5.8.1. 10454Solution: Rename "e_number" to "e_number_exp". (Sascha Blank) 10455Files: src/digraph.c, src/globals.h 10456 10457Patch 6.2.083 10458Problem: When a compiler uses ^^^^ to mark a word the information is not 10459 visible in the quickfix window. (Srikanth Sankaran) 10460Solution: Don't remove the indent for a line that is not recognized as an 10461 error message. 10462Files: src/quickfix.c 10463 10464Patch 6.2.084 10465Problem: "g_" in Visual mode always goes to the character after the line. 10466 (Jean-Rene David) 10467Solution: Ignore the NUL at the end of the line. 10468Files: src/normal.c 10469 10470Patch 6.2.085 10471Problem: ":verbose set ts" doesn't say an option was set with a "-c" or 10472 "--cmd" argument. 10473Solution: Remember the option was set from a Vim argument. 10474Files: src/main.c, src/ex_cmds2.c, src/vim.h 10475 10476Patch 6.2.086 10477Problem: "{" and "}" stop inside a closed fold. 10478Solution: Only stop once inside a closed fold. (Stephen Riehm) 10479Files: src/search.c 10480 10481Patch 6.2.087 10482Problem: CTRL-^ doesn't use the 'confirm' option. Same problem with 10483 ":bnext". (Yakov Lerner) 10484Solution: Put up a dialog for a changed file when 'confirm' is set in more 10485 situations. 10486Files: src/buffer.c, src/ex_cmds.c 10487 10488Patch 6.2.088 10489Problem: When 'sidescrolloff' is set 'showmatch' doesn't work correctly if 10490 the match is less than 'sidescrolloff' off from the side of the 10491 window. (Roland Stahn) 10492Solution: Set 'sidescrolloff' to zero while displaying the match. 10493Files: src/search.c 10494 10495Patch 6.2.089 10496Problem: ":set isk+=" adds a comma. (Mark Waggoner) 10497Solution: Don't add a comma when the added value is empty. 10498Files: src/option.c 10499 10500Patch 6.2.090 (extra) 10501Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy) 10502Solution: Put an #ifdef around the #pragmas. 10503Files: src/os_win32.c 10504 10505Patch 6.2.091 10506Problem: When an autocommand is triggered when a file is dropped on Vim and 10507 it produces output, messages from a following command may be 10508 scrolled unexpectedly. (David Rennalls) 10509Solution: Save and restore msg_scroll in handle_drop(). 10510Files: src/ex_docmd.c 10511 10512Patch 6.2.092 10513Problem: Invalid items appear in the help file tags. (Antonio Colombo) 10514Solution: Only accept tags with white space before the first "*". 10515Files: runtime/doc/doctags.c, src/ex_cmds.c 10516 10517Patch 6.2.093 10518Problem: ":nnoremenu" also defines menu for Visual mode. (Klaus Bosau) 10519Solution: Check the second command character for an "o", not the third. 10520Files: src/menu.c 10521 10522Patch 6.2.094 10523Problem: Can't compile with GTK and tiny features. 10524Solution: Include handle_drop() and vim_chdirfile() when FEAT_DND is defined. 10525 Do not try to split the window. 10526Files: src/ex_docmd.c, src/misc2.c 10527 10528Patch 6.2.095 10529Problem: The message "Cannot go to buffer x" is confusing for ":buf 6". 10530 (Frans Englich) 10531Solution: Make it "Buffer x does not exist". 10532Files: src/buffer.c 10533 10534Patch 6.2.096 10535Problem: Win32: ":let @* = ''" put a newline on the clipboard. (Klaus 10536 Bosau) 10537Solution: Put zero bytes on the clipboard for an empty string. 10538Files: src/ops.c 10539 10540Patch 6.2.097 10541Problem: Setting or resetting 'insertmode' in a BufEnter autocommand 10542 doesn't always have immediate effect. (Nagger) 10543Solution: When 'insertmode' is set, set need_start_insertmode, when it's 10544 reset set stop_insert_mode. 10545Files: src/option.c 10546 10547Patch 6.2.098 (after 6.2.097) 10548Problem: Can't build Vim with tiny features. (Christian J. Robinson) 10549Solution: Declare stop_insert_mode always. 10550Files: src/edit.c, src/globals.h 10551 10552Patch 6.2.099 (extra) 10553Problem: Test 49 fails. (Mikolaj Machowski) 10554Solution: The Polish translation must not change "E116" to "R116". 10555Files: src/po/pl.po 10556 10557Patch 6.2.100 10558Problem: "make proto" fails when compiled with the Perl interface. 10559Solution: Remove "-fno.*" from PERL_CFLAGS, cproto sees it as its option. 10560Files: src/auto/configure, src/configure.in 10561 10562Patch 6.2.101 10563Problem: When using syntax folding, opening a file slows down a lot when 10564 it's size increases by only 20%. (Gary Johnson) 10565Solution: The array with cached syntax states is leaking entries. After 10566 cleaning up the list obtain the current entry again. 10567Files: src/syntax.c 10568 10569Patch 6.2.102 10570Problem: The macros equal() and CR conflict with a Carbon header file. 10571Solution: Rename equal() to equalpos(). Rename CR to CAR. 10572 Do this in the non-extra files only. 10573Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c, 10574 src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c, 10575 src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c, 10576 src/gui_motif.c, src/macros.h, src/mark.c, src/message.c, 10577 src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c, 10578 src/regexp.c, src/search.c, src/ui.c, src/workshop.c 10579 10580Patch 6.2.103 (extra) 10581Problem: The macros equal() and CR conflict with a Carbon header file. 10582Solution: Rename equal() to equalpos(). Rename CR to CAR. 10583 Do this in the extra files only. 10584Files: src/gui_photon.c, src/gui_w48.c 10585 10586Patch 6.2.104 10587Problem: Unmatched braces in the table with options. 10588Solution: Move the "}," outside of the #ifdef. (Yakov Lerner) 10589Files: src/option.c 10590 10591Patch 6.2.105 10592Problem: When the cursor is past the end of the line when calling 10593 get_c_indent() a crash might occur. 10594Solution: Don't look past the end of the line. (NJ Verenini) 10595Files: src/misc1.c 10596 10597Patch 6.2.106 10598Problem: Tag searching gets stuck on a very long line in the tags file. 10599Solution: When skipping back to search the first matching tag remember the 10600 offset where searching started looking for a line break. 10601Files: src/tag.c 10602 10603Patch 6.2.107 (extra) 10604Problem: The NetBeans interface cannot be used on Win32. 10605Solution: Add support for the NetBeans for Win32. Add support for reading 10606 XPM files on Win32. Also fixes that a sign icon with a space in 10607 the file name did not work through the NetBeans interface. 10608 (Sergey Khorev) 10609 Also: avoid repeating error messages when the connection is lost. 10610Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak, 10611 src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, 10612 src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h, 10613 src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c, 10614 src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h, 10615 src/proto/gui_beval.pro, src/proto/gui_w32.pro, 10616 src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h, 10617 src/xpm_w32.c, src/xpm_w32.h 10618 10619Patch 6.2.108 10620Problem: Crash when giving a message about ignoring case in a tag. (Manfred 10621 Kuehn) 10622Solution: Use a longer buffer for the message. 10623Files: src/tag.c 10624 10625Patch 6.2.109 10626Problem: Compiler warnings with various Amiga compilers. 10627Solution: Add typecast, prototypes, et al. that are also useful for other 10628 systems. (Flavio Stanchina) 10629Files: src/eval.c, src/ops.c 10630 10631Patch 6.2.110 10632Problem: When $LANG includes the encoding, a menu without an encoding name 10633 is not found. 10634Solution: Also look for a menu file without any encoding. 10635Files: runtime/menu.vim 10636 10637Patch 6.2.111 10638Problem: Encoding "cp1251" is not recognized. 10639Solution: Add "cp1251" to the table of encocings. (Alexey Froloff) 10640Files: src/mbyte.c 10641 10642Patch 6.2.112 10643Problem: After applying patches test32 fails. (Antonio Colombo) 10644Solution: Have "make clean" in the testdir delete *.rej and *.orig files. 10645 Use this when doing "make clean" in the src directory. 10646Files: src/Makefile, src/testdir/Makefile 10647 10648Patch 6.2.113 10649Problem: Using ":startinsert" after "$" works like "a" instead of "i". 10650 (Ajit Thakkar) 10651Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit(). 10652Files: src/edit.c, src/ex_docmd.c 10653 10654Patch 6.2.114 10655Problem: When stdout is piped through "tee", the size of the screen may not 10656 be correct. 10657Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and 10658 stdout isn't. 10659Files: src/os_unix.c 10660 10661Patch 6.2.115 (extra) 10662Problem: Compiler warnings with various Amiga compilers. 10663Solution: Add typecast, prototypes, et al. Those changes that are 10664 Amiga-specific. (Flavio Stanchina) 10665Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h, 10666 src/vim.h 10667 10668Patch 6.2.116 (extra) 10669Problem: German keyboard with Numlock set different from system startup 10670 causes problems. 10671Solution: Ignore keys with code 0xff. (Helmut Stiegler) 10672Files: src/gui_w48.c 10673 10674Patch 6.2.117 10675Problem: Breakpoints in loops of sourced files and functions are not 10676 detected. (Hari Krishna Dara) 10677Solution: Check for breakpoints when using lines that were previously read. 10678 (Servatius Brandt) 10679Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro, 10680 src/proto/ex_cmds2.pro 10681 10682Patch 6.2.118 (extra) 10683Problem: Mac: Compiling is done in a non-standard way. 10684Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI" 10685 to Makefile and configure. (Eric Kow) 10686 Move a few prototypes from os_mac.pro to gui_mac.pro. 10687Files: src/Makefile, src/auto/configure, src/configure.in, 10688 src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c, 10689 src/proto/gui_mac.pro, src/proto/os_mac.pro, 10690 src/infplist.xml, src/vim.h 10691 10692Patch 6.2.119 (after 6.2.107) 10693Problem: When packing the MS-Windows archives a few files are missing. 10694 (Guopeng Wen) 10695Solution: Add gui_beval.* to the list of generic source files. 10696Files: Makefile 10697 10698Patch 6.2.120 10699Problem: Win32 GUI: The console dialogs are not supported on MS-Windows, 10700 disabling the 'c' flag of 'guioptions'. (Servatius Brandt) 10701Solution: Define FEAT_CON_DIALOG also for GUI-only builds. 10702Files: src/feature.h 10703 10704Patch 6.2.121 (after 6.2.118) 10705Problem: Not all make programs support "+=". (Charles Campbell) 10706Solution: Use a normal assignment. 10707Files: src/Makefile 10708 10709Patch 6.2.122 (after 6.2.119) 10710Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen) 10711Solution: Use a simpler pattern. Add the Aap recipe for the maze program 10712 and a clean version of the source code. 10713Files: Makefile, runtime/macros/maze/Makefile, 10714 runtime/macros/maze/README.txt, runtime/macros/maze/main.aap, 10715 runtime/macros/maze/mazeclean.c 10716 10717Patch 6.2.123 (after 6.2.118) 10718Problem: Running configure fails. (Tony Leneis) 10719Solution: Change "==" to "=" for a test. 10720Files: src/auto/configure, src/configure.in 10721 10722Patch 6.2.124 (after 6.2.121)(extra) 10723Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim 10724 directly it can't find the runtime files. (Emily Jackson) 10725 Using GNU constructs causes warnings with other make programs. 10726 (Ronald Schild) 10727Solution: Use another name for the M4FLAGS variable. 10728 Don't remove "Vim.app" from the path. 10729 Update the explanation for compiling on the Mac. (Eric Kow) 10730 Don't use $(shell ) and $(addprefix ). 10731Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c 10732 10733Patch 6.2.125 (after 6.2.107) 10734Problem: The "winsock2.h" file isn't always available. 10735Solution: Don't include this header file. 10736Files: src/netbeans.c 10737 10738Patch 6.2.126 10739Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception. 10740Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set 10741 in _OnChar(). 10742Files: src/misc1.c 10743 10744Patch 6.2.127 (extra) 10745Problem: Win32 console: Typing CTRL-C doesn't throw an exception. 10746Solution: Set got_int immediately when CTRL-C is typed, don't wait for 10747 mch_breakcheck() being called. 10748Files: src/os_win32.c 10749 10750Patch 6.2.128 (after 6.2.118) 10751Problem: src/auto/configure is not consistent with src/configure.in. 10752Solution: Use the newly generated configure script. 10753Files: src/auto/configure 10754 10755Patch 6.2.129 10756Problem: When 'number' is set 'wrapmargin' does not work Vi-compatible. 10757 (Yasuhiro Matsumoto) 10758Solution: Reduce the textwidth when 'number' is set. Also for 'foldcolumn' 10759 and similar things. 10760Files: src/edit.c 10761 10762Patch 6.2.130 (extra) 10763Problem: Win32 console: When 'restorescreen' is not set exiting Vim causes 10764 the screen to be cleared. (Michael A. Mangino) 10765Solution: Don't clear the screen when exiting and 'restorescreen' isn't set. 10766Files: src/os_win32.c 10767 10768Patch 6.2.131 (extra) 10769Problem: Win32: Font handles are leaked. 10770Solution: Free italic, bold and bold-italic handles before overwriting them. 10771 (Michael Wookey) 10772Files: src/gui_w48.c 10773 10774Patch 6.2.132 (extra) 10775Problem: Win32: console version doesn't work on latest Windows Server 2003. 10776Solution: Copy 12000 instead of 15000 cells at a time to avoid running out 10777 of memory. 10778Files: src/os_win32.c 10779 10780Patch 6.2.133 10781Problem: When starting the GUI a bogus error message about 'imactivatekey' 10782 may be given. 10783Solution: Only check the value of 'imactivatekey' when the GUI is running. 10784Files: src/gui.c, src/option.c 10785 10786Patch 6.2.134 (extra) 10787Problem: Win32: When scrolling parts of the window are redrawn when this 10788 isn't necessary. 10789Solution: Only invalidate parts of the window when they are obscured by 10790 other windows. (Michael Wookey) 10791Files: src/gui_w48.c 10792 10793Patch 6.2.135 10794Problem: An item <> in the ":command" argument is interpreted as <args>. 10795Solution: Avoid that <> is recognized as <args>. 10796Files: src/ex_docmd.c 10797 10798Patch 6.2.136 10799Problem: ":e ++enc=latin1 newfile" doesn't set 'fenc' when the file doesn't 10800 exist. (Miroslaw Dobrzanski-Neumann) 10801Solution: Set 'fileencoding' to the specified encoding when editing a file 10802 that does not exist. 10803Files: src/fileio.c 10804 10805Patch 6.2.137 10806Problem: "d:cmd<CR>" cannot be repeated with ".". Breaks repeating "d%" 10807 when using the matchit plugin. 10808Solution: Store the command to be repeated. This is restricted to 10809 single-line commands. 10810Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.h 10811 10812Patch 6.2.138 (extra) 10813Problem: Compilation problem on VMS with dynamic buffer on the stack. 10814Solution: Read one byte less than the size of the buffer, so that we can 10815 check for the string length without an extra buffer. 10816Files: src/os_vms.c 10817 10818Patch 6.2.139 10819Problem: Code is repeated in the two Perl files. 10820Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h. 10821 Also fix a problem with generating prototypes. 10822Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.h 10823 10824Patch 6.2.140 (after 6.2.121) 10825Problem: Mac: Compiling with Python and Perl doesn't work. 10826Solution: Adjust the configure check for Python to use "-framework Python" 10827 for Python 2.3 on Mac OS/X. 10828 Move "-ldl" after "DynaLoader.a" in the link command. 10829 Change "perllibs" to "PERL_LIBS". 10830Files: src/auto/configure, src/configure.in, src/config.mk.in 10831 10832Patch 6.2.141 (extra) 10833Problem: Mac: The b_FSSpec field is sometimes unused. 10834Solution: Change the #ifdef to FEAT_CW_EDITOR and defined it in feature.h 10835Files: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.h 10836 10837Patch 6.2.142 (after 6.2.124) 10838Problem: Mac: building without GUI through configure doesn't work. 10839 When the system is slow, unpacking the resource file takes too 10840 long. 10841Solution: Don't always define FEAT_GUI_MAC when MACOS is defined, define it 10842 in the Makefile. 10843 Add a configure option to skip Darwin detection. 10844 Use a Python script to unpack the resources to avoid a race 10845 condition. (Taro Muraoka) 10846Files: Makefile, src/Makefile, src/auto/configure, src/configure.in, 10847 src/dehqx.py, src/vim.h 10848 10849Patch 6.2.143 10850Problem: Using "K" on Visually selected text doesn't work if it ends in 10851 a multi-byte character. 10852Solution: Include all the bytes of the last character. (Taro Muraoka) 10853Files: src/normal.c 10854 10855Patch 6.2.144 10856Problem: When "g:html_use_css" is set the HTML header generated by the 10857 2html script is wrong. 10858Solution: Add the header after adding HREF for links. 10859 Also use ":normal!" instead of ":normal" to avoid mappings 10860 getting in the way. 10861Files: runtime/syntax/2html.vim 10862 10863Patch 6.2.145 (after 6.2.139) 10864Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz) 10865Solution: Only undefine "bool" on Mac OS. 10866Files: src/vim.h 10867 10868Patch 6.2.146 10869Problem: On some systems the prototype for iconv() is wrong, causing a 10870 warning message. 10871Solution: Use a cast (void *) to avoid the warning. (Charles Campbell) 10872Files: src/fileio.c, src/mbyte.c 10873 10874Patch 6.2.147 10875Problem: ":s/pat/\=col('.')" always replaces with "1". 10876Solution: Set the cursor to the start of the match before substituting. 10877 (Helmut Stiegler) 10878Files: src/ex_cmds.c 10879 10880Patch 6.2.148 10881Problem: Can't break an Insert into several undoable parts. 10882Solution: Add the CTRL-G u command. 10883Files: runtime/doc/insert.txt, src/edit.c 10884 10885Patch 6.2.149 10886Problem: When the cursor is on a line past 21,474,748 the indicated 10887 percentage of the position is invalid. With that many lines 10888 "100%" causes a negative cursor line number, resulting in a crash. 10889 (Daniel Goujot) 10890Solution: Divide by 100 instead of multiplying. Avoid overflow when 10891 computing the line number for "100%". 10892Files: src/buffer.c, src/ex_cmds2.c, src/normal.c 10893 10894Patch 6.2.150 10895Problem: When doing "vim - < file" lines are broken at NUL chars. 10896 (Daniel Goujot) 10897Solution: Change NL characters back to NUL when reading from the temp 10898 buffer. 10899Files: src/fileio.c 10900 10901Patch 6.2.151 10902Problem: When doing "vim --remote +startinsert file" some commands are 10903 inserted as text. (Klaus Bosau) 10904Solution: Put all the init commands in one Ex line, not using a <CR>, so 10905 that Insert mode isn't started too early. 10906Files: src/main.c 10907 10908Patch 6.2.152 10909Problem: The cursor() function doesn't reset the column offset for 10910 'virtualedit'. 10911Solution: Reset the offset to zero. (Helmut Stiegler) 10912Files: src/eval.c 10913 10914Patch 6.2.153 10915Problem: Win32: ":lang german" doesn't use German messages. 10916Solution: Add a table to translate the Win32 language names to two-letter 10917 language codes. 10918Files: src/ex_cmds2.c 10919 10920Patch 6.2.154 10921Problem: Python bails out when giving a warning message. (Eugene 10922 Minkovskii) 10923Solution: Set sys.argv[] to an empty string. 10924Files: src/if_python.c 10925 10926Patch 6.2.155 10927Problem: Win32: Using ":tjump www" in a help file gives two results. 10928 (Dave Roberts) 10929Solution: Ignore differences between slashes and backslashes when checking 10930 for identical tag matches. 10931Files: src/tag.c 10932 10933Patch 6.2.156 (after 6.2.125) 10934Problem: Win32: Netbeans fails to build, EINTR is not defined. 10935Solution: Redefine EINTR to WSAEINTR. (Mike Williams) 10936Files: src/netbeans.c 10937 10938Patch 6.2.157 10939Problem: Using "%p" in 'errorformat' gives a column number that is too 10940 high. 10941Solution: Set the flag to use the number as a virtual column. (Lefteris 10942 Koutsoloukas) 10943Files: src/quickfix.c 10944 10945Patch 6.2.158 10946Problem: The sed command on Solaris and HPUX doesn't work for a line that 10947 doesn't end in a newline. 10948Solution: Add a newline when feeding text to sed. (Mark Waggoner) 10949Files: src/configure.in, src/auto/configure 10950 10951Patch 6.2.159 10952Problem: When using expression folding and 'foldopen' is "undo" an undo 10953 command doesn't always open the fold. 10954Solution: Save and restore the KeyTyped variable when evaluating 'foldexpr'. 10955 (Taro Muraoka) 10956Files: src/fold.c 10957 10958Patch 6.2.160 10959Problem: When 'virtualedit' is "all" and 'selection is "exclusive", 10960 selecting a double-width character below a single-width character 10961 may cause a crash. 10962Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka) 10963Files: src/normal.c 10964 10965Patch 6.2.161 (extra) 10966Problem: VMS: Missing header file. Reading input busy loops. 10967Solution: Include termdef.h. Avoid the use of a wait function in 10968 vms_read(). (Frank Ries) 10969Files: src/os_unix.h, src/os_vms.c 10970 10971Patch 6.2.162 10972Problem: ":redraw" doesn't always display the text that includes the cursor 10973 position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii) 10974Solution: Call update_topline() before redrawing. 10975Files: src/ex_docmd.c 10976 10977Patch 6.2.163 10978Problem: "make install" may also copy AAPDIR directories. 10979Solution: Delete AAPDIR directories, just like CVS directories. 10980Files: src/Makefile 10981 10982Patch 6.2.164 (after 6.2.144) 10983Problem: When "g:html_use_css" is set the HTML header generated by the 10984 2html script is still wrong. 10985Solution: Search for a string instead of jumping to a fixed line number. 10986 Go to the start of the line before inserting the header. 10987 (Jess Thrysoee) 10988Files: runtime/syntax/2html.vim 10989 10990Patch 6.2.165 10991Problem: The configure checks hang when using autoconf 2.57. 10992Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis) 10993Files: src/auto/configure, src/configure.in 10994 10995Patch 6.2.166 10996Problem: When $GZIP contains "-N" editing compressed files doesn't work 10997 properly. 10998Solution: Add "-n" to "gzip -d" to avoid restoring the file name. (Oyvind 10999 Holm) 11000Files: runtime/plugin/gzip.vim 11001 11002Patch 6.2.167 11003Problem: The Python interface leaks memory when assigning lines to a 11004 buffer. (Sergey Khorev) 11005Solution: Do not copy the line when calling ml_replace(). 11006Files: src/if_python.c 11007 11008Patch 6.2.168 11009Problem: Python interface: There is no way to get the indices from a range 11010 object. 11011Solution: Add the "start" and "end" attributes. (Maurice S. Barnum) 11012Files: src/if_python.c, runtime/doc/if_pyth.txt 11013 11014Patch 6.2.169 11015Problem: The prototype for _Xmblen() appears in a recent XFree86 header 11016 file, causing a warning for our prototype. (Hisashi T Fujinaka) 11017Solution: Move the prototype to an osdef file, so that it's filtered out. 11018Files: src/mbyte.c, src/osdef2.h.in 11019 11020Patch 6.2.170 11021Problem: When using Sun WorkShop the current directory isn't changed to 11022 where the file is. 11023Solution: Set the 'autochdir' option when using WorkShop. And avoid using 11024 the basename when 'autochdir' is not set. 11025Files: src/gui_x11.c, src/ex_cmds.c 11026 11027Patch 6.2.171 (after 6.2.163) 11028Problem: The "-or" argument of "find" doesn't work for SysV systems. 11029Solution: Use "-o" instead. (Gordon Prieur) 11030Files: src/Makefile 11031 11032Patch 6.2.172 (after 6.2.169) 11033Problem: The prototype for _Xmblen() still causes trouble. 11034Solution: Include the X11 header file that defines the prototype. 11035Files: src/osdef2.h.in, src/osdef.sh 11036 11037Patch 6.2.173 (extra) 11038Problem: Win32: Ruby interface doesn't work with Ruby 1.8.0 for other 11039 compilers than MSVC. 11040Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp) 11041Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak 11042 11043Patch 6.2.174 11044Problem: After the ":intro" message only a mouse click in the last line 11045 gets past the hit-return prompt. 11046Solution: Accept a click at or below the hit-return prompt. 11047Files: src/gui.c, src/message.c 11048 11049Patch 6.2.175 11050Problem: Changing 'backupext' in a *WritePre autocommand doesn't work. 11051 (William Natter) 11052Solution: Move the use of p_bex to after executing the *WritePre 11053 autocommands. Also avoids reading allocated memory after freeing. 11054Files: src/fileio.c 11055 11056Patch 6.2.176 11057Problem: Accented characters in translated help files are not handled 11058 correctly. (Fabien Vayssiere) 11059Solution: Include "192-255" in 'iskeyword' for the help window. 11060Files: src/ex_cmds.c 11061 11062Patch 6.2.177 (extra) 11063Problem: VisVim: Opening a file with a space in the name doesn't work. (Rob 11064 Retter) Arbitrary commands are being executed. (Neil Bird) 11065Solution: Put a backslash in front of every space in the file name. 11066 (Gerard Blais) Terminate the CTRL-\ CTRL-N command with a NUL. 11067Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rc 11068 11069Patch 6.2.178 11070Problem: People who don't know how to exit Vim try pressing CTRL-C. 11071Solution: Give a message how to exit Vim when CTRL-C is pressed and it 11072 doesn't cancel anything. 11073Files: src/normal.c 11074 11075Patch 6.2.179 (extra) 11076Problem: The en_gb messages file isn't found on case sensitive systems. 11077Solution: Rename en_gb to en_GB. (Mike Williams) 11078Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak, 11079 src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txt 11080 11081Patch 6.2.180 11082Problem: Compiling with GTK2 on Win32 doesn't work. 11083Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula) 11084Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.c 11085 11086Patch 6.2.181 (after 6.2.171) 11087Problem: The "-o" argument of "find" has lower priority than the implied 11088 "and" with "-print". 11089Solution: Add parenthesis around the "-o" expression. (Gordon Prieur) 11090Files: src/Makefile 11091 11092Patch 6.2.182 (after 6.2.094) 11093Problem: Compilation with tiny features fails because of missing 11094 get_past_head() function. 11095Solution: Adjust the #ifdef for get_past_head(). 11096Files: src/misc1.c 11097 11098Patch 6.2.183 (after 6.2.178) 11099Problem: Warning for char/unsigned char mixup. 11100Solution: Use MSG() instead of msg(). (Tony Leneis) 11101Files: src/normal.c 11102 11103Patch 6.2.184 11104Problem: With 'formatoptions' set to "1aw" inserting text may cause the 11105 paragraph to be ended. (Alan Schmitt) 11106Solution: Temporarily add an extra space to make the paragraph continue 11107 after moving the word after the cursor to the next line. 11108 Also format when pressing Esc. 11109Files: src/edit.c, src/normal.c, src/proto/edit.pro 11110 11111Patch 6.2.185 11112Problem: Restoring a session with zero-height windows does not work 11113 properly. (Charles Campbell) 11114Solution: Accept a zero argument to ":resize" as intended. Add a window 11115 number argument to ":resize" to be able to set the size of other 11116 windows, because the current window cannot be zero-height. 11117 Fix the explorer plugin to avoid changing the window sizes. Add 11118 the winrestcmd() function for this. 11119Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c, 11120 src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.c 11121 11122Patch 6.2.186 (after 6.2.185) 11123Problem: Documentation file eval.txt contains examples without indent. 11124Solution: Insert the indent. Also fix other mistakes. 11125Files: runtime/doc/eval.txt 11126 11127Patch 6.2.187 11128Problem: Using Insure++ reveals a number of bugs. (Dominuque Pelle) 11129Solution: Initialize variables where needed. Free allocated memory to avoid 11130 leaks. Fix comparing tags to avoid reading past allocated memory. 11131Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c, 11132 src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.c 11133 11134Patch 6.2.188 (extra) 11135Problem: MS-Windows: Multi-byte characters in a filename cause trouble for 11136 the window title. 11137Solution: Return when the wide function for setting the title did its work. 11138Files: src/gui_w48.c 11139 11140Patch 6.2.189 11141Problem: When setting 'viminfo' after editing a new buffer its marks are 11142 not stored. (Keith Roberts) 11143Solution: Set the "b_marks_read" flag when skipping to read marks from the 11144 viminfo file. 11145Files: src/fileio.c 11146 11147Patch 6.2.190 11148Problem: When editing a compressed files, marks are lost. 11149Solution: Add the ":lockmarks" modifier and use it in the gzip plugin. 11150 Make exists() also check for command modifiers, so that the 11151 existence of ":lockmarks" can be checked for. 11152 Also add ":keepmarks" to avoid that marks are deleted when 11153 filtering text. 11154 When deleting lines put marks 'A - 'Z and '0 - '9 at the first 11155 deleted line instead of clearing the mark. They were kept in the 11156 viminfo file anyway. 11157 Avoid that the gzip plugin puts deleted text in registers. 11158Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c, 11159 src/ex_docmd.c, src/mark.c, src/structs.h 11160 11161Patch 6.2.191 11162Problem: The intro message is outdated. Information about sponsoring and 11163 registering is missing. 11164Solution: Show info about sponsoring and registering Vim in the intro 11165 message now and then. Add help file about sponsoring. 11166Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags, 11167 runtime/menu.vim, src/version.c 11168 11169Patch 6.2.192 11170Problem: Using CTRL-T and CTRL-D with "gR" messes up the text. (Jonahtan 11171 Hankins) 11172Solution: Avoid calling change_indent() recursively. 11173Files: src/edit.c 11174 11175Patch 6.2.193 11176Problem: When recalling a search pattern from the history from a ":s,a/c," 11177 command the '/' ends the search string. (JC van Winkel) 11178Solution: Store the separator character with the history entries. Escape 11179 characters when needed, replace the old separator with the new one. 11180 Also fixes that recalling a "/" search for a "?" command messes up 11181 trailing flags. 11182Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro, 11183 src/search.c, src/tag.c 11184 11185Patch 6.2.194 (after 6.2.068) 11186Problem: For NetBeans, instead of writing the file and sending an event 11187 about it, tell NetBeans to write the file. 11188Solution: Add the "save" command, "netbeansBuffer" command and 11189 "buttonRelease" event to the netbeans protocol. Updated the 11190 interface to version 2.2. (Gordon Prieur) 11191 Also: open a fold when the cursor has been positioned. 11192 Also: fix memory leak, free result of nb_quote(). 11193Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c, 11194 src/normal.c, src/proto/netbeans.pro, src/structs.h 11195 11196Patch 6.2.195 (after 6.2.190) 11197Problem: Compiling fails for missing CPO_REMMARK symbol. 11198Solution: Add the patch I forgot to include... 11199Files: src/option.h 11200 11201Patch 6.2.196 (after 6.2.191) 11202Problem: Rebuilding the documentation doesn't use the sponsor.txt file. 11203Solution: Add sponsor.txt to the Makefile. (Christian J. Robinson) 11204Files: runtime/doc/Makefile 11205 11206Patch 6.2.197 11207Problem: It is not possible to force a redraw of status lines. (Gary 11208 Johnson) 11209Solution: Add the ":redrawstatus" command. 11210Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, 11211 src/screen.c 11212 11213Patch 6.2.198 11214Problem: A few messages are not translated. (Ernest Adrogue) 11215Solution: Mark the messages to be translated. 11216Files: src/ex_cmds.c 11217 11218Patch 6.2.199 (after 6.2.194) 11219Problem: Vim doesn't work perfectly well with NetBeans. 11220Solution: When NetBeans saves the file, reset the timestamp to avoid "file 11221 changed" warnings. Close a buffer in a proper way. Don't try 11222 giving a debug message with an invalid pointer. Send a 11223 newDotAndMark message when needed. Report a change by the "r" 11224 command to NetBeans. (Gordon Prieur) 11225Files: src/netbeans.c, src/normal.c 11226 11227Patch 6.2.200 11228Problem: When recovering a file, 'fileformat' is always the default, thus 11229 writing the file may result in differences. (Penelope Fudd) 11230Solution: Before recovering the file try reading the original file to obtain 11231 the values of 'fileformat', 'fileencoding', etc. 11232Files: src/memline.c 11233 11234Patch 6.2.201 11235Problem: When 'autowriteall' is set ":qall" still refuses to exit if there 11236 is a modified buffer. (Antoine Mechelynck) 11237Solution: Attempt writing modified buffers as intended. 11238Files: src/ex_cmds2.c 11239 11240Patch 6.2.202 11241Problem: Filetype names of CHILL and ch script are confusing. 11242Solution: Rename "ch" to "chill" and "chscript" to "ch". 11243Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim 11244 runtime/syntax/ch.vim, runtime/syntax/chill.vim 11245 11246Patch 6.2.203 11247Problem: With characterwise text that has more than one line, "3P" works 11248 wrong. "3p" has the same problem. There also is a display 11249 problem. (Daniel Goujot) 11250Solution: Perform characterwise puts with a count in the right position. 11251Files: src/ops.c 11252 11253Patch 6.2.204 (after 6.2.086) 11254Problem: "]]" in a file with closed folds moves to the end of the file. 11255 (Nam SungHyun) 11256Solution: Find one position in each closed fold, then move to after the fold. 11257Files: src/search.c 11258 11259Patch 6.2.205 (extra) 11260Problem: MS-Windows: When the taskbar is at the left or top of the screen, 11261 the Vim window placement is wrong. 11262Solution: Compute the size and position of the window correctly. (Taro 11263 Muraoka) 11264Files: src/gui_w32.c, src/gui_w48.c 11265 11266Patch 6.2.206 11267Problem: Multi-byte characters cannot be used as hotkeys in a console 11268 dialog. (Mattias Erkisson) 11269Solution: Handle multi-byte characters properly. Also put () or [] around 11270 default hotkeys. 11271Files: src/message.c, src/macros.h 11272 11273Patch 6.2.207 11274Problem: When 'encoding' is a multi-byte encoding, expanding an 11275 abbreviation that starts where insertion started results in 11276 characters before the insertion to be deleted. (Xiangjiang Ma) 11277Solution: Stop searching leftwards for the start of the word at the position 11278 where insertion started. 11279Files: src/getchar.c 11280 11281Patch 6.2.208 11282Problem: When using fold markers, three lines in a row have the start 11283 marker and deleting the first one with "dd", a nested fold is not 11284 deleted. (Kamil Burzynski) 11285 Using marker folding, a level 1 fold doesn't stop when it is 11286 followed by "{{{2", starting a level 2 fold. 11287Solution: Don't stop updating folds at the end of a change when the nesting 11288 level of folds is larger than the fold level. 11289 Correctly compute the number of folds that start at "{{{2". 11290 Also avoid a crash for a NULL pointer. 11291Files: src/fold.c 11292 11293Patch 6.2.209 11294Problem: A bogus fold is created when using "P" while the cursor is in the 11295 middle of a closed fold. (Kamil Burzynski) 11296Solution: Correct the line number where marks are modified for closed folds. 11297Files: src/ops.c 11298 11299Patch 6.2.210 (extra) 11300Problem: Mac OSX: antialiased fonts are not supported. 11301Solution: Add the 'antialias' option to switch on antialiasing on Mac OSX 11302 10.2 and later. (Peter Cucka) 11303Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.c 11304 11305Patch 6.2.211 (extra) 11306Problem: Code for handling file dropped on Vim is duplicated. 11307Solution: Move the common code to gui_handle_drop(). 11308 Add code to drop the files in the window under the cursor. 11309 Support drag&drop on the Macintosh. (Taro Muraoka) 11310 When dropping a directory name edit that directory (using the 11311 explorer plugin) 11312 Fix that changing directory with Shift pressed didn't work for 11313 relative path names. 11314Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c, 11315 src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.pro 11316 11317Patch 6.2.212 (after 6.2.199) 11318Problem: NetBeans: Replacing with a count is not handled correctly. 11319Solution: Move reporting the change outside of the loop for the count. 11320 (Gordon Prieur) 11321Files: src/normal.c 11322 11323Patch 6.2.213 (after 6.2.208) 11324Problem: Using marker folding, "{{{1" doesn't start a new fold when already 11325 at fold level 1. (Servatius Brandt) 11326Solution: Correctly compute the number of folds that start at "{{{1". 11327Files: src/fold.c 11328 11329Patch 6.2.214 (after 6.2.211) (extra) 11330Problem: Warning for an unused variable. 11331Solution: Delete the declaration. (Bill McCarthy) 11332Files: src/gui_w48.c 11333 11334Patch 6.2.215 11335Problem: NetBeans: problems saving an unmodified file. 11336Solution: Add isNetbeansModified() function. Disable netbeans_unmodified(). 11337 (Gordon Prieur) 11338Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro, 11339 runtime/doc/netbeans.txt, runtime/doc/tags 11340 11341Patch 6.2.216 (after 6.2.206) 11342Problem: Multi-byte characters still cannot be used as hotkeys in a console 11343 dialog. (Mattias Erkisson) 11344Solution: Make get_keystroke() handle multi-byte characters. 11345Files: src/misc1.c 11346 11347Patch 6.2.217 11348Problem: GTK: setting the title doesn't always work correctly. 11349Solution: Invoke gui_mch_settitle(). (Tomas Stehlik) 11350Files: src/os_unix.c 11351 11352Patch 6.2.218 11353Problem: Warning for function without prototype. 11354Solution: Add argument types to the msgCB field of the BalloonEval struct. 11355Files: src/gui_beval.h 11356 11357Patch 6.2.219 11358Problem: Syntax highlighting hangs on an empty match of an item with a 11359 nextgroup. (Charles Campbell) 11360Solution: Remember that the item has already matched and don't match it 11361 again at the same position. 11362Files: src/syntax.c 11363 11364Patch 6.2.220 11365Problem: When a Vim server runs in a console a remote command isn't handled 11366 before a key is typed. (Joshua Neuheisel) 11367Solution: Don't try reading more input when a client-server command has been 11368 received. 11369Files: src/os_unix.c 11370 11371Patch 6.2.221 11372Problem: No file name completion for ":cscope add". 11373Solution: Add the XFILE flag to ":cscope". (Gary Johnson) 11374Files: src/ex_cmds.h 11375 11376Patch 6.2.222 11377Problem: Using "--remote" several times on a row only opens some of the 11378 files. (Dany St-Amant) 11379Solution: Don't delete all typeahead when the server receives a command from 11380 a client, only delete typed characters. 11381Files: src/main.c 11382 11383Patch 6.2.223 11384Problem: Cscope: Avoid a hang when cscope waits for a response while Vim 11385 waits for a prompt. 11386 Error messages from Cscope mess up the display. 11387Solution: Detect the hit-enter message and respond by sending a return 11388 character to cscope. (Gary Johnson) 11389 Use EMSG() and strerror() when possible. Replace perror() with 11390 PERROR() everywhere, add emsg3(). 11391Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c, 11392 src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.h 11393 11394Patch 6.2.224 11395Problem: Mac: Can't compile with small features. (Axel Kielhorn) 11396Solution: Also include vim_chdirfile() when compiling for the Mac. 11397Files: src/misc2.c 11398 11399Patch 6.2.225 11400Problem: NetBeans: Reported modified state isn't exactly right. 11401Solution: Report a file being modified in the NetBeans way. 11402Files: src/netbeans.c 11403 11404Patch 6.2.226 (after 6.2.107) (extra) 11405Problem: The "ws2-32.lib" file isn't always available. 11406Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp) 11407Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak 11408 11409Patch 6.2.227 (extra) 11410Problem: The "PC" symbol is defined but not used anywhere. 11411Solution: Remove "-DPC" from the makefiles. 11412Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, 11413 src/Make_ming.mak 11414 11415Patch 6.2.228 11416Problem: Receiving CTRL-\ CTRL-N after typing "f" or "m" doesn't switch Vim 11417 back to Normal mode. Same for CTRL-\ CTRL-G. 11418Solution: Check if the character typed after a command is CTRL-\ and obtain 11419 another character to check for CTRL-N or CTRL-G, waiting up to 11420 'ttimeoutlen' msec. 11421Files: src/normal.c 11422 11423Patch 6.2.229 11424Problem: ":function" with a name that uses magic curlies does not work 11425 inside a function. (Servatius Brandt) 11426Solution: Skip over the function name properly. 11427Files: src/eval.c 11428 11429Patch 6.2.230 (extra) 11430Problem: Win32: a complex pattern may cause a crash. 11431Solution: Use __try and __except to catch the exception and handle it 11432 gracefully, when possible. Add myresetstkoflw() to reset the 11433 stack overflow. (Benjamin Peterson) 11434Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h, 11435 src/proto/os_win32.pro, src/regexp.c 11436 11437Patch 6.2.231 (after 6.2.046) 11438Problem: Various problems when an error exception is raised from within a 11439 builtin function. When it is invoked while evaluating arguments 11440 to a function following arguments are still evaluated. When 11441 invoked with a line range it will be called for remaining lines. 11442Solution: Update "force_abort" also after calling a builtin function, so 11443 that aborting() always returns the correct value. (Servatius 11444 Brandt) 11445Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro, 11446 src/testdir/test49.ok, src/testdir/test49.vim 11447 11448Patch 6.2.232 11449Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene 11450 Minkovskii) 11451Solution: Disallow executing a Python command recursively and give an error 11452 message. 11453Files: src/if_python.c 11454 11455Patch 6.2.233 11456Problem: On Mac OSX adding -pthread for Python only generates a warning. 11457 The test for Perl threads rejects Perl while it's OK. 11458 Tcl doesn't work at all. 11459 The test for Ruby fails if ruby exists but there are no header 11460 files. The Ruby library isn't detected properly 11461Solution: Avoid adding -pthread on Mac OSX. Accept Perl threads when it's 11462 not the 5.5 threads. 11463 Use the Tcl framework for header files. For Ruby rename cWindow 11464 to cVimWindow to avoid a name clash. (Ken Scott) 11465 Only enable Ruby when the header files can be found. Use "-lruby" 11466 instead of "libruby.a" when it can't be found. 11467Files: src/auto/configure, src/configure.in, src/if_ruby.c 11468 11469Patch 6.2.234 11470Problem: GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command 11471 line. 11472Solution: Flush output before removing scrollbars. Also do this in other 11473 places where gui_mch_*() functions are invoked. 11474Files: src/ex_cmds.c, src/option.c, src/window.c 11475 11476Patch 6.2.235 (extra) 11477Problem: Win32: Cursor isn't removed with a 25x80 window and doing: 11478 "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto) 11479Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines(). 11480Files: src/gui_w48.c 11481 11482Patch 6.2.236 11483Problem: Using gvim with Agide gives "connection lost" error messages. 11484Solution: Only give the "connection lost" message when the buffer was once 11485 owned by NetBeans. 11486Files: src/netbeans.c, src/structs.h 11487 11488Patch 6.2.237 11489Problem: GTK 2: Thai text is drawn wrong. It changes when moving the 11490 cursor over it. 11491Solution: Disable the shaping engine, it moves combining characters to a 11492 wrong position and combines characters, while drawing the cursor 11493 doesn't combine characters. 11494Files: src/gui_gtk_x11.c 11495 11496Patch 6.2.238 (after 6.2.231) 11497Problem: ":function" does not work inside a while loop. (Servatius Brandt) 11498Solution: Add get_while_line() and pass it to do_one_cmd() when in a while 11499 loop, so that all lines are stored and can be used again when 11500 repeating the loop. 11501 Adjust test 49 so that it checks for the fixed problems. 11502 (Servatius Brandt) 11503Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, 11504 src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, 11505 src/testdir/test49.in, src/testdir/test49.ok, 11506 src/testdir/test49.vim 11507 11508Patch 6.2.239 11509Problem: GTK 2: With closed folds the arrow buttons of a vertical scrollbar 11510 often doesn't scroll. (Moshe Kaminsky) 11511Solution: Hackish solution: Detect that the button was pressed from the 11512 mouse pointer position. 11513Files: src/gui_gtk.c, src/gui.c 11514 11515Patch 6.2.240 11516Problem: GTK 2: Searching for bitmaps for the toolbar doesn't work as with 11517 other systems. Need to explicitly use "icon=name". (Ned Konz, 11518 Christian J. Robinson) 11519Solution: Search for icons like done for Motif. 11520Files: src/gui_gtk.c 11521 11522Patch 6.2.241 11523Problem: GTK 2: Search and Search/Replace dialogs are synced, that makes no 11524 sense. Buttons are sometimes greyed-out. (Jeremy Messenger) 11525Solution: Remove the code to sync the two dialogs. Adjust the code to react 11526 to an empty search string to also work for GTK2. (David Necas) 11527Files: src/gui_gtk.c 11528 11529Patch 6.2.242 11530Problem: Gnome: "vim --help" only shows the Gnome arguments, not the Vim 11531 arguments. 11532Solution: Don't let the Gnome code remove the "--help" argument and don't 11533 exit at the end of usage(). 11534Files: src/gui_gtk_x11.c, src/main.c 11535 11536Patch 6.2.243 (extra) 11537Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt. 11538Solution: Move the dropped files to the global argument list, instead of the 11539 usual drop handling. (Eckehard Berns) 11540Files: src/main.c, src/gui_mac.c 11541 11542Patch 6.2.244 11543Problem: ':echo "\xf7"' displays the illegal byte as if it was a character 11544 and leaves "cho" after it. 11545Solution: When checking the length of a UTF-8 byte sequence and it's shorter 11546 than the number of bytes available, assume it's an illegal byte. 11547Files: src/mbyte.c 11548 11549Patch 6.2.245 11550Problem: Completion doesn't work for ":keepmarks" and ":lockmarks". 11551Solution: Add the command modifiers to the table of commands. (Madoka 11552 Machitani) 11553Files: src/ex_cmds.h, src/ex_docmd.c 11554 11555Patch 6.2.246 11556Problem: Mac: Starting Vim from Finder doesn't show error messages. 11557Solution: Recognize that output is being displayed by stderr being 11558 "/dev/console". (Eckehard Berns) 11559Files: src/main.c, src/message.c 11560 11561Patch 6.2.247 (after 6.2.193) 11562Problem: When using a search pattern from the viminfo file the last 11563 character is replaced with a '/'. 11564Solution: Store the separator character in the right place. (Kelvin Lee) 11565Files: src/ex_getln.c 11566 11567Patch 6.2.248 11568Problem: GTK: When XIM is enabled normal "2" and keypad "2" cannot be 11569 distinguished. 11570Solution: Detect that XIM changes the keypad key to the expected ASCII 11571 character and fall back to the non-XIM code. (Neil Bird) 11572Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.pro 11573 11574Patch 6.2.249 11575Problem: ":cnext" moves to the error in the next file, but there is no 11576 method to go back. 11577Solution: Add ":cpfile" and ":cNfile". 11578Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txt 11579 11580Patch 6.2.250 11581Problem: Memory leaks when using signs. (Xavier de Gaye) 11582Solution: Delete the list of signs when unloading a buffer. 11583Files: src/buffer.c 11584 11585Patch 6.2.251 11586Problem: GTK: The 'v' flag in 'guioptions' doesn't work. (Steve Hall) 11587 Order of buttons is reversed for GTK 2.2.4. Don't always get 11588 focus back after handling a dialog. 11589Solution: Make buttons appear vertically when desired. Reverse the order in 11590 which buttons are added to a dialog. Move mouse pointer around 11591 when the dialog is done and we don't have focus. 11592Files: src/gui_gtk.c 11593 11594Patch 6.2.252 (extra, after 6.2.243) 11595Problem: Mac: Dropping a file on a Vim icon causes a hit-enter prompt for 11596 Mac OS classic. 11597Solution: Remove the #ifdef from the code that fixes it for Mac OSX. 11598Files: src/gui_mac.c 11599 11600Patch 6.2.253 11601Problem: When 'tagstack' is not set a ":tag id" command does not work after 11602 a ":tjump" command. 11603Solution: Set "new_tag" when 'tagstack' isn't set. (G. Narendran) 11604Files: src/tag.c 11605 11606Patch 6.2.254 11607Problem: May run out of space for error messages. 11608Solution: Keep room for two more bytes. 11609Files: src/quickfix.c 11610 11611Patch 6.2.255 11612Problem: GTK: A new item in the popup menu is put just after instead of 11613 just before the right item. (Gabriel Zachmann) 11614Solution: Don't increment the menu item index. 11615Files: src/gui_gtk.c 11616 11617Patch 6.2.256 11618Problem: Mac: "macroman" encoding isn't recognized, need to use 11619 "8bit-macroman. 11620Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns) 11621Files: src/mbyte.c 11622 11623Patch 6.2.257 (after 6.2.250) 11624Problem: Signs are deleted for ":bdel", but they could still be useful. 11625Solution: Delete signs only for ":bwipe". 11626Files: src/buffer.c 11627 11628Patch 6.2.258 11629Problem: GUI: can't disable (grey-out) a popup menu item. (Ajit Thakkar) 11630Solution: Loop over the popup menus for all modes. 11631Files: src/menu.c 11632 11633Patch 6.2.259 11634Problem: If there are messages when exiting, on the console there is a 11635 hit-enter prompt while the message can be read; in the GUI the 11636 message may not be visible. 11637Solution: Use the hit-enter prompt when there is an error message from 11638 writing the viminfo file or autocommands, or when there is any 11639 output in the GUI and 'verbose' is set. Don't use a hit-enter 11640 prompt for the non-GUI version unless there is an error message. 11641Files: src/main.c 11642 11643Patch 6.2.260 11644Problem: GTK 2: Can't quit a dialog with <Esc>. 11645 GTK 1 and 2: <Enter> always gives a result, even when the default 11646 button has been disabled. 11647Solution: Handle these keys explicitly. When no default button is specified 11648 use the first one (works mostly like it was before). 11649Files: src/gui_gtk.c 11650 11651Patch 6.2.261 11652Problem: When 'autoindent' and 'cindent' are set and a line is recognized 11653 as a comment, starting a new line won't do 'cindent' formatting. 11654Solution: Also use 'cindent' formatting for lines that are used as a 11655 comment. (Servatius Brandt) 11656Files: src/misc1.c 11657 11658Patch 6.2.262 11659Problem: 1 CTRL-W w beeps, even though going to the first window is 11660 possible. (Charles Campbell) 11661Solution: Don't beep. 11662Files: src/window.c 11663 11664Patch 6.2.263 11665Problem: Lint warnings: Duplicate function prototypes, duplicate macros, 11666 use of a zero character instead of a zero pointer, unused 11667 variable. Clearing allocated memory in a complicated way. 11668Solution: Remove the function prototypes from farsi.h. Remove the 11669 duplicated lines in keymap.h. Change getvcol() argument from NUL 11670 to NULL. Remove the "col" variable in regmatch(). Use 11671 lalloc_clear() instead of lalloc(). (Walter Briscoe) 11672Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.c 11673 11674Patch 6.2.264 (after 6.2.247) 11675Problem: Writing past allocated memory when using a command line from the 11676 viminfo file. 11677Solution: Store the NUL in the right place. 11678Files: src/ex_getln.c 11679 11680Patch 6.2.265 11681Problem: Although ":set" is not allowed in the sandbox, ":let &opt = val" 11682 works. 11683Solution: Do allow changing options in the sandbox, but not the ones that 11684 can't be changed from a modeline. 11685Files: src/ex_cmds.h, src/options.c 11686 11687Patch 6.2.266 11688Problem: When redirecting output and using ":silent", line breaks are 11689 missing from output of ":map" and ":tselect". Alignment of 11690 columns is wrong. 11691Solution: Insert a line break where "msg_didout" was tested. Update msg_col 11692 when redirecting and using ":silent". 11693Files: src/getchar.c, src/message.c 11694 11695Patch 6.2.267 (extra) 11696Problem: Win32: "&&" in a tearoff menu is not shown. (Luc Hermitte) 11697Solution: Use the "name" item from the menu instead of the "dname" item. 11698Files: src/gui_w32.c, src/menu.c 11699 11700Patch 6.2.268 11701Problem: GUI: When changing 'guioptions' part of the window may be off 11702 screen. (Randall Morris) 11703Solution: Adjust the size of the window when changing 'guioptions', but only 11704 when adding something. 11705Files: src/gui.c 11706 11707Patch 6.2.269 11708Problem: Diff mode does not highlight a change in a combining character. 11709 (Raphael Finkel) 11710Solution: Make diff_find_change() multi-byte aware: find the start byte of 11711 a character that contains a change. 11712Files: src/diff.c 11713 11714Patch 6.2.270 11715Problem: Completion in Insert mode, then repeating with ".", doesn't handle 11716 composing characters in the completed text. (Raphael Finkel) 11717Solution: Don't skip over composing chars when adding completed text to the 11718 redo buffer. 11719Files: src/getchar.c 11720 11721Patch 6.2.271 11722Problem: NetBeans: Can't do "tail -f" on the log. Passing socket info with 11723 an argument or environment variable is not secure. 11724Solution: Wait after initializing the log. Allow passing the socket info 11725 through a file. (Gordon Prieur) 11726Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.c 11727 11728Patch 6.2.272 11729Problem: When the "po" directory exists, but "po/Makefile" doesn't, 11730 building fails. Make loops when the "po" directory has been 11731 deleted after running configure. 11732Solution: Check for the "po/Makefile" instead of just the "po" directory. 11733 Check this again before trying to run make with that Makefile. 11734Files: src/auto/configure, src/configure.in, src/Makefile 11735 11736Patch 6.2.273 11737Problem: Changing the sort order in an explorer window for an empty 11738 directory produces error messages. (Doug Kearns) 11739Solution: When an invalid range is used for a function that is not going to 11740 be executed, skip over the arguments anyway. 11741Files: src/eval.c 11742 11743Patch 6.2.274 11744Problem: ":print" skips empty lines when 'list' is set and there is no 11745 "eol" in 'listchars'. (Yakov Lerner) 11746Solution: Skip outputting a space for an empty line only when 'list' is set 11747 and the end-of-line character is not empty. 11748Files: src/message.c 11749 11750Patch 6.2.275 (extra, after 6.2.267) 11751Problem: Warning for uninitialized variable when using gcc. 11752Solution: Initialize "acLen" to zero. (Bill McCarthy) 11753Files: src/gui_w32.c 11754 11755Patch 6.2.276 11756Problem: ":echo X()" does not put a line break between the message that X() 11757 displays and the text that X() returns. (Yakov Lerner) 11758Solution: Invoke msg_start() after evaluating the argument. 11759Files: src/eval.c 11760 11761Patch 6.2.277 11762Problem: Vim crashes when a ":runtime ftplugin/ada.vim" causes a recursive 11763 loop. (Robert Nowotniak) 11764Solution: Restore "msg_list" before returning from do_cmdline(). 11765Files: src/ex_docmd.c 11766 11767Patch 6.2.278 11768Problem: Using "much" instead of "many". 11769Solution: Correct the error message. 11770Files: src/eval.c 11771 11772Patch 6.2.279 11773Problem: There is no default choice for a confirm() dialog, now that it is 11774 possible not to have a default choice. 11775Solution: Make the first choice the default choice. 11776Files: runtime/doc/eval.txt, src/eval.c 11777 11778Patch 6.2.280 11779Problem: "do" and ":diffget" don't work in the first line and the last line 11780 of a buffer. (Aron Griffis) 11781Solution: Find a difference above the first line and below the last line. 11782 Also fix a few display updating bugs. 11783Files: src/diff.c, src/fold.c, src/move.c 11784 11785Patch 6.2.281 11786Problem: PostScript printing doesn't work on Mac OS X 10.3.2. 11787Solution: Adjust the header file. (Mike Williams) 11788Files: runtime/print/prolog.ps 11789 11790Patch 6.2.282 11791Problem: When using CTRL-O to go back to a help file, it becomes listed. 11792 (Andrew Nesbit) 11793 Using ":tag" or ":tjump" in a help file doesn't keep the help file 11794 settings (e.g. for 'iskeyword'). 11795Solution: Don't mark a buffer as listed when its help flag is set. Put all 11796 the option settings for a help buffer together in do_ecmd(). 11797Files: src/ex_cmds.c 11798 11799Patch 6.2.283 11800Problem: The "local additions" in help.txt are used without conversion, 11801 causing latin1 characters showing up wrong when 'enc' is utf-8. 11802 (Antoine J. Mechelynck) 11803Solution: Convert the text to 'encoding'. 11804Files: src/ex_cmds.c 11805 11806Patch 6.2.284 11807Problem: Listing a function puts "endfunction" in the message history. 11808 Typing "q" at the more prompt isn't handled correctly when listing 11809 variables and functions. (Hara Krishna Dara) 11810Solution: Don't use msg() for "endfunction". Check "got_int" regularly. 11811Files: src/eval.c 11812 11813Patch 6.2.285 11814Problem: GUI: In a single wrapped line that fills the window, "gj" in the 11815 last screen line leaves the cursor behind. (Ivan Tarasov) 11816Solution: Undraw the cursor before scrolling the text up. 11817Files: src/gui.c 11818 11819Patch 6.2.286 11820Problem: When trying to rename a file and it doesn't exist, the destination 11821 file is deleted anyway. (Luc Deux) 11822Solution: Don't delete the destination when the source doesn't exist. (Taro 11823 Muraoka) 11824Files: src/fileio.c 11825 11826Patch 6.2.287 (after 6.2.264) 11827Problem: Duplicate lines are added to the viminfo file. 11828Solution: Compare with existing entries without an offset. Also fixes 11829 reading very long history lines from viminfo. 11830Files: src/ex_getln.c 11831 11832Patch 6.2.288 (extra) 11833Problem: Mac: An external program can't be interrupted. 11834Solution: Don't use the 'c' key for backspace. (Eckehard Berns) 11835Files: src/gui_mac.c 11836 11837Patch 6.2.289 11838Problem: Compiling the Tcl interface with thread support causes ":make" to 11839 fail. (Juergen Salk) 11840Solution: Use $TCL_DEFS from the Tcl config script to obtain the required 11841 compile flags for using the thread library. 11842Files: src/auto/configure, src/configure.in 11843 11844Patch 6.2.290 (extra) 11845Problem: Mac: The mousewheel doesn't work. 11846Solution: Add mousewheel support. Also fix updating the thumb after a drag 11847 and then using another way to scroll. (Eckehard Berns) 11848Files: src/gui_mac.c 11849 11850Patch 6.2.291 (extra) 11851Problem: Mac: the plus button and close button don't do anything. 11852Solution: Make the plus button maximize the window and the close button 11853 close Vim. (Eckehard Berns) 11854Files: src/gui.c, src/gui_mac.c 11855 11856Patch 6.2.292 11857Problem: Motif: When removing GUI arguments from argv[] a "ps -ef" shows 11858 the last argument repeated. 11859Solution: Set argv[argc] to NULL. (Michael Jarvis) 11860Files: src/gui_x11.c 11861 11862Patch 6.2.293 (after 6.2.255) 11863Problem: GTK: A new item in a menu is put before the tearoff item. 11864Solution: Do increment the menu item index for non-popup menu items. 11865Files: src/gui_gtk.c 11866 11867Patch 6.2.294 (extra) 11868Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape. 11869Solution: Handle all modifiers for these keys. (Eckehard Berns) 11870Files: src/gui_mac.c 11871 11872Patch 6.2.295 11873Problem: When in debug mode, receiving a message from a remote client 11874 causes a crash. Evaluating an expression causes Vim to wait for 11875 "cont" to be typed, without a prompt. (Hari Krishna Dara) 11876Solution: Disable debugging when evaluating an expression for a client. 11877 (Michael Geddes) Don't try reading into the typeahead buffer when 11878 it may have been filled in another way. 11879Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c, 11880 src/misc1.c, src/proto/getchar.pro, src/proto/main.pro, 11881 src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h, 11882 src/os_unix.c, src/ui.c 11883 11884Patch 6.2.296 (extra) 11885Problem: Same as 6.2.295. 11886Solution: Extra files for patch 6.2.295. 11887Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c, 11888 src/proto/os_amiga.pro, src/proto/os_msdos.pro, 11889 src/proto/os_riscos.pro, src/proto/os_win32.pro 11890 11891Patch 6.2.297 (after 6.2.232) 11892Problem: Cannot invoke Python commands recursively. 11893Solution: With Python 2.3 and later use the available mechanisms to invoke 11894 Python recursively. (Matthew Mueller) 11895Files: src/if_python.c 11896 11897Patch 6.2.298 11898Problem: A change always sets the '. mark and an insert always sets the '^ 11899 mark, even when this is not wanted. 11900 Cannot go back to the position of older changes without undoing 11901 those changes. 11902Solution: Add the ":keepjumps" command modifier. 11903 Add the "g," and "g;" commands. 11904Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c, 11905 src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro, 11906 src/structs.h, src/undo.c 11907 11908Patch 6.2.299 11909Problem: Can only use one language for help files. 11910Solution: Add the 'helplang' option to select the preferred language(s). 11911 Make ":helptags" generate tags files for all languages. 11912Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, 11913 src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c, 11914 src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro, 11915 src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h, 11916 src/tag.c, src/vim.h 11917 11918Patch 6.2.300 (after 6.2.297) 11919Problem: Cannot build Python interface with Python 2.2 or earlier. 11920Solution: Add a semicolon. 11921Files: src/if_python.c 11922 11923Patch 6.2.301 11924Problem: The "select all" item from the popup menu doesn't work for Select 11925 mode. 11926Solution: Use the same commands as for the "Edit.select all" menu. 11927 (Benji Fisher) 11928Files: runtime/menu.vim 11929 11930Patch 6.2.302 11931Problem: Using "CTRL-O ." in Insert mode doesn't work properly. (Benji 11932 Fisher) 11933Solution: Restore "restart_edit" after an insert command that was not typed. 11934 Avoid waiting with displaying the mode when there is no text to be 11935 overwritten. 11936 Fix that "CTRL-O ." sometimes doesn't put the cursor back after 11937 the end-of-line. Only reset the flag that CTRL-O was used past 11938 the end of the line when restarting editing. Update "o_lnum" 11939 number when inserting text and "o_eol" is set. 11940Files: src/edit.c, src/normal.c 11941 11942Patch 6.2.303 11943Problem: Cannot use Unicode digraphs while 'encoding' is not Unicode. 11944Solution: Convert the character from Unicode to 'encoding' when needed. 11945 Use the Unicode digraphs for the Macintosh. (Eckehard Berns) 11946Files: src/digraph.c 11947 11948Patch 6.2.304 (extra, after 6.2.256) 11949Problem: Mac: No proper support for 'encoding'. Conversion without iconv() 11950 is not possible. 11951Solution: Convert input from 'termencoding' to 'encoding'. Add 11952 mac_string_convert(). Convert text for the clipboard when needed. 11953 (Eckehard Berns) 11954Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.h 11955 11956Patch 6.2.305 (after 6.2.300) 11957Problem: Win32: Cannot build Python interface with Python 2.3. (Ajit 11958 Thakkar) 11959Solution: Add two functions to the dynamic loading feature. 11960Files: src/if_python.c 11961 11962Patch 6.2.306 (extra) 11963Problem: Win32: Building console version with BCC 5.5 gives a warning for 11964 get_cmd_args() prototype missing. (Ajit Thakkar) 11965Solution: Don't build os_w32exe.c for the console version. 11966Files: src/Make_bc5.mak 11967 11968Patch 6.2.307 (after 6.2.299) 11969Problem: Installing help files fails. 11970Solution: Expand wildcards for translated help files separately. 11971Files: src/Makefile 11972 11973Patch 6.2.308 11974Problem: Not all systems have "whoami", resulting in an empty user name. 11975Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce) 11976Files: src/Makefile 11977 11978Patch 6.2.309 11979Problem: "3grx" waits for two ESC to be typed. (Jens Paulus) 11980Solution: Append the ESC to the stuff buffer when redoing the "gr" insert. 11981Files: src/edit.c 11982 11983Patch 6.2.310 11984Problem: When setting 'undolevels' to -1, making a change and setting 11985 'undolevels' to a positive value an "undo list corrupt" error 11986 occurs. (Madoka Machitani) 11987Solution: Sync undo before changing 'undolevels'. 11988Files: src/option.c 11989 11990Patch 6.2.311 (after 6.2.298) 11991Problem: When making several changes in one line the changelist grows 11992 quickly. There is no error message for reaching the end of the 11993 changelist. Reading changelist marks from viminfo doesn't work 11994 properly. 11995Solution: Only make a new entry in the changelist when making a change in 11996 another line or 'textwidth' columns away. Add E662, E663 and E664 11997 error messages. Put a changelist mark from viminfo one position 11998 before the end. 11999Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.c 12000 12001Patch 6.2.312 (after 6.2.299) 12002Problem: "make install" clears the screen when installing the docs. 12003Solution: Execute ":helptags" in silent mode. 12004Files: runtime/doc/Makefile 12005 12006Patch 6.2.313 12007Problem: When opening folds in a diff window, other diff windows no longer 12008 show the same text. 12009Solution: Sync the folds in diff windows. 12010Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro, 12011 src/proto/move.pro 12012 12013Patch 6.2.314 12014Problem: When 'virtualedit' is set "rx" may cause a crash with a blockwise 12015 selection and using "$". (Moritz Orbach) 12016Solution: Don't try replacing chars in a line that has no characters in the 12017 block. 12018Files: src/ops.c 12019 12020Patch 6.2.315 12021Problem: Using CTRL-C in a Visual mode mapping while 'insertmode' is set 12022 stops Vim from returning to Insert mode. 12023Solution: Don't reset "restart_edit" when a CTRL-C is found and 'insertmode' 12024 is set. 12025Files: src/normal.c 12026 12027Patch 6.2.316 (after 6.2.312) 12028Problem: "make install" tries connecting to the X server when installing 12029 the docs. (Stephen Thomas) 12030Solution: Add the "-X" argument. 12031Files: runtime/doc/Makefile 12032 12033Patch 6.2.317 (after 6.2.313) 12034Problem: When using "zi" in a diff window, other diff windows are not 12035 adjusted. (Richard Curnow) 12036Solution: Distribute a change in 'foldenable' to other diff windows. 12037Files: src/normal.c 12038 12039Patch 6.2.318 12040Problem: When compiling with _THREAD_SAFE external commands don't echo 12041 typed characters. 12042Solution: Don't set the terminal mode to TMODE_SLEEP when it's already at 12043 TMODE_COOK. 12044Files: src/os_unix.c 12045 12046Patch 6.2.319 (extra) 12047Problem: Building gvimext.dll with Mingw doesn't work properly. 12048Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro 12049 Lopez-Valencia) 12050Files: src/GvimExt/Make_ming.mak 12051 12052Patch 6.2.320 12053Problem: Win32: Adding and removing the menubar resizes the Vim window. 12054 (Jonathon Merz) 12055Solution: Don't let a resize event change 'lines' unexpectedly. 12056Files: src/gui.c 12057 12058Patch 6.2.321 12059Problem: When using modeless selection, wrapping lines are not recognized, 12060 a line break is always inserted. 12061Solution: Add LineWraps[] to remember whether a line wrapped or not. 12062Files: src/globals.h, src/screen.c, src/ui.c 12063 12064Patch 6.2.322 12065Problem: With 'showcmd' set, after typing "dd" the next "d" may not be 12066 displayed. (Jens Paulus) 12067Solution: Redraw the command line after updating the screen, scrolling may 12068 have set "clear_cmdline". 12069Files: src/screen.c 12070 12071Patch 6.2.323 12072Problem: Win32: expanding "~/file" in an autocommand pattern results in 12073 backslashes, while this pattern should only have forward slashes. 12074Solution: Make expanding environment variables respect 'shellslash' and set 12075 p_ssl when expanding the autocommand pattern. 12076Files: src/fileio.c, src/misc1.c, src/proto/fileio.pro 12077 12078Patch 6.2.324 (extra) 12079Problem: Win32: when "vimrun.exe" has a path with white space, such as 12080 "Program Files", executing external commands may fail. 12081Solution: Put double quotes around the path to "vimrun". 12082Files: src/os_win32.c 12083 12084Patch 6.2.325 12085Problem: When $HOME includes a space, doing ":set tags=~/tags" doesn't 12086 work, the space is used to separate file names. (Brett Stahlman) 12087Solution: Escape the space with a backslash. 12088Files: src/option.c 12089 12090Patch 6.2.326 12091Problem: ":windo set syntax=foo" doesn't work. (Tim Chase) 12092Solution: Don't change 'eventignore' for ":windo". 12093Files: src/ex_cmds2.c 12094 12095Patch 6.2.327 12096Problem: When formatting text all marks in the formatted lines are lost. 12097 A word is not joined to a previous line when this would be 12098 possible. (Mikolaj Machowski) 12099Solution: Try to keep marks in the same position as much as possible. 12100 Also keep mark positions when joining lines. 12101 Start auto-formatting in the previous line when appropriate. 12102 Add the "gw" operator: Like "gq" but keep the cursor where it is. 12103Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c, 12104 src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro, 12105 src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.h 12106 12107Patch 6.2.328 12108Problem: XIM with GTK: It is hard to understand what XIM is doing. 12109Solution: Add xim_log() to log XIM events and help with debugging. 12110Files: src/mbyte.c 12111 12112Patch 6.2.329 12113Problem: ":=" does not work Vi compatible. (Antony Scriven) 12114Solution: Print the last line number instead of the current line. Don't 12115 print "line". 12116Files: src/ex_cmds.h, src/ex_docmd.c 12117 12118Patch 6.2.330 (extra, after 6.2.267) 12119Problem: Win32: Crash when tearing off a menu. 12120Solution: Terminate a string with a NUL. (Yasuhiro Matsumoto) 12121Files: src/gui_w32.c 12122 12123Patch 6.2.331 (after 6.2.327) 12124Problem: "gwap" leaves cursor in the wrong line. 12125Solution: Remember the cursor position before finding the ends of the 12126 paragraph. 12127Files: src/normal.c, src/ops.c, src/structs.h 12128 12129Patch 6.2.332 (extra) 12130Problem: Amiga: Compile error for string array. Compiling the Amiga GUI 12131 doesn't work. 12132Solution: Use a char pointer instead. Move including "gui_amiga.h" to after 12133 including "vim.h". Add a semicolon. (Ali Akcaagac) 12134Files: src/gui_amiga.c, src/os_amiga.c 12135 12136Patch 6.2.333 (extra) 12137Problem: Win32: printing doesn't work with specified font charset. 12138Solution: Use the specified font charset. (Mike Williams) 12139Files: src/os_mswin.c 12140 12141Patch 6.2.334 (extra, after 6.2.296) 12142Problem: Win32: evaluating client expression in debug mode requires typing 12143 "cont". 12144Solution: Use eval_client_expr_to_string(). 12145Files: src/os_mswin.c 12146 12147Patch 6.2.335 12148Problem: The ":sign" command cannot be followed by another command. 12149Solution: Add TRLBAR to the command flags. 12150Files: src/ex_cmds.h 12151 12152Patch 6.2.336 (after 6.2.327) 12153Problem: Mixup of items in an expression. 12154Solution: Move "== NUL" to the right spot. 12155Files: src/edit.c 12156 12157Patch 6.2.337 (extra, after 6.2.319) 12158Problem: Building gvimext.dll with Mingw doesn't work properly. 12159Solution: Fix white space and other details. (Alejandro Lopez-Valencia) 12160Files: src/GvimExt/Make_ming.mak 12161 12162Patch 6.2.338 (after 6.2.331) 12163Problem: When undoing "gwap" the cursor is always put at the start of the 12164 paragraph. When undoing auto-formatting the cursor may be above 12165 the change. 12166Solution: Try to move the cursor back to where it was or to the first line 12167 that actually changed. 12168Files: src/normal.c, src/ops.c, src/undo.c 12169 12170Patch 6.2.339 12171Problem: Crash when using many different highlight groups and a User 12172 highlight group. (Juergen Kraemer) 12173Solution: Do not use the sg_name_u pointer when it is NULL. Also simplify 12174 use of the highlight group table. 12175Files: src/syntax.c 12176 12177Patch 6.2.340 12178Problem: ":reg" doesn't show the actual contents of the clipboard if it was 12179 filled outside of Vim. (Stuart MacDonald) 12180Solution: Obtain the clipboard contents before displaying it. 12181Files: src/ops.c 12182 12183Patch 6.2.341 (extra) 12184Problem: Win32: When the path to diff.exe contains a space and using the 12185 vimrc generated by the install program, diff mode does not work. 12186Solution: Put the first double quote just before the space instead of before 12187 the path. 12188Files: src/dosinst.c 12189 12190Patch 6.2.342 (extra) 12191Problem: Win32: macros are not always used as expected. 12192Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro 12193 Lopez-Valencia) 12194Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.mak 12195 12196Patch 6.2.343 12197Problem: Title doesn't work with some window managers. X11: Setting the 12198 text property for the window title is hard coded. 12199Solution: Use STRING format when possible. Use the UTF-8 function when 12200 it's available and 'encoding' is utf-8. Use 12201 XStringListToTextProperty(). Do the same for the icon name. 12202 (David Harrison) 12203Files: src/os_unix.c 12204 12205Patch 6.2.344 (extra, after 6.2.337) 12206Problem: Cannot build gvimext.dll with MingW on Linux. 12207Solution: Add support for cross compiling. (Ronald Hoellwarth) 12208Files: src/GvimExt/Make_ming.mak 12209 12210Patch 6.2.345 (extra) 12211Problem: Win32: Copy/paste between two Vims fails if 'encoding' is not set 12212 properly or there are illegal bytes. 12213Solution: Use a raw byte format. Always set it when copying. When pasting 12214 use the raw format if 'encoding' is the same. 12215Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h 12216 12217Patch 6.2.346 12218Problem: Win32 console: After using "chcp" Vim does not detect the 12219 different codepage. 12220Solution: Use GetConsoleCP() and when it is different from GetACP() set 12221 'termencoding'. 12222Files: src/option.c 12223 12224Patch 6.2.347 (extra) 12225Problem: Win32: XP theme support is missing. 12226Solution: Add a manifest and refer to it from the resource file. (Michael 12227 Wookey) 12228Files: Makefile, src/gvim.exe.mnf, src/vim.rc 12229 12230Patch 6.2.348 12231Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname' 12232 default value doesn't contain parenthesis. 12233Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name 12234 arguments. 12235Files: src/main.c 12236 12237Patch 6.2.349 12238Problem: Finding a match using 'matchpairs' may cause a crash. 12239 'matchpairs' is not used for 'showmatch'. 12240Solution: Don't look past the NUL in 'matchpairs'. Use 'matchpairs' for 12241 'showmatch'. (Dave Olszewkski) 12242Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.c 12243 12244Patch 6.2.350 12245Problem: Not enough info about startup timing. 12246Solution: Add a few more TIME_MSG() calls. 12247Files: src/main.c 12248 12249Patch 6.2.351 12250Problem: Win32: $HOME may be set to %USERPROFILE%. 12251Solution: Expand %VAR% at the start of $HOME. 12252Files: src/misc1.c 12253 12254Patch 6.2.352 (after 6.2.335) 12255Problem: ":sign texthl=||" does not work. 12256Solution: Remove the check for a following command. Give an error for extra 12257 arguments after "buff=1". 12258Files: src/ex_cmds.c, src/ex_cmds.h 12259 12260Patch 6.2.353 (extra) 12261Problem: Win32: Supported server name length is limited. (Paul Bossi) 12262Solution: Use MAX_PATH instead of 25. 12263Files: src/os_mswin.c 12264 12265Patch 6.2.354 (extra) 12266Problem: Win32: When the mouse pointer is on a tear-off menu it is hidden 12267 when typing but is not redisplayed when moved. (Markx Hackmann) 12268Solution: Handle the pointer move event for the tear-off menu window. 12269Files: src/gui_w32.c 12270 12271Patch 6.2.355 (after 6.2.303) 12272Problem: When 'encoding' is a double-byte encoding different from the 12273 current locale, the width of characters is not correct. 12274 Possible failure and memory leak when using iconv, Unicode 12275 digraphs and 'encoding' is not "utf-8". 12276Solution: Use iconv() to discover the actual width of characters. 12277 Add the "vc_fail" field to vimconv_T. 12278 When converting a digraph, init the conversion type to NONE and 12279 cleanup afterwards. 12280Files: src/digraph.c, src/mbyte.c, src/structs.h 12281 12282Patch 6.2.356 12283Problem: When using a double-byte 'encoding' and 'selection' is 12284 "exclusive", "vy" only yanks the first byte of a double-byte 12285 character. (Xiangjiang Ma) 12286Solution: Correct the column in unadjust_for_sel() to position on the first 12287 byte, always include the trailing byte of the selected text. 12288Files: src/normal.c 12289 12290Patch 6.2.357 (after 6.2.321) 12291Problem: Memory leak when resizing the Vim window. 12292Solution: Free the LineWraps array. 12293Files: src/screen.c 12294 12295Patch 6.2.358 (after 6.2.299) 12296Problem: Memory leak when using ":help" and the language doesn't match. 12297Solution: Free the array with matching tags. 12298Files: src/ex_cmds.c 12299 12300Patch 6.2.359 (after 6.2.352) 12301Problem: Compiler warning for long to int type cast. 12302Solution: Add explicit type cast. 12303Files: src/ex_cmds.c 12304 12305Patch 6.2.360 12306Problem: "100|" in an empty line results in a ruler "1,0-100". (Pavol 12307 Juhas) 12308Solution: Recompute w_virtcol if the target column was not reached. 12309Files: src/misc2.c 12310 12311Patch 6.2.361 (extra) 12312Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while 12313 pressing Esc, then release Alt: Cursor disappears and typing a key 12314 causes a beep. (Hari Krishna Dara) 12315Solution: Don't ignore the WM_SYSKEYUP event when the menu is disabled. 12316Files: src/gui_w32.c 12317 12318Patch 6.2.362 (extra, after 6.2.347) 12319Problem: Win32: The manifest causes Gvim not to work. (Dave Roberts) 12320Solution: Change "x86" to "X86". (Serge Pirotte) 12321Files: src/gvim.exe.mnf 12322 12323Patch 6.2.363 12324Problem: In an empty file with 'showmode' off, "i" doesn't change the ruler 12325 from "0-1" to "1". Typing "x<BS>" does show "1", but then <Esc> 12326 doesn't make it "0-1" again. Same problem for ruler in 12327 statusline. (Andrew Pimlott) 12328Solution: Remember the "empty line" flag with Insert mode and'ed to it. 12329Files: src/screen.c 12330 12331Patch 6.2.364 12332Problem: HTML version of the documentation doesn't mention the encoding, 12333 which is a problem for mbyte.txt. 12334Solution: Adjust the awk script. (Ilya Sher) 12335Files: runtime/doc/makehtml.awk 12336 12337Patch 6.2.365 12338Problem: The configure checks for Perl and Python may add compile and link 12339 arguments that break building Vim. 12340Solution: Do a sanity check: try building with the arguments. 12341Files: src/auto/configure, src/configure.in 12342 12343Patch 6.2.366 12344Problem: When the GUI can't start because no valid font is found, there is 12345 no error message. (Ugen) 12346Solution: Add an error message. 12347Files: src/gui.c 12348 12349Patch 6.2.367 12350Problem: Building the help tags file while installing may fail if there is 12351 another Vim in $PATH. 12352Solution: Specify the just installed Vim executable. (Gordon Prieur) 12353Files: src/Makefile 12354 12355Patch 6.2.368 12356Problem: When 'autochdir' is set, closing a window doesn't change to the 12357 directory of the new current window. (Salman Halim) 12358Solution: Handle 'autochdir' always when a window becomes the current one. 12359Files: src/window.c 12360 12361Patch 6.2.369 12362Problem: Various memory leaks: when using globpath(), when searching for 12363 help tags files, when defining a function inside a function, when 12364 giving an error message through an exception, for the final "." 12365 line in ":append", in expression "cond ? a : b" that fails and for 12366 missing ")" in an expression. Using NULL pointer when adding 12367 first user command and for pointer computations with regexp. 12368 (tests by Dominique Pelle) 12369Solution: Fix the leaks by freeing the allocated memory. Don't use the 12370 array of user commands when there are no entries. Use a macro 12371 instead of a function call for saving and restoring regexp states. 12372Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, 12373 src/misc2.c, src/regexp.c, src/screen.c, src/tag.c 12374 12375Patch 6.2.370 (extra, after6.2.341) 12376Problem: Win32: When the path to diff.exe contains a space and using the 12377 vimrc generated by the install program, diff mode may not work. 12378 (Alejandro Lopez-Valencia) 12379Solution: Do not use double quotes for arguments that do not have a space. 12380Files: src/dosinst.c 12381 12382Patch 6.2.371 12383Problem: When 'virtualedit' is set and there is a Tab before the next "x", 12384 "dtx" does not delete the whole Tab. (Ken Hashishi) 12385Solution: Move the cursor to the last position of the Tab. Also for 12386 "df<Tab>". 12387Files: src/normal.c 12388 12389Patch 6.2.372 12390Problem: When using balloon evaluation, no value is displayed for members 12391 of structures and items of an array. 12392Solution: Include "->", "." and "[*]" in the expression. 12393Files: src/gui_beval.c, src/normal.c, src/vim.h 12394 12395Patch 6.2.373 12396Problem: When 'winminheight' is zero and a window is reduced to zero 12397 height, the ruler always says "Top" instead of the cursor 12398 position. (Antoine J. Mechelynck) 12399Solution: Don't recompute w_topline for a zero-height window. 12400Files: src/window.c 12401 12402Patch 6.2.374 12403Problem: ":echo "hello" | silent normal n" removes the "hello" message. 12404 (Servatius Brandt) 12405Solution: Don't echo the search string when ":silent" was used. Also don't 12406 show the mode. In general: don't clear to the end of the screen. 12407Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro, 12408 src/screen.c, src/search.c, src/window.c 12409 12410Patch 6.2.375 12411Problem: When changing 'guioptions' the hit-enter prompt may be below the 12412 end of the Vim window. 12413Solution: Call screen_alloc() before showing the prompt. 12414Files: src/message.c 12415 12416Patch 6.2.376 12417Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6. 12418Solution: Add #ifdefs around use of rb_w32_snprintf(). (Beno�t Cerrina) 12419Files: src/if_ruby.c 12420 12421Patch 6.2.377 (after 6.2.372) 12422Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey) 12423Solution: Add type cast. 12424Files: src/normal.c 12425 12426Patch 6.2.378 (extra, after 6.2.118) 12427Problem: Mac: cannot build with Project Builder. 12428Solution: Add remove_tail_with_ext() to locate and remove the "build" 12429 directory from the runtime path. Include os_unix.c when needed. 12430 (Dany St Amant) 12431Files: src/misc1.c, src/os_macosx.c, src/vim.h 12432 12433Patch 6.2.379 12434Problem: Using ":mkvimrc" in the ":options" window sets 'bufhidden' to 12435 "delete". (Michael Naumann) 12436Solution: Do not add buffer-specific option values to a global vimrc file. 12437Files: src/option.c 12438 12439Patch 6.2.380 (extra) 12440Problem: DOS: "make test" fails when running it again. Can't "make test" 12441 with Borland C. 12442Solution: Make sure ".out" files are deleted when they get in the way. Add 12443 a "test" target to the Borland C Makefile. 12444Files: src/Make_bc5.mak, src/testdir/Make_dos.mak 12445 12446Patch 6.2.381 12447Problem: Setting 'fileencoding' to a comma separated list (confusing it 12448 with 'fileencodings') does not result in an error message. 12449 Setting 'fileencoding' in an empty file marks it as modified. 12450 There is no "+" in the title after setting 'fileencoding'. 12451Solution: Check for a comma in 'fileencoding'. Only consider a non-empty 12452 file modified by changing 'fileencoding'. Update the title after 12453 changing 'fileencoding'. 12454Files: src/option.c 12455 12456Patch 6.2.382 12457Problem: Running "make test" puts marks from test files in viminfo. 12458Solution: Specify a different viminfo file to use. 12459Files: src/testdir/test15.in, src/testdir/test49.in 12460 12461Patch 6.2.383 12462Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven) 12463Solution: Check that the closing ' is there. 12464Files: src/syntax.c 12465 12466Patch 6.2.384 12467Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated. 12468Solution: Also compare the names without '&' characters. 12469Files: src/menu.c 12470 12471Patch 6.2.385 (extra) 12472Problem: Win32: forward_slash() and trash_input_buf() are undefined when 12473 compiling with small features. (Ajit Thakkar) 12474Solution: Change the #ifdefs for forward_slash(). Don't call 12475 trash_input_buf() if the input buffer isn't used. 12476Files: src/fileio.c, src/os_win32.c 12477 12478Patch 6.2.386 12479Problem: Wasting time trying to read marks from the viminfo file for a 12480 buffer without a name. 12481Solution: Skip reading marks when the buffer has no name. 12482Files: src/fileio.c 12483 12484Patch 6.2.387 12485Problem: There is no highlighting of translated items in help files. 12486Solution: Search for a "help_ab.vim" syntax file when the help file is 12487 called "*.abx". Also improve the help highlighting a bit. 12488Files: runtime/syntax/help.vim 12489 12490Patch 6.2.388 12491Problem: GTK: When displaying some double-width characters they are drawn 12492 as single-width, because of conversion to UTF-8. 12493Solution: Check the width that GTK uses and add a space if it's one instead 12494 of two. 12495Files: src/gui_gtk_x11.c 12496 12497Patch 6.2.389 12498Problem: When working over a slow connection, it's very annoying that the 12499 last line is partly drawn and then cleared for every change. 12500Solution: Don't redraw the bottom line if no rows were inserted or deleted. 12501 Don't draw the line if we know "@" lines will be used. 12502Files: src/screen.c 12503 12504Patch 6.2.390 12505Problem: Using "r*" in Visual mode on multi-byte characters only replaces 12506 every other character. (Tyson Roberts) 12507Solution: Correct the cursor position after replacing each character. 12508Files: src/ops.c 12509 12510Patch 6.2.391 (extra) 12511Problem: The ":highlight" command is not tested. 12512Solution: Add a test script for ":highlight". 12513Files: src/testdir/Makefile, src/testdir/Make_amiga.mak, 12514 src/testdir/Make_dos.mak, src/testdir/Make_os2.mak, 12515 src/testdir/Make_vms.mms, src/testdir/test51.in, 12516 src/testdir/test51.ok 12517 12518Patch 6.2.392 (after 6.2.384) 12519Problem: Unused variable. 12520Solution: Remove "dlen". 12521Files: src/menu.c 12522 12523Patch 6.2.393 12524Problem: When using very long lines the viminfo file can become very big. 12525Solution: Add the "s" flag to 'viminfo': skip registers with more than the 12526 specified Kbyte of text. 12527Files: runtime/doc/options.txt, src/ops.c, src/option.c 12528 12529Patch 6.2.394 (after 6.2.391) 12530Problem: Test 51 fails on a terminal with 8 colors. (Tony Leneis) 12531Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute. 12532Files: src/testdir/test51.in 12533 12534Patch 6.2.395 12535Problem: When using ":tag" or ":pop" the previous matching tag is used. 12536 But since the current file is different, the ordering of the tags 12537 may change. 12538Solution: Remember what the current buffer was for when re-using cur_match. 12539Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h, 12540 src/tag.c 12541 12542Patch 6.2.396 12543Problem: When CTRL-T jumps to another file and an autocommand moves the 12544 cursor to the '" mark, don't end up on the right line. (Michal 12545 Malecki) 12546Solution: Set the line number after loading the file. 12547Files: src/tag.c 12548 12549Patch 6.2.397 12550Problem: When using a double-byte 'encoding' mapping <M-x> doesn't work. 12551 (Yasuhiro Matsumoto) 12552Solution: Do not set the 8th bit of the character but use a modifier. 12553Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.c 12554 12555Patch 6.2.398 (extra) 12556Problem: Win32 console: no extra key modifiers are supported. 12557Solution: Encode the modifiers into the input stream. Also fix that special 12558 keys are converted and stop working when 'tenc' is set. Also fix 12559 that when 'tenc' is initialized the input and output conversion is 12560 not setup properly until 'enc' or 'tenc' is set. 12561Files: src/getchar.c, src/option.c, src/os_win32.c 12562 12563Patch 6.2.399 12564Problem: A ":set" command that fails still writes a message when it is 12565 inside a try/catch block. 12566Solution: Include all the text of the message in the error message. 12567Files: src/charset.c, src/option.c 12568 12569Patch 6.2.400 12570Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0. 12571Solution: Include header file poll.h. (Malte Neumann) 12572Files: src/if_xcmdsrv.c 12573 12574Patch 6.2.401 12575Problem: When opening a buffer that was previously opened, Vim does not 12576 restore the cursor position if the first line starts with white 12577 space. (Gregory Margo) 12578Solution: Don't skip restoring the cursor position if it is past the blanks 12579 in the first line. 12580Files: src/buffer.c 12581 12582Patch 6.2.402 12583Problem: Mac: "make install" doesn't generate help tags. (Benji Fisher) 12584Solution: Generate help tags before copying the runtime files. 12585Files: src/Makefile 12586 12587Patch 6.2.403 12588Problem: ":@y" checks stdin if there are more commands to execute. This 12589 fails if stdin is not connected, e.g., when starting the GUI from 12590 KDE. (Ned Konz) 12591Solution: Only check for a next command if there still is typeahead. 12592Files: src/ex_docmd.c 12593 12594Patch 6.2.404 12595Problem: Our own function to determine width of Unicode characters may get 12596 outdated. (Markus Kuhn) 12597Solution: Use wcwidth() when it is available. Also use iswprint(). 12598Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.c 12599 12600Patch 6.2.405 12601Problem: Cannot map zero without breaking the count before a command. 12602 (Benji Fisher) 12603Solution: Disable mapping zero when entering a count. 12604Files: src/getchar.c, src/globals.h, src/normal.c 12605 12606Patch 6.2.406 12607Problem: ":help \zs", ":help \@=" and similar don't find useful help. 12608Solution: Prepend "/\" to the arguments to find the desired help tag. 12609Files: src/ex_cmds.c 12610 12611Patch 6.2.407 (after 6.2.299) 12612Problem: ":help \@<=" doesn't find help. 12613Solution: Avoid that ":help \@<=" searches for the "<=" language. 12614Files: src/tag.c 12615 12616Patch 6.2.408 12617Problem: ":compiler" is not consistent: Sets local options and a global 12618 variable. (Douglas Potts) There is no error message when a 12619 compiler is not supported. 12620Solution: Use ":compiler!" to set a compiler globally, otherwise it's local 12621 to the buffer and "b:current_compiler" is used. Give an error 12622 when no compiler script could be found. 12623 Note: updated compiler plugins can be found at 12624 ftp://ftp.vim.org/pub/vim/runtime/compiler/ 12625Files: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c, 12626 src/ex_cmds2.c 12627 12628Patch 6.2.409 12629Problem: The cursor ends up in the last column instead of after the line 12630 when doing "i//<Esc>o" with 'indentexpr' set to "cindent(v:lnum)". 12631 (Toby Allsopp) 12632Solution: Adjust the cursor as if in Insert mode. 12633Files: src/misc1.c 12634 12635Patch 6.2.410 (after 6.2.389) 12636Problem: In diff mode, when there are more filler lines than fit in the 12637 window, they are not drawn. 12638Solution: Check for filler lines when skipping to draw a line that doesn't 12639 fit. 12640Files: src/screen.c 12641 12642Patch 6.2.411 12643Problem: A "\n" inside a string is not seen as a line break by the regular 12644 expression matching. (Hari Krishna Dara) 12645Solution: Add the vim_regexec_nl() function for strings where "\n" is to be 12646 matched with a line break. 12647Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.c 12648 12649Patch 6.2.412 12650Problem: Ruby: "ruby << EOF" inside a function doesn't always work. Also 12651 for ":python", ":tcl" and ":perl". 12652Solution: Check for "<< marker" and skip until "marker" before checking for 12653 "endfunction". 12654Files: src/eval.c 12655 12656Patch 6.2.413 (after 6.2.411) 12657Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky) 12658Solution: Now really include the prototype. 12659Files: src/proto/regexp.pro 12660 12661Patch 6.2.414 12662Problem: The function used for custom completion of user commands cannot 12663 have <SID> to make it local. (Hari Krishna Dara) 12664Solution: Pass the SID of the script where the user command was defined on 12665 to the completion. Also clean up #ifdefs. 12666Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.h 12667 12668Patch 6.2.415 12669Problem: Vim may crash after a sequence of events that change the window 12670 size. The window layout assumes a larger window than is actually 12671 available. (Servatius Brandt) 12672Solution: Invoke win_new_shellsize() from screenalloc() instead of from 12673 set_shellsize(). 12674Files: src/screen.c, src/term.c 12675 12676Patch 6.2.416 12677Problem: Compiler warning for incompatible pointer. 12678Solution: Remove the "&" in the call to poll(). (Xavier de Gaye) 12679Files: src/os_unix.c 12680 12681Patch 6.2.417 (after 6.2.393) 12682Problem: Many people forget that the '"' item in 'viminfo' needs to be 12683 preceded with a backslash, 12684Solution: Add '<' as an alias for the '"' item. 12685Files: runtime/doc/options.txt, src/ops.c, src/option.c 12686 12687Patch 6.2.418 12688Problem: Using ":nnoremap <F12> :echo "cheese" and ":cabbr cheese xxx": 12689 when pressing <F12> still uses the abbreviation. (Hari Krishna) 12690Solution: Also apply "noremap" to abbreviations. 12691Files: src/getchar.c 12692 12693Patch 6.2.419 (extra) 12694Problem: Win32: Cannot open the Vim window inside another application. 12695Solution: Add the "-P" argument to specify the window title of the 12696 application to run inside. (Zibo Zhao) 12697Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c, 12698 src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c, 12699 src/proto/gui_w32.pro 12700 12701Patch 6.2.420 12702Problem: Cannot specify a file to be edited in binary mode without setting 12703 the global value of the 'binary' option. 12704Solution: Support ":edit ++bin file". 12705Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h, 12706 src/ex_docmd.c, src/fileio.c, src/misc2.c 12707 12708Patch 6.2.421 12709Problem: Cannot set the '[ and '] mark, which may be necessary when an 12710 autocommand simulates reading a file. 12711Solution: Allow using "m[" and "m]". 12712Files: runtime/doc/motion.txt, src/mark.c 12713 12714Patch 6.2.422 12715Problem: In CTRL-X completion messages the "/" makes them less readable. 12716Solution: Remove the slashes. (Antony Scriven) 12717Files: src/edit.c 12718 12719Patch 6.2.423 12720Problem: ":vertical wincmd ]" does not split vertically. 12721Solution: Add "postponed_split_flags". 12722Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.c 12723 12724Patch 6.2.424 12725Problem: A BufEnter autocommand that sets an option stops 'mousefocus' from 12726 working in Insert mode (Normal mode is OK). (Gregory Seidman) 12727Solution: In the Insert mode loop invoke gui_mouse_correct() when needed. 12728Files: src/edit.c 12729 12730Patch 6.2.425 12731Problem: Vertical split and command line window: can only drag status line 12732 above the cmdline window on the righthand side, not lefthand side. 12733Solution: Check the status line row instead of the window pointer. 12734Files: src/ui.c 12735 12736Patch 6.2.426 12737Problem: A syntax region end match with a matchgroup that includes a line 12738 break only highlights the last line with matchgroup. (Gary 12739 Holloway) 12740Solution: Also use the line number of the position where the region 12741 highlighting ends. 12742Files: src/syntax.c 12743 12744Patch 6.2.427 (extra) 12745Problem: When pasting a lot of text in a multi-byte encoding, conversion 12746 from 'termencoding' to 'encoding' may fail for some characters. 12747 (Kuang-che Wu) 12748Solution: When there is an incomplete byte sequence at the end of the read 12749 text keep it for the next time. 12750Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro, 12751 src/proto/os_mswin.pro, src/ui.c 12752 12753Patch 6.2.428 12754Problem: The X11 clipboard supports the Vim selection for char/line/block 12755 mode, but since the encoding is not included can't copy/paste 12756 between two Vims with a different 'encoding'. 12757Solution: Add a new selection format that includes the 'encoding'. Perform 12758 conversion when necessary. 12759Files: src/gui_gtk_x11.c, src/ui.c, src/vim.h 12760 12761Patch 6.2.429 12762Problem: Unix: glob() doesn't work for a directory with a single quote in 12763 the name. (Nazri Ramliy) 12764Solution: When using the shell to expand, only put double quotes around 12765 spaces and single quotes, not the whole thing. 12766Files: src/os_unix.c 12767 12768Patch 6.2.430 12769Problem: BOM at start of a vim script file is not recognized and causes an 12770 error message. 12771Solution: Detect the BOM and skip over it. Also fix that after using 12772 ":scriptencoding" the iconv() file descriptor was not closed 12773 (memory leak). 12774Files: src/ex_cmds2.c 12775 12776Patch 6.2.431 12777Problem: When using the horizontal scrollbar, the scrolling is limited to 12778 the length of the cursor line. 12779Solution: Make the scroll limit depend on the longest visible line. The 12780 cursor is moved when necessary. Including the 'h' flag in 12781 'guioptions' disables this. 12782Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c, 12783 src/misc2.c, src/option.h 12784 12785Patch 6.2.432 (after 6.2.430 and 6.2.431) 12786Problem: Lint warnings. 12787Solution: Add type casts. 12788Files: src/ex_cmds2.c, src/gui.c 12789 12790Patch 6.2.433 12791Problem: Translating "VISUAL" and "BLOCK" separately doesn't give a good 12792 result. (Alejandro Lopez Valencia) 12793Solution: Use a string for each combination. 12794Files: src/screen.c 12795 12796Patch 6.2.434 (after 6.2.431) 12797Problem: Compiler warning. (Salman Halim) 12798Solution: Add type casts. 12799Files: src/gui.c 12800 12801Patch 6.2.435 12802Problem: When there are vertically split windows the minimal Vim window 12803 height is computed wrong. 12804Solution: Use frame_minheight() to correctly compute the minimal height. 12805Files: src/window.c 12806 12807Patch 6.2.436 12808Problem: Running the tests changes the user's viminfo file. 12809Solution: In test 49 tell the extra Vim to use the test viminfo file. 12810Files: src/testdir/test49.vim 12811 12812Patch 6.2.437 12813Problem: ":mksession" always puts "set nocompatible" in the session file. 12814 This changes option settings. (Ron Aaron) 12815Solution: Add an "if" to only change 'compatible' when needed. 12816Files: src/ex_docmd.c 12817 12818Patch 6.2.438 12819Problem: When the 'v' flag is present in 'cpoptions', backspacing and then 12820 typing text again: one character too much is overtyped before 12821 inserting is done again. 12822Solution: Set "dollar_vcol" to the right column. 12823Files: src/edit.c 12824 12825Patch 6.2.439 12826Problem: GTK 2: Changing 'lines' may cause a mismatch between the window 12827 layout and the size of the window. 12828Solution: Disable the hack with force_shell_resize_idle(). 12829Files: src/gui_gtk_x11.c 12830 12831Patch 6.2.440 12832Problem: When 'lazyredraw' is set the window title is still updated. 12833 The size of the Visual area and the ruler are displayed too often. 12834Solution: Postpone redrawing the window title. Only show the Visual area 12835 size when waiting for a character. Don't draw the ruler 12836 unnecessary. 12837Files: src/buffer.c, src/normal.c, src/screen.c 12838 12839Patch 6.2.441 12840Problem: ":unabbreviate foo " doesn't work, because of the trailing space, 12841 while an abbreviation with a trailing space is not possible. (Paul 12842 Jolly) 12843Solution: Accept a match with the lhs of an abbreviation without the 12844 trailing space. 12845Files: src/getchar.c 12846 12847Patch 6.2.442 12848Problem: Cannot manipulate the command line from a function. 12849Solution: Add getcmdline(), getcmdpos() and setcmdpos() functions and the 12850 CTRL-\ e command. 12851Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c 12852 src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, 12853 src/proto/ops.pro 12854 12855Patch 6.2.443 12856Problem: With ":silent! echoerr something" you don't get the position of 12857 the error. emsg() only writes the message itself and returns. 12858Solution: Also redirect the position of the error. 12859Files: src/message.c 12860 12861Patch 6.2.444 12862Problem: When adding the 'c' flag to a ":substitute" command it may replace 12863 more times than without the 'c' flag. Happens for a match that 12864 starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus 12865 Bosau). 12866Solution: Correct "prev_matchcol" when replacing the line. Don't replace 12867 the line when the pattern uses look-behind matching. 12868Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.c 12869 12870Patch 6.2.445 12871Problem: Copying vimtutor to /tmp/something is not secure, a symlink may 12872 cause trouble. 12873Solution: Create a directory and create the file in it. Use "umask" to 12874 create the directory with mode 700. (Stefan Nordhausen) 12875Files: src/vimtutor 12876 12877Patch 6.2.446 (after 6.2.404) 12878Problem: Using library functions wcwidth() and iswprint() results in 12879 display problems for Hebrew characters. (Ron Aaron) 12880Solution: Disable the code to use the library functions, use our own. 12881Files: src/mbyte.c 12882 12883Patch 6.2.447 (after 6.2.440) 12884Problem: Now that the title is only updated when redrawing, it is no longer 12885 possible to show it while executing a function. (Madoka Machitani) 12886Solution: Make ":redraw" also update the title. 12887Files: src/ex_docmd.c 12888 12889Patch 6.2.448 (after 6.2.427) 12890Problem: Mac: conversion done when 'termencoding' differs from 'encoding' 12891 fails when pasting a longer text. 12892Solution: Check for an incomplete sequence at the end of the chunk to be 12893 converted. (Eckehard Berns) 12894Files: src/mbyte.c 12895 12896Patch 6.2.449 (after 6.2.431) 12897Problem: Get error messages when switching files. 12898Solution: Check for a valid line number when calculating the width of the 12899 horizontal scrollbar. (Helmut Stiegler) 12900Files: src/gui.c 12901 12902Patch 6.2.450 12903Problem: " #include" and " #define" are not recognized with the default 12904 option values for 'include' and 'defined'. (RG Kiran) 12905Solution: Adjust the default values to allow white space before the #. 12906Files: runtime/doc/options.txt, src/option.c 12907 12908Patch 6.2.451 12909Problem: GTK: when using XIM there are various problems, including setting 12910 'modified' and breaking undo at the wrong moment. 12911Solution: Add "xim_changed_while_preediting", "preedit_end_col" and 12912 im_is_preediting(). (Yasuhiro Matsumoto) 12913Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c, 12914 src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c, 12915 src/undo.c 12916 12917Patch 6.2.452 12918Problem: In diff mode, when DiffAdd and DiffText highlight settings are 12919 equal, an added line is highlighted with DiffChange. (Tom Schumm) 12920Solution: Remember the diff highlight type instead of the attributes. 12921Files: src/screen.c 12922 12923Patch 6.2.453 12924Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar". 12925 (Pavel Papushev) 12926Solution: When the pattern can match a line break also try matching at the 12927 NUL at the end of a line. 12928Files: src/ex_cmds.c, src/regexp.c 12929 12930Patch 6.2.454 12931Problem: ":let b:changedtick" doesn't work. (Alan Schmitt) ":let 12932 b:changedtick = 99" does not give an error message. 12933Solution: Add code to recognize ":let b:changedtick". 12934Files: src/eval.c 12935 12936Patch 6.2.455 (after 6.2.297) 12937Problem: In Python commands the current locale changes how certain Python 12938 functions work. (Eugene M. Minkovskii) 12939Solution: Set the LC_NUMERIC locale to "C" while executing a Python command. 12940Files: src/if_python.c 12941 12942Patch 6.2.456 (extra) 12943Problem: Win32: Editing a file by its Unicode name (dropping it on Vim or 12944 using the file selection dialog) doesn't work. (Yakov Lerner, Alex 12945 Jakushev) 12946Solution: Use wide character functions when file names are involved and 12947 convert from/to 'encoding' where needed. 12948Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c, 12949 src/os_mswin.c, src/os_win32.c 12950 12951Patch 6.2.457 (after 6.2.244) 12952Problem: When 'encoding' is "utf-8" and writing text with chars above 0x80 12953 in latin1, conversion is wrong every 8200 bytes. (Oyvind Holm) 12954Solution: Correct the utf_ptr2len_check_len() function and fix the problem 12955 of displaying 0xf7 in utfc_ptr2len_check_len(). 12956Files: src/mbyte.c 12957 12958Patch 6.2.458 12959Problem: When 'virtualedit' is set "$" doesn't move to the end of an 12960 unprintable character, causing "y$" not to include that character. 12961 (Fred Ma) 12962Solution: Set "coladd" to move the cursor to the end of the character. 12963Files: src/misc2.c 12964 12965Patch 6.2.459 (after 6.2.454) 12966Problem: Variable "b" cannot be written. (Salman Halim) 12967Solution: Compare strings properly. 12968Files: src/eval.c 12969 12970Patch 6.2.460 (extra, after 6.2.456) 12971Problem: Compiler warnings for missing prototypes. 12972Solution: Include the missing prototypes. 12973Files: src/proto/os_win32.pro 12974 12975Patch 6.2.461 12976Problem: After using a search command "x" starts putting single characters 12977 in the numbered registers. 12978Solution: Reset "use_reg_one" at the right moment. 12979Files: src/normal.c 12980 12981Patch 6.2.462 12982Problem: Finding a matching parenthesis does not correctly handle a 12983 backslash in a trailing byte. 12984Solution: Handle multi-byte characters correctly. (Taro Muraoka) 12985Files: src/search.c 12986 12987Patch 6.2.463 (extra) 12988Problem: Win32: An NTFS file system may contain files with extra info 12989 streams. The current method to copy them creates one and then 12990 deletes it again. (Peter Toennies) Also, only three streams with 12991 hard coded names are copied. 12992Solution: Use BackupRead() to check which info streams the original file 12993 contains and only copy these streams. 12994Files: src/os_win32.c 12995 12996Patch 6.2.464 (extra, after 6.2.427) 12997Problem: Amiga: Compilation error with gcc. (Ali Akcaagac) 12998Solution: Move the #ifdef outside of Read(). 12999Files: src/os_amiga.c 13000 13001Patch 6.2.465 13002Problem: When resizing the GUI window the window manager sometimes moves it 13003 left of or above the screen. (Michael McCarty) 13004Solution: Check the window position after resizing it and move it onto the 13005 screen when it isn't. 13006Files: src/gui.c 13007 13008Patch 6.2.466 (extra, after 6.2.456) 13009Problem: Win32: Compiling with Borland C fails, and an un/signed warning. 13010Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro 13011 Matsumoto) 13012Files: src/os_win32.c 13013 13014Patch 6.2.467 (extra, after 6.2.463) 13015Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar) 13016Solution: Add #ifdefs around the info stream code. 13017Files: src/os_win32.c 13018 13019Patch 6.2.468 13020Problem: Compiler warnings for shadowed variables. (Matthias Mohr) 13021Solution: Delete superfluous variables and rename others. 13022Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c, 13023 src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c, 13024 src/regexp.c 13025 13026Patch 6.2.469 (extra, after 6.2.456) 13027Problem: Win32: Can't create swap file when 'encoding' differs from the 13028 active code page. (Kriton Kyrimis) 13029Solution: In enc_to_ucs2() terminate the converted string with a NUL 13030Files: src/os_mswin.c 13031 13032Patch 6.2.470 13033Problem: The name returned by tempname() may be equal to the file used for 13034 shell output when ignoring case. 13035Solution: Skip 'O' and 'I' in tempname(). 13036Files: src/eval.c 13037 13038Patch 6.2.471 13039Problem: "-L/usr/lib" is used in the link command, even though it's 13040 supposed to be filtered out. "-lw" and "-ldl" are not 13041 automatically added when needed for "-lXmu". (Antonio Colombo) 13042Solution: Check for a space after the argument instead of before. Also 13043 remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl" 13044 before trying "-lXmu". 13045Files: src/auto/configure, src/configure.in, src/link.sh 13046 13047Patch 6.2.472 13048Problem: When using a FileChangedShell autocommand that changes the current 13049 buffer, a buffer exists that can't be wiped out. 13050 Also, Vim sometimes crashes when executing an external command 13051 that changes the buffer and a FileChangedShell autocommand is 13052 used. (Hari Krishna Dara) 13053 Users are confused by the warning for a file being changed outside 13054 of Vim. 13055Solution: Avoid that the window counter for a buffer is incremented twice. 13056 Avoid that buf_check_timestamp() is used recursively. 13057 Add a hint to look in the help for more info. 13058Files: src/ex_cmds.c, src/fileio.c 13059 13060Patch 6.2.473 13061Problem: Using CTRL-] in a help buffer without a name causes a crash. 13062Solution: Check for name to be present before using it. (Taro Muraoka) 13063Files: src/tag.c 13064 13065Patch 6.2.474 (extra, after 6.2.456) 13066Problem: When Vim is starting up conversion is done unnecessarily. Failure 13067 to find the runtime files on Windows 98. (Randall W. Morris) 13068Solution: Init enc_codepage negative, only use it when not negative. 13069 Don't use GetFileAttributesW() on Windows 98 or earlier. 13070Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, 13071 src/os_win32.c 13072 13073Patch 6.2.475 13074Problem: Commands after "perl <<EOF" are parsed as Vim commands when they 13075 are not executed. 13076Solution: Properly skip over the perl commands. 13077Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c, 13078 src/if_ruby.c, src/if_tcl.c, src/misc2.c 13079 13080Patch 6.2.476 13081Problem: When reloading a hidden buffer changed outside of Vim and the 13082 current buffer is read-only, the reloaded buffer becomes 13083 read-only. (Hari Krishna Dara) 13084Solution: Save the 'readonly' flag of the reloaded buffer instead of the 13085 current buffer. 13086Files: src/fileio.c 13087 13088Patch 6.2.477 13089Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang. 13090 (Yakov Lerner) 13091Solution: When the resulting string is empty don't set received_from_client. 13092Files: src/main.c 13093 13094Patch 6.2.478 13095Problem: Win32: "--remote file" fails changing directory if the current 13096 directory name starts with a single quote. (Iestyn Walters) 13097Solution: Add a backslash where it will be removed later. 13098Files: src/main.c, src/misc2.c, src/proto/misc2.pro 13099 13100Patch 6.2.479 13101Problem: The error message for errors during recovery goes unnoticed. 13102Solution: Avoid that the hit-enter prompt overwrites the message. Add a few 13103 lines to make the error stand out. 13104Files: src/main.c, src/message.c, src/memline.c 13105 13106Patch 6.2.480 13107Problem: NetBeans: Using negative index in array. backslash at end of 13108 message may cause Vim to crash. (Xavier de Gaye) 13109Solution: Initialize buf_list_used to zero. Check for trailing backslash. 13110Files: src/netbeans.c 13111 13112Patch 6.2.481 13113Problem: When writing a file it is not possible to specify that hard and/or 13114 symlinks are to be broken instead of preserved. 13115Solution: Add the "breaksymlink" and "breakhardlink" values to 'backupcopy'. 13116 (Simon Ekstrand) 13117Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h 13118 13119Patch 6.2.482 13120Problem: Repeating insert of CTRL-K 1 S doesn't work. The superscript 1 is 13121 considered to be a digit. (Juergen Kraemer) 13122Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for 13123 speed where possible. Also add vim_isxdigit(). 13124Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c, 13125 src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c, 13126 src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, 13127 src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c, 13128 src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h, 13129 src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c, 13130 src/misc2.c, src/normal.c, src/ops.c, src/option.c, 13131 src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c, 13132 src/syntax.c, src/tag.c, src/term.c, src/termlib.c 13133 13134Patch 6.2.483 (extra, after 6.2.482) 13135Problem: See 6.2.482. 13136Solution: Extra part of patch 6.2.482. 13137Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.c 13138 13139Patch 6.2.484 13140Problem: MS-Windows: With the included diff.exe, differences after a CTRL-Z 13141 are not recognized. (Peter Keresztes) 13142Solution: Write the files with unix fileformat and invoke diff with --binary 13143 if possible. 13144Files: src/diff.c 13145 13146Patch 6.2.485 13147Problem: A BufWriteCmd autocommand cannot know if "!" was used or not. 13148 (Hari Krishna Dara) 13149Solution: Add the v:cmdbang variable. 13150Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, 13151 src/fileio.c, src/vim.h 13152 13153Patch 6.2.486 (6.2.482) 13154Problem: Diff for eval.c is missing. 13155Solution: Addition to patch 6.2.482. 13156Files: src/eval.c 13157 13158Patch 6.2.487 (extra, after 6.2.456) 13159Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia) 13160Solution: Delete the prototype for Handle_WM_Notify(). 13161Files: src/proto/gui_w32.pro 13162 13163Patch 6.2.488 13164Problem: Missing ")" in *.ch filetype detection. 13165Solution: Add the ")". (Ciaran McCreesh) 13166Files: runtime/filetype.vim 13167 13168Patch 6.2.489 13169Problem: When accidentally opening a session in Vim which has already been 13170 opened in another Vim there is a long row of ATTENTION prompts. 13171 Need to quit each of them to get out. (Robert Webb) 13172Solution: Add the "Abort" alternative to the dialog. 13173Files: src/memline.c 13174 13175Patch 6.2.490 13176Problem: With 'paragraph' it is not possible to use a single dot as a 13177 paragraph boundary. (Dorai Sitaram) 13178Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or 13179 ". $" 13180Files: src/search.c 13181 13182Patch 6.2.491 13183Problem: Decrementing a position doesn't take care of multi-byte chars. 13184Solution: Adjust the column for multi-byte characters. Remove mb_dec(). 13185 (Yasuhiro Matsumoto) 13186Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro 13187 13188Patch 6.2.492 13189Problem: When using ":redraw" while there is a message, the next ":echo" 13190 still causes text to scroll. (Yasuhiro Matsumoto) 13191Solution: Reset msg_didout and msg_col, so that after ":redraw" the next 13192 message overwrites an existing one. 13193Files: src/ex_docmd.c 13194 13195Patch 6.2.493 13196Problem: "@x" doesn't work when 'insertmode' is set. (Benji Fisher) 13197Solution: Put "restart_edit" in the typeahead buffer, so that it's used 13198 after executing the register contents. 13199Files: src/ops.c 13200 13201Patch 6.2.494 13202Problem: Using diff mode with two windows, when moving horizontally in 13203 inserted lines, a fold in the other window may open. 13204Solution: Compute the line number in the other window correctly. 13205Files: src/diff.c 13206 13207Patch 6.2.495 (extra, after 6.2.456) 13208Problem: Win32: The file dialog doesn't work on Windows 95. 13209Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and use 13210 it only on Windows NT/2000/XP. 13211Files: src/gui_w32.c, src/gui_w48.c 13212 13213Patch 6.2.496 13214Problem: FreeBSD 4.x: When compiled with the pthread library (Python) a 13215 complicated pattern may cause Vim to crash. Catching the signal 13216 doesn't work. 13217Solution: When compiled with threads, instead of using the normal stacksize 13218 limit, use the size of the initial stack. 13219Files: src/auto/configure, src/config.h.in, src/configure.in, 13220 src/os_unix.c 13221 13222Patch 6.2.497 (extra) 13223Problem: Russian messages are only available in one encoding. 13224Solution: Convert the messages to MS-Windows codepages. (Vassily Ragosin) 13225Files: src/po/Makefile 13226 13227Patch 6.2.498 13228Problem: Non-latin1 help files are not properly supported. 13229Solution: Support utf-8 help files and convert them to 'encoding' when 13230 needed. 13231Files: src/fileio.c 13232 13233Patch 6.2.499 13234Problem: When writing a file and halting the system, the file might be lost 13235 when using a journalling file system. 13236Solution: Use fsync() to flush the file data to disk after writing a file. 13237 (Radim Kolar) 13238Files: src/fileio.c 13239 13240Patch 6.2.500 (extra) 13241Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for 13242 diff. 13243Solution: Add --binary to the diff argument in MyDiff(). (Alejandro Lopez- 13244 Valencia) 13245Files: src/dosinst.c 13246 13247Patch 6.2.501 13248Problem: Vim does not compile with MorphOS. 13249Solution: Add a Makefile and a few changes to make Vim work with MorphOS. 13250 (Ali Akcaagac) 13251Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt, 13252 src/Make_morphos.mak, src/memfile.c, src/term.c 13253 13254Patch 6.2.502 13255Problem: Building fails for generating message files. 13256Solution: Add dummy message files. 13257Files: src/po/ca.po, src/po/ru.po, src/po/sv.po 13258 13259Patch 6.2.503 13260Problem: Mac: Can't compile MacRoman conversions without the GUI. 13261Solution: Also link with the Carbon framework for the terminal version, for 13262 the MacRoman conversion functions. (Eckehard Berns) 13263 Remove -ltermcap from the GUI link command, it is not needed. 13264Files: src/auto/configure, src/Makefile, src/configure.in 13265 13266Patch 6.2.504 13267Problem: Various problems with 'cindent', among which that a 13268 list of variable declarations is not indented properly. 13269Solution: Fix the wrong indenting. Improve indenting of C++ methods. 13270 Add the 'i', 'b' and 'W' options to 'cinoptions'. (mostly by 13271 Helmut Stiegler) 13272 Improve indenting of preprocessor-continuation lines. 13273Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, 13274 src/testdir/test3.ok 13275 13276Patch 6.2.505 13277Problem: Help for -P argument is missing. (Ronald Hoellwarth) 13278Solution: Add the patch that was missing in 6.2.419. 13279Files: runtime/doc/starting.txt 13280 13281Patch 6.2.506 (extra) 13282Problem: Win32: When 'encoding' is a codepage then reading a utf-8 file 13283 only works when iconv is available. Writing a file in another 13284 codepage uses the wrong kind of conversion. 13285Solution: Use internal conversion functions. Enable reading and writing 13286 files with 'fileencoding' different from 'encoding' for all valid 13287 codepages and utf-8 without the need for iconv. 13288Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in, 13289 src/testdir/test52.ok 13290 13291Patch 6.2.507 13292Problem: The ownership of the file with the password for the NetBeans 13293 connection is not checked. "-nb={file}" doesn't work for GTK. 13294Solution: Only accept the file when owned by the user and not accessible by 13295 others. Detect "-nb=" for GTK. 13296Files: src/netbeans.c, src/gui_gtk_x11.c 13297 13298Patch 6.2.508 13299Problem: Win32: "v:lang" does not show the current language for messages if 13300 it differs from the other locale settings. 13301Solution: Use the value of the $LC_MESSAGES environment variable. 13302Files: src/ex_cmds2.c 13303 13304Patch 6.2.509 (after 6.2.508) 13305Problem: Crash when $LANG is not set. 13306Solution: Add check for NULL pointer. (Ron Aaron) 13307Files: src/ex_cmds2.c 13308 13309Patch 6.2.510 (after 6.2.507) 13310Problem: Warning for pointer conversion. 13311Solution: Add a type cast. 13312Files: src/gui_gtk_x11.c 13313 13314Patch 6.2.511 13315Problem: Tags in Russian help files are in utf-8 encoding, which may be 13316 different from 'encoding'. 13317Solution: Use the "TAG_FILE_ENCODING" field in the tags file to specify the 13318 encoding of the tags. Convert help tags from 'encoding' to the 13319 tag file encoding when searching for matches, do the reverse when 13320 listing help tags. 13321Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.c 13322 13323Patch 6.2.512 13324Problem: Translating "\"\n" is useless. (Gerfried Fuchs) 13325Solution: Remove the _() around it. 13326Files: src/main.c, src/memline.c 13327 13328Patch 6.2.513 (after 6.2.507) 13329Problem: NetBeans: the check for owning the connection info file can be 13330 simplified. (Nikolay Molchanov) 13331Solution: Only check if the access mode is right. 13332Files: src/netbeans.c 13333 13334Patch 6.2.514 13335Problem: When a highlight/syntax group name contains invalid characters 13336 there is no warning. 13337Solution: Add an error for unprintable characters and a warning for other 13338 invalid characters. 13339Files: src/syntax.c 13340 13341Patch 6.2.515 13342Problem: When using the options window 'swapfile' is reset. 13343Solution: Use ":setlocal" instead of ":set". 13344Files: runtime/optwin.vim 13345 13346Patch 6.2.516 13347Problem: The sign column cannot be seen, looks like there are two spaces 13348 before the text. (Rob Retter) 13349Solution: Add the SignColumn highlight group. 13350Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, 13351 src/screen.c, src/syntax.c, src/vim.h 13352 13353Patch 6.2.517 13354Problem: Using "r*" in Visual mode on multi-byte characters replaces 13355 too many characters. In Visual Block mode replacing with a 13356 multi-byte character doesn't work. 13357Solution: Adjust the operator end for the difference in byte length of the 13358 original and the replaced character. Insert all bytes of a 13359 multi-byte character, take care of double-wide characters. 13360Files: src/ops.c 13361 13362Patch 6.2.518 13363Problem: Last line of a window is not updated after using "J" and then "D". 13364 (Adri Verhoef) 13365Solution: When no line is found below a change that doesn't need updating, 13366 update all lines below the change. 13367Files: src/screen.c 13368 13369Patch 6.2.519 13370Problem: Mac: cannot read/write files in MacRoman format. 13371Solution: Do internal conversion from/to MacRoman to/from utf-8 and latin1. 13372 (Eckehard Berns) 13373Files: src/fileio.c 13374 13375Patch 6.2.520 (extra) 13376Problem: The NSIS installer is outdated. 13377Solution: Make it work with NSIS 2.0. Also include console executables for 13378 Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use 13379 "/oname" to avoid having to rename files before running NSIS. 13380Files: Makefile, nsis/gvim.nsi 13381 13382Patch 6.2.521 13383Problem: When using silent Ex mode the "changing a readonly file" warning 13384 is omitted but the one second wait isn't. (Yakov Lerner) 13385Solution: Skip the delay when "silent_mode" is set. 13386Files: src/misc1.c 13387 13388Patch 6.2.522 13389Problem: GUI: when changing 'cmdheight' in the gvimrc file the window 13390 layout is messed up. (Keith Dart) 13391Solution: Skip updating the window layout when changing 'cmdheight' while 13392 still starting up. 13393Files: src/option.c 13394 13395Patch 6.2.523 13396Problem: When loading a session and aborting when a swap file already 13397 exists, the user is left with useless windows. (Robert Webb) 13398Solution: Load one file before creating the windows. 13399Files: src/ex_docmd.c 13400 13401Patch 6.2.524 (extra, after 6.2.520) 13402Problem: Win32: (un)installing gvimext.dll may fail if it was used. 13403 The desktop and start menu links are created for the current user 13404 instead of all users. 13405 Using the home directory as working directory for the links is a 13406 bad idea for multi-user systems. 13407 Cannot use Vim from the "Open With..." menu. 13408Solution: Force a reboot if necessary. (Alejandro Lopez-Valencia) Also use 13409 macros for the directory of the source and runtime files. Use 13410 "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. 13411 Do not specify a working directory in the links. 13412 Add Vim to the "Open With..." menu. (Giuseppe Bilotta) 13413Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.c 13414 13415Patch 6.2.525 13416Problem: When the history contains a very long line ":history" causes a 13417 crash. (Volker Kiefel) 13418Solution: Shorten the history entry to fit it in one line. 13419Files: src/ex_getln.c 13420 13421Patch 6.2.526 13422Problem: When s:lang is "ja" the Japanese menus are not used. 13423Solution: Add 'encoding' to the language when there is no charset. 13424Files: runtime/menu.vim 13425 13426Patch 6.2.527 13427Problem: The 2html script uses ":wincmd p", which breaks when using some 13428 autocommands. 13429Solution: Remember the window numbers and jump to them with ":wincmd w". 13430 Also add XHTML support. (Panagiotis Issaris) 13431Files: runtime/syntax/2html.vim 13432 13433Patch 6.2.528 13434Problem: NetBeans: Changes of the "~" command are not reported. 13435Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) 13436 Also change NetBeans debugging to append to the log file. 13437 Also fix that "~" in Visual block mode changes too much if there 13438 are multi-byte characters. 13439Files: src/nbdebug.c, src/normal.c, src/ops.c 13440 13441Patch 6.2.529 (extra) 13442Problem: VisVim only works for Admin. Doing it for one user doesn't work. 13443 (Alexandre Gouraud) 13444Solution: When registering the module fails, simply continue. 13445Files: src/VisVim/VisVim.cpp 13446 13447Patch 6.2.530 13448Problem: Warning for missing prototype on the Amiga. 13449Solution: Include time.h 13450Files: src/version.c 13451 13452Patch 6.2.531 13453Problem: In silent ex mode no messages are given, which makes debugging 13454 very difficult. 13455Solution: Do output messages when 'verbose' is set. 13456Files: src/message.c, src/ui.c 13457 13458Patch 6.2.532 (extra) 13459Problem: Compiling for Win32s with VC 4.1 doesn't work. 13460Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* 13461 when not defined. 13462Files: src/dosinst.h, src/fileio.c 13463 13464Win32 console: After patch 6.2.398 Ex mode did not work. (Yasuhiro Matsumoto) 13465 13466Patch 6.3a.001 13467Problem: Win32: if testing for the "--binary" option fails, diff isn't used 13468 at all. 13469Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto) 13470Files: src/diff.c 13471 13472Patch 6.3a.002 13473Problem: NetBeans: An insert command from NetBeans beyond the end of a 13474 buffer crashes Vim. (Xavier de Gaye) 13475Solution: Use a local pos_T structure for the position. 13476Files: src/netbeans.c 13477 13478Patch 6.3a.003 13479Problem: E315 error with auto-formatting comments. (Henry Van Roessel) 13480Solution: Pass the line number to same_leader(). 13481Files: src/ops.c 13482 13483Patch 6.3a.004 13484Problem: Test32 fails on Windows XP for the DJGPP version. Renaming 13485 test11.out fails. 13486Solution: Don't try renaming, create new files to use for the test. 13487Files: src/testdir/test32.in, src/testdir/test32.ok 13488 13489Patch 6.3a.005 13490Problem: ":checkpath!" does not use 'includeexpr'. 13491Solution: Use a file name that was found directly. When a file was not 13492 found and the located name is empty, use the rest of the line. 13493Files: src/search.c 13494 13495Patch 6.3a.006 13496Problem: "yip" moves the cursor to the first yanked line, but not to the 13497 first column. Looks like not all text was yanked. (Jens Paulus) 13498Solution: Move the cursor to the first column. 13499Files: src/search.c 13500 13501Patch 6.3a.007 13502Problem: 'cindent' recognizes "enum" but not "typedef enum". 13503Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler) 13504 Also avoid that searching for this item goes too far back. 13505Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 13506 13507Patch 6.3a.008 (extra) 13508Problem: Windows 98: Some of the wide functions are not implemented, 13509 resulting in file I/O to fail. This depends on what Unicode 13510 support is installed. 13511Solution: Handle the failure and fall back to non-wide functions. 13512Files: src/os_win32.c 13513 13514Patch 6.3a.009 13515Problem: Win32: Completion of filenames does not work properly when 13516 'encoding' differs from the active code page. 13517Solution: Use wide functions for expanding wildcards when appropriate. 13518Files: src/misc1.c 13519 13520Patch 6.3a.010 (extra) 13521Problem: Win32: Characters in the window title that do not appear in the 13522 active codepage are replaced by a question mark. 13523Solution: Use DefWindowProcW() instead of DefWindowProc() when possible. 13524Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, 13525 src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c 13526 13527Patch 6.3a.011 13528Problem: Using the explorer plugin changes a local directory to the global 13529 directory. 13530Solution: Don't use ":chdir" to restore the current directory. Make 13531 "expand('%:p')" remove "/../" and "/./" items from the path. 13532Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.c 13533 13534Patch 6.3a.012 (extra) 13535Problem: On Windows 98 the installer doesn't work, don't even get the "I 13536 agree" button. The check for the path ending in "vim" makes the 13537 browse dialog hard to use. The default path when no previous Vim 13538 is installed is "c:\vim" instead of "c:\Program Files\Vim". 13539Solution: Remove the background gradient command. Change the 13540 .onVerifyInstDir function to a leave function for the directory 13541 page. Don't let the install program default to c:\vim when no 13542 path could be found. 13543Files: nsis/gvim.nsi, src/dosinst.c 13544 13545Patch 6.3a.013 (extra) 13546Problem: Win32: Characters in the menu that are not in the active codepage 13547 are garbled. 13548Solution: Convert menu strings from 'encoding' to the active codepage. 13549Files: src/gui_w32.c, src/gui_w48.c 13550 13551Patch 6.3a.014 13552Problem: Using multi-byte text and highlighting in a statusline causes gaps 13553 to appear. (Helmut Stiegler) 13554Solution: Advance the column by text width instead of number of bytes. Add 13555 the vim_strnsize() function. 13556Files: src/charset.c, src/proto/charset.pro, src/screen.c 13557 13558Patch 6.3a.015 13559Problem: Using the "select all" menu item when 'insertmode' is set and 13560 clicking the mouse button doesn't return to Insert mode. The 13561 Buffers/Delete menu doesn't offer a choice to abandon a changed 13562 buffer. (Jens Paulus) 13563Solution: Don't use CTRL-\ CTRL-N. Add ":confirm" for the Buffers menu 13564 items. 13565Files: runtime/menu.vim 13566 13567Patch 6.3a.016 13568Problem: After cancelling the ":confirm" dialog the error message and 13569 hit-enter prompt may not be displayed properly. 13570Solution: Flush output after showing the dialog. 13571Files: src/message.c 13572 13573Patch 6.3a.017 13574Problem: servername() doesn't work when Vim was started with the "-X" 13575 argument or when the "exclude" in 'clipboard' matches the terminal 13576 name. (Robert Nowotniak) 13577Solution: Force connecting to the X server when using client-server 13578 commands. 13579Files: src/eval.c, src/globals.h, src/os_unix.c 13580 13581Patch 6.3a.018 (after 6.3a.017) 13582Problem: Compiler warning for return value of make_connection(). 13583Solution: Use void return type. 13584Files: src/eval.c 13585 13586Patch 6.3a.019 (extra) 13587Problem: Win32: typing non-latin1 characters doesn't work. 13588Solution: Invoke _OnChar() directly to avoid that the argument is truncated 13589 to a byte. Convert the UTF-16 character to bytes according to 13590 'encoding' and ignore 'termencoding'. Same for _OnSysChar(). 13591Files: src/gui_w32.c, src/gui_w48.c 13592 13593Patch 6.3a.020 (extra) 13594Problem: Missing support for AROS (AmigaOS reimplementation). Amiga GUI 13595 doesn't work. 13596Solution: Add AROS support. (Adam Chodorowski) 13597 Fix Amiga GUI problems. (Georg Steger, Ali Akcaagac) 13598Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, 13599 src/memfile.c, src/os_amiga.c, src/term.c 13600 13601Patch 6.3a.021 (after 6.3a.017) 13602Problem: Can't compile with X11 but without GUI. 13603Solution: Put use of "gui.in_use" inside an #ifdef. 13604Files: src/eval.c 13605 13606Patch 6.3a.022 13607Problem: When typing Tabs when 'softtabstop' is used and 'list' is set a 13608 tab is counted for two spaces. 13609Solution: Use the "L" flag in 'cpoptions' to tell whether a tab is counted 13610 as two spaces or as 'tabstop'. (Antony Scriven) 13611Files: runtime/doc/options.txt, src/edit.c 13612 13613Patch 6.3a.023 13614Problem: Completion on the command line doesn't handle backslashes 13615 properly. Only the tail of matches is shown, even when not 13616 completing filenames. 13617Solution: When turning the string into a pattern double backslashes. Don't 13618 omit the path when not expanding files or directories. 13619Files: src/ex_getln.c 13620 13621Patch 6.3a.024 13622Problem: The "save all" toolbar item fails for buffers that don't have a 13623 name. When using ":wa" or closing the Vim window and there are 13624 nameless buffers, browsing for a name may cause the name being 13625 given to the wrong buffer or not stored properly. ":browse" only 13626 worked for one file. 13627Solution: Use ":confirm browse" for "save all". 13628 Pass buffer argument to setfname(). Restore "browse" flag and 13629 "forceit" after doing the work for one file. 13630Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, 13631 src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, 13632 src/message.c, src/window.c, src/proto/buffer.pro, 13633 src/proto/ex_cmds2.pro, src/proto/memline.pro 13634 13635Patch 6.3a.025 13636Problem: Setting 'virtualedit' moves the cursor. (Benji Fisher) 13637Solution: Update the virtual column before using it. 13638Files: src/option.c 13639 13640Patch 6.3a.026 (extra, after 6.3a.008) 13641Problem: Editing files on Windows 98 doesn't work when 'encoding' is 13642 "utf-8" (Antoine Mechelynck) 13643 Warning for missing function prototype. 13644Solution: For all wide functions check if it failed because it is not 13645 implemented. Use ANSI function declaration for char_to_string(). 13646Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.c 13647 13648Patch 6.3a.027 (extra, after 6.3a.026) 13649Problem: Compiler warning for function argument. 13650Solution: Declare both char and WCHAR arrays. 13651Files: src/gui_w48.c 13652 13653Patch 6.3a.028 13654Problem: ":normal ." doesn't work inside a function, because redo is saved 13655 and restored. (Benji Fisher) 13656Solution: Make a copy of the redo buffer when executing a function. 13657Files: src/getchar.c 13658 13659Patch 6.3b.001 (extra) 13660Problem: Bcc 5: The generated auto/pathdef can't be compiled. 13661Solution: Fix the way quotes and backslashes are escaped. 13662Files: src/Make_bc5.mak 13663 13664Patch 6.3b.002 13665Problem: Win32: conversion during file write fails when a double-byte 13666 character is split over two writes. 13667Solution: Fix the conversion retry without a trailing byte. (Taro Muraoka) 13668Files: src/fileio.c 13669 13670Patch 6.3b.003 (extra) 13671Problem: Win32: When compiling with Borland C 5.5 and 'encoding' is "utf-8" 13672 then Vim can't open files under MS-Windows 98. (Antoine J. 13673 Mechelynck) 13674Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation. 13675Files: src/os_mswin.c, src/os_win32.c 13676 13677Patch 6.3b.004 13678Problem: ":helpgrep" includes a trailing CR in the text line. 13679Solution: Remove the CR. 13680Files: src/quickfix.c 13681 13682Patch 6.3b.005 13683Problem: ":echo &g:ai" results in the local option value. (Salman Halim) 13684Solution: Pass the flags from find_option_end() to get_option_value(). 13685Files: src/eval.c 13686 13687Patch 6.3b.006 13688Problem: When using "mswin.vim", CTRL-V in Insert mode leaves cursor before 13689 last pasted character. (Mathew Davis) 13690Solution: Use the same Paste() function as in menu.vim. 13691Files: runtime/mswin.vim 13692 13693Patch 6.3b.007 13694Problem: Session file doesn't restore view on windows properly. (Robert 13695 Webb) 13696Solution: Restore window sizes both before and after restoring the view, so 13697 that the view, cursor position and size are restored properly. 13698Files: src/ex_docmd.c 13699 13700Patch 6.3b.008 13701Problem: Using ":finally" in a user command doesn't always work. (Hari 13702 Krishna Dara) 13703Solution: Don't assume that using getexline() means the command was typed. 13704Files: src/ex_docmd.c 13705 13706Patch 6.3b.009 (extra) 13707Problem: Win32: When the -P argument is not found in a window title, there 13708 is no error message. 13709Solution: When the window can't be found give an error message and exit. 13710 Also use try/except to catch failing to open the MDI window. 13711 (Michael Wookey) 13712Files: src/gui_w32.c 13713 13714Patch 6.3b.010 13715Problem: Win32: Using the "-D" argument and expanding arguments may cause a 13716 hang, because the terminal isn't initialized yet. (Vince Negri) 13717Solution: Don't go into debug mode before the terminal is initialized. 13718Files: src/main.c 13719 13720Patch 6.3b.011 13721Problem: Using CTRL-\ e while obtaining an expression aborts the command 13722 line. (Hari Krishna Dara) 13723Solution: Insert the CTRL-\ e as typed. 13724Files: src/ex_getln.c 13725 13726Patch 6.3b.012 (after 6.3b.010) 13727Problem: Can't compile with tiny features. (Norbert Tretkowski) 13728Solution: Add #ifdefs. 13729Files: src/main.c 13730 13731Patch 6.3b.013 13732Problem: Loading a session file results in editing the wrong file in the 13733 first window when this is not the file at the current position in 13734 the argument list. (Robert Webb) 13735Solution: Check w_arg_idx_invalid to decide whether to edit a file. 13736Files: src/ex_docmd.c 13737 13738Patch 6.3b.014 13739Problem: ":runtime! foo*.vim" may using freed memory when a sourced script 13740 changes the value of 'runtimepath'. 13741Solution: Make a copy of 'runtimepath' when looping over the matches. 13742Files: src/ex_cmds2.c 13743 13744Patch 6.3b.015 13745Problem: Get lalloc(0) error when using "p" in Visual mode while 13746 'clipboard' contains "autoselect,unnamed". (Mark Wagonner) 13747Solution: Avoid allocating zero bytes. Obtain the clipboard when necessary. 13748Files: src/ops.c 13749 13750Patch 6.3b.016 13751Problem: When 'virtualedit' is used "x" doesn't delete the last character 13752 of a line that has as many characters as 'columns'. (Yakov Lerner) 13753Solution: When the cursor isn't moved let oneright() return FAIL. 13754Files: src/edit.c 13755 13756Patch 6.3b.017 13757Problem: Win32: "vim --remote-wait" doesn't exit when the server finished 13758 editing the file. (David Fishburn) 13759Solution: In the rrhelper plugin change backslashes to forward slashes and 13760 escape special characters. 13761Files: runtime/plugin/rrhelper.vim 13762 13763Patch 6.3b.018 13764Problem: The list of help files in the "local additions" table doesn't 13765 recognize utf-8 encoding. (Yasuhiro Matsumoto) 13766Solution: Recognize utf-8 characters. 13767Files: src/ex_cmds.c 13768 13769Patch 6.3b.019 13770Problem: When $VIMRUNTIME is not a full path name the "local additions" 13771 table lists all the help files. 13772Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory 13773 names. 13774Files: src/ex_cmds.c 13775 13776Patch 6.3b.020 13777Problem: When using CTRL-^ when entering a search string, the item in the 13778 statusline that indicates the keymap is not updated. (Ilya 13779 Dogolazky) 13780Solution: Mark the statuslines for updating. 13781Files: src/ex_getln.c 13782 13783Patch 6.3b.021 13784Problem: The swapfile is not readable for others, the ATTENTION prompt does 13785 not show all info when someone else is editing the same file. 13786 (Marcel Svitalsky) 13787Solution: Use the protection of original file for the swapfile and set it 13788 after creating the swapfile. 13789Files: src/fileio.c 13790 13791Patch 6.3b.022 13792Problem: Using "4v" to select four times the old Visual area may put the 13793 cursor beyond the end of the line. (Jens Paulus) 13794Solution: Correct the cursor column. 13795Files: src/normal.c 13796 13797Patch 6.3b.023 13798Problem: When "3dip" starts in an empty line, white lines after the 13799 non-white lines are not deleted. (Jens Paulus) 13800Solution: Include the white lines. 13801Files: src/search.c 13802 13803Patch 6.3b.024 13804Problem: "2daw" does not delete leading white space like "daw" does. (Jens 13805 Paulus) 13806Solution: Include the white space when a count is used. 13807Files: src/search.c 13808 13809Patch 6.3b.025 13810Problem: Percentage in ruler isn't updated when a line is deleted. (Jens 13811 Paulus) 13812Solution: Check for a change in line count when deciding to update the ruler. 13813Files: src/screen.c, src/structs.h 13814 13815Patch 6.3b.026 13816Problem: When selecting "abort" at the ATTENTION prompt for a file that is 13817 already being edited Vim crashes. 13818Solution: Don't abort creating a new buffer when we really need it. 13819Files: src/buffer.c, src/vim.h 13820 13821Patch 6.3b.027 13822Problem: Win32: When enabling the menu in a maximized window, Vim uses more 13823 lines than what is room for. (Shizhu Pan) 13824Solution: When deciding to call shell_resized(), also compare the text area 13825 size with Rows and Columns, not just with screen_Rows and 13826 screen_Columns. 13827Files: src/gui.c 13828 13829Patch 6.3b.028 13830Problem: When in diff mode, setting 'rightleft' causes a crash. (Eddine) 13831Solution: Check for last column differently when 'rightleft' is set. 13832Files: src/screen.c 13833 13834Patch 6.3b.029 13835Problem: Win32: warning for uninitialized variable. 13836Solution: Initialize to zero. 13837Files: src/misc1.c 13838 13839Patch 6.3b.030 13840Problem: After Visually selecting four characters, changing it to other 13841 text, Visually selecting and yanking two characters: "." changes 13842 four characters, another "." changes two characters. (Robert Webb) 13843Solution: Don't store the size of the Visual area when redo is active. 13844Files: src/normal.c 13845 13846 vim:tw=78:ts=8:ft=help:norl: 13847