version6.txt ForVim version 9.2. Last change: 2026 Feb 14VIM REFERENCE MANUAL by Bram MoolenaarWelcome to Vim Version 6.0!A large number of features has been added. Thisfile mentions all the new items that have been added, changes to existingfeatures and bug fixes compared to Vim 5.x.Seevi_diff.txt for an overview of differences betweenVi and Vim 6.0.Seeversion4.txt for differences between Vim 3.0 and Vim 4.0.Seeversion5.txt for differences between Vim 4.0 and Vim 5.0.INCOMPATIBLE CHANGESincompatible-6Cursor position inVisual modecurpos-visualsubstitute commandVi compatiblesubstitute-CRglobal option values introducednew-global-values'fileencoding' changedfileencoding-changedDigraphs changeddigraphs-changedFiletype detection changedfiletypedetect-changedUnlistedbuffers introducednew-unlisted-buffersCTRL-U inCommand-line mode changedCTRL-U-changedCtags gonectags-goneDocumentation reorganizeddocumentation-6Modeless selection andclipboardmodeless-and-clipboardSmall incompatibilitiesincomp-small-6NEW FEATURESnew-6Foldingnew-foldingVertically splitwindowsnew-vertsplitDiff modenew-diff-modeEasy Vim: click-and-typenew-evimUser manualnew-user-manualFlexible indentingnew-indent-flexExtended search patternsnew-searchpatUTF-8 supportnew-utf-8Multi-language supportnew-multi-langPlugin supportnew-pluginsFiletype pluginsnew-filetype-pluginsFile browsernew-file-browserEditing files overanetworknew-network-filesWindow for command-line editingnew-cmdwinDebugging modenew-debug-modeCursor in virtual positionnew-virteditDebuggerinterfacenew-debug-itfCommunication between Vimsnew-vim-serverBuffer typeoptionsnew-buftypePrintingnew-printingPortsports-6Quickfix extendedquickfix-6Operator modifiersnew-operator-modSearch Pathnew-search-pathWriting files improvednew-file-writingArgumentlistnew-argument-listRestoreaViewnew-ViewColor schemesnew-color-schemesVarious new itemsnew-items-6IMPROVEMENTSimprovements-6COMPILE TIME CHANGEScompile-changes-6BUG FIXESbug-fixes-6VERSION 6.1version-6.1Changedchanged-6.1Addedadded-6.1Fixedfixed-6.1VERSION 6.2version-6.2Changedchanged-6.2Addedadded-6.2Fixedfixed-6.2VERSION 6.3version-6.3Changedchanged-6.3Addedadded-6.3Fixedfixed-6.3VERSION 6.4version-6.4Changedchanged-6.4Addedadded-6.4Fixedfixed-6.4==============================================================================INCOMPATIBLE CHANGESincompatible-6These changes are incompatible with previous releases. Check thislist if yourun intoa problem when upgrading from Vim 5.x to 6.0Cursor position inVisual modecurpos-visual------------------------------When going from onewindow to anotherwindow on the same buffer while inVisual mode, the cursor position of the otherwindowis adjusted to keep thesameVisual area. This can be used to set the start of theVisual area in onewindow and theend in another. In vim 5.x the cursor position of the otherwindow would be used, which could be anywhere and was not very useful.Substitute commandVi compatiblesubstitute-CR--------------------------------The substitutestring (the "to" part of the substitute command) has been madeVi compatible. PreviouslyaCTRL-V hada special meaning and could be used topreventa<CR> toinserta line break. This madeit impossible toinsertaCTRL-V beforea line break. Nowabackslashis used to preventa<CR> tocausea line break. Since the number of backslashesis halved,itis stillpossible toinserta line breakat theend of the line. This now works justlike Vi, but it's not compatible with Vim versions before 6.0.Whena ":s" command doesn't make any substitutions,it no longer sets the'[and'] marks. Thisis not related to Vi, sinceit doesn't have these marks.Global option values introducednew-global-values-------------------------------There are now global values foroptions which are local toa buffer or window.Previously the localoptions were copied from one buffer to another. Whenediting another file this could cause option values fromamodeline to be usedfor the wrong file. Now the global values are used when enteringa bufferthat has not been used before. Also, when editing another buffer ina window,the localwindowoptions are reset to their global values. The ":set" commandsets both the local and global values, thisis still compatible. Butamodeline only sets the local value, thisis not backwards compatible.":let &opt= val" now sets the local and global values, like ":set". Newcommands have been added to set the global or local value::let &opt= vallike ":set":let &g:opt= vallike ":setglobal":let &l:opt= vallike ":setlocal"'fileencoding' changedfileencoding-changed----------------------'fileencoding' was used in Vim 5.x to set the encoding used inside all of Vim.This wasa bit strange, becauseit was local toa buffer and worked for allbuffers. It could never be different between buffers, becauseit changed theway text in allbuffers was interpreted.Itis now used for the encoding of the file related to the buffer. If youstill set'fileencoding'itis likely to be overwritten by the detectedencoding from'fileencodings', thusitis "mostly harmless".The oldFileEncodingautocommand now does the sameas the newEncodingChangedevent.Digraphs changeddigraphs-changed----------------The defaultdigraphs now correspond to RFC1345. Thisis very different fromwhat was used in Vim 5.x.digraphsFiletype detection changedfiletypedetect-changed--------------------------Thefiletype detection previously was using the "filetype"autocommand group.This caused confusion with theFileType event name (caseis ignored). Thegroupis now called "filetypedetect". It still works, but if the "filetype"groupis used theautocommands will not be removed by ":filetype off". The support for'runtimepath' has made the "myfiletypefile" and"mysyntaxfile" mechanism obsolete. They are still used for backwardscompatibility.The connection between theFileType event and setting the'syntax' option waspreviously in the "syntax"autocommand group. That caused confusion with theSyntax event name. The groupis now called "syntaxset".The distributedsyntax files no longer contain "syntax clear". That makesitpossible to include one in the other without tricks. Thesyntaxis nowcleared when the'syntax' optionis set (by anautocommand added fromsynload.vim). This makes thesyntax cleared when the value of'syntax' doesnot correspond toasyntax file. Previously the existing highlighting waskept.Unlistedbuffers introducednew-unlisted-buffers---------------------------Thereis nowa difference betweenbuffers which don't appear in the bufferlist andbuffers which are really not in the buffer list. Commands like":ls", ":bnext", ":blast" and the Buffers menu will skipbuffers not in thebuffer list.unlisted-bufferThe'buflisted' option can be used to makea buffer appear in the bufferlistor not.Several commands that previously addeda buffer to the bufferlist now createan unlisted buffer. This means thata ":bnext" and ":ball" will not find thesefiles until they have actually been edited. For example,buffers used for thealternative file by ":write file" and ":read file". Other commands previously completely deleteda buffer and now only removethe buffer from the buffer list. Commands relying ona buffer not to bepresent might fail. For example,a ":bdelete" command in anautocommand thatrelied on something following to fail (was used in the automatic tests).:bwipeout can be used for the old meaning of ":bdelete".TheBufDeleteautocommand eventis now triggered whena bufferis removed fromthe buffer list. TheBufCreate eventis only triggered whena bufferiscreated thatis added to the buffer list, or when an existing bufferis addedto the buffer list.BufAddisa new name for BufCreate.The newBufNew eventis for creating any buffer andBufWipeout for reallydeletinga buffer.When doingInsert mode completion, onlybuffers in the bufferlist arescanned. Added the 'U' flag to'complete' todo completion from unlistedbuffers.Unlistedbuffers are not stored inaviminfo file.CTRL-U inCommand-line mode changedCTRL-U-changed-----------------------------------UsingCTRL-U when editing the command line cleared the whole line. Mostshells only delete the characters before the cursor. Madeit work like that.(Steve Wall)You can get the old behavior withCTRL-ECTRL-U::cnoremap <C-U> <C-E><C-U>Ctags gonectags-gone----------Ctagsis no longer part of the Vim distribution. It's nowa grown-up programby itself,it deserves to be distributed separately.Ctags can be found here:http://ctags.sf.net/.Documentation reorganizeddocumentation-6-------------------------The documentation has been reorganized, an item may not be where you founditin Vim 5.x.- The user manual was added, some items have been moved toit from thereference manual.- The quickreferenceis now ina separate file (so thatit can be printed).The examples in the documentation were previously marked witha ">" in thefirst column. This madeit difficult to copy/paste them. Thereis nowasingle ">" before the example andit endsata "<" ora non-blank in the firstcolumn. This also looks better without highlighting.'helpfile'is no longer used to find thehelptags file. This allowsa userto add its ownhelp files (e.g., for plugins).Modeless selection andclipboardmodeless-and-clipboard--------------------------------The modeless selectionis used to select text whenVisual mode can't be used,for example when editing the command line orat the more prompt.In Vim 5.x the modeless selection was always used. OnMS-Windows this causedtheclipboard to be overwritten, with no way to avoid that. The modelessselection now obeys the 'a' and 'A' flags in'guioptions' and "autoselect" and"autoselectml" in'clipboard'. By default thereis no automatic copy onMS-Windows. Use thec_CTRL-Y command to manually copy the selection.To get the old behavior back,do this::set clipboard^=autoselectml guioptions+=ASmall incompatibilitiesincomp-small-6-----------------------'backupdir','cdpath','directory','equalprg','errorfile','formatprg','grepprg','helpfile','makeef','makeprg','keywordprg','cscopeprg','viminfo' and'runtimepath' can no longer be set froma modeline, for bettersecurity.Removed '_' from the'breakat' default: It's commonly used in keywords.The default for'mousehide'is on, because this works well for most people.TheAmiga binaryis now always compiled with "big" features. The "big" binaryarchive no longer exists.The items "[RO]", "[+]", "[help]", "[Preview]" and "[filetype]" in'statusline' no longer havea leading space.Non-Unix systems: When expandingwildcards for the Vim arguments, don't use'suffixes'. It now worksas if the shell had expanded the arguments.The'lisp','smartindent' and'cindent'options are not switched off when'paste'is set. The auto-indentingis disabled when'paste'is set, butmanual indenting with "=" still works.Whenformatting with "=" uses'cindent' or'indentexpr' indenting, and thereis no change in indent, thisis not countedasa change ('modified' isn't setand thereis nothing to undo).Report'modified'as changed when'fileencoding' or'fileformat' was set.Thusit reflects the possibility toabandon the buffer without losing changes.The "Save As" menu entry now edits the saved file. Most people expectit towork like this.A buffer fora directoryis no longer added to the Buffers menu.Renamed<Return> to<Enter>, since that's what it's called on most keyboards.Thus it's now thehit-enter prompt instead of thehit-return prompt.Can map<Enter> just like<CR> or<Return>.The default for the'viminfo' optionis now '20,"50,h when'compatible' isn'tset. Most people will want to use it, including beginners, butit requiredsetting the option, which isn't that easy.After using ":colder" the newer error lists are overwritten. This makesitpossible to use ":grep" to browse ina tree-like way. Must use ":cnewer 99"to get the old behavior.The patterns in'errorformat' would sometimes ignorecase (MS-Windows) andsometimes not (Unix). Nowcaseis always ignored. Add "\C" to thepattern tomatch case.The 16 bitMS-DOS versionis now compiled without the+listcmds feature(bufferlist manipulation commands). They are not often needed and thisexecutable needs to be smaller.'sessionoptions' now includes "curdir" by default. This means that restoringa session will result in the current directory being restored, instead ofgoing to the directory where the session fileis located.A session deleted all buffers,deleting all marks. Now keep the buffer list,it shouldn't hurt for some existingbuffers to remain present.When the argumentlistis empty ":argdel *" caused an error message.No longerput the searchpattern fromatag jump in the history.Use "SpecialKey" highlighting for unprintable characters instead of "NonText".The ideais that unprintable text or any text that's displayed differentlyfrom the characters in the fileis using "SpecialKey", and "NonText"is usedfor text that doesn't really exist in the file.Motif now uses the system default colors for the menu and scrollbar. Used tobe grey. It's still possible to set the colors with ":highlight" commands andresources.Formatting text with "gq" breaksaparagraphata non-empty blank line.Previously the line would be removed, which wasn't very useful.":normal" does no longer hang when the argument ends in halfa command.Previously Vim would wait for more characters to be typed, without updatingthe screen. Nowit pretends an<Esc> was typed.Bitmaps for the toolbar are no longer searched for in "$VIM/bitmaps" but inthe "bitmaps" directories in'runtimepath'.Now use theCmdline-modemenus for thehit-enter prompt instead of theNormalmode menus. This generally works better and allows using the "Copy" menu toproduceCTRL-Y to copy the modeless selection.Moved the font selection from the Window to the Edit menu, together with theother settings.The default values for'isfname' include more characters to make "gf" workbetter.Changed thelicense for the documentation to the Open Publication License.This seemed fair, considering theinclusion of parts of the Vim book, whichisalso published under the OPL. The downsideis that we can't force someone whowould sell copies of the manual to contribute to Uganda.After "ayy don't let ""yy or:let@"= val overwrite the "a register.Use the unnamed register instead.MSDOS:Apattern "*.*" previously also matcheda file name withouta dot.This was inconsistent with other versions.InInsert mode,CTRL-OCTRL-\CTRL-N{cmd} remains inNormal mode. Previouslyit wouldgo back toInsert mode, thus confusing the meaning ofCTRL-\CTRL-N,whichis supposed to take us toNormal mode (especially in ":amenu").Allow using ":" commands after an operator. Could be used to implementa newmovement command. Thusit no longer abortsa pending operator.For theAmiga the "-d{device}" argument was possible. When compiled with thediff feature, this no longer works. Use "-dev{device}" instead.-devMade the default mappings for<S-Insert> inInsert modeinsert the textliterally, avoids that special characters like BS cause side effects.Using ":confirm" applied to the rest of the line. Nowit applies only to thecommand right after it. Thus ":confirm ifx | edit | endif" no longer works,use ":ifx | confirm edit | endif". This was the original intention, thatitworked differently wasa bug.==============================================================================NEW FEATURESnew-6Foldingnew-folding-------Vim can now displaya buffer with text folded. This allows overviewing thestructure ofa file quickly. Itis also possible to yank, delete andputfolded text, for example to movea function to another position.Thereisa whole bunch of new commands andoptions related to folding.Seefolding.Vertically splitwindowsnew-vertsplit------------------------Windows can also be split vertically. This makesit possible to havewindowsside by side. One nice use for thisis to compare two similar files (seenew-diff-mode). The'scrollbind' option can be used to synchronizescrolling.A vertical split can be created with the commands::vsplit orCTRL-Wv orCTRL-WCTRL-V:vsplit:vnew:vnew:vertical{cmd}:verticalThe last oneisa modifier, which hasa meaning for any command that splitsawindow. For example::vertical stag mainWill vertically split thewindow and jump to thetag "main" in the new window.Moving fromwindow towindow horizontally can be done with theCTRL-W_h andCTRL-W_l commands. TheCTRL-W_k andCTRL-W_j commands have been changedto jump to thewindow above or below the cursor position.The vertical and horizontal splits can be mixedas you like. Resizingwindowsiseasy when using the mouse, just position the pointer ona status line orvertical separator and drag it. In theGUIa special mouse pointer shapeindicates where you can draga status or separator line.To resize vertically splitwindows use theCTRL-W_< andCTRL-W_> commands.To makeawindow the maximum width use theCTRL-W | commandCTRL-W_bar.To forcea newwindow to use the full width or height of the Vim window,these two modifiers are available::topleft{cmd}Newwindow appearsat the top with fullwidth orat the left with full height.:botright{cmd}Newwindow appearsat the bottom with fullwidth orat the right with full height.This can be combined with ":vertical" to forcea vertical split::vert bot dsplit DEBUGThis will openawindowat the far right, occupying the full height of the Vimwindow, with the cursor on the first definition of "DEBUG".Thehelpwindowis openedat the top, like ":topleft" was used, if the currentwindowis fewer than 80 characters wide.A fewoptions can be used to set the preferences for vertically split windows.They work similarly to their existing horizontal equivalents:horizontalvertical'splitbelow''splitright''winheight''winwidth''winminheight''winminwidth'It's possible to set'winminwidth' to zero, so that temporarily unusedwindowshardly take upspace without closing them.The new'eadirection' option tells where'equalalways' applies::set eadirection=bothboth directions:set eadirection=verequalizewindow heights:set eadirection=horequalizewindows widthsThis can be used to avoidchangingwindow sizes when you want to keep them.Sincewindows can become quite narrow with vertical splits, text lines willoften not fit. The'sidescrolloff' has been added to keep some context leftand right of the cursor. The'listchars' option has been extended with the"precedes" item, to showa "<" for example, when thereis text left off thescreen. (Utz-Uwe Haus)"-O" command line argument: Like "-o" but splitwindows vertically. (ScottUrban)Added commands to move the currentwindow to the very top (CTRL-W K), bottom(CTRL-W J), left (CTRL-W H) and right (CTRL-W L). In the new position thewindow uses the full width/height of the screen.When thereis not enough room in the status line for both the file name andthe ruler, use up to half the width for the ruler. Useful for narrow windows.Diff modenew-diff-mode---------Indiff mode Vim shows the differences between two, three or four files.Foldingis used to hide the parts of the file that are equal.Highlightingis used to show deleted and changed lines.Seediff-mode.Aneasy way to start indiff modeis to start Vimas "vimdiff file1 file2".Added thevimdiff manpage.Ina running Vim the:diffsplit command startsdiff mode for the currentfile and another file. The:diffpatch command startsdiff mode using thecurrent file anda patch file. The:diffthis command startsdiff mode forthe current window.Differences can be removed with the:diffget and:diffput commands.- The'diff' option switchesdiff mode on ina window.- The:diffupdate command refreshes the diffs.- The'diffopt' option changes how diffs are displayed.- The'diffexpr' option can be set howadiffis to be created.- The'patchexpr' option can be set how patchis applied toa file.- Added the "diff"folding method. When openingawindow for diff-mode, set'foldlevel' to zero and'foldenable' on, to close the folds.- Added the DiffAdd, DiffChange, DiffDelete and DiffText highlight groups to specify the highlighting for differences. The defaults are ugly...- Unix: makeavimdiff symbolic link for "makeinstall".- Removed the now obsolete "vimdiff.vim"script from the distribution.- Added the "[c" and "]c" commands to move to the next/previous change indiff mode.Easy Vim: click-and-typenew-evim------------------------eVim stands for "Easy Vim". Thisisa separate program, but can also bestartedas "vim-y".This starts Vim with'insertmode' set to allow click-and-type editing. The$VIMRUNTIME/evim.vimscriptis used to add mappings and setoptions to be abletodo most things like Notepad. Thisis only for people who can't stand twomodes.eView does the same but in readonly mode.In theGUIaCTRL-C now only interrupts when busy with something, not whenwaiting fora character. Allows usingCTRL-C to copy text to the clipboard.User manualnew-user-manual-----------The user manual has been added. Itis organised around editing tasks. Itreads likea book, from start to end. It should allow beginners to startlearning Vim. It helps everybody to learn using the most useful Vim features.Itis much easier to read than thereference manual, but omits details. Seeuser-manual.The user manual includes parts of the Vimbook by Steve Ouallinefrombook.Itis published under the OPLmanual-copyright.Whensyntax highlightingis not enabled, the characters in thehelp file whichmark examples ('>' and '<') and header lines ('~') are replaced witha space.When closing thehelp window, thewindow layoutis restored from beforeopening it, if thewindow layout didn't change since then.When opening thehelp window,putitat the top of the Vimwindow if thecurrentwindowis fewer than 80 characters and not full width.Flexible indentingnew-indent-flex------------------Automatic indentingis now possible for any language. It works witha Vimscript, which makesit very flexible to compute the indent.The ":filetype indent on" command enables using the provided indent scripts.Thisis explained in the user manual:30.3.The'indentexpr' optionis evaluated to get the indent fora line. The'indentkeys' option tells when to trigger re-indenting. Normally theseoptions are set from an indent script. LikeSyntax files, indent scripts willbe created and maintained by many people.Extended search patternsnew-searchpat------------------------Added the possibility to match more than one line witha pattern. (partly byLoic Grenie)New items ina searchpattern for multi-line matches:\nmatch end-of-line, also in[]\_[]match characters in range and end-of-line\_xmatch characterclass and end-of-line\_.match any character or end-of-line\_^match start-of-line, can be used anywhere in theregexp\_$match end-of-line, can be used anywhere in theregexpVarious other new items in search patterns:\cignorecase for the wholepattern\Cmatchcase for the wholepattern\mmagic on for the following\Mmagic off for the following\vmake following characters "very magic"\Vmake following characters "very nomagic"\@!don't match atom before this.Example: "foo\(bar\)\@!" matches "foo " but not "foobar".\@=match atom, resulting in zero-width matchExample: "foo\(bar\)\@=" matches "foo" in "foobar".\@<!don't match preceding atom before the current position\@<=match preceding atom before the current position\@>match preceding atomasa subexpression\&match only when branch before and afterit match\%[]optionally matchalist of atoms; "end\%[if]" matches "end","endi" and "endif"\%(\)like \(\), but without creatinga back-reference; there can beany number of these, overcomes the limit of nine \( \) pairs\%^matchstart-of-file (Chase Tingley)\%$matchend-of-file (Chase Tingley)\%#Match with the cursor position. (Chase Tingley)\?Just like "\=" but can't be used ina "?" command.\%23lmatch in line 23\%<23lmatch before line 23\%>23lmatch after line 23\%23c, \%<23c, \%>23c match in/before/after column 23\%23v, \%<23v, \%>23vmatch in/before/after virtual column 23Forsyntax items:\z(...\)externalreference match set (in region start pattern)\z1- \z9externalreference match use (in region skip orend pattern)(Scott Bigham)\zsuse positionas start of match\zeuse positionasend of matchRemoved limit of matching only up to 32767 times with *, \+, etc.Added support to matchmultibyte characters. (partly by Muraoka Taro)Made "\<" and "\>" work for UTF-8. (Muraoka Taro)UTF-8 supportnew-utf-8-------------Vim can now edit files inUTF-8 encoding. Up to 31 bit characters can beused, but only 16 bit characters are displayed. Up to two combiningcharacters are supported, they overprint the preceding character.Double-wide characters are also supported. SeeUTF-8.UCS-2, UCS-4 and UTF-16 encodings are supported too, they are converted toUTF-8 internally. Thereis also support for editingUnicode files ina Latin1environment. Other encodings are converted withiconv() or an externalconverter specified with'charconvert'.Many new items for Multi-byte support:- Added'encoding' option:specifies character encoding used inside Vim. It can be any 8-bit encoding, some double-byte encodings or Unicode. Itis initialized from the environment whena supported valueis found.- Added'fileencoding' and'fileencodings': specify character coding ina file, similar to'fileformat' and'fileformats'. When'encoding'is "utf-8" and'fileencodings'is "utf-8,latin1" this will automatically switch to latin1 ifa file does not contain valid UTF-8.- Added'bomb' option and detection ofa BOMat the start ofa file. Can be used with "ucs-bom" in'fileencodings' to automatically detectaUnicode file ifit starts witha BOM. Especially useful onMS-Windows (NT and 2000), which uses ucs-2le files witha BOM (e.g., when exporting the registry).- Added the'termencoding' option: Specifies the encoding used for the terminal. Useful toput Vim inutf-8 mode while ina non-Unicode locale: :let &termencoding = &encoding :set encoding=utf-8- When'viminfo' contains the 'c' flag, theviminfo fileis converted from the'encoding'it was written with to the current'encoding'.- Added ":scriptencoding" command: convert lines ina sourcedscript to'encoding'. Useful for menu files.- Added'guifontwide' to specifya font for double-wide characters.- AddedKorean support for characterclass detection. Also fix cls() in search.c. (Chong-Dae Park)- Win32: Typingmultibyte characters without IME. (Alexander Smishlajev)-Win32 with Mingw: compile with iconv library. (Ron Aaron)-Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)- Makeit possible to builda version withmultibyte and iconv support with Borland 5.5. (Yasuhiro Matsumoto)- Added'delcombine' option: Delete combining character separately. (Ron Aaron)- The "xfontset" feature isn't required for "xim". These are now two independent features.- XIM: enableXIM when typinga language character (Insert mode, Search pattern, "f" or "r" command). DisableXIM when typingaNormal mode command.- When theXIMis active, show "XIM" in the'showmode' message. (Nam SungHyun)- Support "CursorIM" for XIM. (Nam SungHyun)- Added 'm' flag to'formatoptions': When wrapping words, allow splittingat eachmultibyte character, not onlyata space.- Made ":syntax keyword" work withmultibyte characters.- Added support forUnicode upper/lowercase flipping and comparing. (based on patch by Raphael Finkel) Let "~" onmultibyte characters that havea thirdcase("titlecase") switch between the three cases. (Raphael Finkel)Allow definingdigraphs formultibyte characters.Added RFC1345digraphs for Unicode.MostNormal mode commands that accepta character argument, like "r", "t" and"f" now accepta digraph. The 'D' flag in'cpoptions' disables this to remainVi compatible.Added Languagemapping and'keymap' to be able to typemultibyte characters:- Added the ":lmap" command and friends: Define mappings that are used when typing characters in the language of the text. Also for "r", "t", etc. InInsert andCommand-line modeCTRL-^ switches the use of the mappings on/off.CTRL-^ also toggles the use of an inputmethod when no language mappings are present. Allows switching the IM back on halfway typing.- "<char-123>" argument to ":map", allows to specify the decimal,octal or hexadecimal value ofa character.- Implemented the'keymap' option: Loada keymap file. Uses ":lnoremap" to define mappings for the keymap. The new ":loadkeymap" commandis used in the keymap file.- Added 'k' flag in'statusline': Value of "b:keymap_name" or'keymap' when it's being used. Uses "<lang>" when no keymapis loaded and ":lmap"s are active. Show this text in the default statusline too.- Added the'iminsert' and'imsearch' options: Specify use of langmap mappings and Input Method with an option. (Muraoka Taro) Added'imcmdline' option: When set the inputmethodis always enabled whenstarting to edita command line. Useful foraXIM that uses dead keys to type accented characters. Added'imactivatekey' option to bettercontrol XIM. (Muraoka Taro)- When typingamapping that's not finished yet, display the last character under the cursor inInsert mode andCommand-line mode. Looks good for dead characters.- Made the'langmap' option recognizemultibyte characters. Butmapping only works for 8-bit characters. Helps when using UTF-8.- Usea different cursor for when ":lmap" mappings are active. Can specify two highlight groups for an item in'guicursor'. By default "lCursor" and "Cursor" are equal, the usermust seta color he likes. Use the cursor color forhangul inputas well. (Sung-Hyun Nam)- Show "(lang)" for'showmode' when languagemappingis enabled.- UTF-8: Made "r" work witha ":lmap" that includesa composing character. Also works for "f", which now works to finda character that includesa composing character.Othermultibyte character additions:- Support double-byte single-width characters for euc-jp: Charactersstarting with 0x8E. Added ScreenLines2[] to store the second byte.Multi-language supportnew-multi-lang----------------------Themessages used in Vim can be translated. Several translations areavailable. This uses the gettext mechanism. It allows addinga translationwithout recompiling Vim.multi-lang (partly by Marcin Dalecki)The translation files are in the src/po directory. The src/po/README.txt fileexplainsa few things about doinga translation.Menu translations are availableas well. This uses the new:menutranslatecommand. The translations are found in the runtime directory "lang". Thisallowsa user to adda translation.Added:language command to set the language (locale) for messages, time andcharacter type. This allows switching languages in Vim withoutchanging thelocale outside of Vim.Madeit possible to havevimtutor use different languages. (Eduardo Fernandez)Spanish (Eduardo Fernandez), Italian (Antonio Colombo),Japanese (YasuhiroMatsumoto) and French (Adrien Beau) translations are included.Added "vimtutor.bat":script to start Vim ona copy of thetutor file forMS-Windows. (Dan Sharp)- Addedv:lang variable to be able to get current language setting. (Marcin Dalecki) Alsov:lc_time and v:ctype.- Makeit possible to translate the dialogs used by the menus. Uses global "menutrans_" variables. ":menutrans clear" deletes them.- removed "brokenlocale" (Marcin Dalecki).- Don't use color names in icons, use RGB values. The names could be translated.- Win32: Added globalIME support (Muraoka)- Win32: Added dynamic loading ofIME support.- ":messages" printsa message about who maintains themessages or the translations. Useful to find out where to makea remark abouta wrong translation.- --disable-nls argument for configure: Disable use of gettext(). (Sung-Hyun Nam)- Added NLS support forWin32 with the MingW compiler. (Eduardo Fernandez)- When available, call bind_textdomain_codeset() to havegettext() translatemessages to'encoding'. This requires GNU gettext 0.10.36 or later.- Added gettext support for Win32. This meansmessages will be translated when thelocaleis set and libintl.dll can be found. (Muraoka Taro) Also madeit work with MingW compiler. (Eduardo Fernandez) Detect the language and set $LANG to get the appropriate translatedmessages (if supported). Also use $LANG to selecta language,v:langisa very different kind of name.- Made gvimext.dll use translated messages, if possible. (Yasuhiro Matsumoto)Plugin supportnew-plugins--------------To makeit reallyeasy to loada Vimscript whenstarting Vim, the "plugin"runtime directory can be used. All "*.vim" files init will be automaticallyloaded. For Unix, the directory "~/.vim/plugin"is used by default. The'runtimepath' option can be set to look in other directories for plugins.load-pluginsadd-pluginThe:runtime command has been added to load one or more files in'runtimepath'.Standard plugins:netrw.vim- Edit files overanetworknew-network-filesgzip.vim- Edit compressed filesexplorer.vim- Browse directoriesnew-file-browserAdded support for localhelp files.add-local-help.When searching forhelp tags, all "doc/tags" files in'runtimepath' are used.Added the ":helptags" command: Generateatags file forahelp directory.The first line of eachhelp fileis automagically added to the "LOCALADDITIONS"section in doc/help.txt.Added the<unique> argument to ":map": only addamapping whenit wasn'tdefined before.When displaying an option value with'verbose' set will givea message aboutwhere the option was last set. Very useful to find out whichscript did setthe value.The new:scriptnames command displaysalist of all scripts that have beensourced.GUI: For Athena,Motif andGTK look fora toolbar bitmap in the "bitmaps"directories in'runtimepath'. Allows adding your own bitmaps.Filetype pluginsnew-filetype-plugins-----------------A new group of files has been added todo settings for specific file types.These can beoptions and mappings which are specifically used for one value of'filetype'.The files are located in "$VIMRUNTIME/ftplugin". The'runtimepath' optionmakesit possible to use several sets of plugins: Your own, system-wide,included in the Vim distribution, etc.To be able to make this work, several features were added:- Added the "s:" variables, local toa script. Avoids name conflicts with global variables. They can be used in thescript and in functions,autocommands and user commands defined in the script. They are kept between invocations of the same script.s:var- Added the global value for local options. This valueis used when openinga new buffer or editing another file. The option value specified inamodeline orfiletype settingis not carried over to another buffer. ":set" sets both the local and the global value. ":setlocal" sets the local option value only. ":setglobal" sets or displays the global value fora local option. ":setlocal name<" setsa local option to its global value.- Added the buffer-local value for some global options:'equalprg','makeprg','errorformat','grepprg','path','dictionary','thesaurus','tags','include' and'define'. This allows settinga local value for these global options, without makingit incompatible.- Added mappings andabbreviations local toa buffer: ":map<buffer>".- Inamapping "<Leader>" can be used to get the value of the "mapleader" variable. This simplifies mappings that use "mapleader". "<Leader>" defaults to "\". "<LocalLeader>" does the same with "maplocalleader". Thisis to be used for mappings local toa buffer.- Added<SID> Script ID to definefunctions and mappings local toa script.- Added<script> argument to ":noremap" and ":noremenu": Only remapscript-local mappings. Avoids that mappings from other scripts get in the way, but does allow using mappings defined in the script.-User commands can be local toa buffer: ":command -buffer".The new ":setfiletype" commandis used in thefiletype detection autocommands,to avoid that'filetype'is set twice.File browsernew-file-browser------------When editinga directory, the explorerplugin willlist the files in thedirectory. Pressing<Enter> ona file name edits that file. Pressing<Enter>ona directory moves the browser to that directory.There are several other possibilities, suchas openinga file in the previewwindow, renaming files anddeleting files.Editing files overanetworknew-network-files----------------------------Filesstarting with scp://, rcp://, ftp:// and http:// are recognizedasremote files. An attemptis made to access these files with the indicatedmethod. For http:// only readingis possible, for the otherswritingis alsosupported. Uses thenetrw.vimscriptasa standard "plugin".netrwMade "gf" work ona URL. It no longer assumes the fileis local on thecomputer (mostly didn't work anyway, because the full path was required).Adjusted test2 for this.Allow usinga URL in'path'. Makes ":find index.html" work.GTK: Allow droppinga http:// and ftp:// URL on Vim. Thenetrwplugin takescare of downloading the file. (Mikael Berthe)Window for command-line editingnew-cmdwin-------------------------------TheCommand-linewindow can be used to edita command-line withNormal andInsert mode commands. Whenitis openedit contains the history. This allowscopying parts of previous command lines.cmdwinThe command-linewindow can be opened from the command-line with the keyspecified by the'cedit' option (like Nvi). It can also be opened directlyfromNormal mode with "q:", "q/" and "q?".The'cmdwinheight'is used to specify the initial height of the window.InInsert modeCTRL-XCTRL-V can be used to complete anEx command line, likeit's done on the command-line. Thisis also useful forwriting Vim scripts!Additionally, thereis "improvedEx mode". Entered when Vimis startedas"exim" or "vim-E", and with the "gQ" command. Works like repeated use of":", with full command-line editing and completion. (Ulf Carlsson)Debugging modenew-debug-mode--------------In debugging mode sourced scripts and userfunctions can be executed line byline. There are commands to step overa command or step into it.debug-modeBreakpoints can be set to run untila certain line inascript or userfunctionis executed.:breakaddDebugging can be started with ":debug{cmd}" to debug what happens whenacommand executes. The-D argument can be used to debug whilestarting up.Cursor in virtual positionnew-virtedit--------------------------Added the'virtualedit' option: Allow positioning the cursor where thereis noactual character inInsert mode,Visual mode or always. (Matthias Kramm)Thisis especially useful in Visual-block mode. It allows positioningacorner of the area where thereis no text character. (Many improvements byChase Tingley)Debuggerinterfacenew-debug-itf------------------This was originally made to work with SunVisual Workshop. (Gordon Prieur)Seedebugger.txt,sign.txt andworkshop.txt.Added the ":sign" command to define and place signs. They can be displayedwith two ASCII characters or an icon. The line afterit can be highlighted.Useful to display breakpoints and the current PC position.Added the :wsverb command to execute debugger commands.Added balloon stuff:'balloondelay' and'ballooneval' options.Added "icon=" argument for ":menu". Allows defininga specific icon foraToolBar item.Communication between Vimsnew-vim-server--------------------------Added communication between two Vims. Makesit possible to send commands fromone Vim to another. Works for X-Windows andMS-Windowsclientserver.Use "--remote" to have files be edited in an already running Vim.Use "--remote-wait" todo the same and wait for the editing to finish.Use "--remote-send" to send commands from one Vim to another.Use "--remote-expr" to have anexpression evaluated in another Vim.Use "--serverlist" tolist the currently available Vim servers. (X only)There are alsofunctions to communicate between the server and the client.remote_send()remote_expr()(X-windows version implemented by Flemming Madsen,MS-Windows version by PaulMoore)Added the command server name to thewindow title, so you can see which servername belongs to which Vim.Removed the OleVim directory and SendToVim.exe and EditWithVim.exe from thedistribution. Can now use "gvim--remote" and "gvim--remote-send", whichisportable.GTK+: Support running Vim inside another window. Uses the--socketid argument(Neil Bird)Buffer typeoptionsnew-buftype-------------------The'buftype' and'bufhidden'options have been added. They can be set tohave different kinds of buffers. For example:-'buftype'= "quickfix": buffer with errorlist-'buftype'= "nofile" and'bufhidden'= "delete": scratch buffer that will be deletedas soonas thereis nowindow displaying it.'bufhidden' can be used to overrule the'hidden' option for one buffer.In combination with'buflisted' and'swapfile' this offers the possibility tousevarious kinds of special buffers. Seespecial-buffers.Printingnew-printing--------Included first implementation of the ":hardcopy" command forprintingto paper. ForMS-Windows any installed printer can be used. For othersystemsa PostScript fileis generated, which can be printed with the'printexpr' option.(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri andMike Williams)Made ":hardcopy" work withmultibyte characters. (Muraoka Taro, YasuhiroMatsumoto)Addedoptions to tune the wayprinting works: (Vince Negri)-'printoptions' definesvarious things.-'printheader'specifies the header format. Added "N" field to'statusline' for the page number.-'printfont'specifies the font name and attributes.-'printdevice' defines the default printer for ":hardcopy!".Portsports-6-----Port to OS/390Unix (Ralf Schandl)-A lot of changes to handle EBCDIC encoding.- Changed Ctrl('x') to Ctrl_x define.Included jsbmouse support. (Darren Garth)Support for dec mouse in Unix. (Steve Wall)Port to 16-bitMS-Windows (Windows 3.1x) (Vince Negri)Port to QNX. Supports the Photon GUI, mouse, etc. (Julian Kinraid)Allow cross-compiling theWin32 version with Make_ming.mak. (Ron Aaron)AddedPython support for compiling with Mingw. (Ron Aaron)Dos 32 bit: Added support the Windows clipboard. (David Kotchan)Win32: Dynamically loadPerl and Python. Allows compiling Vim with theseinterfaces and will try to find the DLLsat runtime. (Muraoka Taro)Compiling theWin32GUI with Cygwin. Also compile vimrun, dosinst anduninstall. (Gerfried)Mac: Make Vim compile with the free MPW compiler supplied by Apple. Andupdates for CodeWarrior. (Axel Kielhorn)Added typecasts and ifdefsasa start to make Vim work on Win64 (GeorgeReilly)Quickfix extendedquickfix-6-----------------Added the "errorwindow". It contains all theerrors of the current errorlist. Pressing<Enter> ina line makes Vim jump to that line (in anotherwindow). This makesiteasy to navigate through the error list.quickfix-window.-:copen opens thequickfix window.-:cclose closes thequickfix window.-:cwindow takes care that thereisaquickfixwindow only when there are recognized errors. (Dan Sharp)-Quickfix also knows "info", next to "warning" and "error" types. "%I" can be used for the start ofa multi-line informational message. (Tony Leneis)- The "%p" argument can be used in'errorformat' to get the column number froma line where "^" points to the column. (Stefan Roemer)- When using "%f" in'errorformat' ona DOS/Windows system, also include "c:" in the filename, even when using "%f:".Operator modifiersnew-operator-mod------------------Insert "v", "V" orCTRL-V between anoperator anda motion command to forcetheoperator to work characterwise,linewise or blockwise.o_vSearch Pathnew-search-path-----------Vim can search ina directory tree not only in downwards but also upwards.Works for the'path','cdpath' and'tags' options. (Ralf Schandl)Also use "**" for'tags' option. (Ralf Schandl)Added'includeexpr', can be used to modify file name found by'include'option.Also use'includeexpr' for "gf" and "<cfile>" when the file can't be foundwithout modification. Useful for doing "gf" on the name after an include orimport statement.Added the'cdpath' option: Locations to finda ":cd" argument. (Raf)Added the'suffixesadd' option: Suffixes to be added toa file name whensearching fora file for the "gf", "[I", etc. commands.Writing files improvednew-file-writing----------------------Added the'backupcopy' option:Select whethera fileis to be copied orrenamed to makeabackup file. Useful onUnix to speed upwriting an ordinaryfile. Useful on other systems to preserve file attributes and when editingafile onaUnix filesystem.Added the'autowriteall' option. Works like'autowrite' but for morecommands.Added the'backupskip' option:Alist of file patterns to skip makingabackupfile whenit matches. The default forUnix includes "/tmp/*", this makes"crontab-e" work.Added support for Access ControlLists (ACL) for FreeBSD and Win32. TheACLis copied from the original file to the new file (or thebackup if it'scopied).ACLis also supported for AIX, Solaris and generic POSIX. (Tomas Ogren)And on SGI.Argumentlistnew-argument-list-------------The support for the argumentlist has been extended. It can now bemanipulated to contain the files you wantit to contain.The argumentlist can now be local toa window. Itis created with the:arglocal command. The:argglobal command can be used togo back to theglobal argument list.The:argdo command executesa command on all files in the argument list.File names can be added to the argumentlist with:argadd. File names canbe removed with:argdelete."##" can be used like "#",itis replaced by all the names in the argumentlist concatenated. Useful for ":grep foo ##".The:argedit addsa file to the argumentlist and edits it. Like ":argadd"and then ":edit".RestoreaViewnew-View--------------The ":mkview" command writesa Vimscript with the settings and mappings forone window. When the created fileis sourced, theview of thewindowisrestored. It's like ":mksession" for one window.TheView also contains the local argumentlist and manually created, openedand closed folds.Added the ":loadview" command and the'viewdir' option: Allows for saving andrestoring views ofa file with simple commands. ":mkview 1" savesview 1 forthe current file, ":loadview 1" loadsit again. Also allows quickly switchingbetween two views on one file. And saving and restoring manualfolds and thefolding state.Added'viewoptions' to specify how ":mkview" works.":mksession" now also works fine with vertical splits. It has been furtherimproved and restores theview of each window. It also works properly withpreview andquickfix windows.'sessionoptions'is used for ":mkview"as well.Added "curdir" and "sesdir" to'sessionoptions'. Allows selection of whatthe current directory will be restored to.The session file now also contains the argument list(s).Color schemesnew-color-schemes-------------Support for loadinga color scheme. Added the ":colorscheme" command.Automatically add menu entries for available schemes.Should now properly reset the colors when'background' or't_Co'is changed.":highlight clear" sets the default colors again.":syntax reset" sets thesyntax highlight colors back to the defaults.For ":set bg&" guess the value. This allowsa color scheme to switch back tothe default colors.Whensyntax highlightingis switched on anda color scheme was defined,reloadthe color scheme to define the colors.Various new itemsnew-items-6-----------------Normal mode commands:"gi"Jump to the^mark and startInsert mode. Also works when themarkis just after the line.gi"g'm" and "g`m"Jump toamark withoutchanging the jumplist. Now you can useg`" to jump to the last known position ina file without sideeffects. Also useful in mappings.[', [`,]' and]`move the cursor to the next/previouslowercase mark.g_Go to last non-blank in line. (Steve Wall)Options:'autoread'When detected thata file changed outside of Vim,automatically reada buffer again when it's not changed.It hasa global anda local value. Use ":setlocal autoread<"togo back to using the global value for'autoread'.'debug'When set to "msg"it will print errormessages that wouldotherwise be omitted. Useful for debugging'indentexpr' and'foldexpr'.'lispwords'List of words used for lisp indenting. It was previously hardcoded. Addeda number of Lisp names to the default.'fold...'Many newoptions for folding.'modifiable'When off,itis impossible to make changes toa buffer.The %m and %M items in'statusline' showa '-'.'previewwindow' Set in the preview window. Used ina session file tomarkawindowas the preview window.'printfont''printexpr''printheader''printdevice''printoptions'for ":hardcopy".'buflisted'Makesa buffer appear in the bufferlist or not.Use "vim{version}:" for modelines, only to be executed when the versionis>={version}. Also "vim>{version}", "vim<{version}" and "vim={version}".Ex commands::sav[eas][!]{file}Works like ":w file" and ":e#", but without loading the fileagain and avoiding other side effects.:saveas:silent[!]{cmd}Executea command silently. Also don't usea delay that wouldcome after the message. And don'tdo'showmatch'.RISCOS: Removed that "!~cmd" didn't output anything, anddidn't wait for<Enter> afterwards. Can use ":silent !cmd"now.:menu<silent> Adda menu that won't echoEx commands.:map<silent> Addamapping that won't echoEx commands.:checktimeCheck for changed buffers.:verbose{cmd} Set'verbose' for one command.:echomsg{expr}:echoerr{expr} Like ":echo" but store the message in the history. (MarkWaggoner):grepaddWorks just like ":grep" but adds to the current errorlistinstead of defininga new list.:grepadd:finishFinish sourcinga file. Can be used to skip the rest ofa Vimscript.:finish:leftabove:aboveleftSplit left/above current window.:rightbelow:belowrightSplit right/below current window.:first, :bfirst, :ptfirst, etc.Alias for ":rewind". It's more logical compared to ":last".:enewEdita new, unnamed buffer. Thisis needed, because ":edit"re-edits the same file. (Wall):quitallSameas ":qall".:matchDefine match highlighting local toa window. Allowshighlighting an item in the currentwindow without interferingwithsyntax highlighting.:menu enable:menu disableCommands to enable/disable menu entries without removing them.(Monish Shah):windoExecutea command in all windows.:bufdoExecutea command in all buffers.:wincmdWindow (CTRL-W) command. Useful whenaNormal mode commandcan't be used (e.g., foraCursorHold autocommand). SeeCursorHold-example fora nice application with it.:lcd and:lchdirSet local directory fora window. (Benjie Chen):hide{command}Execute{command} with'hidden' set.:emenuinVisual mode to executea ":vmenu" entry.:popupPop upapopup menu.:redrawRedraw the screen even when busy withascript or function.:hardcopyPrint to paper.:compilerLoada Vimscript todo settings fora specific compiler.:z#List numbered lines. (Bohdan Vlasyuk)New marks:'( and')Begin orend of current sentence. Useful inEx commands.'{ and'}Begin orend of current paragraph. Useful inEx commands.'.Position of the last change in the current buffer.'^Position whereInsert mode was stopped.Store the^ and. marks in theviminfo file. Makesit possible to jump to thelastinsert position or changed text.New functions:argidx()Currentindex in argument list.buflisted()Checks if the buffer exists and has'buflisted' set.cindent()Get indent according to'cindent'.eventhandler()Returns 1 when inside an event handler and interactivecommands can't be used.executable()Checks ifa program or batchscript can be executed.filewritable()Checks ifa file can be written. (Ron Aaron)foldclosed()Find out if thereisa closed fold. (Johannes Zellner).foldclosedend()Find theend ofa closed fold.foldlevel()Find out the foldlevel. (Johannes Zellner)foreground()Move theGUIwindow to the foreground.getchar()Get one character from the user. Can be used to defineamapping that takes an argument.getcharmod()Get last used key modifier.getbufvar()gets the value of an option or local variable ina buffer (RonAaron)getfsize()Return the size ofa file.getwinvar()gets the value of an option or local variable inawindow (RonAaron)globpath()Find matching files inalist of directories.hasmapto()Detect ifamapping toastringis already present.iconv()Convertastring from one encoding to another.indent()gets the indent ofa line (Ron Aaron)inputdialog()Likeinput() but useaGUIdialog when possible. Currentlyonly works for Win32, Motif, Athena and GTK.Useinputdialog() for the Edit/Settings/Text Width menu. Alsofor the Help/Find.. and Toolbar FindHelp items.(Win32 support by Thore B. Karlsen)(Win16 support by Vince Negri)inputsecret()Ask the user to typeastring without showing the typed keys.(Charles Campbell)libcall()forUnix (Neil Bird, Johannes Zellner, Stephen Wall)libcallnr()forWin32 andUnixlispindent()Get indent according to'lisp'.mode()Returnastring that indicates the current mode.nextnonblank()Skip blank lines forwards.prevnonblank()Skip blank lines backwards. Useful to for indent scripts.resolve()MS-Windows: resolvea shortcut to the fileit points to.Unix: resolvea symbolic link.search()Search fora pattern.searchpair()Search for matching pair. Can be used in indent files to findthe "if" matching an endif.setbufvar()sets an option or variable local toa buffer (Ron Aaron)setwinvar()sets an option or variable local toawindow (Ron Aaron)stridx()Search for first occurrence of onestring in another.strridx()Search for last occurrence of onestring in another.tolower()Convertstring to all-lowercase.toupper()Convertstring to all-uppercase.type()Check the type of an expression.wincol()window column of the cursorwinwidth()Width ofa window. (Johannes Zellner)winline()window line of the cursorAdded expansion of curly braces in variable and function names. This can beused for variable names that include the value of an option. Ora primitiveform of arrays. (Vince Negri)New autocommand events:BufWinEnterTriggered whena bufferis displayed ina window, after usingthe modelines. Can be used to loada view.BufWinLeaveTriggered whena bufferis no longer ina window. Alsotriggered whenexiting Vim. Can be used to save views.FileChangedROTriggered before making the first change toa read-only file.Can be used to check-out the file. (Scott Graham)TermResponseTriggered when theterminal replies to the version-request.Thev:termresponse internal variable holds the result. Can beused to react to the version of the terminal. (Ronald Schild)FileReadCmdTriggered before readinga file.BufReadCmdTriggered before readinga file intoa buffer.FileWriteCmdTriggered beforewritinga file.BufWriteCmdTriggered beforewritinga buffer intoa file.FileAppendCmdTriggered before appending toa file.FuncUndefinedTriggered whena user functionis not defined. (Ron Aaron)Theautocommands for the *Cmd events read or write the file instead of normalfile read/write. Use this innetrw.vim to be able to edit files ona remotesystem. (Charles Campbell)New Syntax files:bdfBDF font definition (Nikolai Weibull)catalogSGML catalog (Johannes Zellner)debchangelogDebian Changelog (Wichert Akkerman)debcontrolDebian Control (Wichert Akkerman)dotdot (Markus Mottl)dslDSSSLsyntax (Johannes Zellner)etermEterm configuration (Nikolai Weibull)indentIndentprofile (Nikolai Weibull)lftpLFTP (Nikolai Weibull)lynxLynx config (Doug Kearns)mushmush sourcecode (Bek Oberin)naturalNatural (Marko Leipert)pilrcPal resource compiler (Brian Schau)plmPL/M (Philippe Coulonges)poviniPovray configuration (David Necas)ratpoisonRatpoison config/command (Doug Kearns)readlinereadline config (Nikolai Weibull)screenScreen RC (Nikolai Weibull)specmanSpecman (Or Freund)sqlformsSQL*Forms (Austin Ziegler)terminfoterminfo (Nikolai Weibull)tidyTidy configuration (Doug Kearns)wgetWget configuration (Doug Kearns)Updated manysyntax files to work both with Vim 5.7 and 6.0.Interface to Ruby. (Shugo Maeda)Support dynamic loading of theRubyinterface on MS-Windows. (Muraoka Taro)Support this for Mingw too. (Benoit Cerrina)Win32: Added possibility to loadTCL dynamically. (Muraoka Taro)Also for Borland 5.5. (Dan Sharp)Win32: When editinga file thatisa shortcut(*.lnk file), edit the fileitlinks to. Unless'binary'is set, then edit the shortcut file itself.(Yasuhiro Matsumoto)The ":command" command now acceptsa "-bar" argument. This allows the usercommand to be followed by "| command".The previewwindowis now also used by these commands:-:pedit edits the specified file in the previewwindow-:psearch searches foraword in included files, like:ijump, and displays the found text in the preview window.Added theCTRL-WP command:go to preview window.MS-DOS andMS-Windows also read the system-widevimrc file $VIM/vimrc. Mostlyfor NT systems with multiple users.Adouble-click of the mouse ona character that hasa "%" match selects fromthat character to the match. Similar to "v%"."-S session.vim" argument: Sourceascript file whenstarting up. Convenientway to start Vim witha session file.Added "--cmd{command}" Vim argument to executea command beforeavimrc fileis loaded. (Vince Negri)Added the "-M" Vim argument: reset'modifiable' and'write', thus disallowmaking changes andwriting files.Added runtime/delmenu.vim. Source this to remove allmenus and prepare forloading new menus. Useful whenchanging'langmenu'.Perlscript tofilterPerl errormessages toquickfix usable format. (JoergZiefle)Added runtime/macros/less.vim: Vimscript to simulate less, but withsyntaxhighlighting.MS-Windowsinstall program: (Jon Merz)- TheWin32 program can now create shortcuts on the desktop andinstall Vim in the Start menu.- Possibly remove old "Edit with Vim" entries.- The Vim executableis never moved or $PATH changed.A small batch fileis created ina directory in $PATH. Fewer choices to be made.- Detect already installed Vim versions and offer to uninstall them first.Improved theMS-Windows uninstal program. It now also deletes the entries inthe Start menu, icons from the desktop and the created batch files. (Jon Merz)Also madeit possible to delete only some of these. Also unregistergvim forOLE.Generatea self-installing Vim package for MS-Windows. This uses NSIS. (JonMerz et al.)Added ":filetype detect". Try detecting thefiletype again. Helps whenwritinga new shell script, after adding "#!/bin/csh".Added ":augroup! name" to delete anautocommand group. Needed for theclient-server "--remote-wait".Add theVim version number to theviminfo file, useful for debugging.==============================================================================IMPROVEMENTSimprovements-6Added the 'n' flag in'cpoptions': When omitted text of wrapped linesis notput between line numbers from'number' option. Makesita lot easier to readwrapped lines.When thereisa format error inatags file, the byte positionis reported sothat the error can be located."gf" works inVisual mode: Use the selected textas the file name. (ChaseTingley)Allow ambiguous mappings. Thus "aa" and "aaa" can both be mapped, the longestmatching oneis used. Especially useful for ":lmap" and'keymap'.Encryption: Ask the key to be typed twice when crypting the first time.Otherwisea typo might cause the text to be lost forever. (Chase Tingley)Thewindow title now has "VIM" on the end. The file name comes first, usefulin the taskbar.A "+"is added when the fileis modified. "="is added fora read-only file. "-"is added fora file with'modifiable' off.InVisual mode, mention the size of the selected area in the'showcmd'position.Added the "b:changedtick" variable. Incrementedat each change, also forundo. Can be used to take action only if the buffer has been changed.In the replacementstring ofa ":s" command "\=" can be used to replace withthe result of an expression. From thisexpression thesubmatch() function canbe used to access submatches.When doing ":qall" and thereisa change ina buffer thatis being edited inanother window, jump to that window, instead of editing that buffer in thecurrent window.Added the "++enc=" and "++ff=" arguments to file read/write commands to forceusing the given'encoding' or'fileformat'. And added the "v:cmdarg"variable, to be used forFileReadCmdautocommands that read/write the filethemselves.When reading stdin, first read the text in binary mode and then re-readitwith automatic selection of'fileformat' and'fileencoding'. This avoidsproblems with not being able to rewind the file (e.g., whena line near theend of the file ends in LF instead of CR-LF).When reading text from stdin and the bufferis empty, don'tmarkit changed.Allowsexiting without trouble.Added an ID to many error messages. This will makeit easier to findhelp fora message.Insert mode:- "CTRL-Gj" and "CTRL-Gk" can be used toinsert in another line in the same column. Useful for editinga table.- Added Thesaurus completion withCTRL-XCTRL-T. (Vince Negri)- Added the'thesaurus' option, to use instead of'dictionary' for thesaurus completion. Added the 's' flag in'complete'.- MadeCTRL-XCTRL-L inInsert mode use the'complete' option. It now also scans other loadedbuffers for matching lines.-CTRL-R now also works inInsert mode while doing completion withCTRL-X orCTRL-N. (Neil Bird)- When doingInsert mode completion, when completionis finished check fora match with words from'cinkeys' or'indentkeys'.Performance:- Made display updating more efficient. Insert/delete lines may be used for all changes, also for undo/redo.- The displayis not redrawn when thereis typeahead inInsert mode. Speeds upCTRL-Ra lot.- Improved speed of screen output for 32 bitDOS version. (Vince Negri)- When dragging with the mouse, thereisa lookahead to skip mouse codes when thereis another one next. Makes dragging with the mousea lot faster.- Alsoa memory usage improvement: When calling u_save witha single line, don't saveit if the line was recently saved for the sameundo already.- When usingascript that appends one characterata time, the amount of allocated memory was growing steadily. Also when'undolevels'is -1. Caused by the line saved for "U" never to be freed. Now free anundo block whenit becomes empty.-GUI and Dos32: Usea vertical scroll region, to makescrolling ina vertically splitwindow faster. No need to redraw the whole window.- Whenscrolling isn't possible withterminal codes (e.g., fora vertically split window) redraw from ScreenLines[]. That should be faster than going through the lines with win_line(), especially when usingsyntax highlighting.- TheSyntax menuis now pre-generated bya separate script. Makes loading the menu 70% faster. This can halve thestartup time of gvim.- When doing ":helptag", don't openhelp.txt first, jump directly to thehelp tag. It's faster and avoids an extra message.- Win32: Whena file name doesn'tend in ".lnk" don't try resolvinga shortcut,it takes quitea bit of time.- Don't update the mouse pointer shape while there are typeahead characters.- Change META[] fromastring into an array, avoids usingstrchr() on it.- Don't clear the command line when adding characters, avoids that screen_fillis called but doesn'tdo anything.Robustness:- Unix: Check for running out of stackspace when executinga regexp. Avoidsa nasty crash. Only works when the system supports running the signal function on another stack.- Disallow ":source<dirname>". Onunix it's possible to reada directory, does not make sense to useitas Vim commands.Security:- When reading from orwriting toa temporary file, check thatit isn'ta symbolic link. Gives some protection against symlink attacks.- When creatingabackup file copy ora swap file, check forit already existing to avoida symlink attack. (Colin Phipps)- Evaluatingoptions which are anexpressionis done inasandbox. If the option was set bya modeline,it cannot cause damage.- Usea secure way to generate temp file names: Createa private directory for temp files. Used for Unix,MS-DOS and OS/2.-'makeef' can be empty, which means that an internally generated file nameis used. The old default was "/tmp/file", whichisa security risk. Writing'makeef' in the current directory fails ina read-only directory and causes trouble when using ":grep" on all files. Made the default empty for all systems, so thata temp fileis used.- The command fromatags fileis executed in thesandbox for better security.- The Ruby,Tcl andPython interfaces cannot be used from the sandbox. They mightdo dangerous things.Perlis still possible, but limited to the Safe environment. (Donnie Smith)Syntax highlighting:- Optimized the speed by caching the state stack all over the file, not just the part being displayed. Required for folding.- Added ":syntax sync fromstart": Always parse from the start of the file.- Added the "display" argument forsyntax items: use the item only when displaying the result. Can make parsing faster for text that isn't going to be displayed.- When usingCTRL-L, the cached states are deleted, to force parsing the text again.- Use elfhash algorithm for table of keywords. This should givea betterdistribution and speedup keyword lookup. (Campbell)- Also allow the "lc" leading context for skip andend patterns. (Scott Bigham)-Syntax items can have the "extend" argument toundo the effect ofa "keepend" argument of an itemitis contained in. Makesit possible to have some contained items extenda region while others don't.- ":syntax clear" now deletes the b:current_syntax variable. That's logical, since nosyntaxis defined after this command.- Added ":syntax enable": switch onsyntax highlighting withoutchanging the colors. This allows specifying the colors in the.vimrc file without the need fora mysyntaxfile.- Added ":syntax reset": reset the colors to their defaults.- Added the "contains=TOP" and "contains=CONTAINED" arguments. Makesit possible to definea transparent item that doesn't contain itself.- Addeda "containedin" argument tosyntax items. Allows addinga contained item to an existing item (e.g., to highlighta name ina comment).Modeless selection:- When in the command-line window, use modeless selection in the other windows. Makesit possible to copy visible text to the command-line window.- Support modeless selection on the cmdline ina terminal. Previouslyit was only possible for the GUI.- Make double-right-click in modeless selection selecta whole word. Single right click doesn't use theword selection started bya double-left-click. Makesit work like inVisual mode.- The modeless selection no longer has an implied automatic copy to the clipboard. It now obeys the 'a' and 'A' flags in'guioptions' or "autoselect" and "autoselectml" in'clipboard'.- Added theCTRL-Y command inCmdline-mode to copy the modeless selection to the clipboard. Also worksat thehit-enter prompt and the more prompt. Removed the mappings in runtime/mswin.vim forCTRL-Y andCTRL-Z in cmdline-mode to be able to useCTRL-Y in the new way.Reduced the amount of stackspace used by regmatch() to allowit to handlecomplicated patterns ona longer text.'isfname' now includes '%' and '#'. Makes "vim dir\#file" work for MS-DOS.Added keypad special keys<kEnter>,<k0>-<k9>. When not mapped they behavelike the ASCII equivalent. (Ivan Wellesz and Vince Negri)Recognizea few more xterm keys:<C-Right>,<C-Left>,<C-End>,<C-Home>Also trigger theBufUnload event when Vimis going to exit. Perhapsascriptneeds todo some cleaning up.Expandexpression in backticks:={expr}. Can be used where backtickexpansionis done. (Vince Negri)GUI:- Added 'L' and 'R' flags in'guioptions': Adda left or right scrollbar only when thereisa vertically split window.- X11: Whena color can't be allocated, use the nearest match from the colormap. This avoids that blackis used for many things. (Monish Shah) Alsodo this for the menu and scrollbar, to avoid that they become black.-Win32 and X11: Added'mouseshape' option: Adjust the mouse pointer shape to the current mode. (Vince Negri)- Added the'linespace' option:Inserta pixel line between lines. (Nam)- Allow modeless selection (without moving the cursor) by keeping CTRL and SHIFT pressed. (Ivan Wellesz)- Motif: added toolbar. (Gordon Prieur) Also added tooltips.- Athena: added toolbar and tooltips. (David Harrison-- based on Gordon Prieur's work)- Made the'toolbar' option work for Athena and Motif. Can now switch between text and icons on the fly. (David Harrison)- Support menu separator lines for Athena. (David Harrison)- Athena: Adjust the arrow pixmap used ina pullright menu to the size of the font. (David Harrison)- Win32: Added "c" flag to'guifont' to be able to specify the charset. (Artem Khodush)- When no --enable-xim argumentis given, automatically enableit whenaXGUIis used. Required for dead key support (andmultibyte input).- Aftera file selection dialog, check that the edited files were not changed or deleted. TheWin32dialog allowsdeleting and renaming files.-Motif and Athena: Added support for "editres". (Marcin Dalecki)-Motif and Athena: Added "menuFont" to be able to specifya font orfontset for the menus. Can also be set with the "Menu" highlight group. Useful when thelocaleis different from'encoding'. (David Harrison) When FONTSET_ALWAYSis defined, always useafontset for the menus. Should avoid trouble withchanging froma font toa fontset. (David Harrison)- Highlighting and font for thetooltips can be specified with the "Tooltip" highlight group. (David Harrison)- TheCmdline-modemenus can be usedat the more-prompt. This mostly works fine, because they start withaCTRL-C. The "Copy" menu works to copy the modeless selection. Allowscopying the output of ":set all" or ":intro" without auto-selection.- Whenstarting theGUI when thereis noterminal connected to stdout and stderr, display errormessages ina dialog. Previously they wouldn't be displayedat all.- Allow setting'browsedir' to the name ofa directory, to be used for the file dialog. (Dan Sharp)- b:browsefilter and g:browsefilter can be set to the filters used for the file dialog. Supported forWin32 andMotif GUI. (Dan Sharp)X11:- Support for theclipboard selectionas register "+. Whenexiting or suspending copy the selection to cut buffer 0. Should allow copy/paste with more applications ina X11-standard way. (Neil Bird)- Use theXclipboard in any terminal, not just in an xterm. Added "exclude:" in'clipboard': Specifyapattern to match againstterminal names for which no connection should be made to theX server. The default currently work for FreeBSD and Linux consoles.- Addeda fewmessages for when'verbose'is non-zero to show what happens when trying to connect to theX server. Shouldhelp when trying to find out whystartupis slow.GTK GUI: (partly by Marcin Dalecki)- With some fonts the characters can be taller than ascent+ descent. E.g., "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Add one to the character cell height.- Implement "no" value for'winaltkeys': don't use Alt-Keyasa menu shortcut, when'wak' changed after creating the menus.- Setting'wak' after theGUI started works.- recycle text GC's to reduce communication.- Adjust icon size towindow manager.- Cleanup in font handling.-Replace XQueryColor with GDK calls.-Gnome support. DetectsGnome in configure and uses different widgets. Otherwise it's much like GTK. (Andy Kahn) Itis disabled by default, becauseit causesa few problems.- Removed the special code tofork first and then start the GUI. Now use _exit() instead of exit(), this works fine without special tricks.- Dialogs sometimes appeareda bit far away. Position the dialogs inside thegvim window. (Brent Verner)- When droppinga file on Vim, remove extra slashes from the start of the path. Also shorten the file name if possible.Motif: (Marcin Dalecki)- Made thedialog layout better.- Added find and find/replace dialogs.- For the menus, change "iso-8859" to "iso_8859", Linux appears to need this.- Added icon to dialogs, like for GTK.- Use XPM bitmaps for the icon when possible. Use the Solaris XpmP.h include file when it's available.- Change the shadow of the toolbar items to geta visual feedback ofit being pressed on non-LessTif.- Use gadgets instead ofwindows for some items for speed.Command line completion:- Complete environment variable names. (Mike Steed)- For ":command", addeda few completion methods: "mapping", "function", "expression" and "environment".- Whena function doesn't take arguments, let completion add () instead of (.For MS-DOS,MS-Windows and OS/2: Expand %VAR% environmentvariables like $VAR.(Walter Briscoe)Redirectmessages to theclipboard ":redir@*" and to the unnamed register":redir@"". (Wall)":let@/=''" clears the search pattern, instead of settingit to an emptystring.Expression evaluation:- "?:" can be used like in C.- col("$") returns the length of the cursor line plus one. (Stephen P. Wall)- Optional extra argument for match(),matchend() and matchstr(): Offset to start looking fora match.- Made third argument tostrpart() optional. (Paul Moore, Zdenek Sekera)-exists() can also be used to check forEx commands and defined autocommands.- Added extra argument to input(): Default text.- Also set "v:errmsg" when using ":silent! cmd".- Added thev:prevcount variable:v:count for the previous command.- Added "v:progname", name with which Vim was started. (Vince Negri)- In theverbose message about returning froma function, also show the return value.Cscope:- Added thecscope_connection() function. (Andy Kahn)- ":cscope kill -1" kills allcscope connections. (Andy Kahn)- Added the'cscopepathcomp' option. (Scott Hauck)- Added ":scscope" command, splitwindow and executeCscope command. (Jason Duell)VMS:- Command line arguments are always uppercase. Interpreta "-X" argumentas "-x" and "-/X"as "-X".- Set'makeprg' and'grepprg' to meaningful defaults. (Zoltan Arpadffy)- Use the X-clipboard feature and theX command server. (Zoltan Arpadffy)Macintosh: (Dany St-Amant)- Allowatags file to have CR, CR-LF or LF line separator. (Axel Kielhorn)- Carbonized (while keeping non Carbon code) (Some work "stolen" from Ammon Skidmore)- Improved the menu itemindex handling (should be faster)- Runtime commands now handle/ in file name (MacOS 9 version)- Added ":winpos" support.- Support using "~" in file names forhome directory.Options:- When using set += or ^=, check for items used twice. Duplicates are removed. (Vince Negri)- When setting an option thatisalist of flags, remove duplicate flags.- If possible, use getrlimit() to set'maxmemtot' and'maxmem'. (Pina)- Added "alpha" to'nrformats': increment or decrement an alphabetic character withCTRL-A andCTRL-X.- ":set opt&vi" sets an option to itsVi default, ":set opt&vim" to its Vim default. Useful to set'cpo' to its Vim default without knowing what flags that includes.-'scrolloff' now also applies toa long, wrapped line that doesn't fit in the window.- Added more option settings to the default menus.- Updated the optionwindow with new options. Madeita bit easier to read.Internal changes:- Split line pointers in text part and attributes part. Allows for future change to make attribute more than one byte.- Providea qsort() function for systems that don't have it.- Changed the big switch forNormal mode commands intoa table. This cleans up the code considerably and avoids trouble for some optimizing compilers.- Assigneda negative value to special keys, to avoid them being mixed up withUnicode characters.- Globalvariables expand_context and expand_pattern were not supposed to be global. Pass them to ExpandOne() and allfunctions called by it.- No longer use the global reg_ic flag. It caused trouble and ina few placesit was not set.- Removed the use of the stuff buffer for "*", "K",CTRL-], etc. Avoids problem with autocommands.- Moved some code from ex_docmd.c to ex_cmds2.c. The file was getting too big. Also moved some code from screen.c to move.c.- Don't include the CRC table for encryption, generate it. Saves quitea bit ofspace in the source code. (Matthias Kramm)- Renamed multibyte.c to mbyte.c to avoida problem with 8.3 filesystems.- Removed theGTK implementation of ":findhelp",it now uses the ToolBar.FindHelp menu entry.- Renamed mch_windexit() to mch_exit(), mch_init() to mch_early_init() and mch_shellinit() to mch_init().Highlighting:- Ina ":highlight" listing, show "xxx" with the highlight color.- Added support for xterm with 88 or 256 colors. The right color numbers will be used for the name used ina ":highlight" command. (Steve Wall)- Added "default" argument for ":highlight". When included, the commandis ignored if highlighting for the group was already defined. Allsyntax files now use ":hi default..." to allow the user to specify colors in hisvimrc file. Also, the "if did_xxx_syntax_inits"is not needed anymore. This greatly simplifies using non-default colors fora specific language.- Adjusted colortest.vim: Included colors on normal background and reduced the size by usinga while loop. (Rafael Garcia-Suarez)- Added the "DarkYellow" color name. Just to make thelist of standard colors consistent, it's not reallya nice color to use.When an xtermis in 8-bit mode thisis detected by the code returned fort_RV. All key codes are automatically converted to their 8-bit versions.The OPT_TCAP_QUERY in xterm patch level 141 and lateris used to obtain theactual key codes used and the number of colors for t_Co. Only whent_RVisalso used.":browse set" now also works in the console mode. ":browse edit" will give anerror message.":bdelete" and ":bunload" only report the number of deleted/unloadedbufferswhen more than'report'. The message was annoying whendeletinga buffer inascript.Jump list:- The number of marks kept in thejumplist has been increased from 50 to 100.- Thejumplistis now stored in theviminfo file.CTRL-O can be used to jump to positions froma previous edit session.- When doing ":split" copy thejumplist to the new window.Also set the'[ and'] marks for the "~" and "r" commands. These marks arenow always set when makinga change withaNormal mode command.Python interface: Allow setting the width ofa vertically split window. (JohnCook)Added "=word" and "=~word" to'cinkeys' (also used in'indentkeys').Added "j1" argument in'cinoptions': indent{} inside () for Java. (JohannesZellner)Added the "l" flag in'cinoptions'. (Anduin Withers)Added 'C', 'U', 'w' and 'm' flags to'cinoptions'. (Servatius Brandt)When doing ":wall" or ":wqall" anda modified buffer doesn't havea name,mention its buffer number in the error message.":function Name" lists the function with line numbers. Makesit easier tofind out where an error happened.In non-blockwiseVisual mode, "r" replaces all selected characters with thetyped one, like in blockwiseVisual mode.When editing the last file in the argumentlist in any way, allow exiting.Previously this was only possible when getting to that file with ":next" or":last".Added the '1' flag to'formatoptions'. (Vit Stradal)Added 'n' flag in'formatoptions': formata numbered list.Swap file:- Whena swap file already exists, and the user selects "Delete"at theATTENTION prompt, use the same ".swp" swapfile, to avoid creatinga ".swo" file which won't always be found.- When giving theATTENTION message and the date of the fileis newer than the date of swap file, givea warning about this.- Made the info for an existing swap filea bit shorter, so thatit still fits ona 24 line screen.- It was possible to makea symlink with the name ofa swap file, linking toa file that doesn't exist. Vim would then silently use another file (if open with O_EXCL refusesa symlink). Now check fora symlink to exist. Alsodo another check for an existing swap file just before creatingit to catcha symlink attack.ThegCTRL-G command also works inVisual mode and counts the number of words.(Chase Tingley)Give an error message when using'shell' and it's empty.Added the possibility to include "%s" in'shellpipe'.Added "uhex" value for'display': show non-printable charactersas<xx>.Show unprintable characters with NonText highlighting, also in the commandline.When asked to display the value ofa hidden option, tell it's not supported.Win32:- When droppinga shortcut ongvim (.lnk file) edit the target, not the shortcut itself. (Yasuhiro Matsumoto)- AddedC versions of the OpenWithVim and SendToVim programs. (Walter Briscoe)- When'shell'is "cmd" or "cmd.exe", set'shellredir' to redirect stderr too. Also check for theUnix shell names.- When $HOMEDRIVE and $HOMEPATH are defined, use them to define $HOME. (Craig Barkhouse)Win32 console version:- Includes the user and system name in the ":version" message, when available. It generatesa pathdef.c file for this. (Jon Miner)- Set thewindow icon to Vim's icon (only for Windows 2000). While executinga shell command, modify thewindow title to show this. When exiting, restore the cursor position too. (Craig Barkhouse)- TheWin32 console version can be compiled with OLE support. It can only functionasa client, notas an OLE server.Errorformat:- Let "%p" in'errorformat' (column of error indicated bya row of characters) also accepta line of dots.- Added "%v" item in'errorformat': Virtual column number. (Dan Sharp)- Addeda default'errorformat' value for VMS. (Jim Bush)The "p" command can now be used inVisual mode. It overwrites the selectedtext with the contents ofa register.Highlight the<> items in theintro message to make clear they are special.When using the "c" flag for ":substitute", allow typing "l" forreplacing thisitem and then stop: "last".Whenprintingaverbose message about sourcing another file, print the linenumber.When resizing the Vim window, don't use'equalalways'. Avoids that making theVimwindow smaller makes splitwindows bigger. And it's what the docs say.When typingCTRL-D inInsert mode, just after an autoindent, then hitting CRkept the remaining white space. Now madeit work like BS: delete theautoindent to avoida blank non-empty line results.Addeda GetHwnd() call to the OLE interface. (Vince Negri)Made ":normal" work in an event handler. Useful when droppinga file on Vimand forCursorHold autocommands.For theMS-Windows version, don't change to the directory of the file whenaslashis used instead ofa backslash. Explorer should always usea backslash,the user can usea slash when typing the command.Timestamps:- Whena buffer was changed outside of Vim and regaining focus, giveadialog to allow the user toreload the file. Now also for other GUIs than MS-Windows. And also used in the console, when compiled withdialog support.- Inspect the file contents to find out ifit really changed, ignore situations where only the time stamp changed (e.g., checking the file out from CVS).- When checking the timestamp, first check if the file size changed, to avoida file compare then. Makesit quicker for large (log) files that are appended to.- Don't givea warning fora changed or deleted file when'buftype'is set.- No longer warn fora changed directory. This avoids that the file explorer produces warnings.- Checkingtimestampsis only done forbuffers that are not hidden. These will be checked when they become unhidden.- When checking fora file being changed outside of Vim, also check if the file permissions changed. When the file contents didn't change but the permissions did, givea warning.- Avoid checking too often, otherwise thedialog keeps popping up fora log file that steadily grows.Mapping<M-A> when'encoding'is "latin1" and then setting'encoding' to"utf-8" causes the first byte ofamultibyte to be mapped. Can cause veryhard to find problems. Disallowmapping part ofamultibyte character.For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)Also for ":ruby" and ":perl". (Benoit Cerrina)Made ":syn include" use'runtimepath' when the file nameis nota full path.When'switchbuf' contains "split" and the currentwindowis empty, don't splitthe window.Unix: Catch SIGPWR to preserve files when the poweris about togo down.Sniff interface: (Anton Leherbauer)- fixedwindows code, esp. the event handling stuff- adaptations for sniff 4.x ($SNIFF_DIR4)- support for adding sniff requestsat runtimeSupport thenotation<A-x>as an alias for<M-x>. This logical, since the Altkeyis used.":find" acceptsa count, which means that the count'th match in'path'isused.":ls" and ":buffers" output shows modified/readonly/modifiable flag. Whenabufferis active show "a" instead of nothing. Whena buffer isn't loadedshow nothing instead of "-".Unix install:- When installing the tools, set absolute paths in tools scripts efm_perl.pl and mve.awk. Avoids that the user has to edit these files.- Install Icons forKDE when the directories exist and the iconsdo not exist yet.Added has("win95"), to be able to distinguish betweenMS-Windows 95/98/ME andNT/2000/XP ina Vim script.Whena ":cd" command was typed, echo the new current directory. (Dan Sharp)When using ":winpos" before theGUIwindow has been opened, remember thevalues untilitis opened.In the ":version" output, add "/dyn" for features that are dynamically loaded.This indicates the feature may not always work.On Windows NTitis possible thata directoryis read-only, buta file can bedeleted. When makingabackup by renaming the file and'backupdir' doesn'tuse the current directory, this causes the original file to be deleted,without the possibility to createa new file. Give an extra error messagethen to warn to user about this.MadeCTRL-RCTRL-Oat the command line work likeCTRL-RCTRL-R, so that it'sconsistent withInsert mode.==============================================================================COMPILE TIME CHANGEScompile-changes-6All generated files have been moved out of the "src" directory. This makesiteasy to see which files are not edited by hand. The files generated byconfigure are now in the "src/auto" directory. For Unix, compiledobjectfilesgo in theobjects directory.The source archive was over the 1.4M floppy limit. The archives are now splitup into two runtime and two source archives. Also provideabzip2 compressedarchive that contains all the sources and runtime files.Added "reconfig"asa target for make. Useful whenchanging some of thearguments that require flushing the cache, suchas switching fromGTK toMotif. Adjusted the meaning of GUI_INC_LOC and GUI_LIB_LOC to be consistentover different GUIs.Added src/README.txt to give an overview of the main parts of the source code.TheUnix Makefile now fully supports using $(DESTDIR) toinstall toa specificlocation. Replaces the manual setting of *ENDLOC variables.Added the possibility fora maintainer ofa binary version to include hise-mail address with the --with-compiledby configure argument.Included features are now grouped in "tiny", "small", "normal", "big" and"huge". This replaces "min-features" and "max-features". Using "tiny"disables multiplewindows fora really small Vim.For the tiny version or when FEAT_WINDOWSis not defined: Firstwin and lastwinare equal to curwin and don't use w_next and w_prev.Added the+listcmds feature. Can be used to compile without the Vim commandsthat manipulate the bufferlist and argumentlist (the bufferlist itselfisstill there, can'tdo without it).Added the+vreplace feature. Itis disabled in the "small" version to avoidthat the 16 bitDOS version runs out of memory.RemovedGTK+ support for versions older than 1.1.16.The configure checks for using PTYs have been improved. Code taken fromarecent version of screen.Added configureoptions toinstall Vim,Ex andView under another name (e.g.,vim6, ex6 and view6).Added "--with-global-runtime" configure argument. Allows specifying theglobal directory used in the'runtimepath' default.Made enabling the SNiFF+interface possible witha configure argument.Configure now always checks /usr/local/lib for libraries and/usr/local/include for include files. Helps finding the stuff foriconv() andgettext().Moved the command linehistory stuff into the+cmdline_hist feature, toexclude the command linehistory from the tiny version.MS-Windows: Moved commonfunctions from Win16 andWin32 to os_mswin.c. Avoidshaving to change two files for one problem. (Vince Negri)Moved common code from gui_w16.c and gui_w32.c to gui_w48.c (Vince Negri)Thejumplistis nowa separate feature. Itis disabled for the "small"version (16 bit MS-DOS).Renamed all types ending in _t toend in _T. Avoids potential problems withsystem types.Addeda configure check forX11 header files that implicitly define the returntype to int. (Steve Wall)"make doslang" in the top directory makes an archive with the menu and .mofiles for Windows. This uses the files generated on Unix, these should workonMS-Windowsas well.Mergeda large part of os_vms.c with os_unix.c. The code was duplicated inthe past which made maintenance more work. (Zoltan Arpadffy)Updated the BorlandC version 5 Makefile: (Dan Sharp)- Fixed thePerl build- Addedpython andtcl builds- Added dynamicperl and dynamicpython builds- Added uninstal.exe build- Use "yes" and "no" for the options, like in Make_mvc.mak.Win32: Merged Make_gvc.mak and Make_ovc.mak into one file: Make_ivc.mak. It'smuch smaller, many unnecessary text has been removed. (Walter Briscoe)Added Make_dvc.mak to be able to debug exe generated with Make_mvc.mak inMS-Devstudio. (Walter Briscoe)MS-Windows: The big gvim.exe, which includes OLE, now also includesdynamically loaded Tcl,Perl and Python. This uses ActivePerl 5.6.1,ActivePython 2.1.1 and ActiveTCL 8.3.3Added AC_EXEEXT to configure.in, to check if the executable needs ".exe" forCygwin or MingW. Renamed SUFFIX to EXEEXT in Makefile.Win32: Load comdlg32.dll delayed for faster startup. Only when using VC 6.(Vipin Aravind)Win32: When compiling with Borland, allow using IME. (Yasuhiro Matsumoto)Win32: Added Makefile for Borland 5 to compile gvimext.dll. (YasuhiroMatsumoto)==============================================================================BUG FIXESbug-fixes-6When checking the command name for "gvim", "ex", etc. ignore case. Requiredfor systems wherecaseis ignored in command names.Searchpattern "[a-c-e]" also matcheda 'd' and didn't matcha '-'.When double-clicking in another window, wasn't recognizedas double click,because toplineis different. Added set_mouse_topline().The BROKEN_LOCALE check was broken. (Marcin Dalecki)When "t_Co"is set, the default colors remain the same, thus wrong. Reset thecolors afterchanging "t_Co". (Steve Wall)Whenexiting with ":wqall" themessages aboutwriting files could overwriteeach other and be lost forever.Whenstarting Vim with an extremely long file name (around 1024 characters)itwould crash. Addeda few checks to avoid buffer overflows.CTRL-E could get stuck ina file with very long lines.":au syntax<Tab>" expanded event names whileit should expand groupsstartingwith "syntax".When expandinga file name caused an error (e.g., for<amatch>)it wasproduced even when inside an "if0".'cindent' formattedC comments differently from what the'comments' optionspecified. (Steve Wall)Default for'grepprg' didn't include the file name when only grepping in onefile. Now /dev/null has been added for Unix.Opening the optionwindow twice caused trouble. Now the cursor goes to theexisting option window.":sview" and ":view" didn't set'readonly' for an existing buffer. Nowdo set'readonly', unless the bufferis also edited in another window.GTK GUI: When'guioptions' excluded 'g', the more prompt caused the toolbarand menubar to disappear and resize thewindow (which clears the text).Now always grey-out the toplevelmenus to avoid that the menubar changes sizeor disappears.When re-using the current buffer fora new buffer, buffer-localvariables werenot deleted.GUI: when'scrolloff'is0 dragging the mouse above thewindow didn't causeadown scroll. Now pass ona mouse event with mouse_row set to -1.Win32: Console version didn't work on telnet, because of switching between twoconsole screens. Now use one console screen and save/restore the contentswhen needed. (Craig Barkhouse)When readinga file the magic number forencryption was included in the filelength. (Antonio Colombo)Thequickfixwindow contained leadingwhitespace and NULs for multi-linemessages. (David Harrison)When using cscope, redundanttags were removed. This causeda numberingproblem, because they were all listed. Don't remove redundantcscope tags.(David Bustos).Cscope: Test for which matches are in the current buffer sometimes failed,causinga jump to another match than selected. (David Bustos)Win32: Buffer overflow when addingacharset name ina font.'titlestring' and'iconstring' were evaluating anexpression in the currentcontext, which could bea user function, whichisa problem for localvariables vs global variables.Win32 GUI: Mapping<M-F> didn't work. Now handle SHIFT and CTRL in_OnSysChar().Win32 GUI: (on no file), :vs<CR>:q<CR> lefta trail of pixels down the middle.Could also happen for the ruler. screen_puts() didn't clear the right char inScreenLines[] for thebold trick.Win32: ":%!sort|uniq" didn't work, because the input file name touches the"|".Insertaspace before the "|".OS/2: Expandingwildcards included non-existing files. Caused ":runtime" tofail, which causedsyntax highlighting to fail.Pastinga register containingCTRL-R on the command line could cause anendless loop that can't be interrupted. Nowit can be stopped withCTRL-C.When'verbose'is set,a message for file read/write could overwrite theprevious message.When'verbose'is set, the header from ":select" wasput after the lastmessage. Now starta new line.Thehit-enter prompt reacted to the response of thet_RV string, causingmessagesatstartup to disappear.Whent_Co was set to 1, colors were still used. Now only use color whent_Co> 1.Listingfunctions with ":function" didn't quit when 'q' or ':' was typedatthe more prompt.Use mkstemp() instead of mktemp() when it's available, avoidsa warning forlinking on FreeBSD.When doingInsert mode completion it's possible that b_sfnameis NULL. Don'tgiveit toprintf() for the "Scanning" message.":set runtimepath-=$VIMRUNTIME" didn't work, because expansion ofwildcardswas done after trying to remove the string. Now for ":set opt+=val" and ":setopt-=val" the expansion ofwildcardsis done before adding or removing "val".UsingCTRL-V with the "r" command witha blockwiseVisual selection insertedaCTRL-V instead of gettinga special character.Unix: Changed the order of libraries: Put -lXdmcp after -lX11 and -lSM -lICEafter -lXdmcp. Should fix link problem on HP-UX 10.20.Don't remove the last "-lm" from the link line. Vim may link but fail laterwhen theGUI starts.When the shell returns with an error when trying to expand wildcards,doinclude thepattern when the "EW_NOTFOUND" flag was set.When expandingwildcards with the shell fails, givea clear error messageinstead of just "1 returned".SelectingaVisual block, with the start partly ona Tab,deletingit leavesthe cursor too far to the left. Causes "s" to work in the wrong position.Pound sign in normal.c caused trouble on some compilers. Use 0xA3 instead.Warning forchanginga read-only file wasn't given when'insertmode' was set.Win32: When'shellxquote'is set toa doublequote (e.g., using csh), ":!startnotepad file" doesn't work. Remove the doublequotes added by'shellxquote'when using ":!start". (Pavol Juhas)The "<f-args>" argument of ":command" didn't accept Tabs for white space.Also, don't add an empty argument when there are trailing blanks.":e test\\je" edited "test\je", but ":next test\\je" edited "testje".Backslashes were removed one time too many for ":next".VMS: "gf" didn't work properly. Use vms_fixfilename() to translate the filename. (Zoltan Arpadffy)After ":hiNormal ctermbg=black ctermfg=white" and suspending Vim not allcharacters are redrawn with the right background.When doing "make test" without+eval or+windows feature, many tests failed.Now have test1 generateascript to copy the correct output, so thata testthat doesn't workis skipped.On FreeBSD thePerlinterface added "-lc" to the link command andPython added"-pthread". These two don't work together, because the libc_r library shouldbe used. Removed "-lc" from Perl,it should not be needed.Also: Add "-pthread" to $LIBS, so that the checks forfunctionsis done withlibc_r. Sigaltstack() appears to be missing from libc_r.TheSyntax sub-menus were getting too long, reorganized them and added anotherlevel for some languages.Visual block "r"eplace didn't work well whenaTabis partly included.(Matthias Kramm)When yankingaVisual block, where some linesend halfway the block, puttingthe text somewhere else doesn'tinserta block. Padd with spaces for missingcharacters. Added "y_width" to struct yankreg. (Matthias Kramm)Ifa substitutestring hasamultibyte character afterabackslash only thefirst byte ofit was skipped. (Muraoka Taro)Win32: Numeric keypad keys were missing from the builtintermcap entry.Whena file was read-only ":wa!" didn't forceit to be written. (Vince Negri)Amiga:A file namestarting witha colon was considered absolute butit isn't.Amiga: ":pwd" addeda slash when in the root ofa drive.Don't let'ttymouse' default to "dec" when compiled with dec mouse support.It breaks the gpm mouse (Linux console).The prototypes for thePerlinterface didn't work for threaded Perl. Addedased command to remove the prototypes from proto/if_perl.pro and added themmanually to if_perl.xs.When ":w!" resets the'readonly' option the title and status lines were notupdated.":args" showed the current file when the argumentlist was empty. Made thiswork like Vi: display nothing."99:<C-U>echov:count" echoed "99" inNormal mode, but0 inVisual mode.Don't setv:count when executinga stuffed command.Amiga: Gota requester for "home:" because it's in the default runtime path.Don't bring upa requester when searching fora file in'path', sourcing the.vimrc file or using ":runtime".Win16 and Win32: Considereda file "\path\file" absolute. Can cause the samefile to appearas two different buffers.Win32: Renaminga file to an emptystring crashed Vim. Happened when usingexplorer.vim and hitting ESCat the rename prompt.Win32:strftime() crashed when called witha "-1" value for the time.Win32 with Borland compiler: mch_FullName() didn't work, causedtag file notto be found.Cscope sometimes jumped to the wrong tag. (David Bustos)OS/2: Could not find thetags file. mch_expand_wildcards() added anotherslash toa directory name.When using ">>" the`]mark was not in the last column.When Vim was compiled without menu support, filetype.vim was still trying tosource themenu.vim script. (Rafael Garcia-Suarez)":ptag" added an item to thetag stack.Win32 IME: "gr" didn't useIME mode.In the "vim--help" message the term "options" was used for arguments. That'sconfusing, call them "arguments".When there are two windows, andaBufUnloadautocommand for closingwindow #1closedwindow #2, Vim would crash.When thereisa previewwindow and only one other window, ":q" wouldn't exit.InInsert mode, when cancellingadigraph with ESC, the '?' wasn't removed.OnUnix glob(".*") returned "." and "..", on Windowsit didn't. On Windowsglob("*") also returned filesstarting witha dot. Made this work likeUnixon all systems.Win32: Removed old code to opena console. Vimrunis now used and works fine.Compute the room needed by theintro message accurately, so thatit also fitsona 25 line console. (Craig Barkhouse)":ptnext" was broken. Now remember the lasttag used in the previewwindowseparately from the tagstack.Didn't check for "-display" being the last argument. (Wichert Akkerman)GTK GUI: Whenstarting "gvim" under some conditions there would be anX error.Don't replace the error handler when creating the xterm clipboard. (WichertAkkerman)Addingaspace afterahelptag caused thetag not to be found. E.g., ":heautoindent ".Was trying to expanda URL intoa full path name. On Windows this resulted inthe current directory to be prepended to the URL. Added vim_isAbsName() andvim_FullName() to avoid thatvarious machine specificfunctionsdoitdifferently.":n *.c" ":cd .." ":n" didn't use the original directory of the file.Vi onlydoesit for the current file (looks likea bug). Now remember the buffer usedfor the entry in the argumentlist and use its name (adjusted when doing":cd"), unless it's deleted.Wheninsertinga special keyas its name("<F8>"as four characters) aftermoving around inInsert mode,undo didn't work properly.Motif GUI: When using the right mouse button, for some peoplegvim froze fora couple of seconds (Motif 1.2?). This doesn't happen when thereis no Popupmenu. Solved by only creatingapopup menu when'mousemodel'is "popup" or"popup_setpos". (David Harrison)Motif: When adding many menu items, the "Help" menu disappeared but themenubar didn't wrap. Now manually set the menubar height.When using<BS> inInsert mode to removea line break, or using "J" to joinlines, the cursor couldend up halfwayamultibyte character. (Muraoka Taro)Removed defining SVR4 in configure. It causes problems for someX headerfiles and doesn't appear to be used anywhere.When'wildignore'is used,'ignorecase' foratag match was not working.When'wildignore' contains "*~"it was impossible to edita file ending ina"~". Now don't recognizea file ending in "~"as containing wildcards.Disabled the mouse code for OS/2. It was not really used.":mksession" always used the full path name fora buffer, also when the shortname could be used.":mkvimrc" and ":mksession" didn't save'wildchar' and'pastetoggle' in suchaway that they would be restored. Now use the key name if possible, thisisportable.After recoveringa file and abandoning it, an ":edit" command didn't give theATTENTION prompt again. Would be useful to be able to delete the file in aneasy way. Reset the BF_RECOVERED flag when unloading the buffer.histdel() could match or ignore case, depending on what happened before it.Now always match case.Whenawindow size was specified when splittinga window,it would still getthe size from'winheight' or'winwidth' if it's larger.When using "append" or "insert" insidea function definition,a linestartingwith "function" or "endfunction" caused confusion. Now recognize the commandsand skip lines untila ".".At theend of any function or sourced file need_wait_return could be reset,causingmessages to disappear when redrawing.When ina while loop the line number for errormessages stayed fixed. Now theline numberis remembered in the while loop."cd c:/" didn't work on MS-DOS. mch_isdir() removeda trailing slash.MS-Windows:getftime() didn't work whena directory hada trailing slash orbackslash. Didn't show the time in the explorer because of this.When doingwildcard completion,a directory "a/" sorted after "a-b". Nowrecognize path separators whensorting files.Non-Unix systems: When editing "c:/dir/../file" and "c:/file" they werecreatedas different buffers, although it's the same file. Expand toa fullfile name also when an absolute name contains ".."."g&" didn't repeat the last substitute properly.When'clipboard' was set to "unnamed",a "Y" command would not write to "0.Now makea copy of register0 to theclipboard register.When the searchpattern matches in many ways,it could not always beinterrupted withaCTRL-C. AndCTRL-C would have to be hit once for everyline when'hlsearch'is on.When'incsearch'is on and interrupting the search fora match, don'tabandonthe command line.When turninga directory name intoa full path, e.g., with fnamemodify(),sometimesa slash was added. Make this consistent: Don't adda slash.Whena file name containsa "!", usingit ina shell command will causetrouble: ":!cat%". Escape the "!" to avoid that. Escapeit another timewhen'shell' contains "sh".Completinga file name that hasa tail that starts witha "~" didn't work:":e view/~<Tab>".Usinga ":command" argument that contains< and> but not fora specialargument was not skipped properly.TheDOSinstall program: On Win2000 the check fora vim.exe or gvim.exe in$PATH didn't work,it always foundit in the current directory.Rename the vim.exe in the current dir to avoid this. (Walter Briscoe)In the MS-DOS/Windowsinstall program, use %VIM% instead of an absolute path,so that moving Vim requires only one change in the batch file.Mac: mch_FullName() changed the "fname" argument and didn't always initializethe buffer.MS-DOS: mch_FullName() didn't fix forward/backward slashes in an absolute filename."echo expand("%:p:h")" with an empty file name removed one directory name onMS-DOS. For Unix, when the file nameisa directory, the directory name wasremoved. Now makeit consistent: "%:p" addsa path separator for all systems,but no path separatoris added in other situations.Unix: When checking foraCTRL-C (could happen any time) and thereis anXevent (e.g.,clipboard updated) and thereis typeahead, Vim would hang untilacharacter was typed.MS-DOS,MS-Windows and Amiga: expanding "$ENV/foo" when $ENV ends ina colon,had the slash removed.":he \^=" gave an error for using \_. ":he ^=" didn't findtag :set^=. Even"he:set^=" didn't find it.Atags file name "D:/tags" was usedas file "tags" in "D:". That doesn't workwhen the current path for D: isn't the root of the drive.Removed calls to XtInitializeWidgetClass(), they shouldn't be necessary.When usinga dtterm orvarious other color terminals, and theNormal group hasbeen set to usea different background color, the background wouldn't alwaysbe displayed with that color. Added check for "ut"termcap entry: If it'smissing, clearing the screen won't give us the current background color. Needto draw each character instead. Vim now also works when the "cl" (clearscreen)termcap entryis missing.Whenrepeatinga "/" search command witha line offset, the "n" did use theoffset but didn't make the motion linewise. Made "d/pat/+2" and "dn"do thesame.Win32: Trying to use ":tearoff" fora menu that doesn't exist causeda crash.OpenPTY() didn't work on Sequent. Adda configure check for getpseudotty().C-indenting: Indenteda linestarting with ")" with the matching "(", but nota linestarting with "x)" looks strange. Also compute the indent for aligningwith items inside the () and use the lowest indent.MS-DOS and Windows: ":n *.vim" also matched files ending in "~".Moved mch_expandpath() from os_win16.c and os_msdos.c to misc1.c, they areequal.Macintosh: (Dany St-Amant)- In Vi-compatible mode didn't read files with CR line separators.- Fixeda bug in the handling of Activate/Deactivate Event- Fixeda bug in gui_mch_dialog (using wrong pointer)Multibyte GDK XIM: While composinga multibyte-word, if user pressesamouse button, then thewordis removed. It should remain and composing end.(Sung-Hyun Nam)MS-DOS,MS-Windows and OS/2: When reading from stdin, automatic CR-LFconversion by theC library got in the way of detectinga "dos"'fileformat'.When'smartcase'is set, patterns with "\S" would also make'ignorecase'reset.When clicking the mouse ina column larger than 222,it moved to the firstcolumn. Can't encodea larger number ina character. Now limit the number to222, don't jump back to the first column.GUI: In some versions CSI would cause trouble, either when typed directly orwhen part ofamultibyte sequence.When usingmultibyte characters ina ":normal" command,a trailing byte thatis CSI or K_SPECIAL caused problems.Wildmenu didn't handlemultibyte characters.":sleep 10" could not be interrupted on Windows, while "gs" could. Made themboth work the same.Unix: When waiting fora characteris interrupted by an X-windows event (e.g.,to obtain the contents of the selection), the wait time would not be honored.A message could be overwritten quickly. Now compute the remaining waitingtime.Windows: Completing "\\share\c$\S" insertedabackslash before the$ and thenthe nameis invalid. Don'tinsert the backslash.When doing an auto-write before ":make", IObuff was overwritten and the wrongtext displayed later.On theMac the directories "c:/tmp" and "c:/temp" were used in the defaultsfor'backupdir' and'directory', they don't exist.The check fora new file not to be on anMS-DOS filesystem created the filetemporarily, which can be slow. Don'tdo this if thereis another check forthe swap file being on anMS-DOS filesystem.Don't give the "Changinga readonly file" warning when reading from stdin.When using the "Save As" menu entry and not enteringa file name, would get anerror message for the trailing ":edit#". Now onlydo that when thealternate file name was changed.When Vim owns theX11 selection andis being suspended, an application thattries to use the selection hangs. When Vim continuesit could no longerobtain the selection. Now give up the selection when suspending.option.h and globals.h were included in some files, while they were alreadyincluded in vim.h. Moved the definition of EXTERN to vim.h to avoid doingittwice.Whenrepeating anoperator that useda searchpattern and the searchpatterncontained characters that havea special meaning on the cmdline (e.g.,CTRL-U)it didn't work.Fixedvarious problems with using K_SPECIAL (0x80) and CSI (0x9b)asa byte ina (multibyte) character. For example, the "r" command could not be repeated.The DOS/Windowsinstall program didn't always work froma directory withalong filename, because$VIM and the executable name would not have the samepath.Multi-byte:- Using an any-but character range[^x] inaregexp didn't work for UTF-8. (Muraoka Taro)- When backspacing over inserted characters inReplace modemultibyte characters were not handled correctly. (Muraoka Taro)- Search commands "#" and "*" didn't work withmultibyte characters. (Muraoka Taro)- Word completion inInsert mode didn't work withmultibyte characters. (Muraoka Taro)- Athena/Motif GUI: when'linespace'is non-zero the cursor would be drawn too wide (number of bytes instead of cell width).- Whenchanging'encoding' to "euc-jp" andinsertinga character Vim would crash.- For euc-jp characters positioning the cursor would sometimes be wrong. Also, with two characters with 0x8e leading byte only the first one would be displayed.- When using DYNAMIC_ICONV onWin32 conversion might fail because of using the wrong error number. (Muraoka Taro)- Using Alt-x in theGUI while'encoding' was set to "utf-8" didn't produce the right character.- When usingVisual block selection and only the left half ofa double-wide characteris selected, the highlighting continued to theend of the line.- Visual-block delete didn't work properly whendeleting the right half ofa double-wide character.- Overstrike mode for the cmdline replaced only the first byte ofamultibyte character.- The cursor inReplace mode (also in the cmdline) was too small ona double-wide character.- Whenamultibyte character containeda 0x80 byte,it didn't work (was usinga CSI byte instead). (Muraoka Taro)- Wordwise selection with the mouse didn't work.- Yankinga modeless selection ofmultibyte characters didn't work.- When'selection'is "exclusive", selectingaword that ends inamultibyte character used wrong highlighting for the following character.Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)Win32 GUI: When "vimrun.exe"is used to execute an external command, don'tgivea message box with the return value,it was already printed by vimrun.Also avoidprinting the return value of the shell when ":silent!"is used.Win32: selectinga lot of text and using the "find/replace"dialog causedacrash.X11 GUI: When typinga character with the 8th bit set and the Meta/Altmodifier, the modifier was removed withoutchanging the character.Truncatinga message to makeit fit on the command line, using "..." for themiddle, didn't always compute thespace correctly.Could not imap<C-@>. Nowit works like<Nul>.VMS:- Fixeda few things for VAXC. os_vms_fix.com had some strangeCTRL-M characters. (Zoltan Arpadffy and John W. Hamill)- Added VMS-specific defaults for the'isfname' and'isprint' options. (Zoltan Arpadffy)- Removed os_vms_osdef.h, it's no longer used.Thegzipplugin useda ":normal" command, this doesn't work when droppingacompressed file on Vim.In very rare situationsa binary search foratag would fail, because anuninitialized value happens to be half the size of thetag file. (Narendran)When usingBufEnter andBufLeaveautocommands to enable/disablea menu,itwasn't updated right away.When doinga replace with the "c"onfirm flag, the cursor was positioned afterthe ruler, instead of after the question. Witha long replacementstring thescreen could scroll up and causea "more" prompt. Now the messageistruncated to makeit fit.Motif: The autoconf check for the Xp library didn't work.When'verbose'is set tolist lines ofa sourced file, defininga functionwould reset the counter used for the "more" prompt.In theWin32 find/replace dialog,a '/' character caused problems. Escapeitwitha backslash.Startinga shell with ":sh" was different fromstartinga shell forCTRL-Zwhen suspending doesn't work. They now work the same way.Jumping toa filemark while ina changed buffer gavea "mark not set" error.":execute histget("cmd")" causes an endless loop and crashed Vim. Now catchall commands that cause too much recursiveness.Removed "Failed to open inputmethod" error message, too many people got thiswhen they didn't want to usea XIM.GUI: When compiled without the+windows feature, the scrollbar would startbelow line one.Removed the trick with redefining characterclassfunctions from regexp.c.Win32 GUI: Finddialog gives focus back to main window, when typingacharacter mouse pointeris blanked,it didn't reappear when movingit in thedialog window. (Vince Negri)Whenrecording and typingaCTRL-C, no character was recorded. When inInsertmode or cancelling halfa command, playing back the recorded sequence wouldn'twork. Now record theCTRL-C.When theGUI was started, mouse codes for DEC and netterm were still checkedfor.GUI: Whenscrolling and'writedelay'is non-zero, the character under thecursor was displayed in the wrong position (one line above/below withCTRL-E/CTRL-Y).A ":normal" command would reset the'scrollbind' info. Causes problems whenusinga ":normal" command in anautocommand for openinga file.Windows GUI:a point size witha dot, like "7.5", wasn't recognized. (MuraokaTaro)When'scrollbind' wasn't set would still remember the current position,wasting time.GTK: Crash when'shell' doesn't exist and doing":!ls". Use _exit() instead ofexit() when the child couldn't execute the shell.Multi-byte:-GUI with double-byte encoding:a mouse click in left half of double-wide characterput the cursor in previous char.- Using double-byte encoding and'selection'is "exclusive": "vey" and "^Vey" included the character after the word.- When usinga double-byte encoding and thereisa lead byteat theend of the line, the preceding line would be displayed. "ga" also showed wrong info.- "gf" didn't includemultibyte characters before the cursor properly. (Muraoka Taro)GUI: The cursor was sometimes not removed when scrolling. Changed the policyfrom redrawing the cursor after each call to gui_write() to only updateitattheend of update_screen() or when setting the cursor position. Also onlyupdate the scrollbarsat theend of update_screen(), that's the only placewhere thewindow text may have been scrolled.Formatting "/*<Tab>long text", produced "*<Tab>" in the next line. Nowremove thespace before the Tab.Formatting "/*<Tab> long text", produced "*<Tab> long text" in the nextline. Now keep thespace after the Tab.In some places non-ASCII alphabetical characters were accepted, which couldcause problems. For example, ":X" (X being sucha character).Whenapattern matches theend of the line, the last character in the line washighlighted for'hlsearch'. That looks wrong for "/\%3c". Now highlight thecharacter just after the line.Motif: Ifadialog was closed by clicking on the "X" of thewindow frame Vimwould no longer respond.When usingCTRL-X orCTRL-A ona number with many leading zeros, Vim wouldcrash. (Matsumoto)When'insertmode'is set, themapping inmswin.vim forCTRL-V didn't work inSelect mode.Insert mode wasn't restarted after overwriting the text.Now allow nestingInsert mode withinsert and change commands.CTRL-Ocwfoo<Esc> now also works.Clicking with the right mouse button in anotherwindow startedVisual mode,but used the start position of the current window. Caused ml_geterrors whenthe line number was invalid. Now stay in the same window.When'selection'is "exclusive", "gv" sometimes selected one character fewer.When'comments' contains more than one start/middle/end triplet, the optionalflags could be mixed up. Also didn't align theend with the middle part.Double-right-click inVisual mode didn't update the shown mode.When theNormal group hasa font name,it was never used whenstarting up.Now useit when'guifont' and'guifontset' are empty.Settinga font name toa highlight group before theGUI was started didn'twork."make test" didn't use the name of the generated Vim executable.'cindent' problems:- Aligned with an "else" insidea do-while loop fora line below that loop. (Meikel Brandmeyer)-A line beforea function would be indented even when terminated witha semicolon. (Meikel Brandmeyer)-'cindent' gave too much indent toa line aftera "};" that ends an array init.- Support declaration lines ending in "," and "\". (Meikel Brandmeyer)-Acase statement insidea do-while loop was used for indentinga line after the do-while loop. (Meikel Brandmeyer)- When skippingastring ina line with one doublequoteit could continue in the previous line. (Meikel Brandmeyer)When'list'is set,'hlsearch' didn't highlighta matchat theend of theline. Now highlight the '$'.The Paste menu item in the menu bar, thepopup menu and the toolbar were alldifferent. Now made them all equal to howit was done in mswin.vim.st_dev can be smaller than "unsigned". The compiler may give an overflowwarning. Addeda configure check for dev_t.Athena: closingaconfirm()dialog killed Vim.Various typos in the documentation. (Matt Dunford)Python interface: The definition of _DEBUG could cause trouble, undefine it.The error message for not being able to load the shared library wasn'ttranslated. (Muraoka Taro)Mac: (Dany St-Amant and Axel Kielhorn)- Several fixes.- Vim was eating 80% of the CPU time.- The project os_mac.pbxproj didn't work, Movedit toa subdirectory.- Made the menu priority work for the menubar.- Fixeda problem with dragging the scrollbar.- Cleaned up thevarious #ifdefs.Unix: When catchinga deadly signal and we keep getting one use _exit() toexit ina quick and dirty way.Athena menu ordering didn't work correctly. (David Harrison)A ":make" or ":grep" command witha long argument could causea crash.Doing ":new file" and using "Quit" for theATTENTIONdialog still openeda newwindow.GTK: Whenstarting theGUI and thereis an error in the.vimrc file, don'tpresent the wait-return prompt, since the message was given in the terminal.When there was an error ina.vimrc file theterminal wheregvim was startedcould be cleared. Set msg_row in main.c beforewriting any messages.GTK andX11 GUI: When trying to read characters from the user (e.g. withinput()) before the Vimwindow was opened caused Vim to hang whenit wasstarted from the desktop.OS/390 uses 31 bit pointers. That broke some computations with MAX_COL.Reduce MAX_COL by one bit for OS/390. (Ralf Schandl)When defininga function andit already exists, Vim didn't sayit existeduntil after typing it. Nowdo this right away when typing it.The message remembered for displaying later (keep_msg) was sometimes pointingintoa generic buffer, which might be changed by the time the messageisdisplayed. Now makea copy of the message.When usingmultibyte characters ina menu anda trailing byteisa backslash,the menu would not be created correctly. (Muraoka Taro)Usingamultibyte character in the substitutestring wherea trail byteisabackslash didn't work. (Muraoka Taro)When setting "t_Co" inavimrc file, then settingit automatically from anxterm termresponse and then settingit again manually causeda crash.When getting the value ofastring option thatis not supported, the numberzero was returned. This breaksa check like "&enc== "asdf". Now an emptystringis returned forstring options.Crashed whenstarting theGTKGUI while using'notitle' in the vimrc, setting'title' in thegvimrc andstarting theGUI with ":gui". Closed the connectionto theX server accidentally.Had to hit return after selecting an entry for ":ts".The message from ":cn" message was sometimes cleared. Now displayit afterredrawing ifit doesn't causea scroll (truncated when necessary).hangulin.c didn't compile when theGUI was disabled. Disableit whenit won'twork.When settingatermcap option like "t_CO", the value could be displayedasbeing fora normal key witha modifier, like "<M-=>".When expanding the argument list, entries which area directory name did notget included. This stopped "vim c:/" from opening the file explorer.":syn match sd "^" nextgroup=asdf" skipped the first column and matched thenextgroup in the second column.GUI: When'lazyredraw'is set,'showmatch' didn't work. Required flushingthe output.Don't define the<NetMouse> termcode in an xterm, reduces the problem whensomeone types<Esc>} inInsert mode.Made slash_adjust() work correctly formultibyte characters. (YasuhiroMatsumoto)Usinga filename in Big5 encoding forautocommands didn't work (backslash intrailbyte). (Yasuhiro Matsumoto)DOS and Windows: Expanding *.vim also matched file.vimfoo. Expand path likeUnix to avoid problems with Windows dir functions. Merged theDOS andWin32functions.Win32: GvimExt could not edit more thana few filesat once, the length of theargument was fixed."ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch toraw mode when needed. Use dup() to copy the stderr file descriptor to stdinto make shell commands work. No longer requires an external program todothis.When using ":filetype off",ftplugin and indent usage would be switched offatthe same time. Don'tdo this, setting'filetype' manually can still use them.GUI: Whenwritinga double-byte character,it could be split up in two callsto gui_write(), which doesn't work. Now flush before the output bufferbecomes full.When'laststatus'is set and'cmdheight'is two or bigger, theintro messagewould be written over the status line.The ":intro" command didn't work when there wasn't enough room.Configuring forRuby failed witha recent version of Ruby. (Akinori Musha)Athena: Whendeleting the directory in which Vim was started, using the filebrowser made Vim exit. Removed the use of XtAppError().When using autoconf 2.50, UNIX was not defined. Moved the comment for "#undefUNIX" toa separate line.Win32: Disabled _OnWindowPosChanging() to make maximize work better.Win32: Compiling with VC 4.0 didn't work. (Walter Briscoe)Athena:- Finally fixed the problems withdeletinga menu. (David Harrison)- Athena: When closing theconfirm() dialog, worked like OK was pressed, instead of Cancel.The file explorer didn't work in compatible mode, because of linecontinuation.Didn't give an error message for ":digrapha".When usingEx mode in theGUI and typinga special key,<BS> didn't deleteitcorrectly. Now display '?' fora special key.When anoperatoris pending, clicking in anotherwindow madeit apply to thatwindow, even though the line numbers could be beyond theend of the buffer.Whena function call doesn't havea terminating ")" Vim could crash.Perl interface: could crash on exit withperl 5.6.1. (Anduin Withers)Using %P in'errorformat' wasn't handled correctly. (Tomas Zellerin)Usingasyntax cluster that includes itself made Vim crash.GUI: With'ls' set to 2, dragging the status line all the way up, then makingthe Vimwindow smaller: Could not the drag status line anymore."vim-c startinsert! file" placed cursor on last char ofa line, instead ofafter it.A ":set" command in the buffer menu set w_set_curswant. Now don'tdo this when w_curswantis MAXCOL.Win32: When thegvimwindow was maximized and selecting another font, thewindow would no longer fill the screen.The line with'pastetoggle' in ":options" didn't show the right value whenitisa special key. Hitting<CR> didn't work either.Formatting text, resulting ina% landing in the first line, repeated the% inthe following lines, like it's the start ofa comment.GTK: When addinga toolbar item whilegvimis already running,it wasn'tpossible to use the tooltip. Nowit works by adding the tooltip first.The output of "gCTRL-G" mentioned "Char" but it's actually bytes.Searching for theend ofa oneline region didn't work correctly when thereisan offset for the highlighting.Syntax highlighting: When synchronizing on C-comments,//*/ was seenas thestart ofa comment.Win32: Without scrollbars present, the MS mouse scroll wheel didn't work.Also handle the scrollbars when they are not visible.Motif: When thereis no right scrollbar, the bottom scrollbar would stillleave room for it. (Marcin Dalecki)Whenchanging'guicursor' and the valueis invalid, some of the effects wouldstill take place. Now first check forerrors and only make the new valueeffective when it's OK.Using "A" InVisual block mode, appending to lines that don't extend into theblock, padding was wrong.When pastinga block of text,a character that occupies more than one screencolumn could be deleted and spaces inserted instead. Now onlydo that withatab.Fixed conversion of documentation to HTML using Perl. (Dan Sharp)Give an error message whena menu name starts witha dot.Avoida hang when executinga shell from theGUI on HP-UX by pushing "ptem"even when sys/ptem.h isn't present.When creating the temp directory, make sure umaskis 077, otherwise thedirectoryis not accessible whenit was set to 0177.Unix: When resizing thewindow anda redrawisa bit slow, could getawindowresize event while redrawing, resulting ina messed up window. Any input(e.g.,a mouse click) would redraw.The "%B" item in the status line became zero inInsert mode (that's normal)for another than the current window.The menu entries to convert to xxd and back didn't work inInsert mode.When ":vglobal" didn't finda line where thepattern doesn't match, the errormessage would be the wrong way around.When ignoringa multi-line error message with "%-A", the continuation lineswould be used anyway. (Servatius Brandt)"grx" ona double-wide character inserted "x", instead ofreplacing thecharacter with "x ". "gR" on<xx> ('display' set the "uhex") didn't replaceat all. When doing "gRxx" onacontrol character the first "x" would beinserted, breaking the alignment.Added "0)" to'cinkeys', so that when typinga)itisput in the same placeas where "==" wouldput it.Win32: When maximized, adding/removing toolbar didn't resize the text area.When using<C-RightMouse>acount was discarded.When typingCTRL-V and<RightMouse> in the command line, wouldinsert<LeftMouse>.Using "vis" or "vas" when'selection'isexclusive didn't include the lastcharacter.When adding to an option like'grepprg', leadingspace would be lost. Don'texpand environmentvariables when thereis no comma separating the items.GUI: When usinga bold-italic font, would still use thebold trick andunderlining.Motif: The default button didn't work in dialogs, the first one was alwaysused. Had to give input focus to the default button.When usingCTRL-T to jump within the same file, the''mark wasn't set.Undo wasn'tVi compatible when using the 'c' flag for ":s". Nowit undoes thewhole ":s" command instead of each confirmed replacement.The Buffers menu, when torn-off, disappeared when being refreshed. Addadummy item to avoid this.Removed calling msg_start() in main(),it should not be needed.vim_strpbrk() did not supportmultibyte characters. (Muraoka Taro)TheAmiga version didn't compile, the code was too big for relative jumps.Moveda few files from ex_docmd.c to ex_cmds2.cWhen evaluating the "= register resulted in the "= register being changed, Vimwould crash.When doing ":view file" andit fails, the current buffer was made read-only.Motif: For some people the separators in the toolbar disappeared when resizingthe Vim window. (Marcin Dalecki)Win32 GUI: when setting'lines' toa huge number, would not compute theavailablespace correctly. Was counting the menu height twice.Conversion of the docs to HTML didn't handle the line with the+quickfixtagcorrectly. (Antonio Colombo)Win32: fname_case() didn't handlemultibyte characters correctly. (YasuhiroMatsumoto)The Cygwin version had trouble with fchdir(). Don't use that function forCygwin.The generic check in scripts.vim for "conf"syntax was done before some checksin filetype.vim, resulting in "conf"syntax too often.Dos32: Typing lagged behind. Would wait for one biostick when checking ifacharacteris available.GTK: When setting'columns' whilestarting up "gvim", would set the width oftheterminalit was started in.When using ESC inInsert mode, an autoindent that wraps to the next linecaused the cursor to move to theend of the line temporarily. When thecharacter before the cursor wasa double-widemultibyte character the cursorwould be on the right half, which causes problems with some terminals.Didn't handlemultibyte characters correctly when expandinga file name.(Yasuhiro Matsumoto)Win32 GUI: Errors generated before theGUIis decided to start were notreported.globpath() didn't reserve enough room for concatenated results. (AnduinWithers)When expanding an option thatis very long already, don'tdo the expansion,itwould be truncated to MAXPATHL. (Anduin Withers)When'selection'is "exclusive", using "Fx" inVisual mode only moved untiljust after the character.When usingIME on the console to entera file name, the screen may scroll up.Redraw the screen then. (Yasuhiro Matsumoto)Motif: In the find/replacedialog the "Replace" button didn't work first time,second timeit replaced all matches. Removed the use of ":s///c".GTK: Similar problems with the find/replace dialog, moved the code toa commonfunction.X11: Use shared GC's for text. (Marcin Dalecki)"]i" found the match under the cursor, instead of the first one below it.Same for "]I", "]CTRL-I", "]d", "]D" and "]CTRL-D".Win16: When maximized and the fontis changed, don't change thewindow size.(Vince Negri)When'lbr'is set,deletinga block of text could leave the cursor in thewrong position.Win32: When openinga file with the "Edit with Vim"popup menu entry,wildcards would cause trouble. Added the "--literal" argument to avoidexpanding file names.When using "gv",it didn't restore that "$" was used inVisual block mode.Win32 GUI: While waiting fora shell command to finish, thewindow wasn'tredrawnat all. (Yasuhiro Matsumoto)Syntax highlighting:A match that continues ona next line because ofacontained region didn'tend when that region ended.The ":s" command didn't allow flags like 'e' and 'i' right after it.When using ":s" to splita line, marks were moved to the next line.Vi keepsthem in the first line.When using ":n" ":rew", the previous contextmark wasat the top of the file,whileVi putsit in the same placeas the cursor. MadeitVi compatible.FixedVi incompatibility: Text was notput in register 1 when using "c" and"d" witha motion character, whendeleting within one line with one of thecommands:%() `<character>/?Nn{ }Win32 GUI: The tooltip for tear-off items remained when the tear-off item wasno longer selected.GUI: When typing ":"at the more prompt, would return toNormal mode and notredraw the screen.Whenstarting Vim with an argument "-c g/at/p" the printed lines wouldoverwrite each other.BeOS: Didn't compile. Configure didn't add the os_beos files, theQNX checkremoved them. Various changes to os_beos.cc. (Joshua Haberman)Removed the check for the hardware platform, theBeBox has not been producedfora long time now.Win32 GUI: don't usea message box when the shell returns an error code,display the message in the Vim window.Make_mvc.mak always included "/debug" for linking. "GUI=no" argument didn'twork. Use "DEBUG=yes" instead of "DEBUG=1" to makeit consistent. (Dan Sharp)Whena line in thetags file ended in;" (no TAB following) the command wouldnot be recognizedasa search command.X11: The inputMethod resource never worked. Don't use the "none" inputmethodfor SGI,it apparently makes the first character in Inputmethod dropped.Fixed incorrect tests in os_mac.h. (Axel Kielhorn)Win32 console: When the console where Vim runs inis closed, Vim could hang intrying to restore thewindow icon. (Yasuhiro Matsumoto)When using ":3call func()" or ":3,3call func() the line number was ignored.When'showbreak' and'linebreak' were both set,Visual highlighting sometimescontinued until theend of the line.GTK GUI: Tearoff items were added even when'guioptions' didn't contain 't'whenstarting up.MS-Windows: When the current directory includesa "~", searching files with"gf" or ":find" didn't work.A "$" in the directory had the same problem.Added mch_has_exp_wildcard() functions.When reducing the Vimwindow height whilestarting up, would get anout-of-memory error message.When editinga very long search pattern,'incsearch' caused the redraw of thecommand line to fail.Motif GUI: On some systems the "Help" menu would not be on the far right,asit should be. On some other systems (esp. IRIX) the command line would notcompletely show. Solutionis to only resize the menubar for Lesstif.Using "%" ina line that contains "\\" twice didn't take care of thequotesproperly. Now makea difference between \" and \\".For non-Unix systemsa dummy fileis created when findinga swap name todetecta 8.3 filesystem. When thereis an existing swap file, would getawarning for the file being created outside of Vim. Also, when closing the Vimwindow the file would remain.Motif: The menu height was always computed, usinga "-menuheight" argumentwas setting the room for the command line. Now make clear the argumentis notsupported.For some (EBCDIC) systems, POUND was equal to '#'. Added an #if for that toavoida duplicatecase ina switch.TheGUI may have problems when forking. Always call _exit() instead of exit()in the parent, the child will call exit().Win32 GUI: Accented characters were often wrong in dialogs and tearoff menus.Now use CP_ACP instead of CP_OEMCP. (Vince Negri)When displaying text withsyntax highlighting causes an error (e.g., runningout of stack) thesyntax highlightingis disabled to avoid further messages.Whena command ina.vimrc or.gvimrc causes anATTENTION prompt, and Vim wasstarted from the desktop (no place to display messages)it would hang. Nowopen theGUIwindow early to be able to display themessages and pop up thedialog."r<CR>" onamultibyte character deleted only the first byte of thecharacter. "3r<CR>" deleted three bytes instead of three characters.When interrupting readinga file,Vi considers the buffer modified. Added the'i' flag in'cpoptions' flag for this (we don't wantit modified to be able todo ":q").When using an item in'guicursor' that starts witha colon, Vim would getstuck or crash.When puttinga filemark inahelp file and later jumping back to it, theoptions would not be set. Extended themodeline in allhelp files to makethis work better.Whenamodeline contained "::" the local option values would be printed. Nowignore it.Somehelp files did not usea 8.3 names, which causes problems when usingMS-DOS unzip. Renamed "multibyte.txt" to "mbyte.txt", "rightleft.txt" to"rileft.txt", "tagsearch.txt" to "tagsrch.txt", "os_riscos.txt" to"os_risc.txt".WhenVisual modeis blockwise, using "iw" or "aw" madeit characterwise. Thatdoesn't seem right, onlydo this when inlinewise mode. But thendoitalways, not only when start andend ofVisual mode are equal.When using "viw" ona single-letterword and'selection'is exclusive, wouldnot include the word.Whenformatting text fromInsert mode, usingCTRL-O, could mess upundoinformation.Whilewritinga file (also for thebackup file) there was no check for aninterrupt (hittingCTRL-C). Vim could hang whenwritinga large file overaslow network, and moving the mouse didn't makeit appear (when'mousehide'isset) and the screen wasn't updated in the GUI. Also allow interrupting whensyncing the swap file,it can takea long time.When using ":mksession" while thereishelp window,it would later be restoredto the right file but not markedasahelp buffer. ":help" would then openanother window. Now use the value "help" for'buftype' tomarkahelp buffer.The session file contained absolute path names in option values, that doesn'twork when thehome directory depends on the situation.Replace thehomedirectory with ~/ when possible.When using'showbreak'a TAB just after the shown break would not be countedcorrectly, the cursor would be positioned wrong.With'showbreak' set to "--->" or "------->" and'sts' set to 4,insertingtabs did not work right. Could causea crash. Backspacing was also wrong,could get stuckata line break.Win32: crashed when tearing offa menu with over 300 items.GUI:A menu or toolbar item would appear when onlya tooltip was defined forit.When'scrolloff'is non-zero and "$"is in'cpoptions', using "s" while thelast line of the fileis the first line on screen, the text wasn't displayed.When running "autoconf", delete the configure cache to forcestarting cleanlywhen configureis run again.Whenchanging theNormal colors for cterm, the value of'background' waschanged even when theGUI was used.The warning fora missing vimrun.exe was always given on startup, but somepeople just editinga file don't need to be bothered by it. Only showit whenvimrun would be used.When using "%" inamultibyte textit could get confused by trailbytes thatmatch. (Muraoka Taro)Termcap entry for RiscOS was wrong, using 7 and 8 inoctal codes.Athena: The title ofadialogwindow and the file selectorwindow were notset. (David Harrison)The "htmlLink" highlight group specified colors, which gives problems whenusinga color scheme. Added the "Underlined" highlight group for this.After using ":insert" or ":change" the'[mark would be one line too low.When looking for the file name aftera match with'include' one character wasskipped. Same for'define'.Win32 and DJGPP: When editinga file witha short name ina directory, andediting the same file but using the long name, wouldend up with twobufferson the same file."gf" ona filename that starts with "../" only worked when the file beingeditedis in the current directory. An include file search didn't workproperly for filesstarting with "../" or ".". Now search both relative tothe file and to the current directory.When'printheader','titlestring','iconstring','rulerformat' or'statusline'contained "%{" but no following "}" memory was corrupted anda crash couldhappen.":0append" and theninserting two lines did not redraw the blank lines thatwere scrolled back down.When usinginsert mode completion ina narrow window, the message causedascroll up. Now shorten the message ifit doesn't fit and avoidwriting theruler over the message.XIM still didn't work correctly on some systems, especially SGI/IRIX. Addedthe'imdisable' option, whichis set by default for that system.Patch 6.0aw.008Problem: When the first character ofa file nameis over 127, the Buffers menu entry would geta negative priority and cause problems.Solution: Reduce the multiplier for the first character when computing the hash value fora Buffers menu entry.Files: runtime/menu.vimPatch 6.0aw.010Problem: Win32: ":browse edit dir/dir" didn't work. (Vikas)Solution: Change slashes to backslashes in the directory passed to the file browser.Files: src/gui_w48.cAthena file browser: On some systems wcstombs() can't be used to get thelength ofamultibyte string. Use the maximum length then. (YasuhiroMatsumoto)Patch 6.0ax.001Problem: When'patchmode'is set, appending toa file gives an empty original file. (Ed Ralston)Solution: Also makeabackup copy when appending and'patchmode'is set.Files: src/fileio.cPatch 6.0ax.002Problem: When'patchmode'is set, appending toa compressed file gives an uncompressed original file. (Ed Ralston)Solution: Create the original file before decompressing.Files: runtime/plugin/gzip.vimPatch 6.0ax.005Problem: Athena file selector keeps the title of the first invocation.Solution: Set the title each time the file selectoris opened. (David Harrison)Files: src/gui_at_fs.cPatch 6.0ax.007Problem: When using GPM (mouse driver ina Linux console)a double clickis interpretedasa scroll wheel click.Solution: Check if GPMis being used when deciding ifa mouse eventis for the scroll wheel.Files: src/term.cPatch 6.0ax.010Problem: The Edit.Save menu and the Save toolbar button didn't work when the buffer has no file name.Solution: Usea file browser to ask fora file name. Also fix the toolbar Find item inVisual mode.Files: runtime/menu.vimPatch 6.0ax.012Problem: When'cpoptions' contains "$", breakinga line for'textwidth' doesn't redraw properly. (Stefan Schulze)Solution: Remove the dollar before breaking the line.Files: src/edit.cPatch 6.0ax.014Problem: Win32: On Windows 98 ":make-f file" doesn't work when'shell'is "command.com" and'makeprg'is "nmake". The environment isn't passed on to "nmake".Solution: Also use vimrun.exe when redirecting the output ofa command.Files: src/os_win32.cPatch 6.0ax.016Problem: The version number was reported wrong in theintro screen.Solution: Check fora version number with two additional letters.Files: src/version.cPatch 6.0ax.019Problem: Whenscrollingawindow withfolds upwards, switching to another vertically splitwindow and back may not update the scrollbar.Solution: Limit w_botline to the number of lines in the buffer plus one.Files: src/move.c==============================================================================VERSION 6.1version-6.1Thissectionis about improvements made between version 6.0 and 6.1.Thisisa bug-fix release, there are not really any new features.Changedchanged-6.1-------'iminsert' and'imsearch' are no longer setasa side effect of definingalanguage-mapping using ":lmap".Addedadded-6.1-----Syntax files:amplAMPL (David Krief)antAnt (Johannes Zellner)baanBaan (Her van de Vliert)csC# (Johannes Zellner)lifelinesLifelines (Patrick Texier)lscriptLotusScript (Taryn East)mooMOO (Timo Frenay)nsisNSIS (Alex Jakushev)ppdPostscript Printer Description (Bjoern Jacke)rplRPL/2 (Joel Bertrand)scilabScilab (Benoit Hamelin)splintSplint (Ralf Wildenhues)sqljSQLJ (Andreas Fischbach)wvdialWvDial (Prahlad Vaidyanathan)xf86confXFree86 config (Nikolai Weibull)xmodmapXmodmap (Nikolai Weibull)xsltXslt (Johannes Zellner)monkMonk (Mike Litherland)xsdXsd (Johannes Zellner)cdlCDL (Raul Segura Acevedo)sendprSend-pr (Hendrik Scholz)Added indent file for Scheme. (Dorai Sitaram)Added indent file for Prolog. (Kontra Gergely)Added indent file for Povray (David Necas)Added indent file for IDL (Aleksandar Jelenak)Added C# indent andftplugin scripts.Added Ukrainian menu translations. (Bohdan Vlasyuk)Added ASCII version of the Czech menus. (Jiri Brezina)Added SimplifiedChinese translation of the tutor. (MendelL Chan)AddedRussian keymap for yawerty keyboard.Added an explanation of using thevimrc file in the tutor.Changed tutor.vim to get the right encoding for the Taiwanese tutor.AddedRussian tutor. (Andrey Kiselev)Added Polish tutor. (Mikolaj Machowski)Added darkblue color scheme. (Bohdan Vlasyuk)When packing thedos language archive automatically generate the .mo filesthat are required.Improved NSISscript to support NSIS 180. Added icons for theenabled/disabled status. (Mirek Pruchnik)cp1250 version of the Slovak message translations.Compiler plugins for IRIX compilers. (David Harrison)Fixedfixed-6.1-----Thelicense text was updated to make the meaning clearer and makeitcompatible with the GNU GPL. Otherwise distributors havea problem whenlinking Vim witha GPL'ed library.When installing the "less.sh"scriptit was not made executable. (Chuck Berg)Win32: The "9" key on the numpad wasn't working. (Julian Kinraid)The NSISinstallscript didn't work with NSIS 1.80 or later. Also addVim-specific icons. (Pruchnik)Thescript for conversion to HTML contained an "if" in the wrong place.(Michael Geddes)Allow using ":ascii" in the sandbox, it's harmless.Removed creat() from osdef2.h.in,it wasn't used and may causea problem whenit's redefined to creat64().The text files in the VisVim directory were in "dos" format. This causedproblems when applyinga patch. Now keep them in "unix" format and convertthem to "dos" format only for the PC archives.Addruby files to thedos source archive, they can be used by Make_mvc.mak.(Mirek Pruchnik)"cp-f" doesn't work on all systems. Change "cp-f" in the Makefile to "rm-f" and "cp".Didn't compile ona Compaq Tandem Himalaya OSS. (Michael A. Benzinger)TheGTK file selectiondialog didn't include the "Create Dir", "Delete File"and "Rename File" buttons.When doing ":browse source" thedialog has the title "Run Macro". Betterwould be "Source Vimscript". (Yegappan Lakshmanan)Win32: Don't use the printer fontas default for the font dialog."make doslang" didn't work when configure didn't run (yet). Set $MAKEMO to"yes". (Mirek Pruchnik)The ToolBar TagJump item used "g]", which prompts fora selection even whenthereis only one matching tag. Use "g<C-]>" instead.The ming makefile for message translations didn't have the rightlist offiles.TheMS-Windows 3.1 version complains about LIBINTL.DLL not found. Compilethis version without message translations.The Borland 5 makefile containeda check forRuby whichis no longer needed.The URLs for theTCL library was outdated. (Dan Sharp)The eviso.ps file was missing from theDOS runtime archive, it's needed forprinting PostScript in the 32bitDOS version.In menu files ":scriptencoding" was used ina wrong way after patch 6.1a.032Now use ":scriptencoding" in the file where the translations are given. Dothe same for allmenus in latin1 encoding.Includeda lot of fixes for the Macintosh, mostly to makeit work with Carbon.(Dany StAmant, Axel Kielhorn, Benji Fisher)Improved thevimtutor shellscript to use $TMPDIR whenit exists, and deletethe copied file whenexiting in an abnormal way. (Max Ischenko)When "iconv.dll" can't be found, try using "libiconv.dll".Whenencryptionis used, filtering witha shell command wasn't possible.DJGPP: ":cd c:" always failed, can't get permissions for "c:".Win32: ":cd c:/" failed if the previous current directory on c: had becomeinvalid.DJGPP: Shift-Del and Del both produce \316\123. Defaultmapping for Deliswrong. Disabled it.Dependencies on header files in MingW makefile was wrong.Win32: Don't useACL stuff for MSVC 4.2, it's not supported. (Walter Briscoe)Win32 with Borland: bcc.cfg was caching the value for $(BOR), but providingadifferent argument to make didn't regenerate it.Win32 with MSVC: Make_ivc.mak generatesa new if_ole.h ina differentdirectory, the if_ole.h in the src directory may be used instead. Delete thedistributed file.Whenawindowis vertically split and then ":ball"is used, thewindow layoutis messed up, can causea crash. (Muraoka Taro)When'insertmode'is set, using File/New menu and then double clicking, "i"issoon inserted. (Merlin Hansen)WhenSelect modeis active and using the Buffers menu to switch to anotherbuffer, an old selection comes back. Reset VIsual_reselect fora ":buffer"command.WhenSelect modeis active and'insertmode'is set, using the Buffers menu toswitch to another buffer, did not return toInsert mode. Make sure"restart_edit"is set.When double clicking on the first character ofaword while'selection'is"exclusive" didn't select that word.Patch 6.0.001Problem: Loading thesh.vimsyntax file causes error messages. (Corinna Vinschen)Solution: Add an "if". (Charles Campbell)Files: runtime/syntax/sh.vimPatch 6.0.002Problem: Usinga '@' item in'viminfo' doesn't work. (Marko Leipert)Solution: Add '@' to thelist of accepted items.Files: src/option.cPatch 6.0.003Problem: The configure check for ACLs on AIX doesn't work.Solution: Fix the test program so thatit compiles. (Tomas Ogren)Files: src/configure.in, src/auto/configurePatch 6.0.004Problem: The find/replacedialog doesn't reusea previous argument properly.Solution: After removinga "\V" terminate the string. (Zwane Mwaikambo)Files: src/gui.cPatch 6.0.005Problem: InInsert mode, "CTRL-O:ls" hasa delay before redrawing.Solution: Don't delay just after wait_return() was called. Added the did_wait_return flag.Files: src/globals.h, src/message.c, src/normal.c, src/screen.cPatch 6.0.006Problem: Witha vertical split,'number' set and'scrolloff' non-zero, making thewindow width very small causesa crash. (Niklas Lindstrom)Solution: Check fora zero width.Files: src/move.cPatch 6.0.007Problem: When setting'filetype' while thereis noFileType autocommand,a following ":setfiletype" would set'filetype' again. (Kobus Retief)Solution: Set did_filetype always when'filetype' has been set.Files: src/option.cPatch 6.0.008Problem:'imdisable'is missing from theoptions window. (Michael Naumann)Solution: Add an entry for it.Files: runtime/optwin.vimPatch 6.0.009Problem: Nextstep doesn't have S_ISBLK. (John Beppu)Solution: Define S_ISBLK using S_IFBLK.Files: src/os_unix.hPatch 6.0.010Problem: Using "gf" ona file namestarting with "./" or "../" ina buffer withouta name causesa crash. (Roy Lewis)Solution: Check fora NULL file name.Files: src/misc2.cPatch 6.0.011Problem: Python: Afterreplacing ordeleting lines get an ml_get error. (Leo Lipelis)Solution: Adjust the cursor position for deleted or added lines.Files: src/if_python.cPatch 6.0.012Problem: Polish translations contain printf format errors, this can result ina crash when using one of them.Solution: Fix for translated messages. (Michal Politowski)Files: src/po/pl.poPatch 6.0.013Problem: Using ":silent! cmd" still gives some error messages, like for an invalid range. (Salman Halim)Solution: Reset emsg_silent after calling emsg() in do_one_cmd().Files: src/ex_docmd.cPatch 6.0.014Problem: When'modifiable'is off and'virtualedit'is "all", "rx" ona TAB still changes the buffer. (Muraoka Taro)Solution: Check if saving the line forundo fails.Files: src/normal.cPatch 6.0.015Problem: When'cpoptions' includes "S" and "filetypeplugin on" has been used, can get an error fordeleting the b:did_ftplugin variable. (Ralph Henderson)Solution: Only delete the variable whenit exists.Files: runtime/ftplugin.vimPatch 6.0.016Problem: bufnr(),bufname() andbufwinnr() don't find unlistedbuffers when the argumentisa string. (Hari Krishna Dara) Also forsetbufvar() and getbufvar().Solution: Also find unlisted buffers.Files: src/eval.cPatch 6.0.017Problem: When'ttybuiltin'is set anda builtintermcap entry definest_Co and the external one doesn't,it gets reset to empty. (David Harrison)Solution: Only sett_Co whenit wasn't set yet.Files: src/term.cPatch 6.0.018Problem: Initializing'encoding' may causea crash when setlocale()is not used. (Dany St-Amant)Solution: Check fora NULL pointer.Files: src/mbyte.cPatch 6.0.019Problem: Convertingastring withmultibyte characters toa printable string, e.g., with strtrans(), may causea crash. (Tomas Zellerin)Solution: Correctly compute the length of the result in transstr().Files: src/charset.cPatch 6.0.020Problem: When obtaining the value ofa global variable internally, could get the function-local value instead. Applies to using<Leader> and<LocalLeader> and resetting highlighting ina function.Solution: Prepend "g:" to the variable name. (Aric Blumer)Files: src/syntax.c, src/term.cPatch 6.0.021Problem: The'cscopepathcomp' option didn't work.Solution: Change USE_CSCOPE to FEAT_CSCOPE. (Mark Feng)Files: src/option.cPatch 6.0.022Problem: When using the'langmap' option, the second character ofa commandstarting with "g" isn't adjusted.Solution: Apply'langmap' to the second character. (Alex Kapranoff)Files: src/normal.cPatch 6.0.023Problem: Loading the lhaskellsyntax doesn't work. (Thore B. Karlsen)Solution: Use ":runtime" instead of "source" to load haskell.vim.Files: runtime/syntax/lhaskell.vimPatch 6.0.024Problem: Using "CTRL-Vu 9900" inInsert mode may causea crash. (Noah Levitt)Solution: Don'tinserta NUL byte in the text, usea newline.Files: src/misc1.cPatch 6.0.025Problem: Thepattern "\vx(.|$)" doesn't match "x"at theend ofa line. (Preben Peppe Guldberg)Solution: Always seea "$"as end-of-line after "\v". Do the same for "^".Files: src/regexp.cPatch 6.0.026Problem: GTK: When using arrow keys to navigate through the menus, the separators are selected.Solution: Set the separators "insensitive". (Pavel Kankovsky)Files: src/gui_gtk.c, src/gui_gtk_x11.cPatch 6.0.027Problem: VMS: Printing doesn't work, the fileis deleted too quickly. No longer need theVMS specificprinting menu. gethostname()is not available with VAXC. The makefile was lacking selection of the tiny-huge feature set.Solution: Adjust the'printexpr' option default. Fix the other problems and update the documentation. (Zoltan Arpadffy)Files: runtime/doc/os_vms.txt, runtime/menu.vim, src/INSTALLvms.txt, src/Make_vms.mms, src/option.c, src/os_unix.c, src/os_vms_conf.hPatch 6.0.028Problem: Can't compile without+virtualedit and with +visualextra. (Geza Lakner)Solution: Add an #ifdef for +virtualedit.Files: src/ops.cPatch 6.0.029Problem: When makinga change in line 1, then in line 2 and thendeleting line 1,undo info could be wrong. Only when the changes are undoneat once. (Gerhard Hochholzer)Solution: When not savinga line forundo becauseit was already done before, remember for which entry the last linemust be computed. Added ue_getbot_entry pointer for this. When the number of lines changes, adjust the position of newerundo entries.Files: src/structs.h, src/undo.cPatch 6.0.030Problem: Using ":source! file" doesn't work insidea loop or after ":argdo". (Pavol Juhas)Solution: Execute the commands in the file right away,do not let the main loopdo it.Files: src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/globals.h, src/proto/ex_docmd.pro, src/proto/getchar.proPatch 6.0.031Problem: Nextstep doesn't havesetenv() or putenv(). (John Beppu)Solution: Move putenv() from pty.c to misc2.cFiles: src/misc2.c, src/pty.cPatch 6.0.032Problem: Whenchanginga setting that affects all folds, they are not displayed immediately.Solution: Set the redraw flag in foldUpdateAll().Files: src/fold.cPatch 6.0.033Problem: Using'wildmenu' on MS-Windows, file names that includeaspace are only displayedstarting with that space. (Xie Yuheng)Solution: Don't recognizeabackslash beforeaspaceasa path separator.Files: src/screen.cPatch 6.0.034Problem: Callingsearchpair() with three arguments could result ina crash or strange error message. (Kalle Bjorklid)Solution: Don't use the fifth argument when thereis no fourth argument.Files: src/eval.cPatch 6.0.035Problem: The menu item Edit/Global_Settings/Toggle_Toolbar doesn't work when'ignorecase'is set. (Allen Castaban)Solution: Always matchcase when checking ifa flagis already present in'guioptions'.Files: runtime/menu.vimPatch 6.0.036Problem: OS/2,MS-DOS and MS-Windows: Usinga path that starts witha slash in'tags' doesn't workas expected. (Mathias Koehrer)Solution: Only use the drive, not the whole path to the current directory. Also makeit work for "c:dir/file".Files: src/misc2.cPatch 6.0.037Problem: When the user has set "did_install_syntax_menu" to avoid the defaultSyntax menuit still appears. (Virgilio)Solution: Don't add the three default items when "did_install_syntax_menu"is set.Files: runtime/menu.vimPatch 6.0.038Problem: When'selection'is "exclusive",deletinga block of textat theend ofa line can leave the cursor beyond theend of the line.Solution: Correct the cursor position.Files: src/ops.cPatch 6.0.039Problem: "gP" leaves the cursor in the wrong position when'virtualedit'is used. Using "c" in blockwiseVisual mode leaves the cursor ina strange position.Solution: For "gP" reset the "coladd" field for the'] mark. For "c" leave the cursor on the last inserted character.Files: src/ops.cPatch 6.0.040Problem: When'fileencoding'is invalid andwriting fails because of this, the original fileis gone. (Eric Carlier)Solution: Restore the original file from the backup.Files: src/fileio.cPatch 6.0.041Problem: Using ":languagemessages en" when LC_MESSAGESis undefined results in setting LC_CTYPE. (Eric Carlier)Solution: Set $LC_MESSAGES instead.Files: src/ex_cmds2.cPatch 6.0.042Problem: ":mksession" can't handle file names witha space.Solution: Escape special characters in file names witha backslash.Files: src/ex_docmd.cPatch 6.0.043Problem: Patch 6.0.041 was wrong.Solution: Use mch_getenv() instead of vim_getenv().Files: src/ex_cmds2.cPatch 6.0.044Problem: Usinga "containedin"list forasyntax item doesn't work for an item that doesn't havea "contains" argument. Also, "containedin" doesn't ignorea transparent item. (Timo Frenay)Solution: When thereisa "containedin" argument somewhere, always check for contained items. Don't check for the transparent item but the item it's contained in.Files: src/structs.h, src/syntax.cPatch 6.0.045Problem: After creatinga fold withaVisual selection, anotherwindow with the same buffer still has inverted text. (Sami Salonen)Solution: Redraw the inverted text.Files: src/normal.cPatch 6.0.046Problem: When getrlimit() returns an 8 byte number the check for running out of stack may fail. (Anthony Meijer)Solution: Skip the stack check if the limit doesn't fit ina long.Files: src/auto/configure, src/config.h.in, src/configure.in, src/os_unix.cPatch 6.0.047Problem: Usingaregexp with "\(\)" insidea "\%[]" item causesa crash. (Samuel Lacas)Solution: Don't allow nested atoms inside "\%[]".Files: src/regexp.cPatch 6.0.048Problem: Win32: In the console the mouse doesn't always work correctly. Sometimes after getting focusa mousemovementis interpreted likea button click.Solution: Usea different function to obtain the number of mouse buttons. Avoid recognizinga button press from undefined bits. (Vince Negri)Files: src/os_win32.cPatch 6.0.049Problem: When usingevim theintro screenis misleading. (Adrian Nagle)Solution: Mention whether'insertmode'is set and themenus to be used.Files: runtime/menu.vim, src/version.cPatch 6.0.050Problem: UTF-8: "viw" doesn't include non-ASCII characters before the cursor. (Bertilo Wennergren)Solution: Use dec_cursor() instead of decrementing the column number.Files: src/search.cPatch 6.0.051Problem: UTF-8: UsingCTRL-R on the command line doesn'tinsert composing characters. (Ron Aaron)Solution: Also include the composing characters and fix redrawing them.Files: src/ex_getln.c, src/ops.cPatch 6.0.052Problem: The check for rlim_t in patch 6.0.046 does not work on some systems. (Zdenek Sekera)Solution: Also look in sys/resource.h for rlim_t.Files: src/auto/configure, src/configure.inPatch 6.0.053 (extra)Problem: Various problems with QNX.Solution: Minor fix for configure. Switch onterminalclipboard support in main.c. Fix "pterm" mouse support. os_qnx.c didn't build without photon. (Julian Kinraid)Files: src/auto/configure, src/configure.in, src/gui_photon.c, src/main.c, src/misc2.c, src/option.h, src/os_qnx.c, src/os_qnx.h, src/syntax.cPatch 6.0.054Problem: When using mswin.vim,CTRL-V pastesa block of text likeitis normal text. UsingCTRL-V in blockwiseVisual mode leaves "x" characters behind.Solution: MakeCTRL-V workasit should. Do the same for the Paste menu entries.Files: runtime/menu.vim, runtime/mswin.vimPatch 6.0.055Problem: GTK: The selection isn't copied the first time.Solution: Own the selectionat the right moment.Files: src/gui_gtk_x11.cPatch 6.0.056Problem: Using "CTRL-Ocw" inInsert mode results ina nestedInsert mode.<Esc> doesn't leaveInsert mode then.Solution: Only use nestedInsert mode when'insertmode'is set or whenamappingis used.Files: src/normal.cPatch 6.0.057Problem: Using ":wincmd g}" ina function doesn't work. (Gary Holloway)Solution: Execute the command directly, instead of puttingit in the typeahead buffer.Files: src/normal.c, src/proto/normal.pro, src/window.cPatch 6.0.058Problem: Whena Cursorholdautocommand moved the cursor, the ruler wasn't updated. (Bohdan Vlasyuk)Solution: Update the ruler after executing the autocommands.Files: src/gui.cPatch 6.0.059Problem: Highlighting for'hlsearch' isn't visible in lines that are highlighted fordiff highlighting. (Gary Holloway)Solution: Let'hlsearch' highlighting overrulediff highlighting.Files: src/screen.cPatch 6.0.060Problem: Motif: When the tooltipis to be popped up, Vim crashes. (Gary Holloway)Solution: Check fora NULL return value from gui_motif_fontset2fontlist().Files: src/gui_beval.cPatch 6.0.061Problem: The toolbar buttons to load and savea sessiondo not correctly use v:this_session.Solution: Check forv:this_session to be empty instead of existing.Files: runtime/menu.vimPatch 6.0.062Problem: Crash when'verbose'is> 3 and using ":shell". (Yegappan Lakshmanan)Solution: Avoid givinga NULL pointer to printf(). Also outputa newline and switch the cursor on.Files: src/misc2.cPatch 6.0.063Problem: When'cpoptions' includes "$", using "cw" to typea ')' on top of the "$" doesn't updatesyntax highlighting after it.Solution: Stop displaying the "$" when typinga ')' in its position.Files: src/search.cPatch 6.0.064 (extra)Problem: The NSISinstallscript doesn't work with newer versions of NSIS. Thediff feature doesn't work when there isn'ta good diff.exe on the system.Solution:Replace the GetParentDir instruction bya user function. Fixa few cosmetic problems. Use defined constants for the version number, so that it's defined in one place only. Only accept theinstall directory whenit ends in "vim". (Eduardo Fernandez) Adda diff.exe and useit from the default _vimrc.Files: nsis/gvim.nsi, nsis/README.txt, src/dosinst.cPatch 6.0.065Problem: When using ":normal" in'indentexpr'it may useredo characters before its argument. (Neil Bird)Solution: Save and restore the stuff buffer in ex_normal().Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.hPatch 6.0.066Problem: Sometimesundo for one commandis split into twoundo actions. (Halim Salman)Solution: Don't set the undo-synced flag when reusinga line that was already saved for undo.Files: src/undo.cPatch 6.0.067Problem: if_xcmdsrv.c doesn't compile on systems where fd_set isn't defined in the usual header file (e.g., AIX). (Mark Waggoner)Solution: Include sys/select.h in if_xcmdsrv.c for systems that have it.Files: src/if_xcmdsrv.cPatch 6.0.068Problem: Whenformattinga Visually selected area with "gq" and the number of lines increases the last line may not be redrawn correctly. (Yegappan Lakshmanan)Solution: Correct the area to be redrawn for inserted/deleted lines.Files: src/ops.cPatch 6.0.069Problem: Using "K" onaword that includesa "!" causesa "No previous command" error, because the "!"is expanded. (Craig Jeffries)Solution: Putabackslash before the "!".Files: src/normal.cPatch 6.0.070Problem: Win32: The error message fora failed dynamic linking ofa Perl, Ruby,Tcl andPython libraryis unclear about what went wrong.Solution: Give the name of the library or function that could not be loaded. Also for the iconv and gettext libraries when'verbose'is set.Files: src/eval.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/if_perl.pro, src/proto/if_python.pro, src/proto/if_ruby.pro, src/proto/if_tcl.pro, src/proto/mbyte.proPatch 6.0.071Problem: The "iris-ansi" builtintermcap isn't very good.Solution: Fix the wrong entries. (David Harrison)Files: src/term.cPatch 6.0.072Problem: When'lazyredraw'is set,amapping that stopsVisual mode, moves the cursor and startsVisual mode again causesa redraw problem. (Brian Silverman)Solution: Redraw both the old and the newVisual area when necessary.Files: src/normal.c, src/screen.cPatch 6.0.073 (extra)Problem: DJGPP: When usingCTRL-Z to starta shell, the promptis halfway the text. (Volker Kiefel)Solution: Position the system cursor beforestarting the shell.Files: src/os_msdos.cPatch 6.0.074Problem: When using "&" ina substitutestringamultibyte character witha trailbyte 0x5cis not handled correctly.Solution: Recognizemultibyte characters inside the "&" part. (Muraoka Taro)Files: src/regexp.cPatch 6.0.075Problem: When closinga horizontally splitwindow while'eadirection'is "hor" another horizontally splitwindowis still resized. (Aron Griffis)Solution: Only resizewindows in the same top frameas thewindow thatis split or closed.Files: src/main.c, src/proto/window.pro, src/window.cPatch 6.0.076Problem: Warning for wrong pointer type when compiling.Solution: Use char instead of char_u pointer.Files: src/version.cPatch 6.0.077Problem: Patch 6.0.075 was incomplete.Solution: Fix another call to win_equal().Files: src/option.cPatch 6.0.078Problem: Using "daw"at theend ofa line ona single-characterword didn't include the whitespace before it. At theend of the fileit didn't workat all. (Gavin Sinclair)Solution: Include the whitespace before the word.Files: src/search.cPatch 6.0.079Problem: When "W"is in'cpoptions' and'backupcopy'is "no" or "auto", can still overwritea read-only file, because it's renamed. (Gary Holloway)Solution: Adda check fora read-only file before renaming the file to become the backup.Files: src/fileio.cPatch 6.0.080Problem: When usinga session file that has the same file in two windows, the fileinfo() call in do_ecmd() causesa scroll andahit-enter prompt. (Robert Webb)Solution: Don't scroll this message when'shortmess' contains 'O'.Files: src/ex_cmds.cPatch 6.0.081Problem: After using ":saveas" the new buffer nameis added to the Buffers menu witha wrong number. (Chauk-Mean Proum)Solution: TriggerBufFilePre andBufFilePost events for the renamed buffer andBufAdd for the old name (whichis witha new buffer).Files: src/ex_cmds.cPatch 6.0.082Problem: When swapping screens in an xterm and thereis an (error) message from thevimrc script, the shell promptis after the message.Solution: Outputa newline when there was output on the alternate screen. Also whenstarting the GUI.Files: src/main.cPatch 6.0.083Problem: GTK: When compiled without menu support the buttons inadialog don't have any text. (Erik Edelmann)Solution: Add the text also when GTK_USE_ACCEL isn't defined. And define GTK_USE_ACCEL also when not using menus.Files: src/gui_gtk.cPatch 6.0.084Problem: UTF-8:a "r" command with an argument thatisa keymap fora character witha composing character can't be repeated with ".". (Raphael Finkel)Solution: Add the composing characters to theredo buffer.Files: src/normal.cPatch 6.0.085Problem: When'mousefocus'is set, using "s" togo toInsert mode and then moving the mouse pointer to anotherwindow stopsInsert mode, while this doesn't happen with "a" or "i". (Robert Webb)Solution: Reset finish_op before calling edit().Files: src/normal.cPatch 6.0.086Problem: When using "gu" the message says "~ed".Solution: Make the message say "changed".Files: src/ops.cPatch 6.0.087 (lang)Problem: Message translations are incorrect, which may causea crash. (Peter Figura) The Turkish translations needed more work and the maintainer didn't have time.Solution: Fix order of printf arguments. Remove %2$d constructs. Add "-v" to msgfmt to geta warning for wrong translations. Don'tinstall the Turkish translations for now. Updatea few more translations.Files: src/po/Makefile, src/po/af.po, src/po/cs.po, src/po/cs.cp1250.po, src/po/de.po, src/po/es.po, src/po/fr.po, src/po/it.po, src/po/ja.po, src/po/ja.sjis.po, src/po/ko.po, src/po/pl.po, src/po/sk.po, src/po/uk.po, src/po/zh_CN.UTF-8.po, src/po/zh_CN.cp936.po, src/po/zh_CN.po, src/po/zh_TW.poPatch 6.0.088Problem: "." doesn't work after using "rx" inVisual mode. (Charles Campbell)Solution: Also store the replacement character in theredo buffer.Files: src/normal.cPatch 6.0.089Problem: InaC file, using "==" to aligna linestarting with "* " aftera line with "*-" indents onespace too few. (Piet Delport)Solution: Align with the previous line if the comment-start-string matches there.Files: src/misc1.cPatch 6.0.090Problem: Whena wrapping line does not fit inawindow and'scrolloff'is bigger than half thewindow height, moving the cursor left or right causes the screen to flash badly. (Lubomir Host)Solution: When thereis not enough room to show'scrolloff' screen lines and near theend of the line, show theend of the line.Files: src/move.cPatch 6.0.091Problem: UsingCTRL-O inInsert mode, while'virtualedit'is "all" and the cursoris after the end-of-line, moves the cursor left. (Yegappan Lakshmanan)Solution: Keep the cursor in the same position.Files: src/edit.cPatch 6.0.092Problem: The explorerplugin doesn't ignorecase of'suffixes' on MS-Windows. (Mike Williams)Solution: Match or ignorecaseas appropriate for the OS.Files: runtime/plugin/explorer.vimPatch 6.0.093Problem: When theTcl library couldn't be loaded dynamically, get an error message when closinga buffer or window. (Muraoka Taro)Solution: Only free structures if already using theTcl interpreter.Files: src/if_tcl.cPatch 6.0.094Problem: Athena: When clicking in the horizontal scrollbar Vim crashes. (Paul Ackersviller)Solution: Use the thumb size instead of thewindow pointer of the scrollbar (whichis NULL). (David Harrison) Also avoid thatscrolling goes the wrong way ina narrow window.Files: src/gui_athena.cPatch 6.0.095Problem: Perl: Deleting lines may leave the cursor beyond theend of the file.Solution: Check the cursor position afterdeletinga line. (Serguei)Files: src/if_perl.xsPatch 6.0.096Problem: When ":saveas fname" fails because the file already exists, the file nameis changed anyway anda following ":w" will overwrite the file. (Eric Carlier)Solution: Don't change the file name if the file already exists.Files: src/ex_cmds.cPatch 6.0.097Problem: Re-indenting inInsert mode withCTRL-F may causea crash withamultibyte encoding.Solution: Avoid usinga character before the start ofa line. (Sergey Vlasov)Files: src/edit.cPatch 6.0.098Problem: GTK: When usingGnome the "Search" and "Search andReplace"dialog boxes are not translated.Solution: Define ENABLE_NLS before including gnome.h. (Eduardo Fernandez)Files: src/gui_gtk.c, src/gui_gtk_x11.cPatch 6.0.099Problem: Cygwin: When runningVi compatibleMS-DOS line endings cause trouble.Solution: Make the default for'fileformats' "unix,dos" inVi compatible mode. (Michael Schaap)Files: src/option.hPatch 6.0.100Problem: ":badd +0 test%file" causesa crash.Solution: Take into account that the "+0"is NUL terminated when allocating room forreplacing the "%".Files: src/ex_docmd.cPatch 6.0.101Problem: ":mksession" doesn't restore editinga file that hasa '#' or '%' in its name. (Wolfgang Blankenburg)Solution: Putabackslash before the '#' and '%'.Files: src/ex_docmd.cPatch 6.0.102Problem: Whenchangingfolds the cursor may appear halfwaya closed fold. (Nam SungHyun)Solution: Set w_cline_folded correctly. (Yasuhiro Matsumoto)Files: src/move.cPatch 6.0.103Problem: When using'scrollbind'a large value of'scrolloff' will make the scroll binding stop near theend of the file. (Coen Engelbarts)Solution: Don't use'scrolloff' when limiting the topline for scroll binding. (Dany StAmant)Files: src/normal.cPatch 6.0.104Problem: Multi-byte: When '$'is in'cpoptions', typinga double-wide character that overwrites the left half of an old double-wide character causesa redraw problem and the cursor stops blinking.Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)Files: src/edit.c, src/screen.cPatch 6.0.105Problem: Multi-byte: Inawindow of one column wide, withsyntax highlighting enableda crash might happen.Solution: Skip getting thesyntax attribute when the character doesn't fit anyway. (Yasuhiro Matsumoto)Files: src/screen.cPatch 6.0.106 (extra)Problem: Win32: When the printer fontis wrong, thereis no error message.Solution: Give an appropriate error message. (Yasuhiro Matsumoto)Files: src/os_mswin.cPatch 6.0.107 (extra)Problem: VisVim: When editing another file,a modified file may be written unexpectedly and without warning.Solution: Split thewindow ifa file was modified.Files: VisVim/Commands.cppPatch 6.0.108Problem: When usingfolding could try displaying line zero, resulting in an error fora NULL pointer.Solution: Stop decrementing w_topline when the first line ofawindowis ina closed fold.Files: src/window.cPatch 6.0.109Problem: XIM: When the inputmethodis enabled,repeating an insertion with "." disables it. (Marcel Svitalsky)Solution: Don't store the inputmethod status whena command comes from the stuff buffer.Files: src/ui.cPatch 6.0.110Problem: Usingundo after executing "OxjAxkdd" froma register in an empty buffer gives an error message. (Gerhard Hochholzer)Solution: Don't adjust the bottom line number of anundo block when it's zero. Adda test for this problem.Files: src/undo.c, src/testdir/test20.in, src/testdir/test20.okPatch 6.0.111Problem: Thevirtcol() function doesn't take care of'virtualedit'.Solution: Add the column offset when needed. (Yegappan Lakshmanan)Files: src/eval.cPatch 6.0.112Problem: The explorerplugin doesn't sort directories withaspace or special character aftera directory witha shorter name.Solution: Ignore the trailing slash when comparing directory names. (Mike Williams)Files: runtime/plugin/explorer.vimPatch 6.0.113Problem: ":edit ~/fname" doesn't work if$HOME includesa space. Also, expandingwildcards with the shell may fail. (John Daniel)Solution: Escape spaces withabackslash when needed.Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/os_unix.cPatch 6.0.114Problem: Using ":p" withfnamemodify() didn't expand "~/" or "~user/" toa full path. ForWin32 the current directory was prepended. (Michael Geddes)Solution: Expand thehome directory.Files: src/eval.cPatch 6.0.115 (extra)Problem: Win32: When usingadialog witha textfieldit cannot scroll the text.Solution: Add ES_AUTOHSCROLL to the textfield style. (Pedro Gomes)Files: src/gui_w32.cPatch 6.0.116 (extra)Problem:MS-Windows NT/2000/XP:filewritable() doesn't work correctly for filesystems that use ACLs.Solution: UseACLfunctions to check ifa fileis writable. (Mike Williams)Files: src/eval.c, src/macros.h, src/os_win32.c, src/proto/os_win32.proPatch 6.0.117 (extra)Problem: Win32: when disabling the menu, "set lines=999" doesn't use all the available screen space.Solution: Don't subtract the fixed caption height but the real menu height from the available screen space. Also: Avoid recursion in gui_mswin_get_menu_height().Files: src/gui_w32.c, src/gui_w48.cPatch 6.0.118Problem: When $TMPDIRisa relative path, the temp directoryis missinga trailing slash and isn't deleted when Vim exits. (Peter Holm)Solution: Add the slash after expanding the directory to an absolute path.Files: src/fileio.cPatch 6.0.119 (depends on patch 6.0.116)Problem: VMS:filewritable() doesn't work properly.Solution: Use the samemethodas for Unix. (Zoltan Arpadffy)Files: src/eval.cPatch 6.0.120Problem: The conversion to html isn't compatible with XHTML.Solution: Quote the values. (Jess Thrysoee)Files: runtime/syntax/2html.vimPatch 6.0.121 (extra) (depends on patch 6.0.116)Problem: Win32: After patch 6.0.116 Vim doesn't compile with mingw32.Solution: Add an #ifdef HAVE_ACL.Files: src/os_win32.cPatch 6.0.122 (extra)Problem: Win16: Same resize problemsas patch 6.0.117 fixed for Win32. Anddialog textfield problem from patch 6.0.115.Solution: Set old_menu_height only when used. Add ES_AUTOHSCROLL flag. (Vince Negri)Files: src/gui_w16.cPatch 6.0.123 (depends on patch 6.0.119)Problem: Win16: Compilation problems.Solution: Move "&&" to other lines. (Vince Negri)Files: src/eval.cPatch 6.0.124Problem: When usinga ":substitute" command that starts with "\=" (evaluatedas an expression), "~" was still replaced with the previous substitute string.Solution: Skip the replacement when the substitutestring starts with "\=". Also adjust the documentation about doubling backslashes.Files: src/ex_cmds.c, runtime/doc/change.txtPatch 6.0.125 (extra)Problem: Win32: When using the multi_byte_ime feature pressing theshift key would be handledas ifa character was entered, thus mappings witha shifted key didn't work. (Charles Campbell)Solution: Ignore pressing the shift,control andalt keys.Files: src/os_win32.cPatch 6.0.126Problem: Thepython library was always statically linked.Solution: Link thepython library dynamically. (Matthias Klose)Files: src/auto/configure, src/configure.inPatch 6.0.127Problem: When usingaterminal that swaps screens and theNormal background color hasa different background, using an external command may cause the color of the wrong screen to be changed. (Mark Waggoner)Solution: Don't call screen_stop_highlight() in stoptermcap().Files: src/term.cPatch 6.0.128Problem: When movinga vertically splitwindow to the far left or right, the scrollbars are not adjusted. (ScottE Lee) When'mousefocus'is set the mouse pointer wasn't adjusted.Solution: Adjust the scrollbars and the mouse pointer.Files: src/window.cPatch 6.0.129Problem: When usinga very long file name, ":ls" (repeateda few times) causesa crash. Test with "vim `perl-e 'print "A"x1000'`". (Tejeda)Solution: Terminateastring before getting its length in buflist_list().Files: src/buffer.cPatch 6.0.130Problem: When using ":cprev" while the errorwindowis open, and the new lineat the top wraps, thewindow isn't correctly drawn. (Yegappan Lakshmanan)Solution: When redrawing the topline don't scroll twice.Files: src/screen.cPatch 6.0.131Problem: When usingbufname() and there are two matches for listedbuffers and one match for an unlisted buffer, the unlisted bufferis used. (Aric Blumer)Solution: When thereisa match witha listed buffer, don't check for unlisted buffers.Files: src/buffer.cPatch 6.0.132Problem: When setting'iminsert' in thevimrc and using an xterm with two screens the ruleris drawn in the wrong screen. (Igor Goldenberg)Solution: Only draw the ruler when using the right screen.Files: src/option.cPatch 6.0.133Problem: When opening another buffer while'keymap'is set and'iminsert'is zero,'iminsert'is set to one unexpectedly. (Igor Goldenberg)Solution: Don't set'iminsert'asa side effect of defininga ":lmap" mapping. Onlydo that when'keymap'is set.Files: src/getchar.c, src/option.cPatch 6.0.134Problem: When completing ":set tags="a path with an embeddedspace causes the completion to stop. (Sektor van Skijlen)Solution: Escape spaces with backslashes, like for ":set path=". Also take backslashes into account when searching for the start of the path to complete (e.g., for'backupdir' and'cscopeprg').Files: src/ex_docmd.c, src/ex_getln.c, src/option.c, src/structs.hPatch 6.0.135Problem: Menus that are not supposed todo anything used "<Nul>", which still produced an error beep. WhenCTRL-Ois mapped forInsert mode, ":amenu" commands didn't work inInsert mode. Menu language falls back to English when $LANG ends in "@euro".Solution: Use "<Nop>" fora menu item that doesn'tdo anything, just like mappings. Use ":anoremenu" instead of ":amenu". Ignore "@euro" in thelocale name.Files: runtime/makemenu.vim, runtime/menu.vim, src/menu.cPatch 6.0.136Problem: When completing inInsert mode,amapping could be unexpectedly applied.Solution: Don't use mappings when checking fora typed character.Files: src/edit.cPatch 6.0.137Problem: GUI: When using the find or find/replacedialog fromInsert mode, the input modeis stopped.Solution: Don't use the inputmethod status when the mainwindow doesn't have focus.Files: src/ui.cPatch 6.0.138Problem: GUI: When using the find or find/replacedialog fromInsert mode, the textis inserted whenCTRL-Ois mapped. (Andre Pang) When opening thedialog again,a wholeword search isn't recognized. When doing "replace all"a wholeword search was never done.Solution: Don'tputa search or replace command in the input buffer, executeit directly. Recognize "\<" and "\>" after removing "\V". Add "\<" and "\>" also for "replace all".Files: src/gui.cPatch 6.0.139Problem: When stopping'wildmenu' completion, the statusline of the bottom-left vertically splitwindow isn't redrawn. (Yegappan Lakshmanan)Solution: Redraw all the bottom statuslines.Files: src/ex_getln.c, src/proto/screen.pro, src/screen.cPatch 6.0.140Problem: Memory allocated for local mappings andabbreviationsis leaked when the bufferis wiped out.Solution: Clear the local mappings whendeletinga buffer.Files: src/buffer.c, src/getchar.c, src/proto/getchar.pro, src/vim.hPatch 6.0.141Problem: When using ":enew" in an empty buffer, some buffer-local things are not cleared. b:keymap_nameis not set.Solution: Clear user commands and mappings local to the buffer when re-using the current buffer. Reload the keymap.Files: src/buffer.cPatch 6.0.142Problem: WhenPythonis linked statically, loading dynamic extensions might fail.Solution: Add an extra linking flag when needed. (Andrew Rodionoff)Files: src/configure.in, src/auto/configurePatch 6.0.143Problem: Whenasyntax item includesa line break ina pattern, thesyntax may not be updated properly when makinga change.Solution: Add the "linebreaks" argument to ":syn sync".Files: runtime/doc/syntax.txt, src/screen.c, src/structs.h, src/syntax.cPatch 6.0.144Problem: After patch 6.0.088 redoing "veU" doesn't work.Solution: Don't add the "U" to theredo buffer,it will be usedas anundo command.Files: src/normal.cPatch 6.0.145Problem: When Vim can't read any inputit might get stuck. When redirecting stdin and stderr Vim would not read commands froma file. (Servatius Brandt)Solution: When repeatedly trying to reada character when it's not possible, exit Vim. When stdin and stderr are nota tty, still try reading from them, but don'tdoa blocking wait.Files: src/ui.cPatch 6.0.146Problem: When'statusline' contains "%{'-'}" this results ina zero. (Milan Vancura)Solution: Don't handle numbers witha minusasa number, they were not displayed anyway.Files: src/buffer.cPatch 6.0.147Problem: It's noteasy tomarkaVim version as being modified. The newlicense requires this.Solution: Add the --modified-by argument to configure and the MODIFIED_BY define. It's used in theintro screen and the ":version" output.Files: src/auto/configure, src/configure.in, src/config.h.in, src/feature.h, src/version.cPatch 6.0.148Problem: After "p" in an empty line,`[ goes to the second character. (Kontra Gergely)Solution: Don't increment the column number in an empty line.Files: src/ops.cPatch 6.0.149Problem: Thepattern "\(.\{-}\)*" causesa hang. When usinga searchpattern that causesa stack overflow to be detected Vim could still hang.Solution: Correctly report "operand could be empty" when using "\{-}". Check for "out_of_stack" inside loops to avoida hang.Files: src/regexp.cPatch 6.0.150Problem: When usingamultibyte encoding, patch 6.0.148 causes "p" to work like "P". (Sung-Hyun Nam)Solution: Compute the byte length ofamultibyte character.Files: src/ops.cPatch 6.0.151Problem: Redrawing the status line and ruler can be wrong whenit containsmultibyte characters.Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)Files: src/screen.cPatch 6.0.152Problem:strtrans() could hang on an illegalUTF-8 byte sequence.Solution: Skip over illegal bytes. (Yasuhiro Matsumoto)Files: src/charset.cPatch 6.0.153Problem: When using (illegal) double-byte characters and Vimsyntax highlighting Vim can crash. (Yasuhiro Matsumoto)Solution: Increasea pointer overa character instead ofa byte.Files: src/regexp.cPatch 6.0.154Problem:MS-DOS and MS-Windows: The menu entries for xxd don't work when thereis no xxd in the path. When converting back from Hex thefiletype may remain "xxd" ifitis not detected.Solution: When xxdis not in the path use the one in the runtime directory, where theinstall program hasput it. Clear the'filetype' option before detecting the new value.Files: runtime/menu.vimPatch 6.0.155Problem: Mac: compilation problems in ui.c after patch 6.0.145. (Axel Kielhorn)Solution: Don't call mch_inchar() when NO_CONSOLEis defined.Files: src/ui.cPatch 6.0.156Problem: Starting Vim with the-b argument and two files, ":next" doesn't set'binary' in the second file, like Vim 5.7. (Norman Diamond)Solution: Set the global value for'binary'.Files: src/option.cPatch 6.0.157Problem: When defininga user command with "-complete=dir" files will also be expanded. Also, "-complete=mapping" doesn't appear to work. (Michael Naumann)Solution: Use the expansion flags defined with the user command. Handle expanding mappings specifically.Files: src/ex_docmd.cPatch 6.0.158Problem: When getting the warning fora file being changed outside of Vim and reloading the file, the'readonly' optionis reset, even when the permissions didn't change. (Marcel Svitalsky)Solution: Keep'readonly' set when reloadinga file and the permissions didn't change.Files: src/fileio.cPatch 6.0.159Problem: Wildcard expansion for ":emenu" also shows separators.Solution: Skip menu separators for ":emenu", ":popup" and ":tearoff". Also, don't handle ":tmenu"as ifit was ":tearoff". And leave out the alternatives with "&" included.Files: src/menu.cPatch 6.0.160Problem: When compiling with GCC 3.0.2 and using the "-O2" argument, the optimizer causesa problem that makes Vim crash.Solution: Adda configure check to avoid "-O2" for this version of gcc.Files: src/configure.in, src/auto/configurePatch 6.0.161 (extra)Problem: Win32: Bitmaps don't work with signs.Solution: Makeit possible to use bitmaps with signs. (Muraoka Taro)Files: src/ex_cmds.c, src/feature.h, src/gui_w32.c, src/gui_x11.c, src/proto/gui_w32.pro, src/proto/gui_x11.proPatch 6.0.162Problem: Client-server: An error message fora wrongexpression appears in the server instead of the client.Solution: Pass the error message from the server to the client. Also adjust the example code. (Flemming Madsen)Files: src/globals.h, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, src/proto/if_xcmdsrv.pro, src/proto/os_mswin.pro, runtime/doc/eval.txt, runtime/tools/xcmdsrv_client.cPatch 6.0.163Problem: When usingaGUI dialog,a file nameis sometimes used likeit wasa directory.Solution: Separate path and file name properly. For GTK,Motif and Athena concatenate directory and file name for the default selection.Files: src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, src/message.cPatch 6.0.164Problem: After patch 6.0.135 the menu entries for pasting don't work inInsert andVisual mode. (Muraoka Taro)Solution: Add<script> to allowscript-local mappings.Files: runtime/menu.vimPatch 6.0.165Problem: Using--remote and executing locally gives unavoidable error messages.Solution: Add--remote-silent and--remote-wait-silent to silently execute locally. ForWin32 there was no error message whena server didn't exist.Files: src/eval.c, src/if_xcmdsrv.c, src/main.c, src/os_mswin.c, src/proto/if_xcmdsrv.pro, src/proto/os_mswin.proPatch 6.0.166Problem: GUI: Thereis no way to avoid dialogs to pop up.Solution: Add the 'c' flag to'guioptions': Use console dialogs. (Yegappan Lakshmanan)Files: runtime/doc/options.txt, src/option.h, src/message.cPatch 6.0.167Problem: When'fileencodings'is "latin2" some characters in thehelp files are displayed wrong.Solution: Force the'fileencoding' for thehelp files to be "latin1".Files: src/fileio.cPatch 6.0.168Problem: ":%s/\n/#/" doesn't replaceat an empty line. (Bruce DeVisser)Solution: Don't skip matches after joining two lines.Files: src/ex_cmds.cPatch 6.0.169Problem: When runasevim and theGUI can't be started we get stuck inaterminal withoutmenus inInsert mode.Solution: Exit when using "evim" and "gvim-y" when theGUI can't be started.Files: src/main.cPatch 6.0.170Problem: Whenprinting double-width characters the size of tabs after themis wrong. (Muraoka Taro)Solution: Correctly compute the column aftera double-width character.Files: src/ex_cmds2.cPatch 6.0.171Problem: With'keymodel' including "startsel", inInsert mode after theend ofa line, shift-Left does not move the cursor. (Steve Hall)Solution:CTRL-O doesn't move the cursor left, need todo that explicitly.Files: src/edit.cPatch 6.0.172Problem:CTRL-Q doesn't replaceCTRL-V afterCTRL-X inInsert mode whileit does in most other situations.Solution: MakeCTRL-XCTRL-Q work likeCTRL-XCTRL-V inInsert mode.Files: src/edit.cPatch 6.0.173Problem: When using "P" toinserta line break the cursor remains past theend of the line.Solution: Check for the cursor being beyond theend of the line.Files: src/ops.cPatch 6.0.174Problem: After using "gd" or "gD" the search direction for "n" may still be backwards. (Servatius Brandt)Solution: Reset the search direction to forward.Files: src/normal.c, src/search.c, src/proto/search.proPatch 6.0.175Problem: ":help/\z(\)" doesn't work. (Thomas Koehler)Solution: Double the backslashes.Files: src/ex_cmds.cPatch 6.0.176Problem: When killed bya signalautocommands are still triggeredas if nothing happened.Solution: Add thev:dying variable to allowautocommands to work differently whena deadly signal has been trapped.Files: src/eval.c, src/os_unix.c, src/vim.hPatch 6.0.177Problem: When'commentstring'is empty and'foldmethod'is "marker", "zf" doesn't work. (Thomas S. Urban)Solution: Add the marker even when'commentstring'is empty.Files: src/fold.c, src/normal.cPatch 6.0.178Problem: Uninitialized memory read from xp_backslash field.Solution: Initialize xp_backslash field properly.Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/tag.cPatch 6.0.179Problem: Win32: When displayingUTF-8 characters may read uninitialized memory.Solution: Add utfc_ptr2len_check_len() to avoid reading past theend ofa string.Files: src/mbyte.c, src/proto/mbyte.pro, src/gui_w32.cPatch 6.0.180Problem: Expanding environmentvariables inastring that ends inabackslash couldgo past theend of the string.Solution: Detect the trailing backslash.Files: src/misc1.cPatch 6.0.181Problem: When using ":cd dir" memory was leaked.Solution: Free the allocated memory. Also avoid an uninitialized memory read.Files: src/misc2.cPatch 6.0.182Problem: When usingaregexp onmultibyte characters, could try to reada character before the start of the line.Solution: Don't decrementa pointer to before the start of the line.Files: src/regexp.cPatch 6.0.183Problem: Leaking memory when ":func!" redefinesa function.Solution: Free the function name when it's not used.Files: src/eval.cPatch 6.0.184Problem: Leaking memory when expanding option values.Solution: Don't always copy the expanded option into allocated memory.Files: src/option.cPatch 6.0.185Problem: Crash in Vim when pastinga selection in another application, ona 64 bit machine.Solution: Fix the format for an Atom to 32 bits. (Peter Derr)Files: src/ui.cPatch 6.0.186Problem: X11: Three warnings when compiling theclient-server code.Solution: Adda typecast to unsigned char.Files: src/if_xcmdsrv.cPatch 6.0.187Problem: "I" inVisual mode and then "u" reports too many changes. (Andrew Stryker) "I" inVisuallinewise mode adjusts the indent for no apparent reason.Solution: Only save those lines forundo that are changed. Don't change the indent afterinserting inVisuallinewise mode.Files: src/ops.cPatch 6.0.188Problem: Win32: After patch 6.0.161signs defined in thevimrc file don't work.Solution: Initialize the sign icons after initializing the GUI. (Vince Negri)Files: src/gui.c, src/gui_x11.cPatch 6.0.189Problem: The size of theVisual area isn't always displayed whenscrolling ('ruler' off,'showcmd' on). Also not when usinga search command. (Sylvain Hitier)Solution: Redisplay the size of the selection after showing the mode.Files: src/screen.cPatch 6.0.190Problem: GUI: when'mouse'is emptya click with the middle button still moves the cursor.Solution: Pasteat the cursor position instead of the mouse position.Files: src/normal.cPatch 6.0.191Problem: When no servers are availableserverlist() gives an error instead of returning an empty string. (Hari Krishna)Solution: Don't give an error message.Files: src/eval.cPatch 6.0.192Problem: When'virtualedit'is set, "ylj" goes to the wrong column. (Andrew Nikitin)Solution: Reset the flag that w_virtcolis valid when moving the cursor back to the start of the operated area.Files: src/normal.cPatch 6.0.193Problem: When'virtualedit'is set, col(".") after theend of the line should return one extra.Solution: Add one to the column.Files: src/eval.cPatch 6.0.194Problem: "--remote-silent" tries to senda reply to the client, likeit was "--remote-wait".Solution: Properly check for the argument.Files: src/main.cPatch 6.0.195Problem: When'virtualedit'is set anda search starts in virtualspace ":call search('x')" goes to the wrong position. (Eric Long)Solution: Reset coladd when findinga match.Files: src/search.cPatch 6.0.196Problem: When'virtualedit'is set,'selection'is "exclusive" and visually selecting part ofatabat the start ofa line, "x" joinsit with the previous line. Also, when the selection spans more than one line the wholetabis deleted.Solution: Take coladd into account when adjusting for'selection' being "exclusive". Also expandatab into spaces whendeleting more than one line.Files: src/normal.c, src/ops.cPatch 6.0.197Problem: When'virtualedit'is set and'selection'is "exclusive", "v$x" doesn't delete the last character in the line. (Eric Long)Solution: Don't reset theinclusive flag. (Helmut Stiegler)Files: src/normal.cPatch 6.0.198Problem: When'virtualedit'is set and'showbreak'is not empty, moving the cursor over the line break doesn't work properly. (Eric Long)Solution: Make getviscol() and getviscol2() use getvvcol() to obtain the virtual cursor position. Adjust coladvance() and oneleft() to skip over the'showbreak' characters.Files: src/edit.c, src/misc2.cPatch 6.0.199Problem: Multi-byte: could useiconv() after calling iconv_end(). (Yasuhiro Matsumoto)Solution: Stop converting input and output stream after calling iconv_end().Files: src/mbyte.cPatch 6.0.200Problem:Ascript that starts with "#!perl" isn't recognizedasaPerl filetype.Solution: Ignorea missing path inascript header. Also, speed up recognizing scripts by simplifying the patterns used.Files: runtime/scripts.vimPatch 6.0.201Problem: When scrollbinding and doinga long jump, switchingwindows jumps to another position in the file. Scrollinga few linesata timeis OK. (Johannes Zellner)Solution: When setting w_topline reset the flag that indicates w_botlineis valid.Files: src/diff.cPatch 6.0.202Problem: The "icon=" argument for the menu command to definea toolbar icon witha file didn't work for GTK. (Christian J. Robinson) ForMotif and Athenaa full path was required.Solution: Search the icon file using the specified path. Expand environmentvariables in the file name.Files: src/gui_gtk.c, src/gui_x11.cPatch 6.0.203Problem: Can change'fileformat' even though'modifiable'is off. (Servatius Brandt)Solution: Correct check for kind of set command.Files: src/option.cPatch 6.0.204Problem: ":unlet" doesn't work forvariables with curly braces. (Thomas Scott Urban)Solution: Handle variable names with curly braces properly. (Vince Negri)Files: src/eval.cPatch 6.0.205 (extra)Problem: "gvim-f" still forks when using the batchscript to start Vim.Solution: Add an argument to "start" to usea foreground session (Michael Geddes)Files: src/dosinst.cPatch 6.0.206Problem: Unix: if expandingawildcard ina file name results inawildcard character and there are more parts in the path witha wildcard,itis expanded again. Windows: ":edit \[abc]" could never edit the file "[abc]".Solution: Don't expandwildcards in already expanded parts. Don't remove backslashes used toescape the special meaning ofa wildcard; can edit "[abc]" if '['is removed from'isfname'.Files: src/misc1.c, src/os_unix.cPatch 6.0.207 (extra)Problem: Win32: The shortcuts and start menu entries let Vimstartup in the desktop directory, whichis not very useful.Solution: Let shortcuts start Vim in$HOME or $HOMEDIR$HOMEPATH.Files: src/dosinst.cPatch 6.0.208Problem: GUI: When usinga keymap and the cursoris not blinking,CTRL-^ inInsert mode doesn't directly change the cursor color. (Alex Solow)Solution: Forcea redraw of the cursor afterCTRL-^.Files: src/edit.cPatch 6.0.209Problem:GUI GTK: After selectinga'guifont' with the fontdialog there are redraw problems formultibyte characters.Solution: Separate the fontdialog from setting the new font name to avoid that "*"is used to find wide andbold fonts. When redrawing extra characters for thebold trick, take care ofUTF-8 characters.Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/proto/gui.pro, src/proto/gui_gtk_x11.proPatch 6.0.210Problem: After patch 6.0.167 it's no longer possible to editahelp file in another encoding than latin1.Solution: Let the "++enc=" argument overrule the encoding.Files: src/fileio.cPatch 6.0.211Problem: When readinga file fails, the bufferis empty, butit might still be possible to writeit with ":w" later. The original fileis lost then. (Steve Amerige)Solution: Set the'readonly' option for the buffer.Files: src/fileio.cPatch 6.0.212Problem:GUI GTK: confirm("foo", "") causesa crash.Solution: Don't makea non-existing button the default. Adda default "OK" button if noneis specified.Files: src/eval.c, src/gui_gtk.cPatch 6.0.213Problem: Whena file name contains unprintable characters,CTRL-G and other commands don't work well.Solution: Turn unprintable into printable characters. (Yasuhiro Matsumoto)Files: src/buffer.c, src/charset.cPatch 6.0.214Problem: When thereisa buffer withouta name, empty entries appear in thejumplist saved in theviminfo file.Solution: Don't writejumplist entries withouta file name.Files: src/mark.cPatch 6.0.215Problem: After using "/" fromVisual mode the Paste menu and Toolbar entries don't work. Pasting with the middle mouse doesn't work and modeless selection doesn't work.Solution: Use the command line modemenus and use the mouse like in the command line.Files: src/gui.c, src/menu.c, src/ui.cPatch 6.0.216Problem: After reloadinga file, displayed in anotherwindow than the current one, which was changed outside of Vim the part of the file around the cursor set byautocommands may be displayed, but jumping back to the original cursor position when entering thewindow again.Solution: Restore the topline of the window.Files: src/fileio.cPatch 6.0.217Problem: When gettinghelp fromahelp file that was used before, an empty unlisted buffer remains in the buffer list. (Eric Long)Solution: Wipe out the buffer used todo thetag jump from.Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.proPatch 6.0.218Problem: With explorer plugin: "vim-o filename dirname" doesn't load the explorerwindow until entering the window.Solution: Call s:EditDir() for eachwindow afterstarting up.Files: runtime/plugin/explorer.vimPatch 6.0.219Problem: ":setlocal" and ":setglobal", without arguments, displayterminal options. (Zdenek Sekera)Solution: Skipterminaloptions for these two commands.Files: src/option.cPatch 6.0.220Problem: After patch 6.0.218 getabeep on startup. (Muraoka Taro)Solution: Don't try going to anotherwindow when there isn't one.Files: runtime/plugin/explorer.vimPatch 6.0.221Problem: When using ":bdel" and all otherbuffers are unloaded the lowest numbered bufferis jumped to instead of the most recent one. (Dave Cecil)Solution: Prefer an unloaded buffer from the jumplist.Files: src/buffer.cPatch 6.0.222Problem: When'virtualedit'is set and using autoindent, pressing Esc afterstartinga new line leaves behind part of the autoindent. (Helmut Stiegler)Solution: Afterdeleting the last char in the line adjust the cursor position in del_bytes().Files: src/misc1.c, src/ops.cPatch 6.0.223Problem: When splittingawindow that contains the explorer, hitting CR ona file name gives error messages.Solution: Set thewindowvariables after splitting the window.Files: runtime/plugin/explorer.vimPatch 6.0.224Problem: When'sidescroll' and'sidescrolloff' are set ina narrowwindow the text may jump left-right and the cursoris displayed in the wrong position. (Aric Blumer)Solution: When thereis not enough room, compute the left column for thewindow toput the cursor in the middle.Files: src/move.cPatch 6.0.225Problem: InVisual mode "gk" gets stuck ina closed fold. (Srinath Avadhanula)Solution: Behave differently ina closed fold.Files: src/normal.cPatch 6.0.226Problem: When doing ":recover file" get theATTENTION prompt. After recovering the same file five times geta read error ora crash. (Alex Davis)Solution: Set the recoverymode flag before setting the file name. Correct the amount of used memory for the size of block zero.Files: src/ex_docmd.cPatch 6.0.227 (extra)Problem: The RISC OS port has several problems.Solution: Update the makefile and fix some of the problems. (Andy Wingate)Files: src/Make_ro.mak, src/os_riscos.c, src/os_riscos.h, src/proto/os_riscos.pro, src/search.cPatch 6.0.228Problem: After putting text inVisual mode the']markis notat theend of theput text. Undo doesn't work properly when puttingaword intoaVisual selection that spans more than one line.Solution: Correct the']mark for thedeleting the Visually selected text. #ifdef code that depends on FEAT_VISUAL properly. Also fix that "d" crossing line boundary puts'[ just before deleted text. Fixundo by saving all deleted linesat once.Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c, src/structs.h, src/vim.hPatch 6.0.229Problem: Multi-byte: With 'm' in'formatoptions',formatting doesn't breakatamultibyte char followed by an ASCII char, and the other way around. (Muraoka Taro) When joining linesaspaceis inserted betweenmultibyte characters, whichis not always wanted.Solution: Check formultibyte character before and after the breakpoint. Don'tinsertaspace before or afteramultibyte character when joining lines and the 'M' flagis in'formatoptions'. Don'tinsertaspace betweenmultibyte characters when the 'B' flagis in'formatoptions'.Files: src/edit.c, src/ops.c, src/option.hPatch 6.0.230Problem: The ":" usedasa motion after anoperatoris exclusive, but sometimesit should be inclusive.Solution: Make the "v" in between anoperator and motiontoggle inclusive/exclusive. (Servatius Brandt)Files: runtime/doc/motion.txt, src/normal.cPatch 6.0.231Problem: "gd" and "gD" don't work when the variable matches ina comment just above the match to be found. (Servatius Brandt)Solution: Continue searching in the first column below the comment.Files: src/normal.cPatch 6.0.232Problem: "vim--version" prints on stderr while "vim--help" prints on stdout.Solution: Make "vim--version" use stdout.Files: runtime/doc/starting.txt, src/globals.h, src/main.c, src/message.cPatch 6.0.233Problem: "\1\{,8}" inaregexpis not allowed, butit should work, because thereis an upper limit. (Jim Battle)Solution: Allow using "\{min,max}" after an atom that can be empty if thereis an upper limit.Files: src/regexp.cPatch 6.0.234Problem: It's noteasy to set the cursor position without modifying marks.Solution: Add thecursor() function. (Yegappan Lakshmanan)Files: runtime/doc/eval.txt, src/eval.cPatch 6.0.235Problem: Whenwritinga file and renaming the original file to make the backup, permissions could change when setting the owner.Solution: Only set the owner when it's needed and set the permissions again afterwards. When'backupcopy'is "auto" check that the owner and permissions ofa newly created file can be set properly.Files: src/fileio.cPatch 6.0.236Problem: ":edit" without argument should move cursor to line 1 inVi compatible mode.Solution: Add 'g' flag to'cpoptions'.Files: runtime/doc/options.txt, src/ex_docmd.c, src/option.hPatch 6.0.237Problem: InaC file, using thefiletype plugin, re-indentinga comment with two spaces after the middle "*" doesn't align properly.Solution: Don't usea middle entry froma start/middle/end to line up with the start of the comment when the start part doesn't match with the actual comment start.Files: src/misc1.cPatch 6.0.238Problem: Usinga ":substitute" command withasubstitute() call in the substitutionexpression causes errors. (Srinath Avadhanula)Solution: Save and restore pointers when doing substitution recursively.Files: src/regexp.cPatch 6.0.239Problem: Using "A" to append aftera Visually selected block whichis after theend of the line, spaces are inserted in the wrong line and other unexpected effects. (Michael Naumann)Solution: Don't advance the cursor to the next line.Files: src/ops.cPatch 6.0.240Problem: Win32: building withPython 2.2 doesn't work.Solution: Add support forPython 2.2 with dynamic linking. (Paul Moore)Files: src/if_python.cPatch 6.0.241Problem: Win32: Expanding the old value of an option thatisa path that starts witha backslash, an extrabackslashis inserted.Solution: Onlyinsert backslashes where needed. Also handlemultibyte characters properly when removing backslashes.Files: src/option.cPatch 6.0.242Problem: GUI: Ona system with an ExceedX server sometimes geta "Bad Window" error. (Tommi Maekitalo)Solution: When forking, usea pipe to wait in the parent for the child to have done the setsid() call.Files: src/gui.cPatch 6.0.243Problem: Unix: "vim--version" outputsa NL before the last line instead of after it. (Charles Campbell)Solution: Send the NL to the same output streamas the text.Files: src/message.c, src/os_unix.c, src/proto/message.proPatch 6.0.244Problem: Multi-byte: Problems with (illegal)UTF-8 characters in menu and file name (e.g., icon text, status line).Solution: Correctly handle unprintable characters. Catch illegalUTF-8 characters and replace them with<xx>. Truncating the status line wasn't done correctlyatamultibyte character. (Yasuhiro Matsumoto) Added correct_cmdspos() and transchar_byte().Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c, src/message.c, src/screen.c, src/vim.hPatch 6.0.245Problem: After usinga color scheme, setting the'background' option might not work. (Peter Horst)Solution: Disable the color scheme ifit switches'background' back to the wrong value.Files: src/option.cPatch 6.0.246Problem: ":echomsg" didn't use the highlighting set by ":echohl". (Gary Holloway)Solution: Use the specified attributes for the message. (Yegappan Lakshmanan)Files: src/eval.cPatch 6.0.247Problem:GTK GUI: Can't usegvim ina kpart widget.Solution: Add the "--echo-wid" argument to let Vim echo thewindow ID on stdout. (Philippe Fremy)Files: runtime/doc/starting.txt, src/globals.h, src/gui_gtk_x11.c, src/main.cPatch 6.0.248Problem: When using compressedhelp files and'encoding' isn't "latin1", Vim converts thehelp file before decompressing. (David Reviejo)Solution: Don't convertahelp file when'binary'is set.Files: src/fileio.cPatch 6.0.249Problem: "vim-t edit-c 'sta ex_help'" doesn't move cursor to edit().Solution: Don't set the cursor on the first line for "-c" arguments when there alsoisa "-t" argument.Files: src/main.cPatch 6.0.250 (extra)Problem: Macintosh: Various problems when compiling.Solution: Various fixes, mostly #ifdefs. (Dany St. Amant)Files: src/gui_mac.c, src/main.c, src/misc2.c, src/os_mac.h, src/os_mac.pbproj/project.pbxproj, src/os_unix.cPatch 6.0.251 (extra)Problem: Macintosh: menu shortcuts are not very clear.Solution: Show the shortcut with theMac clover symbol. (raindog)Files: src/gui_mac.cPatch 6.0.252Problem: Whena user function was defined with "abort", an error thatis not inside if/endif or while/endwhile doesn't abort the function. (Servatius Brandt)Solution: Don't reset did_emsg when the functionis to be aborted.Files: src/ex_docmd.cPatch 6.0.253Problem: When'insertmode'is set, after "<C-O>:edit file" the next<C-O> doesn't work. (Benji Fisher)<C-L> has the same problem.Solution: Reset need_start_insertmode once in edit().Files: src/edit.cPatch 6.0.254 (extra)Problem: Borland C++ 5.5: Checking for stack overflow doesn't work correctly. Matters when usinga complicated regexp.Solution: Remove -N- from Make_bc5.mak. (Yasuhiro Matsumoto)Files: src/Make_bc5.makPatch 6.0.255 (extra) (depends on patch 6.0.116 and 6.0.121)Problem: Win32:ACL support doesn't work well on Samba drives.Solution: Adda check for workingACL support. (Mike Williams)Files: src/os_win32.cPatch 6.0.256 (extra)Problem: Win32: ":highlight Comment guifg=asdf" does not give an error message. (Randall W. Morris) Also for other systems.Solution: Add gui_get_color() to give one error message for all systems.Files: src/gui.c, src/gui_amiga.c, src/gui_athena.c, src/gui_motif.c, src/gui_riscos.c, src/gui_x11.c, src/gui_gtk_x11.c, src/proto/gui.pro, src/syntax.cPatch 6.0.257Problem: Win32: When'mousefocus'is set and thereisaBufRead autocommand, after thedialog for permissions changed outside of Vim:'mousefocus' stops working. (Robert Webb)Solution: Reset need_mouse_correct after checking timestamps.Files: src/fileio.cPatch 6.0.258Problem: When'scrolloff'is 999 and there are folds, the text can jump up and down when moving the cursor down near theend of the file. (Lubomir Host)Solution: When putting the cursor halfway thewindow start counting linesat theend ofa fold.Files: src/move.cPatch 6.0.259Problem: MS-DOS: after editing the command line the cursor shape may remain like inInsert mode. (Volker Kiefel)Solution: Reset the cursor shape after editing the command line.Files: src/ex_getln.cPatch 6.0.260Problem: GUI: May crash whilestarting up when giving an error message for missing color. (Servatius Brandt)Solution: Don't call gui_write() when stillstarting up. Don't give error message for empty color name. Don't use't_vb' while theGUIis stillstarting up.Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.cPatch 6.0.261Problem:nr2char() andchar2nr() don't work withmultibyte characters.Solution: Use'encoding' for these functions. (Yasuhiro Matsumoto)Files: runtime/doc/eval.txt, src/eval.cPatch 6.0.262 (extra)Problem: Win32:IME doesn't work properly. OnImeComposition() isn't usedat all.Solution: Adjustvarious things for IME.Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/proto/ui.pro, src/structs.h, src/ui.cPatch 6.0.263Problem: GTK: Whenadialogis closed by thewindow manager, Vim hangs. (Christian J. Robinson)Solution: Use GTK_WIDGET_DRAWABLE() instead of GTK_WIDGET_VISIBLE().Files: src/gui_gtk.c, src/gui_gtk_x11.cPatch 6.0.264Problem: The amount of virtual memoryis used to initialize'maxmemtot', which may be much more than the amount of physical memory, resulting ina lot of swapping.Solution: Get the amount of physical memory with sysctl(), sysconf() or sysinfo() when possible.Files: src/auto/configure, src/configure.in, src/config.h.in, src/os_unix.c, src/os_unix.hPatch 6.0.265Problem: Win32: Usingbackspace while'fkmap'is set causesa crash. (Jamshid Oasjmoha)Solution: Don't trymapping special keys.Files: src/farsi.cPatch 6.0.266Problem: Therename() function deletes the file if the old and the new name are the same. (Volker Kiefel)Solution: Don'tdo anything if the names are equal.Files: src/fileio.cPatch 6.0.267Problem: UTF-8: Although'isprint' saysa characteris printable, utf_char2cells() still considersit unprintable.Solution: Use vim_isprintc() for characters up to 0x100. (Yasuhiro Matsumoto)Files: src/mbyte.cPatch 6.0.268 (extra) (depends on patch 6.0.255)Problem: Win32:ACL check crashes when using forward slash in file name.Solution: Improve the check for the path in the file name.Files: src/os_win32.cPatch 6.0.269Problem: Unprintable characters ina file name may cause problems when using the'statusline' option or when'buftype'is "nofile".Solution: call trans_characters() for the resulting statusline. (Yasuhiro Matsumoto)Files: src/buffer.c, src/screen.c, src/charset.cPatch 6.0.270 (depends on patch 6.0.267)Problem:Atab causesUTF-8 text to be displayed in the wrong position. (Ron Aaron)Solution: Correct utf_char2cells() again.Files: src/mbyte.cPatch 6.1a.001 (extra)Problem: 32bit DOS:copying text to theclipboard may causea crash. (JonathanD Johnston)Solution: Don't copy one byte too much in SetClipboardData().Files: src/os_msdos.cPatch 6.1a.002Problem: GTK: On some configurations, when closingadialog from thewindow manager, Vim hangs.Solution: Catch the "destroy" signal. (Aric Blumer)Files: src/gui_gtk.cPatch 6.1a.003Problem: Multi-byte: WithUTF-8 double-wide char and'virtualedit' set: yanking inVisual mode doesn't include the last byte. (Eric Long)Solution: Don't addaspace fora double-wide character.Files: src/ops.cPatch 6.1a.004 (extra)Problem: MINGW: undefined type. (Ron Aaron)Solution: Make GetCompositionString_inUCS2() static.Files: src/gui_w32.c, src/gui_w48.c, src/proto/gui_w32.proPatch 6.1a.005 (extra)Problem: Win32: ":hardcopy" doesn't work after ":hardcopy!". (Jonathan Johnston)Solution: Don't keep the driver context when using ":hardcopy!". (Vince Negri)Files: src/os_mswin.cPatch 6.1a.006Problem: multibyte: after setting'encoding' thewindow title might be wrong.Solution: Force resetting the title. (Yasuhiro Matsumoto)Files: src/option.cPatch 6.1a.007Problem: Filetype detection for "*.inc" doesn't work.Solution: Usea ":let" command. (David Schweikert)Files: runtime/filetype.vimPatch 6.1a.008 (extra)Problem: Win32:ACL detection fornetwork shares doesn't work.Solution: Include the trailing (back)slash in the root path. (Mike Williams)Files: src/os_win32.cPatch 6.1a.009Problem: When using "\@<=" or "\@<!" ina pattern,a "\1" may refer toa () part that follows, butit generates an error message.Solution: Allowa forwardreference when thereisa following "\@<=" or "\@<!".Files: runtime/doc/pattern.txt, src/regexp.cPatch 6.1a.010Problem: When using ":help" and openinga new window, the alternate file isn't set.Solution: Set the alternate file to the previously edited file.Files: src/ex_cmds.cPatch 6.1a.011Problem: GTK: ":set co=77", change width with the mouse, ":set co=77" doesn't resize the window. (Darren Hiebert)Solution: Set the form size after handlinga resize event.Files: src/gui_gtk_x11.cPatch 6.1a.012Problem: GTK: The file browser always returnsa full path. (Lohner)Solution: Shorten the file name if possible.Files: src/gui_gtk.cPatch 6.1a.013Problem: When using "=~word" in'cinkeys' or'indentkeys', thecase of the last character of theword isn't ignored. (Raul Segura Acevedo)Solution: Ignorecase when checking the last typed character.Files: src/edit.cPatch 6.1a.014Problem: After patch 6.1a.006 can't compile without the title feature.Solution: Add an #ifdef.Files: src/option.cPatch 6.1a.015Problem: MS-Windows: When expandinga file name that containsa '[' or '{' an extrabackslashis inserted. (Raul Segura Acevedo)Solution: Avoid adding the backslash.Files: src/ex_getln.cPatch 6.1a.016Problem: Completion after ":language" doesn't include "time". (Raul Segura Acevedo)Solution: Add the alternative to the completions.Files: src/ex_cmds2.cPatch 6.1a.017Problem: Clicking the mouse in the top row ofawindow where the first line doesn't fit moves the cursor to the wrong column.Solution: Add the skipcol also for the top row ofa window.Files: src/ui.cPatch 6.1a.018Problem: When'scrolloff'is one and thewindow heightis one, "gj" canput the cursor above the window. (Raul Segura Acevedo)Solution: Don't let skipcol become bigger than the cursor column.Files: src/move.cPatch 6.1a.019Problem: When usinga composing character on top of an ASCII character, the "l" command clears the composing character. Only when'ruler' and'showcmd' are off. (Raphael Finkel)Solution: Don't move the cursor by displaying characters when there are composing characters.Files: src/screen.cPatch 6.1a.020Problem: GTK: after patch 6.1a.011 resizing with the mouse doesn't always work well for small sizes. (Adrien Beau)Solution: Use another way to avoid the problem with ":set co=77".Files: src/gui_gtk_x11.cPatch 6.1a.021Problem: SeveralSyntax menu entries are wrong or confusing.Solution: Rephrase and correct the menu entries. (Adrien Beau)Files: runtime/makemenu.vim, runtime/menu.vimPatch 6.1a.022Problem:Atags file might be used twice oncase insensitive systems. (Rick Swanton)Solution: Don't use the same file name twice in the default for the'tags' option. Ignorecase when comparing names of already visited files.Files: src/misc2.c, src/option.cPatch 6.1a.023Problem: Whenstarting theGUI get "C" characters echoed in the terminal.Solution: Don't try sendinga clear-screen command while theGUIisstarting up.Files: src/screen.cPatch 6.1a.024Problem: In other editorsCTRL-Fis often used fora find dialog.Solution: Inevim useCTRL-F for the find dialog.Files: runtime/evim.vimPatch 6.1a.025Problem: The choices for the fileformatdialog can't be translated.Solution: Add g:menutrans_fileformat_choices. (Adrien Beau)Files: runtime/menu.vimPatch 6.1a.026Problem: Indenting Java filesis wrong with "throws", "extends" and "implements" clauses.Solution: Update the Java indent script.Files: runtime/indent/java.vimPatch 6.1a.027Problem:A fewSyntax menu entries missing or incorrect.Solution: Add and correct the menu entries. (Adrien Beau) Shortena fewmenus to avoid they become too long.Files: runtime/makemenu.vim, runtime/menu.vimPatch 6.1a.028Problem: XIM: problems with feedback and some input methods.Solution: Use iconv for calculating the cells. Remove the queue for key_press_event only when text was changed. (Yasuhiro Matsumoto)Files: src/globals.h, src/mbyte.c, src/screen.cPatch 6.1a.029Problem: After patch 6.1a.028 can't compileGTK version withXIM but withoutmultibyte chars.Solution: Add an #ifdef. (Aschwin Marsman)Files: src/mbyte.cPatch 6.1a.030Problem: With double-byte encodingstoupper() andtolower() may have wrong results.Solution: Skip double-byte characters. (Eric Long)Files: src/eval.cPatch 6.1a.031Problem: Accessing the'balloondelay' variable may causea crash.Solution: Make the variable for'balloondelay'a long. (Olaf Seibert)Files: src/option.hPatch 6.1a.032 (extra)Problem: Some menu files useda wrong encoding name for "scriptencoding".Solution: Move the translations toa separate file, whichis sourced after setting "scriptencoding". Also add Czech menu translations in ASCII and update the other encodings.Files: runtime/lang/menu_cs_cz.iso_8859-1.vim, runtime/lang/menu_cs_cz.iso_8859-2.vim, runtime/lang/menu_czech_czech_republic.1250.vim, runtime/lang/menu_czech_czech_republic.1252.vim, runtime/lang/menu_czech_czech_republic.ascii.vim, runtime/lang/menu_de_de.iso_8859-1.vim, runtime/lang/menu_de_de.latin1.vim, runtime/lang/menu_fr_fr.iso_8859-1.vim, runtime/lang/menu_fr_fr.latin1.vim, runtime/lang/menu_french_france.1252.vim, runtime/lang/menu_german_germany.1252.vim, runtime/lang/menu_ja_jp.euc-jp.vim, runtime/lang/menu_ja_jp.utf-8.vim, runtime/lang/menu_japanese_japan.932.vimPatch 6.1a.033Problem: XIM: doesn't reset input context.Solution: call xim_reset() with im_set_active(FALSE). (Takuhiro Nishioka)Files: src/mbyte.cPatch 6.1a.034 (extra)Problem: Win32: TheACL checks fora readonly file still don't work well.Solution: Remove theACL checks,go back to howit worked in Vim 6.0.Files: src/os_win32.cPatch 6.1a.035Problem: multibyte: When using ":sh" in the GUI, typed and displayedmultibyte characters are not handled correctly.Solution: Deal withmultibyte characters to and from the shell. (Yasuhiro Matsumoto) Also handleUTF-8 composing characters.Files: src/os_unix.cPatch 6.1a.036Problem: GTK: the save-yourself event was not handled.Solution: Catch the save-yourself event and preserve swap files. (Neil Bird)Files: src/gui_gtk_x11.cPatch 6.1a.037Problem: TheMS-Windows keymapping doesn't includeCTRL-S for saving. (Vlad Sandrini)Solution: MapCTRL-S to ":update".Files: runtime/mswin.vimPatch 6.1a.038Problem: Solaris: Including both sys/sysctl.h and sys/sysinfo.h doesn't work. (Antonio Colombo)Solution: Don't include sys/sysinfo.h when not calling sysinfo().Files: src/os_unix.cPatch 6.1a.039Problem: Not all visual basic files are recognized.Solution: Add checks to catch *.ctl files. (Raul Segura Acevedo)Files: runtime/filetype.vimPatch 6.1a.040Problem:A *.pl fileis recognizedas Perl, butit could bea prolog file.Solution: Check the first non-empty line. (Kontra Gergely)Files: runtime/filetype.vimPatch 6.1a.041Problem: When pressing the left mouse button in the command line and them moving the mouse upwards, nearly all the textis selected.Solution: Don't try extendinga modeless selection when there isn't one.Files: src/ui.cPatch 6.1a.042Problem: When merging files, ":diffput" and ":diffget" are useda lot, but they requirea lot of typing.Solution: Add "dp" for ":diffput" and "do" for ":diffget".Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.proPatch 6.1b.001 (extra)Problem: Checking forwildcards ina path does not handlemultibyte characters witha trail byte whichisa wildcard.Solution: Handlemultibyte characters correctly. (Muraoka Taro)Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c, src/os_unix.cPatch 6.1b.002Problem:Aregexp that ends in "\{"is not flaggedas an error. May causea stack overflow when'incsearch'is set. (Gerhard Hochholzer)Solution: Handlea missing "}"as an error.Files: src/regexp.cPatch 6.1b.003 (extra)Problem: The RISC OSGUI doesn't compile.Solution: Include changes since Vim 5.7. (Andy Wingate)Files: src/Make_ro.mak, src/gui_riscos.c, src/os_riscos.c, src/os_riscos.h, src/proto/gui_riscos.proPatch 6.1b.004Problem: col("'>") returnsa negative number forlinewise selection. (Neil Bird)Solution: Don't add one to MAXCOL.Files: src/eval.cPatch 6.1b.005Problem: Usinga searchpattern that causes an out-of-stack error while'hlsearch'is set keeps giving the hit-Enter prompt.A searchpattern that takesa long time delays typing when'incsearch'is set.Solution: Stop'hlsearch' highlighting when theregexp causes an error. Stop searching for'incsearch' whena characteris typed.Files: src/globals.h, src/message.c, src/screen.c, src/search.c, src/vim.hPatch 6.1b.006Problem: When enteringa composing character on the command line withCTRL-V, the text isn't redrawn correctly.Solution: Redraw the text under and after the cursor.Files: src/ex_getln.cPatch 6.1b.007Problem: When the cursoris in the whitespace between two sentences, "dis" deletes the first character of the following sentence, "das" deletesaspace after the sentence.Solution: Backup the cursor one character in these situations.Files: src/search.cPatch 6.1b.008Problem: *.xsl files are not recognizedas xslt but xml. Monk files are not recognized.Solution: Delete the duplicate line for *.xsl. (Johannes Zellner) Recognize monk files.Files: runtime/filetype.vimPatch 6.1b.009Problem: Can't always compile small features and then addingeval feature, "sandbox"is undefined. (Axel Kielhorn)Solution: Always define "sandbox" when theeval featureis used.Files: src/globals.hPatch 6.1b.010 (extra)Problem: When compiling gvimext.cpp with MSVC 4.2 geta number of warnings.Solution: Change "true" to "TRUE". (Walter Briscoe)Files: GvimExt/gvimext.cppPatch 6.1b.011Problem: When usinga very longstring for confirm(), can't quit the displayingat the more prompt. (Hari Krishna Dara)Solution: Jump to theend of the message to show the choices.Files: src/message.cPatch 6.1b.012Problem: Multi-byte: When'showbreak'is set anda double-wide character doesn't fitat the rightwindow edge the cursor gets stuck there. Usingcursor-left gets stuck when'virtualedit'is set. (Eric Long)Solution: Fix the way the extra ">" characteris counted when'showbreak'is set. Don't correct cursor for virtual editing ona double-wide character.Files: src/charset.c, src/edit.cPatch 6.1b.013Problem:A user command that partly matches witha buffer-local user command and matches full witha global user command unnecessarily gives an 'ambiguous command' error.Solution: Find the full global match even aftera partly local match.Files: src/ex_docmd.cPatch 6.1b.014Problem: EBCDIC: switching mouse events off causes garbage on screen. Positioning the cursor in theGUI causes garbage.Solution:Insert an ESC in theterminal code. (Ralf Schandl) Use "\b" instead of "\010" for KS_LE.Files: src/os_unix.c, src/term.cPatch 6.1b.015Problem: Vimtutor hasa typo. Geta warning for "tempfile" ifit doesn't exist.Solution: Moveaquote to theend ofa line. (Max Ischenko) Use "mktemp" first, more systems have it.Files: src/vimtutorPatch 6.1b.016Problem: GTK: loadingafontset that works partly, Vim might hang or crash.Solution: Avoid that char_width becomes zero. (Yasuhiro Matsumoto)Files: src/gui_gtk_x11.cPatch 6.1b.017Problem: GUI: When using ":shell" and thereisa beep, nothing happens.Solution: Call vim_beep() to produce thebeep from the shell. (Yasuhiro Matsumoto)Files: src/message.cPatch 6.1b.018 (depends on 6.1b.006)Problem: When entering theencryption key, special keys may still reveal the typed characters.Solution: Make sure stars are used or nothingis shown in all cases.Files: src/digraph.c, src/getchar.c, src/ex_getln.cPatch 6.1b.019 (depends on 6.1b.005)Problem:A searchpattern that takesa long time slows down typing when'incsearch'is set.Solution: Pass SEARCH_PEEK to dosearch().Files: src/ex_getln.cPatch 6.1b.020Problem: When using thematchit plugin, "%" findsa match on the "end" ofa ":syntax region" command in Vim scripts.Solution: Skip over ":syntax region" commands by setting b:match_skip.Files: runtime/ftplugin/vim.vimPatch 6.1b.021Problem: when'mousefocus'is set,CTRL-WCTRL-] sometimes doesn't warp the pointer to the new window. (Robert Webb)Solution: Don't reset need_mouse_correct when checking thetimestamp ofa file.Files: src/fileio.cPatch 6.1b.022Problem: With lots offolds "j" does not obey'scrolloff' properly. (Srinath Avadhanula)Solution: Go toend of the fold before counting context lines.Files: src/move.cPatch 6.1b.023Problem: OnMS-Windowssystem() may cause checking timestamps, because Vim loses and gains input focus, while this doesn't happen on Unix.Solution: Don't checktimestamps whilesystem()is busy.Files: src/ex_cmds2.c, src/fileio.c, src/globals.h, src/misc1.cPatch 6.1b.024 (extra)Problem: Gettext 0.11 complains that "sjis"is nota standard name.Solution: Use "cp932" instead.Files: src/po/sjiscorr.cPatch 6.1b.025 (extra)Problem: Win32: When closinggvim whileitis minimized and hasa changed file, the file-changeddialog pops up ina corner of the screen.Solution: Put thedialog in the middle of the screen.Files: src/gui_w48.cPatch 6.1b.026Problem: When'diffopt' contains'iwhite' but not'icase': differences incase are not highlighted properly. (Gerhard Hochholzer)Solution: Don't ignorecase when ignoring whitespace differences.Files: src/diff.cPatch 6.1b.027Problem: "vim--remote+" may causea crash.Solution: Check for missing file name argument. (Martin Kahlert)Files: src/main.cPatch 6.1b.028 (extra)Problem: Win16: Can't compile after patch 6.1b.025.Solution: Add code specifically for Win16. (Vince Negri)Files: src/gui_w48.cPatch 6.1b.029Problem: Win32: Whena directory on an NTFS partitionis read/execute (no delete,modify,write) and the file has modify rights, trying to write the file deletes it. Making the file read/write/execute (not delete) solves it. (Mark Canup)Solution: Use theUnix code to check fora writable directory. If not, then makeabackup copy and overwrite the file.Files: src/fileio.cPatch 6.1b.030 (extra)Problem: Mac: small mistake in the buildscript and prototypes.Solution: Fix the buildscript and add the prototypes. (Axel Kielhorn)Files: src/os_mac.build, src/gui_mac.cPatch 6.1b.031 (extra)Problem:Win32 GUI: ":set guifont=*" doesn't set'guifont' to the resulting font name. (Vlad Sandrini)Solution: Put the code back in gui_mch_init_font() to form the font name out of the logfont.Files: src/gui_w48.cPatch 6.1b.032Problem: Athena: Settinga color scheme before theGUI has started causesa crash. (Todd Blumer)Solution: Don't try using color names that haven't been set yet.Files: src/gui_athena.cPatch 6.1b.033Problem: When usingacount aftera ":s" command may get ml_get errors. (Dietmar Lang)Solution: Check that the resulting range does notgo past theend of the buffer.Files: src/ex_cmds.cPatch 6.1b.034Problem: After sourcing mswin.vim, when using<C-S-Right> after auto-indenting and then<Del>, get warning for allocating ridiculous amount of memory. (Dave Delgreco)Solution: Adjust the start of theVisual area whendeleting the auto-indent.Files: src/edit.cPatch 6.1b.035Problem: When using evim, droppinga file on Vim and then double clicking ona word,itis changed to "i". (Merlin Hansen)Solution: Reset need_start_insertmode after editing the file.Files: src/ex_docmd.c==============================================================================VERSION 6.2version-6.2Thissectionis about improvements made between version 6.1 and 6.2.Thisis mainlya bug-fix release. There are alsoa few new features.Main new features:- Support forGTK 2. (Daniel Elstner)- Support for editingArabic text. (Nadim Shaikli& Isam Bayazidi)- ":try" command and exception handling. (Servatius Brandt)- Support for the neXtawGUI toolkit (mostly like Athena). (Alexey Froloff)-Cscope support for Win32. (Khorev Sergey)- Support for PostScriptprinting invarious 8-bit encodings. (Mike Williams)Changedchanged-6.2-------Removed the scheme indent file, the internal Lisp indenting works well now.Moved the GvimEXt, OleVim and VisVim directories into the "src" directory.Thisis more consistent with how xxdis handled.The VisVim.dll fileis installed in the top directory, next to gvimext.dll,instead of ina subdirectory "VisVim". Fixes that NSIS was uninstallingitfrom the wrong directory.Removed the art indent file,it didn'tdo anything.submatch() returned line breaks with CR instead of LF.Changed theWin32 Makefiles to become more uniform and compile gvimext.dll.(Dan Sharp)'cindent': Aligna "//" comment witha "//" comment ina previous line.(Helmut Stiegler)Previously only for xterm-like terminals parent widgets were followed to findthe title and icon label. Nowdo this for allterminal emulators.Madeit possible to recognize backslashes for "%" matching. The 'M' flag in'cpoptions' disables it. (Haakon Riiser)Removed the Make_tcc.mak makefile for Turbo C. It didn't work and we probablycan't makeit work (the compiler runs out of memory).Even though the documentation refers to keywords, "[CTRL-D" was using'isident' to find matches. Changedit to use'iskeyword'. Also applies toother commands that search for defined words in included files suchas":dsearch", "[D" and "[d".Made'keywordprg' global-local. (Christian Robinson)Enabled the Netbeansinterface by default. Reversed the configure argumentfrom "--enable-netbeans" to "--disable-netbeans".Addedadded-6.2-----New options:'arabic''arabicshape''ambiwidth''autochdir''casemap''copyindent''cscopequickfix''preserveindent''printencoding''rightleftcmd''termbidi''toolbariconsize''winfixheight'New keymaps:Serbian (Aleksandar Veselinovic)Chinese Pinyin (Fredrik Roubert)Esperanto (Antoine J. Mechelynck)Newsyntax files:Valgrind (Roger Luethi)Smartytemplate (Manfred Stienstra)MySQL (Kenneth Pronovici)RockLinux package description (Piotr Esden-Tempski)MMIX (Dirk Huesken)gkrellmrc (David Necas)Tilde (Tobias Rundtrom)Logtalk (Paulo Moura)PLP (Juerd Waalboer)fvwm2m4 (David Necas)IPfilter (Hendrik Scholz)fstab (Radu Dineiu)Quake (Nikolai Weibull)Occam (Mario Schweigler)lpc (Shizhu Pan)Exim conf (David Necas)EDIF (Artem Zankovich).cvsrc (Nikolai Weibull).fetchmailrc (Nikolai Weibull)GNU gpg (Nikolai Weibull)Grub (Nikolai Weibull)Modconf (Nikolai Weibull)RCS (Dmitry Vasiliev)Art (Dorai Sitaram)RendermanInterface Bytestream (AndrewJ Bromage)Mailcap (Doug Kearns)Subversion commit file (Dmitry Vasiliev)Microsoft IDL (Vadim Zeitlin)WildPackets EtherPeek Decoder (Christopher Shinn)Spyce (Rimon Barr)Resolv.conf (Radu Dineiu)A65 (Clemens Kirchgatterer)sshconfig and sshdconfig (David Necas)Cheetah and HTMLCheetah (Max Ischenko)Packetfilter (Camiel Dobbelaar)New indent files:Eiffel (David Clarke)Tilde (Tobias Rundtrom)Occam (Mario Schweigler)Art (Dorai Sitaram)PHP (Miles Lott)Dylan (Brent Fulgham)Newtutor translations:Slovak (Lubos Celko)Greek (Christos Kontas)German (Joachim Hofmann)Norwegian (Øyvind Holm)Newfiletype plugins:Occam (Mario Schweigler)Art (Dorai Sitaram)ant.vim, aspvbs.vim, config.vim, csc.vim, csh.vim, dtd.vim, html.vim,jsp.vim, pascal.vim, php.vim, sgml.vim, sh.vim, svg.vim, tcsh.vim,xhtml.vim, xml.vim, xsd.vim. (Dan Sharp)New compiler plugins:Checkstyle (Doug Kearns)g77 (Ralf Wildenhues)fortran (Johann-Guenter Simon)Xmllint (Doug Kearns)Ruby (Tim Hammerquist)Modelsim vcom (Paul Baleme)New menu translations:Brazilian (José de Paula)British (Mike Williams)Korean in UTF-8. (Nam SungHyun)Norwegian (Øyvind Holm)Serbian (Aleksandar Jelenak)New message translation for Norwegian. (Øyvind Holm)New color scheme:desert (Hans Fugal)Arabic specific features.'arabicshape','termbidi','arabic' and'rightleftcmd' options. (Nadim Shaikli& Isam Bayazidi)Support for neXtawGUI toolkit, mostly like Athena. (Alexey Froloff)Win32:cscope support. (Khorev Sergey)VMS:various improvements to documentation and makefiles. (Zoltan Arpadffy)Added "x" key to the explorer plugin: execute the default action. (YasuhiroMatsumoto)Compile gvimext.dll with MingW. (Rene de Zwart)Add the "tohtml.vim" plugin. It defines the ":TOhtml" user command, aneasyway to convert text to HTML.Added ":try"/ ":catch"/ ":finally"/ ":endtry" commands. AddE999 numbersto all error messages, so that they can be caught by the number.(Servatius Brandt)Moved part of ex_docmd.c to the new ex_eval.c source file.Include support forGTK+ 2.2.x (Daniel Elstner)Adds the "~" register: drag& drop text.Adds the'toolbariconsize' option.Add -Dalloca when running lint to work arounda problem with alloca()prototype.When selecting an item in the errorwindow to jump to, take some effort tofind an ordinarywindow to show the file in (nota preview window).Support for PostScriptprinting ofvarious 8-bit encodings. (Mike Williams)inputdialog() acceptsa third argument thatis used when thedialogiscancelled. Makesit possible to seea difference between cancelling andentering nothing.Included Aap recipes. Can be used to update Vim to the latest version,building and installing."/" option in'cinoptions': extra indent for comment lines. (Helmut Stiegler)Vim variable "v:register" andfunctions setreg(),getreg() and getregtype().(Michael Geddes)"v" flag in'cpoptions': Leave text on screen withbackspace inInsert mode.(Phillip Vandry)Dosinst.exe also finds gvimext.dll in the "GvimExt" directory. Useful whenrunninginstall in the "src" directory for testing.Supporttag files that were sorted withcase ignored. (Flemming Madsen)When completingawildcard ina leading path element,as in "../*/Makefile",only the last part("Makefile") was listed. Support custom definedcommand line completion. (Flemming Madsen)Also recognize "rxvt"as an xterm-like terminal. (Tomas Styblo)ProperX11 session management. Fixes that the WM_SAVE_YOURSELF event was notused by popular desktops. (Neil Bird)Not used forGnome 2,it has its own handling.Support BOR, DEBUG and SPAWNO arguments for the Borland 3 Makefile. (WalterBriscoe)Support page breaks for printing. Adds the "formfeed" field in'printoptions'. (Mike Williams)Mac OSX: multi-language support: iconv and gettext. (Muraoka Taro, AxelKielhorn)"\Z" flag in patterns: ignore differences in combining characters. (Ron Aaron)Added'preserveindent' and'copyindent' options. They use existing whitespace characters instead of using Tabsas muchas possible. (Chris Leishman)UpdatedUnicode tables toUnicode 4.0. (Raphael Finkel)Support for the mouse wheel in rxvt. (AIDA Shinra)Win32: Added ":8" file modifier to get short filename. Test50 tests the ":8"expansion onWin32 systems. (Michael Geddes)'cscopequickfix' option: Openquickfixwindow forCscope commands. Alsocleanup the code for giving messages. (Khorev Sergey)GUI: Support more than 222 columns for mouse positions.":stopinsert" command: Don't return toInsert mode."interrupt" command for debug mode. Useful for simulatingCTRL-C. (ServatiusBrandt)Fixedfixed-6.2-----Removeda few unused #defines from config.h.in, os_os2_cfg.h and os_vms_conf.h.The Vim icons in PNG format didn't havea transparent background. (GregRoelofs)Fixeda large number of spelling mistakes in the docs. (Adri Verhoef)The #defines for prototype generation were causing trouble. Changed them totypedefs.A new version of libintl.h uses __asm__, which confuses cproto. Defineadummy __asm__ macro.When'virtualedit'is set can't move to halfway an unprintable character.CripplesCTRL-V selection. (Taro Muraoka)Allow moving to halfway an unprintable character. Don't let getvvcol() changethe pos->coladd argument.Whenatab wraps to the next line,'listchars'is set and'foldcolumn'isnon-zero, only one character of the foldcolumnis highlighted. (Muraoka Taro)When using ":catch" without an argument Vim crashes. (Yasuhiro Matsumoto)When no argument given use the ".*" pattern.Win32: When gvim.exeis started froma shortcut with thewindow style propertyset to maximize Vim doesn't start witha maximized window. (YasuhiroMatsumoto) Open thewindow with the default size and don't call ShowWindow()again when it's already visible. (Helmut Stiegler)gui_gtk.c used MAX, but it's undefined to avoida conflict with system headerfiles.Win32: When closingawindow fromamapping some pixels remain on thestatusline. (Yasuhiro Matsumoto)A column number in anerrorformat that goes beyond theend of the line maycausea crash.":throw'test'" crashes Vim. (Yasuhiro Matsumoto)The file selector's scrollbar colors are not set after doinga ":hi Scrollbarguifg=color". And the file selector's colors are not changed by thecolorscheme command. (David Harrison)Motif: When compiling with FEAT_FOOTER defined, the text area getsa fewpixels extraspace on the right. Remove the specialcase ingui_get_base_width(). (David Harrison)UsingCTRL-RCTRL-P inInsert mode puts the']mark in the wrong position.(Helmut Stiegler)When'formatoptions' includes "awct"a non-comment wasn't auto-formatted.Usinga "--cmd" argument more than 10 times causeda crash.DEC style mouse support didn't work if the page fieldis not empty.(Uribarri)"vim-l one two" did only set'lisp' in the first file.Vi doesit for everyfile.":set tw<" didn't work. Was checking for '^' instead of '<'.In ":hardcopy> %.ps" the "%" was not expanded to the current filename.Made ":redraw" also update theVisual area.Whena not implemented command, suchas ":perl", has wrong arguments thelessimportant error was reported, giving the user the idea the command could work.On non-Unix systemsautocommands forwriting did not attempta match with theshort file name, causingapattern like "a/b" to fail.VMS: e_screenmode was not defined anda few other fixes for VMS. (ZoltanArpadffy)redraw_msg() depended on FEAT_ARABIC instead of FEAT_RIGHTLEFT. (WalterBriscoe)Various changes for the PC Makefiles. (Walter Briscoe)Use _truename() instead of our own code to expanda file name intoa fullpath. (Walter Briscoe)Error infiletype check for /etc/modutils. (Lubomir Host)Cscope interface: allocateda buffer too small.Win16: removea trailingbackslash froma path when obtaining the permissionflags. (Vince Negri)When searching fortags withcase ignored Vim could hang.When searching directories witha stopdir could geta crash. Did notre-allocate enough memory. (Vince Negri)A user command may causea crash. Don't use the commandindex when it'snegative. (Vince Negri)putenv() didn't work for MingW and Cygwin. (Dan Sharp)Manyfunctions were common between os_msdos.c and os_win16.c. Use os_msdos.cfor compiling the Win16 version and remove thefunctions from os_win16.c.(Vince Negri)For terminals that behave like an xterm but didn't havea name thatisrecognized, thewindow title would not always be set.Whensyntax highlightingis off ":hardcopy" could still attemptprintingcolors.Crash when using ":catch" without an argument. (Servatius Brandt)Win32: ":n#" doubled the backslashes.FixedArabic shaping for the command line. (Nadim Shaikli)Avoid splitting upastring displayed on the command line into individualcharacters,it breaksArabic shaping.Updated Cygwin and MingW makefiles to use more dependencies. (Dan Sharp)2html.vim didn't work with'nomagic' set.Whena local argumentlistis used and doing ":only" Vim could crash later.(Muraoka Taro)When using "%P" in'statusline' and the fillcharis "-",a percentage of 3%could result in "-3%". Also avoidchangingaspace insidea filename to thefill character.MSwin: Handling of backslashes and doublequotes for command line argumentswas not like what other applications do. (Walter Briscoe)Test32 sometimes didn't work, because test11.out was writtenas TEST11.OUT.Avoid pointer conversions warnings for BorlandC 5.5 in dosinst.c anduninstal.c.More improvements for Make_bc3.mak file. (Walter Briscoe)When ":syn sync linebreaks=1"is used, editing the first line causeda redrawof the whole screen.Making translatedmessages didn't work, if_perl.xs wasn't found. (VladSandrini)Motif and Athena: moving Vim to the foreground didn't uniconify it. UseXMapRaised() instead of XRaiseWindow(). (Srikanth Sankaran)When using ":ptag" inawindow where'scrollbind'is set the previewwindowwould also have'scrollbind' set. Also reset'foldcolumn' and'diff'.Various commands that splitawindow took over'scrollbind', whichis hardlyever desired. Esp. for "q:" and ":copen". Mostly reset'scrollbind' whensplittinga window.When'shellslash'is set in thevimrc file the first entry of ":scriptnames"would still have backslashes. Entries in thequickfixlist could also havewrong (back)slashes.Win32: printerdialog texts were not translated. (Yasuhiro Matsumoto)When usingamultibyte character witha K_SPECIAL byte ora special key codewith "--remote-send" the received byte sequence was mangled. Putit in thetypeahead buffer instead of the input buffer.Win32: The cursor position was incorrect afterchanging cursor shape.(Yasuhiro Matsumoto).Win32: When'encoding'is not the current codepage the title could not be setto non-ascii characters."vim-d scp://machine/file1 scp://machine/file2" did not work, there was onlyone window. Fixed thenetrwplugin not to wipe out the buffer ifitisdisplayed in other windows."/$" caused "e" in last column of screen to disappear,a highlighted blank wasdisplayed instead.":s/ *\ze\n//e" removed the line break and introduced arbitrary text. Wasusing the linecount including what matched after the "\ze".Using the "c" flag with ":s" changed the behavior whena line breakisreplaced and "\@<="is used. Without "c"a following match was not found.":%s/\vA@<=\nB@=//gce" got stuck on "A\nB" when entering "n".VMS: add HAVE_STRFTIME in the config file. (Zoltan Arpadffy)Whena delete prompts ifa delete should continue when yankingis notpossible, restore msg_silent afterwards.":sign" did not complain abouta missing argument.When adding ordeletinga sign'hlsearch' highlighting could disappear.Use the genericfunctions for updating signs.OnMS-Windows NT, 2K and XP don't use command.com but cmd.exe for testing.Makes the tests work on more systems.In theDOS tests don't create "/tmp" to avoid an error.Mac classic: Problems with reading files with CR vs CR/LF. Rely on thelibrary version of fgets() to work correctly for Metrowerks 2.2. (AxelKielhorn)When typinga passworda "*" was shown for each byte instead of for eachcharacter. Addedmultibyte handling to displaying the stars. (YasuhiroMatsumoto)When usingPerl 5.6 accessing $curbuf doesn't work. Add an #ifdef to usedifferent code for 5.6 and 5.8. (Dan Sharp)MingW and Cygwin: Don't strip the debug executable. (Dan Sharp)An assignment toa variable with curlies that includes "==" doesn't work.Skip over the curlies before searching for an "=". (Vince Negri)When cancelling the selection of alternate matchingtags thetag stackindexcould be advanced too far, resulting in an error message when usingCTRL-T.Patch 6.1.001Problem: WhenformattingUTF-8 textit might be wrappedataspace thatis followed bya composing character. (Raphael Finkel) Also correcta display error for removinga composing char on top ofa space.Solution: Check fora composing character ona space.Files: src/edit.c, src/misc1.c, src/screen.cPatch 6.1.002 (extra)Problem: Win32: aftera ":popup" command the mouse pointer stays hidden.Solution: Unhide the mouse pointer before showing the menu.Files: src/gui_w48.cPatch 6.1.003Problem: When'laststatus'is zero and thereisa vertical split, the vertical separatoris drawn in the command line. (Srikant Sankaran)Solution: Don't draw the vertical separator where thereis no statusline.Files: src/screen.cPatch 6.1.004Problem:Unicode 3.2 changes width and composing ofa few characters. (Markus Kuhn)Solution: Adjust theUnicodefunctions for the character width and composing characters.Files: src/mbyte.cPatch 6.1.005Problem: When using more than 50 items in'statusline' Vim might crash. (Steve Hall)Solution: Increment itemcnt in check_stl_option(). (Flemming Madsen)Files: src/option.cPatch 6.1.006Problem: When using "P" inVisual mode toputlinewise selected text, the wrong textis deleted. (Jakub Turski)Solution: Put the text before theVisual area and correct the text to be deleted for the inserted lines. Also fix that "p" oflinewise text inVisual block mode doesn't work correctly.Files: src/normal.c, src/ops.cPatch 6.1.007Problem: Using ":filetypeplugin off" whenfiletype plugins were never enabled causes an error message. (Yiu Wing)Solution: Use ":silent!" to avoid the error message.Files: runtime/ftplugof.vimPatch 6.1.008Problem: The "%" command doesn't ignore \" insidea string, it's seenas theend of the string. (Ken Clark)Solution: Skipa doublequote preceded by an odd number of backslashes.Files: src/search.cPatch 6.1.009Problem: Vim crashes when usinga huge number for the maxwid value ina statusline. (Robert M. Nowotniak)Solution: Check for an overflow that makes maxwid negative.Files: src/buffer.cPatch 6.1.010Problem: Searching backwards fora questionmark with "?\?" doesn't work. (Alan Isaac) Same problem in ":s?\??" and ":g?\??".Solution: Change the "\?" inapattern to "?" when using "?"as delimiter.Files: src/ex_cmds.c, src/ex_docmd.c, src/proto/regexp.pro, src/regexp.c, src/search.c, src/syntax.c, src/tag.cPatch 6.1.011Problem: XIM: doesn't work correctly when'number'is set. Also,a focus problem when selecting candidates.Solution: Fix theXIM problems. (Yasuhiro Matsumoto)Files: src/mbyte.c, src/screen.cPatch 6.1.012Problem:Asystem() call might fail if fread() does CR-LF to LF translation.Solution: Open the output file in binary mode. (Pavol Huhas)Files: src/misc1.cPatch 6.1.013Problem: Win32: The default for'printexpr' doesn't work when there are special characters in'printdevice'.Solution: Add doublequotes around the device name. (Mike Williams)Files: runtime/doc/option.txt, src/option.cPatch 6.1.014Problem: Anoperator like "r" used inVisual block mode doesn't use'virtualedit' when it's set to "block".Solution: Check for'virtualedit' being active inVisual block mode when theoperator was started.Files: src/ex_docmd.c, src/globals.h, src/misc2.c, src/normal.c, src/ops.c, src/undo.cPatch 6.1.015Problem: After patch 6.1.014 can't compile with tiny features. (Christian J. Robinson)Solution: Add the missing define of virtual_op.Files: src/vim.hPatch 6.1.016 (extra)Problem: Win32: Outputting Hebrew orArabic text might havea problem with reversing.Solution:Replace the RevOut() function with ETO_IGNORELANGUAGE. (Ron Aaron)Files: src/gui_w32.cPatch 6.1.017Problem: Cygwin: After patch 6.1.012 Still doesn'tdo binary file I/O. (Pavol Juhas)Solution: Define BINARY_FILE_IO for Cygwin.Files: src/os_unix.hPatch 6.1.018Problem: Error message when using cterm highlighting. (Leonardo Di Lella)Solution: Removeabackslash beforea question mark.Files: runtime/syntax/cterm.vimPatch 6.1.019 (extra)Problem: Win32: File nameis messed up when editing justa drive name. (Walter Briscoe)Solution: Appenda NUL after the drive name. (Vince Negri)Files: src/os_win32.cPatch 6.1.020Problem: col("'>") returnsa huge number after usingVisual line mode.Solution: Return the length of the line instead.Files: src/eval.cPatch 6.1.021 (depends on patch 6.1.009)Problem: Vim crashes when usinga huge number for the minwid value ina statusline. (Robert M. Nowotniak)Solution: Check for an overflow that makes minwid negative.Files: src/buffer.cPatch 6.1.022Problem: Grabbing the status line above the command-linewindow works like the bottom status line was grabbed. (Jim Battle)Solution: Makeit possible to grab the status line above the command-line window, so thatit can be resized.Files: src/ui.cPatch 6.1.023 (extra)Problem: VMS: running tests doesn't work properly.Solution: Adjust the makefile. (Zoltan Arpadffy)Files: src/testdir/Make_vms.mmsPatch 6.1.024Problem: When header files usea newsyntax for declaring functions, Vim can't figure out missing prototypes properly.Solution: Accept braces arounda function name. (M. Warner Losh)Files: src/osdef.shPatch 6.1.025Problem: Fivemessages for "vim--help" don't start witha capital. (Vlad Sandrini)Solution: Make themessages consistent.Files: src/main.cPatch 6.1.026Problem: *.patch files are not recognizedasdiff files. Inascripta "VAR=val" argument after "env" isn't ignored. PHP scripts are not recognized.Solution: Add *.patch fordiff filetypes. Ignore "VAR=val". Recognize PHP scripts. (Roman Neuhauser)Files: runtime/filetype.vim, runtime/scripts.vimPatch 6.1.027Problem: When'foldcolumn'is non-zero,a special character that wraps to the next line disturbs the foldcolumn highlighting. (Yasuhiro Matsumoto)Solution: Only use the special highlighting when drawing text characters.Files: src/screen.cPatch 6.1.028Problem: Client-server: Whena--remote-expr fails, Vim still exits with status zero.Solution: Exit Vim witha non-zero status to indicate the--remote-expr failed. (Thomas Scott Urban)Files: src/main.cPatch 6.1.029Problem: When'encoding'is an 8-bit encoding other than "latin1", editingautf-8 or otherUnicode file uses the wrong conversion. (Jan Fedak)Solution: Don't useUnicode to latin1 conversion for 8-bit encodings other than "latin1".Files: src/fileio.cPatch 6.1.030Problem: WhenCTRL-Nis mapped inInsert mode,itis also mapped afterCTRL-XCTRL-N, whileitis not mapped afterCTRL-XCTRL-F. (Kontra Gergely)Solution: Don't mapCTRL-N afterCTRL-XCTRL-N. Same forCTRL-P.Files: src/getchar.cPatch 6.1.031Problem: Cygwin: Xxd could reada file in text mode instead of binary mode.Solution: Use "rb" or "rt" when needed. (Pavol Juhas)Files: src/xxd/xxd.cPatch 6.1.032Problem: Can't specifyaquickfix file without jumping to the first error.Solution: Add the ":cgetfile" command. (Yegappan Lakshmanan)Files: runtime/doc/index.txt, runtime/doc/quickfix.txt, src/ex_cmds.h, src/quickfix.cPatch 6.1.033Problem: GUI: When the selectionis lost and theVisual highlightingis changed to underlining, the cursoris left ina different position. (Christian Michon)Solution: Update the cursor position after redrawing the selection.Files: src/ui.cPatch 6.1.034Problem:A CVSdiff file isn't recognizedasdiff filetype.Solution: Skip linesstarting with "? " before checking for an "Index:" line.Files: runtime/scripts.vimPatch 6.1.035 (extra, depends on 6.1.016)Problem: Win32: Outputting Hebrew orArabic text might havea problem with reversing onMS-Windows 95/98/ME.Solution: Restore the RevOut() function and useit in specific situations only. (Ron Aaron)Files: src/gui_w32.cPatch 6.1.036Problem: This command may causea crash: ":v/./,//-j". (Ralf Arens)Solution: Compute the right length of theregexp when it's empty.Files: src/search.cPatch 6.1.037Problem: When'lazyredraw'is set, pressing "q"at thehit-enter prompt causes an incomplete redraw and the cursor isn't positioned. (Lubomir Host)Solution: Overrule'lazyredraw' when do_redrawis set.Files: src/main.c, src/screen.cPatch 6.1.038Problem: Multi-byte: Whena ":s" command containsamultibyte character where the trail byteis '~' the textis messed up.Solution: Properly skipmultibyte characters in regtilde() (Muraoka Taro)Files: src/regexp.cPatch 6.1.039Problem: Whenfolds are defined and the fileis changed outside of Vim, reloading the file doesn't update the folds. (Anders Schack-Nielsen)Solution: Recompute thefolds after reloading the file.Files: src/fileio.cPatch 6.1.040Problem: Whenchanging directory for expandinga file name fails thereis no error message.Solution: Give an error message for this situation. Don't change directory if we can't return to the original directory.Files: src/diff.c, src/ex_docmd.c, src/globals.h, src/misc1.c, src/os_unix.cPatch 6.1.041Problem: ":mkvimrc" doesn't handleamapping that hasa leadingspace in the rhs. (Davyd Ondrejko)Solution:InsertaCTRL-V before the leading space. Also display leading and trailing whitespace in<> form.Files: src/getchar.c, src/message.cPatch 6.1.042Problem: "vim-r" doesn't show all matches when'wildignore' removes swap files. (Steve Talley)Solution: Keep all matching swap file names.Files: src/memline.cPatch 6.1.043Problem: After patch 6.1.040a few warnings are produced.Solution: Adda type cast to "char *" for mch_chdir(). (Axel Kielhorn)Files: src/diff.c, src/ex_docmd.c.c, src/misc1.c, src/os_unix.cPatch 6.1.044 (extra)Problem: GUI: When using the find/replacedialog with text that containsa slash, an invalid substitute commandis generated. OnWin32a find doesn't work when'insertmode'is set.Solution: Escape slashes witha backslash. Make the Win32,Motif andGTKgui use common code for the find/replace dialog. Add the "matchcase" option forMotif and GTK.Files: src/feature.h, src/proto/gui.pro, src/gui.c, src/gui.h, src/gui_motif.c, src/gui_gtk.c, src/gui_w48.cPatch 6.1.045Problem: InVisual mode, with lots offolds and'scrolloff' set to 999, moving the cursor down near theend of the file causes the text to jump up and down. (Lubomir Host)Solution: Take into account that the cursor may be on the last line ofa closed fold.Files: src/move.cPatch 6.1.046Problem:X11 GUI: ":set lsp=2 gcr=n-v-i:hor1-blinkon0" drawsa black rectangle. ":set lsp=2 gcr=n-v-i:hor10-blinkon0" makes the cursor disappear. (Nam SungHyun)Solution: Correctly compute the height of the horizontal cursor.Files: src/gui_gtk_x11.c, src/gui_x11.cPatch 6.1.047Problem: When skipping commands after an error was encountered, expressions for ":if", ";elseif" and ":while" are still evaluated.Solution: Skip theexpression after an error. (Servatius Brandt)Files: src/ex_docmd.cPatch 6.1.048Problem:Unicode 3.2 changes were missinga few Hangul Jamo characters.Solution: Recognize more charactersas composing characters. (Jungshik Shin)Files: src/mbyte.cPatch 6.1.049 (extra)Problem: Ona 32 bit displaya valid color may cause an error message, because its pixel valueis negative. (Chris Paulson-Ellis)Solution: Check for -11111 instead of the color being negative. Don't add one to the pixel value, -1 may be used for white.Files: src/globals.h, src/gui.c, src/gui.h, src/gui_amiga.c, src/gui_athena.c, src/gui_beos.cc, src/gui_gtk_x11.c, src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_riscos.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.c, src/gui_x11.c, src/mbyte.c, src/syntax.cPatch 6.1.050 (depends on 6.1.049)Problem: After patch 6.1.049 the non-GUI version doesn't compile.Solution: Add an #ifdef FEAT_GUI. (Robert Stanton)Files: src/syntax.cPatch 6.1.051 (depends on 6.1.044)Problem: Doesn't compile withGUI and small features.Solution: Adjust the #if for ga_append().Files: src/misc2.cPatch 6.1.052Problem: Unix: Theexecutable() function doesn't work when the "which" command isn't available.Solution: Go through $PATH manually. Also makesit work for VMS.Files: src/os_unix.cPatch 6.1.053Problem: When'sessionoptions' contains "globals", or "localoptions" and an option value containsa line break, the resultingscriptis wrong.Solution: Use "\n" and "\r" fora line break. (Srinath Avadhanula)Files: src/eval.cPatch 6.1.054Problem: GUI:A mouse clickis not recognizedat the more prompt, even when'mouse' includes 'r'.Solution: Recognizea mouse clickat the more prompt. Also accepta mouse click in the last line in the GUI. Add "ml" entry in'mouseshape'.Files: src/gui.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, src/structs.hPatch 6.1.055Problem: When editinga compressed file, Vim will inspect the contents to guess the filetype.Solution: Don't source scripts.vim for .Z, .gz, .bz2, .zip and .tgz files.Files: runtime/filetype.vim, runtime/plugin/gzip.vimPatch 6.1.056Problem: Loading theSyntax menu can take quitea bit of time.Solution: Add the "skip_syntax_sel_menu" variable. When it's defined the availablesyntax files are not in theSyntax menu.Files: runtime/doc/gui.txt, runtime/menu.vimPatch 6.1.057Problem: An ESC insideamapping doesn't workas documented when'insertmode'is set,it doesgo fromVisual orNormal mode toInsert mode. (Benji Fisher)Solution: Makeit workas documented.Files: src/normal.cPatch 6.1.058Problem: When thereisa closed fold just above the first line in the window, usingCTRL-XCTRL-Y inInsert mode will show only one line of the fold. (Alexey Marinichev)Solution: Correct the topline by puttingitat the start of the fold.Files: src/move.cPatch 6.1.059Problem: ":redir> ~/file" doesn't work. (Stephen Rasku)Solution: Expand environmentvariables in the ":redir>" argument.Files: src/ex_docmd.cPatch 6.1.060Problem: When'virtualedit'is set and'selection'is "exclusive",deletinga character just beforeatab changes thetab into spaces. Undo doesn't restore the tab. (Helmut Stiegler)Solution: Don't replace thetab by spaces when it's not needed. Correctly save the line before it's changed.Files: src/ops.cPatch 6.1.061Problem: When'virtualedit'is set and'selection'is "exclusive",aVisual selection that ends just afteratab doesn't include thattab in the highlighting. (Helmut Stiegler)Solution: Usea different way to exclude the character under the cursor.Files: src/screen.cPatch 6.1.062Problem: The "man"filetypeplugin doesn't work properly on Solaris 5.Solution: Usea different way to detect that "man-s" should be used. (Hugh Sasse)Files: runtime/ftplugin/man.vimPatch 6.1.063Problem: Java indenting doesn't work properly.Solution: Ignore comments when checking if the indent doesn't increase aftera "}".Files: runtime/indent/java.vimPatch 6.1.064Problem: The URLs that thenetrwplugin recognized forftp andrcp did not conform to the standard method://[user@]host[:port]/path.Solution: Useftp://[user@]host[[:#]port]/path, which supports both the new and the previous style. Also addeda bit of dav/cadaver support. (Charles Campbell)Files: runtime/plugin/netrw.vimPatch 6.1.065Problem: VMS: The colorscheme, keymap and compilermenus are not filled in.Solution: Ignorecase when looking for ".vim" files. (Coen Engelbarts)Files: runtime/menu.vimPatch 6.1.066 (extra)Problem: When callingsystem() inaplugin reading stdin hangs.Solution: Don't set theterminal to RAW mode whenit wasn't in RAW mode before thesystem() call.Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_unix.c, src/os_win16.c, src/os_win32.cPatch 6.1.067Problem: ":set viminfo+=f0"is not working. (Benji Fisher)Solution: Check the "f" flag instead of "'" in'viminfo'.Files: src/mark.cPatch 6.1.068Problem: Whena fileis reloaded afterit was changed outside of Vim,diff mode isn't updated. (Michael Naumann)Solution: Invalidate thediff info so that it's updated when needed.Files: src/fileio.cPatch 6.1.069Problem: When'showmatch'is set and "$"is in'cpoptions', using "C}<Esc>" may forget to remove the "$". (Preben Guldberg)Solution: Restore dollar_vcol after displaying the matching cursor position.Files: src/search.cPatch 6.1.070 (depends on 6.1.060)Problem: Compiler warning for signed/unsigned mismatch. (Mike Williams)Solution: Adda typecast to int.Files: src/ops.cPatch 6.1.071Problem: When'selection'is exclusive,gCTRL-G inVisual mode counts one character too much. (David Necas)Solution: Subtract one from theend position.Files: src/ops.cPatch 6.1.072Problem: Whena file name inatags file starts with http:// or something else for which thereisaBufReadCmd autocommand, the file isn't opened anyway.Solution: Check if thereisa matchingBufReadCmdautocommand and try to open the file.Files: src/fileio.c, src/proto/fileio.pro, src/tag.cPatch 6.1.073 (extra)Problem: BC5: Can't easily specifya tiny, small, normal, big or huge version.Solution: Allow selecting the version with the FEATURES variable. (Ajit Thakkar)Files: src/Make_bc5.makPatch 6.1.074Problem: When'cdpath' includes "../..",changing toa directory in which we currently already are doesn't work. ff_check_visited() adds the directory both when usingitas the root for searching and for the actual matches. (Stephen Rasku)Solution: Usea separatelist for the already searched directories.Files: src/misc2.cPatch 6.1.075 (depends on 6.1.072)Problem: Can't compile fileio.c on MS-Windows.Solution: Adda declaration for the "p" pointer. (Madoka Machitani)Files: src/fileio.cPatch 6.1.076 (extra)Problem: Macintosh: explorerplugin doesn't work onMac Classic.IME doesn't work. Dialog boxes don't work onMac OSXSolution: Fix explorerplugin and key modifiers. (Axel Kielhorn) FixIME support. (Muraoka Taro) Disabledialog boxes. (Benji Fisher)Files: src/edit.c, src/feature.h, src/gui_mac.c, src/os_mac.cPatch 6.1.077Problem: Ona Debian system withACL linking fails. (Lubomir Host)Solution: When the "acl" libraryis used, check if the "attr" libraryis present and use it.Files: src/auto/configure, src/configure.in, src/link.shPatch 6.1.078Problem: When using'foldmethod' "marker" and theend marker appears before the start marker in the file, no foldis found. (Nazri Ramliy)Solution: Don't let the fold depthgo negative.Files: src/fold.cPatch 6.1.079Problem: When using "s" inVisual block mode with'virtualedit' set, when the selected blockis after theend of some lines the wrong textis inserted and some lines are skipped. (Servatius Brandt)Solution:Insert the right text and extend short lines.Files: src/ops.cPatch 6.1.080Problem: When using gcc with /usr/local already in the search path, addingit again causes problems.Solution: Adjust configure.in to avoid adding /usr/local/include and /usr/local/lib when using GCC and they are already used. (Johannes Zellner)Files: src/auto/configure, src/configure.inPatch 6.1.081Problem: ":helpCTRL-\_CTRL-N" doesn't work. (Christian J. Robinson)Solution: Double thebackslash to avoid the special meaning of "\_".Files: src/ex_cmds.cPatch 6.1.082Problem: OnMS-Windows thevimrc_example.vimscriptis sourced and then mswin.vim. This enables using select mode, but since "p"is mappedit doesn't replace the selection.Solution: Remove themapping of "p" from vimrc_example.vim, it's obsolete. (Vlad Sandrini)Files: runtime/vimrc_example.vimPatch 6.1.083Problem: When $LANGis "sk" or "sk_sk", the Slovak menu file isn't found. (Martin Lacko)Solution: Guess the right menu file based on the system.Files: runtime/lang/menu_sk_sk.vimPatch 6.1.084 (depends on 6.1.080)Problem: "include" and "lib" are mixed up when checking the directories gcc already searches.Solution: Swap the variable names. (SunHo Kim)Files: src/auto/configure, src/configure.inPatch 6.1.085Problem: When usingCTRL-OCTRL-\CTRL-N fromInsert mode, the displayed mode "(insert)" isn't removed. (Benji Fisher)Solution: Clear the command line.Files: src/normal.cPatch 6.1.086 (depends on 6.1.049)Problem: The guifg color forCursorIM doesn't take effect.Solution: Use the foreground color when it's defined. (Muraoka Taro)Files: src/gui.cPatch 6.1.087Problem:A thesaurus withJapanese characters has problems with characters in differentword classes.Solution: Only separate words with single-byte non-word characters. (Muraoka Taro)Files: src/edit.cPatch 6.1.088 (extra)Problem: Win32: no debugging infois generated. Tags file excludes .cpp files.Solution: Add "/map" to compiler flags. Add "*.cpp" toctags command. (Muraoka Taro)Files: src/Make_mvc.makPatch 6.1.089Problem: On BSDI systems thereis no ss_sp field in stack_t. (Robert Jan)Solution: Use ss_base instead.Files: src/auto/configure, src/configure.in, src/config.h.in, src/os_unix.cPatch 6.1.090Problem:CTRL-F gets stuck when'scrolloff'is non-zero and thereisa mix of long wrapping lines anda non-wrapping line.Solution: Check thatCTRL-F scrollsat least one line.Files: src/move.cPatch 6.1.091Problem: GTK: Can't change preeditstate without setting'imactivatekey'.Solution: Add some code to change preeditstate for OnTheSpot. (Yasuhiro Matsumoto)Files: src/mbyte.cPatch 6.1.092Problem: ":mapclear<buffer>" doesn't work. (Srikanth Adayapalam)Solution: Allow an argument for ":mapclear".Files: src/ex_cmds.hPatch 6.1.093 (extra)Problem:Mac andMS-Windows GUI: whenscrolling while ":s"is working the results can be messed up, because the cursoris moved.Solution: Disallow directscrolling when not waiting fora character.Files: src/gui_mac.c, src/gui_w16.c, src/gui_w32.c, src/gui_w48.cPatch 6.1.094Problem: Cygwin: Passinga file name that has backslashes isn't handled very well.Solution: Convert file name arguments to Posix. (Chris Metcalf)Files: src/main.cPatch 6.1.095Problem: When usingsigns can free an item on the stack. Overruling sign colors doesn't work. (Srikanth Sankaran)Solution: Don't free the item on the stack. Use NULL instead of "none" for the value of the color.Files: src/gui_x11.cPatch 6.1.096Problem: When erasing the right half ofa double-byte character,it may cause further characters to be erased. (Yasuhiro Matsumoto)Solution: Make sure only one characteris erased.Files: src/screen.cPatch 6.1.097 (depends on 6.1.090)Problem: When'scrolloff'is set toa huge value,CTRL-Fat theend of the file scrolls one line. (Lubomir Host)Solution: Don't scroll whenCTRL-F detects the end-of-file.Files: src/move.cPatch 6.1.098Problem: MS-Windows: When the xxd programis under "c:\program files" the "Convert to Hex" menu doesn't work. (Brian Mathis)Solution: Put the path to xxd in double quotes.Files: runtime/menu.vimPatch 6.1.099Problem: Memory corrupted when closinga fold with more than 99999 lines.Solution: Allocate morespace for the fold text. (Walter Briscoe)Files: src/eval.cPatch 6.1.100 (extra, depends on 6.1.088)Problem: Win32: VC5 and earlier don't support the /mapinfo option.Solution: Add "/mapinfo" only when "MAP=lines"is specified. (Muraoka Taro)Files: src/Make_mvc.makPatch 6.1.101Problem: After using ":options" the tabstop ofa newwindowis 15. Entry in ":options"window for'autowriteall'is wrong. (AntoineJ Mechelynck) Can'tinsertaspace in an option value.Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa". Don't mapspace inInsert mode.Files: runtime/optwin.vimPatch 6.1.102Problem: Unprintable andmultibyte characters ina statusline item are not truncated correctly. (Yasuhiro Matsumoto)Solution: Count the width of characters instead of the number of bytes.Files: src/buffer.cPatch 6.1.103Problem:A function returning froma while loop, with'verbose' set to 12 or higher, doesn't mention the return value.A function with the'abort' attribute may return -1 while theverbose message says something else.Solution: Move theverbose message about returning froma function to call_func(). (Servatius Brandt)Files: src/eval.cPatch 6.1.104Problem: GCC 3.1 appears to have an optimizer problem that makes test 3 crash.Solution: For GCC 3.1 add -fno-strength-reduce to avoid the optimizer bug. Filter out extra info from "gcc--version".Files: src/auto/configure, src/configure.inPatch 6.1.105Problem: Win32: The default for'shellpipe' doesn't redirect stderr. (Dion Nicolaas)Solution: Redirect stderr, depending on the shell (like for'shellredir').Files: src/option.cPatch 6.1.106Problem: The maze program crashes.Solution: Change "11" to "27" andit works. (Greg Roelofs)Files: runtime/macros/maze/mazeansi.cPatch 6.1.107Problem: When'list'is set the current line in the errorwindow may be displayed wrong. (Muraoka Taro)Solution: Don't continue the line after the$ has been displayed and the rightmost columnis reached.Files: src/screen.cPatch 6.1.108Problem: When interruptingafilter command suchas "!!sleep 20" the file becomes read-only. (Mark Brader)Solution: Only set the read-only flag when openinga bufferis interrupted. When the shell command was interrupted, read the output that was produced so far.Files: src/ex_cmds.c, src/fileio.cPatch 6.1.109Problem: When'eadirection'is "hor", usingCTRL-W= doesn't equalize thewindow heights. (Roman Neuhauser)Solution: Ignore'eadirection' forCTRL-W=Files: src/window.cPatch 6.1.110Problem: When using ":badd file" when "file"is already present but not listed,it stays unlisted. (David Frey)Solution: Set'buflisted'.Files: src/buffer.cPatch 6.1.111Problem: It's not possible to detect using theUnix sources onWin32 or Mac.Solution: Add has("macunix") and has("win32unix").Files: runtime/doc/eval.txt, src/eval.cPatch 6.1.112Problem: When using ":argdo", ":bufdo" or ":windo",CTRL-O doesn'tgo to the cursor position from before this command but every position where the argument was executed.Solution: Only remember the cursor position from before the ":argdo", ":bufdo" and ":windo".Files: src/ex_cmds2.c, src/mark.cPatch 6.1.113Problem: ":bufdo bwipe" only wipes out half the buffers. (Roman Neuhauser)Solution: Decide what buffer togo to next before executing the command.Files: src/ex_cmds2.cPatch 6.1.114Problem: ":python import vim", ":python vim.current.buffer[0:0]=[]" givesa lalloc(0) error. (Chris Southern)Solution: Don't allocate an array when it's sizeis zero.Files: src/if_python.cPatch 6.1.115Problem: "das" on the whitespaceat theend ofaparagraph does not delete the "." thesentence ends with.Solution: Don't exclude the last character whenitis not white space.Files: src/search.cPatch 6.1.116Problem: When'endofline'is changed while'binary'is seta file should be considered modified. (Olaf Buddenhagen)Solution: Remember the'eol' value when editing started and consider the file changed when the current valueis different and'binary'is set. Also fix that thewindow title isn't updated when'ff' or'bin' changes.Files: src/option.c, src/structs.hPatch 6.1.117Problem: Small problem with editinga file over ftp: and with Cygwin.Solution: Removea dot froma ":normal" command. Use "cygdrive" where appropriate. (Charles Campbell)Files: runtime/plugin/netrw.vimPatch 6.1.118Problem: Whena file indiff modeis reloaded becauseit changed outside of Vim, otherwindows indiff mode are not always updated. (Michael Naumann)Solution: After reloadinga file indiff modemark allwindows indiff mode for redraw.Files: src/diff.cPatch 6.1.119 (extra)Problem: With the Sniff interface, using Sniff 4.0.X on HP-UX, there may bea crash when connecting to Sniff.Solution: Initialize sniff_rq_sep such that its value can be changed. (Martin Egloff)Files: src/if_sniff.cPatch 6.1.120 (depends on 6.1.097)Problem: When'scrolloff'is non-zero and there are folds,CTRL-Fat theend of the file scrolls part ofa closed fold. (Lubomir Host)Solution: Adjust the first line to the start ofa fold.Files: src/move.cPatch 6.1.121 (depends on 6.1.098)Problem: WhenstartingSelect mode fromInsert mode, then using the Paste menu entry, the cursoris left before the last pasted character. (Mario Schweigler)Solution: Set the cursor forInsert mode one character to the right.Files: runtime/menu.vimPatch 6.1.122Problem: ":file name" createsa new buffer to hold the old buffer name, which becomes the alternate file. This bufferis unexpectedly listed.Solution: Create the buffer for the alternate name unlisted.Files: src/ex_cmds.cPatch 6.1.123Problem:A ":match" command with more than one argument doesn't report an error.Solution: Check for extra characters. (Servatius Brandt)Files: src/ex_docmd.cPatch 6.1.124Problem: When trying to exit and thereisa hidden buffer that had'eol' off and'bin' setexiting isn't possible. (John McGowan)Solution: Set b_start_eol when clearing the buffer.Files: src/buffer.cPatch 6.1.125Problem: Explorerplugin asks for savinga modified buffer even when it's open in anotherwindowas well.Solution: Count the number ofwindows using the buffer.Files: runtime/plugin/explorer.vimPatch 6.1.126Problem: Adding the choices in thesyntax menuis consuming much of thestartup time of theGUI while it's not often used.Solution: Only add the choices when the user wants to use them.Files: Makefile, runtime/makemenu.vim, runtime/menu.vim, runtime/synmenu.vim, src/MakefilePatch 6.1.127Problem: When using "--remote file" and the server has'insertmode' set, commands are inserted instead of being executed. (Niklas Volbers)Solution: Go toNormal mode again after the ":drop" command.Files: src/main.cPatch 6.1.128Problem: Theexpression "input('very long prompt')" puts the cursor in the wrong line (columnis OK).Solution: Add the wrapped lines to the indent. (Yasuhiro Matsumoto)Files: src/ex_getln.cPatch 6.1.129Problem: On Solaris editing "file/" and then "file" results in using the same buffer. (Jim Battle)Solution: Before using stat(), check that thereis no illegal trailing slash.Files: src/auto/configure, src/config.h.in, src/configure.in, src/macros.h src/misc2.c, src/proto/misc2.proPatch 6.1.130Problem: The documentation for some of the'errorformat' itemsis unclear.Solution: Add more examples and explain hard to understand items. (Stefan Roemer)Files: runtime/doc/quickfix.txtPatch 6.1.131Problem:X11 GUI: when expandinga CSI byte in the input stream to K_CSI, the CSI byte itself isn't copied.Solution: Copy the CSI byte.Files: src/gui_x11.cPatch 6.1.132Problem: Executinga register inEx mode may cause commands to be skipped. (John McGowan)Solution: InEx mode use an extra check if the register contents was consumed, to avoid input goes into the typeahead buffer.Files: src/ex_docmd.cPatch 6.1.133Problem: When drawing double-wide characters in the statusline, may clear half ofa character. (Yasuhiro Matsumoto)Solution: Force redraw of the next character by setting the attributes instead of puttinga NUL in ScreenLines[]. Doputa NUL in ScreenLines[] when overwriting half ofa double-wide character.Files: src/screen.cPatch 6.1.134Problem: An error fora trailing argument of ":match" should not be given after ":if0". (Servatius Brandt)Solution: Onlydo the check when executing commands.Files: src/ex_docmd.cPatch 6.1.135Problem: Passinga command to the shell that includesa newline always hasabackslash before the newline.Solution: Remove onebackslash before the newline. (Servatius Brandt)Files: src/ex_docmd.cPatch 6.1.136Problem: When $TERMis "linux" the default for'background'is "dark", even though theGUI usesa light background. (Hugh Allen)Solution: Don'tmark the optionas set when defaulting to "dark" for the linux console. Also reset'background' to "light" when theGUI hasa light background.Files: src/option.cPatch 6.1.137Problem: Converting to HTML hasa clumsy way of dealing with tabs which may change the highlighting.Solution:Replace tabs with spaces after convertinga line to HTML. (Preben Guldberg)Files: runtime/syntax/2html.vimPatch 6.1.138 (depends on 6.1.126)Problem: Adding extra items to theSyntax menu can't be done when the "Show individual choices" menuis used.Solution: Use ":runtime!" instead of ":source", so that all synmenu.vim files in the runtime path are loaded. (Servatius Brandt) Also fix thata translated menu can't be removed.Files: runtime/menu.vimPatch 6.1.139Problem: Cygwin: PATH_MAXis not defined.Solution: Include limits.h. (Dan Sharp)Files: src/main.cPatch 6.1.140Problem: Cygwin: ":args `ls *.c`" does not work if the shell command produces CR NL line separators.Solution: Remove the CR characters ourselves. (Pavol Juhas)Files: src/os_unix.cPatch 6.1.141Problem: ":wincmdgx" may cause problems when mixed with other commands. ":wincmdc" doesn't close thewindow immediately. (Benji Fisher)Solution: Pass the extra command character directly instead of using the stuff buffer and call ex_close() directly.Files: src/ex_docmd.c, src/normal.c, src/proto/normal.pro, src/proto/window.pro, src/window.cPatch 6.1.142Problem: Defining paragraphs withouta separating blank line isn't possible. Paragraphs can't be formatted automatically.Solution: Allow defining paragraphs with lines thatend in white space. Added the 'w' and 'a' flags in'formatoptions'.Files: runtime/doc/change.txt, src/edit.c, src/misc1.c, src/normal.c, src/option.h, src/ops.c, src/proto/edit.pro, src/proto/ops.pro, src/vim.hPatch 6.1.143 (depends on 6.1.142)Problem: Autoformatting near theend of the file moves the cursor toa wrong position. InInsert mode some lines are made one char too narrow. Whendeletinga lineundo might not always work properly.Solution: Don't always move to theend of the line in the last line. Don't position the cursor past theend of the line inInsert mode. Afterdeletinga line save the cursor line for undo.Files: src/edit.c, src/ops.c, src/normal.cPatch 6.1.144Problem: Obtaining the size ofa line in screen characters can be wrong.A pointer may wrap around zero.Solution: In win_linetabsize() check fora MAXCOL length argument. (Jim Dunleavy)Files: src/charset.cPatch 6.1.145Problem: GTK: Drag&drop with more than 3 files may causea crash. (Mickael Marchand)Solution: Rewrite the code that parses the receivedlist of files to be more robust.Files: src/charset.c, src/gui_gtk_x11.cPatch 6.1.146Problem: MS-Windows: When$HOMEis constructed from $HOMEDRIVE and $HOMEPATH,itis not used for storing the _viminfo file. (Normal Diamond)Solution: Set$HOME with the value obtained from $HOMEDRIVE and $HOMEPATH.Files: src/misc1.cPatch 6.1.147 (extra)Problem: MS-Windows: Whenadialog has no default button, pressing Enter endsit anyway and all buttons are selected.Solution: Don'tendadialog when thereis no default button. Don't select all button when thereis no default. (Vince Negri)Files: src/gui_w32.cPatch 6.1.148 (extra)Problem: MS-Windows:ACLis not properly supported.Solution: Add an access() replacement that also works for ACL. (Mike Williams)Files: runtime/doc/editing.txt, src/os_win32.cPatch 6.1.149 (extra)Problem: MS-Windows: Can't usediff mode from the file explorer.Solution: Adda "diff with Vim" context menu entry. (Dan Sharp)Files: GvimExt/gvimext.cpp, GvimExt/gvimext.hPatch 6.1.150Problem: OS/2,MS-Windows and MS-DOS: When'shellslash'is setgetcwd() still uses backslash. (Yegappan Lakshmanan)Solution: Adjust slashes in getcwd().Files: src/eval.cPatch 6.1.151 (extra)Problem: Win32: The NTFS substream isn't copied.Solution: Copy the substream when makingabackup copy. (Muraoka Taro)Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.proPatch 6.1.152Problem: When $LANGis iso8859-1 translatedmenus are not used.Solution: Change iso8859 to iso_8859.Files: runtime/menu.vimPatch 6.1.153Problem: Searching in included files may search recursively when the path starts with "../". (Sven Berkvens-Matthijsse)Solution: Compare full file names, use inode/device when possible.Files: src/search.cPatch 6.1.154 (extra)Problem: DJGPP: "vim-h" leaves the cursor ina wrong position.Solution: Don't position the cursor using uninitialized variables. (Jim Dunleavy)Files: src/os_msdos.cPatch 6.1.155Problem: Win32: Cursor may sometimes disappear inInsert mode.Solution: Change "hor10" in'guicursor' to "hor15". (Walter Briscoe)Files: src/option.cPatch 6.1.156Problem: Conversion between DBCS and UCS-2 isn't implemented cleanly.Solution: Clean upa few things.Files: src/mbyte.c, src/structs.hPatch 6.1.157Problem:'hlsearch' highlights only the second comma in ",,,,," with "/,\@<=[^,]*". (Preben Guldberg)Solution: Also check for an empty match to start just aftera previous match.Files: src/screen.cPatch 6.1.158Problem: "zs" and "ze" don't work correctly with ":set nowrap siso=1". (Preben Guldberg)Solution: Take'siso' into account when computing the horizontal scroll position for "zs" and "ze".Files: src/normal.cPatch 6.1.159Problem: When expanding an abbreviation that includesamultibyte character too many characters are deleted. (Andrey Urazov)Solution: Delete the abbreviation counting characters instead of bytes.Files: src/getchar.cPatch 6.1.160Problem: ":$read file.gz" doesn't work. (Preben Guldberg)Solution: Don't use the'[mark afterit has become invalid.Files: runtime/plugin/gzip.vimPatch 6.1.161 (depends on 6.1.158)Problem: Warning for signed/unsigned compare. Can set'siso' toa negative value. (Mike Williams)Solution: Adda typecast. Adda check for'siso' being negative.Files: src/normal.c, src/option.cPatch 6.1.162Problem:Python interface: Didn't initialize threads properly.Solution: Call PyEval_InitThreads() whenstarting up.Files: src/if_python.cPatch 6.1.163Problem: Win32: Can't compile withPython after 6.1.162.Solution: Dynamically load PyEval_InitThreads(). (Dan Sharp)Files: src/if_python.cPatch 6.1.164Problem: If'modifiable'is off, converting to xxd fails and'filetype'is changed to "xxd" anyway.Solution: Don't change'filetype' when conversion failed.Files: runtime/menu.vimPatch 6.1.165Problem: Making changes in several lines and thena change in one of these lines that splitsit in two or more lines,undo information was corrupted. May causea crash. (Dave Fishburn)Solution: When skipping to savea line forundo becauseit was already saved, moveit to become the last saved line, so that when the command changes the linecount other saved lines are not involved.Files: src/undo.cPatch 6.1.166Problem: When'autoindent'is set andmswin.vim has been sourced, pasting withCTRL-V just after auto-indenting removes the indent. (Shlomi Fish)Solution: Firstinsert an "x" and deleteit again, so that the auto-indent remains.Files: runtime/mswin.vimPatch 6.1.167Problem: When givinga negative argument to ":retab" strange things start happening. (Hans Ginzel)Solution: Check fora negative value.Files: src/ex_cmds.cPatch 6.1.168Problem: PressingCTRL-Cat thehit-enter prompt doesn'tend the prompt.Solution: MakeCTRL-C stop thehit-enter prompt.Files: src/message.cPatch 6.1.169Problem:bufexists() findsa buffer by using the name ofa symbolic link to it, butbufnr() doesn't. (Yegappan Lakshmanan)Solution: Whenbufnr() can't finda buffer, try using the samemethodas bufexists().Files: src/eval.cPatch 6.1.170Problem: Using ":mksession" uses the default session file name, but "vim-S" doesn't. (Hans Ginzel)Solution: Use the default session file name if "-S"is the last command line argument or another option follows.Files: runtime/doc/starting.txt, src/main.cPatch 6.1.171Problem: When openinga line just abovea closed fold with "O" and the comment leaderis automatically inserted, the cursoris displayed in the first column. (Sung-Hyun Nam)Solution: Update the flag that indicates the cursoris ina closed fold.Files: src/misc1.cPatch 6.1.172Problem: Command line completion of ":tag /pat" does not show the same resultsas thetags the command actually finds. (Gilles Roy)Solution: Don't modify thepattern to makeita regexp.Files: src/ex_getln.c, src/tag.cPatch 6.1.173Problem: When using remotecontrol to edita position ina file and this fileis the current buffer and it's modified, thewindowis split and the ":drop" command fails.Solution: Don't split the window, keep editing the same buffer. Use the ":drop" command in VisVim to avoid the problem there.Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro, VisVim/Commands.cppPatch 6.1.174Problem: Itis difficult to know inascript whether an option not only exists but really works.Solution: Add "exists('+option')".Files: runtime/doc/eval.txt, src/eval.cPatch 6.1.175Problem: When reading commands froma pipe andaCTRL-Cis pressed, Vim will hang. (Piet Delport)Solution: Don't keep reading characters to clear typeahead when an interrupt was detected, stop whena singleCTRL-Cis read.Files: src/getchar.c, src/ui.cPatch 6.1.176Problem: When the stack limitis very bigafalse out-of-stack error may be detected.Solution: Adda check for overflow of the stack limit computation. (Jim Dunleavy)Files: src/os_unix.cPatch 6.1.177 (depends on 6.1.141)Problem: ":wincmd" does not allowa following command. (Gary Johnson)Solution: Check fora following " | cmd". Also give an error for trailing characters.Files: src/ex_docmd.cPatch 6.1.178Problem: When'expandtab'is set "r<C-V><Tab>" still expands the Tab. (Bruce deVisser)Solution:Replace witha literal Tab.Files: src/normal.cPatch 6.1.179 (depends on 6.1.091)Problem: When using X11R5 XIMPreserveStateis undefined. (Albert Chin)Solution: Include the missing definitions.Files: src/mbyte.cPatch 6.1.180Problem: Use of theGUI code for forkingis inconsistent.Solution: Define MAY_FORK and useit for later #ifdefs. (Ben Fowlwer)Files: src/gui.cPatch 6.1.181Problem: If theterminal doesn't wrap from the last char ina line to the next line, the last columnis blanked out. (Peter Karp)Solution: Don't outputaspace tomark the wrap, but the same character again.Files: src/screen.cPatch 6.1.182 (depends on 6.1.142)Problem: Itis not possible toauto-format comments only. (Moshe Kaminsky)Solution: When the 'a' and 'c' flags are in'formatoptions' onlyauto-format comments.Files: runtime/doc/change.txt, src/edit.cPatch 6.1.183Problem: When'fencs'is empty and'enc'is utf-8, readinga file with illegal bytes gives "CONVERSION ERROR" even though no conversionis done.'readonly'is set, even thoughwriting the file results in an unmodified file.Solution: For this specific error use "ILLEGAL BYTE" and don't set'readonly'.Files: src/fileio.cPatch 6.1.184 (extra)Problem: The extra mouse buttons found on some mice don't work.Solution: Support two extra buttons for MS-Windows. (Michael Geddes)Files: runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c, src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c, src/misc1.c, src/misc2.c, src/normal.c, src/vim.hPatch 6.1.185 (depends on 6.1.182)Problem: Can't compile without+comments feature.Solution: Add #ifdef FEAT_COMMENTS. (Christian J. Robinson)Files: src/edit.cPatch 6.1.186 (depends on 6.1.177)Problem: ":wincmd" does not allowa following comment. (Aric Blumer)Solution: Check fora following doublequote.Files: src/ex_docmd.cPatch 6.1.187Problem: Using ":doarg" with'hidden' set and the current fileis the only argument and was modified gives an error message. (Preben Guldberg)Solution: Don't try re-editing the same file.Files: src/ex_cmds2.cPatch 6.1.188 (depends on 6.1.173)Problem: Unused variable in the small version.Solution: Move the declaration for "p" inside #ifdef FEAT_LISTCMDS.Files: src/ex_cmds2.cPatch 6.1.189Problem:inputdialog() doesn't work when 'c'is in'guioptions'. (Aric Blumer)Solution: Fall back to theinput() function in this situation.Files: src/eval.cPatch 6.1.190 (extra)Problem: VMS: doesn't build withGTK GUI. Various other problems.Solution: Fix building for GTK. Improved Perl,Python andTCL support. ImprovedVMS documentation. (Zoltan Arpadffy) Added Vimtutor forVMS (T. R. Wyant)Files: runtime/doc/os_vms.txt, src/INSTALLvms.txt, src/gui_gtk_f.h, src/if_tcl.c, src/main.c, src/gui_gtk_vms.h, src/Make_vms.mms, src/os_vms.opt, src/proto/if_tcl.pro, vimtutor.com, src/testdir/Make_vms.mmsPatch 6.1.191Problem: When using "vim-sscript" and redirecting the output, the delay for the "Outputis not toaterminal" warning slows Vim down too much.Solution: Don't delay when reading commands froma script.Files: src/main.cPatch 6.1.192Problem: ":diffsplit" doesn't add "hor" to'scrollopt'. (Gary Johnson)Solution: Add "hor" to'scrollopt' each time ":diffsplit"is used.Files: src/diff.c, src/main.cPatch 6.1.193Problem: Crash in in_id_list() for an item witha "containedin" list. (Dave Fishburn)Solution: Check fora negativesyntax id, used for keywords.Files: src/syntax.cPatch 6.1.194Problem: When "t_ti"is set butit doesn't cause swappingterminal pages, "ZZ" may cause the shell prompt to appear on top of the file-write message.Solution: Scroll the text up in the Vim page before swapping to theterminal page. (Michael Schroeder)Files: src/os_unix.cPatch 6.1.195Problem: Thequickfix and previewwindows always keep their height, while otherwindows can't fix their height.Solution: Add the'winfixheight' option, so thata fixed height can be specified for any window. Also fix that the wildmenu may resizea one-linewindow toa two-linewindow if'ls'is zero.Files: runtime/doc/options.txt, runtime/optwin.vim, src/ex_cmds.c, src/ex_getln.c, src/globals.h, src/option.c, src/quickfix.c, src/screen.c, src/structs.h, src/window.cPatch 6.1.196 (depends on 6.1.084)Problem: OnMac OSX10.2 generating osdef.h fails.Solution: Add -no-cpp-precomp to avoid using precompiled header files, which disablesprinting the search path. (Ben Fowler)Files: src/auto/configure, src/configure.inPatch 6.1.197Problem: ":help<C-V><C-\><C-V><C-N>" (resulting in<1c><0e>) gives an error message. (Servatius Brandt)Solution: Double thebackslash in "CTRL-\".Files: src/ex_cmds.cPatch 6.1.198 (extra) (depends on 6.1.076)Problem:Mac OS X: Dialogues don't work.Solution: Fixa crashing problem for someGUI dialogues. Fixa problem when saving toa new file from the GUI. (Peter Cucka)Files: src/feature.h, src/gui_mac.cPatch 6.1.199Problem:'guifontwide' doesn't work on Win32.Solution: Output each wide character separately. (Michael Geddes)Files: src/gui.cPatch 6.1.200Problem: ":syn sync fromstart"is not skipped after ":if0". This can makesyntax highlighting very slow.Solution: Check "eap->skip" appropriately. (Rob West)Files: src/syntax.cPatch 6.1.201 (depends on 6.1.192)Problem: Warning for illegal pointer combination. (Zoltan Arpadffy)Solution: Adda typecast.Files: src/diff.cPatch 6.1.202 (extra)(depends on 6.1.148)Problem: Win32:filewritable() doesn't work properly on directories.Solution: fix filewritable(). (Mike Williams)Files: src/os_win32.cPatch 6.1.203Problem: ":%s/~//" causesa crash after ":%s/x//". (Gary Holloway)Solution: Avoid reading past theend ofa line when "~"is empty.Files: src/regexp.cPatch 6.1.204 (depends on 6.1.129)Problem: Warning for an illegal pointer on Solaris.Solution: Adda typecast. (Derek Wyatt)Files: src/misc2.cPatch 6.1.205Problem: Thegzipplugin changes the alternate file when editinga compressed file. (Oliver Fuchs)Solution: Temporarily remove the 'a' and 'A' flags from'cpo'.Files: runtime/plugin/gzip.vimPatch 6.1.206Problem: Thescript generated with ":mksession" doesn't work properly when some commands are mapped.Solution: Use ":normal!" instead of ":normal". And use ":wincmd" where possible. (Muraoka Taro)Files: src/ex_docmd.c, src/fold.cPatch 6.1.207Problem: Indentinga Java file hangs belowa line witha comment aftera command.Solution: Break out ofa loop. (Andre Pang) Also line up} with matching {.Files: runtime/indent/java.vimPatch 6.1.208Problem: Can't use the buffer number from thePython interface.Solution: Add buffer.number. (Michal Vitecek)Files: src/if_python.cPatch 6.1.209Problem: Printing doesn't work onMac OS classic.Solution: Usea ":" for path separator when opening the resource file. (Axel Kielhorn)Files: src/ex_cmds2.cPatch 6.1.210Problem: When thereis aniconv() conversion error when readinga file there can be an error the next timeiconv()is used.Solution: Reset the state of theiconv() descriptor. (Yasuhiro Matsumoto)Files: src/fileio.cPatch 6.1.211Problem: The message "use! to override"is confusing.Solution: Makeit "add! to override".Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c, src/globals.hPatch 6.1.212Problem: When Vim was started with "-R" ":new" createsa buffer'noreadonly' while ":enew" has'readonly' set. (Preben Guldberg)Solution: Don't set'readonly' ina new empty buffer for ":enew".Files: src/ex_docmd.cPatch 6.1.213Problem: UsingCTRL-WH may causea big gap to appear below the last window. (Aric Blumer)Solution: Don't set thewindow height when thereisa vertical split. (Yasuhiro Matsumoto)Files: src/window.cPatch 6.1.214Problem: When installing Vim and the runtime files were checked out from CVS the CVS directories will also be installed.Solution: Avoid installing the CVS dirs and their contents.Files: src/MakefilePatch 6.1.215Problem: Win32: ":pwd" uses backslashes even when'shellslash'is set. (Xiangjiang Ma)Solution: Adjust backslashes beforeprinting the message.Files: src/ex_docmd.cPatch 6.1.216Problem: When dynamically loading the iconv library, the error codes may be confused.Solution: Use specific error codes for iconv and redefine them for dynamic loading. (Yasuhiro Matsumoto)Files: src/fileio.c, src/mbyte.c, src/vim.hPatch 6.1.217Problem: When sourcing the same Vimscript usinga different name (symbolic link orMS-Windows 8.3 name)itis listed twice with ":scriptnames". (Tony Mechelynck)Solution: Turn thescript name intoa full path before using it. OnUnix compare inode/device numbers.Files: src/ex_cmds2.cPatch 6.1.218Problem: No error message for using the function argument "5+". (Servatius Brandt)Solution: Give an error message ifa function or variableis expected butis not found.Files: src/eval.cPatch 6.1.219Problem: When using ":amenu:b 1<CR>" withaVisual selection and'insertmode'is set, Vim does not return toInsert mode. (Mickael Marchand)Solution: Add the commandCTRL-\CTRL-G that goes toInsert mode if'insertmode'is set and toNormal mode otherwise. Append this tomenus defined with ":amenu".Files: src/edit.c, src/ex_getln.c, src/normal.cPatch 6.1.220Problem: When usingaBufReadPostautocommand that changes the line count, e.g., "$-1join", reloadinga file that was changed outside Vim does not work properly. (AlanG Isaac)Solution: Make the buffer empty before reading the new version of the file. Save the lines ina dummy buffer, so that they can beput back when reading the file fails.Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h, src/proto/buffer.proPatch 6.1.221Problem: Changingcase may not work properly, depending on the current locale.Solution: Add the'casemap' option to let the user choose howchangingcaseis to be done. Also fix loweringcase when anUTF-8 character doesn't keep the same byte length.Files: runtime/doc/options.txt, src/ascii.h, src/auto/configure, src/buffer.c, src/charset.c, src/config.h.in, src/configure.in, src/diff.c, src/edit.c, src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/gui_amiga.c src/gui_mac.c, src/gui_photon.c, src/gui_w48.c, src/gui_beos.cc, src/macros.h, src/main.c, src/mbyte.c, src/menu.c, src/message.c, src/misc1.c, src/misc2.c, src/option.c, src/os_msdos.c, src/os_mswin.c, src/proto/charset.pro, src/regexp.c, src/option.h, src/syntax.cPatch 6.1.222 (depends on 6.1.219)Problem: Patch 6.1.219 was incomplete.Solution: Add the changes for ":amenu".Files: src/menu.cPatch 6.1.223 (extra)Problem: Win32: WhenIMEis activated'iminsert'is set, butit might never be reset whenIMEis disabled. (Muraoka Taro) All systems:'iminsert'is set to 2 when leavingInsert mode, even when langmapis being used. (Peter Valach)Solution: Don't set "b_p_iminsert" in _OnImeNotify(). (Muraoka Taro) Don't store the status of the inputmethod in'iminsert' when'iminsert'is one. Also for editing the command line and for arguments toNormal mode commands.Files: src/edit.c, src/ex_getln.c, src/gui_w32.c, src/normal.cPatch 6.1.224Problem: "expand('$VAR')" returns an emptystring when the expanded $VARis not an existing file. (Aric Blumer)Solution: Included non-existing files,as documented.Files: src/eval.cPatch 6.1.225Problem: Using<C-O><C-^> inInsert mode hasa delay whenstarting "vim-u NONE" and ":set nocp hidden". (Emmanuel) do_ecmd() uses fileinfo(), the redrawis done aftera delay to give the user time to read the message.Solution: Put the message from fileio() in "keep_msg", so that the redrawis done before the delay (still needed to avoid the mode message overwrites the fileinfo() message).Files: src/buffer.cPatch 6.1.226Problem: Using ":debug" witha ":normal" command may causea hang. (Colin Keith)Solution: Save the typeahead buffer when obtaininga debug command.Files: src/ex_cmds2.c, src/getchar.c, src/proto/getchar.proPatch 6.1.227Problem: Itis possible to usea variable name "asdf:asdf" and ":let j:asdf= 5" does not give an error message. (Mikolaj Machowski)Solution: Check fora ":" inside the variable name.Files: src/eval.cPatch 6.1.228 (extra)Problem: Win32: The special output function for Hangulis used too often, causing special handling for other situations to be skipped. bInCompositionis always FALSE, causing ImeGetTempComposition() always to return NULL.Solution: Remove HanExtTextOut(). Delete the dead code around bInComposition and ImeGetTempComposition().Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.cPatch 6.1.229Problem: Win32: Conversion to/from often used codepages requires the iconv library, whichis not always available.Solution: Use standardMS-Windowsfunctions for the conversion when possible. (mostly by Glenn Maynard) Also fixes missing declaration for patch 6.1.220.Files: src/fileio.cPatch 6.1.230 (extra)Problem: Win16: building doesn't work.Solution: Exclude the XBUTTON handling. (Vince Negri)Files: src/gui_w48.cPatch 6.1.231Problem: Double clicking with the mouse to selectaword does not work formultibyte characters.Solution: Use vim_iswordc() instead of vim_isIDc(). This means'iskeyword'is used instead of'isident'. Also fix that mixing ASCII withmultibyteword characters doesn't work, the mouseclass for punctuation andword characters was mixed up.Files: src/normal.cPatch 6.1.232 (depends on 6.1.226)Problem: Using ex_normal_busy whileit might not be available. (Axel Kielhorn)Solution: Only use ex_normal_busy when FEAT_EX_EXTRAis defined.Files: src/ex_cmds2.cPatch 6.1.233Problem: ":help expr-||" does not work.Solution: Don't use the'|'asa command separatorFiles: src/ex_cmds.cPatch 6.1.234 (depends on 6.1.217)Problem: Geta warning for usinga negative value for st_dev.Solution: Don't assigna negative value to st_dev.Files: src/ex_cmds2.cPatch 6.1.235 (depends on 6.1.223)Problem:'iminsert'is changed from 1 to 2 when leavingInsert mode. (Peter Valach)Solution: Check "State" before resettingit to NORMAL.Files: src/edit.cPatch 6.1.236Problem: Memory leaks when appending lines for ":diffget" or ":diffput" and when reloadinga changed buffer.Solution: Freea line after calling ml_append().Files: src/diff.c, src/fileio.cPatch 6.1.237Problem: Putting inVisual block mode does not work correctly when "$" was used or when the first lineis short. (Christian Michon)Solution: First delete the selected text and thenput the new text. Save and restoreregistersas necessary.Files: src/globals.h, src/normal.c, src/ops.c, src/proto/ops.pro, src/vim.hPatch 6.1.238 (extra)Problem: Win32: The "icon=" argument for the ":menu" command does not search for the bitmap file.Solution: Expand environmentvariables and search for the bitmap file. (Vince Negri) Makeit consistent, use the same mechanism forX11 and GTK.Files: src/gui.c src/gui_gtk.c, src/gui_w32.c, src/gui_x11.c, src/proto/gui.proPatch 6.1.239Problem: Giving an error for missing:endif or:endwhile when being interrupted.Solution: Don't give thesemessages when interrupted.Files: src/ex_docmd.c, src/os_unix.cPatch 6.1.240 (extra)Problem:Win32 with BCC 5: CPU may be defined in the environment, which causesa wrong argument for the compiler. (Walter Briscoe)Solution: Use CPUNR instead of CPU.Files: src/Make_bc5.makPatch 6.1.241Problem: Something goes wrong when drawing or undrawing the cursor.Solution: Remember when the cursor invalid ina better way.Files: src/gui.cPatch 6.1.242Problem: When pastinga large number of lines on the command lineitis not possible to interrupt. (Jean Jordaan)Solution: Check for an interrupt after each pasted line.Files: src/ops.cPatch 6.1.243 (extra)Problem: Win32: When the OLE versionis started and wasn't registered,a message pops up to suggest registering, even when this isn't possible (when the registryis not writable).Solution: Check if registeringis possible before asking whetherit should be done. (Walter Briscoe) Also avoid restarting Vim after registering.Files: src/if_ole.cppPatch 6.1.244Problem: Patch 6.1.237 was missing thediff for vim.h. (Igor Goldenberg)Solution: Includeit here.Files: src/vim.hPatch 6.1.245Problem: Comparing with ignoredcase does not work properly forUnicode withalocale wherecasefolding an ASCII character results inamultibyte character. (Glenn Maynard)Solution: Handle ignore-case compare forUnicode differently.Files: src/mbyte.cPatch 6.1.246Problem: ":blast" goes to the first buffer if the last oneis unlisted. (Andrew Stryker)Solution: From the last buffer search backwards for the first listed buffer instead of forwards.Files: src/ex_docmd.cPatch 6.1.247Problem:ACL support doesn't always work properly.Solution: Adda configure argument to disableACL "--disable-acl". (Thierry Vignaud)Files: src/auto/configure, src/configure.inPatch 6.1.248Problem: Typing 'q'at themore-prompt for ":let" does not quit the listing. (Hari Krishna Dara)Solution: Quit the listing when got_intis set.Files: src/eval.cPatch 6.1.249Problem: Can't expanda path on the command line ifit includesa "|"asa trail byte ofamultibyte character.Solution: Check formultibyte characters. (Yasuhiro Matsumoto)Files: src/ex_docmd.cPatch 6.1.250Problem: Whenchanging the value of'lines' inside theexpression set with'diffexpr' Vim might crash. (Dave Fishburn)Solution: Don't allowchanging the screen size while updating the screen.Files: src/globals.h, src/option.c, src/screen.cPatch 6.1.251Problem: Can't use completion for ":lcd" and ":lchdir" like ":cd".Solution: Expand directory names for these commands. (Servatius Brandt)Files: src/ex_docmd.cPatch 6.1.252Problem: "vi}" does not includea line break when the "}"isat the start ofa following line. (Kamil Burzynski)Solution: Include the line break.Files: src/search.cPatch 6.1.253 (extra)Problem:Win32 with Cygwin: Changes the path of arguments ina wrong way. (Xiangjiang Ma)Solution: Don't use cygwin_conv_to_posix_path() for theWin32 version. Update the Cygwin makefile to support more features. (Dan Sharp)Files: src/Make_cyg.mak, src/if_ole.cpp, src/main.cPatch 6.1.254Problem: exists("foo{bar}") does not work. ':unlet v{"a"}r' does not work. ":let v{a}r1 v{a}r2" does not work. ":func F{(1)}" does not work. ":delfunc F{" does not give an error message. ':delfunc F{"F"}' does not work.Solution: Support magic braces for theexists() argument. (Vince Negri) Check for trailing comments explicitly for ":unlet". Add support for magic braces in further arguments of ":let". Look fora parenthesis only after the function name. (Servatius Brandt) Also expand magic braces for "exists('*expr')". Give an error message for an invalid ":delfunc" argument. Allowquotes in the ":delfunc" argument.Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.cPatch 6.1.255 (depends on 6.1.254)Problem: Crash when loadingmenu.vima second time. (Christian Robinson) ":unlet garbage foo" tries unletting "foo" after an error message. (Servatius Brandt) Very long function arguments cause very longmessages when'verbose'is 14 or higher.Solution: Avoid reading from uninitialized memory. Break out ofa loop after an invalid argument for ":unlet". Truncate long function arguments to 80 characters.Files: src/eval.cPatch 6.1.256 (depends on 6.1.255)Problem: Defininga function after ":if0" could still cause an error message for an existing function. Leaking memory when there are trailing characters for ":delfunc".Solution: Check the "skip" flag. Free the memory. (Servatius Brandt)Files: src/eval.cPatch 6.1.257Problem: ":cwindow" always sets the previouswindow to the last but one window. (Benji Fisher)Solution: Set the previouswindow properly.Files: src/globals.c, src/quickfix.c, src/window.cPatch 6.1.258Problem: Buffers menu doesn't work properly formultibyte buffer names.Solution: Useapattern to get the left and right part of the name. (Yasuhiro Matsumoto)Files: runtime/menu.vimPatch 6.1.259 (extra)Problem: Mac: with'patchmode'is used filenames are truncated.Solution: Increase the BASENAMELEN forMac OS X. (Ed Ralston)Files: src/os_mac.hPatch 6.1.260 (depends on 6.1.104)Problem: GCC 3.2 still seems to have an optimizer problem. (Zvi Har'El)Solution: Use the same configure checkas used for GCC 3.1.Files: src/auto/configure, src/configure.inPatch 6.1.261Problem: Whendeletinga line ina buffer whichis not the current buffer, using thePerlinterface Delete(), the cursor in the currentwindow may move. (Chris Houser)Solution: Don't adjust the cursor position whenchanging another buffer.Files: src/if_perl.xsPatch 6.1.262Problem: When jumping overfolds with "z[", "zj" and "zk" the previous positionis not remembered. (Hari Krishna Dara)Solution: Set the previous contextmark before jumping.Files: src/fold.cPatch 6.1.263Problem: When typingamultibyte character that triggers an abbreviationitis not inserted properly.Solution: Handle adding the typedmultibyte character. (Yasuhiro Matsumoto)Files: src/getchar.cPatch 6.1.264 (depends on patch 6.1.254)Problem:exists() does not work for built-in functions. (Steve Wall)Solution: Don't check for the function name to start witha capital.Files: src/eval.cPatch 6.1.265Problem:libcall() can be used in'foldexpr' to call any system function. rename(),delete() andremote_send() can also be used in'foldexpr'. These are security problems. (Georgi Guninski)Solution: Don't allow using libcall(), rename(), delete(),remote_send() and similarfunctions in the sandbox.Files: src/eval.cPatch 6.1.266 (depends on 6.1.265)Problem: Win32: compile error in eval.c. (Bill McCarthy)Solution: Movea variable declaration.Files: src/eval.cPatch 6.1.267Problem: Using "p" to paste intoaVisual selected area may causea crash.Solution: Allocate enough memory for saving the register contents. (Muraoka Taro)Files: src/ops.cPatch 6.1.268Problem: When triggering an abbreviation withamultibyte character, this characteris not correctly inserted after expanding the abbreviation. (Taro Muraoka)Solution: Add ABBR_OFF to all characters above 0xff.Files: src/edit.c, src/ex_getln.c, src/getchar.cPatch 6.1.269Problem: After usinginput() text written with ":redir" gets extra indent. (David Fishburn)Solution: Restore msg_col after using input().Files: src/ex_getln.cPatch 6.1.270 (depends on 6.1.260)Problem: GCC 3.2.1 still seems to have an optimizer problem.Solution: Use the same configure checkas used for GCC 3.1.Files: src/auto/configure, src/configure.inPatch 6.1.271Problem: When compiling without the+syntax feature there are errors.Solution: Don't use some code forsyntax highlighting. (Roger Cornelius) Make test 45 work withoutsyntax highlighting. Also fix an error inapattern matching: "\%(" was not supported.Files: src/ex_cmds2.c, src/regexp.c, src/testdir/test45.inPatch 6.1.272Problem: After using ":set define<"a crash may happen. (Christian Robinson)Solution: Makea copy of the option value in allocated memory.Files: src/option.cPatch 6.1.273Problem: When the cursor doesn't blink, redrawing an exposed area may hide the cursor.Solution: Always draw the cursor, also whenit didn't move. (Muraoka Taro)Files: src/gui.cPatch 6.1.274 (depends on 6.1.210)Problem: Resetting theiconv() state after each erroris wrong for an incomplete sequence.Solution: Don't reset theiconv() state.Files: src/fileio.cPatch 6.1.275Problem: When using "v" inastartup script, get warning message thatterminal cannot highlight. (Charles Campbell)Solution: Only give the message after theterminal has been initialized.Files: src/normal.cPatch 6.1.276Problem: "gvim--remote file" doesn't prompt for anencryption key.Solution: The further characters the client sends to the server are used. Addedinputsave() andinputrestore() to allow prompting the user directly and not using typeahead. Also fix possible memory leak for ":normal".Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/getchar.c, src/main.c, src/proto/getchar.pro, src/proto/ui.pro, src/runtime/doc/eval.txt, src/structs.h, src/ui.c, src/vim.hPatch 6.1.277 (depends on 6.1.276)Problem: Compilation error when building with small features.Solution: Define trash_input_buf() when needed. (Kelvin Lee)Files: src/ui.cPatch 6.1.278Problem: When usingsigns the line number ofa closed fold doesn't line up with the other line numbers. (Kamil Burzynski)Solution:Insert two spaces for the sign column.Files: src/screen.cPatch 6.1.279Problem: The prototype for smsg() and smsg_attr()do not match the function definition. This may cause trouble for some compilers. (Nix)Solution: Use va_list for systems that have stdarg.h. Use "int" instead of "void" for the return type.Files: src/auto/configure, src/config.h.in, src/configure.in, src/proto.h, src/message.cPatch 6.1.280Problem: It's possible to use an argument "firstline" or "lastline" fora function but using "a:firstline" or "a:lastline" in the function won't work. (Benji Fisher)Solution: Give an error message for these arguments. Also avoid that the following function body causesa whole row of errors, skip overit after an error in the first line.Files: src/eval.cPatch 6.1.281Problem: InInsert modeCTRL-XCTRL-G leaves the cursor after the ruler.Solution: Set the cursor position before waiting for the argument ofCTRL-G. (Yasuhiro Matsumoto)Files: src/edit.cPatch 6.1.282Problem:Elvis uses "se" ina modeline, Vim doesn't recognize this.Solution: Also accept "se " where "set "is accepted ina modeline. (Yasuhiro Matsumoto)Files: src/buffer.cPatch 6.1.283Problem: For ":sign" the icon file name cannot containa space.Solution: Handle backslashes in the file name. (Yasuhiro Matsumoto)Files: src/ex_cmds.cPatch 6.1.284Problem: On Solaris thereisa warning for "struct utimbuf".Solution: Move including "utime.h" to outside the function. (Derek Wyatt)Files: src/fileio.cPatch 6.1.285Problem: Can't wipe outa buffer with'bufhide' option.Solution: Add "wipe" value to'bufhide'. (Yegappan Lakshmanan)Files: runtime/doc/options.txt, src/buffer.c, src/option.c, src/quickfix.cPatch 6.1.286Problem:'showbreak' cannot containmultibyte characters.Solution: Allow using all printable characters for'showbreak'.Files: src/charset.c, src/move.c, src/option.cPatch 6.1.287 (depends on 6.1.285)Problem: Effect of "delete" and "wipe" in'bufhide' were mixed up.Solution: Wipe out when wiping outis asked for.Files: src/buffer.cPatch 6.1.288Problem: ":silent functionF" hangs. (Hari Krishna Dara)Solution: Don't use msg_col,itis not incremented when using ":silent". Also made the function output looka bit better. Don't translate "function".Files: src/eval.cPatch 6.1.289 (depends on 6.1.278)Problem: Compiler warning for pointer. (Axel Kielhorn)Solution: Adda typecast for " ".Files: src/screen.cPatch 6.1.290 (extra)Problem: Truncating long text for message box may breakmultibyte character.Solution: Adjust to start ofmultibyte character. (Yasuhiro Matsumoto)Files: src/os_mswin.cPatch 6.1.291 (extra)Problem: Win32:CTRL-@ doesn't work. Don't even geta message for it.Solution: Recognize the keycode forCTRL-@. (Yasuhiro Matsumoto)Files: src/gui_w48.cPatch 6.1.292 (extra, depends on 6.1.253)Problem: Win32: Can't compile with new MingW compiler. Borland 5 makefile doesn't generate pathdef.c.Solution: Remove -wwide-multiply argument. (Rene de Zwart) Various fixes for other problems inWin32 makefiles. (Dan Sharp)Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.makPatch 6.1.293Problem:byte2line() returnsa wrong result for some values.Solution: Change ">=" to ">" in ml_find_line_or_offset(). (BradfordC Smith) Add one to the line number whenat theend ofa block.Files: src/memline.cPatch 6.1.294Problem: Can't includeamultibyte character inastring by its hex value. (Benji Fisher)Solution: Add "\u....":a character specified with up to four hex numbers and stored according to the value of'encoding'.Files: src/eval.cPatch 6.1.295 (extra)Problem: Processing the cs.po file generates an error. (Rahul Agrawal)Solution: Fix the printf format characters in the translation.Files: src/po/cs.poPatch 6.1.296Problem: Win32: When cancelling the fontdialog'guifont' remains set to "*".Solution: Restore the old value of'guifont' (Yasuhiro Matsumoto)Files: src/option.cPatch 6.1.297Problem: "make test" fails in test6 in anUTF-8 environment. (Benji Fisher)Solution: Before executing theBufReadPostautocommands save the current fileencoding, so that the file isn't marked changed.Files: src/fileio.cPatch 6.1.298Problem: When usingsigns and the first line ofa closed fold hasa signit can be redrawnas if the fold was open. (Kamil Burzynski)Solution: Don't redrawa sign insidea closed fold.Files: src/screen.cPatch 6.1.299Problem: ":edit +set\ ro file" doesn't work.Solution: Halve the number of backslashes in the "+cmd" argument.Files: src/ex_docmd.cPatch 6.1.300 (extra)Problem: Handling of ETO_IGNORELANGUAGEis confusing.Solution: Clean up the handling of ETO_IGNORELANGUAGE. (Glenn Maynard)Files: src/gui_w32.cPatch 6.1.301 (extra)Problem: French translation of file-savedialog doesn't show file name.Solution:Insertastar in the printf string. (Francois Terrot)Files: src/po/fr.poPatch 6.1.302Problem: Counting lines of theVisual areais incorrect for closed folds. (Mikolaj Machowski)Solution: Correct the start andend for the closed fold.Files: src/normal.cPatch 6.1.303 (extra)Problem: The Top/Bottom/All text does not always fit in the ruler when translated to Japanese. Problem witha character being wider when inabold font.Solution: Use ETO_PDY to specify the width of each character. (Yasuhiro Matsumoto)Files: src/gui_w32.cPatch 6.1.304 (extra, depends on 6.1.292)Problem: Win32: Postscriptis always enabled in the MingW Makefile. Pathdef.c isn't generated properly with Make_bc5.mak. (Yasuhiro Matsumoto)Solution: Change an ifdef to an ifeq. (Madoka Machitani) Use the Borland make redirection to generate pathdef.c. (Maurice Barnum)Files: src/Make_bc5.mak, src/Make_ming.makPatch 6.1.305Problem: When'verbose'is 14 or higher,a function call may cause reading uninitialized data. (Walter Briscoe)Solution: Check for end-of-string in trunc_string().Files: src/message.cPatch 6.1.306Problem: The AIX VisualAgecc compiler doesn't define __STDC__.Solution: Use __EXTENDED__ like __STDC__. (Jess Thrysoee)Files: src/os_unix.hPatch 6.1.307Problem: Whena double-byte character has an illegal tail byte the displayis messed up. (Yasuhiro Matsumoto)Solution: Draw "XX" instead of the wrong character.Files: src/screen.cPatch 6.1.308Problem: Can't reset theVisual mode returned by visualmode().Solution: Use an optional argument to visualmode(). (Charles Campbell)Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/structs.hPatch 6.1.309Problem: Thetutor doesn't select German if thelocale nameis "German_Germany.1252". (Joachim Hofmann)Solution: Check for "German" in thelocale name. Also check for ".ge". And include the German and Greek tutors.Files: runtime/tutor/tutor.de, runtime/tutor/tutor.vim, runtime/tutor/tutor.gr, runtime/tutor/tutor.gr.cp737Patch 6.1.310 (depends on 6.1.307)Problem: All double-byte characters are displayedas "XX".Solution: Use ">= 32" instead of "< 32". (Yasuhiro Matsumoto)Files: src/screen.cPatch 6.1.311 (extra)Problem: VMS: path inwindow title doesn't include necessary separator. file version doesn't always work properly with Unix. Crashes because of memory overwrite in GUI. Didn't always handle files withlowercase and correct path.Solution: Fix the problems. Remove unnecessary file name translations. (Zoltan Arpadffy)Files: src/buffer.c, src/ex_cmds2.c, src/fileio.c, src/memline.c, src/misc1.c, src/misc2.c, src/os_unix.c, src/os_vms.c, src/tag.cPatch 6.1.312Problem: When using ":silent" debuggingis also done silently.Solution: Disable silence whileat the debug prompt.Files: src/ex_cmds2.cPatch 6.1.313Problem: Whena ":drop fname" commandis used and "fname"is open in another window,itis also opened in the current window.Solution: Change to thewindow with "fname" instead. Don't redefine the argumentlist when dropping only one file.Files: runtime/doc/windows.txt, src/ex_cmds2.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.proPatch 6.1.314 (depends on 6.1.126)Problem: Missingbackslash in "Generic Config file"syntax menu.Solution:Insert the backslash. (Zak Beck)Files: runtime/makemenu.vim, runtime/synmenu.vimPatch 6.1.315 (extra)Problem:A very long hostname may lead to an unterminated string. Failing to obtaina hostname may result in garbage. (Walter Briscoe)Solution: Adda NULat theend of the hostname buffer.Files: src/os_mac.c, src/os_msdos.c, src/os_unix.c, src/os_win16.c, src/os_win32.cPatch 6.1.316Problem: Whenexiting with "wq" and thereisa hidden buffer, after the "file changed"dialog thereisa warning fora changed buffer. (Ajit Thakkar)Solution: Do update the buffertimestamps when exiting.Files: src/fileio.cPatch 6.1.317Problem: Closingawindow may cause some of the remainingwindows to be positioned wrong if thereisa mix of horizontal and vertical splits. (Stefan Ingi Valdimarsson)Solution: Update the frame sizes before updating thewindow positions.Files: src/window.cPatch 6.1.318Problem: auto/pathdef.c can include wrongquotes whena compiler flag includes quotes.Solution: Putabackslash before thequotes in compiler flags. (Shinra Aida)Files: src/MakefilePatch 6.1.319 (depends on 6.1.276)Problem: Using "--remote+cmd file" does not execute "cmd".Solution: Callinputrestore() in the same command lineas inputsave(), otherwiseit will never get executed.Files: src/main.cPatch 6.1.320 (depends on 6.1.313)Problem: Whena ":drop one\ file" commandis used the file "one\ file"is opened, thebackslashis not removed. (Taro Muraoka)Solution: Handle backslashes correctly. Always set the argumentlist to keepit simple.Files: runtime/doc/windows.txt, src/ex_cmds.cPatch 6.1.321Problem: When'mouse' includes 'n' but not 'v', don't allowstartingVisual mode with the mouse.Solution: Don't use MOUSE_MAY_VIS when thereis no 'v' in'mouse'. (Flemming Madsen)Files: src/normal.cPatch 6.1.322 (extra, depends on 6.1.315)Problem: Win32: The host nameis always "PC " plus the real host name.Solution: Don'tinsert "PC " before the host name.Files: src/os_win32.cPatch 6.1.323Problem: ":registers" doesn't stop listing fora "q"at the more prompt. (Hari Krishna Dara)Solution: Check for interrupt and got_int.Files: src/ops.c, src/proto/ops.proPatch 6.1.324Problem: Crash when dragginga vertical separator when<LeftMouse>is remapped to jump to another window.Solution: Pass thewindow pointer to the function doing the dragging instead of always using the current window. (Daniel Elstner) Also fix thatstartinga drag changeswindow focus.Files: src/normal.c, src/proto/window.pro, src/ui.c, src/vim.h, src/window.cPatch 6.1.325Problem: Shift-Tabis not automatically recognized in an xterm.Solution: Add<Esc>[Zas thetermcap code. (Andrew Pimlott)Files: src/term.cPatch 6.1.326Problem: Usinga searchpattern may read from uninitialized data (Yasuhiro Matsumoto)Solution: Initialize pointers to NULL.Files: src/regexp.cPatch 6.1.327Problem: When opening the "mbyte.txt"help file theutf-8 characters are unreadable, because the fileencodingis forced to be latin1.Solution: Check forutf-8 encoding first inhelp files. (Daniel Elstner)Files: runtime/doc/mbyte.txt, src/fileio.cPatch 6.1.328Problem: Prototype for enc_canon_search()is missing.Solution: Add the prototype. (Walter Briscoe)Files: src/mbyte.cPatch 6.1.329Problem: When editinga file "abc"replacing "%" in ":Cmd%" or ":next%" does not work properly. (Hari Krishna Dara)Solution: Alwaysescape spaces when expanding "%". Don't split argument for<f-args> ina user command when only one argumentis used.Files: src/ex_docmd.cPatch 6.1.330Problem: GTK,Motif and Athena: Keypad keys produce the same codeas non-keypad keys, makingit impossible to map them separately.Solution: Use differenttermcap codes for the keypad keys. (Neil Bird)Files: src/gui_gtk_x11.c, src/gui_x11.cPatch 6.1.331Problem: When translating thehelp files, "LOCAL ADDITIONS" no longer marks the spot wherehelp files from plugins are to be listed.Solution: Adda "local-additions"tag and use that to find the right spot.Files: runtime/doc/help.txt, src/ex_cmds.cPatch 6.1.332 (extra)Problem: Win32: LoadingPerl dynamically doesn't work withPerl 5.8.Perl 5.8 also does not work with Cygwin and Ming.Solution: Adjust the function calls. (Taro Muraoka) Adjust the cyg and ming makefiles. (Dan Sharp)Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, src/if_perl.xsPatch 6.1.333 (extra)Problem: Win32: Can't handleUnicode text on the clipboard. Can't pass NUL byte,it becomesa line break. (Bruce DeVisser)Solution: SupportUnicode for theclipboard (Ron Aaron and Glenn Maynard) Also support copy/paste of NUL bytes.Files: src/os_mswin.c, src/os_win16.c src/os_win32.cPatch 6.1.334 (extra, depends on 6.1.303)Problem: Problem with drawing Hebrew characters.Solution: Only use ETO_PDY for Windows NT and the like. (Yasuhiro Matsumoto)Files: src/gui_w32.cPatch 6.1.335 (extra)Problem: Failure of obtaining the cursor position andwindow sizeis ignored.Solution: Removea semicolon after an "if". (Walter Briscoe)Files: src/gui_w32.cPatch 6.1.336 (extra)Problem: Warning for use of function prototypes of smsg().Solution: Define HAVE_STDARG_H. (Walter Briscoe)Files: src/os_win32.hPatch 6.1.337Problem: When using "finish" in debug mode in function B() for ":call A(B())" does not stop after B()is finished.Solution: Increase debug_level while evaluatinga function.Files: src/ex_docmd.cPatch 6.1.338Problem: When usinga menu that checks out the current file fromInsert mode, thereis no warning for the changed file untilexitingInsert mode. (Srikanth Sankaran)Solution: Adda check for need_check_timestamps in theInsert mode loop.Files: src/edit.cPatch 6.1.339Problem: Completion doesn't allow "g:" in ":let g:did_<Tab>". (Benji Fisher)Solution: Return "g:var" for globalvariables when thatis whatis being expanded. (Flemming Madsen)Files: src/eval.cPatch 6.1.340 (extra, depends on 6.1.332)Problem: Win32: Can't compile thePerlinterface with nmake.Solution: Don't compare the version numberasastring butasa number. (Juergen Kraemer)Files: src/Make_mvc.makPatch 6.1.341Problem: InInsert mode with'rightleft' set the cursoris drawn halfwaya double-wide character. ForCTRL-R andCTRL-K inInsert mode the " or?is not displayed.Solution: Draw the cursor in the next character cell. Display the " or? over the right half of the double-wide character. (Yasuhiro Matsumoto) Also fix that cancellingadigraph doesn't redrawa double-byte character correctly.Files: src/edit.c, src/gui.c, src/mbyte.cPatch 6.1.342 (depends on 6.1.341)Problem: With'rightleft' set typing "c" ona double-wide character causes the cursor to be displayed one cell to the left.Solution: Draw the cursor in the next character cell. (Yasuhiro Matsumoto)Files: src/gui.cPatch 6.1.343 (depends on 6.1.342)Problem: Cannot compile with the+multi_byte feature but without +rightleft. Cannot compile without the GUI.Solution: Fix the #ifdefs. (partly by Nam SungHyun)Files: src/gui.c, src/mbyte.c, src/ui.cPatch 6.1.344Problem: When using ":silentfiletype" the outputis stillput in the message history. (Hari Krishna Dara)Solution: Don't addmessages in thehistory when ":silent"is used.Files: src/message.cPatch 6.1.345 (extra)Problem: Win32:'imdisable' doesn't work.Solution: Make'imdisable' work. (Yasuhiro Matsumoto)Files: src/gui_w32.cPatch 6.1.346Problem: The scroll wheel can only scroll the current window.Solution: Make the scroll wheel scroll thewindow that the mouse points to. (Daniel Elstner)Files: src/edit.c, src/gui.c, src/normal.c, src/term.cPatch 6.1.347Problem: When usingcscope tolist matching tags, the listed numberis sometimes not equal to whatcscope uses. (Vihren Milev)Solution: Forcscopetags use only one table, don't givetags in the current filea higher priority.Files: src/tag.cPatch 6.1.348Problem: Wildmode with wildmenu: ":set wildmode=list,full", ":colorscheme<tab>" results in "zellner" instead of the first entry. (Anand Hariharan)Solution: Don't call ExpandOne() from globpath(). (Flemming Madsen)Files: src/ex_getln.cPatch 6.1.349Problem: "vim--serverlist" when no server was ever started gives an error message without "\n". "vim--serverlist" doesn't exit when theX server can't be contacted,it starts Vim unexpectedly. (Ricardo Signes)Solution: Don't give an error when no Vim server was ever started. Treat failing of opening the display equal toerrors inside the remote*() functions. (Flemming Madsen)Files: src/if_xcmdsrv.c, src/main.cPatch 6.1.350Problem: When enteringa buffer with ":bnext" for the first time, using anautocommand to restore the last used cursor position doesn't work. (Paolo Giarusso)Solution: Don't use the last known cursor position of the current Vim invocation if anautocommand changed the position.Files: src/buffer.cPatch 6.1.351 (depends on 6.1.349)Problem: Crash whenstarting Vim the first time in anX server. (John McGowan)Solution: Don't call xFree() witha fixed string.Files: src/if_xcmdsrv.cPatch 6.1.352 (extra, depends on 6.1.345)Problem: Win32: Crash when setting "imdisable" in _vimrc.Solution: Don't callIMEfunctions when imm32.dll was not loaded (yet). Also add typecasts to avoid Compiler warnings for ImmAssociateContext() argument.Files: src/gui_w32.cPatch 6.1.353 (extra, depends on 6.1.334)Problem: Problem with drawingArabic characters.Solution: Don't use ETO_PDY,do use padding.Files: src/gui_w32.cPatch 6.1.354 (extra, depends on 6.1.333)Problem:MS-Windows 98: Notepad can't paste text copied from Vim when'encoding'is "utf-8".Solution: Also make CF_TEXT available on the clipboard. (Ron Aaron)Files: src/os_mswin.cPatch 6.1.355Problem: Inaregexp '\n' will never match anything ina string.Solution: Make '\n' matcha newline character.Files: src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/misc1.c, src/option.c, src/os_mac.c, src/os_unix.c, src/quickfix.c, src/regexp.c, src/search.c, src/syntax.c, src/tag.c, src/vim.hPatch 6.1.356 (extra, depends on, well, eh, several others)Problem: Compiler warnings for using convert_setup() anda few other things.Solution: Add typecasts.Files: src/mbyte.c, src/os_mswin.c, src/proto/os_win32.pro, src/os_win32.cPatch 6.1.357Problem: CR in thequickfixwindow jumps to the error under the cursor, but this doesn't work inInsert mode. (Srikanth Sankaran)Solution: Handle CR inInsert mode in thequickfix window.Files: src/edit.cPatch 6.1.358Problem: Thetutor doesn't select anotherlocale version properly.Solution:Insert the "let" command. (Yasuhiro Matsumoto)Files: runtime/tutor/tutor.vimPatch 6.1.359 (extra)Problem:Mac Carbon: Vim doesn't get focus when started from the command line. Crash when using horizontal scroll bar.Solution: Set Vimas the frontprocess. Fix scrolling. (Peter Cucka)Files: src/gui_mac.cPatch 6.1.360 (depends on 6.1.341)Problem: InInsert modeCTRL-K ESC messes upamultibyte character. (Anders Helmersson)Solution: Save all bytes ofa character when displayinga character temporarily.Files: src/edit.c, src/proto/screen.pro, src/screen.cPatch 6.1.361Problem: Cannot jump toa filemark with ":'M".Solution: Allow jumping to another file foramark in anEx address whenitis the only thing in the command line.Files: src/ex_docmd.cPatch 6.1.362Problem: tgetent() may return zero for success. tgetflag() may return -1 for an error.Solution: Check tgetflag() for returninga positive value. Add an autoconf check for the value that tgetent() returns.Files: src/auto/configure, src/config.h.in, src/configure.in, src/term.cPatch 6.1.363Problem:byte2line() can return one more than the number of lines.Solution: Return -1 if the offsetis one byte past the end.Files: src/memline.cPatch 6.1.364Problem: That theFileChangedShellautocommand event never nests makesit difficult toreloada file ina normal way.Solution: Allow nesting for theFileChangedShell event butdo not allow triggering itself again. Also avoidautocommands for the cmdlinewindow in rare cases.Files: src/ex_getln.c, src/fileio.c, src/window.cPatch 6.1.365 (depends on 6.1.217)Problem: Settinga breakpoint ina sourced file witha relative path name doesn't work. (Servatius Brandt)Solution: Expand the file name toa full path.Files: src/ex_cmds2.cPatch 6.1.366Problem: Can't use Vim with Netbeans.Solution: Add the Netbeans interface. Includes support for sign icons and "-fg" and "-bg" arguments for GTK. Add the'autochdir' option. (Gordon Prieur, George Hernandez, Dave Weatherford) Makeit possible to display botha sign witha text and one with line highlighting in the same line. Add support for Agide,interface version 2.1. Also fix that when'iskeyword' includes '?' the "*" command doesn't work properly onaword that includes "?" (Bill McCarthy): Don'tescape "?" to "\?" when searching forward.Files: runtime/doc/Makefile, runtime/doc/netbeans.txt, runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, src/auto/configure, src/buffer.c, src/config.h.in, src/config.mk.in, src/configure.in, src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/feature.h, src/fileio.c, src/globals.h, src/gui.c, src/gui_beval.c, src/gui_gtk_x11.c, src/gui_x11.c, src/main.c, src/memline.c, src/misc1.c, src/misc2.c, src/move.c, src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/normal.c, src/ops.c, src/option.c, src/option.h, src/proto/buffer.pro, src/proto/gui_beval.pro, src/proto/gui_gtk_x11.pro, src/proto/gui_x11.pro, src/proto/misc2.pro, src/proto/netbeans.pro, src/proto/normal.pro, src/proto/ui.pro, src/proto.h, src/screen.c, src/structs.h, src/ui.c, src/undo.c, src/vim.h, src/window.c, src/workshop.cPatch 6.1.367 (depends on 6.1.365)Problem: Settinga breakpoint ina function doesn't work. Fora sourced fileit doesn't work when symbolic links are involved. (Servatius Brandt)Solution: Expand the file name in the same wayas do_source() does. Don't prepend the path toa function name.Files: src/ex_cmds2.cPatch 6.1.368Problem: Completion for ":map" does not include<silent> and<script>. ":mkexrc"do not save the<silent> attribute of mappings.Solution: Add "<silent>" to the generated map commands when appropriate. (David Elstner) Add<silent> and<script> to command line completion.Files: src/getchar.cPatch 6.1.369 (extra)Problem: VMS: Vim hangs when attempting to edita read-only file in the terminal. Problem withVMS filenames for quickfix.Solution: Rewrite low level input. Remove version number from file name ina couple more places. Fix crash after patch 6.1.362. Correct return code for system(). (Zoltan Arpadffy, Tomas Stehlik)Files: src/misc1.c, src/os_unix.c, src/os_vms.c, src/proto/os_vms.pro, src/os_vms_conf.h, src/quickfix.c, src/ui.cPatch 6.1.370Problem: #ifdef nestingis unclear.Solution:Insert spaces to indicate the nesting.Files: src/os_unix.cPatch 6.1.371Problem: "%V" in'statusline' doesn't show "0-1" in an empty line.Solution: Add one to the column when comparing with virtual column (Andrew Pimlott)Files: src/buffer.cPatch 6.1.372Problem: With 16 bit ints there are compiler warnings. (Walter Briscoe)Solution: Change int into long.Files: src/structs.h, src/syntax.cPatch 6.1.373Problem: The default page header forprintingis not translated.Solution: Add _() around the two places where "Page"is used. (Mike Williams) Translate the default value of the'titleold' and'printheader' options.Files: src/ex_cmds2.c, src/option.cPatch 6.1.374 (extra)Problem: MS-Windows: Cannot build GvimExt with MingW or Cygwin.Solution: Add makefile and modified resource files. (Rene de Zwart) Also support Cygwin. (Alejandro Lopez_Valencia)Files: GvimExt/Make_cyg.mak, GvimExt/Make_ming.mak, GvimExt/Makefile, GvimExt/gvimext_ming.def, GvimExt/gvimext_ming.rcPatch 6.1.375Problem: MS-Windows: ':!dir "%"' does not work fora file name with spaces. (Xiangjiang Ma)Solution: Don'tinsert backslashes for spaces ina shell command.Files: src/ex_docmd.cPatch 6.1.376Problem: "vim--version" and "vim--help" havea non-zero exit code. Thatis unusual. (Petesea)Solution: Usea zero exit code.Files: src/main.cPatch 6.1.377Problem: Can't add words to'lispwords' option.Solution: Add P_COMMA and P_NODUP flags. (Haakon Riiser)Files: src/option.cPatch 6.1.378Problem: When two buffer-local user commands are ambiguous,a full match witha global user command isn't found. (Hari Krishna Dara)Solution: Detect this situation and accept the global command.Files: src/ex_docmd.cPatch 6.1.379Problem: Linux with kernel 2.2 can't use the alternate stack in combination with threading, causes an infinite loop.Solution: Don't use the alternate stack in this situation.Files: src/os_unix.cPatch 6.1.380Problem: When'winminheight'is zero and thequickfixwindowis zero lines, entering thewindow doesn't makeit higher. (Christian J. Robinson)Solution: Make sure the currentwindowisat least one line high.Files: src/window.cPatch 6.1.381Problem: WhenaBufWriteCmdis used andit leaves the buffer modified, thewindow may still be closed. (Hari Krishna Dara)Solution: Return FAIL from buf_write() when the bufferis still modified afteraBufWriteCmdautocommand was used.Files: src/fileio.cPatch 6.1.382 (extra)Problem:Win32 GUI: When using two monitors, the code that checks/fixes thewindow size and position (e.g. whena font changes) doesn't work properly. (George Reilly)Solution: Handlea double monitor situation. (Helmut Stiegler)Files: src/gui_w32.cPatch 6.1.383Problem: The filling of the status line doesn't work properly formultibyte characters. (Nam SungHyun) Thereis no check for going past theend of the buffer.Solution: Properly distinguish characters and bytes. Properly check for running out of buffer space.Files: src/buffer.c, src/ex_cmds2.c, src/proto/buffer.pro, src/screen.cPatch 6.1.384Problem: Itis not possible to find ifa certain patch has been included. (Lubomir Host)Solution: Support usinghas() to check ifa patch was included.Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro, src/version.cPatch 6.1.385 (depends on 6.1.383)Problem: Can't compile without themultibyte feature.Solution: Move an #ifdef. (Christian J. Robinson)Files: src/buffer.cPatch 6.1.386Problem: Get duplicatetags when running ":helptags".Solution: Do the other half of movingasection to anotherhelp file.Files: runtime/tagsrch.txtPatch 6.1.387 (depends on 6.1.373)Problem: Compiler warning for pointer cast.Solution: Add (char_u *).Files: src/option.cPatch 6.1.388 (depends on 6.1.384)Problem: Compiler warning for pointer cast.Solution: Add (char *). Only include has_patch() when used.Files: src/eval.c, src/version.cPatch 6.1.389 (depends on 6.1.366)Problem: Balloon evaluation doesn't work for GTK. has("balloon_eval") doesn't work.Solution: Add balloon evaluation for GTK. Also improve displaying of signs. (Daniel Elstner) Also make ":gui" start thenetbeans connection and avoid usingnetbeansfunctions when the connectionis not open.Files: src/Makefile, src/feature.h, src/gui.c, src/gui.h, src/gui_beval.c, src/gui_beval.h, src/gui_gtk.c, src/gui_gtk_x11.c, src/eval.c, src/memline.c, src/menu.c, src/netbeans.c, src/proto/gui_beval.pro, src/proto/gui_gtk.pro, src/structs.h, src/syntax.c, src/ui.c, src/workshop.cPatch 6.1.390 (depends on 6.1.389)Problem: It's not possible to tell Vim to save and exit through the Netbeans interface. Would still try to send ballooneval text after the connectionis closed. Can't useUnicode characters for sign text.Solution: Addfunctions "saveAndExit" and "getModified". Check fora working connection before sendinga balloonText event.various other cleanups. Support any character for sign text. (Daniel Elstner)Files: runtime/doc/netbeans.txt, runtime/doc/sign.txt, src/ex_cmds.c, src/netbeans.c, src/screen.cPatch 6.1.391Problem: ml_get() error when using virtualedit. (Charles Campbell)Solution: Geta line froma specific window, not the current one.Files: src/charset.cPatch 6.1.392 (depends on 6.1.383)Problem: Highlighting in the'statusline'is in the wrong position when an itemis truncated. (Zak Beck)Solution: Correct the start of'statusline' items properly fora truncated item.Files: src/buffer.cPatch 6.1.393Problem: When compiled withPython and threads, detaching theterminal may cause Vim to loop forever.Solution: Add -pthread to $CFLAGS when usingPython and gcc. (Daniel Elstner)Files: src/auto/configure,, src/configure.inPatch 6.1.394 (depends on 6.1.390)Problem: Thenetbeansinterface doesn't recognizemultibyte glyph names.Solution: Check the number of cells rather than bytes to decide whethera glyph nameis nota filename. (Daniel Elstner)Files: src/netbeans.cPatch 6.1.395 (extra, depends on 6.1.369)Problem: VMS: OLD_VMSis never defined. Missing function prototype.Solution: Define OLD_VMS in Make_vms.mms. Add vms_sys_status() to os_vms.pro. (Zoltan Arpadffy)Files: src/Make_vms.mms, src/proto/os_vms.proPatch 6.1.396 (depends on 6.1.330)Problem: Compiler warnings for using enum.Solution: Add typecast to char_u.Files: src/gui_gtk_x11.c, src/gui_x11.cPatch 6.1.397 (extra)Problem: Theinstall program may usea wrong path for thediff command if thereisaspace in theinstall directory path.Solution: Use doublequotes around the path if necessary. (Alejandro Lopez-Valencia) Also use doublequotes around the file name arguments.Files: src/dosinst.cPatch 6.1.398Problem: Saving the typeahead for debug mode causes trouble fora test script. (Servatius Brandt)Solution: Add the ":debuggreedy" command to avoid saving the typeahead.Files: runtime/doc/repeat.txt, src/ex_cmds.h, src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds2.proPatch 6.1.399Problem: Warning for unused variable.Solution: Remove the variable two_or_more.Files: src/ex_cmds.cPatch 6.1.400 (depends on 6.1.381)Problem: WhenaBufWriteCmd wipes out the bufferit may still be accessed.Solution: Don't try accessinga buffer that has been wiped out.Files: src/fileio.cPatch 6.1.401 (extra)Problem: Building the Win16 version with Borland 5.01 doesn't work. "make test" doesn't work with Make_dos.mak. (Walter Briscoe)Solution: Various fixes to the w16 makefile. (Walter Briscoe) Don't use deltree. Use "mkdir \tmp" instead of "mkdir /tmp".Files: src/Make_w16.mak, src/testdir/Make_dos.makPatch 6.1.402Problem: When evaluatinga function name with curly braces, an erroris not handled consistently.Solution: Accept the result ofa curly bracesexpression when an error was encountered. Skip evaluating anexpression in curly braces when skipping. (Servatius Brandt)Files: src/eval.cPatch 6.1.403 (extra)Problem:MS-Windows 16 bit: compiler warnings.Solution: Add typecasts. (Walter Briscoe)Files: src/ex_cmds2.c, src/gui_w48.c, src/os_mswin.c, src/os_win16.c, src/syntax.cPatch 6.1.404 (extra)Problem: Various small problems.Solution: Fix comments. Various small additions, changes in indent, removal of unused items and fixes.Files: Makefile, README.txt, runtime/menu.vim, runtime/vimrc_example.vim, src/INSTALL, src/INSTALLole.txt, src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, src/Makefile, src/config.h.in, src/edit.c, src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/getchar.c, src/gui.c, src/gui_gtk.c, src/gui_photon.c, src/if_cscope.c, src/if_python.c, src/keymap.h, src/mark.c, src/mbyte.c, src/message.c, src/misc1.c, src/misc2.c, src/normal.c, src/option.c, src/os_os2_cfg.h, src/os_win32.c, src/proto/getchar.pro, src/proto/message.pro, src/proto/regexp.pro, src/screen.c, src/structs.h, src/syntax.c, src/term.c, src/testdir/test15.in, src/testdir/test15.ok, src/vim.rc, src/xxd/Make_cyg.mak, src/xxd/MakefilePatch 6.1.405Problem:A few files are missing from the toplevel Makefile.Solution: Add the missing files.Files: MakefilePatch 6.1.406 (depends on 6.1.392)Problem: Whena statusline item doesn't fit arbitrary text appears. (Christian J. Robinson)Solution: When thereis just enough room but not for the "<" truncate the statusline item like thereis no room.Files: src/buffer.cPatch 6.1.407Problem: ":set scrollbind |help" scrollbinds thehelp window. (Andrew Pimlott)Solution: Reset'scrollbind' when openingahelp window.Files: src/ex_cmds.cPatch 6.1.408Problem: When'rightleft'is set unprintable character 0x0cis displayedas ">c0<".Solution: Reverse the text of the hex character.Files: src/screen.cPatch 6.1.409Problem: Generatingtags for thehelp doesn't work for some locales.Solution: Set LANG=C LC_ALL=C in the environment for "sort". (Daniel Elstner)Files: runtime/doc/MakefilePatch 6.1.410 (depends on 6.1.390)Problem: Linking error when compiling with Netbeans but without sign icons. (Malte Neumann)Solution: Don't define buf_signcount() when sign icons are unavailable.Files: src/buffer.cPatch 6.1.411Problem: When'virtualedit'is set, highlightingaVisual block beyond theend ofa line may be wrong.Solution: Correct the virtual column when theend of the lineis before the displayed part of the line. (Muraoka Taro)Files: src/screen.cPatch 6.1.412Problem: When swappingterminal screens and using ":gui" to start the GUI, the shell prompt may be afterahit-enter prompt.Solution: Outputa newline in theterminal whenstarting theGUI and there wasahit-enter prompt..Files: src/gui.cPatch 6.1.413Problem: When'clipboard' contains "unnamed", "p" inVisual mode doesn't work correctly.Solution: Save the register before overwritingit andput the resulting text on theclipboard afterwards. (Muraoka Taro)Files: src/normal.c, src/ops.cPatch 6.1.414 (extra, depends on 6.1.369)Problem: VMS: Vim busy waits when waiting for input.Solution: Delay fora short while before getting another character. (Zoltan Arpadffy)Files: src/os_vms.cPatch 6.1.415Problem: When thereisa vertical split andaquickfix window, reducing the size of the Vimwindow may result ina wrongwindow layout anda crash.Solution: When reducing thewindow size and thereis not enoughspace for'winfixheight' set the frame height to the larger height, so that thereisa retry while ignoring'winfixheight'. (Yasuhiro Matsumoto)Files: src/window.cPatch 6.1.416 (depends on 6.1.366)Problem: When using the Netbeans interface,a line witha sign cannot be changed.Solution: Respect the GUARDEDOFFSET for sign IDs when checking fora guarded area.Files: src/netbeans.cPatch 6.1.417Problem: Unprintablemultibyte characters are not handled correctly. Multi-byte characters above 0xffff are displayedas another character.Solution: Handle unprintablemultibyte characters. Displaymultibyte characters above 0xffff witha marker. Recognize UTF-16 words and BOM wordsas unprintable. (Daniel Elstner)Files: src/charset.c, src/mbyte.c, src/screen.cPatch 6.1.418Problem: The result ofstrftime()is in the current locals. Need to convertit to'encoding'.Solution: Obtain the currentlocale and convert the argument forstrftime() toit and the result back to'encoding'. (Daniel Elstner)Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/mbyte.c, src/proto/mbyte.pro, src/option.c, src/os_mswin.cPatch 6.1.419Problem: Vim doesn't compile on AIX 5.1.Solution: Don't define _NO_PROTO on this system. (Uribarri)Files: src/auto/configure, src/configure.inPatch 6.1.420 (extra)Problem: convert_input() has an unnecessary STRLEN(). Conversion from UCS-2 toa codepage useswordcount instead of byte count.Solution: Remove the STRLEN() call. (Daniel Elstner) Always use bytecount for string_convert().Files: src/gui_w32.c, src/mbyte.cPatch 6.1.421 (extra, depends on 6.1.354)Problem:MS-Windows 9x: When putting text on theclipboardit can be in the wrong encoding.Solution: Convert text to the active codepage for CF_TEXT. (Glenn Maynard)Files: src/os_mswin.cPatch 6.1.422Problem: Error in.vimrc doesn't causehit-enter prompt when swapping screens. (Neil Bird)Solution: Set msg_didany also when sendinga message to theterminal directly.Files: src/message.cPatch 6.1.423Problem: Can't find arbitrary text inhelp files.Solution: Added the ":helpgrep" command.Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, src/proto/quickfix.pro, src/quickfix.cPatch 6.1.424 (extra)Problem: Win32:gvim compiled with VC++ 7.0 run on Windows 95 does not show menu items.Solution: Define $WINVER to avoid an extra itemis added to MENUITEMINFO. (Muraoka Taro)Files: src/Make_mvc.makPatch 6.1.425Problem: ":helptags $VIMRUNTIME/doc" does not add the "help-tags" tag.Solution: Do add the "help-tags"tag for that specific directory.Files: src/ex_cmds.cPatch 6.1.426Problem: "--remote-wait+cmd file" waits forever. (Valery Kondakoff)Solution: Don't wait for the "+cmd" argument to have been edited.Files: src/main.cPatch 6.1.427Problem: Several errormessages forregexp patterns are not translated.Solution: Use _() properly. (Muraoka Taro)Files: src/regexp.cPatch 6.1.428Problem: FreeBSD: wait() may hang when compiled withPython support and doingasystem() call inastartup script.Solution: Use waitpid() instead of wait() and poll every 10 msec, just like whatis done in the GUI.Files: src/os_unix.cPatch 6.1.429 (depends on 6.1.390)Problem: Crash when using showmarks.vim plugin. (Charles Campbell)Solution: Check for sign_get_text() returninga NULL pointer.Files: src/screen.cPatch 6.1.430Problem: In Lisp code backslashed parens should be ignored for "%". (Dorai)Solution: Skip over backslashed parens.Files: src/search.cPatch 6.1.431Problem: Debug commandsend up in redirected text.Solution: Disable redirection while handling debug commands.Files: src/ex_cmds2.cPatch 6.1.432 (depends on 6.1.375)Problem: MS-Windows: ":make%:p" inserts extra backslashes. (David Rennalls)Solution: Don't add backslashes, handleit like ":!cmd".Files: src/ex_docmd.cPatch 6.1.433Problem: ":popup" only works for Win32.Solution: Add ":popup" support for GTK. (Daniel Elstner)Files: runtime/doc/gui.txt, src/ex_docmd.c, src/gui_gtk.c, src/menu.c, src/proto/gui_gtk.proPatch 6.1.434 (extra)Problem: Win32: When there are more than 32767 lines, the scrollbar hasa roundoff error.Solution: Makea click on an arrow move one line. Also move the code to gui_w48.c, thereis hardly any difference between the 16 bit and 32 bit versions. (Walter Briscoe)Files: src/gui_w16.c, src/gui_w32.c, src/gui_w48.cPatch 6.1.435Problem: ":winsizex" resizes the Vimwindow to the minimal size. (Andrew Pimlott)Solution: Give an error message for wrong arguments of ":winsize" and ":winpos".Files: src/ex_docmd.cPatch 6.1.436Problem: Whena longUTF-8 file contains an illegal byte it's hard to find out whereit is. (Ron Aaron)Solution: Add the line number to the error message.Files: src/fileio.cPatch 6.1.437 (extra, depends on 6.1.421)Problem: Usingmultibytefunctions when they are not available.Solution: Put theclipboard conversion inside an #ifdef. (Vince Negri) Also fixa pointer type mistake. (Walter Briscoe)Files: src/os_mswin.cPatch 6.1.438Problem: WhenPerl has thread support Vim cannot use thePerl interface.Solution: Adda configure check and disablePerl whenit will not work. (Aron Griffis)Files: src/auto/configure, src/configure.inPatch 6.1.439Problem: Netbeans:A "create" function doesn't actually createa buffer, followingfunctions may fail.Solution: Createa Vim buffer withouta name when "create"is called. (Gordon Prieur)Files: runtime/doc/netbeans.txt, src/netbeans.cPatch 6.1.440Problem: The "@*" command doesn't obtain the actual contents of the clipboard. (Hari Krishna Dara)Solution: Obtain theclipboard text before executing the command.Files: src/ops.cPatch 6.1.441Problem: "zj" and "zk" cannot be usedasa motion command after an operator. (Ralf Hetzel)Solution: Accept these commandsas motion commands.Files: src/normal.cPatch 6.1.442Problem:Unicode 3.2 defines morespace and punctuation characters.Solution: Add the new characters to theUnicode tables. (Raphael Finkel)Files: src/mbyte.cPatch 6.1.443 (extra)Problem: Win32: The gvimext.dll build with Borland 5.5 requires another DLL.Solution: Builda statically linked version by default. (Dan Sharp)Files: GvimExt/Make_bc5.makPatch 6.1.444 (extra)Problem: Win32: Enablinga build with gettext supportis not consistent.Solution: Use "GETTEXT" for Borland and msvc makefiles. (Dan Sharp)Files: src/Make_bc5.mak, src/Make_mvc.makPatch 6.1.445 (extra)Problem: DJGPP: get warning for argument of putenv()Solution: Define HAVE_PUTENV to use DJGPP's putenv(). (Walter Briscoe)Files: src/os_msdos.hPatch 6.1.446 (extra)Problem: Win32: The MingW makefile usesa different style of arguments than other makefiles. DynamicIMEis not supported for Cygwin.Solution: Use "no" and "yes" style arguments. Remove the use of the dyn-ming.h include file. (Dan Sharp) Do not include the ime.h file and adjust the makefile. (Alejandro Lopez-Valencia)Files: src/Make_cyg.mak, src/Make_ming.mak, src/gui_w32.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/os_win32.cPatch 6.1.447Problem: "makeinstall" uses "make" directly for generatinghelp tags.Solution: Use $(MAKE) instead of "make". (Tim Mooney)Files: src/MakefilePatch 6.1.448Problem:'titlestring' hasa default maximum width of 50 chars per item.Solution: Remove the default maximum (also for'statusline').Files: src/buffer.cPatch 6.1.449Problem: When "1" and "a" are in'formatoptions', auto-formatting always movesa newly added character to the next line. (Servatius Brandt)Solution: Don't movea single character to the next line whenit was just typed.Files: src/edit.cPatch 6.1.450Problem: Termcap entry "kB" for back-tabis not recognized.Solution: Use back-tabas the shift-tab code.Files: src/keymap.h, src/misc2.c, src/term.cPatch 6.1.451Problem: GUI: When text in the finddialog containsa slash,abackslashis inserted the next timeitis opened. (Mezz)Solution: Remove escaped backslashes and question marks. (Daniel Elstner)Files: src/gui.cPatch 6.1.452 (extra, after 6.1.446)Problem: Win32:IME support doesn't work for MSVC.Solution: Use _MSC_VER instead of __MSVC. (Alejandro Lopez-Valencia)Files: src/gui_w32.cPatch 6.1.453 (after 6.1.429)Problem: When compiled without sign icons but with sign support, addinga sign may causea crash.Solution: Check for the text sign to exist before using it. (Kamil Burzynski)Files: src/screen.cPatch 6.1.454 (extra)Problem: Win32: pastingRussian text in Vim with'enc' set to cp1251 results inutf-8 bytes. (Perelyubskiy) Conversion from DBCS to UCS2 does not work when'encoding'is not the active codepage.Solution: Introduce enc_codepage and useit for conversion to'encoding' (Glenn Maynard) Use MultiByteToWideChar() and WideCharToMultiByte() instead of iconv(). Shoulddo most needed conversions without iconv.dll.Files: src/globals.h, src/gui_w32.c, src/mbyte.c, src/os_mswin.c, src/proto/mbyte.pro, src/proto/os_mswin.pro, src/structs.hPatch 6.1.455Problem: SomeUnicode characters can be one or two character cells wide.Solution: Add the'ambiwidth' option to tell Vim how to display these characters. (Jungshik Shin) Also reset thescript ID when setting an option to its default value, so that ":verbose set" won't give wrong info.Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.hPatch 6.1.456 (extra, after 6.1.454)Problem: Win32:IME doesn't work.Solution: ImmGetCompositionStringW() returns the size in bytes, not words. (Yasuhiro Matsumoto) Also fix typecast problem.Files: src/gui_w32.c, src/os_mswin.cPatch 6.1.457Problem: An empty register inviminfo causes conversion to fail.Solution: Don't convert an empty string. (Yasuhiro Matsumoto)Files: src/ex_cmds.c, src/mbyte.cPatch 6.1.458Problem: Compiler warning for pointer.Solution: Adda typecast.Files: src/ex_cmds.cPatch 6.1.459 (extra)Problem: Win32:libcall() may return an invalid pointer and cause Vim to crash.Solution: Adda strict check for the returned pointer. (Bruce Mellows)Files: src/os_mswin.cPatch 6.1.460Problem: GTK: afterscrolling the text one line witha key, clicking the arrow of the scrollbar does not always work. (Nam SungHyun)Solution: Always update the scrollbar thumb when the value changed, even whenit would not move, like for RISCOS. (Daniel Elstner)Files: src/gui.c, src/gui.hPatch 6.1.461Problem: Whena keymapis active, typinga character inSelect mode does not use it. (Benji Fisher)Solution: ApplyInsert modemapping to the character typed inSelect mode.Files: src/normal.cPatch 6.1.462Problem: Whenautocommands wipe outa buffer,a crash may happen. (Hari Krishna Dara)Solution: Don't decrement thewindowcount ofa buffer before calling theautocommands for it. When re-using the current buffer, watch out forautocommandschanging the current buffer.Files: src/buffer.c, src/ex_cmds.c, src/proto/buffer.proPatch 6.1.463Problem: Whenwritinga compressed file, the file name thatgzip stores in the fileis the weird temporary file name. (David Rennalls)Solution: Use the real file name when possible.Files: runtime/plugin/gzip.vimPatch 6.1.464Problem: Crash when using C++syntax highlighting. (Gerhard Hochholzer)Solution: Check fora negative index.Files: src/syntax.cPatch 6.1.465 (after 6.1.454)Problem: Compile error when using cygwin.Solution: Change #ifdef WIN32 to #ifdef WIN3264. (Alejandro Lopez-Valencia) Undefine WIN32 after including windows.hFiles: src/mbyte.cPatch 6.1.466Problem: The "-f" argumentisa bit obscure.Solution: Add the "--nofork" argument. Improve thehelp texta bit.Files: runtime/doc/starting.txt, src/main.cPatch 6.1.467Problem: Setting thewindow title doesn't work for Chinese.Solution: Use anX11 function to convert text toa text property. (Kentaro Nakazawa)Files: src/os_unix.cPatch 6.1.468Problem: ":mksession" also storesfolds forbuffers which will not be restored.Solution: Only storefolds fora buffer with'buftype' empty andhelp files.Files: src/ex_docmd.cPatch 6.1.469Problem:'listchars' cannot containmultibyte characters.Solution: HandlemultibyteUTF-8list characters. (Matthew Samsonoff)Files: src/message.c, src/option.c, src/screen.cPatch 6.1.470 (lang)Problem: Polishmessages don't show up correctly on MS-Windows.Solution: Convertmessages to cp1250. (Mikolaj Machowski) Also add English message translations, becauseit got in the way of the patch.Files: Makefile, src/po/Makefile, src/po/en_gb.po, src/po/pl.poPatch 6.1.471Problem: ":jumps" output continues after pressing "q"at the more-prompt. (Hari Krishna Dara)Solution: Check for "got_int" being set.Files: src/mark.cPatch 6.1.472Problem: When thereis an authentication error when connecting to theX server Vim exits.Solution: Use XSetIOErrorHandler() to catch the error and longjmp() to avoid the exit. Alsodo this in the main loop, so that when theX server exitsa Vim running ina console isn't killed.Files: src/globals.h, src/main.c, src/os_unix.cPatch 6.1.473Problem: Referring to $curwin or $curbuf inPerl 5.6 causesa crash.Solution: Add "pTHX_" to cur_val(). (Yasuhiro Matsumoto)Files: src/if_perl.xsPatch 6.1.474Problem: When opening the command-linewindow inEx mode it's impossible togo back. (Pavol Juhas)Solution: Reset "exmode_active" and restoreit when the command-linewindowis closed.Files: src/ex_getln.cPatch 6.2f.001Problem: The configure check forRuby didn't work properly forRuby 1.8.0.Solution: Change the way theRuby checkis done. (Aron Griffis)Files: src/auto/configure, src/configure.inPatch 6.2f.002Problem: The output of ":ls" doesn't show whethera buffer had read errors.Solution: Add the "x" flag in the ":ls" output.Files: runtime/doc/windows.txt, src/buffer.cPatch 6.2f.003Problem: Test49 doesn't properly test the behavior of ":catch" without an argument.Solution: Update test49. (Servatius Brandt)Files: src/testdir/test49.ok, src/testdir/test49.vimPatch 6.2f.004Problem: "vim--version" always uses CR/LF in the output.Solution: Omit the CR.Files: src/message.c, src/os_unix.cPatch 6.2f.005Problem: Two errormessages withouta colon after the number.Solution: Add the colon. (Taro Muraoka)Files: src/if_cscope.cPatch 6.2f.006Problem: When savinga file takesa while and Vim regains focus this can result ina "file changed outside of Vim" warning and ml_get() errors. (Mike Williams)Solution: Add the "b_saving" flag to avoid checking thetimestamp while the bufferis being saved. (Michael Schaap)Files: src/fileio.c, src/structs.hPatch 6.2f.007Problem: Irix compiler complains about multiple defined symbols. vsnprintf()is not available. (Charles Campbell)Solution:Insert EXTERN forvariables in globals.h. Change the configure check for vsnprintf() from compiling to linking.Files: src/auto/configure, src/configure.in, src/globals.hPatch 6.2f.008Problem: The Aap recipe doesn't work with Aap 0.149.Solution: Change targetarg to TARGETARG. Update the mysign file.Files: src/main.aap, src/mysignPatch 6.2f.009 (extra)Problem: Small problem when building with Borland 5.01.Solution: Usemkdir() instead of _mkdir(). (Walter Briscoe)Files: src/dosinst.hPatch 6.2f.010Problem: Warning for missing prototypes.Solution: Add missing prototypes. (Walter Briscoe)Files: src/if_cscope.cPatch 6.2f.011Problem: The configurescript doesn't work with autoconf 2.5x.Solution: Add square brackets arounda header check. (Aron Griffis)Note: touch src/auto/configure after applying this patch.Files: src/configure.inPatch 6.2f.012Problem: ":echoerr" doesn't work correctly inside try/endtry.Solution: Don't reset did_emsg insidea try/endtry. (Servatius Brandt)Files: src/eval.cPatch 6.2f.013 (extra)Problem: Macintosh: Compiler warning fora trigraph.Solution:Insertabackslash before each question mark. (Peter Cucka)Files: src/os_mac.hPatch 6.2f.014 (extra)Problem: Macintosh: ex_evalis not included in the project file.Solution: Add ex_eval. (Dany St-Amant)Files: src/os_mac.pbproj/project.pbxprojPatch 6.2f.015 (extra)Problem: Win32: Whenchanging header files not all source files involved are recompiled.Solution: Improve the dependency rules. (Dan Sharp)Files: src/Make_cyg.mak, src/Make_ming.makPatch 6.2f.016Problem: "vim--version> ff" on non-Unix systems results ina file witha missing line breakat the end. (Bill McCarthy)Solution: Adda line break.Files: src/main.cPatch 6.2f.017Problem: Unix:starting Vim in the background and then bringingit to the foreground may cause theterminal settings to be wrong.Solution: Check for tcsetattr() to return an error, retry whenit does. (Paul Tapper)Files: src/os_unix.cPatch 6.2f.018Problem:Mac OSX 10.2: OKis defined to zero in curses.h while Vim uses one. Redefiningit causesa warning message.Solution: Undefine OK before definingit to one. (Taro Muraoka)Files: src/vim.hPatch 6.2f.019Problem:Mac OSX 10.2: COLOR_BLACK and COLOR_WHITE are defined in curses.h.Solution: Rename them to PRCOLOR_BLACK and PRCOLOR_WHITE.Files: src/ex_cmds2.cPatch 6.2f.020Problem: Win32: test50 produces beeps and fails with some versions of diff.Solution: Remove empty lines and convert the output todos fileformat.Files: src/testdir/test50.inPatch 6.2f.021Problem: Running configure with "--enable-netbeans" disables Netbeans. (Gordon Prieur)Solution: Fix the tests in configure.in where the defaultis to enablea feature. Fix that "--enable-acl" reported "yes" confusingly.Files: src/auto/configure, src/configure.in, src/mysignPatch 6.2f.022Problem:A bogus value for'foldmarker'is not rejected, possibly causinga hang. (Derek Wyatt)Solution: Check fora non-emptystring before and after the comma.Files: src/option.cPatch 6.2f.023Problem: When thehelp files are not in$VIMRUNTIME but'helpfile'is correct Vim still can't find thehelp files.Solution: Also look foratags file in the directory of'helpfile'.Files: src/tag.cPatch 6.2f.024Problem: When'delcombine'is set anda character has more than two composing characters "x" deletes them all.Solution: Always delete only the last composing character.Files: src/misc1.cPatch 6.2f.025Problem: When readinga file from stdin that hasDOS line endings buta missing end-of-line for the last line'fileformat' becomes "unix". (Bill McCarthy)Solution: Don't add the missing line break when re-reading the text from the buffer.Files: src/fileio.cPatch 6.2f.026Problem: When typing new textat the command line, old composing characters may be displayed.Solution: Don't read composing characters from after theend of the text to be displayed.Files: src/ex_getln.c, src/mbyte.c, src/message.c, src/proto/mbyte.pro, src/screen.cPatch 6.2f.027Problem: Compiler warnings for unsigned char pointers. (Tony Leneis)Solution: Add typecasts to char pointer.Files: src/quickfix.cPatch 6.2f.028Problem: GTK: When'imactivatekey'is empty andXIMis inactiveit can't be made active again. Cursor isn't updated immediately whenchangingXIM activation.JapaneseXIM may hang when using'imactivatekey'. Can't activateXIM after typing fFtT command or ":sh".Solution: Properly set the flag that indicates the IMis active. Update the cursor right away. Do not senda key-release event. HandleNormal mode and running an external command differently. (Yasuhiro Matsumoto)Files: src/mbyte.cPatch 6.2f.029Problem: Mixing use of int and enum.Solution: Adjust argument type of cs_usage_msg(). Fix wrong typedef.Files: src/if_cscope.c, src/if_cscope.hPatch 6.2f.030 (after 6.2f.028)Problem: Cursor moves up when using XIM.Solution: Reset im_preedit_cursor. (Yasuhiro Matsumoto)Files: src/mbyte.cPatch 6.2f.031Problem: Crash when listinga function argument in the debugger. (Ron Aaron)Solution: Init the name field of an argument to NULL.Files: src/eval.cPatch 6.2f.032Problem: Whena write fails fora ":silent!" while inside try/endtry theBufWritePostautocommands are not triggered.Solution: Check the emsg_silent flag in should_abort(). (Servatius Brandt)Files: src/ex_eval.c, src/testdir/test49.ok, src/testdir/test49.vimPatch 6.2f.033Problem: Cscope: re-entrance problem for ":cscope" command. Checking for duplicate database didn't work well for Win95. Didn't check for duplicate databases after an empty entry.Solution: Don't set postponed_split too early. Remember first empty database entry. (Sergey Khorev)Files: src/if_cscope.cPatch 6.2f.034Problem: Thenetbeansinterface cannot be used on systems without vsnprintf(). (Tony Leneis)Solution: Use EMSG(), EMSGN() and EMSG2() instead.Files: src/auto/configure, src/configure.in, src/netbeans.cPatch 6.2f.035Problem: The configure check for thenetbeansinterface doesn't work if the socket and nsl libraries are required.Solution: Check for the socket and nsl libraries before thenetbeans check.Files: src/auto/configure, src/configure.inPatch 6.2f.036Problem: Moving leftwards over text with an illegalUTF-8 byte moves one byte instead of one character.Solution: Ignore an illegal byte after the cursor position.Files: src/mbyte.cPatch 6.2f.037Problem: When receivinga Netbeans commandat thehit-enter or more prompt the screenis redrawn but Vimis still waitingat the prompt.Solution: Quit the prompt likeaCTRL-C was typed.Files: src/netbeans.cPatch 6.2f.038Problem: The dependency to run autoconf causesa patch for configure.in to run autoconf, even though the configurescript was updatedas well.Solution: Only run autoconf with "make autoconf".Files: src/MakefilePatch 6.2f.039Problem:CTRL-WK makes the new topwindow very high.Solution: When'equalalways'is set equalize thewindow heights.Files: src/window.c==============================================================================VERSION 6.3version-6.3Thissectionis about improvements made between version 6.2 and 6.3.Thisis mainlya bug-fix release. There are alsoa few new features.The major number of new itemsis in the runtime files and translations.Changedchanged-6.3-------Theintro message also displaysanote about sponsoring Vim, mixed randomlywith the message about helping children in Uganda.Included the translated menus, keymaps and tutors with the normal runtimefiles. The separate "lang" archive now only contains translated messages.Made the translated menu file namesa bit more consistent. Use "latin1" for"iso_8859-1" and "iso_8859-15".Removed the "file_select.vim"script from the distribution. It's not moreuseful than other scripts that can be downloaded from www.vim.org.The "runtime/doc/tags" fileis now always inunix fileformat. OnMS-Windowsit used to bedos fileformat, but ":helptags" generatesaunix format file.Addedadded-6.3-----New commands::cNfilego to last error in previous file:cpfileidem:changesprint the changelist:keepmarksfollowing command keeps marks where they are:keepjumpsfollowing command keepsjumplist and marks:lockmarksfollowing command keeps marks where they are:redrawstatusforcea redraw of the status line(s)New options:'antialias'Mac OS X: use smooth, antialiased fonts'helplang'preferredhelp languagesSyntax files:Arch inventory (Nikolai Weibull)Calendar (Nikolai Weibull)Ch (Wayne Cheng)Controllable Regex Mutilator (Nikolai Weibull)D (Jason Mills)Desktop (Mikolaj Machowski)Dircolors (Nikolai Weibull)Elinks configuration (Nikolai Weibull)FASM (Ron Aaron)GrADS scripts (Stefan Fronzek)Icewm menu (James Mahler)LDIF (Zak Johnson)Locale input, fdcc. (Dwayne Bailey)Pinfo config (Nikolai Weibull)Pyrex (Marco Barisione)Relax NG Compact (Nikolai Weibull)Slice (Morel Bodin)VAX Macro Assembly (Tom Uijldert)grads (Stefan Fronzek)libao (Nikolai Weibull)mplayer (Nikolai Weibull)rst (Nikolai Weibull)tcsh (Gautam Iyer)yaml (Nikolai Weibull)Compiler plugins:ATT dot (Marcos Macedo)Apple Project Builder (Alexander von Below)Intel (David Harrison)bdf (Nikolai Weibull)icc (Peter Puck)javac (Doug Kearns)neato (Marcos Macedo)onsgmls (Robert B. Rowsome)perl (Christian J. Robinson)rst (Nikolai Weibull)se (SmartEiffel) (Doug Kearns)tcl (Doug Kearns)xmlwf (Robert B. Rowsome)Filetype plugins:Aap (Bram Moolenaar)Ch (Wayne Cheng)Css (Nikolai Weibull)Pyrex (Marco Barisione)Rst (Nikolai Weibull)Indent scripts:Aap (Bram Moolenaar)Ch (Wayne Cheng)DocBook (Nikolai Weibull)MetaPost (Eugene Minkovskii)Objective-C (Kazunobu Kuriyama)Pyrex (Marco Barisione)Rst (Nikolai Weibull)Tcsh (Gautam Iyer)XFree86 configuration file (Nikolai Weibull)Zsh (Nikolai Weibull)Keymaps:Greek for cp1253 (Panagiotis Louridas)Hungarian (Magyar) (Laszlo Zavaleta)Persian-Iranian (Behnam Esfahbod)Message translations:Catalan (Ernest Adrogue)Russian (Vassily Ragosin)Swedish (Johan Svedberg)Menu translations:Catalan (Ernest Adrogue)Russian (Tim Alexeevsky)Swedish (Johan Svedberg)Tutor translations:Catalan (Ernest Adrogue)Russian in cp1251 (Alexey Froloff)Slovak in cp1250 and iso8859-2 (Lubos Celko)Swedish (Johan Svedberg)Korean (Kee-Won Seo)UTF-8 version of theJapanesetutor (Yasuhiro Matsumoto) Use thisasthe original, create the otherJapanesetutor by conversion.Included "russian.txt"help file. (Vassily Ragosin)Include Encapsulated PostScript and PDF versions of the Vim logo in the extraarchive.Thehelp highlighting finds the highlight groups and shows them in the colorthatis actually being used. (idea from Yakov Lerner)The bigWin32 versionis now compiled withRuby interface, version 1.8. ForPython version 2.3is used. ForPerl version 5.8is used.The "ftdetect" directoryis mentioned in the documentation. TheDOSinstallprogram creates it.Fixedfixed-6.3-----Test42 failed on MS-Windows. Set and reset'fileformat' and'binary'optionshere and there. (Walter Briscoe)The explorerplugin didn't work for double-byte'encoding's.Use "copy /y" in Make_bc5.mak to avoida prompt for overwriting.Patch 6.2.001Problem: The ":stopinsert" command doesn't haveahelp tag.Solution: Add the tag. (Antoine J. Mechelynck)Files: runtime/doc/insert.txt, runtime/doc/tagsPatch 6.2.002Problem: When compiled with the+multi_byte feature but without +eval, displayingUTF-8 characters may causea crash. (Karsten Hopp)Solution: Also set the default for'ambiwidth' when compiled without the+eval feature.Files: src/option.cPatch 6.2.003Problem:GTK 2: double-wide characters below 256 are not displayed correctly.Solution: Check the cell width for characters above 127. (Yasuhiro Matsumoto)Files: src/gui_gtk_x11.cPatch 6.2.004Problem: Witha line-Visual selectionat theend of the filea "p" command puts the text one line upwards.Solution: Detect that the last line was deleted andput forward. (Taro Muraoka)Files: src/normal.cPatch 6.2.005Problem: GTK: the "Find" and "Find andReplace" tools don't work. (Aschwin Marsman)Solution: Show thedialog after creating it. (David Necas)Files: src/gui_gtk.cPatch 6.2.006Problem: The Netbeans code contains an obsolete function that uses "vim61" and sets the fall-back value for $VIMRUNTIME.Solution: Delete the obsolete function.Files: src/main.c, src/netbeans.c, src/proto/netbeans.proPatch 6.2.007Problem: Listingtags forCscope doesn't always work.Solution: Avoid using smgs_attr(). (Sergey Khorev)Files: src/if_cscope.cPatch 6.2.008Problem:XIM withGTK 2: After backspacing preedit characters are wrong.Solution: Reset the cursor position. (Yasuhiro Matsumoto)Files: src/mbyte.cPatch 6.2.009Problem: Win32: The self-installing executable "Full" selection only selects some of the items to install. (Salman Mohsin)Solution: Change commas to spaces in betweensection numbers.Files: nsis/gvim.nsiPatch 6.2.010Problem: When'virtualedit'is effective anda line starts withamultibyte character, moving the cursor right doesn't work.Solution: Obtain the right character to compute the column offset. (Taro Muraoka)Files: src/charset.cPatch 6.2.011Problem: Alpha OSF1: stat()isamacro and doesn't allow an #ifdef halfway. (Moshe Kaminsky)Solution: Move the #ifdef outside of stat().Files: src/os_unix.cPatch 6.2.012Problem: May hang when polling fora character.Solution: Break the wait loop when not waiting fora character.Files: src/os_unix.cPatch 6.2.013 (extra)Problem: Win32: The registry key for uninstalling GvimExt still uses "6.1".Solution: Change the version number to "6.2". (Ajit Thakkar)Files: src/GvimExt/GvimExt.regPatch 6.2.014 (after 6.2.012)Problem: XSMP doesn't work when using poll().Solution: Use xsmp_idx instead of gpm_idx. (Neil Bird)Files: src/os_unix.cPatch 6.2.015Problem: The+xsmp featureis never enabled.Solution: Move the #define for USE_XSMP to below where WANT_X11is defined. (Alexey Froloff)Files: src/feature.hPatch 6.2.016Problem: Using ":scscope find" with'cscopequickfix' does not always split the window. (Gary Johnson) Win32: ":cscope add" could make thescript that containsit read-only until the corresponding ":cscope kill". Errors during ":cscope add" may not be handled properly.Solution: When using thequickfixwindow may need to split the window. Avoid file handle inheritance for the script. Check fora failed connection and/or process. (Sergey Khorev)Files: src/ex_cmds2.c, src/if_cscope.cPatch 6.2.017Problem: Test11 sometimes prompts the user, becausea file would have been changed outside of Vim. (Antonio Colombo)Solution: AddaFileChangedShellautocommand to avoid the prompt.Files: src/testdir/test11.inPatch 6.2.018Problem: When using the XSMP protocol and reading from stdin Vim may wait fora key to be pressed.Solution: Avoid that RealWaitForChar()is used recursively.Files: src/os_unix.cPatch 6.2.019 (lang)Problem: Loading the Portuguese menu causes an error message.Solution: Join two lines. (Jose Pedro Oliveira, José de Paula)Files: runtime/lang/menu_pt_br.vimPatch 6.2.020Problem: The "Syntax/Setsyntax only" menu item causes an error message. (Oyvind Holm)Solution: Set thescript-local variable ina function. (Benji Fisher)Files: runtime/synmenu.vimPatch 6.2.021Problem: The user manualsection on exceptions contains small mistakes.Solution: Givea good example of an error that could be missed and other improvements. (Servatius Brandt)Files: runtime/doc/usr_41.txtPatch 6.2.022 (extra)Problem: Win32: Afterdeletinga menu itemit still appears ina tear-off window.Solution: Set the mode to zero for the deleted item. (Yasuhiro Matsumoto)Files: src/gui_w32.cPatch 6.2.023 (extra)Problem: Win32: Make_ivc.mak does not clean everything.Solution: Delete more files in the clean rule. (Walter Briscoe)Files: src/Make_ivc.makPatch 6.2.024 (extra)Problem: Win32: Compiler warnings for typecasts.Solution: Use DWORD instead of WORD. (Walter Briscoe)Files: src/gui_w32.cPatch 6.2.025Problem: Missing prototype for sigaltstack().Solution: Add the prototype whenitis not found ina header file.Files: src/os_unix.cPatch 6.2.026Problem: Warning for utimes() argument.Solution: Adda typecast.Files: src/fileio.cPatch 6.2.027Problem: Warning for uninitialized variable.Solution: Set mb_l to one when not usingmultibyte characters.Files: src/message.cPatch 6.2.028Problem:Cscope connection may kill Vim process and others.Solution: Check for pid being larger than one. (Khorev Sergey)Files: src/if_cscope.cPatch 6.2.029Problem: When using the remote server functionality Vim may leak memory. (Srikanth Sankaran)Solution: Free the result of XListProperties().Files: src/if_xcmdsrv.cPatch 6.2.030Problem: Mac: Warning for not being able to use precompiled header files.Solution: Don't redefine select. Use -no-cpp-precomp for compiling, so that function prototypes are still found.Files: src/os_unix.c, src/osdef.shPatch 6.2.031Problem: The langmenu entry in theoptionswindow doesn't work. (Rodolfo Lima) WithGTK 1 the ":options" command causes an error message. (Michael Naumann)Solution: Change "lmenu" to "langmenu". Only display the'tbis' option forGTK 2.Files: runtime/optwin.vimPatch 6.2.032Problem: The lpcfiletypeis never recognized. (Shizhu Pan)Solution: Check for g:lpc_syntax_for_c instead of the local variable lpc_syntax_for_c. (Benji Fisher)Files: runtime/filetype.vimPatch 6.2.033 (extra)Problem: Mac: Various compiler warnings.Solution: Don't include Classic-only headers inUnix version. Remove references to several unused variables. (Ben Fowler) Fix double definition of DEFAULT_TERM. Use int instead of unsigned short for pixel values, so that the negative error values are recognized.Files: src/gui_mac.c, src/term.cPatch 6.2.034Problem: Mac: Compiler warning for redefining DEFAULT_TERM.Solution: Fix double definition of DEFAULT_TERM.Files: src/term.cPatch 6.2.035Problem: Mac: Compiler warnings inPython interface.Solution: Makea difference between pureMac and Unix-Mac. (Peter Cucka)Files: src/if_python.cPatch 6.2.036 (extra)Problem:MacUnix version: If fooisa directory, then ":e f<Tab>" should expand to ":e foo/" instead of ":e foo". (Vadim Zeitlin)Solution: Define DONT_ADD_PATHSEP_TO_DIR only for pure Mac. (Benji Fisher)Files: src/os_mac.hPatch 6.2.037Problem: Win32: converting an encoding name toa codepage could result in an arbitrary number.Solution: make encname2codepage() return zero if the encoding name doesn't containa codepage number.Files: src/mbyte.cPatch 6.2.038 (extra)Problem: Warningmessages when using the MingW compiler. (Bill McCarthy) Can't compile console version without+mouse feature.Solution: Initialize variables, add parenthesis. Add an #ifdef around g_nMouseClick. (Ajit Thakkar)Files: src/eval.c, src/os_win32.c, src/gui_w32.c, src/dosinst.cPatch 6.2.039 (extra)Problem: More warningmessages when using the MingW compiler.Solution: Initialize variables. (Bill McCarthy)Files: src/os_mswin.cPatch 6.2.040Problem: FreeBSD: Crash whilestarting up when compiled with+xsmp feature.Solution: Passa non-NULL argument to IceAddConnectionWatch().Files: src/os_unix.cPatch 6.2.041 (extra, after 6.2.033)Problem: Mac: Compiler warnings for conversion types, missing prototype, missing return type.Solution: Changesscanf "%hd" to "%d", the argumentis an int now. Add gui_mch_init_check() prototype. Add "int" to termlib functions.Files: src/gui_mac.c, src/proto/gui_mac.pro, src/termlib.c.Patch 6.2.042 (extra)Problem: Cygwin: gcc 3.2 has an optimizer problem, sometimes causinga crash.Solution: Add -fno-strength-reduce to the compiler arguments. (Dan Sharp)Files: src/Make_cyg.makPatch 6.2.043Problem: Compiling with bothnetbeans andworkshop doesn't work.Solution: Move the shellRectangle() function to gui_x11.c. (Gordon Prieur)Files: src/gui_x11.c, src/integration.c, src/netbeans.c, src/proto/netbeans.proPatch 6.2.044Problem: ":au filetypedetect" gives an error fora non-existing event name, but it's actuallya non-existing group name. (Antoine Mechelynck)Solution: Make the error message clearer.Files: src/fileio.cPatch 6.2.045Problem: Obtaining the'(mark changes the'' mark. (Gary Holloway)Solution: Don't set the''mark when searching for the start/end of the current sentence/paragraph.Files: src/mark.cPatch 6.2.046Problem: When evaluating an argument ofa function throws an exception the functionis still called. (Hari Krishna Dara)Solution: Don't call the function when an exception was thrown.Files: src/eval.cPatch 6.2.047 (extra)Problem: Compiler warnings when using MingW. (Bill McCarthy)Solution: Give the s_dwLastClickTime variablea type. Initialize dwEndTime.Files: src/os_win32.cPatch 6.2.048Problem: ThePythoninterface doesn't compile withPython 2.3 when dynamically loaded.Solution: Use dll_PyObject_Malloc and dll_PyObject_Free. (Paul Moore)Files: src/if_python.cPatch 6.2.049Problem: Usinga "-range=" argument with ":command" doesn't work and doesn't generate an error message.Solution: Generate an error message.Files: src/ex_docmd.cPatch 6.2.050Problem: Test 32 didn't work on MS-Windows.Solution: Write the temp file inUnix fileformat. (Walter Briscoe)Files: src/testdir/test32.inPatch 6.2.051Problem: When using "\=submatch(0)" ina ":s" command, line breaks become NUL characters.Solution: Change NL to CR characters, so that they become line breaks.Files: src/regexp.cPatch 6.2.052Problem:A fewmessages are not translated.Solution: Add _() to the messages. (Muraoka Taro)Files: src/ex_cmds.cPatch 6.2.053Problem: Prototype for bzero() doesn't match most systems.Solution: Use "void *" instead of "char *" and "size_t" instead of "int".Files: src/osdef1.h.inPatch 6.2.054Problem:A double-byte character witha second byte thatisabackslash causes problems insidea string.Solution: Skip overmultibyte characters inastring properly. (Yasuhiro Matsumoto)Files: src/eval.cPatch 6.2.055Problem: Using col('.') fromCTRL-O inInsert mode does not return the correct value formultibyte characters.Solution: Correct the cursor position whenitis necessary, move to the first byte ofamultibyte character. (Yasuhiro Matsumoto)Files: src/edit.cPatch 6.2.056 (extra)Problem: Building with Sniff++ doesn't work.Solution: Use the multi-threaded libc when needed. (Holger Ditting)Files: src/Make_mvc.makPatch 6.2.057 (extra)Problem: Mac: With -DMACOS_X putenv()is defined twice,itis ina system library. Geta warning for redefining OK. Unusedvariables in os_mac.cSolution: Define HAVE_PUTENV. Undefine OK after including curses.h. Remove declarations for unused variables.Files: src/os_mac.c, src/os_mac.h, src/vim.hPatch 6.2.058Problem: When'autochdir'is set ":bnext" toa buffer withouta name causesa crash.Solution: Don't call vim_chdirfile() when the file nameis NULL. (Taro Muraoka)Files: src/buffer.cPatch 6.2.059Problem: When'scrolloff'isa large number and listing completion results on the command line, then executinga command that jumps close to where the cursor was before, part of the screenis not updated. (Yakov Lerner)Solution: Don't skip redrawing part of thewindow whenit was scrolled.Files: src/screen.cPatch 6.2.060 (extra)Problem: Win32: When'encoding'is set to "iso-8859-7" copy/paste to/from theclipboard givesa lalloc(0) error. (Kriton Kyrimis)Solution: When thestring lengthis zero allocate one byte. Also fix that when the length of theUnicode textis zero (conversion from'encoding' to UCS-2 was not possible) the normal textis used.Files: src/os_mswin.cPatch 6.2.061Problem: GUI: Using the left mouse button with theshift key should work like "*" butit scrolls instead. (Martin Beller)Solution: Don't recognize anrxvt scroll wheel event when using the GUI.Files: src/term.cPatch 6.2.062Problem: When one buffer usesasyntax with "containedin" and another buffer does not, redrawing depends on what the current buffer is. (Brett Pershing Stahlman)Solution: Use "syn_buf" instead of "curbuf" to get the b_syn_containedin flag.Files: src/syntax.cPatch 6.2.063Problem: When using custom completionend up with no matches.Solution: Make cmd_numfiles and cmd_files local to completion to avoid that they are overwritten when ExpandOne()is called recursively by f_glob().Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/ex_getln.pro, src/misc1.c, src/structs.h, src/tag.cPatch 6.2.064Problem:resolve() only handles one symbolic link, need to repeatit to resolve all of them. Then need to simplify the file name.Solution: Makeresolve() resolve all symbolic links and simplify the result. Addsimplify() to just simplifya file name. Fix that test49 doesn't work if /tmpisa symbolic link. (Servatius Brandt)Files: runtime/doc/eval.txt, src/eval.c, src/tag.c, src/testdir/test49.vimPatch 6.2.065Problem: ":windo 123" only updates otherwindows when entering them. (Walter Briscoe)Solution: Update the topline before going to the next window.Files: src/ex_cmds2.cPatch 6.2.066 (extra)Problem:Rubyinterface doesn't work withRuby 1.8.0.Solution: Change "defout" to "stdout". (Aron Griffis) Change dynamic loading. (Taro Muraoka)Files: src/if_ruby.c, src/Make_mvc.makPatch 6.2.067Problem: When searching forastring that starts witha composing character the command line isn't drawn properly.Solution: Don'tcount thespace to draw the composing character on and adjust the cursor column after drawing the string.Files: src/message.cPatch 6.2.068Problem: Events for thenetbeansinterface that includea file name with special characters don't work properly.Solution: Use nb_quote() on the file name. (Sergey Khorev)Files: src/netbeans.cPatch 6.2.069 (after 6.2.064)Problem: Unusedvariables "limit" and "new_st" and unused label "fail" in some situation. (Bill McCarthy)Solution: Put the declarations inside an #ifdef. (Servatius Brandt)Files: src/eval.c, src/tag.cPatch 6.2.070 (after 6.2.069)Problem: Still unused variable "new_st". (Bill McCarthy)Solution: Move the declaration to the right block this time.Files: src/tag.cPatch 6.2.071Problem:'statusline' can only contain 50% items. (Antony Scriven)Solution: Allow 80 items and mentionit in the docs.Files: runtime/doc/option.txt, src/vim.hPatch 6.2.072Problem: When usingexpression folding, foldexpr() mostly returns -1 for the previous line, which makesit difficult to writea fold expression.Solution: Make the level of the previous line available while still looking for theend ofa fold.Files: src/fold.cPatch 6.2.073Problem: When adding detection ofa specificfiletype foraplugin you need to edit "filetype.vim".Solution: Source files from the "ftdetect" directory, so thatafiletype detectionplugin only needs to be dropped ina directory.Files: runtime/doc/filetype.txt, runtime/doc/usr_05.txt, runtime/doc/usr_41.txt, runtime/filetype.vimPatch 6.2.074Problem: Warnings when compiling thePython interface. (Ajit Thakkar)Solution: Use ANSI function declarations.Files: src/if_python.cPatch 6.2.075Problem: When the temp file forwritingviminfo can't be used "NULL" appears in the error message. (Ben Lavender)Solution: Print the original file name when thereis no temp file name.Files: src/ex_cmds.cPatch 6.2.076Problem: Thetags listed forcscope are in the wrong order. (Johannes Stezenbach)Solution: Remove the reordering oftags for the current file. (Sergey Khorev)Files: src/if_cscope.cPatch 6.2.077Problem: Whena user functionspecifies custom completion, the function getsa zero argument instead of an emptystring when thereis noword before the cursor. (Preben Guldberg)Solution: Don't convert an emptystring toa zero.Files: src/eval.cPatch 6.2.078Problem: "make test" doesn't work if Vim wasn't compiled yet. (Ed Avis)Solution: Build Vim before running the tests.Files: src/MakefilePatch 6.2.079Problem: ":w ++enc=utf-8 !cmd" doesn't work.Solution: Check for the "++" argument before the "!".Files: src/ex_docmd.cPatch 6.2.080Problem: When't_ti'is not empty but doesn't swap screens, using "ZZ" in an unmodified file doesn't clear the last line.Solution: Call msg_clr_eos() when needed. (Michael Schroeder)Files: src/os_unix.cPatch 6.2.081Problem: Problem when usinga longmultibytestring for the statusline.Solution: Use the right pointer to get the cell size. (Taro Muraoka)Files: src/buffer.cPatch 6.2.082Problem: Can't compile withPerl 5.8.1.Solution: Rename "e_number" to "e_number_exp". (Sascha Blank)Files: src/digraph.c, src/globals.hPatch 6.2.083Problem: Whena compiler uses ^^^^ tomarkaword the informationis not visible in thequickfix window. (Srikanth Sankaran)Solution: Don't remove the indent fora line thatis not recognizedas an error message.Files: src/quickfix.cPatch 6.2.084Problem: "g_" inVisual mode always goes to the character after the line. (Jean-Rene David)Solution: Ignore the NULat theend of the line.Files: src/normal.cPatch 6.2.085Problem: ":verbose set ts" doesn't say an option was set witha "-c" or "--cmd" argument.Solution: Remember the option was set froma Vim argument.Files: src/main.c, src/ex_cmds2.c, src/vim.hPatch 6.2.086Problem: "{" and "}" stop insidea closed fold.Solution: Only stop once insidea closed fold. (Stephen Riehm)Files: src/search.cPatch 6.2.087Problem:CTRL-^ doesn't use the'confirm' option. Same problem with ":bnext". (Yakov Lerner)Solution: Put upadialog fora changed file when'confirm'is set in more situations.Files: src/buffer.c, src/ex_cmds.cPatch 6.2.088Problem: When'sidescrolloff'is set'showmatch' doesn't work correctly if the matchisless than'sidescrolloff' off from the side of the window. (Roland Stahn)Solution: Set'sidescrolloff' to zero while displaying the match.Files: src/search.cPatch 6.2.089Problem: ":set isk+=" addsa comma. (Mark Waggoner)Solution: Don't adda comma when the added valueis empty.Files: src/option.cPatch 6.2.090 (extra)Problem: Win32: MingW compiler complains about #pragmas. (Bill McCarthy)Solution: Put an #ifdef around the #pragmas.Files: src/os_win32.cPatch 6.2.091Problem: When anautocommandis triggered whena fileis dropped on Vim andit produces output,messages froma following command may be scrolled unexpectedly. (David Rennalls)Solution: Save and restore msg_scroll in handle_drop().Files: src/ex_docmd.cPatch 6.2.092Problem: Invalid items appear in thehelp file tags. (Antonio Colombo)Solution: Only accepttags with whitespace before the first "*".Files: runtime/doc/doctags.c, src/ex_cmds.cPatch 6.2.093Problem: ":nnoremenu" also defines menu forVisual mode. (Klaus Bosau)Solution: Check the second command character for an "o", not the third.Files: src/menu.cPatch 6.2.094Problem: Can't compile withGTK and tiny features.Solution: Include handle_drop() and vim_chdirfile() when FEAT_DNDis defined. Do not try to split the window.Files: src/ex_docmd.c, src/misc2.cPatch 6.2.095Problem: The message "Cannotgo to bufferx"is confusing for ":buf 6". (Frans Englich)Solution: Makeit "Bufferx does not exist".Files: src/buffer.cPatch 6.2.096Problem: Win32: ":let@*=''"puta newline on the clipboard. (Klaus Bosau)Solution: Put zero bytes on theclipboard for an empty string.Files: src/ops.cPatch 6.2.097Problem: Setting or resetting'insertmode' inaBufEnterautocommand doesn't always have immediate effect. (Nagger)Solution: When'insertmode'is set, set need_start_insertmode, when it's reset set stop_insert_mode.Files: src/option.cPatch 6.2.098 (after 6.2.097)Problem: Can't build Vim with tiny features. (Christian J. Robinson)Solution: Declare stop_insert_mode always.Files: src/edit.c, src/globals.hPatch 6.2.099 (extra)Problem: Test 49 fails. (Mikolaj Machowski)Solution: The Polish translationmust not change "E116" to "R116".Files: src/po/pl.poPatch 6.2.100Problem: "make proto" fails when compiled with thePerl interface.Solution: Remove "-fno.*" from PERL_CFLAGS, cproto seesitas its option.Files: src/auto/configure, src/configure.inPatch 6.2.101Problem: When usingsyntax folding, openinga file slows downa lot when it's size increases by only 20%. (Gary Johnson)Solution: The array with cachedsyntax statesis leaking entries. After cleaning up thelist obtain the current entry again.Files: src/syntax.cPatch 6.2.102Problem: The macros equal() and CR conflict witha Carbon header file.Solution: Rename equal() to equalpos(). Rename CR to CAR. Do this in the non-extra files only.Files: src/ascii.h, src/buffer.c, src/charset.c, src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_getln.c, src/fileio.c, src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk_x11.c, src/gui_motif.c, src/macros.h, src/mark.c, src/message.c, src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/os_unix.c, src/regexp.c, src/search.c, src/ui.c, src/workshop.cPatch 6.2.103 (extra)Problem: The macros equal() and CR conflict witha Carbon header file.Solution: Rename equal() to equalpos(). Rename CR to CAR. Do this in the extra files only.Files: src/gui_photon.c, src/gui_w48.cPatch 6.2.104Problem: Unmatched braces in the table with options.Solution: Move the "}," outside of the #ifdef. (Yakov Lerner)Files: src/option.cPatch 6.2.105Problem: When the cursoris past theend of the line when calling get_c_indent()a crash might occur.Solution: Don't look past theend of the line. (NJ Verenini)Files: src/misc1.cPatch 6.2.106Problem: Tag searching gets stuck ona very long line in thetags file.Solution: When skipping back to search the first matchingtag remember the offset where searching started looking fora line break.Files: src/tag.cPatch 6.2.107 (extra)Problem: TheNetBeansinterface cannot be used on Win32.Solution: Add support for theNetBeans for Win32. Add support for reading XPM files on Win32. Also fixes thata sign icon withaspace in the file name did not work through theNetBeans interface. (Sergey Khorev) Also: avoidrepeating errormessages when the connectionis lost.Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h, src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c, src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h, src/proto/gui_beval.pro, src/proto/gui_w32.pro, src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h, src/xpm_w32.c, src/xpm_w32.hPatch 6.2.108Problem: Crash when givinga message about ignoringcase ina tag. (Manfred Kuehn)Solution: Usea longer buffer for the message.Files: src/tag.cPatch 6.2.109Problem: Compiler warnings withvariousAmiga compilers.Solution: Add typecast, prototypes, et al. that are also useful for other systems. (Flavio Stanchina)Files: src/eval.c, src/ops.cPatch 6.2.110Problem: When $LANG includes the encoding,a menu without an encoding nameis not found.Solution: Also look fora menu file without any encoding.Files: runtime/menu.vimPatch 6.2.111Problem: Encoding "cp1251"is not recognized.Solution: Add "cp1251" to the table of encodings. (Alexey Froloff)Files: src/mbyte.cPatch 6.2.112Problem: After applying patches test32 fails. (Antonio Colombo)Solution: Have "make clean" in the testdir delete *.rej and *.orig files. Use this when doing "make clean" in the src directory.Files: src/Makefile, src/testdir/MakefilePatch 6.2.113Problem: Using ":startinsert" after "$" works like "a" instead of "i". (Ajit Thakkar)Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit().Files: src/edit.c, src/ex_docmd.cPatch 6.2.114Problem: When stdoutis piped through "tee", the size of the screen may not be correct.Solution: Use stdin instead of stdout for ioctl() when stdinisa tty and stdout isn't.Files: src/os_unix.cPatch 6.2.115 (extra)Problem: Compiler warnings withvariousAmiga compilers.Solution: Add typecast, prototypes, et al. Those changes that are Amiga-specific. (Flavio Stanchina)Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h, src/vim.hPatch 6.2.116 (extra)Problem: German keyboard with Numlock set different from systemstartup causes problems.Solution: Ignore keys with code 0xff. (Helmut Stiegler)Files: src/gui_w48.cPatch 6.2.117Problem: Breakpoints in loops of sourced files andfunctions are not detected. (Hari Krishna Dara)Solution: Check for breakpoints when using lines that were previously read. (Servatius Brandt)Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro, src/proto/ex_cmds2.proPatch 6.2.118 (extra)Problem: Mac: Compilingis done ina non-standard way.Solution: Use theUnixmethod forMac OS X, with autoconf. Add "CARBONGUI" to Makefile and configure. (Eric Kow) Movea few prototypes from os_mac.pro to gui_mac.pro.Files: src/Makefile, src/auto/configure, src/configure.in, src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c, src/proto/gui_mac.pro, src/proto/os_mac.pro, src/infplist.xml, src/vim.hPatch 6.2.119 (after 6.2.107)Problem: When packing theMS-Windows archivesa few files are missing. (Guopeng Wen)Solution: Add gui_beval.* to thelist of generic source files.Files: MakefilePatch 6.2.120Problem:Win32 GUI: The console dialogs are not supported on MS-Windows, disabling the 'c' flag of'guioptions'. (Servatius Brandt)Solution: Define FEAT_CON_DIALOG also for GUI-only builds.Files: src/feature.hPatch 6.2.121 (after 6.2.118)Problem: Not all make programs support "+=". (Charles Campbell)Solution: Usea normal assignment.Files: src/MakefilePatch 6.2.122 (after 6.2.119)Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen)Solution: Usea simpler pattern. Add the Aap recipe for the maze program anda clean version of the source code.Files: Makefile, runtime/macros/maze/Makefile, runtime/macros/maze/README.txt, runtime/macros/maze/main.aap, runtime/macros/maze/mazeclean.cPatch 6.2.123 (after 6.2.118)Problem: Running configure fails. (Tony Leneis)Solution: Change "==" to "=" fora test.Files: src/auto/configure, src/configure.inPatch 6.2.124 (after 6.2.121)(extra)Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim directlyit can't find the runtime files. (Emily Jackson) Using GNU constructs causes warnings with other make programs. (Ronald Schild)Solution: Use another name for the M4FLAGS variable. Don't remove "Vim.app" from the path. Update the explanation for compiling on the Mac. (Eric Kow) Don't use $(shell) and $(addprefix ).Files: src/INSTALLmac.txt, src/Makefile, src/misc1.cPatch 6.2.125 (after 6.2.107)Problem: The "winsock2.h" file isn't always available.Solution: Don't include this header file.Files: src/netbeans.cPatch 6.2.126Problem: TypingCTRL-Cataconfirm() prompt doesn't throw an exception.Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int"is set in _OnChar().Files: src/misc1.cPatch 6.2.127 (extra)Problem:Win32 console: TypingCTRL-C doesn't throw an exception.Solution: Set got_int immediately whenCTRL-Cis typed, don't wait for mch_breakcheck() being called.Files: src/os_win32.cPatch 6.2.128 (after 6.2.118)Problem: src/auto/configureis not consistent with src/configure.in.Solution: Use the newly generated configure script.Files: src/auto/configurePatch 6.2.129Problem: When'number'is set'wrapmargin' does not work Vi-compatible. (Yasuhiro Matsumoto)Solution: Reduce the textwidth when'number'is set. Also for'foldcolumn' and similar things.Files: src/edit.cPatch 6.2.130 (extra)Problem:Win32 console: When'restorescreen'is not setexiting Vim causes the screen to be cleared. (Michael A. Mangino)Solution: Don't clear the screen whenexiting and'restorescreen' isn't set.Files: src/os_win32.cPatch 6.2.131 (extra)Problem: Win32: Font handles are leaked.Solution: Free italic,bold and bold-italic handles before overwriting them. (Michael Wookey)Files: src/gui_w48.cPatch 6.2.132 (extra)Problem: Win32: console version doesn't work on latest Windows Server 2003.Solution: Copy 12000 instead of 15000 cellsata time to avoid running out of memory.Files: src/os_win32.cPatch 6.2.133Problem: Whenstarting theGUIa bogus error message about'imactivatekey' may be given.Solution: Only check the value of'imactivatekey' when theGUIis running.Files: src/gui.c, src/option.cPatch 6.2.134 (extra)Problem: Win32: Whenscrolling parts of thewindow are redrawn when this isn't necessary.Solution: Only invalidate parts of thewindow when they are obscured by other windows. (Michael Wookey)Files: src/gui_w48.cPatch 6.2.135Problem: An item<> in the ":command" argumentis interpretedas<args>.Solution: Avoid that<>is recognizedas<args>.Files: src/ex_docmd.cPatch 6.2.136Problem: ":e ++enc=latin1 newfile" doesn't set'fenc' when the file doesn't exist. (Miroslaw Dobrzanski-Neumann)Solution: Set'fileencoding' to the specified encoding when editinga file that does not exist.Files: src/fileio.cPatch 6.2.137Problem: "d:cmd<CR>" cannot be repeated with ".". Breaksrepeating "d%" when using thematchit plugin.Solution: Store the command to be repeated. Thisis restricted to single-line commands.Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/vim.hPatch 6.2.138 (extra)Problem: Compilation problem onVMS with dynamic buffer on the stack.Solution: Read one byteless than the size of the buffer, so that we can check for thestring length without an extra buffer.Files: src/os_vms.cPatch 6.2.139Problem: Codeis repeated in the twoPerl files.Solution: Move common code from if_perl.xs and if_perlsfio.c to vim.h. Also fixa problem with generating prototypes.Files: src/if_perl.xs, src/if_perlsfio.c, src/vim.hPatch 6.2.140 (after 6.2.121)Problem: Mac: Compiling withPython andPerl doesn't work.Solution: Adjust the configure check forPython to use "-frameworkPython" forPython 2.3 onMac OS/X. Move "-ldl" after "DynaLoader.a" in the link command. Change "perllibs" to "PERL_LIBS".Files: src/auto/configure, src/configure.in, src/config.mk.inPatch 6.2.141 (extra)Problem: Mac: The b_FSSpec fieldis sometimes unused.Solution: Change the #ifdef to FEAT_CW_EDITOR and definedit in feature.hFiles: src/fileio.c, src/gui_mac.c, src/structs.h, src/feature.hPatch 6.2.142 (after 6.2.124)Problem: Mac: building withoutGUI through configure doesn't work. When the systemis slow, unpacking the resource file takes too long.Solution: Don't always define FEAT_GUI_MAC when MACOSis defined, defineit in the Makefile. Adda configure option to skip Darwin detection. UseaPythonscript to unpack the resources to avoida race condition. (Taro Muraoka)Files: Makefile, src/Makefile, src/auto/configure, src/configure.in, src/dehqx.py, src/vim.hPatch 6.2.143Problem: Using "K" on Visually selected text doesn't work ifit ends inamultibyte character.Solution: Include all the bytes of the last character. (Taro Muraoka)Files: src/normal.cPatch 6.2.144Problem: When "g:html_use_css"is set the HTML header generated by the 2htmlscriptis wrong.Solution: Add the header after adding HREF for links. Also use ":normal!" instead of ":normal" to avoid mappings getting in the way.Files: runtime/syntax/2html.vimPatch 6.2.145 (after 6.2.139)Problem: Undefining "bool" doesn't work for older systems. (Wojtek Pilorz)Solution: Only undefine "bool" onMac OS.Files: src/vim.hPatch 6.2.146Problem: On some systems the prototype foriconv()is wrong, causinga warning message.Solution: Usea cast (void *) to avoid the warning. (Charles Campbell)Files: src/fileio.c, src/mbyte.cPatch 6.2.147Problem: ":s/pat/\=col('.')" always replaces with "1".Solution: Set the cursor to the start of the match before substituting. (Helmut Stiegler)Files: src/ex_cmds.cPatch 6.2.148Problem: Can't break anInsert into several undoable parts.Solution: Add theCTRL-Gu command.Files: runtime/doc/insert.txt, src/edit.cPatch 6.2.149Problem: When the cursoris ona line past 21,474,748 the indicated percentage of the positionis invalid. With that many lines "100%" causesa negative cursor line number, resulting ina crash. (Daniel Goujot)Solution: Divide by 100 instead of multiplying. Avoid overflow when computing the line number for "100%".Files: src/buffer.c, src/ex_cmds2.c, src/normal.cPatch 6.2.150Problem: When doing "vim-< file" lines are brokenat NUL chars. (Daniel Goujot)Solution: Change NL characters back to NUL when reading from the temp buffer.Files: src/fileio.cPatch 6.2.151Problem: When doing "vim--remote +startinsert file" some commands are insertedas text. (Klaus Bosau)Solution: Put all the init commands in oneEx line, not usinga<CR>, so thatInsert mode isn't started too early.Files: src/main.cPatch 6.2.152Problem: Thecursor() function doesn't reset the column offset for'virtualedit'.Solution: Reset the offset to zero. (Helmut Stiegler)Files: src/eval.cPatch 6.2.153Problem: Win32: ":lang german" doesn't use German messages.Solution: Adda table to translate theWin32 language names to two-letter language codes.Files: src/ex_cmds2.cPatch 6.2.154Problem:Python bails out when givinga warning message. (Eugene Minkovskii)Solution: Set sys.argv[] to an empty string.Files: src/if_python.cPatch 6.2.155Problem: Win32: Using ":tjumpwww" inahelp file gives two results. (Dave Roberts)Solution: Ignore differences between slashes and backslashes when checking for identicaltag matches.Files: src/tag.cPatch 6.2.156 (after 6.2.125)Problem: Win32: Netbeans fails to build, EINTRis not defined.Solution: Redefine EINTR to WSAEINTR. (Mike Williams)Files: src/netbeans.cPatch 6.2.157Problem: Using "%p" in'errorformat' givesa column number thatis too high.Solution: Set the flag to use the numberasa virtual column. (Lefteris Koutsoloukas)Files: src/quickfix.cPatch 6.2.158Problem: The sed command on Solaris and HPUX doesn't work fora line that doesn'tend ina newline.Solution: Adda newline when feeding text to sed. (Mark Waggoner)Files: src/configure.in, src/auto/configurePatch 6.2.159Problem: When usingexpressionfolding and'foldopen'is "undo" anundo command doesn't always open the fold.Solution: Save and restore the KeyTyped variable when evaluating'foldexpr'. (Taro Muraoka)Files: src/fold.cPatch 6.2.160Problem: When'virtualedit'is "all" and'selection'is "exclusive", selectinga double-width character belowa single-width character may causea crash.Solution: Avoid overflow on unsigned integer decrement. (Taro Muraoka)Files: src/normal.cPatch 6.2.161 (extra)Problem: VMS: Missing header file. Reading input busy loops.Solution: Include termdef.h. Avoid the use ofa wait function in vms_read(). (Frank Ries)Files: src/os_unix.h, src/os_vms.cPatch 6.2.162Problem: ":redraw" doesn't always display the text that includes the cursor position, e.g. after ":call cursor(1, 0)". (Eugene Minkovskii)Solution: Call update_topline() before redrawing.Files: src/ex_docmd.cPatch 6.2.163Problem: "makeinstall" may also copy AAPDIR directories.Solution: Delete AAPDIR directories, just like CVS directories.Files: src/MakefilePatch 6.2.164 (after 6.2.144)Problem: When "g:html_use_css"is set the HTML header generated by the 2htmlscriptis still wrong.Solution: Search forastring instead of jumping toa fixed line number. Go to the start of the line beforeinserting the header. (Jess Thrysoee)Files: runtime/syntax/2html.vimPatch 6.2.165Problem: The configure checks hang when using autoconf 2.57.Solution: Invoke AC_PROGRAM_EGREP to set $EGREP. (Aron Griffis)Files: src/auto/configure, src/configure.inPatch 6.2.166Problem: When $GZIP contains "-N" editing compressed files doesn't work properly.Solution: Add "-n" to "gzip-d" to avoid restoring the file name. (Oyvind Holm)Files: runtime/plugin/gzip.vimPatch 6.2.167Problem: ThePythoninterface leaks memory when assigning lines toa buffer. (Sergey Khorev)Solution: Do not copy the line when calling ml_replace().Files: src/if_python.cPatch 6.2.168Problem:Python interface: Thereis no way to get the indices froma range object.Solution: Add the "start" and "end" attributes. (Maurice S. Barnum)Files: src/if_python.c, runtime/doc/if_pyth.txtPatch 6.2.169Problem: The prototype for _Xmblen() appears ina recent XFree86 header file, causinga warning for our prototype. (HisashiT Fujinaka)Solution: Move the prototype to an osdef file, so that it's filtered out.Files: src/mbyte.c, src/osdef2.h.inPatch 6.2.170Problem: When using Sun WorkShop the current directory isn't changed to where the file is.Solution: Set the'autochdir' option when using WorkShop. And avoid using the basename when'autochdir'is not set.Files: src/gui_x11.c, src/ex_cmds.cPatch 6.2.171 (after 6.2.163)Problem: The "-or" argument of "find" doesn't work for SysV systems.Solution: Use "-o" instead. (Gordon Prieur)Files: src/MakefilePatch 6.2.172 (after 6.2.169)Problem: The prototype for _Xmblen() still causes trouble.Solution: Include theX11 header file that defines the prototype.Files: src/osdef2.h.in, src/osdef.shPatch 6.2.173 (extra)Problem: Win32:Rubyinterface doesn't work withRuby 1.8.0 for other compilers than MSVC.Solution: Fix the BC5, Cygwin and Mingw makefiles. (Dan Sharp)Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.makPatch 6.2.174Problem: After the ":intro" message onlya mouse click in the last line gets past thehit-return prompt.Solution: Accepta clickat or below thehit-return prompt.Files: src/gui.c, src/message.cPatch 6.2.175Problem: Changing'backupext' ina *WritePreautocommand doesn't work. (William Natter)Solution: Move the use of p_bex to after executing the *WritePre autocommands. Also avoids reading allocated memory after freeing.Files: src/fileio.cPatch 6.2.176Problem: Accented characters in translatedhelp files are not handled correctly. (Fabien Vayssiere)Solution: Include "192-255" in'iskeyword' for thehelp window.Files: src/ex_cmds.cPatch 6.2.177 (extra)Problem: VisVim: Openinga file withaspace in the name doesn't work. (Rob Retter) Arbitrary commands are being executed. (Neil Bird)Solution: Putabackslash in front of everyspace in the file name. (Gerard Blais) Terminate theCTRL-\CTRL-N command witha NUL.Files: src/VisVim/Commands.cpp, src/VisVim/VisVim.rcPatch 6.2.178Problem: People who don't know how to exit Vim try pressingCTRL-C.Solution: Givea message how to exit Vim whenCTRL-Cis pressed andit doesn't cancel anything.Files: src/normal.cPatch 6.2.179 (extra)Problem: The en_gbmessages file isn't found oncase sensitive systems.Solution: Rename en_gb to en_GB. (Mike Williams)Files: src/po/en_gb.po, src/po/en_GB.po, src/po/Make_ming.mak, src/po/Make_mvc.mak, src/po/Makefile, src/po/README_mvc.txtPatch 6.2.180Problem: Compiling with GTK2 onWin32 doesn't work.Solution: Include gdkwin32.h instead of gdkx.h. (Srinath Avadhanula)Files: src/gui_gtk.c, src/gui_gtk_f.c, src/gui_gtk_x11.c, src/mbyte.cPatch 6.2.181 (after 6.2.171)Problem: The "-o" argument of "find" has lower priority than the implied "and" with "-print".Solution: Add parenthesis around the "-o" expression. (Gordon Prieur)Files: src/MakefilePatch 6.2.182 (after 6.2.094)Problem: Compilation with tiny features fails because of missing get_past_head() function.Solution: Adjust the #ifdef for get_past_head().Files: src/misc1.cPatch 6.2.183 (after 6.2.178)Problem: Warning for char/unsigned char mixup.Solution: Use MSG() instead of msg(). (Tony Leneis)Files: src/normal.cPatch 6.2.184Problem: With'formatoptions' set to "1aw"inserting text may cause theparagraph to be ended. (Alan Schmitt)Solution: Temporarily add an extraspace to make theparagraph continue after moving theword after the cursor to the next line. Also format when pressing Esc.Files: src/edit.c, src/normal.c, src/proto/edit.proPatch 6.2.185Problem: Restoringa session with zero-heightwindows does not work properly. (Charles Campbell)Solution: Accepta zero argument to ":resize"as intended. Addawindow number argument to ":resize" to be able to set the size of other windows, because the currentwindow cannot be zero-height. Fix the explorerplugin to avoidchanging thewindow sizes. Add thewinrestcmd() function for this.Files: runtime/doc/eval.txt, runtime/plugin/explorer.vim, src/eval.c, src/ex_cmds.h, src/ex_docmd.c, src/proto/window.pro, src/window.cPatch 6.2.186 (after 6.2.185)Problem: Documentation fileeval.txt contains examples without indent.Solution:Insert the indent. Also fix other mistakes.Files: runtime/doc/eval.txtPatch 6.2.187Problem: Using Insure++ revealsa number of bugs. (Dominique Pelle)Solution: Initializevariables where needed. Free allocated memory to avoid leaks. Fix comparingtags to avoid reading past allocated memory.Files: src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c, src/ops.c, src/option.c, src/tag.c, src/ui.cPatch 6.2.188 (extra)Problem: MS-Windows: Multi-byte characters ina filename cause trouble for thewindow title.Solution: Return when the wide function for setting the title did its work.Files: src/gui_w48.cPatch 6.2.189Problem: When setting'viminfo' after editinga new buffer its marks are not stored. (Keith Roberts)Solution: Set the "b_marks_read" flag when skipping to read marks from theviminfo file.Files: src/fileio.cPatch 6.2.190Problem: When editinga compressed files, marks are lost.Solution: Add the ":lockmarks" modifier and useit in thegzip plugin. Makeexists() also check for command modifiers, so that the existence of ":lockmarks" can be checked for. Also add ":keepmarks" to avoid that marks are deleted when filtering text. Whendeleting linesput marks'A- 'Z and'0- '9at the first deleted line instead of clearing the mark. They were kept in theviminfo file anyway. Avoid that thegzipplugin puts deleted text in registers.Files: runtime/doc/motion.txt, runtime/plugin/gzip.vim, src/ex_cmds.c, src/ex_docmd.c, src/mark.c, src/structs.hPatch 6.2.191Problem: Theintro messageis outdated. Information about sponsoring and registeringis missing.Solution: Show info about sponsoring and registering Vim in theintro message now and then. Addhelp file about sponsoring.Files: runtime/doc/help.txt, runtime/doc/sponsor.txt, runtime/doc/tags, runtime/menu.vim, src/version.cPatch 6.2.192Problem: UsingCTRL-T andCTRL-D with "gR" messes up the text. (Jonathan Hankins)Solution: Avoid calling change_indent() recursively.Files: src/edit.cPatch 6.2.193Problem: When recallinga searchpattern from thehistory froma ":s,a/c," command the '/' ends the search string. (JC van Winkel)Solution: Store the separator character with thehistory entries. Escape characters when needed, replace the old separator with the new one. Also fixes that recallinga "/" search fora "?" command messes up trailing flags.Files: src/eval.c, src/ex_getln.c, src/normal.c, src/proto/ex_getln.pro, src/search.c, src/tag.cPatch 6.2.194 (after 6.2.068)Problem: For NetBeans, instead ofwriting the file and sending an event about it, tellNetBeans to write the file.Solution: Add the "save" command, "netbeansBuffer" command and "buttonRelease" event to thenetbeans protocol. Updated theinterface to version 2.2. (Gordon Prieur) Also: opena fold when the cursor has been positioned. Also: fix memory leak, free result of nb_quote().Files: runtime/doc/netbeans.txt, src/fileio.c, src/netbeans.c, src/normal.c, src/proto/netbeans.pro, src/structs.hPatch 6.2.195 (after 6.2.190)Problem: Compiling fails for missing CPO_REMMARK symbol.Solution: Add the patchI forgot to include...Files: src/option.hPatch 6.2.196 (after 6.2.191)Problem: Rebuilding the documentation doesn't use thesponsor.txt file.Solution: Addsponsor.txt to the Makefile. (Christian J. Robinson)Files: runtime/doc/MakefilePatch 6.2.197Problem: Itis not possible to forcea redraw of status lines. (Gary Johnson)Solution: Add the ":redrawstatus" command.Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c, src/screen.cPatch 6.2.198Problem:A fewmessages are not translated. (Ernest Adrogue)Solution:Mark themessages to be translated.Files: src/ex_cmds.cPatch 6.2.199 (after 6.2.194)Problem: Vim doesn't work perfectly well with NetBeans.Solution: WhenNetBeans saves the file, reset thetimestamp to avoid "file changed" warnings. Closea buffer ina proper way. Don't try givinga debug message with an invalid pointer. Senda newDotAndMark message when needed. Reporta change by the "r" command to NetBeans. (Gordon Prieur)Files: src/netbeans.c, src/normal.cPatch 6.2.200Problem: When recoveringa file,'fileformat'is always the default, thuswriting the file may result in differences. (Penelope Fudd)Solution: Before recovering the file try reading the original file to obtain the values of'fileformat','fileencoding', etc.Files: src/memline.cPatch 6.2.201Problem: When'autowriteall'is set ":qall" still refuses to exit if thereisa modified buffer. (Antoine Mechelynck)Solution: Attemptwriting modifiedbuffersas intended.Files: src/ex_cmds2.cPatch 6.2.202Problem: Filetype names of CHILL and chscript are confusing.Solution: Rename "ch" to "chill" and "chscript" to "ch".Files: runtime/filetype.vim, runtime/makemenu.vim, runtime/synmenu.vim runtime/syntax/ch.vim, runtime/syntax/chill.vimPatch 6.2.203Problem: Withcharacterwise text that has more than one line, "3P" works wrong. "3p" has the same problem. There alsoisa display problem. (Daniel Goujot)Solution: Performcharacterwise puts withacount in the right position.Files: src/ops.cPatch 6.2.204 (after 6.2.086)Problem: "]]" ina file with closedfolds moves to theend of the file. (Nam SungHyun)Solution: Find one position in each closed fold, then move to after the fold.Files: src/search.cPatch 6.2.205 (extra)Problem: MS-Windows: When the taskbarisat the left or top of the screen, the Vimwindow placementis wrong.Solution: Compute the size and position of thewindow correctly. (Taro Muraoka)Files: src/gui_w32.c, src/gui_w48.cPatch 6.2.206Problem: Multi-byte characters cannot be usedas hotkeys ina console dialog. (Mattias Erkisson)Solution: Handlemultibyte characters properly. Alsoput () or[] around default hotkeys.Files: src/message.c, src/macros.hPatch 6.2.207Problem: When'encoding'isamultibyte encoding, expanding an abbreviation that starts where insertion started results in characters before the insertion to be deleted. (Xiangjiang Ma)Solution: Stop searching leftwards for the start of thewordat the position where insertion started.Files: src/getchar.cPatch 6.2.208Problem: When using fold markers, three lines ina row have the start marker anddeleting the first one with "dd",a nested foldis not deleted. (Kamil Burzynski) Using marker folding,a level 1 fold doesn't stop whenitis followed by "{{{2",startinga level 2 fold.Solution: Don't stop updatingfoldsat theend ofa change when the nesting level offoldsis larger than the fold level. Correctly compute the number offolds that startat "{{{2". Also avoida crash fora NULL pointer.Files: src/fold.cPatch 6.2.209Problem:A bogus foldis created when using "P" while the cursoris in the middle ofa closed fold. (Kamil Burzynski)Solution: Correct the line number where marks are modified for closed folds.Files: src/ops.cPatch 6.2.210 (extra)Problem:Mac OSX: antialiased fonts are not supported.Solution: Add the'antialias' option to switch on antialiasing onMac OSX10.2 and later. (Peter Cucka)Files: runtime/doc/options.txt, src/gui_mac.c, src/option.h, src/option.cPatch 6.2.211 (extra)Problem: Code for handling file dropped on Vimis duplicated.Solution: Move the common code to gui_handle_drop(). Add code to drop the files in thewindow under the cursor. Support drag&drop on the Macintosh. (Taro Muraoka) When droppinga directory name edit that directory (using the explorer plugin) Fix thatchanging directory with Shift pressed didn't work for relative path names.Files: src/fileio.c, src/gui.c, src/gui_gtk_x11.c, src/gui_mac.c, src/gui_w48.c, src/proto/fileio.pro, src/proto/gui.proPatch 6.2.212 (after 6.2.199)Problem: NetBeans: Replacing withacountis not handled correctly.Solution: Move reporting the change outside of the loop for the count. (Gordon Prieur)Files: src/normal.cPatch 6.2.213 (after 6.2.208)Problem: Using marker folding, "{{{1" doesn't starta new fold when alreadyat fold level 1. (Servatius Brandt)Solution: Correctly compute the number offolds that startat "{{{1".Files: src/fold.cPatch 6.2.214 (after 6.2.211) (extra)Problem: Warning for an unused variable.Solution: Delete the declaration. (Bill McCarthy)Files: src/gui_w48.cPatch 6.2.215Problem: NetBeans: problems saving an unmodified file.Solution: Add isNetbeansModified() function. Disable netbeans_unmodified(). (Gordon Prieur)Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro, runtime/doc/netbeans.txt, runtime/doc/tagsPatch 6.2.216 (after 6.2.206)Problem: Multi-byte characters still cannot be usedas hotkeys ina console dialog. (Mattias Erkisson)Solution: Make get_keystroke() handlemultibyte characters.Files: src/misc1.cPatch 6.2.217Problem: GTK: setting the title doesn't always work correctly.Solution: Invoke gui_mch_settitle(). (Tomas Stehlik)Files: src/os_unix.cPatch 6.2.218Problem: Warning for function without prototype.Solution: Add argument types to the msgCB field of the BalloonEval struct.Files: src/gui_beval.hPatch 6.2.219Problem:Syntax highlighting hangs on an empty match of an item witha nextgroup. (Charles Campbell)Solution: Remember that the item has already matched and don't matchit againat the same position.Files: src/syntax.cPatch 6.2.220Problem: Whena Vim server runs ina consolea remote command isn't handled beforea keyis typed. (Joshua Neuheisel)Solution: Don't try reading more input whenaclient-server command has been received.Files: src/os_unix.cPatch 6.2.221Problem: No file name completion for ":cscope add".Solution: Add the XFILE flag to ":cscope". (Gary Johnson)Files: src/ex_cmds.hPatch 6.2.222Problem: Using "--remote" several times ona row only opens some of the files. (Dany St-Amant)Solution: Don't delete all typeahead when the server receivesa command froma client, only delete typed characters.Files: src/main.cPatch 6.2.223Problem: Cscope: Avoida hang whencscope waits fora response while Vim waits fora prompt. Errormessages fromCscope mess up the display.Solution: Detect thehit-enter message and respond by sendinga return character to cscope. (Gary Johnson) Use EMSG() and strerror() when possible.Replace perror() with PERROR() everywhere, add emsg3().Files: src/diff.c, src/if_cscope.c, src/integration.c, src/message.c, src/proto/message.pro, src/misc2.c, src/netbeans.c, src/vim.hPatch 6.2.224Problem: Mac: Can't compile with small features. (Axel Kielhorn)Solution: Also include vim_chdirfile() when compiling for the Mac.Files: src/misc2.cPatch 6.2.225Problem: NetBeans: Reported modified state isn't exactly right.Solution: Reporta file being modified in theNetBeans way.Files: src/netbeans.cPatch 6.2.226 (after 6.2.107) (extra)Problem: The "ws2-32.lib" file isn't always available.Solution: Use "WSock32.lib" instead. (Taro Muraoka, Dan Sharp)Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.makPatch 6.2.227 (extra)Problem: The "PC" symbolis defined but not used anywhere.Solution: Remove "-DPC" from the makefiles.Files: src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.makPatch 6.2.228Problem: ReceivingCTRL-\CTRL-N after typing "f" or "m" doesn't switch Vim back toNormal mode. Same forCTRL-\CTRL-G.Solution: Check if the character typed aftera commandisCTRL-\ and obtain another character to check forCTRL-N orCTRL-G, waiting up to'ttimeoutlen' msec.Files: src/normal.cPatch 6.2.229Problem: ":function" witha name that uses magic curlies does not work insidea function. (Servatius Brandt)Solution: Skip over the function name properly.Files: src/eval.cPatch 6.2.230 (extra)Problem: Win32:a complexpattern may causea crash.Solution: Use __try and __except to catch the exception and handleit gracefully, when possible. Add myresetstkoflw() to reset the stack overflow. (Benjamin Peterson)Files: src/Make_bc5.mak, src/os_mswin.c src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro, src/regexp.cPatch 6.2.231 (after 6.2.046)Problem: Various problems when an error exceptionis raised from withina builtin function. Whenitis invoked while evaluating arguments toa function following arguments are still evaluated. When invoked witha line rangeit will be called for remaining lines.Solution: Update "force_abort" also after callinga builtin function, so that aborting() always returns the correct value. (Servatius Brandt)Files: src/eval.c, src/ex_eval.c, src/proto/ex_eval.pro, src/testdir/test49.ok, src/testdir/test49.vimPatch 6.2.232Problem: ":python vim.command('python print 2*2')" crashes Vim. (Eugene Minkovskii)Solution: Disallow executingaPython command recursively and give an error message.Files: src/if_python.cPatch 6.2.233Problem: OnMac OSX adding -pthread forPython only generatesa warning. The test forPerl threads rejectsPerl while it's OK.Tcl doesn't workat all. The test forRuby fails ifruby exists but there are no header files. TheRuby library isn't detected properlySolution: Avoid adding -pthread onMac OSX. AcceptPerl threads when it's not the 5.5 threads. Use theTcl framework for header files. ForRuby rename cWindow to cVimWindow to avoida name clash. (Ken Scott) Only enableRuby when the header files can be found. Use "-lruby" instead of "libruby.a" whenit can't be found.Files: src/auto/configure, src/configure.in, src/if_ruby.cPatch 6.2.234Problem:GTK 2 GUI: ":sp" and the ":q" leaves the cursor on the command line.Solution: Flush output before removing scrollbars. Alsodo this in other places where gui_mch_*()functions are invoked.Files: src/ex_cmds.c, src/option.c, src/window.cPatch 6.2.235 (extra)Problem: Win32: Cursor isn't removed witha 25x80window and doing: "1830ia<Esc>400a-<Esc>0w0". (Yasuhiro Matsumoto)Solution: Remove the call to gui_undraw_cursor() from gui_mch_insert_lines().Files: src/gui_w48.cPatch 6.2.236Problem: Usinggvim with Agide gives "connection lost" error messages.Solution: Only give the "connection lost" message when the buffer was once owned by NetBeans.Files: src/netbeans.c, src/structs.hPatch 6.2.237Problem:GTK 2: Thai textis drawn wrong. It changes when moving the cursor over it.Solution: Disable the shaping engine,it moves combining characters toa wrong position and combines characters, while drawing the cursor doesn't combine characters.Files: src/gui_gtk_x11.cPatch 6.2.238 (after 6.2.231)Problem: ":function" does not work insidea while loop. (Servatius Brandt)Solution: Add get_while_line() and passit to do_one_cmd() when ina while loop, so that all lines are stored and can be used again whenrepeating the loop. Adjust test 49 so thatit checks for the fixed problems. (Servatius Brandt)Files: src/digraph.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/proto/ex_cmds2.pro, src/proto/ex_docmd.pro, src/testdir/test49.in, src/testdir/test49.ok, src/testdir/test49.vimPatch 6.2.239Problem:GTK 2: With closedfolds the arrow buttons ofa vertical scrollbar often doesn't scroll. (Moshe Kaminsky)Solution: Hackish solution: Detect that the button was pressed from the mouse pointer position.Files: src/gui_gtk.c, src/gui.cPatch 6.2.240Problem:GTK 2: Searching for bitmaps for the toolbar doesn't workas with other systems. Need to explicitly use "icon=name". (Ned Konz, Christian J. Robinson)Solution: Search for icons like done for Motif.Files: src/gui_gtk.cPatch 6.2.241Problem:GTK 2: Search and Search/Replace dialogs are synced, that makes no sense. Buttons are sometimes greyed-out. (Jeremy Messenger)Solution: Remove the code to sync the two dialogs. Adjust the code to react to an empty searchstring to also work for GTK2. (David Necas)Files: src/gui_gtk.cPatch 6.2.242Problem: Gnome: "vim--help" only shows theGnome arguments, not the Vim arguments.Solution: Don't let theGnome code remove the "--help" argument and don't exitat theend of usage().Files: src/gui_gtk_x11.c, src/main.cPatch 6.2.243 (extra)Problem: Mac: Droppinga file ona Vim icon causesahit-enter prompt.Solution: Move the dropped files to the global argument list, instead of the usual drop handling. (Eckehard Berns)Files: src/main.c, src/gui_mac.cPatch 6.2.244Problem: ':echo "\xf7"' displays the illegal byteas ifit wasa character and leaves "cho" after it.Solution: When checking the length ofaUTF-8 byte sequence and it's shorter than the number of bytes available, assume it's an illegal byte.Files: src/mbyte.cPatch 6.2.245Problem: Completion doesn't work for ":keepmarks" and ":lockmarks".Solution: Add the command modifiers to the table of commands. (Madoka Machitani)Files: src/ex_cmds.h, src/ex_docmd.cPatch 6.2.246Problem: Mac: Starting Vim from Finder doesn't show error messages.Solution: Recognize that outputis being displayed by stderr being "/dev/console". (Eckehard Berns)Files: src/main.c, src/message.cPatch 6.2.247 (after 6.2.193)Problem: When usinga searchpattern from theviminfo file the last characteris replaced witha '/'.Solution: Store the separator character in the right place. (Kelvin Lee)Files: src/ex_getln.cPatch 6.2.248Problem: GTK: WhenXIMis enabled normal "2" and keypad "2" cannot be distinguished.Solution: Detect thatXIM changes the keypad key to the expected ASCII character and fall back to the non-XIM code. (Neil Bird)Files: src/gui_gtk_x11.c, src/mbyte.c, src/proto/mbyte.proPatch 6.2.249Problem: ":cnext" moves to the error in the next file, but thereis nomethod togo back.Solution: Add ":cpfile" and ":cNfile".Files: src/ex_cmds.h, src/quickfix.c, src/vim.h, runtime/doc/quickfix.txtPatch 6.2.250Problem: Memory leaks when using signs. (Xavier de Gaye)Solution: Delete thelist ofsigns when unloadinga buffer.Files: src/buffer.cPatch 6.2.251Problem: GTK: The 'v' flag in'guioptions' doesn't work. (Steve Hall) Order of buttonsis reversed forGTK 2.2.4. Don't always get focus back after handlinga dialog.Solution: Make buttons appear vertically when desired. Reverse the order in which buttons are added toa dialog. Move mouse pointer around when thedialogis done and we don't have focus.Files: src/gui_gtk.cPatch 6.2.252 (extra, after 6.2.243)Problem: Mac: Droppinga file ona Vim icon causesahit-enter prompt forMac OS classic.Solution: Remove the #ifdef from the code that fixesit forMac OSX.Files: src/gui_mac.cPatch 6.2.253Problem: When'tagstack'is not seta ":tag id" command does not work aftera ":tjump" command.Solution: Set "new_tag" when'tagstack' isn't set. (G. Narendran)Files: src/tag.cPatch 6.2.254Problem: May run out ofspace for error messages.Solution: Keep room for two more bytes.Files: src/quickfix.cPatch 6.2.255Problem: GTK:A new item in thepopup menuisput just after instead of just before the right item. (Gabriel Zachmann)Solution: Don't increment the menu item index.Files: src/gui_gtk.cPatch 6.2.256Problem: Mac: "macroman" encoding isn't recognized, need to use "8bit-macroman".Solution: Recognize "macroman" with an alias "mac". (Eckehard Berns)Files: src/mbyte.cPatch 6.2.257 (after 6.2.250)Problem: Signs are deleted for ":bdel", but they could still be useful.Solution: Deletesigns only for ":bwipe".Files: src/buffer.cPatch 6.2.258Problem: GUI: can't disable (grey-out)apopup menu item. (Ajit Thakkar)Solution: Loop over thepopupmenus for all modes.Files: src/menu.cPatch 6.2.259Problem: If there aremessages when exiting, on the console thereisahit-enter prompt while the message can be read; in theGUI the message may not be visible.Solution: Use thehit-enter prompt when thereis an error message fromwriting theviminfo file or autocommands, or when thereis any output in theGUI and'verbose'is set. Don't useahit-enter prompt for the non-GUI version unless thereis an error message.Files: src/main.cPatch 6.2.260Problem:GTK 2: Can't quitadialog with<Esc>.GTK 1 and 2:<Enter> always givesa result, even when the default button has been disabled.Solution: Handle these keys explicitly. When no default buttonis specified use the first one (works mostly likeit was before).Files: src/gui_gtk.cPatch 6.2.261Problem: When'autoindent' and'cindent' are set anda lineis recognizedasa comment,startinga new line won'tdo'cindent' formatting.Solution: Also use'cindent'formatting for lines that are usedasa comment. (Servatius Brandt)Files: src/misc1.cPatch 6.2.262Problem: 1CTRL-Ww beeps, even though going to the firstwindowis possible. (Charles Campbell)Solution: Don't beep.Files: src/window.cPatch 6.2.263Problem: Lint warnings: Duplicate function prototypes, duplicate macros, use ofa zero character instead ofa zero pointer, unused variable. Clearing allocated memory ina complicated way.Solution: Remove the function prototypes from farsi.h. Remove the duplicated lines in keymap.h. Change getvcol() argument from NUL to NULL. Remove the "col" variable in regmatch(). Use lalloc_clear() instead of lalloc(). (Walter Briscoe)Files: src/farsi.h, src/keymap.h, src/ops.c, src/regexp.c, src/search.cPatch 6.2.264 (after 6.2.247)Problem: Writing past allocated memory when usinga command line from theviminfo file.Solution: Store the NUL in the right place.Files: src/ex_getln.cPatch 6.2.265Problem: Although ":set"is not allowed in the sandbox, ":let &opt= val" works.Solution: Do allowchangingoptions in the sandbox, but not the ones that can't be changed froma modeline.Files: src/ex_cmds.h, src/options.cPatch 6.2.266Problem: When redirecting output and using ":silent", line breaks are missing from output of ":map" and ":tselect". Alignment of columnsis wrong.Solution:Inserta line break where "msg_didout" was tested. Update msg_col when redirecting and using ":silent".Files: src/getchar.c, src/message.cPatch 6.2.267 (extra)Problem: Win32: "&&" ina tearoff menuis not shown. (Luc Hermitte)Solution: Use the "name" item from the menu instead of the "dname" item.Files: src/gui_w32.c, src/menu.cPatch 6.2.268Problem: GUI: Whenchanging'guioptions' part of thewindow may be off screen. (Randall Morris)Solution: Adjust the size of thewindow whenchanging'guioptions', but only when adding something.Files: src/gui.cPatch 6.2.269Problem: Diff mode does not highlighta change ina combining character. (Raphael Finkel)Solution: Make diff_find_change()multibyte aware: find the start byte ofa character that containsa change.Files: src/diff.cPatch 6.2.270Problem: Completion inInsert mode, thenrepeating with ".", doesn't handle composing characters in the completed text. (Raphael Finkel)Solution: Don't skip over composing chars when adding completed text to theredo buffer.Files: src/getchar.cPatch 6.2.271Problem: NetBeans: Can'tdo "tail-f" on the log. Passing socket info with an argument or environment variableis not secure.Solution: Wait after initializing the log. Allow passing the socket info througha file. (Gordon Prieur)Files: runtime/doc/netbeans.txt, src/main.c, src/netbeans.cPatch 6.2.272Problem: When the "po" directory exists, but "po/Makefile" doesn't, building fails. Make loops when the "po" directory has been deleted after running configure.Solution: Check for the "po/Makefile" instead of just the "po" directory. Check this again before trying to run make with that Makefile.Files: src/auto/configure, src/configure.in, src/MakefilePatch 6.2.273Problem: Changing the sort order in an explorerwindow for an empty directory produces error messages. (Doug Kearns)Solution: When an invalid rangeis used fora function thatis not going to be executed, skip over the arguments anyway.Files: src/eval.cPatch 6.2.274Problem: ":print" skips empty lines when'list'is set and thereis no "eol" in'listchars'. (Yakov Lerner)Solution: Skip outputtingaspace for an empty line only when'list'is set and the end-of-line characteris not empty.Files: src/message.cPatch 6.2.275 (extra, after 6.2.267)Problem: Warning for uninitialized variable when using gcc.Solution: Initialize "acLen" to zero. (Bill McCarthy)Files: src/gui_w32.cPatch 6.2.276Problem: ":echo X()" does notputa line break between the message that X() displays and the text that X() returns. (Yakov Lerner)Solution: Invoke msg_start() after evaluating the argument.Files: src/eval.cPatch 6.2.277Problem: Vim crashes whena ":runtime ftplugin/ada.vim" causesa recursive loop. (Robert Nowotniak)Solution: Restore "msg_list" before returning from do_cmdline().Files: src/ex_docmd.cPatch 6.2.278Problem: Using "much" instead of "many".Solution: Correct the error message.Files: src/eval.cPatch 6.2.279Problem: Thereis no default choice foraconfirm() dialog, now thatitis possible not to havea default choice.Solution: Make the first choice the default choice.Files: runtime/doc/eval.txt, src/eval.cPatch 6.2.280Problem: "do" and ":diffget" don't work in the first line and the last line ofa buffer. (Aron Griffis)Solution: Finda difference above the first line and below the last line. Also fixa few display updating bugs.Files: src/diff.c, src/fold.c, src/move.cPatch 6.2.281Problem: PostScriptprinting doesn't work onMac OSX 10.3.2.Solution: Adjust the header file. (Mike Williams)Files: runtime/print/prolog.psPatch 6.2.282Problem: When usingCTRL-O togo back toahelp file,it becomes listed. (Andrew Nesbit) Using ":tag" or ":tjump" inahelp file doesn't keep thehelp file settings (e.g. for'iskeyword').Solution: Don'tmarka bufferas listed when itshelp flagis set. Put all the option settings forahelp buffer together in do_ecmd().Files: src/ex_cmds.cPatch 6.2.283Problem: The "local additions" inhelp.txt are used without conversion, causing latin1 characters showing up wrong when'enc'is utf-8. (Antoine J. Mechelynck)Solution: Convert the text to'encoding'.Files: src/ex_cmds.cPatch 6.2.284Problem: Listinga function puts "endfunction" in the message history. Typing "q"at the more prompt isn't handled correctly when listingvariables and functions. (Hara Krishna Dara)Solution: Don't use msg() for "endfunction". Check "got_int" regularly.Files: src/eval.cPatch 6.2.285Problem: GUI: Ina single wrapped line that fills the window, "gj" in the last screen line leaves the cursor behind. (Ivan Tarasov)Solution: Undraw the cursor beforescrolling the text up.Files: src/gui.cPatch 6.2.286Problem: When trying to renamea file andit doesn't exist, the destination fileis deleted anyway. (Luc Deux)Solution: Don't delete the destination when the source doesn't exist. (Taro Muraoka)Files: src/fileio.cPatch 6.2.287 (after 6.2.264)Problem: Duplicate lines are added to theviminfo file.Solution: Compare with existing entries without an offset. Also fixes reading very longhistory lines from viminfo.Files: src/ex_getln.cPatch 6.2.288 (extra)Problem: Mac: An external program can't be interrupted.Solution: Don't use the 'c' key for backspace. (Eckehard Berns)Files: src/gui_mac.cPatch 6.2.289Problem: Compiling theTclinterface with thread support causes ":make" to fail. (Juergen Salk)Solution: Use $TCL_DEFS from theTcl configscript to obtain the required compile flags for using the thread library.Files: src/auto/configure, src/configure.inPatch 6.2.290 (extra)Problem: Mac: The mousewheel doesn't work.Solution: Add mousewheel support. Also fix updating the thumb aftera drag and then using another way to scroll. (Eckehard Berns)Files: src/gui_mac.cPatch 6.2.291 (extra)Problem: Mac: the plus button and close button don'tdo anything.Solution: Make the plus button maximize thewindow and the close button close Vim. (Eckehard Berns)Files: src/gui.c, src/gui_mac.cPatch 6.2.292Problem: Motif: When removingGUI arguments from argv[]a "ps -ef" shows the last argument repeated.Solution: Set argv[argc] to NULL. (Michael Jarvis)Files: src/gui_x11.cPatch 6.2.293 (after 6.2.255)Problem: GTK:A new item ina menuisput before the tearoff item.Solution: Do increment the menu itemindex for non-popup menu items.Files: src/gui_gtk.cPatch 6.2.294 (extra)Problem: Mac: Cannot use modifiers with Space, Tab, Enter and Escape.Solution: Handle all modifiers for these keys. (Eckehard Berns)Files: src/gui_mac.cPatch 6.2.295Problem: When in debug mode, receivinga message froma remote client causesa crash. Evaluating anexpression causes Vim to wait for "cont" to be typed, withouta prompt. (Hari Krishna Dara)Solution: Disable debugging when evaluating anexpression fora client. (Michael Geddes) Don't try reading into the typeahead buffer whenit may have been filled in another way.Files: src/ex_getln.c, src/getchar.c, src/if_xcmdsrv.c, src/main.c, src/misc1.c, src/proto/getchar.pro, src/proto/main.pro, src/proto/os_unix.pro, src/proto/ui.pro, src/structs.h, src/os_unix.c, src/ui.cPatch 6.2.296 (extra)Problem: Sameas 6.2.295.Solution: Extra files for patch 6.2.295.Files: src/os_amiga.c, src/os_msdos.c, src/os_riscos.c, src/os_win32.c, src/proto/os_amiga.pro, src/proto/os_msdos.pro, src/proto/os_riscos.pro, src/proto/os_win32.proPatch 6.2.297 (after 6.2.232)Problem: Cannot invokePython commands recursively.Solution: WithPython 2.3 and later use the available mechanisms to invokePython recursively. (Matthew Mueller)Files: src/if_python.cPatch 6.2.298Problem:A change always sets the'.mark and aninsert always sets the'^ mark, even when thisis not wanted. Cannotgo back to the position of older changes without undoing those changes.Solution: Add the ":keepjumps" command modifier. Add the "g," and "g;" commands.Files: runtime/doc/motion.txt, src/ex_cmds.h, src/ex_docmd.c, src/edit.c, src/mark.c, src/misc1.c, src/normal.c, src/proto/mark.pro, src/structs.h, src/undo.cPatch 6.2.299Problem: Can only use one language forhelp files.Solution: Add the'helplang' option to select the preferred language(s). Make ":helptags" generatetags files for all languages.Files: runtime/doc/options.txt, runtime/doc/various.txt, src/Makefile, src/ex_cmds.c, src/ex_cmds2.c, src/ex_cmds.h, src/ex_getln.c, src/normal.c, src/option.c, src/option.h, src/proto/ex_cmds.pro, src/proto/ex_cmds2.pro, src/proto/option.pro, src/structs.h, src/tag.c, src/vim.hPatch 6.2.300 (after 6.2.297)Problem: Cannot buildPythoninterface withPython 2.2 or earlier.Solution: Adda semicolon.Files: src/if_python.cPatch 6.2.301Problem: The "select all" item from thepopup menu doesn't work forSelect mode.Solution: Use the same commandsas for the "Edit.select all" menu. (Benji Fisher)Files: runtime/menu.vimPatch 6.2.302Problem: Using "CTRL-O." inInsert mode doesn't work properly. (Benji Fisher)Solution: Restore "restart_edit" after aninsert command that was not typed. Avoid waiting with displaying the mode when thereis no text to be overwritten. Fix that "CTRL-O." sometimes doesn'tput the cursor back after the end-of-line. Only reset the flag thatCTRL-O was used past theend of the line when restarting editing. Update "o_lnum" number wheninserting text and "o_eol"is set.Files: src/edit.c, src/normal.cPatch 6.2.303Problem: Cannot useUnicodedigraphs while'encoding'is not Unicode.Solution: Convert the character fromUnicode to'encoding' when needed. Use theUnicodedigraphs for the Macintosh. (Eckehard Berns)Files: src/digraph.cPatch 6.2.304 (extra, after 6.2.256)Problem: Mac: No proper support for'encoding'. Conversion withouticonv()is not possible.Solution: Convert input from'termencoding' to'encoding'. Add mac_string_convert(). Convert text for theclipboard when needed. (Eckehard Berns)Files: src/gui_mac.c, src/mbyte.c, src/structs.h, src/vim.hPatch 6.2.305 (after 6.2.300)Problem: Win32: Cannot buildPythoninterface withPython 2.3. (Ajit Thakkar)Solution: Add twofunctions to the dynamic loading feature.Files: src/if_python.cPatch 6.2.306 (extra)Problem: Win32: Building console version with BCC 5.5 givesa warning for get_cmd_args() prototype missing. (Ajit Thakkar)Solution: Don't build os_w32exe.c for the console version.Files: src/Make_bc5.makPatch 6.2.307 (after 6.2.299)Problem: Installinghelp files fails.Solution: Expandwildcards for translatedhelp files separately.Files: src/MakefilePatch 6.2.308Problem: Not all systems have "whoami", resulting in an empty user name.Solution: Use "logname" when possible, "whoami" otherwise. (David Boyce)Files: src/MakefilePatch 6.2.309Problem: "3grx" waits for two ESC to be typed. (Jens Paulus)Solution: Append the ESC to the stuff buffer when redoing the "gr" insert.Files: src/edit.cPatch 6.2.310Problem: When setting'undolevels' to -1, makinga change and setting'undolevels' toa positive value an "undolist corrupt" error occurs. (Madoka Machitani)Solution: Syncundo beforechanging'undolevels'.Files: src/option.cPatch 6.2.311 (after 6.2.298)Problem: When making several changes in one line thechangelist grows quickly. Thereis no error message for reaching theend of the changelist. Readingchangelist marks fromviminfo doesn't work properly.Solution: Only makea new entry in thechangelist when makinga change in another line or'textwidth' columns away. Add E662,E663 andE664 error messages. Putachangelistmark fromviminfo one position before the end.Files: runtime/doc/motion.txt, src/mark.c, src/misc1.c, src/normal.cPatch 6.2.312 (after 6.2.299)Problem: "makeinstall" clears the screen when installing the docs.Solution: Execute ":helptags" in silent mode.Files: runtime/doc/MakefilePatch 6.2.313Problem: When openingfolds inadiff window, otherdiffwindows no longer show the same text.Solution: Sync thefolds indiff windows.Files: src/diff.c, src/fold.c, src/move.c, src/proto/diff.pro, src/proto/move.proPatch 6.2.314Problem: When'virtualedit'is set "rx" may causea crash witha blockwise selection and using "$". (Moritz Orbach)Solution: Don't tryreplacing chars ina line that has no characters in the block.Files: src/ops.cPatch 6.2.315Problem: UsingCTRL-C inaVisual modemapping while'insertmode'is set stops Vim from returning toInsert mode.Solution: Don't reset "restart_edit" whenaCTRL-Cis found and'insertmode'is set.Files: src/normal.cPatch 6.2.316 (after 6.2.312)Problem: "makeinstall" tries connecting to theX server when installing the docs. (Stephen Thomas)Solution: Add the "-X" argument.Files: runtime/doc/MakefilePatch 6.2.317 (after 6.2.313)Problem: When using "zi" inadiff window, otherdiffwindows are not adjusted. (Richard Curnow)Solution: Distributea change in'foldenable' to otherdiff windows.Files: src/normal.cPatch 6.2.318Problem: When compiling with _THREAD_SAFE external commands don't echo typed characters.Solution: Don't set theterminal mode to TMODE_SLEEP when it's alreadyat TMODE_COOK.Files: src/os_unix.cPatch 6.2.319 (extra)Problem: Building gvimext.dll with Mingw doesn't work properly.Solution: Use gcc instead of dllwrap. Use long option names. (Alejandro Lopez-Valencia)Files: src/GvimExt/Make_ming.makPatch 6.2.320Problem: Win32: Adding and removing the menubar resizes the Vim window. (Jonathon Merz)Solution: Don't leta resize event change'lines' unexpectedly.Files: src/gui.cPatch 6.2.321Problem: When using modeless selection, wrapping lines are not recognized,a line breakis always inserted.Solution: Add LineWraps[] to remember whethera line wrapped or not.Files: src/globals.h, src/screen.c, src/ui.cPatch 6.2.322Problem: With'showcmd' set, after typing "dd" the next "d" may not be displayed. (Jens Paulus)Solution: Redraw the command line after updating the screen,scrolling may have set "clear_cmdline".Files: src/screen.cPatch 6.2.323Problem: Win32: expanding "~/file" in anautocommandpattern results in backslashes, while thispattern should only have forward slashes.Solution: Make expanding environmentvariables respect'shellslash' and set p_ssl when expanding theautocommand pattern.Files: src/fileio.c, src/misc1.c, src/proto/fileio.proPatch 6.2.324 (extra)Problem: Win32: when "vimrun.exe" hasa path with white space, suchas "Program Files", executing external commands may fail.Solution: Put doublequotes around the path to "vimrun".Files: src/os_win32.cPatch 6.2.325Problem: When$HOME includesa space, doing ":set tags=~/tags" doesn't work, thespaceis used to separate file names. (Brett Stahlman)Solution: Escape thespace witha backslash.Files: src/option.cPatch 6.2.326Problem: ":windo set syntax=foo" doesn't work. (Tim Chase)Solution: Don't change'eventignore' for ":windo".Files: src/ex_cmds2.cPatch 6.2.327Problem: Whenformatting text all marks in the formatted lines are lost.Awordis not joined toa previous line when this would be possible. (Mikolaj Machowski)Solution: Try to keep marks in the same positionas muchas possible. Also keepmark positions when joining lines. Start auto-formatting in the previous line when appropriate. Add the "gw" operator: Like "gq" but keep the cursor whereit is.Files: runtime/doc/change.txt, src/edit.c, src/globals.h, src/mark.c, src/misc1.c, src/normal.c, src/ops.c, src/proto/edit.pro, src/proto/mark.pro, src/proto/ops.pro, src/structs.h, src/vim.hPatch 6.2.328Problem:XIM with GTK: Itis hard to understand whatXIMis doing.Solution: Add xim_log() to logXIM events andhelp with debugging.Files: src/mbyte.cPatch 6.2.329Problem: ":=" does not workVi compatible. (Antony Scriven)Solution: Print the last line number instead of the current line. Don't print "line".Files: src/ex_cmds.h, src/ex_docmd.cPatch 6.2.330 (extra, after 6.2.267)Problem: Win32: Crash when tearing offa menu.Solution: Terminateastring witha NUL. (Yasuhiro Matsumoto)Files: src/gui_w32.cPatch 6.2.331 (after 6.2.327)Problem: "gwap" leaves cursor in the wrong line.Solution: Remember the cursor position before finding the ends of the paragraph.Files: src/normal.c, src/ops.c, src/structs.hPatch 6.2.332 (extra)Problem: Amiga: Compile error forstring array. Compiling theAmigaGUI doesn't work.Solution: Usea char pointer instead. Move including "gui_amiga.h" to after including "vim.h". Adda semicolon. (Ali Akcaagac)Files: src/gui_amiga.c, src/os_amiga.cPatch 6.2.333 (extra)Problem: Win32:printing doesn't work with specified font charset.Solution: Use the specified font charset. (Mike Williams)Files: src/os_mswin.cPatch 6.2.334 (extra, after 6.2.296)Problem: Win32: evaluating clientexpression in debug mode requires typing "cont".Solution: Use eval_client_expr_to_string().Files: src/os_mswin.cPatch 6.2.335Problem: The ":sign" command cannot be followed by another command.Solution: Add TRLBAR to the command flags.Files: src/ex_cmds.hPatch 6.2.336 (after 6.2.327)Problem: Mixup of items in an expression.Solution: Move "== NUL" to the right spot.Files: src/edit.cPatch 6.2.337 (extra, after 6.2.319)Problem: Building gvimext.dll with Mingw doesn't work properly.Solution: Fix whitespace and other details. (Alejandro Lopez-Valencia)Files: src/GvimExt/Make_ming.makPatch 6.2.338 (after 6.2.331)Problem: When undoing "gwap" the cursoris alwaysputat the start of the paragraph. When undoing auto-formatting the cursor may be above the change.Solution: Try to move the cursor back to whereit was or to the first line that actually changed.Files: src/normal.c, src/ops.c, src/undo.cPatch 6.2.339Problem: Crash when using many different highlight groups andaUser highlight group. (Juergen Kraemer)Solution: Do not use the sg_name_u pointer whenitis NULL. Also simplify use of the highlight group table.Files: src/syntax.cPatch 6.2.340Problem: ":reg" doesn't show the actual contents of theclipboard ifit was filled outside of Vim. (Stuart MacDonald)Solution: Obtain theclipboard contents before displaying it.Files: src/ops.cPatch 6.2.341 (extra)Problem: Win32: When the path to diff.exe containsaspace and using thevimrc generated by theinstall program,diff mode does not work.Solution: Put the first doublequote just before thespace instead of before the path.Files: src/dosinst.cPatch 6.2.342 (extra)Problem: Win32: macros are not always usedas expected.Solution: Define WINVER to 0x0400 instead of 0x400. (Alejandro Lopez-Valencia)Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_mvc.makPatch 6.2.343Problem: Title doesn't work with somewindow managers. X11: Setting the text property for thewindow titleis hard coded.Solution: Use STRING format when possible. Use theUTF-8 function when it's available and'encoding'is utf-8. Use XStringListToTextProperty(). Do the same for the icon name. (David Harrison)Files: src/os_unix.cPatch 6.2.344 (extra, after 6.2.337)Problem: Cannot build gvimext.dll with MingW on Linux.Solution: Add support for cross compiling. (Ronald Hoellwarth)Files: src/GvimExt/Make_ming.makPatch 6.2.345 (extra)Problem: Win32: Copy/paste between two Vims fails if'encoding'is not set properly or there are illegal bytes.Solution: Usea raw byte format. Always setit when copying. When pasting use the raw format if'encoding'is the same.Files: src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.hPatch 6.2.346Problem:Win32 console: After using "chcp" Vim does not detect the different codepage.Solution: Use GetConsoleCP() and whenitis different from GetACP() set'termencoding'.Files: src/option.cPatch 6.2.347 (extra)Problem: Win32: XP theme supportis missing.Solution: Adda manifest and refer toit from the resource file. (Michael Wookey)Files: Makefile, src/gvim.exe.mnf, src/vim.rcPatch 6.2.348Problem: Win32: "vim c:\dir\(test)" doesn't work, because the'isfname' default value doesn't contain parentheses.Solution: Temporarily add '(' and ')' to'isfname' when expanding file name arguments.Files: src/main.cPatch 6.2.349Problem: Findinga match using'matchpairs' may causea crash.'matchpairs'is not used for'showmatch'.Solution: Don't look past the NUL in'matchpairs'. Use'matchpairs' for'showmatch'. (Dave Olszewkski)Files: src/misc1.c, src/normal.c, src/proto/search.pro, src/search.cPatch 6.2.350Problem: Not enough info aboutstartup timing.Solution: Adda few more TIME_MSG() calls.Files: src/main.cPatch 6.2.351Problem: Win32:$HOME may be set to %USERPROFILE%.Solution: Expand %VAR%at the start of $HOME.Files: src/misc1.cPatch 6.2.352 (after 6.2.335)Problem: ":sign texthl=||" does not work.Solution: Remove the check fora following command. Give an error for extra arguments after "buff=1".Files: src/ex_cmds.c, src/ex_cmds.hPatch 6.2.353 (extra)Problem: Win32: Supported server name lengthis limited. (Paul Bossi)Solution: Use MAX_PATH instead of 25.Files: src/os_mswin.cPatch 6.2.354 (extra)Problem: Win32: When the mouse pointeris ona tear-off menuitis hidden when typing butis not redisplayed when moved. (Markx Hackmann)Solution: Handle the pointer move event for the tear-off menu window.Files: src/gui_w32.cPatch 6.2.355 (after 6.2.303)Problem: When'encoding'isa double-byte encoding different from the current locale, the width of charactersis not correct. Possible failure and memory leak when using iconv,Unicodedigraphs and'encoding'is not "utf-8".Solution: Useiconv() to discover the actual width of characters. Add the "vc_fail" field to vimconv_T. When convertinga digraph, init the conversion type to NONE and cleanup afterwards.Files: src/digraph.c, src/mbyte.c, src/structs.hPatch 6.2.356Problem: When usinga double-byte'encoding' and'selection'is "exclusive", "vy" only yanks the first byte ofa double-byte character. (Xiangjiang Ma)Solution: Correct the column in unadjust_for_sel() to position on the first byte, always include the trailing byte of the selected text.Files: src/normal.cPatch 6.2.357 (after 6.2.321)Problem: Memory leak when resizing the Vim window.Solution: Free the LineWraps array.Files: src/screen.cPatch 6.2.358 (after 6.2.299)Problem: Memory leak when using ":help" and the language doesn't match.Solution: Free the array with matching tags.Files: src/ex_cmds.cPatch 6.2.359 (after 6.2.352)Problem: Compiler warning for long to int type cast.Solution: Add explicit type cast.Files: src/ex_cmds.cPatch 6.2.360Problem: "100|" in an empty line results ina ruler "1,0-100". (Pavol Juhas)Solution: Recompute w_virtcol if the target column was not reached.Files: src/misc2.cPatch 6.2.361 (extra)Problem: Win32: Run gvim, ":set go-=m", use Alt-Tab, keep Alt pressed while pressing Esc, then release Alt: Cursor disappears and typinga key causesa beep. (Hari Krishna Dara)Solution: Don't ignore the WM_SYSKEYUP event when the menuis disabled.Files: src/gui_w32.cPatch 6.2.362 (extra, after 6.2.347)Problem: Win32: The manifest causesgvim not to work. (Dave Roberts)Solution: Change "x86" to "X86". (Serge Pirotte)Files: src/gvim.exe.mnfPatch 6.2.363Problem: In an empty file with'showmode' off, "i" doesn't change the ruler from "0-1" to "1". Typing "x<BS>" does show "1", but then<Esc> doesn't makeit "0-1" again. Same problem for ruler in statusline. (Andrew Pimlott)Solution: Remember the "empty line" flag withInsert mode and'ed to it.Files: src/screen.cPatch 6.2.364Problem: HTML version of the documentation doesn't mention the encoding, whichisa problem for mbyte.txt.Solution: Adjust the awk script. (Ilya Sher)Files: runtime/doc/makehtml.awkPatch 6.2.365Problem: The configure checks forPerl andPython may add compile and link arguments that break building Vim.Solution: Doa sanity check: try building with the arguments.Files: src/auto/configure, src/configure.inPatch 6.2.366Problem: When theGUI can't start because no valid fontis found, thereis no error message. (Ugen)Solution: Add an error message.Files: src/gui.cPatch 6.2.367Problem: Building thehelptags file while installing may fail if thereis another Vim in $PATH.Solution: Specify the just installed Vim executable. (Gordon Prieur)Files: src/MakefilePatch 6.2.368Problem: When'autochdir'is set, closingawindow doesn't change to the directory of the new current window. (Salman Halim)Solution: Handle'autochdir' always whenawindow becomes the current one.Files: src/window.cPatch 6.2.369Problem: Various memory leaks: when using globpath(), when searching forhelptags files, when defininga function insidea function, when giving an error message through an exception, for the final "." line in ":append", inexpression "cond?a:b" that fails and for missing ")" in an expression. Using NULL pointer when adding first user command and for pointer computations with regexp. (tests by Dominique Pelle)Solution: Fix the leaks by freeing the allocated memory. Don't use the array of user commands when there are no entries. Useamacro instead ofa function call for saving and restoringregexp states.Files: src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/misc2.c, src/regexp.c, src/screen.c, src/tag.cPatch 6.2.370 (extra, after6.2.341)Problem: Win32: When the path to diff.exe containsaspace and using thevimrc generated by theinstall program,diff mode may not work. (Alejandro Lopez-Valencia)Solution: Do not use doublequotes for arguments thatdo not havea space.Files: src/dosinst.cPatch 6.2.371Problem: When'virtualedit'is set and thereisaTab before the next "x", "dtx" does not delete the whole Tab. (Ken Hashishi)Solution: Move the cursor to the last position of the Tab. Also for "df<Tab>".Files: src/normal.cPatch 6.2.372Problem: When using balloon evaluation, no valueis displayed for members of structures and items of an array.Solution: Include "->", "." and "[*]" in the expression.Files: src/gui_beval.c, src/normal.c, src/vim.hPatch 6.2.373Problem: When'winminheight'is zero andawindowis reduced to zero height, the ruler always says "Top" instead of the cursor position. (Antoine J. Mechelynck)Solution: Don't recompute w_topline fora zero-height window.Files: src/window.cPatch 6.2.374Problem: ":echo "hello" | silent normaln" removes the "hello" message. (Servatius Brandt)Solution: Don't echo the searchstring when ":silent" was used. Also don't show the mode. In general: don't clear to theend of the screen.Files: src/gui.c, src/message.c, src/os_unix.c, src/proto/message.pro, src/screen.c, src/search.c, src/window.cPatch 6.2.375Problem: Whenchanging'guioptions' thehit-enter prompt may be below theend of the Vim window.Solution: Call screen_alloc() before showing the prompt.Files: src/message.cPatch 6.2.376Problem: Win32:Rubyinterface cannot be dynamically linked withRuby 1.6.Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina)Files: src/if_ruby.cPatch 6.2.377 (after 6.2.372)Problem: Compiler warnings for signed/unsigned compare. (Michael Wookey)Solution: Add type cast.Files: src/normal.cPatch 6.2.378 (extra, after 6.2.118)Problem: Mac: cannot build with Project Builder.Solution: Add remove_tail_with_ext() to locate and remove the "build" directory from the runtime path. Include os_unix.c when needed. (Dany St Amant)Files: src/misc1.c, src/os_macosx.c, src/vim.hPatch 6.2.379Problem: Using ":mkvimrc" in the ":options"window sets'bufhidden' to "delete". (Michael Naumann)Solution: Do not add buffer-specific option values toa globalvimrc file.Files: src/option.cPatch 6.2.380 (extra)Problem: DOS: "make test" fails when runningit again. Can't "make test" with Borland C.Solution: Make sure ".out" files are deleted when they get in the way. Adda "test" target to the BorlandC Makefile.Files: src/Make_bc5.mak, src/testdir/Make_dos.makPatch 6.2.381Problem: Setting'fileencoding' toa comma-separatedlist (confusingit with'fileencodings') does not result in an error message. Setting'fileencoding' in an empty file marksitas modified. Thereis no "+" in the title after setting'fileencoding'.Solution: Check fora comma in'fileencoding'. Only considera non-empty file modified bychanging'fileencoding'. Update the title afterchanging'fileencoding'.Files: src/option.cPatch 6.2.382Problem: Running "make test" puts marks from test files in viminfo.Solution: Specifya differentviminfo file to use.Files: src/testdir/test15.in, src/testdir/test49.inPatch 6.2.383Problem: ":hi foo term='bla" crashes Vim. (Antony Scriven)Solution: Check that the closing'is there.Files: src/syntax.cPatch 6.2.384Problem: ":menu a.&b" ":unmenu a.b" only works if "&b" isn't translated.Solution: Also compare the names without '&' characters.Files: src/menu.cPatch 6.2.385 (extra)Problem: Win32: forward_slash() and trash_input_buf() are undefined when compiling with small features. (Ajit Thakkar)Solution: Change the #ifdefs for forward_slash(). Don't call trash_input_buf() if the input buffer isn't used.Files: src/fileio.c, src/os_win32.cPatch 6.2.386Problem: Wasting time trying to read marks from theviminfo file fora buffer withouta name.Solution: Skip reading marks when the buffer has no name.Files: src/fileio.cPatch 6.2.387Problem: Thereis no highlighting of translated items inhelp files.Solution: Search fora "help_ab.vim"syntax file when thehelp fileis called "*.abx". Also improve thehelp highlightinga bit.Files: runtime/syntax/help.vimPatch 6.2.388Problem: GTK: When displaying some double-width characters they are drawnas single-width, because of conversion to UTF-8.Solution: Check the width thatGTK uses and addaspace if it's one instead of two.Files: src/gui_gtk_x11.cPatch 6.2.389Problem: When working overa slow connection, it's very annoying that the last lineis partly drawn and then cleared for every change.Solution: Don't redraw the bottom line if no rows were inserted or deleted. Don't draw the line if we know "@" lines will be used.Files: src/screen.cPatch 6.2.390Problem: Using "r*" inVisual mode onmultibyte characters only replaces every other character. (Tyson Roberts)Solution: Correct the cursor position afterreplacing each character.Files: src/ops.cPatch 6.2.391 (extra)Problem: The ":highlight" commandis not tested.Solution: Adda testscript for ":highlight".Files: src/testdir/Makefile, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/testdir/test51.in, src/testdir/test51.okPatch 6.2.392 (after 6.2.384)Problem: Unused variable.Solution: Remove "dlen".Files: src/menu.cPatch 6.2.393Problem: When using very long lines theviminfo file can become very big.Solution: Add the "s" flag to'viminfo': skipregisters with more than the specified Kbyte of text.Files: runtime/doc/options.txt, src/ops.c, src/option.cPatch 6.2.394 (after 6.2.391)Problem: Test 51 fails onaterminal with 8 colors. (Tony Leneis)Solution: Use "DarkBlue" instead of "Blue" to avoid the "bold" attribute.Files: src/testdir/test51.inPatch 6.2.395Problem: When using ":tag" or ":pop" the previous matchingtagis used. But since the current fileis different, the ordering of thetags may change.Solution: Remember what the current buffer was for when re-using cur_match.Files: src/edit.c, src/ex_cmds.c, src/proto/tag.pro, src/structs.h, src/tag.cPatch 6.2.396Problem: WhenCTRL-T jumps to another file and anautocommand moves the cursor to the'" mark, don'tend up on the right line. (Michal Malecki)Solution: Set the line number after loading the file.Files: src/tag.cPatch 6.2.397Problem: When usinga double-byte'encoding'mapping<M-x> doesn't work. (Yasuhiro Matsumoto)Solution: Do not set the 8th bit of the character but usea modifier.Files: src/gui_gtk_x11.c, src/gui_x11.c, src/misc2.cPatch 6.2.398 (extra)Problem:Win32 console: no extra key modifiers are supported.Solution: Encode the modifiers into the input stream. Also fix that special keys are converted and stop working when'tenc'is set. Also fix that when'tenc'is initialized the input and output conversionis not setup properly until'enc' or'tenc'is set.Files: src/getchar.c, src/option.c, src/os_win32.cPatch 6.2.399Problem:A ":set" command that fails still writesa message whenitis insidea try/catch block.Solution: Include all the text of the message in the error message.Files: src/charset.c, src/option.cPatch 6.2.400Problem: Can't compile if_xcmdsrv.c on HP-UX 11.0.Solution: Include header file poll.h. (Malte Neumann)Files: src/if_xcmdsrv.cPatch 6.2.401Problem: When openinga buffer that was previously opened, Vim does not restore the cursor position if the first line starts with white space. (Gregory Margo)Solution: Don't skip restoring the cursor position ifitis past the blanks in the first line.Files: src/buffer.cPatch 6.2.402Problem: Mac: "makeinstall" doesn't generatehelp tags. (Benji Fisher)Solution: Generatehelptags beforecopying the runtime files.Files: src/MakefilePatch 6.2.403Problem: ":@y" checks stdin if there are more commands to execute. This fails if stdinis not connected, e.g., whenstarting theGUI from KDE. (Ned Konz)Solution: Only check fora next command if there stillis typeahead.Files: src/ex_docmd.cPatch 6.2.404Problem: Our own function to determine width ofUnicode characters may get outdated. (Markus Kuhn)Solution: Use wcwidth() whenitis available. Also use iswprint().Files: src/auto/configure, src/configure.in, src/config.h.in, src/mbyte.cPatch 6.2.405Problem: Cannot map zero without breaking thecount beforea command. (Benji Fisher)Solution: Disablemapping zero when enteringa count.Files: src/getchar.c, src/globals.h, src/normal.cPatch 6.2.406Problem: ":help \zs", ":help \@=" and similar don't find useful help.Solution: Prepend "/\" to the arguments to find the desiredhelp tag.Files: src/ex_cmds.cPatch 6.2.407 (after 6.2.299)Problem: ":help \@<=" doesn't find help.Solution: Avoid that ":help \@<=" searches for the "<=" language.Files: src/tag.cPatch 6.2.408Problem: ":compiler"is not consistent: Sets localoptions anda global variable. (Douglas Potts) Thereis no error message whena compileris not supported.Solution: Use ":compiler!" to seta compiler globally, otherwise it's local to the buffer and "b:current_compiler"is used. Give an error when no compilerscript could be found.Note: updated compiler plugins can be foundathttps://github.com/vim/vim/tree/master/runtime/compilerFiles: runtime/compiler/msvc.vim, runtime/doc/quickfix.txt, src/eval.c, src/ex_cmds2.cPatch 6.2.409Problem: The cursor ends up in the last column instead of after the line when doing "i//<Esc>o" with'indentexpr' set to "cindent(v:lnum)". (Toby Allsopp)Solution: Adjust the cursoras if inInsert mode.Files: src/misc1.cPatch 6.2.410 (after 6.2.389)Problem: Indiff mode, when there are more filler lines than fit in the window, they are not drawn.Solution: Check for filler lines when skipping to drawa line that doesn't fit.Files: src/screen.cPatch 6.2.411Problem:A "\n" insideastringis not seenasa line break by the regularexpression matching. (Hari Krishna Dara)Solution: Add the vim_regexec_nl() function for strings where "\n"is to be matched witha line break.Files: src/eval.c, src/ex_eval.c, src/proto/regexp.c, src/regexp.cPatch 6.2.412Problem: Ruby: "ruby<< EOF" insidea function doesn't always work. Also for ":python", ":tcl" and ":perl".Solution: Check for "<< marker" and skip until "marker" before checking for "endfunction".Files: src/eval.cPatch 6.2.413 (after 6.2.411)Problem: Missing prototype for vim_regexec_nl(). (Marcel Svitalsky)Solution: Now really include the prototype.Files: src/proto/regexp.proPatch 6.2.414Problem: The function used for custom completion of user commands cannot have<SID> to makeit local. (Hari Krishna Dara)Solution: Pass the SID of thescript where the user command was defined on to the completion. Also clean up #ifdefs.Files: src/ex_docmd.c, src/eval.c, src/ex_getln.c, src/structs.hPatch 6.2.415Problem: Vim may crash aftera sequence of events that change thewindow size. Thewindow layout assumesa largerwindow thanis actually available. (Servatius Brandt)Solution: Invoke win_new_shellsize() from screenalloc() instead of from set_shellsize().Files: src/screen.c, src/term.cPatch 6.2.416Problem: Compiler warning for incompatible pointer.Solution: Remove the "&" in the call to poll(). (Xavier de Gaye)Files: src/os_unix.cPatch 6.2.417 (after 6.2.393)Problem: Many people forget that the'"' item in'viminfo' needs to be preceded witha backslash,Solution: Add '<'as an alias for the'"' item.Files: runtime/doc/options.txt, src/ops.c, src/option.cPatch 6.2.418Problem: Using ":nnoremap<F12>:echo "cheese" and ":cabbr cheese xxx": when pressing<F12> still uses the abbreviation. (Hari Krishna)Solution: Also apply "noremap" to abbreviations.Files: src/getchar.cPatch 6.2.419 (extra)Problem: Win32: Cannot open the Vimwindow inside another application.Solution: Add the "-P" argument to specify thewindow title of the application to run inside. (Zibo Zhao)Files: runtime/doc/starting.txt, src/main.c, src/gui_w32.c, src/gui_w48.c, src/if_ole.cpp, src/os_mswin.c, src/proto/gui_w32.proPatch 6.2.420Problem: Cannot specifya file to be edited in binary mode without setting the global value of the'binary' option.Solution: Support ":edit++bin file".Files: runtime/doc/editing.txt, src/buffer.c, src/eval.c, src/ex_cmds.h, src/ex_docmd.c, src/fileio.c, src/misc2.cPatch 6.2.421Problem: Cannot set the'[ and'] mark, which may be necessary when anautocommand simulates readinga file.Solution: Allow using "m[" and "m]".Files: runtime/doc/motion.txt, src/mark.cPatch 6.2.422Problem: InCTRL-X completionmessages the "/" makes themless readable.Solution: Remove the slashes. (Antony Scriven)Files: src/edit.cPatch 6.2.423Problem: ":vertical wincmd]" does not split vertically.Solution: Add "postponed_split_flags".Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/tag.cPatch 6.2.424Problem:ABufEnterautocommand that sets an option stops'mousefocus' from working inInsert mode (Normal modeis OK). (Gregory Seidman)Solution: In theInsert mode loop invoke gui_mouse_correct() when needed.Files: src/edit.cPatch 6.2.425Problem: Vertical split and command line window: can only drag status line above the cmdlinewindow on the righthand side, not lefthand side.Solution: Check the status line row instead of thewindow pointer.Files: src/ui.cPatch 6.2.426Problem:Asyntax regionend match witha matchgroup that includesa line break only highlights the last line with matchgroup. (Gary Holloway)Solution: Also use the line number of the position where the region highlighting ends.Files: src/syntax.cPatch 6.2.427 (extra)Problem: When pastinga lot of text inamultibyte encoding, conversion from'termencoding' to'encoding' may fail for some characters. (Kuang-che Wu)Solution: When thereis an incomplete byte sequenceat theend of the read text keepit for the next time.Files: src/mbyte.c, src/os_amiga.c, src/os_mswin.c, src/proto/mbyte.pro, src/proto/os_mswin.pro, src/ui.cPatch 6.2.428Problem: TheX11clipboard supports the Vim selection for char/line/block mode, but since the encodingis not included can't copy/paste between two Vims witha different'encoding'.Solution: Adda new selection format that includes the'encoding'. Perform conversion when necessary.Files: src/gui_gtk_x11.c, src/ui.c, src/vim.hPatch 6.2.429Problem: Unix:glob() doesn't work fora directory witha singlequote in the name. (Nazri Ramliy)Solution: When using the shell to expand, onlyput doublequotes around spaces and single quotes, not the whole thing.Files: src/os_unix.cPatch 6.2.430Problem: BOMat start ofa vimscript fileis not recognized and causes an error message.Solution: Detect the BOM and skip over it. Also fix that after using ":scriptencoding" theiconv() file descriptor was not closed (memory leak).Files: src/ex_cmds2.cPatch 6.2.431Problem: When using the horizontal scrollbar, thescrollingis limited to the length of the cursor line.Solution: Make the scroll limit depend on the longest visible line. The cursoris moved when necessary. Including the 'h' flag in'guioptions' disables this.Files: runtime/doc/gui.txt, runtime/doc/options.txt, src/gui.c, src/misc2.c, src/option.hPatch 6.2.432 (after 6.2.430 and 6.2.431)Problem: Lint warnings.Solution: Add type casts.Files: src/ex_cmds2.c, src/gui.cPatch 6.2.433Problem: Translating "VISUAL" and "BLOCK" separately doesn't givea good result. (Alejandro Lopez Valencia)Solution: Useastring for each combination.Files: src/screen.cPatch 6.2.434 (after 6.2.431)Problem: Compiler warning. (Salman Halim)Solution: Add type casts.Files: src/gui.cPatch 6.2.435Problem: When there are vertically splitwindows the minimal Vimwindow heightis computed wrong.Solution: Use frame_minheight() to correctly compute the minimal height.Files: src/window.cPatch 6.2.436Problem: Running the tests changes the user'sviminfo file.Solution: In test 49 tell the extra Vim to use the testviminfo file.Files: src/testdir/test49.vimPatch 6.2.437Problem: ":mksession" always puts "set nocompatible" in the session file. This changes option settings. (Ron Aaron)Solution: Add an "if" to only change'compatible' when needed.Files: src/ex_docmd.cPatch 6.2.438Problem: When the 'v' flagis present in'cpoptions', backspacing and then typing text again: one character too muchis overtyped beforeinsertingis done again.Solution: Set "dollar_vcol" to the right column.Files: src/edit.cPatch 6.2.439Problem:GTK 2: Changing'lines' may causea mismatch between thewindow layout and the size of the window.Solution: Disable the hack with force_shell_resize_idle().Files: src/gui_gtk_x11.cPatch 6.2.440Problem: When'lazyredraw'is set thewindow titleis still updated. The size of theVisual area and the ruler are displayed too often.Solution: Postpone redrawing thewindow title. Only show theVisual area size when waiting fora character. Don't draw the ruler unnecessary.Files: src/buffer.c, src/normal.c, src/screen.cPatch 6.2.441Problem: ":unabbreviate foo " doesn't work, because of the trailing space, while an abbreviation witha trailingspaceis not possible. (Paul Jolly)Solution: Accepta match with the lhs of an abbreviation without the trailing space.Files: src/getchar.cPatch 6.2.442Problem: Cannot manipulate the command line froma function.Solution: Add getcmdline(),getcmdpos() andsetcmdpos()functions and theCTRL-\e command.Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, src/eval.c src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, src/proto/ops.proPatch 6.2.443Problem: With ":silent! echoerr something" you don't get the position of the error. emsg() only writes the message itself and returns.Solution: Also redirect the position of the error.Files: src/message.cPatch 6.2.444Problem: When adding the 'c' flag toa ":substitute" commandit may replace more times than without the 'c' flag. Happens fora match that starts with "\ze" (Marcel Svitalsky) and when using "\@<=" (Klaus Bosau).Solution: Correct "prev_matchcol" whenreplacing the line. Don't replace the line when thepattern uses look-behind matching.Files: src/ex_cmds.c, src/proto/regexp.pro, src/regexp.cPatch 6.2.445Problem: Copyingvimtutor to /tmp/somethingis not secure,a symlink may cause trouble.Solution: Createa directory and create the file in it. Use "umask" to create the directory with mode 700. (Stefan Nordhausen)Files: src/vimtutorPatch 6.2.446 (after 6.2.404)Problem: Using libraryfunctions wcwidth() and iswprint() results in display problems for Hebrew characters. (Ron Aaron)Solution: Disable the code to use the library functions, use our own.Files: src/mbyte.cPatch 6.2.447 (after 6.2.440)Problem: Now that the titleis only updated when redrawing,itis no longer possible to showit while executinga function. (Madoka Machitani)Solution: Make ":redraw" also update the title.Files: src/ex_docmd.cPatch 6.2.448 (after 6.2.427)Problem: Mac: conversion done when'termencoding' differs from'encoding' fails when pastinga longer text.Solution: Check for an incomplete sequenceat theend of the chunk to be converted. (Eckehard Berns)Files: src/mbyte.cPatch 6.2.449 (after 6.2.431)Problem: Get errormessages when switching files.Solution: Check fora valid line number when calculating the width of the horizontal scrollbar. (Helmut Stiegler)Files: src/gui.cPatch 6.2.450Problem: " #include" and " #define" are not recognized with the default option values for'include' and'defined'. (RG Kiran)Solution: Adjust the default values to allow whitespace before the #.Files: runtime/doc/options.txt, src/option.cPatch 6.2.451Problem: GTK: when usingXIM there arevarious problems, including setting'modified' and breakingundoat the wrong moment.Solution: Add "xim_changed_while_preediting", "preedit_end_col" and im_is_preediting(). (Yasuhiro Matsumoto)Files: src/ex_getln.c, src/globals.h, src/gui_gtk.c, src/gui_gtk_x11.c, src/mbyte.c, src/misc1.c, src/proto/mbyte.pro, src/screen.c, src/undo.cPatch 6.2.452Problem: Indiff mode, when DiffAdd and DiffText highlight settings are equal, an added lineis highlighted with DiffChange. (Tom Schumm)Solution: Remember thediff highlight type instead of the attributes.Files: src/screen.cPatch 6.2.453Problem: ":s/foo\|\nbar/x/g" does not replace two times in "foo\nbar". (Pavel Papushev)Solution: When thepattern can matcha line break also try matchingat the NULat theend ofa line.Files: src/ex_cmds.c, src/regexp.cPatch 6.2.454Problem: ":letb:changedtick" doesn't work. (Alan Schmitt) ":letb:changedtick= 99" does not give an error message.Solution: Add code to recognize ":letb:changedtick".Files: src/eval.cPatch 6.2.455 (after 6.2.297)Problem: InPython commands the currentlocale changes how certainPythonfunctions work. (Eugene M. Minkovskii)Solution: Set the LC_NUMERIClocale to "C" while executingaPython command.Files: src/if_python.cPatch 6.2.456 (extra)Problem: Win32: Editinga file by itsUnicode name (droppingit on Vim or using the file selection dialog) doesn't work. (Yakov Lerner, Alex Jakushev)Solution: Use wide characterfunctions when file names are involved and convert from/to'encoding' where needed.Files: src/gui_w48.c, src/macros.h, src/memfile.c, src/memline.c, src/os_mswin.c, src/os_win32.cPatch 6.2.457 (after 6.2.244)Problem: When'encoding'is "utf-8" andwriting text with chars above 0x80 in latin1, conversionis wrong every 8200 bytes. (Oyvind Holm)Solution: Correct the utf_ptr2len_check_len() function and fix the problem of displaying 0xf7 in utfc_ptr2len_check_len().Files: src/mbyte.cPatch 6.2.458Problem: When'virtualedit'is set "$" doesn't move to theend of an unprintable character, causing "y$" not to include that character. (Fred Ma)Solution: Set "coladd" to move the cursor to theend of the character.Files: src/misc2.cPatch 6.2.459 (after 6.2.454)Problem: Variable "b" cannot be written. (Salman Halim)Solution: Compare strings properly.Files: src/eval.cPatch 6.2.460 (extra, after 6.2.456)Problem: Compiler warnings for missing prototypes.Solution: Include the missing prototypes.Files: src/proto/os_win32.proPatch 6.2.461Problem: After usinga search command "x" starts putting single characters in the numbered registers.Solution: Reset "use_reg_one"at the right moment.Files: src/normal.cPatch 6.2.462Problem: Findinga matching parenthesis does not correctly handleabackslash ina trailing byte.Solution: Handlemultibyte characters correctly. (Taro Muraoka)Files: src/search.cPatch 6.2.463 (extra)Problem: Win32: An NTFS file system may contain files with extra info streams. The currentmethod to copy them creates one and then deletesit again. (Peter Toennies) Also, only three streams with hard coded names are copied.Solution: Use BackupRead() to check which info streams the original file contains and only copy these streams.Files: src/os_win32.cPatch 6.2.464 (extra, after 6.2.427)Problem: Amiga: Compilation error with gcc. (Ali Akcaagac)Solution: Move the #ifdef outside of Read().Files: src/os_amiga.cPatch 6.2.465Problem: When resizing theGUIwindow thewindow manager sometimes movesit left of or above the screen. (Michael McCarty)Solution: Check thewindow position after resizingit and moveit onto the screen whenit isn't.Files: src/gui.cPatch 6.2.466 (extra, after 6.2.456)Problem: Win32: Compiling with BorlandC fails, and an un/signed warning.Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro Matsumoto)Files: src/os_win32.cPatch 6.2.467 (extra, after 6.2.463)Problem: Win32: can't compile withoutmultibyte feature. (Ajit Thakkar)Solution: Add #ifdefs around the info stream code.Files: src/os_win32.cPatch 6.2.468Problem: Compiler warnings for shadowed variables. (Matthias Mohr)Solution: Delete superfluousvariables and rename others.Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/if_cscope.c, src/fold.c, src/option.c, src/os_unix.c, src/quickfix.c, src/regexp.cPatch 6.2.469 (extra, after 6.2.456)Problem: Win32: Can't create swap file when'encoding' differs from the active code page. (Kriton Kyrimis)Solution: In enc_to_ucs2() terminate the convertedstring witha NULFiles: src/os_mswin.cPatch 6.2.470Problem: The name returned bytempname() may be equal to the file used for shell output when ignoring case.Solution: Skip 'O' and 'I' in tempname().Files: src/eval.cPatch 6.2.471Problem: "-L/usr/lib"is used in the link command, even though it's supposed to be filtered out. "-lw" and "-ldl" are not automatically added when needed for "-lXmu". (Antonio Colombo)Solution: Check foraspace after the argument instead of before. Also remove "-R/usr/lib" if it's there. Check for "-lw" and "-ldl" before trying "-lXmu".Files: src/auto/configure, src/configure.in, src/link.shPatch 6.2.472Problem: When usingaFileChangedShellautocommand that changes the current buffer,a buffer exists that can't be wiped out. Also, Vim sometimes crashes when executing an external command that changes the buffer andaFileChangedShellautocommandis used. (Hari Krishna Dara) Users are confused by the warning fora file being changed outside of Vim.Solution: Avoid that thewindow counter fora bufferis incremented twice. Avoid that buf_check_timestamp()is used recursively. Adda hint to look in thehelp for more info.Files: src/ex_cmds.c, src/fileio.cPatch 6.2.473Problem: UsingCTRL-] inahelp buffer withouta name causesa crash.Solution: Check for name to be present before using it. (Taro Muraoka)Files: src/tag.cPatch 6.2.474 (extra, after 6.2.456)Problem: When Vimisstarting up conversionis done unnecessarily. Failure to find the runtime files on Windows 98. (Randall W. Morris)Solution: Init enc_codepage negative, only useit when not negative. Don't use GetFileAttributesW() on Windows 98 or earlier.Files: src/globals.h, src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.cPatch 6.2.475Problem: Commands after "perl <<EOF" are parsedas Vim commands when they are not executed.Solution: Properly skip over theperl commands.Files: src/ex_docmd.c, src/ex_getln.c, src/if_perl.xs, src/if_python.c, src/if_ruby.c, src/if_tcl.c, src/misc2.cPatch 6.2.476Problem: When reloadinga hidden buffer changed outside of Vim and the current bufferis read-only, the reloaded buffer becomes read-only. (Hari Krishna Dara)Solution: Save the'readonly' flag of the reloaded buffer instead of the current buffer.Files: src/fileio.cPatch 6.2.477Problem: Using remote_send(v:servername, "\<C-V>") causes Vim to hang. (Yakov Lerner)Solution: When the resultingstringis empty don't set received_from_client.Files: src/main.cPatch 6.2.478Problem: Win32: "--remote file" failschanging directory if the current directory name starts witha singlequote. (Iestyn Walters)Solution: Addabackslash whereit will be removed later.Files: src/main.c, src/misc2.c, src/proto/misc2.proPatch 6.2.479Problem: The error message forerrors duringrecovery goes unnoticed.Solution: Avoid that thehit-enter prompt overwrites the message. Adda few lines to make the error stand out.Files: src/main.c, src/message.c, src/memline.cPatch 6.2.480Problem: NetBeans: Using negativeindex in array.backslashatend of message may cause Vim to crash. (Xavier de Gaye)Solution: Initialize buf_list_used to zero. Check for trailing backslash.Files: src/netbeans.cPatch 6.2.481Problem: Whenwritinga fileitis not possible to specify that hard and/or symlinks are to be broken instead of preserved.Solution: Add the "breaksymlink" and "breakhardlink" values to'backupcopy'. (Simon Ekstrand)Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.hPatch 6.2.482Problem: Repeatinginsert ofCTRL-K 1S doesn't work. The superscript 1is considered to bea digit. (Juergen Kraemer)Solution: In vim_isdigit() only accept '0' to '9'. Use VIM_ISDIGIT() for speed where possible. Also add vim_isxdigit().Files: src/buffer.c, src/charset.c, src/diff.c, src/digraph.c, src/edit.c, src/eval.c,, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/if_xcmdsrv.c, src/farsi.c, src/fileio.c, src/fold.c, src/getchar.c, src/gui.c, src/if_cscope.c, src/macros.h, src/main.c, src/mark.c, src/mbyte.c, src/menu.c, src/misc1.c, src/misc2.c, src/normal.c, src/ops.c, src/option.c, src/proto/charset.pro, src/regexp.c, src/screen.c, src/search.c, src/syntax.c, src/tag.c, src/term.c, src/termlib.cPatch 6.2.483 (extra, after 6.2.482)Problem: See 6.2.482.Solution: Extra part of patch 6.2.482.Files: src/gui_photon.c, src/gui_w48.c, src/os_msdos.c, src/os_mswin.cPatch 6.2.484Problem: MS-Windows: With the included diff.exe, differences afteraCTRL-Z are not recognized. (Peter Keresztes)Solution: Write the files withunix fileformat and invokediff with --binary if possible.Files: src/diff.cPatch 6.2.485Problem:ABufWriteCmdautocommand cannot know if "!" was used or not. (Hari Krishna Dara)Solution: Add thev:cmdbang variable.Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, src/fileio.c, src/vim.hPatch 6.2.486 (6.2.482)Problem: Diff for eval.cis missing.Solution: Addition to patch 6.2.482.Files: src/eval.cPatch 6.2.487 (extra, after 6.2.456)Problem: Compiler warnings for wrong prototype. (Alejandro Lopez Valencia)Solution: Delete the prototype for Handle_WM_Notify().Files: src/proto/gui_w32.proPatch 6.2.488Problem: Missing ")" in *.chfiletype detection.Solution: Add the ")". (Ciaran McCreesh)Files: runtime/filetype.vimPatch 6.2.489Problem: When accidentally openinga session in Vim which has already been opened in another Vim thereisa long row ofATTENTION prompts. Need to quit each of them to get out. (Robert Webb)Solution: Add the "Abort" alternative to the dialog.Files: src/memline.cPatch 6.2.490Problem: With'paragraph'itis not possible to usea single dotasaparagraph boundary. (Dorai Sitaram)Solution: Allow using " " (two spaces) in'paragraph' to match ".$" or ".$"Files: src/search.cPatch 6.2.491Problem: Decrementinga position doesn't take care ofmultibyte chars.Solution: Adjust the column formultibyte characters. Remove mb_dec(). (Yasuhiro Matsumoto)Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.proPatch 6.2.492Problem: When using ":redraw" while thereisa message, the next ":echo" still causes text to scroll. (Yasuhiro Matsumoto)Solution: Reset msg_didout and msg_col, so that after ":redraw" the next message overwrites an existing one.Files: src/ex_docmd.cPatch 6.2.493Problem: "@x" doesn't work when'insertmode'is set. (Benji Fisher)Solution: Put "restart_edit" in the typeahead buffer, so that it's used after executing the register contents.Files: src/ops.cPatch 6.2.494Problem: Usingdiff mode with two windows, when moving horizontally in inserted lines,a fold in the otherwindow may open.Solution: Compute the line number in the otherwindow correctly.Files: src/diff.cPatch 6.2.495 (extra, after 6.2.456)Problem: Win32: The filedialog doesn't work on Windows 95.Solution: Put the wide code of gui_mch_browse() in gui_mch_browseW() and useit only on Windows NT/2000/XP.Files: src/gui_w32.c, src/gui_w48.cPatch 6.2.496Problem: FreeBSD 4.x: When compiled with the pthread library (Python)a complicatedpattern may cause Vim to crash. Catching the signal doesn't work.Solution: When compiled with threads, instead of using the normal stacksize limit, use the size of the initial stack.Files: src/auto/configure, src/config.h.in, src/configure.in, src/os_unix.cPatch 6.2.497 (extra)Problem:Russianmessages are only available in one encoding.Solution: Convert themessages toMS-Windows codepages. (Vassily Ragosin)Files: src/po/MakefilePatch 6.2.498Problem: Non-latin1help files are not properly supported.Solution: Supportutf-8help files and convert them to'encoding' when needed.Files: src/fileio.cPatch 6.2.499Problem: Whenwritinga file and halting the system, the file might be lost when usinga journaling file system.Solution: Use fsync() to flush the file data to disk afterwritinga file. (Radim Kolar)Files: src/fileio.cPatch 6.2.500 (extra)Problem: The DOS/MS-Windows the installer doesn't use the --binary flag for diff.Solution: Add --binary to thediff argument in MyDiff(). (Alejandro Lopez- Valencia)Files: src/dosinst.cPatch 6.2.501Problem: Vim does not compile with MorphOS.Solution: Adda Makefile anda few changes to make Vim work with MorphOS. (Ali Akcaagac)Files: runtime/doc/os_amiga.txt, src/INSTALLami.txt, src/Make_morphos.mak, src/memfile.c, src/term.cPatch 6.2.502Problem: Building fails for generating message files.Solution: Add dummy message files.Files: src/po/ca.po, src/po/ru.po, src/po/sv.poPatch 6.2.503Problem: Mac: Can't compile MacRoman conversions without the GUI.Solution: Also link with the Carbon framework for theterminal version, for the MacRoman conversion functions. (Eckehard Berns) Remove -ltermcap from theGUI link command,itis not needed.Files: src/auto/configure, src/Makefile, src/configure.inPatch 6.2.504Problem: Various problems with'cindent', among which thatalist of variable declarationsis not indented properly.Solution: Fix the wrong indenting. Improve indenting of C++ methods. Add the 'i', 'b' and 'W'options to'cinoptions'. (mostly by Helmut Stiegler) Improve indenting of preprocessor-continuation lines.Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, src/testdir/test3.okPatch 6.2.505Problem: Help for-P argumentis missing. (Ronald Hoellwarth)Solution: Add the patch that was missing in 6.2.419.Files: runtime/doc/starting.txtPatch 6.2.506 (extra)Problem: Win32: When'encoding'isa codepage then readingautf-8 file only works when iconvis available. Writinga file in another codepage uses the wrong kind of conversion.Solution: Use internal conversion functions. Enable reading andwriting files with'fileencoding' different from'encoding' for all valid codepages andutf-8 without the need for iconv.Files: src/fileio.c, src/testdir/Make_dos.mak, src/testdir/test52.in, src/testdir/test52.okPatch 6.2.507Problem: The ownership of the file with the password for theNetBeans connectionis not checked. "-nb={file}" doesn't work for GTK.Solution: Only accept the file when owned by the user and not accessible by others. Detect "-nb=" for GTK.Files: src/netbeans.c, src/gui_gtk_x11.cPatch 6.2.508Problem: Win32: "v:lang" does not show the current language formessages ifit differs from the otherlocale settings.Solution: Use the value of the $LC_MESSAGES environment variable.Files: src/ex_cmds2.cPatch 6.2.509 (after 6.2.508)Problem: Crash when $LANGis not set.Solution: Add check for NULL pointer. (Ron Aaron)Files: src/ex_cmds2.cPatch 6.2.510 (after 6.2.507)Problem: Warning for pointer conversion.Solution: Adda type cast.Files: src/gui_gtk_x11.cPatch 6.2.511Problem: Tags inRussianhelp files are inutf-8 encoding, which may be different from'encoding'.Solution: Use the "TAG_FILE_ENCODING" field in thetags file to specify the encoding of the tags. Converthelptags from'encoding' to thetag file encoding when searching for matches,do the reverse when listinghelp tags.Files: runtime/doc/tagsrch.txt, src/ex_cmds.c, src/tag.cPatch 6.2.512Problem: Translating "\"\n"is useless. (Gerfried Fuchs)Solution: Remove the _() around it.Files: src/main.c, src/memline.cPatch 6.2.513 (after 6.2.507)Problem: NetBeans: the check for owning the connection info file can be simplified. (Nikolay Molchanov)Solution: Only check if the access modeis right.Files: src/netbeans.cPatch 6.2.514Problem: Whena highlight/syntax group name contains invalid characters thereis no warning.Solution: Add an error for unprintable characters anda warning for other invalid characters.Files: src/syntax.cPatch 6.2.515Problem: When using theoptionswindow'swapfile'is reset.Solution: Use ":setlocal" instead of ":set".Files: runtime/optwin.vimPatch 6.2.516Problem: The sign column cannot be seen, looks like there are two spaces before the text. (Rob Retter)Solution: Add the SignColumn highlight group.Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c, src/screen.c, src/syntax.c, src/vim.hPatch 6.2.517Problem: Using "r*" inVisual mode onmultibyte characters replaces too many characters. InVisual Block modereplacing withamultibyte character doesn't work.Solution: Adjust theoperatorend for the difference in byte length of the original and the replaced character.Insert all bytes ofamultibyte character, take care of double-wide characters.Files: src/ops.cPatch 6.2.518Problem: Last line ofawindowis not updated after using "J" and then "D". (Adri Verhoef)Solution: When no lineis found belowa change that doesn't need updating, update all lines below the change.Files: src/screen.cPatch 6.2.519Problem: Mac: cannot read/write files in MacRoman format.Solution: Do internal conversion from/to MacRoman to/fromutf-8 and latin1. (Eckehard Berns)Files: src/fileio.cPatch 6.2.520 (extra)Problem: The NSIS installeris outdated.Solution: Makeit work with NSIS 2.0. Also include console executables for Win 95/98/ME and Win NT/2000/XP. Use LZWA compression. Use "/oname" to avoid having to rename files before running NSIS.Files: Makefile, nsis/gvim.nsiPatch 6.2.521Problem: When using silentEx mode the "changinga readonly file" warningis omitted but the one second wait isn't. (Yakov Lerner)Solution: Skip the delay when "silent_mode"is set.Files: src/misc1.cPatch 6.2.522Problem: GUI: whenchanging'cmdheight' in thegvimrc file thewindow layoutis messed up. (Keith Dart)Solution: Skip updating thewindow layout whenchanging'cmdheight' while stillstarting up.Files: src/option.cPatch 6.2.523Problem: When loadinga session and aborting whena swap file already exists, the useris left with useless windows. (Robert Webb)Solution: Load one file before creating the windows.Files: src/ex_docmd.cPatch 6.2.524 (extra, after 6.2.520)Problem: Win32: (un)installing gvimext.dll may fail ifit was used. The desktop and start menu links are created for the current user instead of all users. Using thehome directoryas working directory for the linksisa bad idea for multi-user systems. Cannot use Vim from the "Open With..." menu.Solution: Forcea reboot if necessary. (Alejandro Lopez-Valencia) Also use macros for the directory of the source and runtime files. Use "CSIDL_COMMON_*" instead of "CSIDL_*" when possible. Do not specifya working directory in the links. Add Vim to the "Open With..." menu. (Giuseppe Bilotta)Files: nsis/gvim.nsi, src/dosinst.c, src/dosinst.h, src/uninstal.cPatch 6.2.525Problem: When thehistory containsa very long line ":history" causesa crash. (Volker Kiefel)Solution: Shorten thehistory entry to fitit in one line.Files: src/ex_getln.cPatch 6.2.526Problem: When s:langis "ja" theJapanesemenus are not used.Solution: Add'encoding' to the language when thereis no charset.Files: runtime/menu.vimPatch 6.2.527Problem: The 2htmlscript uses ":wincmdp", which breaks when using some autocommands.Solution: Remember thewindow numbers and jump to them with ":wincmdw". Also add XHTML support. (Panagiotis Issaris)Files: runtime/syntax/2html.vimPatch 6.2.528Problem: NetBeans: Changes of the "~" command are not reported.Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur) Also changeNetBeans debugging to append to the log file. Also fix that "~" inVisual block mode changes too much if there aremultibyte characters.Files: src/nbdebug.c, src/normal.c, src/ops.cPatch 6.2.529 (extra)Problem: VisVim only works for Admin. Doingit for one user doesn't work. (Alexandre Gouraud)Solution: When registering the module fails, simply continue.Files: src/VisVim/VisVim.cppPatch 6.2.530Problem: Warning for missing prototype on the Amiga.Solution: Include time.hFiles: src/version.cPatch 6.2.531Problem: In silentex mode nomessages are given, which makes debugging very difficult.Solution: Do outputmessages when'verbose'is set.Files: src/message.c, src/ui.cPatch 6.2.532 (extra)Problem: Compiling for Win32s with VC 4.1 doesn't work.Solution: Don't use CP_UTF8 if it's not defined. Don't use CSIDL_COMMON* when not defined.Files: src/dosinst.h, src/fileio.cWin32 console: After patch 6.2.398Ex mode did not work. (Yasuhiro Matsumoto)Patch 6.3a.001Problem: Win32: iftesting for the "--binary" option fails,diff isn't usedat all.Solution: Handle the "ok" flag properly. (Yasuhiro Matsumoto)Files: src/diff.cPatch 6.3a.002Problem: NetBeans: Aninsert command fromNetBeans beyond theend ofa buffer crashes Vim. (Xavier de Gaye)Solution: Usea local pos_T structure for the position.Files: src/netbeans.cPatch 6.3a.003Problem:E315 error with auto-formatting comments. (Henry Van Roessel)Solution: Pass the line number to same_leader().Files: src/ops.cPatch 6.3a.004Problem: Test32 fails on Windows XP for the DJGPP version. Renaming test11.out fails.Solution: Don't try renaming, create new files to use for the test.Files: src/testdir/test32.in, src/testdir/test32.okPatch 6.3a.005Problem: ":checkpath!" does not use'includeexpr'.Solution: Usea file name that was found directly. Whena file was not found and the located nameis empty, use the rest of the line.Files: src/search.cPatch 6.3a.006Problem: "yip" moves the cursor to the first yanked line, but not to the first column. Looks like not all text was yanked. (Jens Paulus)Solution: Move the cursor to the first column.Files: src/search.cPatch 6.3a.007Problem:'cindent' recognizes "enum" but not "typedefenum".Solution: Skip over "typedef" before checking for "enum". (Helmut Stiegler) Also avoid that searching for this item goes too far back.Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.okPatch 6.3a.008 (extra)Problem: Windows 98: Some of the widefunctions are not implemented, resulting in file I/O to fail. This depends on whatUnicode supportis installed.Solution: Handle the failure and fall back to non-wide functions.Files: src/os_win32.cPatch 6.3a.009Problem: Win32: Completion of filenames does not work properly when'encoding' differs from the active code page.Solution: Use widefunctions for expandingwildcards when appropriate.Files: src/misc1.cPatch 6.3a.010 (extra)Problem: Win32: Characters in thewindow title thatdo not appear in the active codepage are replaced bya question mark.Solution: Use DefWindowProcW() instead of DefWindowProc() when possible.Files: src/glbl_ime.cpp, src/globals.h, src/proto/gui_w16.pro, src/proto/gui_w32.pro, src/gui_w16.c, src/gui_w32.c, src/gui_w48.cPatch 6.3a.011Problem: Using the explorerplugin changesa local directory to the global directory.Solution: Don't use ":chdir" to restore the current directory. Make "expand('%:p')" remove "/../" and "/./" items from the path.Files: runtime/plugin/explorer.vim, src/eval.c, src/os_unix.cPatch 6.3a.012 (extra)Problem: On Windows 98 the installer doesn't work, don't even get the "I agree" button. The check for the path ending in "vim" makes the browsedialog hard to use. The default path when no previous Vimis installedis "c:\vim" instead of "c:\Program Files\Vim".Solution: Remove the background gradient command. Change the .onVerifyInstDir function toa leave function for the directory page. Don't let theinstall program default to c:\vim when no path could be found.Files: nsis/gvim.nsi, src/dosinst.cPatch 6.3a.013 (extra)Problem: Win32: Characters in the menu that are not in the active codepage are garbled.Solution: Convert menu strings from'encoding' to the active codepage.Files: src/gui_w32.c, src/gui_w48.cPatch 6.3a.014Problem: Usingmultibyte text and highlighting ina statusline causes gaps to appear. (Helmut Stiegler)Solution: Advance the column by text width instead of number of bytes. Add the vim_strnsize() function.Files: src/charset.c, src/proto/charset.pro, src/screen.cPatch 6.3a.015Problem: Using the "select all" menu item when'insertmode'is set and clicking the mouse button doesn't return toInsert mode. The Buffers/Delete menu doesn't offera choice toabandona changed buffer. (Jens Paulus)Solution: Don't useCTRL-\CTRL-N. Add ":confirm" for the Buffers menu items.Files: runtime/menu.vimPatch 6.3a.016Problem: After cancelling the ":confirm"dialog the error message andhit-enter prompt may not be displayed properly.Solution: Flush output after showing the dialog.Files: src/message.cPatch 6.3a.017Problem: servername() doesn't work when Vim was started with the "-X" argument or when the "exclude" in'clipboard' matches theterminal name. (Robert Nowotniak)Solution: Force connecting to theX server when usingclient-server commands.Files: src/eval.c, src/globals.h, src/os_unix.cPatch 6.3a.018 (after 6.3a.017)Problem: Compiler warning for return value of make_connection().Solution: Use void return type.Files: src/eval.cPatch 6.3a.019 (extra)Problem: Win32: typing non-latin1 characters doesn't work.Solution: Invoke _OnChar() directly to avoid that the argumentis truncated toa byte. Convert the UTF-16 character to bytes according to'encoding' and ignore'termencoding'. Same for _OnSysChar().Files: src/gui_w32.c, src/gui_w48.cPatch 6.3a.020 (extra)Problem: Missing support for AROS (AmigaOS reimplementation).AmigaGUI doesn't work.Solution: Add AROS support. (Adam Chodorowski) FixAmigaGUI problems. (Georg Steger, Ali Akcaagac)Files: Makefile, src/Make_aros.mak, src/gui_amiga.c, src/gui_amiga.h, src/memfile.c, src/os_amiga.c, src/term.cPatch 6.3a.021 (after 6.3a.017)Problem: Can't compile withX11 but without GUI.Solution: Put use of "gui.in_use" inside an #ifdef.Files: src/eval.cPatch 6.3a.022Problem: When typing Tabs when'softtabstop'is used and'list'is setatabis counted for two spaces.Solution: Use the "L" flag in'cpoptions' to tell whetheratabis countedas two spaces oras'tabstop'. (Antony Scriven)Files: runtime/doc/options.txt, src/edit.cPatch 6.3a.023Problem: Completion on the command line doesn't handle backslashes properly. Only the tail of matchesis shown, even when not completing filenames.Solution: When turning thestring intoapattern double backslashes. Don't omit the path when not expanding files or directories.Files: src/ex_getln.cPatch 6.3a.024Problem: The "save all" toolbar item fails forbuffers that don't havea name. When using ":wa" or closing the Vimwindow and there are nameless buffers, browsing fora name may cause the name being given to the wrong buffer or not stored properly. ":browse" only worked for one file.Solution: Use ":confirm browse" for "save all". Pass buffer argument to setfname(). Restore "browse" flag and "forceit" after doing the work for one file.Files: runtime/menu.vim, src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, src/memline.c, src/message.c, src/window.c, src/proto/buffer.pro, src/proto/ex_cmds2.pro, src/proto/memline.proPatch 6.3a.025Problem: Setting'virtualedit' moves the cursor. (Benji Fisher)Solution: Update the virtual column before using it.Files: src/option.cPatch 6.3a.026 (extra, after 6.3a.008)Problem: Editing files on Windows 98 doesn't work when'encoding'is "utf-8" (Antoine Mechelynck) Warning for missing function prototype.Solution: For all widefunctions check ifit failed becauseitis not implemented. Use ANSI function declaration for char_to_string().Files: src/gui_w48.c, src/os_mswin.c, src/os_win32.cPatch 6.3a.027 (extra, after 6.3a.026)Problem: Compiler warning for function argument.Solution: Declare both char and WCHAR arrays.Files: src/gui_w48.cPatch 6.3a.028Problem: ":normal." doesn't work insidea function, becauseredois saved and restored. (Benji Fisher)Solution: Makea copy of theredo buffer when executinga function.Files: src/getchar.cPatch 6.3b.001 (extra)Problem: Bcc 5: The generated auto/pathdef can't be compiled.Solution: Fix the wayquotes and backslashes are escaped.Files: src/Make_bc5.makPatch 6.3b.002Problem: Win32: conversion during file write fails whena double-byte characteris split over two writes.Solution: Fix the conversion retry withouta trailing byte. (Taro Muraoka)Files: src/fileio.cPatch 6.3b.003 (extra)Problem: Win32: When compiling with BorlandC 5.5 and'encoding'is "utf-8" then Vim can't open files underMS-Windows 98. (Antoine J. Mechelynck)Solution: Don't use _wstat(), _wopen() and _wfopen() in this situation.Files: src/os_mswin.c, src/os_win32.cPatch 6.3b.004Problem: ":helpgrep" includesa trailing CR in the text line.Solution: Remove the CR.Files: src/quickfix.cPatch 6.3b.005Problem: ":echo &g:ai" results in the local option value. (Salman Halim)Solution: Pass the flags from find_option_end() to get_option_value().Files: src/eval.cPatch 6.3b.006Problem: When using "mswin.vim",CTRL-V inInsert mode leaves cursor before last pasted character. (Mathew Davis)Solution: Use the same Paste() functionas in menu.vim.Files: runtime/mswin.vimPatch 6.3b.007Problem:Session file doesn't restoreview onwindows properly. (Robert Webb)Solution: Restorewindow sizes both before and after restoring the view, so that the view, cursor position and size are restored properly.Files: src/ex_docmd.cPatch 6.3b.008Problem: Using ":finally" ina user command doesn't always work. (Hari Krishna Dara)Solution: Don't assume that using getexline() means the command was typed.Files: src/ex_docmd.cPatch 6.3b.009 (extra)Problem: Win32: When the-P argumentis not found inawindow title, thereis no error message.Solution: When thewindow can't be found give an error message and exit. Also use try/except to catch failing to open theMDI window. (Michael Wookey)Files: src/gui_w32.cPatch 6.3b.010Problem: Win32: Using the "-D" argument and expanding arguments may causea hang, because theterminal isn't initialized yet. (Vince Negri)Solution: Don'tgo into debug mode before theterminalis initialized.Files: src/main.cPatch 6.3b.011Problem: UsingCTRL-\e while obtaining anexpression aborts the command line. (Hari Krishna Dara)Solution:Insert theCTRL-\eas typed.Files: src/ex_getln.cPatch 6.3b.012 (after 6.3b.010)Problem: Can't compile with tiny features. (Norbert Tretkowski)Solution: Add #ifdefs.Files: src/main.cPatch 6.3b.013Problem: Loadinga session file results in editing the wrong file in the firstwindow when thisis not the fileat the current position in the argument list. (Robert Webb)Solution: Check w_arg_idx_invalid to decide whether to edita file.Files: src/ex_docmd.cPatch 6.3b.014Problem: ":runtime! foo*.vim" may using freed memory whena sourcedscript changes the value of'runtimepath'.Solution: Makea copy of'runtimepath' when looping over the matches.Files: src/ex_cmds2.cPatch 6.3b.015Problem: Get lalloc(0) error when using "p" inVisual mode while'clipboard' contains "autoselect,unnamed". (Mark Wagonner)Solution: Avoid allocating zero bytes. Obtain theclipboard when necessary.Files: src/ops.cPatch 6.3b.016Problem: When'virtualedit'is used "x" doesn't delete the last character ofa line that hasas many charactersas'columns'. (Yakov Lerner)Solution: When the cursor isn't moved let oneright() return FAIL.Files: src/edit.cPatch 6.3b.017Problem: Win32: "vim--remote-wait" doesn't exit when the server finished editing the file. (David Fishburn)Solution: In the rrhelperplugin change backslashes to forward slashes andescape special characters.Files: runtime/plugin/rrhelper.vimPatch 6.3b.018Problem: Thelist ofhelp files in the "local additions" table doesn't recognizeutf-8 encoding. (Yasuhiro Matsumoto)Solution: Recognizeutf-8 characters.Files: src/ex_cmds.cPatch 6.3b.019Problem: When$VIMRUNTIMEis nota full path name the "local additions" table lists all thehelp files.Solution: Use fullpathcmp() instead of fnamecmp() to compare the directory names.Files: src/ex_cmds.cPatch 6.3b.020Problem: When usingCTRL-^ when enteringa search string, the item in the statusline that indicates the keymapis not updated. (Ilya Dogolazky)Solution:Mark the statuslines for updating.Files: src/ex_getln.cPatch 6.3b.021Problem: The swapfileis not readable for others, theATTENTION prompt does not show all info when someone elseis editing the same file. (Marcel Svitalsky)Solution: Use the protection of original file for the swapfile and setit after creating the swapfile.Files: src/fileio.cPatch 6.3b.022Problem: Using "4v" to select four times the oldVisual area mayput the cursor beyond theend of the line. (Jens Paulus)Solution: Correct the cursor column.Files: src/normal.cPatch 6.3b.023Problem: When "3dip" starts in an empty line, white lines after the non-white lines are not deleted. (Jens Paulus)Solution: Include the white lines.Files: src/search.cPatch 6.3b.024Problem: "2daw" does not delete leading whitespace like "daw" does. (Jens Paulus)Solution: Include the whitespace whenacountis used.Files: src/search.cPatch 6.3b.025Problem: Percentage in ruler isn't updated whena lineis deleted. (Jens Paulus)Solution: Check fora change in linecount when deciding to update the ruler.Files: src/screen.c, src/structs.hPatch 6.3b.026Problem: When selecting "abort"at theATTENTION prompt fora file thatis already being edited Vim crashes.Solution: Don't abort creatinga new buffer when we really need it.Files: src/buffer.c, src/vim.hPatch 6.3b.027Problem: Win32: When enabling the menu ina maximized window, Vim uses more lines than whatis room for. (Shizhu Pan)Solution: When deciding to call shell_resized(), also compare the text area size with Rows and Columns, not just with screen_Rows and screen_Columns.Files: src/gui.cPatch 6.3b.028Problem: When indiff mode, setting'rightleft' causesa crash. (Eddine)Solution: Check for last column differently when'rightleft'is set.Files: src/screen.cPatch 6.3b.029Problem: Win32: warning for uninitialized variable.Solution: Initialize to zero.Files: src/misc1.cPatch 6.3b.030Problem: After Visually selecting four characters,changingit to other text, Visually selecting and yanking two characters: "." changes four characters, another "." changes two characters. (Robert Webb)Solution: Don't store the size of theVisual area whenredois active.Files: src/normal.c==============================================================================VERSION 6.4version-6.4Thissectionis about improvements made between version 6.3 and 6.4.Thisisa bug-fix release. There are alsoa few new features. The majornumber of new itemsis in the runtime files and translations.The bigMS-Windows version now uses:Ruby version 1.8.3Perl version 5.8.7Python version 2.4.2Changedchanged-6.4-------Removed runtime/tools/tcltags, Exuberantctags doesit better.Addedadded-6.4-----Alsaconfsyntax file (Nikolai Weibull)Eruby syntax, indent, compiler andftplugin file (Doug Kearns)Esterelsyntax file (Maurizio Tranchero)Mathematica indent file (Steve Layland)Netrcsyntax file (Nikolai Weibull)PHP compiler file (Doug Kearns)Pascal indent file (Neil Carter)Prescribesyntax file (Klaus Muth)Rubyunit compiler file (Doug Kearns)SMTPrcsyntax file (Kornel Kielczewski)Sudoerssyntax file (Nikolai Weibull)TPPsyntax file (Gerfried Fuchs)VHDLftplugin file (R. Shankar)Verilog-AMSsyntax file (S. Myles Prather)Bulgarian keymap (Alberto Mardegan)Canadian keymap (Eric Joanis)Hungarian menu translations inUTF-8 (Kantra Gergely)Ukrainian menu translations (Bohdan Vlasyuk)Irish message translations (Kevin Patrick Scannell)Configure also checks for tclsh8.4.Fixedfixed-6.4-----"dFxd;" deleted the character under the cursor, "d;" didn't remember theexclusiveness of the motion.When using "set laststatus=2 cmdheight=2" in the.gvimrc you may only get oneline for the cmdline. (Christian Robinson) Invoke command_height() after theGUI has started up.Gcc would warn "dereferencing type-punned pointer will break strict -aliasingrules". Avoid using typecasts for variable pointers.Gcc 3.x interprets the -MM argument differently. Change "-I /path" to"-isystem /path" for "make depend".Patch 6.3.001Problem: ":browse split" gives the file selectiondialog twice. (Gordon Bazeley) Same problem for ":browse diffpatch".Solution: Reset cmdmod.browse before calling do_ecmd().Files: src/diff.c, src/ex_docmd.cPatch 6.3.002Problem: When using translatedhelp files with non-ASCII latin1 characters in the first line theutf-8 detectionis wrong.Solution: Properly detectutf-8 characters. Whena mix of encodingsis detected continue with the next language and avoida "no matches" error because of "got_int" being set. Add the directory name to the error message fora duplicate tag.Files: src/ex_cmds.cPatch 6.3.003Problem: Crash when usinga consoledialog and the first choice does not havea default button. (Darin Ohashi)Solution: Allocate two more characters for the[] around the character for the default choice.Files: src/message.cPatch 6.3.004Problem: When searching fora longstring (140 chars ina 80 column terminal) get threehit-enter prompts. (Robert Webb)Solution: Avoid thehit-enter prompt when giving the message for wrapping around theend of the buffer. Don't give that message again when thestring was not found.Files: src/message.c, src/search.cPatch 6.3.005Problem: Crash when searching forapattern witha character offset andstarting ina closed fold. (Frank Butler)Solution: Check for the column to be past theend of the line. Also fix thatapattern witha character offset relative to theend isn't read back from theviminfo properly.Files: src/search.cPatch 6.3.006Problem: ":breakadd file *foo" prepends the current directory to the file pattern. (Hari Krishna Dara)Solution: Keep thepattern as-is.Files: src/ex_cmds2.cPatch 6.3.007Problem: When thereisa buffer with'buftype' set to "nofile" and usinga ":cd" command, the swap fileis not deleted when exiting.Solution: Use the full path of the swap file also for "nofile" buffers.Files: src/fileio.cPatch 6.3.008Problem: Compiling fails under OS/2.Solution: Include "e_screenmode" also for OS/2. (David Sanders)Files: src/globals.hPatch 6.3.009 (after 6.3.006)Problem: ":breakadd file /path/foo.vim" does not match whena symbolic linkis involved. (Servatius Brandt)Solution: Do expand thepattern whenit does not start with "*".Files: runtime/doc/repeat.txt, src/ex_cmds2.cPatch 6.3.010Problem: Whenwriting toa named pipe thereis an error for fsync() failing.Solution: Ignore the fsync() error for devices.Files: src/fileio.cPatch 6.3.011Problem: Crash when the completion function ofa user-command usesa "normal :cmd" command. (Hari Krishna Dara)Solution: Save the command line when invoking the completion function.Files: src/ex_getln.cPatch 6.3.012Problem: Internal lalloc(0) error when usinga complicated multi-linepattern ina substitute command. (Luc Hermitte)Solution: Avoid going past theend ofa line.Files: src/ex_cmds.cPatch 6.3.013Problem: Crash when editinga command line and typingCTRL-R= to evaluatea function that uses "normal :cmd". (Hari Krishna Dara)Solution: Save and restore the command line when evaluating anexpression forCTRL-R =.Files: src/ex_getln.c, src/ops.c, src/proto/ex_getln.pro, src/proto/ops.proPatch 6.3.014Problem: When usingChinese or Taiwanese the default for'helplang'is wrong. (Simon Liang)Solution: Use the part of thelocale name after "zh_".Files: src/option.cPatch 6.3.015Problem: Thestring thatwinrestcmd() returns mayend in garbage.Solution: NUL-terminate the string. (Walter Briscoe)Files: src/eval.cPatch 6.3.016Problem: The default value for'define' has "\s" before '#'.Solution: Addastar after "\s". (Herculano de Lima Einloft Neto)Files: src/option.cPatch 6.3.017Problem: "8zz" may leave the cursor beyond theend of the line. (Niko Maatjes)Solution: Correct the cursor column after moving to another line.Files: src/normal.cPatch 6.3.018Problem: ":0argadd zero" added the argument after the first one, instead of before it. (Adri Verhoef)Solution: Accepta zero range for ":argadd".Files: src/ex_cmds.hPatch 6.3.019Problem: Crash instartup for debug version. (David Rennals)Solution: Move the call to nbdebug_wait() to after allocating NameBuff.Files: src/main.cPatch 6.3.020Problem: When'encoding'is "utf-8" and'delcombine'is set, "dw" does not deleteaword but onlya combining character of the first character, if thereis one. (Raphael Finkel)Solution: Correctly check that one characteris being deleted.Files: src/misc1.cPatch 6.3.021Problem: When the last character ofa file nameisamultibyte character and the last byteisa path separator, the file cannot be edited.Solution: Check for the last byte to be part ofamultibyte character. (Taro Muraoka)Files: src/fileio.cPatch 6.3.022 (extra)Problem: Win32: When the last character ofa file nameisamultibyte character and the last byteisa path separator, the file cannot be written.A trail byte thatisaspace makes thata file cannot be opened from the command line.Solution: Recognize double-byte characters when parsing the command line. In mch_stat() check for the last byte to be part ofamultibyte character. (Taro Muraoka)Files: src/gui_w48.c, src/os_mswin.cPatch 6.3.023Problem: When the "to" part ofamapping starts with its "from" part,abbreviations for the same charactersis not possible. For example, when<Space>is mapped to something that starts witha space, typing<Space> does not expand abbreviations.Solution: Only disable expandingabbreviations whenamappingis not remapped, don't disableit when the RHS ofamapping starts with the LHS.Files: src/getchar.c, src/vim.hPatch 6.3.024Problem: Ina few placesastring in allocated memoryis not terminated witha NUL.Solution: Add ga_append(NUL) in script_get(), gui_do_findrepl() and serverGetVimNames().Files: src/ex_getln.c, src/gui.c, src/if_xcmdsrv.c, src/os_mswin.cPatch 6.3.025 (extra)Problem: Missing NUL forlist of server names.Solution: Add ga_append(NUL) in serverGetVimNames().Files: src/os_mswin.cPatch 6.3.026Problem: When ~/.vim/after/syntax/syncolor.vim containsa command that reloads the colors an endless loop and/ora crash may occur.Solution: Only free the old value of an option whenit was originally allocated. Limit recursiveness of init_highlight() to 5 levels.Files: src/option.c, src/syntax.cPatch 6.3.027Problem: VMS: Writinga file mayinsert extra CR characters. Not all terminals are recognized correctly. Vt320 doesn't support colors. Environmentvariables are not expanded correctly.Solution: Use anothermethod to write files. Add vt320termcap codes for colors. (Zoltan Arpadffy)Files: src/fileio.c, src/misc1.c, src/os_unix.c, src/structs.h, src/term.cPatch 6.3.028Problem: When appending toa file the BOM marker may be written. (Alex Jakushev)Solution: Do not write the BOM marker when appending.Files: src/fileio.cPatch 6.3.029Problem: Crash wheninsertinga line break. (Walter Briscoe)Solution: In thesyntax highlighting code, don't use an old state aftera change was made, current_col may be past theend of the line.Files: src/syntax.cPatch 6.3.030Problem:GTK 2: Crash when sourcingascript that deletes the menus, sets'encoding' to "utf-8" and loads themenus again.GTK error message when tooltip textis ina wrong encoding.Solution: Don't copy characters from the old screen to the new screen when switching'encoding' to utf-8, they may be invalid. Only set the tooltip whenitis valid utf-8.Files: src/gui_gtk.c, src/mbyte.c, src/proto/mbyte.pro, src/screen.cPatch 6.3.031Problem: When enteringamapping and pressingTab halfway the command line isn't redrawn properly. (Adri Verhoef)Solution: Reposition the cursor after drawing over the "..." of the completion attempt.Files: src/ex_getln.cPatch 6.3.032Problem: UsingPython 2.3 with threads doesn't work properly.Solution: Release the lock after initialization.Files: src/if_python.cPatch 6.3.033Problem: Whenamapping ends inaNormal mode command of more than one character Vim doesn't return toInsert mode.Solution: Check that themapping has ended after obtaining all characters of theNormal mode command.Files: src/normal.cPatch 6.3.034Problem: VMS: crash when using ":help".Solution: Avoid using "tags-??", some OpenVMS systems can't handle the "?" wildcard. (Zoltan Arpadffy)Files: src/tag.cPatch 6.3.035 (extra)Problem: RISC OS: Compile errors.Solution: Change e_screnmode to e_screenmode. Change the way __riscosify_controlis set. Improve the makefile. (Andy Wingate)Files: src/os_riscos.c, src/search.c, src/Make_ro.makPatch 6.3.036Problem: ml_geterrors when the whole fileisa fold, switching'foldmethod' and doing "zj". (Christian J. Robinson) Was notdeleting the fold but creatinga fold with zero lines.Solution: Delete the fold properly.Files: src/fold.cPatch 6.3.037 (after 6.3.032)Problem: Warning for unused variable.Solution: Change the #ifdefs for the saved thread stuff.Files: src/if_python.cPatch 6.3.038 (extra)Problem: Win32: When the "file changed"dialog pops up aftera click that givesgvim focus and not moving the mouse after that, the effect of the click may occur when moving the mouse later. (Ken Clark) Happened because the release event was missed.Solution: Clear the s_button_pending variable when any inputis received.Files: src/gui_w48.cPatch 6.3.039Problem: When'number'is set andinserting lines just above the first displayed line (in anotherwindow on the same buffer), the line numbers are not updated. (Hitier Sylvain)Solution: When'number'is set and lines are inserted/deleted redraw all lines below the change.Files: src/screen.cPatch 6.3.040Problem: Error handling does not always work properly and may causea buffer to be markedas if it's viewed inawindow whileit isn't. Also when selecting "Abort"at the attention prompt.Solution: Add enter_cleanup() and leave_cleanup()functions to move saving/restoring things for error handling to one place. Cleara buffer read error when it's unloaded.Files: src/buffer.c, src/ex_docmd.c, src/ex_eval.c, src/proto/ex_eval.pro, src/structs.h, src/vim.hPatch 6.3.041 (extra)Problem: Win32: When the path toa file hasRussian characters, ":cd %:p:h" doesn't work. (Valery Kondakoff)Solution: Usea wide function to change directory.Files: src/os_mswin.cPatch 6.3.042Problem: When thereisa closed foldat the top of the window,CTRL-XCTRL-E inInsert mode reduces the size of the fold instead ofscrolling the text up. (Gautam)Solution: Scroll over the closed fold.Files: src/move.cPatch 6.3.043Problem:'hlsearch' highlighting sometimes disappears wheninserting text in PHP code withsyntax highlighting. (Marcel Svitalsky)Solution: Don't use pointers to remember wherea match was found, use an index. The pointers may become invalid when searching in other lines.Files: src/screen.cPatch 6.3.044 (extra)Problem: Mac: When'linespace'is non-zero theInsert mode cursor leaves pixels behind. (Richard Sandilands)Solution: Erase the character cell before drawing the text when needed.Files: src/gui_mac.cPatch 6.3.045Problem: Unusual characters in an option value may cause unexpected behavior, especially fora modeline. (Ciaran McCreesh)Solution: Don't allow settingtermcapoptions or'printdevice' ina modeline. Don'tlistoptions for "termcap" and "all" ina modeline. Don't allow unusual characters in'filetype','syntax','backupext','keymap','patchmode' and'langmenu'.Files: src/option.c, runtime/doc/options.txtPatch 6.3.046Problem: ":registers" doesn't showmultibyte characters properly. (Valery Kondakoff)Solution: Get the length of each character before displaying it.Files: src/ops.cPatch 6.3.047 (extra)Problem:Win32 with BorlandC 5.5 on Windows XP:A new fileis created with read-only attributes. (Tony Mechelynck)Solution: Don't use the _wopen() function for Borland.Files: src/os_win32.cPatch 6.3.048 (extra)Problem: Build problems withVMS on IA64.Solution: Add dependencies to the build file. (Zoltan Arpadffy)Files: src/Make_vms.mmsPatch 6.3.049 (after 6.3.045)Problem: Compiler warning for "char" vs "char_u" mixup. (Zoltan Arpadffy)Solution: Adda typecast.Files: src/option.cPatch 6.3.050Problem: When SIGHUPis received while busy exiting, non-reentrantfunctions suchas free() may causea crash.Solution: Ignore SIGHUP whenexiting because of an error. (Scott Anderson)Files: src/misc1.c, src/main.cPatch 6.3.051Problem: When'wildmenu'is set and completed file names containmultibyte characters Vim may crash.Solution: Reserve room formultibyte characters. (Yasuhiro Matsumoto)Files: src/screen.cPatch 6.3.052 (extra)Problem: Windows 98: typed keys that are not ASCII may not work properly. For example withaRussian input method. (Jiri Jezdinsky)Solution: Assume that the characters arrive in the current codepage instead of UCS-2. Perform conversion based on that.Files: src/gui_w48.cPatch 6.3.053Problem: Win32: ":loadview" cannot finda file with non-ASCII characters. (Valerie Kondakoff)Solution: Use mch_open() instead of open() to open the file.Files: src/ex_cmds2.cPatch 6.3.054Problem: When'insertmode'is set<C-L>4ixxx<C-L> hangs Vim. (Jens Paulus) Vimis actually still working but redrawis disabled.Solution: When stoppingInsert mode withCTRL-L don'tput an Esc in theredo buffer butaCTRL-L.Files: src/edit.cPatch 6.3.055 (after 6.3.013)Problem: Can't use getcmdline(),getcmdpos() orsetcmdpos() with<C-R>= when editinga command line. Using<C-\>e may crash Vim. (Peter Winters)Solution: When moving ccline out of the way for recursive use, makeit available to thefunctions that need it. Also save and restore ccline when calling get_expr_line(). Make ccline.cmdbuf NULLat theend of getcmdline().Files: src/ex_getln.cPatch 6.3.056Problem: The last characters ofamultibyte file name may not be displayed in thewindow title.Solution: Avoid to removeamultibyte character where the last byte looks likea path separator character. (Yasuhiro Matsumoto)Files: src/buffer.c, src/ex_getln.cPatch 6.3.057Problem: When filtering linesfolds are not updated. (Carl Osterwisch)Solution: Updatefolds for filtered lines.Files: src/ex_cmds.cPatch 6.3.058Problem: When'foldcolumn'is equal to thewindow width and'wrap'is on Vim may crash. Disabling the vertical split feature breaks compiling. (Peter Winters)Solution: Check for zero room for wrapped text. Make compiling without vertical splits possible.Files: src/move.c, src/quickfix.c, src/screen.c, src/netbeans.cPatch 6.3.059Problem: Crash when expanding an ":edit" command containing several spaces with the shell. (Brian Hirt)Solution: Allocate enoughspace for the quotes.Files: src/os_unix.cPatch 6.3.060Problem: UsingCTRL-RCTRL-O inInsert mode with an invalid register name still causes something to be inserted.Solution: Check the register name for being valid.Files: src/edit.cPatch 6.3.061Problem: When editingautf-8 file in anutf-8 xterm and thereisamultibyte character in the last column, displayingis messed up. (Joël Rio)Solution: Check foramultibyte character, nota multi-column character.Files: src/screen.cPatch 6.3.062Problem: ":normal!gQ" hangs.Solution: Quitgetcmdline() and do_exmode() when out of typeahead.Files: src/ex_getln.c, src/ex_docmd.cPatch 6.3.063Problem: WhenaCursorHoldautocommand changes to anotherwindow (temporarily)'mousefocus' stops working.Solution: Call gui_mouse_correct() after triggering CursorHold.Files: src/gui.cPatch 6.3.064Problem: line2byte(line("$")+ 1) sometimes returns the wrong number. (Charles Campbell)Solution: Flush the cached line before counting the bytes.Files: src/memline.cPatch 6.3.065Problem: Theeurodigraph doesn't always work.Solution: Add an "e="digraph forUnicodeeuro character and adjust thehelp files.Files: src/digraph.c, runtime/doc/digraph.txtPatch 6.3.066Problem: Backup file may get wrong permissions.Solution: Use permissions of original file forbackup file in more places.Files: src/fileio.cPatch 6.3.067 (after 6.3.066)Problem: Newly created file gets execute permission.Solution: Check for "perm" to be negative before using it.Files: src/fileio.cPatch 6.3.068Problem: When editinga compressed file xxx.gz whichisa symbolic link to the actual filea ":write" renames the link.Solution: Resolve the link, so that the actual fileis renamed and compressed.Files: runtime/plugin/gzip.vimPatch 6.3.069Problem: When converting text with illegal characters Vim may crash.Solution: Avoid that too muchis subtracted from the length. (Da Woon Jung)Files: src/mbyte.cPatch 6.3.070Problem: After ":set number linebreak wrap" anda vertical split, moving the vertical separator far left will crash Vim. (Georg Dahn)Solution: Avoid dividing by zero.Files: src/charset.cPatch 6.3.071Problem: The message forCTRL-X modeis still displayed after an error for'thesaurus' or'dictionary' being empty.Solution: Clear "edit_submode".Files: src/edit.cPatch 6.3.072Problem: Crash in giving substitute message when languageisChinese and encodingis utf-8. (Yongwei)Solution: Make the msg_buf size larger when using multibyte.Files: src/vim.hPatch 6.3.073Problem:Win32 GUI: When the Vimwindowis partly above or below the screen,scrolling causes displayerrors when the taskbaris not on that side.Solution: Use the SW_INVALIDATE flag when the Vimwindowis partly below or above the screen.Files: src/gui_w48.cPatch 6.3.074Problem: Whenmswin.vimis used and'insertmode'is set, typing text inSelect mode and then usingCTRL-V results in<SNR>99_Pastegi. (Georg Dahn)Solution: When restart_editis set use "d" instead of "c" to remove the selected text to avoid calling edit() twice.Files: src/normal.cPatch 6.3.075Problem: After unloading another buffer,syntax highlighting in the current buffer may be wrong whenit uses "containedin". (Eric Arnold)Solution: Use "buf" instead of "curbuf" in syntax_clear().Files: src/syntax.cPatch 6.3.076Problem: Crash when usingcscope and thereisa parse error (e.g., line too long). (Alexey I. Froloff)Solution: Pass the actual number of matches to cs_manage_matches() and correctly handle the error situation.Files: src/if_cscope.cPatch 6.3.077 (extra)Problem: VMS: First character input after ESC was not recognized.Solution: Added TRM$M_TM_TIMED in vms_read(). (Zoltan Arpadffy)Files: src/os_vms.cPatch 6.3.078 (extra, after 6.3.077)Problem: VMS: Performance issue after patch 6.3.077Solution: Adda timeout in the itemlist. (Zoltan Arpadffy)Files: src/os_vms.cPatch 6.3.079Problem: Crash when executinga command in the command linewindow whilesyntax highlightingis enabled. (Pero Brbora)Solution: Don't usea pointer toa buffer that has been deleted.Files: src/syntax.cPatch 6.3.080 (extra)Problem: Win32: With'encoding' set toutf-8 while the current codepageisChinese editinga file with some specific characters in the name fails.Solution: Use _wfullpath() instead of _fullpath() when necessary.Files: src/os_mswin.cPatch 6.3.081Problem: Unix:glob() may executea shell command when it's not wanted. (Georgi Guninski)Solution: Verify thesandbox flagis not set.Files: src/os_unix.cPatch 6.3.082 (after 6.3.081)Problem: Unix:expand() may executea shell command when it's not wanted. (Georgi Guninski)Solution:A more generic solution than 6.3.081.Files: src/os_unix.cPatch 6.3.083Problem: VMS: The vt320termcap entryis incomplete.Solution: Add missing function keys. (Zoltan Arpadffy)Files: src/term.cPatch 6.3.084 (extra)Problem: Cygwin: compiling with DEBUG doesn't work.Perl path was ignored. Failure when $(OUTDIR) already exists. "po" makefileis missing.Solution: Use changes tested in Vim 7. (Tony Mechelynck)Files: src/Make_cyg.mak, src/po/Make_cyg.makPatch 6.3.085Problem: Crash insyntax highlighting code. (Marc Espie)Solution: Prevent current_col going past theend of the line.Files: src/syntax.cPatch 6.3.086 (extra)Problem: Can't produce message translation file with msgfmt that checks printf strings.Solution: Fix theRussian translation.Files: src/po/ru.po, src/po/ru.cp1251.poPatch 6.3.087Problem: MS-DOS: Crash. (Jason Hood)Solution: Don't call fname_case() witha NULL pointer.Files: src/ex_cmds.cPatch 6.3.088Problem: Editing ".in" causes error E218. (Stefan Karlsson)Solution: Require some characters before ".in". Same for ".orig" and others.Files: runtime/filetype.vimPatch 6.3.089Problem:A session file doesn't work when created while the current directory containsaspace or the directory of the session files containsa space. (Paolo Giarrusso)Solution: Escape spaces witha backslash.Files: src/ex_docmd.cPatch 6.3.090Problem:A very big value for'columns' or'lines' may causea crash.Solution: Limit the values to 10000 and 1000.Files: src/option.cPatch 6.4a.001Problem: TheUnix Makefile contained too many dependencies anda few uncommented lines.Solution: Run "make depend" with manual changes to avoida gcc incompatibility. Commenta few lines.Files: src/MakefilePatch 6.4b.001Problem: Vim reports "Vim 6.4a" in the ":version" output.Solution: Change "a" to "b". (Tony Mechelynck)Files: src/version.hPatch 6.4b.002Problem: InInsert mode, pastingamultibyte character after theend of the line leaves the cursor just before that character.Solution: Make sure "gP" leaves the cursor in the right place when'virtualedit'is set.Files: src/ops.cPatch 6.4b.003 (after 6.4b.002)Problem: The problem still exists when'encoding'is set to "cp936".Solution: Fix the problem in getvvcol(), compute the coladd field correctly.Files: src/charset.c, src/ops.cPatch 6.4b.004Problem: Selectinga{} block with "viB" includes the '}' when thereis an empty line before it.Solution: Don't advance the cursor to includea line break when it's alreadyat the line break.Files: src/search.c vim:tw=78:ts=8:noet:ft=help:norl: