diff options
Diffstat (limited to 'runtime/doc/version7.txt')
-rw-r--r-- | runtime/doc/version7.txt | 18311 |
1 files changed, 0 insertions, 18311 deletions
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt deleted file mode 100644 index 1bff5b5da9..0000000000 --- a/runtime/doc/version7.txt +++ /dev/null @@ -1,18311 +0,0 @@ -*version7.txt* For Vim version 7.4. Last change: 2013 Nov 18 - - - VIM REFERENCE MANUAL by Bram Moolenaar - - *vim7* *version-7.0* *version7.0* -Welcome to Vim 7! A large number of features has been added. This file -mentions all the new items, changes to existing features and bug fixes -since Vim 6.x. Use this command to see the version you are using: > - :version - -See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0. -See |version4.txt| for differences between Vim 3.x and Vim 4.x. -See |version5.txt| for differences between Vim 4.x and Vim 5.x. -See |version6.txt| for differences between Vim 5.x and Vim 6.x. - -INCOMPATIBLE CHANGES |incompatible-7| - -NEW FEATURES |new-7| - -Vim script enhancements |new-vim-script| -Spell checking |new-spell| -Omni completion |new-omni-completion| -MzScheme interface |new-MzScheme| -Printing multi-byte text |new-print-multi-byte| -Tab pages |new-tab-pages| -Undo branches |new-undo-branches| -Extended Unicode support |new-more-unicode| -More highlighting |new-more-highlighting| -Translated manual pages |new-manpage-trans| -Internal grep |new-vimgrep| -Scroll back in messages |new-scroll-back| -Cursor past end of the line |new-onemore| -POSIX compatibility |new-posix| -Debugger support |new-debug-support| -Remote file explorer |new-netrw-explore| -Define an operator |new-define-operator| -Mapping to an expression |new-map-expression| -Visual and Select mode mappings |new-map-select| -Location list |new-location-list| -Various new items |new-items-7| - -IMPROVEMENTS |improvements-7| - -COMPILE TIME CHANGES |compile-changes-7| - -BUG FIXES |bug-fixes-7| - -VERSION 7.1 |version-7.1| -Changed |changed-7.1| -Added |added-7.1| -Fixed |fixed-7.1| - -VERSION 7.2 |version-7.2| -Changed |changed-7.2| -Added |added-7.2| -Fixed |fixed-7.2| - -VERSION 7.3 |version-7.3| - -Persistent undo |new-persistent-undo| -More encryption |new-more-encryption| -Conceal text |new-conceal| -Lua interface |new-lua| -Python3 interface |new-python3| - -Changed |changed-7.3| -Added |added-7.3| -Fixed |fixed-7.3| - -VERSION 7.4 |version-7.4| -New regexp engine |new-regexp-engine| -Better Python interface |better-python-interface| -Changed |changed-7.4| -Added |added-7.4| -Fixed |fixed-7.4| - - -============================================================================== -INCOMPATIBLE CHANGES *incompatible-7* - -These changes are incompatible with previous releases. Check this list if you -run into a problem when upgrading from Vim 6.x to 7.0. - -A ":write file" command no longer resets the 'modified' flag of the buffer, -unless the '+' flag is in 'cpoptions' |cpo-+|. This was illogical, since the -buffer is still modified compared to the original file. And when undoing -all changes the file would actually be marked modified. It does mean that -":quit" fails now. - -":helpgrep" now uses a help window to display a match. - -In an argument list double quotes could be used to include spaces in a file -name. This caused a difference between ":edit" and ":next" for escaping -double quotes and it is incompatible with some versions of Vi. - Command Vim 6.x file name Vim 7.x file name ~ - :edit foo\"888 foo"888 foo"888 - :next foo\"888 foo888 foo"888 - :next a\"b c\"d ab cd a"b and c"d - -In a |literal-string| a single quote can be doubled to get one. -":echo 'a''b'" would result in "a b", but now that two quotes stand for one it -results in "a'b". - -When overwriting a file with ":w! fname" there was no warning for when "fname" -was being edited by another Vim. Vim now gives an error message |E768|. - -The support for Mac OS 9 has been removed. - -Files ending in .tex now have 'filetype' set to "context", "plaintex", or -"tex". |ft-tex-plugin| - - -Minor incompatibilities: - -For filetype detection: For many types, use */.dir/filename instead of -~/.dir/filename, so that it also works for other user's files. - -For quite a few filetypes the indent settings have been moved from the -filetype plugin to the indent plugin. If you used: > - :filetype plugin on -Then some indent settings may be missing. You need to use: > - :filetype plugin indent on - -":0verbose" now sets 'verbose' to zero instead of one. - -Removed the old and incomplete "VimBuddy" code. - -Buffers without a name report "No Name" instead of "No File". It was -confusing for buffers with a name and 'buftype' set to "nofile". - -When ":file xxx" is used in a buffer without a name, the alternate file name -isn't set. This avoids creating buffers without a name, they are not useful. - -The "2html.vim" script now converts closed folds to HTML. This means the HTML -looks like it's displayed, with the same folds open and closed. Use "zR", or -"let html_ignore_folding=1", if no folds should appear in the HTML. (partly by -Carl Osterwisch) -Diff mode is now also converted to HTML as it is displayed. - -Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends -on whether <F10> has been mapped or not. This allows mapping <F10> without -changing 'winaltkeys'. - -When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which -is illogical. Now it becomes "9". The leading zero(s) is(are) removed to -avoid the number becoming octal after incrementing "009" to "010". - -When 'encoding' is set to a Unicode encoding, the value for 'fileencodings' -now includes "default" before "latin1". This means that for files with 8-bit -encodings the default is to use the encoding specified by the environment, if -possible. Previously latin1 would always be used, which is wrong in a -non-latin1 environment, such as Russian. - -Previously Vim would exit when there are two windows, both of them displaying -a help file, and using ":quit". Now only the window is closed. - -"-w {scriptout}" only works when {scriptout} doesn't start with a digit. -Otherwise it's used to set the 'window' option. - -Previously <Home> and <xHome> could be mapped separately. This had the -disadvantage that all mappings (with modifiers) had to be duplicated, since -you can't be sure what the keyboard generates. Now all <xHome> are internally -translated to <Home>, both for the keys and for mappings. Also for <xEnd>, -<xF1>, etc. - -":put" now leaves the cursor on the last inserted line. - -When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc" -file exists. - -When making a string upper-case with "vlllU" or similar then the German sharp -s is replaced with "SS". This does not happen with "~" to avoid backwards -compatibility problems and because "SS" can't be changed back to a sharp s. - -"gd" previously found the very first occurrence of a variable in a function, -that could be the function argument without type. Now it finds the position -where the type is given. - -The line continuation in functions was not taken into account, line numbers in -errors were logical lines, not lines in the sourced file. That made it -difficult to locate errors. Now the line number in the sourced file is -reported, relative to the function start. This also means that line numbers -for ":breakadd func" are different. - -When defining a user command with |:command| the special items could be -abbreviated. This caused unexpected behavior, such as <li> being recognized -as <line1>. The items can no longer be abbreviated. - -When executing a FileChangedRO autocommand it is no longer allowed to switch -to another buffer or edit another file. This is to prevent crashes (the event -is triggered deep down in the code where changing buffers is not anticipated). -It is still possible to reload the buffer. - -At the |more-prompt| and the |hit-enter-prompt|, when the 'more' option is -set, the 'k', 'u', 'g' and 'b' keys are now used to scroll back to previous -messages. Thus they are no longer used as typeahead. - -============================================================================== -NEW FEATURES *new-7* - -Vim script enhancements *new-vim-script* ------------------------ - -In Vim scripts the following types have been added: - - |List| ordered list of items - |Dictionary| associative array of items - |Funcref| reference to a function - -Many functions and commands have been added to support the new types. - -The |string()| function can be used to get a string representation of a -variable. Works for Numbers, Strings and composites of them. Then |eval()| -can be used to turn the string back into the variable value. - -The |:let| command can now use "+=", "-=" and ".=": > - :let var += expr " works like :let var = var + expr - :let var -= expr " works like :let var = var - expr - :let var .= string " works like :let var = var . string - -With the |:profile| command you can find out where your function or script -is wasting time. - -In the Python interface vim.eval() also handles Dictionaries and Lists. -|python-eval| (G. Sumner Hayes) - -The |getscript| plugin was added as a convenient way to update scripts from -www.vim.org automatically. (Charles Campbell) - -The |vimball| plugin was added as a convenient way to distribute a set of -files for a plugin (plugin file, autoload script, documentation). (Charles -Campbell) - - -Spell checking *new-spell* --------------- - -Spell checking has been integrated in Vim. There were a few implementations -with scripts, but they were slow and/or required an external program. - -The 'spell' option is used to switch spell checking on or off -The 'spelllang' option is used to specify the accepted language(s) -The 'spellfile' option specifies where new words are added -The 'spellsuggest' option specifies the methods used for making suggestions - -The |]s| and |[s| commands can be used to move to the next or previous error -The |zg| and |zw| commands can be used to add good and wrong words -The |z=| command can be used to list suggestions and correct the word -The |:mkspell| command is used to generate a Vim spell file from word lists - -The "undercurl" highlighting attribute was added to nicely point out spelling -mistakes in the GUI (based on patch from Marcin Dalecki). -The "guisp" color can be used to give it a color different from foreground and -background. -The number of possible different highlight attributes was raised from about -220 to over 30000. This allows for the attributes of spelling to be combined -with syntax highlighting attributes. This is also used for syntax -highlighting and marking the Visual area. - -Much more info here: |spell|. - - -Omni completion *new-omni-completion* ---------------- - -This could also be called "intellisense", but that is a trademark. It is a -smart kind of completion. The text in front of the cursor is inspected to -figure out what could be following. This may suggest struct and class -members, system functions, etc. - -Use CTRL-X CTRL-O in Insert mode to start the completion. |i_CTRL-X_CTRL-O| - -The 'omnifunc' option is set by filetype plugins to define the function that -figures out the completion. - -Currently supported languages: - C |ft-c-omni| - (X)HTML with CSS |ft-html-omni| - JavaScript |ft-javascript-omni| - PHP |ft-php-omni| - Python - Ruby |ft-ruby-omni| - SQL |ft-sql-omni| - XML |ft-xml-omni| - any language with syntax highlighting |ft-syntax-omni| - -You can add your own omni completion scripts. - -When the 'completeopt' option contains "menu" then matches for Insert mode -completion are displayed in a (rather primitive) popup menu. - - -MzScheme interface *new-MzScheme* ------------------- - -The MzScheme interpreter is supported. |MzScheme| - -The |:mzscheme| command can be used to execute MzScheme commands -The |:mzfile| command can be used to execute an MzScheme script file - -This depends on Vim being compiled with the |+mzscheme| feature. - - -Printing multi-byte text *new-print-multi-byte* ------------------------- - -The |:hardcopy| command now supports printing multi-byte characters when using -PostScript. - -The 'printmbcharset' and 'printmbfont' options are used for this. -Also see |postscript-cjk-printing|. (Mike Williams) - - -Tab pages *new-tab-pages* ---------- - -A tab page is a page with one or more windows with a label (aka tab) at the top. -By clicking on the label you can quickly switch between the tab pages. And -with the keyboard, using the |gt| (Goto Tab) command. This is a convenient -way to work with many windows. - -To start Vim with each file argument in a separate tab page use the |-p| -argument. The maximum number of pages can be set with 'tabpagemax'. - -The line with tab labels is either made with plain text and highlighting or -with a GUI mechanism. The GUI labels look better but are only available on a -few systems. The line can be customized with 'tabline', 'guitablabel' and -'guitabtooltip'. Whether it is displayed is set with 'showtabline'. Whether -to use the GUI labels is set with the "e" flag in 'guioptions'. - -The |:tab| command modifier can be used to have most commands that open a new -window open a new tab page instead. - -The |--remote-tab| argument can be used to edit a file in a new tab page in an -already running Vim server. - -Variables starting with "t:" are local to a tab page. - -More info here: |tabpage| -Most of the GUI stuff was implemented by Yegappan Lakshmanan. - - -Undo branches *new-undo-branches* -------------- - -Previously there was only one line of undo-redo. If, after undoing a number -of changes, a new change was made all the undone changes were lost. This -could lead to accidentally losing work. - -Vim now makes an undo branch in this situation. Thus you can go back to the -text after any change, even if they were undone. So long as you do not run -into 'undolevels', when undo information is freed up to limit the memory used. - -To be able to navigate the undo branches each change is numbered sequentially. -The commands |g-| and |:earlier| go back in time, to older changes. The -commands |g+| and |:later| go forward in time, to newer changes. - -The changes are also timestamped. Use ":earlier 10m" to go to the text as it -was about ten minutes earlier. - -The |:undolist| command can be used to get an idea of which undo branches -exist. The |:undo| command now takes an argument to directly jump to a -specific position in this list. The |changenr()| function can be used to -obtain the change number. - -There is no graphical display of the tree with changes, navigation can be -quite confusing. - - -Extended Unicode support *new-more-unicode* ------------------------- - -Previously only two combining characters were displayed. The limit is now -raised to 6. This can be set with the 'maxcombine' option. The default is -still 2. - -|ga| now shows all combining characters, not just the first two. - -Previously only 16 bit Unicode characters were supported for displaying. Now -the full 32 bit character set can be used. Unless manually disabled at -compile time to save a bit of memory. - -For pattern matching it is now possible to search for individual composing -characters. |patterns-composing| - -The |8g8| command searches for an illegal UTF-8 byte sequence. - - -More highlighting *new-more-highlighting* ------------------ - -Highlighting matching parens: - -When moving the cursor through the text and it is on a paren, then the -matching paren can be highlighted. This uses the new |CursorMoved| -autocommand event. - -This means some commands are executed every time you move the cursor. If this -slows you down too much switch it off with: > - :NoMatchParen - -See |matchparen| for more information. - -The plugin uses the |:match| command. It now supports three match patterns. -The plugin uses the third one. The first one is for the user and the second -one can be used by another plugin. - -Highlighting the cursor line and column: - -The 'cursorline' and 'cursorcolumn' options have been added. These highlight -the screen line and screen column of the cursor. This makes the cursor -position easier to spot. 'cursorcolumn' is also useful to align text. This -may make screen updating quite slow. The CursorColumn and CursorLine -highlight groups allow changing the colors used. |hl-CursorColumn| -|hl-CursorLine| - -The number of possible different highlight attributes was raised from about -220 to over 30000. This allows for the attributes of spelling to be combined -with syntax highlighting attributes. This is also used for syntax -highlighting, marking the Visual area, CursorColumn, etc. - - -Translated manual pages *new-manpage-trans* ------------------------ - -The manual page of Vim and associated programs is now also available in -several other languages. - -French - translated by David Blanchet -Italian - translated by Antonio Colombo -Russian - translated by Vassily Ragosin -Polish - translated by Mikolaj Machowski - -The Unix Makefile installs the Italian manual pages in .../man/it/man1/, -.../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/. There appears to be no -standard for what encoding goes in the "it" directory, the 8-bit encoded file -is used there as a best guess. -Other languages are installed in similar places. -The translated pages are not automatically installed when Vim was configured -with "--disable-nls", but "make install-languages install-tool-languages" will -do it anyway. - - -Internal grep *new-vimgrep* -------------- - -The ":vimgrep" command can be used to search for a pattern in a list of files. -This is like the ":grep" command, but no external program is used. Besides -better portability, handling of different file encodings and using multi-line -patterns, this also allows grepping in compressed and remote files. -|:vimgrep|. - -If you want to use the search results in a script you can use the -|getqflist()| function. - -To grep files in various directories the "**" pattern can be used. It expands -into an arbitrary depth of directories. "**" can be used in all places where -file names are expanded, thus also with |:next| and |:args|. - - -Scroll back in messages *new-scroll-back* ------------------------ - -When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The -'k', 'u', 'g' and 'b' keys can be used to scroll back to previous messages. -This is especially useful for commands such as ":syntax", ":autocommand" and -":highlight". This is implemented in a generic way thus it works for all -commands and highlighting is kept. Only works when the 'more' option is set. -Previously it only partly worked for ":clist". - -The |g<| command can be used to see the last page of messages after you have -hit <Enter> at the |hit-enter-prompt|. Then you can scroll further back. - - -Cursor past end of the line *new-onemore* ---------------------------- - -When the 'virtualedit' option contains "onemore" the cursor can move just past -the end of the line. As if it's on top of the line break. - -This makes some commands more consistent. Previously the cursor was always -past the end of the line if the line was empty. But it is far from Vi -compatible. It may also break some plugins or Vim scripts. Use with care! - -The patch was provided by Mattias Flodin. - - -POSIX compatibility *new-posix* -------------------- - -The POSIX test suite was used to verify POSIX compatibility. A number of -problems have been fixed to make Vim more POSIX compatible. Some of them -conflict with traditional Vi or expected behavior. The $VIM_POSIX environment -variable can be set to get POSIX compatibility. See |posix|. - -Items that were fixed for both Vi and POSIX compatibility: -- repeating "R" with a count only overwrites text once; added the 'X' flag to - 'cpoptions' |cpo-X| -- a vertical movement command that moves to a non-existing line fails; added - the '-' flag to 'cpoptions' |cpo--| -- when preserving a file and doing ":q!" the file can be recovered; added the - '&' flag to 'cpoptions' |cpo-&| -- The 'window' option is partly implemented. It specifies how much CTRL-F and - CTRL-B scroll when there is one window. The "-w {number}" argument is now - accepted. "-w {scriptout}" only works when {scriptout} doesn't start with a - digit. -- Allow "-c{command}" argument, no space between "-c" and {command}. -- When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in - 'cpoptions'. -- Allow 'l' and '#' flags for ":list", ":print" and ":number". -- Added the '.' flag to 'cpoptions': ":cd" fails when the buffer is modified. -- In Ex mode with an empty buffer ":read file" doesn't keep an empty line - above or below the new lines. -- Remove a backslash before a NL for the ":global" command. -- When ":append", ":insert" or ":change" is used with ":global", get the - inserted lines from the command. Can use backslash-NL to separate lines. -- Can use ":global /pat/ visual" to execute Normal mode commands at each - matched line. Use "Q" to continue and go to the next line. -- The |:open| command has been partially implemented. It stops Ex mode, but - redraws the whole screen, not just one line as open mode is supposed to do. -- Support using a pipe to read the output from and write input to an external - command. Added the 'shelltemp' option and has("filterpipe"). -- In ex silent mode the ":set" command output is displayed. -- The ":@@" and ":**" give an error message when no register was used before. -- The search pattern "[]-`]" matches ']', '^', '_' and '`'. -- Autoindent for ":insert" is using the line below the insert. -- Autoindent for ":change" is using the first changed line. -- Editing Ex command lines is not done in cooked mode, because CTRL-D and - CTRL-T cannot be handled then. -- In Ex mode, "1,3" prints three lines. "%" prints all lines. -- In Ex mode "undo" would undo all changes since Ex mode was started. -- Implemented the 'prompt' option. - - -Debugger support *new-debug-support* ----------------- - -The 'balloonexpr' option has been added. This is a generic way to implement -balloon functionality. You can use it to show info for the word under the -mouse pointer. - - -Remote file explorer *new-netrw-explore* --------------------- - -The netrw plugin now also supports viewing a directory, when "scp://" is used. -Deleting and renaming files is possible. - -To avoid duplicating a lot of code, the previous file explorer plugin has been -integrated in the netrw plugin. This means browsing local and remote files -works the same way. - -":browse edit" and ":browse split" use the netrw plugin when it's available -and a GUI dialog is not possible. - -The netrw plugin is maintained by Charles Campbell. - - -Define an operator *new-define-operator* ------------------- - -Previously it was not possible to define your own operator; a command that is -followed by a {motion}. Vim 7 introduces the 'operatorfunc' option and the -|g@| operator. This makes it possible to define a mapping that works like an -operator. The actual work is then done by a function, which is invoked -through the |g@| operator. - -See |:map-operator| for the explanation and an example. - - -Mapping to an expression *new-map-expression* ------------------------- - -The {rhs} argument of a mapping can be an expression. That means the -resulting characters can depend on the context. Example: > - :inoremap <expr> . InsertDot() -Here the dot will be mapped to whatever InsertDot() returns. - -This also works for abbreviations. See |:map-<expr>| for the details. - - -Visual and Select mode mappings *new-map-select* -------------------------------- - -Previously Visual mode mappings applied both to Visual and Select mode. With -a trick to have the mappings work in Select mode like they would in Visual -mode. - -Commands have been added to define mappings for Visual and Select mode -separately: |:xmap| and |:smap|. With the associated "noremap" and "unmap" -commands. - -The same is done for menus: |:xmenu|, |:smenu|, etc. - - -Location list *new-location-list* -------------- - -The support for a per-window quickfix list (location list) is added. The -location list can be displayed in a location window (similar to the quickfix -window). You can open more than one location list window. A set of commands -similar to the quickfix commands are added to browse the location list. -(Yegappan Lakshmanan) - - -Various new items *new-items-7* ------------------ - -Normal mode commands: ~ - -a", a' and a` New text objects to select quoted strings. |a'| -i", i' and i` (Taro Muraoka) - -CTRL-W <Enter> In the quickfix window: opens a new window to show the - location of the error under the cursor. - -|at| and |it| text objects select a block of text between HTML or XML tags. - -<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos") -<A-RightMouse> ('mousemodel' "extend") - Make a blockwise selection. |<A-LeftMouse>| - -gF Start editing the filename under the cursor and jump - to the line number following the file name. - (Yegappan Lakshmanan) - -CTRL-W F Start editing the filename under the cursor in a new - window and jump to the line number following the file - name. (Yegappan Lakshmanan) - -Insert mode commands: ~ - -CTRL-\ CTRL-O Execute a Normal mode command. Like CTRL-O but - without moving the cursor. |i_CTRL-\_CTRL-O| - -Options: ~ - -'balloonexpr' expression for text to show in evaluation balloon -'completefunc' The name of the function used for user-specified - Insert mode completion. CTRL-X CTRL-U can be used in - Insert mode to do any kind of completion. (Taro - Muraoka) -'completeopt' Enable popup menu and other settings for Insert mode - completion. -'cursorcolumn' highlight column of the cursor -'cursorline' highlight line of the cursor -'formatexpr' expression for formatting text with |gq| and when text - goes over 'textwidth' in Insert mode. -'formatlistpat' pattern to recognize a numbered list for formatting. - (idea by Hugo Haas) -'fsync' Whether fsync() is called after writing a file. - (Ciaran McCreesh) -'guitablabel' expression for text to display in GUI tab page label -'guitabtooltip' expression for text to display in GUI tab page tooltip -'macatsui' Mac: use ATSUI text display functions -'maxcombine' maximum number of combining characters displayed -'maxmempattern' maximum amount of memory to use for pattern matching -'mkspellmem' parameters for |:mkspell| memory use -'mzquantum' Time in msec to schedule MzScheme threads. -'numberwidth' Minimal width of the space used for the 'number' and - 'relativenumber' option. (Emmanuel Renieris) -'omnifunc' The name of the function used for omni completion. -'operatorfunc' function to be called for |g@| operator -'printmbcharset' CJK character set to be used for :hardcopy -'printmbfont' font names to be used for CJK output of :hardcopy -'pumheight' maximum number of items to show in the popup menu -'quoteescape' Characters used to escape quotes inside a string. - Used for the a", a' and a` text objects. |a'| -'shelltemp' whether to use a temp file or pipes for shell commands -'showtabline' whether to show the tab pages line -'spell' switch spell checking on/off -'spellcapcheck' pattern to locate the end of a sentence -'spellfile' file where good and wrong words are added -'spelllang' languages to check spelling for -'spellsuggest' methods for spell suggestions -'synmaxcol' maximum column to look for syntax items; avoids very - slow redrawing when there are very long lines -'tabline' expression for text to display in the tab pages line -'tabpagemax' maximum number of tab pages to open for |-p| -'verbosefile' Log messages in a file. -'wildoptions' "tagfile" value enables listing the file name of - matching tags for CTRL-D command line completion. - (based on an idea from Yegappan Lakshmanan) -'winfixwidth' window with fixed width, similar to 'winfixheight' - - -Ex commands: ~ - -Win32: The ":winpos" command now also works in the console. (Vipin Aravind) - -|:startreplace| Start Replace mode. (Charles Campbell) -|:startgreplace| Start Virtual Replace mode. - -|:0file| Removes the name of the buffer. (Charles Campbell) - -|:diffoff| Switch off diff mode in the current window or in all - windows. - -|:delmarks| Delete marks. - -|:exusage| Help for Ex commands (Nvi command). -|:viusage| Help for Vi commands (Nvi command). - -|:sort| Sort lines in the buffer without depending on an - external command. (partly by Bryce Wagner) - -|:vimgrep| Internal grep command, search for a pattern in files. -|:vimgrepadd| Like |:vimgrep| but don't make a new list. - -|:caddfile| Add error messages to an existing quickfix list - (Yegappan Lakshmanan). -|:cbuffer| Read error lines from a buffer. (partly by Yegappan - Lakshmanan) -|:cgetbuffer| Create a quickfix list from a buffer but don't jump to - the first error. -|:caddbuffer| Add errors from the current buffer to the quickfix - list. -|:cexpr| Read error messages from a Vim expression (Yegappan - Lakshmanan). -|:caddexpr| Add error messages from a Vim expression to an - existing quickfix list. (Yegappan Lakshmanan). -|:cgetexpr| Create a quickfix list from a Vim expression, but - don't jump to the first error. (Yegappan Lakshmanan). - -|:lfile| Like |:cfile| but use the location list. -|:lgetfile| Like |:cgetfile| but use the location list. -|:laddfile| Like |:caddfile| but use the location list. -|:lbuffer| Like |:cbuffer| but use the location list. -|:lgetbuffer| Like |:cgetbuffer| but use the location list. -|:laddbuffer| Like |:caddbuffer| but use the location list. -|:lexpr| Like |:cexpr| but use the location list. -|:lgetexpr| Like |:cgetexpr| but use the location list. -|:laddexpr| Like |:caddexpr| but use the location list. -|:ll| Like |:cc| but use the location list. -|:llist| Like |:clist| but use the location list. -|:lnext| Like |:cnext| but use the location list. -|:lprevious| Like |:cprevious| but use the location list. -|:lNext| Like |:cNext| but use the location list. -|:lfirst| Like |:cfirst| but use the location list. -|:lrewind| Like |:crewind| but use the location list. -|:llast| Like |:clast| but use the location list. -|:lnfile| Like |:cnfile| but use the location list. -|:lpfile| Like |:cpfile| but use the location list. -|:lNfile| Like |:cNfile| but use the location list. -|:lolder| Like |:colder| but use the location list. -|:lnewer| Like |:cnewer| but use the location list. -|:lwindow| Like |:cwindow| but use the location list. -|:lopen| Like |:copen| but use the location list. -|:lclose| Like |:cclose| but use the location list. -|:lmake| Like |:make| but use the location list. -|:lgrep| Like |:grep| but use the location list. -|:lgrepadd| Like |:grepadd| but use the location list. -|:lvimgrep| Like |:vimgrep| but use the location list. -|:lvimgrepadd| Like |:vimgrepadd| but use the location list. -|:lhelpgrep| Like |:helpgrep| but use the location list. -|:lcscope| Like |:cscope| but use the location list. -|:ltag| Jump to a tag and add matching tags to a location list. - -|:undojoin| Join a change with the previous undo block. -|:undolist| List the leafs of the undo tree. - -|:earlier| Go back in time for changes in the text. -|:later| Go forward in time for changes in the text. - -|:for| Loop over a |List|. -|:endfor| - -|:lockvar| Lock a variable, prevents it from being changed. -|:unlockvar| Unlock a locked variable. - -|:mkspell| Create a Vim spell file. -|:spellgood| Add a word to the list of good words. -|:spellwrong| Add a word to the list of bad words -|:spelldump| Dump list of good words. -|:spellinfo| Show information about the spell files used. -|:spellrepall| Repeat a spelling correction for the whole buffer. -|:spellundo| Remove a word from list of good and bad words. - -|:mzscheme| Execute MzScheme commands. -|:mzfile| Execute an MzScheme script file. - -|:nbkey| Pass a key to NetBeans for processing. - -|:profile| Commands for Vim script profiling. -|:profdel| Stop profiling for specified items. - -|:smap| Select mode mapping. -|:smapclear| -|:snoremap| -|:sunmap| - -|:xmap| Visual mode mapping, not used for Select mode. -|:xmapclear| -|:xnoremap| -|:xunmap| - -|:smenu| Select mode menu. -|:snoremenu| -|:sunmenu| - -|:xmenu| Visual mode menu, not used for Select mode. -|:xnoremenu| -|:xunmenu| - -|:tabclose| Close the current tab page. -|:tabdo| Perform a command in every tab page. -|:tabedit| Edit a file in a new tab page. -|:tabnew| Open a new tab page. -|:tabfind| Search for a file and open it in a new tab page. -|:tabnext| Go to the next tab page. -|:tabprevious| Go to the previous tab page. -|:tabNext| Go to the previous tab page. -|:tabfirst| Go to the first tab page. -|:tabrewind| Go to the first tab page. -|:tablast| Go to the last tab page. -|:tabmove| Move the current tab page elsewhere. -|:tabonly| Close all other tab pages. -|:tabs| List the tab pages and the windows they contain. - -Ex command modifiers: ~ - -|:keepalt| Do not change the alternate file. - -|:noautocmd| Do not trigger autocommand events. - -|:sandbox| Execute a command in the sandbox. - -|:tab| When opening a new window create a new tab page. - - -Ex command arguments: ~ - -|++bad| Specify what happens with characters that can't be - converted and illegal bytes. (code example by Yasuhiro - Matsumoto) - Also, when a conversion error occurs or illegal bytes - are found include the line number in the error - message. - - -New and extended functions: ~ - -|add()| append an item to a List -|append()| append List of lines to the buffer -|argv()| without an argument return the whole argument list -|browsedir()| dialog to select a directory -|bufnr()| takes an extra argument: create buffer -|byteidx()| index of a character (Ilya Sher) -|call()| call a function with List as arguments -|changenr()| number of current change -|complete()| set matches for Insert mode completion -|complete_add()| add match for 'completefunc' -|complete_check()| check for key pressed, for 'completefunc' -|copy()| make a shallow copy of a List or Dictionary -|count()| count nr of times a value is in a List or Dictionary -|cursor()| also accepts an offset for 'virtualedit', and - the first argument can be a list: [lnum, col, off] -|deepcopy()| make a full copy of a List or Dictionary -|diff_filler()| returns number of filler lines above line {lnum}. -|diff_hlID()| returns the highlight ID for diff mode -|empty()| check if List or Dictionary is empty -|eval()| evaluate {string} and return the result -|extend()| append one List to another or add items from one - Dictionary to another -|feedkeys()| put characters in the typeahead buffer -|filter()| remove selected items from a List or Dictionary -|finddir()| find a directory in 'path' -|findfile()| find a file in 'path' (Johannes Zellner) -|foldtextresult()| the text displayed for a closed fold at line "lnum" -|function()| make a Funcref out of a function name -|garbagecollect()| cleanup unused |Lists| and |Dictionaries| with circular - references -|get()| get an item from a List or Dictionary -|getbufline()| get a list of lines from a specified buffer - (Yegappan Lakshmanan) -|getcmdtype()| return the current command-line type - (Yegappan Lakshmanan) -|getfontname()| get actual font name being used -|getfperm()| get file permission string (Nikolai Weibull) -|getftype()| get type of file (Nikolai Weibull) -|getline()| with second argument: get List with buffer lines -|getloclist()| list of location list items (Yegappan Lakshmanan) -|getpos()| return a list with the position of cursor, mark, etc. -|getqflist()| list of quickfix errors (Yegappan Lakshmanan) -|getreg()| get contents of a register -|gettabwinvar()| get variable from window in specified tab page. -|has_key()| check whether a key appears in a Dictionary -|haslocaldir()| check if current window used |:lcd| -|hasmapto()| check for a mapping to a string -|index()| index of item in List -|inputlist()| prompt the user to make a selection from a list -|insert()| insert an item somewhere in a List -|islocked()| check if a variable is locked -|items()| get List of Dictionary key-value pairs -|join()| join List items into a String -|keys()| get List of Dictionary keys -|len()| number of items in a List or Dictionary -|map()| change each List or Dictionary item -|maparg()| extra argument: use abbreviation -|mapcheck()| extra argument: use abbreviation -|match()| extra argument: count -|matcharg()| return arguments of |:match| command -|matchend()| extra argument: count -|matchlist()| list with match and submatches of a pattern in a string -|matchstr()| extra argument: count -|max()| maximum value in a List or Dictionary -|min()| minimum value in a List or Dictionary -|mkdir()| create a directory -|pathshorten()| reduce directory names to a single character -|printf()| format text -|pumvisible()| check whether the popup menu is displayed -|range()| generate a List with numbers -|readfile()| read a file into a list of lines -|reltime()| get time value, possibly relative -|reltimestr()| turn a time value into a string -|remove()| remove one or more items from a List or Dictionary -|repeat()| repeat "expr" "count" times (Christophe Poucet) -|reverse()| reverse the order of a List -|search()| extra argument: -|searchdecl()| search for declaration of variable -|searchpair()| extra argument: line to stop searching -|searchpairpos()| return a List with the position of the match -|searchpos()| return a List with the position of the match -|setloclist()| modify a location list (Yegappan Lakshmanan) -|setpos()| set cursor or mark to a position -|setqflist()| modify a quickfix list (Yegappan Lakshmanan) -|settabwinvar()| set variable in window of specified tab page -|sort()| sort a List -|soundfold()| get the sound-a-like equivalent of a word -|spellbadword()| get a badly spelled word -|spellsuggest()| get suggestions for correct spelling -|split()| split a String into a List -|str2nr()| convert a string to a number, base 8, 10 or 16 -|stridx()| extra argument: start position -|strridx()| extra argument: start position -|string()| string representation of a List or Dictionary -|system()| extra argument: filters {input} through a shell command -|tabpagebuflist()| List of buffers in a tab page -|tabpagenr()| number of current or last tab page -|tabpagewinnr()| window number in a tab page -|tagfiles()| List with tags file names -|taglist()| get list of matching tags (Yegappan Lakshmanan) -|tr()| translate characters (Ron Aaron) -|uniq()| remove copies of repeated adjacent list items -|values()| get List of Dictionary values -|winnr()| takes an argument: what window to use -|winrestview()| restore the view of the current window -|winsaveview()| save the view of the current window -|writefile()| write a list of lines into a file - -User defined functions can now be loaded automatically from the "autoload" -directory in 'runtimepath'. See |autoload-functions|. - - -New Vim variables: ~ - -|v:insertmode| used for |InsertEnter| and |InsertChange| autocommands -|v:val| item value in a |map()| or |filter()| function -|v:key| item key in a |map()| or |filter()| function -|v:profiling| non-zero after a ":profile start" command -|v:fcs_reason| the reason why |FileChangedShell| was triggered -|v:fcs_choice| what should happen after |FileChangedShell| -|v:beval_bufnr| buffer number for 'balloonexpr' -|v:beval_winnr| window number for 'balloonexpr' -|v:beval_lnum| line number for 'balloonexpr' -|v:beval_col| column number for 'balloonexpr' -|v:beval_text| text under the mouse pointer for 'balloonexpr' -|v:scrollstart| what caused the screen to be scrolled up -|v:swapname| name of the swap file for the |SwapExists| event -|v:swapchoice| what to do for an existing swap file -|v:swapcommand| command to be executed after handling |SwapExists| -|v:char| argument for evaluating 'formatexpr' - - -New autocommand events: ~ - -|ColorScheme| after loading a color scheme - -|CursorHoldI| the user doesn't press a key for a while in Insert mode -|CursorMoved| the cursor was moved in Normal mode -|CursorMovedI| the cursor was moved in Insert mode - -|FileChangedShellPost| after handling a file changed outside of Vim - -|InsertEnter| starting Insert or Replace mode -|InsertChange| going from Insert to Replace mode or back -|InsertLeave| leaving Insert or Replace mode - -|MenuPopup| just before showing popup menu - -|QuickFixCmdPre| before :make, :grep et al. (Ciaran McCreesh) -|QuickFixCmdPost| after :make, :grep et al. (Ciaran McCreesh) - -|SessionLoadPost| after loading a session file. (Yegappan Lakshmanan) - -|ShellCmdPost| after executing a shell command -|ShellFilterPost| after filtering with a shell command - -|SourcePre| before sourcing a Vim script - -|SpellFileMissing| when a spell file can't be found - -|SwapExists| found existing swap file when editing a file - -|TabEnter| just after entering a tab page -|TabLeave| just before leaving a tab page - -|VimResized| after the Vim window size changed (Yakov Lerner) - - -New highlight groups: ~ - -Pmenu Popup menu: normal item |hl-Pmenu| -PmenuSel Popup menu: selected item |hl-PmenuSel| -PmenuThumb Popup menu: scrollbar |hl-PmenuThumb| -PmenuSbar Popup menu: Thumb of the scrollbar |hl-PmenuSbar| - -TabLine tab pages line, inactive label |hl-TabLine| -TabLineSel tab pages line, selected label |hl-TabLineSel| -TabLineFill tab pages line, filler |hl-TabLineFill| - -SpellBad badly spelled word |hl-SpellBad| -SpellCap word with wrong caps |hl-SpellCap| -SpellRare rare word |hl-SpellRare| -SpellLocal word only exists in other region |hl-SpellLocal| - -CursorColumn 'cursorcolumn' |hl-CursorColumn| -CursorLine 'cursorline' |hl-CursorLine| - -MatchParen matching parens |pi_paren.txt| |hl-MatchParen| - - -New items in search patterns: ~ -|/\%d| \%d123 search for character with decimal number -|/\]| [\d123] idem, in a collection -|/\%o| \%o103 search for character with octal number -|/\]| [\o1o3] idem, in a collection -|/\%x| \%x1a search for character with 2 pos. hex number -|/\]| [\x1a] idem, in a collection -|/\%u| \%u12ab search for character with 4 pos. hex number -|/\]| [\u12ab] idem, in a collection -|/\%U| \%U1234abcd search for character with 8 pos. hex number -|/\]| [\U1234abcd] idem, in a collection - (The above partly by Ciaran McCreesh) - -|/[[=| [[=a=]] an equivalence class (only for latin1 characters) -|/[[.| [[.a.]] a collation element (only works with single char) - -|/\%'m| \%'m match at mark m -|/\%<'m| \%<'m match before mark m -|/\%>'m| \%>'m match after mark m -|/\%V| \%V match in Visual area - -Nesting |/multi| items no longer is an error when an empty match is possible. - -It is now possible to use \{0}, it matches the preceding atom zero times. Not -useful, just for compatibility. - - -New Syntax/Indent/FTplugin files: ~ - -Moved all the indent settings from the filetype plugin to the indent file. -Implemented b:undo_indent to undo indent settings when setting 'filetype' to a -different value. - -a2ps syntax and ftplugin file. (Nikolai Weibull) -ABAB/4 syntax file. (Marius van Wyk) -alsaconf ftplugin file. (Nikolai Weibull) -AppendMatchGroup ftplugin file. (Dave Silvia) -arch ftplugin file. (Nikolai Weibull) -asterisk and asteriskvm syntax file. (Tilghman Lesher) -BDF ftplugin file. (Nikolai Weibull) -BibTeX indent file. (Dorai Sitaram) -BibTeX Bibliography Style syntax file. (Tim Pope) -BTM ftplugin file. (Bram Moolenaar) -calendar ftplugin file. (Nikolai Weibull) -Changelog indent file. (Nikolai Weibull) -ChordPro syntax file. (Niels Bo Andersen) -Cmake indent and syntax file. (Andy Cedilnik) -conf ftplugin file. (Nikolai Weibull) -context syntax and ftplugin file. (Nikolai Weibull) -CRM114 ftplugin file. (Nikolai Weibull) -cvs RC ftplugin file. (Nikolai Weibull) -D indent file. (Jason Mills) -Debian Sources.list syntax file. (Matthijs Mohlmann) -dictconf and dictdconf syntax, indent and ftplugin files. (Nikolai Weibull) -diff ftplugin file. (Bram Moolenaar) -dircolors ftplugin file. (Nikolai Weibull) -django and htmldjango syntax file. (Dave Hodder) -doxygen syntax file. (Michael Geddes) -elinks ftplugin file. (Nikolai Weibull) -eterm ftplugin file. (Nikolai Weibull) -eviews syntax file. (Vaidotas Zemlys) -fetchmail RC ftplugin file. (Nikolai Weibull) -FlexWiki syntax and ftplugin file. (George Reilly) -Generic indent file. (Dave Silvia) -gpg ftplugin file. (Nikolai Weibull) -gretl syntax file. (Vaidotas Zemlys) -groovy syntax file. (Alessio Pace) -group syntax and ftplugin file. (Nikolai Weibull) -grub ftplugin file. (Nikolai Weibull) -Haskell ftplugin file. (Nikolai Weibull) -help ftplugin file. (Nikolai Weibull) -indent ftplugin file. (Nikolai Weibull) -Javascript ftplugin file. (Bram Moolenaar) -Kconfig ftplugin and syntax file. (Nikolai Weibull) -ld syntax, indent and ftplugin file. (Nikolai Weibull) -lftp ftplugin file. (Nikolai Weibull) -libao config ftplugin file. (Nikolai Weibull) -limits syntax and ftplugin file. (Nikolai Weibull) -Lisp indent file. (Sergey Khorev) -loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull) -m4 ftplugin file. (Nikolai Weibull) -mailaliases syntax file. (Nikolai Weibull) -mailcap ftplugin file. (Nikolai Weibull) -manconf syntax and ftplugin file. (Nikolai Weibull) -matlab ftplugin file. (Jake Wasserman) -Maxima syntax file. (Robert Dodier) -MGL syntax file. (Gero Kuhlmann) -modconf ftplugin file. (Nikolai Weibull) -mplayer config ftplugin file. (Nikolai Weibull) -Mrxvtrc syntax and ftplugin file. (Gautam Iyer) -MuPAD source syntax, indent and ftplugin. (Dave Silvia) -mutt RC ftplugin file. (Nikolai Weibull) -nanorc syntax and ftplugin file. (Nikolai Weibull) -netrc ftplugin file. (Nikolai Weibull) -pamconf syntax and ftplugin file. (Nikolai Weibull) -Pascal indent file. (Neil Carter) -passwd syntax and ftplugin file. (Nikolai Weibull) -PHP compiler plugin. (Doug Kearns) -pinfo ftplugin file. (Nikolai Weibull) -plaintex syntax and ftplugin files. (Nikolai Weibull, Benji Fisher) -procmail ftplugin file. (Nikolai Weibull) -prolog ftplugin file. (Nikolai Weibull) -protocols syntax and ftplugin file. (Nikolai Weibull) -quake ftplugin file. (Nikolai Weibull) -racc syntax and ftplugin file. (Nikolai Weibull) -readline ftplugin file. (Nikolai Weibull) -rhelp syntax file. (Johannes Ranke) -rnoweb syntax file. (Johannes Ranke) -Relax NG compact ftplugin file. (Nikolai Weibull) -Scheme indent file. (Sergey Khorev) -screen ftplugin file. (Nikolai Weibull) -sensors syntax and ftplugin file. (Nikolai Weibull) -services syntax and ftplugin file. (Nikolai Weibull) -setserial syntax and ftplugin file. (Nikolai Weibull) -sieve syntax and ftplugin file. (Nikolai Weibull) -SiSU syntax file (Ralph Amissah) -Sive syntax file. (Nikolai Weibull) -slp config, reg and spi syntax and ftplugin files. (Nikolai Weibull) -SML indent file. (Saikat Guha) -SQL anywhere syntax and indent file. (David Fishburn) -SQL indent file. -SQL-Informix syntax file. (Dean L Hill) -SQL: Handling of various variants. (David Fishburn) -sshconfig ftplugin file. (Nikolai Weibull) -Stata and SMCL syntax files. (Jeff Pitblado) -sudoers ftplugin file. (Nikolai Weibull) -sysctl syntax and ftplugin file. (Nikolai Weibull) -terminfo ftplugin file. (Nikolai Weibull) -trustees syntax file. (Nima Talebi) -Vera syntax file. (David Eggum) -udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull) -updatedb syntax and ftplugin file. (Nikolai Weibull) -VHDL indent file (Gerald Lai) -WSML syntax file. (Thomas Haselwanter) -Xdefaults ftplugin file. (Nikolai Weibull) -XFree86 config ftplugin file. (Nikolai Weibull) -xinetd syntax, indent and ftplugin file. (Nikolai Weibull) -xmodmap ftplugin file. (Nikolai Weibull) -Xquery syntax file. (Jean-Marc Vanel) -xsd (XML schema) indent file. -YAML ftplugin file. (Nikolai Weibull) -Zsh ftplugin file. (Nikolai Weibull) - - -New Keymaps: ~ - -Sinhala (Sri Lanka) (Harshula Jayasuriya) -Tamil in TSCII encoding (Yegappan Lakshmanan) -Greek in cp737 (Panagiotis Louridas) -Polish-slash (HS6_06) -Ukrainian-jcuken (Anatoli Sakhnik) -Kana (Edward L. Fox) - - -New message translations: ~ - -The Ukrainian messages are now also available in cp1251. -Vietnamese message translations and menu. (Phan Vinh Thinh) - - -Others: ~ - -The |:read| command has the |++edit| argument. This means it will use the -detected 'fileformat', 'fileencoding' and other options for the buffer. This -also fixes the problem that editing a compressed file didn't set these -options. - -The Netbeans interface was updated for Sun Studio 10. The protocol number -goes from 2.2 to 2.3. (Gordon Prieur) - -Mac: When starting up Vim will load the $VIMRUNTIME/macmap.vim script to -define default command-key mappings. (mostly by Benji Fisher) - -Mac: Add the selection type to the clipboard, so that Block, line and -character selections can be used between two Vims. (Eckehard Berns) -Also fixes the problem that setting 'clipboard' to "unnamed" breaks using -"yyp". - -Mac: GUI font selector. (Peter Cucka) - -Mac: support for multi-byte characters. (Da Woon Jung) -This doesn't always work properly. If you see text drawing problems try -switching the 'macatsui' option off. - -Mac: Support the xterm mouse in the non-GUI version. - -Mac: better integration with Xcode. Post a fake mouse-up event after the odoc -event and the drag receive handler to work around a stall after Vim loads a -file. Fixed an off-by-one line number error. (Da Woon Jung) - -Mac: When started from Finder change directory to the file being edited or the -user home directory. - -Added the t_SI and t_EI escape sequences for starting and ending Insert mode. -To be used to set the cursor shape to a bar or a block. No default values, -they are not supported by termcap/terminfo. - -GUI font selector for Motif. (Marcin Dalecki) - -Nicer toolbar buttons for Motif. (Marcin Dalecki) - -Mnemonics for the Motif find/replace dialog. (Marcin Dalecki) - -Included a few improvements for Motif from Marcin Dalecki. Draw label -contents ourselves to make them handle fonts in a way configurable by Vim and -a bit less dependent on the X11 font management. - -Autocommands can be defined local to a buffer. This means they will also work -when the buffer does not have a name or no specific name. See -|autocmd-buflocal|. (Yakov Lerner) - -For xterm most combinations of modifiers with function keys are recognized. -|xterm-modifier-keys| - -When 'verbose' is set the output of ":highlight" will show where a highlight -item was last set. -When 'verbose' is set the output of the ":map", ":abbreviate", ":command", -":function" and ":autocmd" commands will show where it was last defined. -(Yegappan Lakshmanan) - -":function /pattern" lists functions matching the pattern. - -"1gd" can be used like "gd" but ignores matches in a {} block that ends before -the cursor position. Likewise for "1gD" and "gD". - -'scrolljump' can be set to a negative number to scroll a percentage of the -window height. - -The |v:scrollstart| variable has been added to help find the location in -your script that causes the hit-enter prompt. - -To make it possible to handle the situation that a file is being edited that -is already being edited by another Vim instance, the |SwapExists| event has -been added. The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables -can be used, for example to use the |client-server| functionality to bring the -other Vim to the foreground. -When starting Vim with a "-t tag" argument, there is an existing swapfile and -the user selects "quit" or "abort" then exit Vim. - -Undo now also restores the '< and '> marks. "gv" selects the same area as -before the change and undo. - -When editing a search pattern for a "/" or "?" command and 'incsearch' is set -CTRL-L can be used to add a character from the current match. CTRL-R CTRL-W -will add a word, but exclude the part of the word that was already typed. - -Ruby interface: add line number methods. (Ryan Paul) - -The $MYVIMRC environment variable is set to the first found vimrc file. -The $MYGVIMRC environment variable is set to the first found gvimrc file. - -============================================================================== -IMPROVEMENTS *improvements-7* - -":helpgrep" accepts a language specifier after the pattern: "pat@it". - -Moved the help for printing to a separate help file. It's quite a lot now. - -When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are -found in $PATH instead of looking for ordinary files in the current directory. - -When ":silent" is used and a backwards range is given for an Ex command the -range is swapped automatically instead of asking if that is OK. - -The pattern matching code was changed from a recursive function to an -iterative mechanism. This avoids out-of-stack errors. State is stored in -allocated memory, running out of memory can always be detected. Allows -matching more complex things, but Vim may seem to hang while doing that. - -Previously some options were always evaluated in the |sandbox|. Now that only -happens when the option was set from a modeline or in secure mode. Applies to -'balloonexpr', 'foldexpr', 'foldtext' and 'includeexpr'. (Sumner Hayes) - -Some commands and expressions could have nasty side effects, such as using -CTRL-R = while editing a search pattern and the expression invokes a function -that jumps to another window. The |textlock| has been added to prevent this -from happening. - -":breakadd here" and ":breakdel here" can be used to set or delete a -breakpoint at the cursor. - -It is now possible to define a function with: > - :exe "func Test()\n ...\n endfunc" - -The tutor was updated to make it simpler to use and text was added to explain -a few more important commands. Used ideas from Gabriel Zachmann. - -Unix: When libcall() fails obtain an error message with dlerror() and display -it. (Johannes Zellner) - -Mac and Cygwin: When editing an existing file make the file name the same case -of the edited file. Thus when typing ":e os_UNIX.c" the file name becomes -"os_unix.c". - -Added "nbsp" in 'listchars'. (David Blanchet) - -Added the "acwrite" value for the 'buftype' option. This is for a buffer that -does not have a name that refers to a file and is written with BufWriteCmd -autocommands. - -For lisp indenting and matching parenthesis: (Sergey Khorev) -- square brackets are recognized properly -- #\(, #\), #\[ and #\] are recognized as character literals -- Lisp line comments (delimited by semicolon) are recognized - -Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher) - -winnr() takes an optional "$" or "#" argument. (Nikolai Weibull, Yegappan -Lakshmanan) - -Added 's' flag to search(): set ' mark if cursor moved. (Yegappan Lakshmanan) -Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull) -Added 'c' flag to search(): accept match at the cursor. -Added 'e' flag to search(): move to end of the match. (Benji Fisher) -Added 'p' flag to search(): return number of sub-pattern. (Benji Fisher) -These also apply to searchpos(), searchpair() and searchpairpos(). - -The search() and searchpair() functions have an extra argument to specify -where to stop searching. Speeds up searches that should not continue too far. - -When uncompressing fails in the gzip plugin, give an error message but don't -delete the raw text. Helps if the file has a .gz extension but is not -actually compressed. (Andrew Pimlott) - -When C, C++ or IDL syntax is used, may additionally load doxygen syntax. -(Michael Geddes) - -Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb" -filetype or syntax. - -The ":registers" command now displays multi-byte characters properly. - -VMS: In the usage message mention that a slash can be used to make a flag -upper case. Add color support to the builtin vt320 terminal codes. -(Zoltan Arpadffy) - -For the '%' item in 'viminfo', allow a number to set a maximum for the number -of buffers. - -For recognizing the file type: When a file looks like a shell script, check -for an "exec" command that starts the tcl interpreter. (suggested by Alexios -Zavras) - -Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that -digraphs still work when iconv is not available. - -When a session file is loaded while editing an unnamed, empty buffer that -buffer is wiped out. Avoids that there is an unused buffer in the buffer -list. - -Win32: When libintl.dll supports bind_textdomain_codeset(), use it. -(NAKADAIRA Yukihiro) - -Win32: Vim was not aware of hard links on NTFS file systems. These are -detected now for when 'backupcopy' is "auto". Also fixed a bogus "file has -been changed since reading it" error for links. - -When foldtext() finds no text after removing the comment leader, use the -second line of the fold. Helps for C-style /* */ comments where the first -line is just "/*". - -When editing the same file from two systems (e.g., Unix and MS-Windows) there -mostly was no warning for an existing swap file, because the name of the -edited file differs (e.g., y:\dir\file vs /home/me/dir/file). Added a flag to -the swap file to indicate it is in the same directory as the edited file. The -used path then doesn't matter and the check for editing the same file is much -more reliable. - -Unix: When editing a file through a symlink the swap file would use the name -of the symlink. Now use the name of the actual file, so that editing the same -file twice is detected. (suggestions by Stefano Zacchiroli and James Vega) - -Client-server communication now supports 'encoding'. When setting 'encoding' -in a Vim server to "utf-8", and using "vim --remote fname" in a console, -"fname" is converted from the console encoding to utf-8. Also allows Vims -with different 'encoding' settings to exchange messages. - -Internal: Changed ga_room into ga_maxlen, so that it doesn't need to be -incremented/decremented each time. - -When a register is empty it is not stored in the viminfo file. - -Removed the tcltags script, it's obsolete. - -":redir @*>>" and ":redir @+>>" append to the clipboard. Better check for -invalid characters after the register name. |:redir| - -":redir => variable" and ":redir =>> variable" write or append to a variable. -(Yegappan Lakshmanan) |:redir| - -":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan) - -The 'verbosefile' option can be used to log messages in a file. Verbose -messages are not displayed then. The "-V{filename}" argument can be used to -log startup messages. - -":let g:" lists global variables. -":let b:" lists buffer-local variables. -":let w:" lists window-local variables. -":let v:" lists Vim variables. - -The stridx() and strridx() functions take a third argument, where to start -searching. (Yegappan Lakshmanan) - -The getreg() function takes an extra argument to be able to get the expression -for the '=' register instead of the result of evaluating it. - -The setline() function can take a List argument to set multiple lines. When -the line number is just below the last line the line is appended. - -g CTRL-G also shows the number of characters if it differs from the number of -bytes. - -Completion for ":debug" and entering an expression for the '=' register. Skip -":" between range and command name. (Peter winters) - -CTRL-Q in Insert mode now works like CTRL-V by default. Previously it was -ignored. - -When "beep" is included in 'debug' a function or script that causes a beep -will result in a message with the source of the error. - -When completing buffer names, match with "\(^\|[\/]\)" instead of "^", so that -":buf stor<Tab>" finds both "include/storage.h" and "storage/main.c". - -To count items (pattern matches) without changing the buffer the 'n' flag has -been added to |:substitute|. See |count-items|. - -In a |:substitute| command the \u, \U, \l and \L items now also work for -multi-byte characters. - -The "screen.linux" $TERM name is recognized to set the default for -'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty". - -The |FileChangedShell| autocommand event can now use the |v:fcs_reason| -variable that specifies what triggered the event. |v:fcs_choice| can be used -to reload the buffer or ask the user what to do. - -Not all modifiers were recognized for xterm function keys. Added the -possibility in term codes to end in ";*X" or "O*X", where X is any character -and the * stands for the modifier code. -Added the <xUp>, <xDown>, <xLeft> and <xRight> keys, to be able to recognize -the two forms that xterm can send their codes in and still handle all possible -modifiers. - -getwinvar() now also works to obtain a buffer-local option from the specified -window. - -Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan) -Added the "%>" item to 'errorformat'. - -For 'errorformat' it was not possible to have a file name that contains the -character that follows after "%f". For example, in "%f:%l:%m" the file name -could not contain ":". Now include the first ":" where the rest of the -pattern matches. In the example a ":" not followed by a line number is -included in the file name. (suggested by Emanuele Giaquinta) - -GTK GUI: use the GTK file dialog when it's available. Mix from patches by -Grahame Bowland and Evan Webb. - -Added ":scriptnames" to bugreport.vim, so that we can see what plugins were -used. - -Win32: If the user changes the setting for the number of lines a scroll wheel -click scrolls it is now used immediately. Previously Vim would need to be -restarted. - -When using @= in an expression the value is expression @= contains. ":let @= -= value" can be used to set the register contents. - -A ! can be added to ":popup" to have the popup menu appear at the mouse -pointer position instead of the text cursor. - -The table with encodings has been expanded with many MS-Windows codepages, -such as cp1250 and cp737, so that these can also be used on Unix without -prepending "8bit-". -When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part. - -Added the "customlist" completion argument to a user-defined command. The -user-defined completion function should return the completion candidates as a -Vim List and the returned results are not filtered by Vim. (Yegappan -Lakshmanan) - -Win32: Balloons can have multiple lines if common controls supports it. -(Sergey Khorev) - -For command-line completion the matches for various types of arguments are now -sorted: user commands, variables, syntax names, etc. - -When no locale is set, thus using the "C" locale, Vim will work with latin1 -characters, using its own isupper()/toupper()/etc. functions. - -When using an rxvt terminal emulator guess the value of 'background' using the -COLORFGBG environment variable. (Ciaran McCreesh) - -Also support t_SI and t_EI on Unix with normal features. (Ciaran McCreesh) - -When 'foldcolumn' is one then put as much info in it as possible. This allows -closing a fold with the mouse by clicking on the '-'. - -input() takes an optional completion argument to specify the type of -completion supported for the input. (Yegappan Lakshmanan) - -"dp" works with more than two buffers in diff mode if there is only one where -'modifiable' is set. - -The 'diffopt' option has three new values: "horizontal", "vertical" and -"foldcolumn". - -When the 'include' option contains \zs the file name found is what is being -matched from \zs to the end or \ze. Useful to pass more to 'includeexpr'. - -Loading plugins on startup now supports subdirectories in the plugin -directory. |load-plugins| - -In the foldcolumn always show the '+' for a closed fold, so that it can be -opened easily. It may overwrite another character, esp. if 'foldcolumn' is 1. - -It is now possible to get the W10 message again by setting 'readonly'. Useful -in the FileChangedRO autocommand when checking out the file fails. - -Unix: When open() returns EFBIG give an appropriate message. - -":mksession" sets the SessionLoad variable to notify plugins. A modeline is -added to the session file to set 'filetype' to "vim". - -In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it -more logical. (Robert Webb) - -When appending to a file while the buffer has no name the name of the appended -file would be used for the current buffer. But the buffer contents is -actually different from the file content. Don't set the file name, unless the -'P' flag is present in 'cpoptions'. - -When starting to edit a new file and the directory for the file doesn't exist -then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user -a hint that something might be wrong. - -Win32: Preserve the hidden attribute of the viminfo file. - -In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and -then a cursor key. Now keep the previously inserted text if nothing is -inserted after the CTRL-O. Allows using CTRL-O commands to move the cursor -without losing the last inserted text. - -The exists() function now supports checking for autocmd group definition -and for supported autocommand events. (Yegappan Lakshmanan) - -Allow using ":global" in the sandbox, it doesn't do anything harmful by -itself. - -":saveas asdf.c" will set 'filetype' to c when it's empty. Also for ":w -asdf.c" when it sets the filename for the buffer. - -Insert mode completion for whole lines now also searches unloaded buffers. - -The colortest.vim script can now be invoked directly with ":source" or -":runtime syntax/colortest.vim". - -The 'statusline' option can be local to the window, so that each window can -have a different value. (partly by Yegappan Lakshmanan) - -The 'statusline' option and other options that support the same format can now -use these new features: -- When it starts with "%!" the value is first evaluated as an expression - before parsing the value. -- "%#HLname#" can be used to start highlighting with HLname. - -When 'statusline' is set to something that causes an error message then it is -made empty to avoid an endless redraw loop. Also for other options, such at -'tabline' and 'titlestring'. ":verbose set statusline" will mention that it -was set in an error handler. - -When there are several matching tags, the ":tag <name>" and CTRL-] commands -jump to the [count] matching tag. (Yegappan Lakshmanan) - -Win32: In the batch files generated by the install program, use $VIMRUNTIME or -$VIM if it's set. Example provided by Mathias Michaelis. -Also create a vimtutor.bat batch file. - -The 'balloonexpr' option is now |global-local|. - -The system() function now runs in cooked mode, thus can be interrupted by -CTRL-C. - -============================================================================== -COMPILE TIME CHANGES *compile-changes-7* - -Dropped the support for the BeOS and Amiga GUI. They were not maintained and -probably didn't work. If you want to work on this: get the Vim 6.x version -and merge it back in. - -When running the tests and one of them fails to produce "test.out" the -following tests are still executed. This helps when running out of memory. - -When compiling with EXITFREE defined and the ccmalloc library it is possible -to detect memory leaks. Some memory will always reported as leaked, such as -allocated by X11 library functions and the memory allocated in alloc_cmdbuff() -to store the ":quit" command. - -Moved the code for printing to src/hardcopy.c. - -Moved some code from main() to separate functions to make it easier to see -what is being done. Using a structure to avoid a lot of arguments to the -functions. - -Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c -without copying the code. - ---- Mac --- - -"make" now creates the Vim.app directory and "make install" copies it to its -final destination. (Raf) - -Put the runtime directory not directly in Vim.app but in -Vim.app/Contents/Resources/vim, so that it's according to Mac specs. - -Made it possible to compile with Motif, Athena or GTK without tricks and still -being able to use the MacRoman conversion. Added the os_mac_conv.c file. - -When running "make install" the runtime files are installed as for Unix. -Avoids that too many files are copied. When running "make" a link to the -runtime files is created to avoid a recursive copy that takes much time. - -Configure will attempt to build Vim for both Intel and PowerPC. The ---with-mac-arch configure argument can change it. - ---- Win32 --- - -The Make_mvc.mak file was adjusted to work with the latest MS compilers, -including the free version of Visual Studio 2005. (George Reilly) - -INSTALLpc.txt was updated for the recent changes. (George Reilly) - -The distributed executable is now produced with the free Visual C++ Toolkit -2003 and other free SDK chunks. msvcsetup.bat was added to support this. - -Also generate the .pdb file that can be used to generate a useful crash report -on MS-Windows. (George Reilly) - -============================================================================== -BUG FIXES *bug-fixes-7* - -When using PostScript printing on MS-DOS the default 'printexpr' used "lpr" -instead of "copy". When 'printdevice' was empty the copy command did not -work. Use "LPT1" then. - -The GTK font dialog uses a font size zero when the font name doesn't include a -size. Use a default size of 10. - -This example in the documentation didn't work: - :e `=foo . ".c"` -Skip over the expression in `=expr` when looking for comments, |, % and #. - -When ":helpgrep" doesn't find anything there is no error message. - -"L" and "H" did not take closed folds into account. - -Win32: The "-P title" argument stopped at the first title that matched, even -when it doesn't support MDI. - -Mac GUI: CTRL-^ and CTRL-@ did not work. - -"2daw" on "word." at the end of a line didn't include the preceding white -space. - -Win32: Using FindExecutable() doesn't work to find a program. Use -SearchPath() instead. For executable() use $PATHEXT when the program searched -for doesn't have an extension. - -When 'virtualedit' is set, moving the cursor up after appending a character -may move it to a different column. Was caused by auto-formatting moving the -cursor and not putting it back where it was. - -When indent was added automatically and then moving the cursor, the indent was -not deleted (like when pressing ESC). The "I" flag in 'cpoptions' can be used -to make it work the old way. - -When opening a command-line window, 'textwidth' gets set to 78 by the Vim -filetype plugin. Reset 'textwidth' to 0 to avoid lines are broken. - -After using cursor(line, col) moving up/down doesn't keep the same column. - -Win32: Borland C before 5.5 requires using ".u." for LowPart and HighPart -fields. (Walter Briscoe) - -On Sinix SYS_NMLN isn't always defined. Define it ourselves. (Cristiano De -Michele) - -Printing with PostScript may keep the printer waiting for more. Append a -CTRL-D to the printer output. (Mike Williams) - -When converting a string with a hex or octal number the leading '-' was -ignored. ":echo '-05' + 0" resulted in 5 instead of -5. - -Using "@:" to repeat a command line didn't work when it contains control -characters. Also remove "'<,'>" when in Visual mode to avoid that it appears -twice. - -When using file completion for a user command, it would not expand environment -variables like for a regular command with a file argument. - -'cindent': When the argument of a #define looks like a C++ class the next line -is indented too much. - -When 'comments' includes multi-byte characters inserting the middle part and -alignment may go wrong. 'cindent' also suffers from this for right-aligned -items. - -Win32: when 'encoding' is set to "utf-8" getenv() still returns strings in the -active codepage. Convert to utf-8. Also for $HOME. - -The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw". Now use -"cn" or "tw" as intended. - -When 'bin' is set and 'eol' is not set then line2byte() added the line break -after the last line while it's not there. - -Using foldlevel() in a WinEnter autocommand may not work. Noticed when -resizing the GUI shell upon startup. - -Python: Using buffer.append(f.readlines()) didn't work. Allow appending a -string with a trailing newline. The newline is ignored. - -When using the ":saveas f2" command for buffer "f1", the Buffers menu would -contain "f2" twice, one of them leading to "f1". Also trigger the BufFilePre -and BufFilePost events for the alternate buffer that gets the old name. - -strridx() did not work well when the needle is empty. (Ciaran McCreesh) - -GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives -just before it is invoked - -VMS: Occasionally CR characters were inserted in the file. Expansion of -environment variables was not correct. (Zoltan Arpadffy) - -UTF-8: When 'delcombine' is set "dw" only deleted the last combining character -from the first character of the word. - -When using ":sball" in an autocommand only the filetype in one buffer was -detected. Reset did_filetype in enter_buffer(). - -When using ":argdo" and the window already was at the first argument index, -but not actually editing it, the current buffer would be used instead. - -When ":next dir/*" includes many matches, adding the names to the argument -list may take an awful lot of time and can't be interrupted. Allow -interrupting this. - -When editing a file that was already loaded in a buffer, modelines were not -used. Now window-local options in the modeline are set. Buffer-local options -and global options remain unmodified. - -Win32: When 'encoding' is set to "utf-8" in the vimrc file, files from the -command line with non-ASCII characters are not used correctly. Recode the -file names when 'encoding' is set, using the Unicode command line. - -Win32 console: When the default for 'encoding' ends up to be "latin1", the -default value of 'isprint' was wrong. - -When an error message is given while waiting for a character (e.g., when an -xterm reports the number of colors), the hit-enter prompt overwrote the last -line. Don't reset msg_didout in normal_cmd() for K_IGNORE. - -Mac GUI: Shift-Tab didn't work. - -When defining tooltip text, don't translate terminal codes, since it's not -going to be used like a command. - -GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a -GTK error. Invalid characters may appear when 'encoding' is changed. - -GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango. - -Win32: When 'encoding' is changed while starting up, use the Unicode command -line to convert the file arguments to 'encoding'. Both for the GUI and the -console version. - -Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because -there is no codepage for latin9. Do our own conversion from latin9 to UCS2. - -When two versions of GTK+ 2 are installed it was possible to use the header -files from one and the library from the other. Use GTK_LIBDIR to put the -directory for the library early in the link flags. - -With the GUI find/replace dialog a replace only worked if the pattern was -literal text. Now it works for any pattern. - -When 'equalalways' is set and 'eadirection' is "hor", ":quit" would still -cause equalizing window heights in the vertical direction. - -When ":emenu" is used in a startup script the command was put in the typeahead -buffer, causing a prompt for the crypt key to be messed up. - -Mac OS/X: The default for 'isprint' included characters 128-160, causes -problems for Terminal.app. - -When a syntax item with "containedin" is used, it may match in the start or -end of a region with a matchgroup, while this doesn't happen for a "contains" -argument. - -When a transparent syntax items matches in another item where the highlighting -has already stopped (because of a he= argument), the highlighting would come -back. - -When cscope is used to set the quickfix error list, it didn't get set if there -was only one match. (Sergey Khorev) - -When 'confirm' is set and using ":bdel" in a modified buffer, then selecting -"cancel", would still give an error message. - -The PopUp menu items that started Visual mode didn't work when not in Normal -mode. Switching between selecting a word and a line was not possible. - -Win32: The keypad decimal point always resulted in a '.', while on some -keyboards it's a ','. Use MapVirtualKey(VK_DECIMAL, 2). - -Removed unused function DisplayCompStringOpaque() from gui_w32.c - -In Visual mode there is not always an indication whether the line break is -selected or not. Highlight the character after the line when the line break -is included, e.g., after "v$o". - -GTK: The <F10> key can't be mapped, it selects the menu. Disable that with a -GTK setting and do select the menu when <F10> isn't mapped. (David Necas) - -After "Y" '[ and '] were not at start/end of the yanked text. - -When a telnet connection is dropped Vim preserves files and exits. While -doing that a SIGHUP may arrive and disturb us, thus ignore it. (Scott -Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to -handle. Added handle_signal(). - -When completing a file name on the command line backslashes are required for -white space. Was only done for a space, not for a Tab. - -When configure could not find a terminal library, compiling continued for a -long time before reporting the problem. Added a configure check for tgetent() -being found in a library. - -When the cursor is on the first char of the last line a ":g/pat/s///" command -may cause the cursor to be displayed below the text. - -Win32: Editing a file with non-ASCII characters doesn't work when 'encoding' -is "utf-8". use _wfullpath() instead of _fullpath(). (Yu-sung Moon) - -When recovering the 'fileformat' and 'fileencoding' were taken from the -original file instead of from the swapfile. When the file didn't exist, was -empty or the option was changed (e.g., with ":e ++fenc=cp123 file") it could -be wrong. Now store 'fileformat' and 'fileencoding' in the swapfile and use -the values when recovering. - -":bufdo g/something/p" overwrites each last printed text line with the file -message for the next buffer. Temporarily clear 'shortmess' to avoid that. - -Win32: Cannot edit a file starting with # with --remote. Do escape % and # -when building the ":drop" command. - -A comment or | just after an expression-backtick argument was not recognized. -E.g. in :e `="foo"`"comment. - -"(" does not stop at an empty sentence (single dot and white space) while ")" -does. Also breaks "das" on that dot. - -When doing "yy" with the cursor on a TAB the ruler could be wrong and "k" -moved the cursor to another column. - -When 'commentstring' is '"%s' and there is a double quote in the line a double -quote before the fold marker isn't removed in the text displayed for a closed -fold. - -In Visual mode, when 'bin' and 'eol' set, g CTRL-G counted the last line -break, resulting in "selected 202 of 201 bytes". - -Motif: fonts were not used for dialog components. (Marcin Dalecki) - -Motif: After using a toolbar button the keyboard focus would be on the toolbar -(Lesstif problem). (Marcin Dalecki) - -When using "y<C-V>`x" where mark x is in the first column, the last line was -not included. - -Not all test scripts work properly on MS-Windows when checked out from CVS. -Use a Vim command to fix all fileformats to dos before executing the tests. - -When using ":new" and the file fits in the window, lines could still be above -the window. Now remove empty lines instead of keeping the relative position. - -Cmdline completion didn't work after ":let var1 var<Tab>". - -When using ":startinsert" or ":startreplace" when already in Insert mode -(possible when using CTRL-R =), pressing Esc would directly restart Insert -mode. (Peter Winters) - -"2daw" didn't work at end of file if the last word is a single character. - -Completion for ":next a'<Tab>" put a backslash before single quote, but it was -not removed when editing a file. Now halve backslashes in save_patterns(). -Also fix expanding a file name with the shell that contains "\'". - -When doing "1,6d|put" only "fewer lines" was reported. Now a following "more -lines" overwrites the message. - -Configure could not handle "-Dfoo=long\ long" in the TCL config output. - -When searching backwards, using a pattern that matches a newline and uses \zs -after that, didn't find a match. Could also get a hang or end up in the right -column in the wrong line. - -When $LANG is "sl" for slovenian, the slovak menu was used, since "slovak" -starts with "sl". - -When 'paste' is set in the GUI the Paste toolbar button doesn't work. Clear -'paste' when starting the GUI. - -A message about a wrong viminfo line included the trailing NL. - -When 'paste' is set in the GUI the toolbar button doesn't work in Insert mode. -Use ":exe" in menu.vim to avoid duplicating the commands, instead of using a -mapping. - -Treat "mlterm" as an xterm-like terminal. (Seiichi Sato) - -":z.4" and ":z=4" didn't work Vi compatible. - -When sourcing a file, editing it and sourcing it again, it could appear twice -in ":scriptnames" and get a new <SID>, because the inode has changed. - -When $SHELL is set but empty the 'shell' option would be empty. Don't use an -empty $SHELL value. - -A command "w! file" in .vimrc or $EXINIT didn't work. Now it writes an empty -file. - -When a CTRL-F command at the end of the file failed, the cursor was still -moved to the start of the line. Now it remains where it is. - -When using ":s" or "&" to repeat the last substitute and "$" was used to put -the cursor in the last column, put the cursor in the last column again. This -is Vi compatible. - -Vim is not fully POSIX compliant but sticks with traditional Vi behavior. -Added a few flags in 'cpoptions' to behave the POSIX way when wanted. The -$VIM_POSIX environment variable is checked to set the default. - -Appending to a register didn't insert a line break like Vi. Added the '>' -flag to 'cpoptions' for this. - -Using "I" in a line with only blanks appended to the line. This is not Vi -compatible. Added the 'H' flag in 'coptions' for this. - -When joining multiple lines the cursor would be at the last joint, but Vi -leaves it at the position where "J" would put it. Added the 'q' flag in -'cpoptions' for this. - -Autoindent didn't work for ":insert" and ":append". - -Using ":append" in an empty buffer kept the dummy line. Now it's deleted to -be Vi compatible. - -When reading commands from a file and stdout goes to a terminal, would still -request the xterm version. Vim can't read it, thus the output went to the -shell and caused trouble there. - -When redirecting to a register with an invalid name the redirection would -still be done (after an error message). Now reset "redir_reg". (Yegappan -Lakshmanan) - -It was not possible to use a NL after a backslash in Ex mode. This is -sometimes used to feed multiple lines to a shell command. - -When 'cmdheight' is set to 2 in .vimrc and the GUI uses the number of lines -from the terminal we actually get 3 lines for the cmdline in gvim. - -When setting $HOME allocated memory would leak. - -Win32: bold characters may sometimes write in another character cell. Use -unicodepdy[] as for UTF-8. (Taro Muraoka) - -":w fname" didn't work for files with 'buftype' set to "nofile". - -The method used to locate user commands for completion differed from when they -are executed. Ambiguous command names were not completed properly. - -Incremental search may cause a crash when there is a custom statusline that -indirectly invokes ":normal". - -Diff mode failed when $DIFF_OPTIONS was set in the environment. Unset it -before invoking "diff". - -Completion didn't work after ":argdo", ":windo" and ":bufdo". Also for ":set -&l:opt" and ":set &g:opt". (Peter Winters) - -When setting 'ttymouse' to "dec" in an xterm that supports the DEC mouse -locator it doesn't work. Now switch off the mouse before selecting another -mouse model. - -When the CursorHold event is triggered and the commands peek for typed -characters the typeahead buffer may be messed up, e.g., when a mouse-up event -is received. Avoid invoking the autocommands from the function waiting for a -character, let it put K_CURSORHOLD in the input buffer. - -Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like -":1argadd *". Same for ":argdelete" and ":argedit". - -Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US". - -Added backslashes before dashes in the vim.1 manual page to make the appear as -real dashes. (Pierr Habouzit) - -Where "gq" left the cursor depended on the value of 'formatprg'. Now "gq" -always leaves the cursor at the last line of the formatted text. - -When editing a compressed file, such as "changelog.Debian.gz" file, filetype -detection may try to check the contents of the file while it's still -compressed. Skip setting 'filetype' for compressed files until they have been -decompressed. Required for patterns that end in a "*". - -Starting with an argument "+cmd" or "-S script" causes the cursor the be moved -to the first line. That breaks a BufReadPost autocommand that uses g`". -Don't move the cursor if it's somewhere past the first line. - -"gg=G" while 'modifiable' is off was uninterruptible. - -When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash. -Don't insert a DBCS character with a NUL second byte. - -In Insert mode CTRL-O <Home> didn't move the cursor. Made "ins_at_eol" global -and reset it in nv_home(). - -Wildcard expansion failed: ":w /tmp/$$.`echo test`". Don't put quotes around -spaces inside backticks. - -After this sequence of commands: Y V p gv: the wrong line is selected. Now -let "gv" select the text that was put, since the original text is deleted. -This should be the most useful thing to do. - -":sleep 100u" sleeps for 100 seconds, not 100 usec as one might expect. Give -an error message when the argument isn't recognized. - -In gui_mch_draw_string() in gui_w32.c "unibuflen" wasn't static, resulting in -reallocating the buffer every time. (Alexei Alexandrov) - -When using a Python "atexit" function it was not invoked when Vim exits. Now -call Py_Finalize() for that. (Ugo Di Girolamo) -This breaks the thread stuff though, fixed by Ugo. - -GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right -after startup, the window layout is messed up. (Michael Schaap) Added -win_new_shellsize() call in gui_init() to fix the topframe size. - -Trick to get ...MOUSE_NM not used when there are vertical splits. Now pass -column -1 for the left most window and add MOUSE_COLOFF for others. Limits -mouse column to 10000. - -searchpair() may hang when the end pattern has "\zs" at the end. Check that -we find the same position again and advance one character. - -When in diff mode and making a change that causes the "changed" highlighting -to disappear or reappear, it was still highlighted in another window. - -When a ":next" command fails because the user selects "Abort" at the ATTENTION -prompt the argument index was advanced anyway. - -When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous -substitute pattern. Put "\V" in the pattern to avoid that. - -Use of sprintf() sometimes didn't check properly for buffer overflow. Also -when using smsg(). Included code for snprintf() to avoid having to do size -checks where invoking them - -":help \=<Tab>" didn't find "sub-replace-\=". Wild menu for help tags didn't -show backslashes. ":he :s\=" didn't work. - -When reading an errorfile "~/" in a file name was not expanded. - -GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or -removing it the window size may change. GTK sends us resize events when we -change the window size ourselves, but they may come at an unexpected moment. -Peek for a character to get any window resize events and fix 'columns' and -'lines' to undo this. - -When using the GTK plug mechanism, resizing and focus was not working -properly. (Neil Bird) - -After deleting files from the argument list a session file generated with -":mksession" may contain invalid ":next" commands. - -When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N -may cause the hit-enter prompt. Typing 'a then didn't result in the accented -character. Put the character typed at the prompt back in the typeahead buffer -so that mapping is done in the right mode. - -setbufvar() and setwinvar() did not give error messages. - -It was possible to set a variable with an illegal name, e.g. with setbufvar(). -It was possible to define a function with illegal name, e.t. ":func F{-1}()" - -CTRL-W F and "gf" didn't use the same method to get the file name. - -When reporting a conversion error the line number of the last error could be -given. Now report the first encountered error. - -When using ":e ++enc=name file" and iconv() was used for conversion an error -caused a fall-back to no conversion. Now replace a character with '?' and -continue. - -When opening a new buffer the local value of 'bomb' was not initialized from -the global value. - -Win32: When using the "Edit with Vim" entry the file name was limited to about -200 characters. - -When using command line completion for ":e *foo" and the file "+foo" exists -the resulting command ":e +foo" doesn't work. Now insert a backslash: ":e -\+foo". - -When the translation of "-- More --" was not 10 characters long the following -message would be in the wrong position. - -At the more-prompt the last character in the last line wasn't drawn. - -When deleting non-existing text while 'virtualedit' is set the '[ and '] marks -were not set. - -Win32: Could not use "**/" in 'path', it had to be "**\". - -The search pattern "\n" did not match at the end of the last line. - -Searching for a pattern backwards, starting on the NUL at the end of the line -and 'encoding' is "utf-8" would match the pattern just before it incorrectly. -Affected searchpair('/\*', '', '\*/'). - -For the Find/Replace dialog it was possible that not finding the text resulted -in an error message while redrawing, which cleared the syntax highlighting -while it was being used, resulting in a crash. Now don't clear syntax -highlighting, disable it with b_syn_error. - -Win32: Combining UTF-8 characters were drawn on the previous character. -Could be noticed with a Thai font. - -Output of ":function" could leave some of the typed text behind. (Yegappan -Lakshmanan) - -When the command line history has only a few lines the command line window -would be opened with these lines above the first window line. - -When using a command line window for search strings ":qa" would result in -searching for "qa" instead of quitting all windows. - -GUI: When scrolling with the scrollbar and there is a line that doesn't fit -redrawing may fail. Make sure w_skipcol is valid before redrawing. - -Limit the values of 'columns' and 'lines' to avoid an overflow in Rows * -Columns. Fixed bad effects when running out of memory (command line would be -reversed, ":qa!" resulted in ":!aq"). - -Motif: "gvim -iconic" opened the window anyway. (David Harrison) - -There is a tiny chance that a symlink gets created between checking for an -existing file and creating a file. Use the O_NOFOLLOW for open() if it's -available. - -In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of -sticking to the first column. - -When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was -echoed anyway. Set terminal to raw mode in getcmdline(). - -Unix: ":w a;b~c" caused an error in expanding wildcards. - -When appending to a file with ":w >>fname" in a buffer without a name, causing -the buffer to use "fname", the modified flag was reset. - -When appending to the current file the "not edited" flag would be reset. -":w" would overwrite the file accidentally. - -Unix: When filtering text with an external command Vim would still read input, -causing text typed for the command (e.g., a password) to be eaten and echoed. -Don't read input when the terminal is in cooked mode. - -The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen) - -Unix: When filtering text through a shell command some resulting text may be -dropped. Now after detecting that the child has exited try reading some more -of its output. - -When inside input(), using "CTRL-R =" and the expression throws an exception -the command line was not abandoned but it wasn't used either. Now abandon -typing the command line. - -'delcombine' was also used in Visual and Select mode and for commands like -"cl". That was illogical and has been disabled. - -When recording while a CursorHold autocommand was defined special keys would -appear in the register. Now the CursorHold event is not triggered while -recording. - -Unix: the src/configure script used ${srcdir-.}, not all shells understand -that. Use ${srcdir:-.} instead. - -When editing file "a" which is a symlink to file "b" that doesn't exist, -writing file "a" to create "b" and then ":split b" resulted in two buffers on -the same file with two different swapfile names. Now set the inode in the -buffer when creating a new file. - -When 'esckeys' is not set don't send the xterm code to request the version -string, because it may cause trouble in Insert mode. - -When evaluating an expression for CTRL-R = on the command line it was possible -to call a function that opens a new window, resulting in errors for -incremental search, and many other nasty things were possible. Now use the -|textlock| to disallow changing the buffer or jumping to another window -to protect from unexpected behavior. Same for CTRL-\ e. - -"d(" deleted the character under the cursor, while the documentation specified -an exclusive motion. Vi also doesn't delete the character under the cursor. - -Shift-Insert in Insert mode could put the cursor before the last character -when it just fits in the window. In coladvance() don't stop at the window -edge when filling with spaces and when in Insert mode. In mswin.vim avoid -getting a beep from the "l" command. - -Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in -the dialog then Vim would insert <M-F4> in the text. Now it's ignored. - -When ":silent! {cmd}" caused the swap file dialog, which isn't displayed, -there would still be a hit-enter prompt. - -Requesting the termresponse (|t_RV|) early may cause problems with "-c" -arguments that invoke an external command or even "-c quit". Postpone it -until after executing "-c" arguments. - -When typing in Insert mode so that a new line is started, using CTRL-G u to -break undo and start a new change, then joining the lines with <BS> caused -undo info to be missing. Now reset the insertion start point. - -Syntax HL: When a region start match has a matchgroup and an offset that -happens to be after the end of the line then it continued in the next line and -stopped at the region end match, making the region continue after that. -Now check for the column being past the end of the line in syn_add_end_off(). - -When changing a file, setting 'swapfile' off and then on again, making another -change and killing Vim, then some blocks may be missing from the swapfile. -When 'swapfile' is switched back on mark all blocks in the swapfile as dirty. -Added mf_set_dirty(). - -Expanding wildcards in a command like ":e aap;<>!" didn't work. Put -backslashes before characters that are special to the shell. (Adri Verhoef) - -A CursorHold autocommand would cause a message to be cleared. Don't show the -special key for the event for 'showcmd'. - -When expanding a file name for a shell command, as in "!cmd foo<Tab>" or ":r -!cmd foo<Tab>" also escape characters that are special for the shell: -"!;&()<>". - -When the name of the buffer was set by a ":r fname" command |cpo-f| no -autocommands were triggered to notify about the change in the buffer list. - -In the quickfix buffer 'bufhidden' was set to "delete", which caused closing -the quickfix window to leave an unlisted "No Name" buffer behind every time. - -Win32: when using two screens of different size, setting 'lines' to a large -value didn't fill the whole screen. (SungHyun Nam) - -Win32 installer: The generated _vimrc contained an absolute path to diff.exe. -After upgrading it becomes invalid. Now use $VIMRUNTIME instead. - -The command line was cleared to often when 'showmode' was set and ":silent -normal vy" was used. Don't clear the command line unless the mode was -actually displayed. Added the "mode_displayed" variable. - -The "load session" toolbar item could not handle a space or other special -characters in v:this_session. - -":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2. - -In a multi-byte file the foldmarker could be recognized in the trail byte. -(Taro Muraoka) - -Pasting with CTRL-V and menu didn't work properly when some commands are -mapped. Use ":normal!" instead of ":normal". (Tony Apuzzo) - -Crashed when expanding a file name argument in backticks. - -In some situations the menu and scrollbar didn't work, when the value contains -a CSI byte. (Yukihiro Nakadaira) - -GTK GUI: When drawing the balloon focus changes and we might get a key release -event that removed the balloon again. Ignore the key release event. - -'titleold' was included in ":mkexrc" and ":mksession" files. - -":set background&" didn't use the same logic as was used when starting up. - -When "umask" is set such that nothing is writable then the viminfo file would -be written without write permission. (Julian Bridle) - -Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the -other diff'ed window. - -When editing in an xterm with a different number of colors than expected the -screen would be cleared and redrawn, causing the message about the edited file -to be cleared. Now set "keep_msg" to redraw the last message. - -For a color terminal: When the Normal HL uses bold, possibly to make the color -lighter, and another HL group specifies a color it might become light as well. -Now reset bold if a HL group doesn't specify bold itself. - -When using 256 color xterm the color 255 would show up as color 0. Use a -short instead of a char to store the color number. - -ml_get errors when searching for "\n\zs" in an empty file. - -When selecting a block and using "$" to select until the end of every line and -not highlighting the character under the cursor the first character of the -block could be unhighlighted. - -When counting words for the Visual block area and using "$" to select until -the end of every line only up to the length of the last line was counted. - -"dip" in trailing empty lines left one empty line behind. - -The script ID was only remembered globally for each option. When a buffer- or -window-local option was set the same "last set" location was changed for all -buffers and windows. Now remember the script ID for each local option -separately. - -GUI: The "Replace All" button didn't handle backslashes in the replacement in -the same way as "Replace". Escape backslashes so that they are taken -literally. - -When using Select mode from Insert mode and typing a key, causing lines to be -deleted and a message displayed, delayed the effect of inserting the key. -Now overwrite the message without delay. - -When 'whichwrap' includes "l" then "dl" and "yl" on a single letter line -worked differently. Now recognize all operators when using "l" at the end of -a line. - -GTK GUI: when the font selector returned a font name with a comma in it then -it would be handled like two font names. Now put a backslash before the -comma. - -MS-DOS, Win32: When 'encoding' defaults to "latin1" then the value for -'iskeyword' was still for CPxxx. And when 'nocompatible' was set 'isprint' -would also be the wrong value. - -When a command was defined not to take arguments and no '|' no warning message -would be given for using a '|'. Also with ":loadkeymap". - -Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) != -sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira) - -":all" always set the current window to the first window, even when it -contains a buffer that is not in the argument list (can't be closed because it -is modified). Now go to the window that has the first item of the argument -list. - -GUI: To avoid left-over pixels from bold text all characters after a character -with special attributes were redrawn. Now only do this for characters that -actually are bold. Speeds up displaying considerably. - -When only highlighting changes and the text is scrolled at the same time -everything is redrawn instead of using a scroll and updating the changed text. -E.g., when using ":match" to highlight a paren that the cursor landed on. -Added SOME_VALID: Redraw the whole window but also try to scroll to minimize -redrawing. - -Win32: When using Korean IME making it active didn't work properly. (Moon, -Yu-sung, 2005 March 21) - -Ruby interface: when inserting/deleting lines display wasn't updated. (Ryan -Paul) - ---- fixes since Vim 7.0b --- - -Getting the GCC version in configure didn't work with Solaris sed. First -strip any "darwin." and then get the version number. - -The "autoload" directory was missing from the self-installing executable for -MS-Windows. - -The MS-Windows install program would find "vimtutor.bat" in the install -directory. After changing to "c:" also change to "\" to avoid looking in the -install directory. - -To make the 16 bit DOS version compile exclude not used highlight -initializations and build a tiny instead of small version. - -finddir() and findfile() accept a negative count and return a List then. - -The Python indent file contained a few debugging statements, removed. - -Expanding {} for a function name, resulting in a name starting with "s:" was -not handled correctly. - -Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX. Added several items to be -able to handle the new Hungarian dictionary. - -Mac: Default to building for the current platform only, that is much faster -than building a universal binary. Also, using Perl/Python/etc. only works for -the current platform. - -The time on undo messages disappeared for someone. Using %T for strftime() -apparently doesn't work everywhere. Use %H:%M:%S instead. - -Typing BS at the "z=" prompt removed the prompt. - ---- fixes and changes since Vim 7.0c --- - -When jumping to another tab page the Vim window size was always set, even when -nothing in the layout changed. - -Win32 GUI tab pages line wasn't always enabled. Do a proper check for the -compiler version. - -Win32: When switching between tab pages the Vim window was moved when part of -it was outside of the screen. Now only do that in the direction of a size -change. - -Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan) - -Mac: Added document icons. (Benji Fisher) - -Insert mode completion: Using Enter to accept the current match causes -confusion. Use CTRL-Y instead. Also, use CTRL-E to go back to the typed -text. - -GUI: When there are left and right scrollbars, ":tabedit" kept them instead of -using the one that isn't needed. - -Using "gP" to replace al the text could leave the cursor below the last line, -causing ml_get errors. - -When 'cursorline' is set don't use the highlighting when Visual mode is -active, otherwise it's difficult to see the selected area. - -The matchparen plugin restricts the search to 100 lines, to avoid a long delay -when there are closed folds. - -Sometimes using CTRL-X s to list spelling suggestions used text from another -line. - -Win32: Set the default for 'isprint' back to the wrong default "@,~-255", -because many people use Windows-1252 while 'encoding' is "latin1". - -GTK: Added a workaround for gvim crashing when used over an untrusted ssh -link, caused by GTK doing something nasty. (Ed Catmur) - -Win32: The font used for the tab page labels is too big. Use the system menu -font. (George Reilly) - -Win32: Adjusting the window position and size to keep it on the screen didn't -work properly when the taskbar is on the left or top of the screen. - -The installman.sh and installml.sh scripts use ${10}, that didn't work with -old shells. And use "test -f" instead of "test -e". - -Win32: When 'encoding' was set in the vimrc then a directory argument for diff -mode didn't work. - -GUI: at the inputlist() prompt the cursorshape was adjusted as if the windows -were still at their old position. - -The parenmatch plugin didn't remember the highlighting per window. - -Using ":bd" for a buffer that's the current window in another tab page caused -a crash. - -For a new tab page the 'scroll' option wasn't set to a good default. - -Using an end offset for a search "/pat/e" didn't work properly for multi-byte -text. (Yukihiro Nakadaira) - -":s/\n/,/" doubled the text when used on the last line. - -When "search" is in 'foldopen' "[s" and "]s" now open folds. - -When using a numbered function "dict" can be omitted, but "self" didn't work -then. Always add FC_DICT to the function flags when it's part of a -dictionary. - -When "--remote-tab" executes locally it left an empty tab page. - -"gvim -u NONE", ":set cursorcolumn", "C" in the second line didn't update -text. Do update further lines even though the "$" is displayed. - -VMS: Support GTK better, also enable +clientserver. (Zoltan Arpadffy) - -When highlighting of statusline or tabline is changed there was no redraw to -show the effect. - -Mac: Added "CFBundleIdentifier" to infplist.xml. - -Added tabpage-local variables t:var. - -Win32: Added double-click in tab pages line creates new tab. (Yegappan -Lakshmanan) - -Motif: Added GUI tab pages line. (Yegappan Lakshmanan) - -Fixed crash when 'lines' was set to 1000 in a modeline. - -When init_spellfile() finds a writable directory in 'runtimepath' but it -doesn't contain a "spell" directory, create one. - -Win32: executable() also finds "xxd" in the directory where Vim was started, -but "!xxd" doesn't work. Append the Vim starting directory to $PATH. - -The tab page labels are shortened, directory names are reduced to a single -letter by default. Added the pathshorten() function to allow a user to do the -same. - -":saveas" now resets 'readonly' if the file was successfully written. - -Set $MYVIMRC file to the first found .vimrc file. -Set $MYGVIMRC file to the first found .gvimrc file. -Added menu item "Startup Settings" that edits the $MYVIMRC file - -Added matcharg(). - -Error message E745 appeared twice. Renamed one to E786. - -Fixed crash when using "au BufRead * Sexplore" and doing ":help". Was wiping -out a buffer that's still in a window. - -":hardcopy" resulted in an error message when 'encoding' is "utf-8" and -'printencoding' is empty. Now it assumes latin1. (Mike Williams) - -The check for the toolbar feature for Motif, depending on certain included -files, wasn't detailed enough, causing building to fail in gui_xmebw.c. - -Using CTRL-E in Insert mode completion after CTRL-P inserted the first match -instead of the original text. - -When displaying a UTF-8 character with a zero lower byte Vim might think the -previous character is double-wide. - -The "nbsp" item of 'listchars' didn't work when 'encoding' was utf-8. - -Motif: when Xm/xpm.h is missing gui_xmebw.c would not compile. -HAVE_XM_UNHIGHLIGHTT_H was missing a T. - -Mac: Moved the .icns files into src/os_mac_rsrc, so that they can all be -copied at once. Adjusted the Info.plist file for three icons. - -When Visual mode is active while switching to another tabpage could get ml_get -errors. - -When 'list' is set, 'nowrap' the $ in the first column caused 'cursorcolumn' -to move to the right. - -When a line wraps, 'cursorcolumn' was never displayed past the end of the -line. - -'autochdir' was only available when compiled with NetBeans and GUI. Now it's -a separate feature, also available in the "big" version. - -Added CTRL-W gf: open file under cursor in new tab page. - -When using the menu in the tab pages line, "New Tab" opens the new tab before -where the click was. Beyond the labels the new tab appears at the end instead -of after the current tab page. - -Inside a mapping with an expression getchar() could not be used. - -When vgetc is used recursively vgetc_busy protects it from being used -recursively. But after a ":normal" command the protection was reset. - -":s/a/b/n" didn't work when 'modifiable' was off. - -When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be -found. (Yukihiro Nakadaira) - -":mkspell" didn't work correctly for non-ASCII affix flags when conversion is -needed on the spell file. - -glob('/dir/\$ABC/*') didn't work. - -When using several tab pages and changing 'cmdheight' the display could become -messed up. Now store the value of 'cmdheight' separately for each tab page. - -The user of the Enter key while the popup menu is visible was still confusing. -Now use Enter to select the match after using a cursor key. - -Added "usetab" to 'switchbuf'. - - ---- fixes and changes since Vim 7.0d --- - -Added CTRL-W T: move a window to a new tab page. - -Using CTRL-X s in Insert mode to complete spelling suggestions and using BS -deleted characters before the bad word. - -A few small fixes for the VMS makefile. (Zoltan Arpadffy) - -With a window of 91 lines 45 cols, ":vsp" scrolled the window. Copy w_wrow -when splitting a window and skip setting the height when it's already at the -right value. - -Using <silent> in a mapping with a shell command and the GUI caused redraw -to use wrong attributes. - -Win32: Using MSVC 4.1 for install.exe resulted in the start menu items to be -created in the administrator directory instead of "All Users". Define the -CSIDL_ items if they are missing. - -Motif: The GUI tabline did not use the space above the right scrollbar. Work -around a bug in the Motif library. (Yegappan Lakshmanan) - -The extra files for XML Omni completion are now also installed. -|xml-omni-datafile| - -GTK GUI: when 'm' is missing from 'guioptions' during startup and pressing -<F10> GTK produced error messages. Now do create the menu but disable it just -after the first gui_mch_update(). - -":mkspell" doesn't work well with the Hungarian dictionary from the Hunspell -project. Back to the Myspell dictionary. - -In help files hide the | used around tags. - -Renamed pycomplete to pythoncomplete. - -Added "tabpages" to 'sessionoptions'. - -When 'guitablabel' is set the effect wasn't visible right away. - -Fixed a few 'cindent' errors. - -When completing menu names, e.g., after ":emenu", don't sort the entries but -keep them in the original order. - -Fixed a crash when editing a directory in diff mode. Don't trigger -autocommands when executing the diff command. - -Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and -typing a special key. - -When 'foldignore' is set the folds were not updated right away. - -When a list is indexed with [a : b] and b was greater than the length an error -message was given. Now silently truncate the result. - -When using BS during Insert mode completion go back to the original text, so -that CTRL-N selects the first matching entry. - -Added the 'M' flag to 'cinoptions'. - -Win32: Make the "gvim --help" window appear in the middle of the screen -instead of at an arbitrary position. (Randall W. Morris) - -Added gettabwinvar() and settabwinvar(). - -Command line completion: pressing <Tab> after ":e /usr/*" expands the whole -tree, because it becomes ":e /usr/**". Don't add a star if there already is -one. - -Added grey10 to grey90 to all GUIs, so that they can all be used for -initializing highlighting. Use grey40 for CursorColumn and CursorLine when -'background' is "dark". - -When reading a file and using iconv for conversion, an incomplete byte -sequence at the end caused problems. (Yukihiro Nakadaira) - - ---- fixes and changes since Vim 7.0e --- - -Default color for MatchParen when 'background' is "dark" is now DarkCyan. - -":syn off" had to be used twice in a file that sets 'syntax' in a modeline. -(Michael Geddes) - -When using ":vsp" or ":sp" the available space wasn't used equally between -windows. (Servatius Brandt) - -Expanding <cWORD> on a trailing blank resulted in the first word in the line -if 'encoding' is a multi-byte encoding. - -Spell checking: spellbadword() didn't see a missing capital in the first word -of a line. Popup menu now only suggest the capitalized word when appropriate. - -When using whole line completion CTRL-L moves through the matches but it -didn't work when at the original text. - -When completion finds the longest match, don't go to the first match but stick -at the original text, so that CTRL-N selects the first one. - -Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James -Vega) - -When using ":map <expr>" and the expression results in something with a -special byte (NUL or CSI) then it didn't work properly. Now escape special -bytes. - -The default Visual highlighting for a color xterm with 8 colors was a magenta -background, which made magenta text disappear. Now use reverse in this -specific situation. - -After completing the longest match "." didn't insert the same text. Repeating -also didn't work correctly for multi-byte text. - -When using Insert mode completion and BS the whole word that was completed -would result in all possible matches. Now stop completion. Also fixes that -for spell completion the previous word was deleted. - -GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name -the tab page label was wrong and an error message would be given. - -The taglist() function could hang on a tags line with a non-ASCII character. - -Win32: When 'encoding' differs from the system encoding tab page labels with -non-ASCII characters looked wrong. (Yegappan Lakshmanan) - -Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure -check, disable GUI tabline when it's missing. - -Mac: When compiled without multi-byte feature the clipboard didn't work. - -It was possible to switch to another tab page when the cmdline window is open. - -Completion could hang when 'lines' is 6 and a preview window was opened. - -Added CTRL-W gF: open file under cursor in new tab page and jump to the line -number following the file name. -Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan). - -Added "throw" to 'debug' option: throw an exception for error messages even -whey they would otherwise be ignored. - -When 'keymap' is set and a line contains an invalid entry could get a "No -mapping found" warning instead of a proper error message. - -Motif: default to using XpmAttributes instead of XpmAttributes_21. - -A few more changes for 64 bit MS-Windows. (George Reilly) - -Got ml_get errors when doing "o" and selecting in other window where there are -less lines shorter than the cursor position in the other window. ins_mouse() -was using position in wrong window. - -Win32 GUI: Crash when giving a lot of messages during startup. Allocate twice -as much memory for the dialog template. - -Fixed a few leaks and wrong pointer use reported by coverity. - -When showing menus the mode character was sometimes wrong. - -Added feedkeys(). (Yakov Lerner) - -Made matchlist() always return all submatches. - -Moved triggering QuickFixCmdPost to before jumping to the first location. - -Mac: Added the 'macatsui' option as a temporary work around for text drawing -problems. - -Line completion on "/**" gave error messages when scanning an unloaded buffer. - ---- fixes and changes since Vim 7.0f --- - -Win32: The height of the tab page labels is now adjusted to the font height. -(Yegappan Lakshmanan) - -Win32: selecting the tab label was off by one. (Yegappan Lakshmanan) - -Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan) - -When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and -the file was not converted from latin1 to utf-8. Now retry with latin1 if -reading the file as utf-8 results in illegal bytes. - -Escape the argument of feedkeys() before putting it in the typeahead buffer. -(Yukihiro Nakadaira) - -Added the v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira) - -With 8 colors Search highlighting combined with Statement highlighted text -made the text disappear. - -VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy) - -When 'virtualedit' includes "onemore", stopping Visual selection would still -move the cursor left. - -Prevent that using CTRL-R = in Insert mode can start Visual mode. - -Fixed a crash that occurred when in Insert mode with completion active and a -mapping caused edit() to be called recursively. - -When using CTRL-O in Insert mode just after the last character while -'virtualedit' is "all", then typing CR moved the last character to the next -line. Call coladvance() before starting the new line. - -When using |:shell| ignore clicks on the tab page labels. Also when using the -command line window. - -When 'eventignore' is "all" then adding more to ignoring some events, e.g., -for ":vimgrep", would actually trigger more events. - -Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname" -didn't find it. When looking for a server name that doesn't end in a digit -and it is not found then use another server with that name and a number (just -like on Unix). - -When using "double" in 'spellsuggest' when the language doesn't support sound -folding resulted in too many suggestions. - -Win32: Dropping a shortcut on the Vim icon didn't edit the referred file like -editing it in another way would. Use fname_expand() in buf_set_name() instead -of simply make the file name a full path. - -Using feedkeys() could cause Vim to hang. - -When closing another tab page from the tabline menu in Insert mode the tabline -was not updated right away. - -The syntax menu didn't work in compatible mode. - -After using ":tag id" twice with the same "id", ":ts" and then ":pop" a ":ts" -reported no matching tag. Clear the cached tag name. - -In Insert mode the matchparen plugin highlighted the wrong paren when there is -a string just next to a paren. - -GTK: After opening a new tab page the text was sometimes not drawn correctly. -Flush output and catch up with events when updating the tab page labels. - -In the GUI, using CTRL-W q to close the last window of a tab page could cause -a crash. - -GTK: The tab pages line menu was not converted from 'encoding' to utf-8. - -Typing a multi-byte character or a special key at the hit-enter prompt did not -work. - -When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the -cursor left when it was after the end of the line, even though it's allowed to -be there. - -Added test for using tab pages. - -towupper() and towlower() were not used, because of checking for -__STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz) - -For ":map <expr>" forbid changing the text, jumping to another buffer and -using ":normal" to avoid nasty side effects. - ---- fixes and changes since Vim 7.0g --- - -Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef. -(Gary Johnson) - -Report +reltime feature in ":version" output. - -The tar and zip plugins detect failure to get the contents of the archive and -edit the file as-is. - -When the result of 'guitablabel' is empty fall back to the default label. - -Fixed crash when using ":insert" in a while loop and missing "endwhile". - -"gt" and other commands could move to another window when |textlock| active -and when the command line window was open. - -Spell checking a file with syntax highlighting and a bad word at the end of -the line is ignored could make "]s" hang. - -Mac: inputdialog() didn't work when compiled with big features. - -Interrupting ":vimgrep" while it is busy loading a file left a modified and -hidden buffer behind. Use enter_cleanup() and leave_cleanup() around -wipe_buffer(). - -When making 'keymap' empty the b:keymap_name variable wasn't deleted. - -Using CTRL-N that searches a long time, pressing space to interrupt the -searching and accept the first match, the popup menu was still displayed -briefly. - -When setting the Vim window height with -geometry the 'window' option could be -at a value that makes CTRL-F behave differently. - -When opening a quickfix window in two tabs they used different buffers, -causing redrawing problems later. Now use the same buffer for all quickfix -windows. (Yegappan Lakshmanan) - -When 'mousefocus' is set moving the mouse to the text tab pages line would -move focus to the first window. Also, the mouse pointer would jump to the -active window. - -In a session file, when an empty buffer is wiped out, do this silently. - -When one window has the cursor on the last line and another window is resized -to make that window smaller, the cursor line could go below the displayed -lines. In win_new_height() subtract one from the available space. -Also avoid that using "~" lines makes the window scroll down. - -Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the -'cpo' option isn't set properly, because it was already set and restored. -Added the <special> argument to ":map", so that 'cpo' doesn't need to be -changed to be able to use <> notation. Also do this for ":menu" for -consistency. - -When using "/encoding=abc" in a spell word list, only "bc" was used. - -When 'encoding' and 'printencoding' were both "utf-8" then ":hardcopy" didn't -work. (Mike Williams) - -Mac: When building with "--disable-gui" the install directory would still be -"/Applications" and Vim.app would be installed. Now install in /usr/local as -usual for a console application. - -GUI: when doing completion and there is one match and still searching for -another, the cursor was displayed at the end of the line instead of after the -match. Now show the cursor after the match while still searching for matches. - -GUI: The mouse shape changed on the statusline even when 'mouse' was empty and -they can't be dragged. - -GTK2: Selecting a button in the confirm() dialog with Tab or cursor keys and -hitting Enter didn't select that button. Removed GTK 1 specific code. (Neil -Bird) - -When evaluating 'balloonexpr' takes a long time it could be called -recursively, which could cause a crash. - -exists() could not be used to detect whether ":2match" is supported. Added a -check for it specifically. - -GTK1: Tab page labels didn't work. (Yegappan Lakshmanan) - -Insert mode completion: When finding matches use 'ignorecase', but when adding -matches to the list don't use it, so that all words with different case are -added, "word", "Word" and "WORD". - -When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n" -the rest of the line was highlighted as a match. - -Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and -redirects the output. Don't move the cursor to the command line if msg_silent -is set. - -exists() ignored text after a function name and option name, which could -result in false positives. - -exists() ignored characters after the recognized word, which can be wrong when -using a name with non-keyword characters. Specifically, these calls no longer -allow characters after the name: exists('*funcname') exists('*funcname(...') -exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]') -exists('g:name.n') - -Trigger the TabEnter autocommand only after entering the current window of the -tab page, otherwise the commands are executed with an invalid current window. - -Win32: When using two monitors and Vim is on the second monitor, changing the -width of the Vim window could make it jump to the first monitor. - -When scrolling back at the more prompt and the quitting a line of text would -be left behind when 'cmdheight' is 2 or more. - -Fixed a few things for Insert mode completion, especially when typing BS, -CTRL-N or a printable character while still searching for matches. - - -============================================================================== -VERSION 7.1 *version-7.1* *version7.1* - -This section is about improvements made between version 7.0 and 7.1. - -This is a bug-fix release, there are no fancy new features. - - -Changed *changed-7.1* -------- - -Added setting 'mouse' in vimrc_example.vim. - -When building with MZscheme also look for include files in the "plt" -subdirectory. That's where they are for FreeBSD. - -The Ruby interface module is now called "Vim" instead of "VIM". But "VIM" is -an alias, so it's backwards compatible. (Tim Pope) - - -Added *added-7.1* ------ - -New syntax files: - /var/log/messages (Yakov Lerner) - Autohotkey (Nikolai Weibull) - AutoIt v3 (Jared Breland) - Bazaar commit file "bzr". (Dmitry Vasiliev) - Cdrdao TOC (Nikolai Weibull) - Cmusrc (Nikolai Weibull) - Conary recipe (rPath Inc) - Framescript (Nikolai Weibull) - FreeBasic (Mark Manning) - Hamster (David Fishburn) - IBasic (Mark Manning) - Initng (Elan Ruusamae) - Ldapconf (Nikolai Weibull) - Litestep (Nikolai Weibull) - Privoxy actions file (Doug Kearns) - Streaming Descriptors "sd" (Puria Nafisi Azizi) - -New tutor files: - Czech (Lubos Turek) - Hungarian (Arpad Horvath) - Turkish (Serkan kkk) - utf-8 version of Greek tutor. - utf-8 version of Russian tutor. - utf-8 version of Slowak tutor. - -New filetype plugins: - Bst (Tim Pope) - Cobol (Tim Pope) - Fvwm (Gautam Iyer) - Hamster (David Fishburn) - Django HTML template (Dave Hodder) - -New indent files: - Bst (Tim Pope) - Cobol (Tim Pope) - Hamster (David Fishburn) - Django HTML template (Dave Hodder) - Javascript - JSP (David Fishburn) - -New keymap files: - Bulgarian (Boyko Bantchev) - Mongolian (Natsagdorj Shagdar) - Thaana (Ibrahim Fayaz) - Vietnamese (Samuel Thibault) - -Other new runtime files: - Ada support files. (Neil Bird, Martin Krischik) - Slovenian menu translations (Mojca Miklavec) - Mono C# compiler plugin (Jarek Sobiecki) - - -Fixed *fixed-7.1* ------ - -Could not build the Win32s version. Added a few structure definitions in -src/gui_w32.c - - -Patch 7.0.001 -Problem: ":set spellsuggest+=10" does not work. (Suresh Govindachar) -Solution: Add P_COMMA to the 'spellsuggest' flags. -Files: src/option.c - -Patch 7.0.002 -Problem: C omni completion has a problem with tags files with a path - containing "#" or "%". -Solution: Escape these characters. (Sebastian Baberowski) -Files: runtime/autoload/ccomplete.vim - -Patch 7.0.003 -Problem: GUI: clicking in the lower part of a label in the tab pages line - while 'mousefocus' is set may warp the mouse pointer. (Robert - Webb) -Solution: Check for a negative mouse position. -Files: src/gui.c - -Patch 7.0.004 -Problem: Compiler warning for debug_saved used before set. (Todd Blumer) -Solution: Remove the "else" for calling save_dbg_stuff(). -Files: src/ex_docmd.c - -Patch 7.0.005 (extra) -Problem: Win32: The installer doesn't remove the "autoload" and "spell" - directories. (David Fishburn) -Solution: Add the directories to the list to be removed. -Files: nsis/gvim.nsi - -Patch 7.0.006 -Problem: Mac: "make shadow" doesn't make a link for infplist.xml. (Axel - Kielhorn) -Solution: Make the link. -Files: src/Makefile - -Patch 7.0.007 -Problem: AIX: compiling fails for message.c. (Ruediger Hornig) -Solution: Move the #if outside of memchr(). -Files: src/message.c - -Patch 7.0.008 -Problem: Can't call a function that uses both <SID> and {expr}. (Thomas) -Solution: Check both the expanded and unexpanded name for <SID>. -Files: src/eval.c - -Patch 7.0.009 -Problem: ml_get errors with both 'sidescroll' and 'spell' set. -Solution: Use ml_get_buf() instead of ml_get(), get the line from the right - buffer, not the current one. -Files: src/spell.c - -Patch 7.0.010 -Problem: The spellfile plugin required typing login name and password. -Solution: Use "anonymous" and "vim7user" by default. No need to setup a - .netrc file. -Files: runtime/autoload/spellfile.vim - -Patch 7.0.011 -Problem: Can't compile without the folding and with the eval feature. -Solution: Add an #ifdef. (Vallimar) -Files: src/option.c - -Patch 7.0.012 -Problem: Using the matchparen plugin, moving the cursor in Insert mode to a - shorter line that ends in a brace, changes the preferred column -Solution: Use winsaveview()/winrestview() instead of getpos()/setpos(). -Files: runtime/plugin/matchparen.vim - -Patch 7.0.013 -Problem: Insert mode completion: using CTRL-L to add an extra character - also deselects the current match, making it impossible to use - CTRL-L a second time. -Solution: Keep the current match. Also make CTRL-L work at the original - text, using the first displayed match. -Files: src/edit.c - -Patch 7.0.014 -Problem: Compiling gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe) -Solution: Disable some code for Motif 1.2 and older. -Files: src/gui_xmebw.c - -Patch 7.0.015 -Problem: Athena: compilation problems with modern compiler. -Solution: Avoid type casts for lvalue. (Alexey Froloff) -Files: src/gui_at_fs.c - -Patch 7.0.016 -Problem: Printing doesn't work for "dec-mcs" encoding. -Solution: Add "dec-mcs", "mac-roman" and "hp-roman8" to the list of - recognized 8-bit encodings. (Mike Williams) -Files: src/mbyte.c - -Patch 7.0.017 (after 7.0.014) -Problem: Linking gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe) -Solution: Adjust defines for Motif 1.2 and older. -Files: src/gui_xmebw.c - -Patch 7.0.018 -Problem: VMS: plugins are not loaded on startup. -Solution: Remove "**" from the path. (Zoltan Arpadffy) -Files: src/main.c - -Patch 7.0.019 -Problem: Repeating "VjA789" may cause a crash. (James Vega) -Solution: Check the cursor column after moving it to another line. -Files: src/ops.c - -Patch 7.0.020 -Problem: Crash when using 'mousefocus'. (William Fulton) -Solution: Make buffer for mouse coordinates 2 bytes longer. (Juergen Weigert) -Files: src/gui.c - -Patch 7.0.021 -Problem: Crash when using "\\[" and "\\]" in 'errorformat'. (Marc Weber) -Solution: Check for valid submatches after matching the pattern. -Files: src/quickfix.c - -Patch 7.0.022 -Problem: Using buffer.append() in Ruby may append the line to the wrong - buffer. (Alex Norman) -Solution: Properly switch to the buffer to do the appending. Also for - buffer.delete() and setting a buffer line. -Files: src/if_ruby.c - -Patch 7.0.023 -Problem: Crash when doing spell completion in an empty line and pressing - CTRL-E. -Solution: Check for a zero pointer. (James Vega) - Also handle a situation without a matching pattern better, report - "No matches" instead of remaining in undefined CTRL-X mode. And - get out of CTRL-X mode when typing a letter. -Files: src/edit.c - -Patch 7.0.024 -Problem: It is possible to set arbitrary "v:" variables. -Solution: Disallow setting "v:" variables that are not predefined. -Files: src/eval.c - -Patch 7.0.025 -Problem: Crash when removing an element of a:000. (Nikolai Weibull) -Solution: Mark the a:000 list with VAR_FIXED. -Files: src/eval.c - -Patch 7.0.026 -Problem: Using libcall() may show an old error. -Solution: Invoke dlerror() to clear a previous error. (Yukihiro Nakadaira) -Files: src/os_unix.c - -Patch 7.0.027 (extra) -Problem: Win32: When compiled with SNIFF gvim may hang on exit. -Solution: Translate and dispatch the WM_USER message. (Mathias Michaelis) -Files: src/gui_w48.c - -Patch 7.0.028 (extra) -Problem: OS/2: Vim doesn't compile with gcc 3.2.1. -Solution: Add argument to after_pathsep(), don't define vim_handle_signal(), - define HAVE_STDARG_H. (David Sanders) -Files: src/os_unix.c, src/vim.h, src/os_os2_cfg.h - -Patch 7.0.029 -Problem: getchar() may not position the cursor after a space. -Solution: Position the cursor explicitly. -Files: src/eval.c - -Patch 7.0.030 -Problem: The ":compiler" command can't be used in a FileChangedRO event. - (Hari Krishna Dara) -Solution: Add the CMDWIN flag to the ":compiler" command. -Files: src/ex_cmds.h - -Patch 7.0.031 -Problem: When deleting a buffer the buffer-local mappings for Select mode - remain. -Solution: Add the Select mode bit to MAP_ALL_MODES. (Edwin Steiner) -Files: src/vim.h - -Patch 7.0.032 (extra, after 7.0.027) -Problem: Missing semicolon. -Solution: Add the semicolon. -Files: src/gui_w48.c - -Patch 7.0.033 -Problem: When pasting text, with the menu or CTRL-V, autoindent is removed. -Solution: Use "x<BS>" to avoid indent to be removed. (Benji Fisher) -Files: runtime/autoload/paste.vim - -Patch 7.0.034 -Problem: After doing completion and typing more characters or using BS - repeating with "." didn't work properly. (Martin Stubenschrott) -Solution: Don't put BS and other characters in the redo buffer right away, - do this when finishing completion. -Files: src/edit.c - -Patch 7.0.035 -Problem: Insert mode completion works when typed but not when replayed from - a register. (Hari Krishna Dara) - Also: Mappings for Insert mode completion don't always work. -Solution: When finding a non-completion key in the input don't interrupt - completion when it wasn't typed. - Do use mappings when checking for typeahead while still finding - completions. Avoids that completion is interrupted too soon. - Use "compl_pending" in a different way. -Files: src/edit.c - -Patch 7.0.036 -Problem: Can't compile with small features and syntax highlighting or the - diff feature. -Solution: Define LINE_ATTR whenever syntax highlighting or the diff feature - is enabled. -Files: src/screen.c - -Patch 7.0.037 -Problem: Crash when resizing the GUI window vertically when there is a line - that doesn't fit. -Solution: Don't redraw while the screen data is invalid. -Files: src/screen.c - -Patch 7.0.038 -Problem: When calling complete() from an Insert mode expression mapping - text could be inserted in an improper way. -Solution: Make undo_allowed() global and use it in complete(). -Files: src/undo.c, src/proto/undo.pro, src/eval.c - -Patch 7.0.039 -Problem: Calling inputdialog() with a third argument in the console doesn't - work. -Solution: Make a separate function for input() and inputdialog(). (Yegappan - Lakshmanan) -Files: src/eval.c - -Patch 7.0.040 -Problem: When 'cmdheight' is larger than 1 using inputlist() or selecting - a spell suggestion with the mouse gets the wrong entry. -Solution: Start listing the first alternative on the last line of the screen. -Files: src/eval.c, src/spell.c - -Patch 7.0.041 -Problem: cursor([1, 1]) doesn't work. (Peter Hodge) -Solution: Allow leaving out the third item of the list and use zero for the - virtual column offset. -Files: src/eval.c - -Patch 7.0.042 -Problem: When pasting a block of text in Insert mode Vim hangs or crashes. - (Noam Halevy) -Solution: Avoid that the cursor is positioned past the NUL of a line. -Files: src/ops.c - -Patch 7.0.043 -Problem: Using "%!" at the start of 'statusline' doesn't work. -Solution: Recognize the special item when the option is being set. -Files: src/option.c - -Patch 7.0.044 -Problem: Perl: setting a buffer line in another buffer may result in - changing the current buffer. -Solution: Properly change to the buffer to be changed. -Files: src/if_perl.xs - -Patch 7.0.045 (extra) -Problem: Win32: Warnings when compiling OLE version with MSVC 2005. -Solution: Move including vim.h to before windows.h. (Ilya Bobir) -Files: src/if_ole.cpp - -Patch 7.0.046 -Problem: The matchparen plugin ignores parens in strings, but not in single - quotes, often marked with "character". -Solution: Also ignore parens in syntax items matching "character". -Files: runtime/plugin/matchparen.vim - -Patch 7.0.047 -Problem: When running configure the exit status is wrong. -Solution: Handle the exit status properly. (Matthew Woehlke) -Files: configure, src/configure - -Patch 7.0.048 -Problem: Writing a compressed file fails when there are parens in the name. - (Wang Jian) -Solution: Put quotes around the temp file name. -Files: runtime/autoload/gzip.vim - -Patch 7.0.049 -Problem: Some TCL scripts are not recognized. (Steven Atkinson) -Solution: Check for "exec wish" in the file. -Files: runtime/scripts.vim - -Patch 7.0.050 -Problem: After using the netbeans interface close command a stale pointer - may be used. -Solution: Clear the pointer to the closed buffer. (Xaview de Gaye) -Files: src/netbeans.c - -Patch 7.0.051 (after 7.0.44) -Problem: The Perl interface doesn't compile or doesn't work properly. -Solution: Remove the spaces before #ifdef and avoid an empty line above it. -Files: src/if_perl.xs - -Patch 7.0.052 -Problem: The user may not be aware that the Vim server allows others more - functionality than desired. -Solution: When running Vim as root don't become a Vim server without an - explicit --servername argument. -Files: src/main.c - -Patch 7.0.053 -Problem: Shortening a directory name may fail when there are multi-byte - characters. -Solution: Copy the correct bytes. (Titov Anatoly) -Files: src/misc1.c - -Patch 7.0.054 -Problem: Mac: Using a menu name that only has a mnemonic or accelerator - causes a crash. (Elliot Shank) -Solution: Check for an empty menu name. Also delete empty submenus that - were created before detecting the error. -Files: src/menu.c - -Patch 7.0.055 -Problem: ":startinsert" in a CmdwinEnter autocommand doesn't take immediate - effect. (Bradley White) -Solution: Put a NOP key in the typeahead buffer. Also avoid that using - CTRL-C to go back to the command line moves the cursor left. -Files: src/edit.c, src/ex_getln.c - -Patch 7.0.056 -Problem: "#!something" gives an error message. -Solution: Ignore this line, so that it can be used in an executable Vim - script. -Files: src/ex_docmd.c - -Patch 7.0.057 (extra, after 7.0.45) -Problem: Win32: Compilation problem with Borland C 5.5. -Solution: Include vim.h as before. (Mark S. Williams) -Files: src/if_ole.cpp - -Patch 7.0.058 -Problem: The gbk and gb18030 encodings are not recognized. -Solution: Add aliases to cp936. (Edward L. Fox) -Files: src/mbyte.c - -Patch 7.0.059 -Problem: The Perl interface doesn't compile with ActiveState Perl 5.8.8. -Solution: Remove the __attribute__() items. (Liu Yubao) -Files: src/if_perl.xs - -Patch 7.0.060 (after 7.0.51) -Problem: Code for temporarily switching to another buffer is duplicated in - quite a few places. -Solution: Use aucmd_prepbuf() and aucmd_restbuf() also when FEAT_AUTOCMD is - not defined. -Files: src/buffer.c, src/eval.c, src/fileio.c, src/if_ruby.c, - src/if_perl.xs, src/quickfix.c, src/structs.h - -Patch 7.0.061 -Problem: Insert mode completion for Vim commands may crash if there is - nothing to complete. -Solution: Instead of freeing the pattern make it empty, so that a "not - found" error is given. (Yukihiro Nakadaira) -Files: src/edit.c - -Patch 7.0.062 -Problem: Mac: Crash when using the popup menu for spell correction. The - popup menu appears twice when letting go of the right mouse button - early. -Solution: Don't show the popup menu on the release of the right mouse - button. Also check that a menu pointer is actually valid. -Files: src/proto/menu.pro, src/menu.c, src/normal.c, src/term.c - -Patch 7.0.063 -Problem: Tiny chance for a memory leak. (coverity) -Solution: Free pointer when next memory allocation fails. -Files: src/eval.c - -Patch 7.0.064 -Problem: Using uninitialized variable. (Tony Mechelynck) -Solution: When not used set "temp" to zero. Also avoid a warning for - "files" in ins_compl_dictionaries(). -Files: src/edit.c - -Patch 7.0.065 (extra) -Problem: Mac: left-right movement of the scrollwheel causes up-down - scrolling. -Solution: Ignore mouse wheel events that are not up-down. (Nicolas Weber) -Files: src/gui_mac.c - -Patch 7.0.066 -Problem: After the popup menu for Insert mode completion overlaps the tab - pages line it is not completely removed. -Solution: Redraw the tab pages line after removing the popup menu. (Ori - Avtalion) -Files: src/popupmnu.c - -Patch 7.0.067 -Problem: Undo doesn't always work properly when using "scim" input method. - Undo is split up when using preediting. -Solution: Reset xim_has_preediting also when preedit_start_col is not - MAXCOL. Don't split undo when <Left> is used while preediting. - (Yukihiro Nakadaira) -Files: src/edit.c, src/mbyte.c - -Patch 7.0.068 -Problem: When 'ignorecase' is set and using Insert mode completion, - typing characters to change the list of matches, case is not - ignored. (Hugo Ahlenius) -Solution: Store the 'ignorecase' flag with the matches where needed. -Files: src/edit.c, src/search.c, src/spell.c - -Patch 7.0.069 -Problem: Setting 'guitablabel' to %!expand(\%) causes Vim to free an - invalid pointer. (Kim Schulz) -Solution: Don't try freeing a constant string pointer. -Files: src/buffer.c - -Patch 7.0.070 -Problem: Compiler warnings for shadowed variables and uninitialized - variables. -Solution: Rename variables such as "index", "msg" and "dup". Initialize - variables. -Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c, - src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c, - src/memline.c, src/netbeans.c, src/normal.c, src/option.c, - src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c, - src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c, - src/version.c - -Patch 7.0.071 -Problem: Using an empty search pattern may cause a crash. -Solution: Avoid using a NULL pointer. -Files: src/search.c - -Patch 7.0.072 -Problem: When starting the GUI fails there is no way to adjust settings or - do something else. -Solution: Add the GUIFailed autocommand event. -Files: src/fileio.c, src/gui.c, src/vim.h - -Patch 7.0.073 -Problem: Insert mode completion: Typing <CR> sometimes selects the original - text instead of keeping what was typed. (Justin Constantino) -Solution: Don't let <CR> select the original text if there is no popup menu. -Files: src/edit.c - -Patch 7.0.074 (extra) -Problem: Win32: tooltips were not converted from 'encoding' to Unicode. -Solution: Set the tooltip to use Unicode and do the conversion. Also - cleanup the code for the tab pages tooltips. (Yukihiro Nakadaira) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.0.075 -Problem: winsaveview() did not store the actual value of the desired cursor - column. This could move the cursor in the matchparen plugin. -Solution: Call update_curswant() before using the value w_curswant. -Files: src/eval.c - -Patch 7.0.076 (after 7.0.010) -Problem: Automatic downloading of spell files only works for ftp. -Solution: Don't add login and password for non-ftp URLs. (Alexander Patrakov) -Files: runtime/autoload/spellfile.vim - -Patch 7.0.077 -Problem: ":unlet v:this_session" causes a crash. (Marius Roets) -Solution: When trying to unlet a fixed variable give an error message. -Files: src/eval.c - -Patch 7.0.078 -Problem: There are two error messages E46. -Solution: Change the number for the sandbox message to E794. -Files: src/globals.h - -Patch 7.0.079 -Problem: Russian tutor doesn't work when 'encoding' is "utf-8". -Solution: Use tutor.ru.utf-8 as the master, and generate the other encodings - from it. Select the right tutor depending on 'encoding'. (Alexey - Froloff) -Files: runtime/tutor/Makefile, runtime/tutor/tutor.vim, - runtime/tutor/tutor.ru.utf-8 - -Patch 7.0.080 -Problem: Generating auto/pathdef.c fails for CFLAGS with a backslash. -Solution: Double backslashes in the string. (Alexey Froloff) -Files: src/Makefile - -Patch 7.0.081 -Problem: Command line completion doesn't work for a shell command with an - absolute path. -Solution: Don't use $PATH when there is an absolute path. -Files: src/ex_getln.c - -Patch 7.0.082 -Problem: Calling a function that waits for input may cause List and - Dictionary arguments to be freed by the garbage collector. -Solution: Keep a list of all arguments to internal functions. -Files: src/eval.c - -Patch 7.0.083 -Problem: Clicking with the mouse on an item for inputlist() doesn't work - when 'compatible' is set and/or when 'cmdheight' is more than one. - (Christian J. Robinson) -Solution: Also decrement "lines_left" when 'more' isn't set. Set - "cmdline_row" to zero to get all mouse events. -Files: src/message.c, src/misc1.c - -Patch 7.0.084 -Problem: The garbage collector may do its work while some Lists or - Dictionaries are used internally, e.g., by ":echo" that runs into - the more-prompt or ":echo [garbagecollect()]". -Solution: Only do garbage collection when waiting for a character at the - toplevel. Let garbagecollect() set a flag that is handled at the - toplevel before waiting for a character. -Files: src/eval.c, src/getchar.c, src/globals.h, src/main.c - -Patch 7.0.085 -Problem: When doing "make test" the viminfo file is modified. -Solution: Use another viminfo file after setting 'compatible'. -Files: src/testdir/test56.in - -Patch 7.0.086 -Problem: getqflist() returns entries for pattern and text with the number - zero. Passing these to setqflist() results in the string "0". -Solution: Use an empty string instead of the number zero. -Files: src/quickfix.c - -Patch 7.0.087 -Problem: After ":file fname" and ":saveas fname" the 'autochdir' option - does not take effect. (Yakov Lerner) - Commands for handling 'autochdir' are repeated many times. -Solution: Add the DO_AUTOCHDIR macro and do_autochdir(). Use it for - ":file fname" and ":saveas fname". -Files: src/proto/buffer.pro, src/buffer.c, src/ex_cmds.c, src/macros.h, - src/netbeans.c, src/option.c, src/window.c - -Patch 7.0.088 -Problem: When compiled with Perl the generated prototypes have "extern" - unnecessarily added. -Solution: Remove the "-pipe" argument from PERL_CFLAGS. -Files: src/auto/configure, src/configure.in - -Patch 7.0.089 -Problem: "ga" does not work properly for a non-Unicode multi-byte encoding. -Solution: Only check for composing chars for utf-8. (Taro Muraoka) -Files: src/ex_cmds.c - -Patch 7.0.090 -Problem: Cancelling the conform() dialog on the console with Esc requires - typing it twice. (Benji Fisher) -Solution: When the start of an escape sequence is found use 'timeoutlen' or - 'ttimeoutlen'. -Files: src/misc1.c - -Patch 7.0.091 -Problem: Using winrestview() while 'showcmd' is set causes the cursor to be - displayed in the wrong position. (Yakov Lerner) -Solution: Set the window topline properly. -Files: src/eval.c - -Patch 7.0.092 (after 7.0.082 and 7.0.084) -Problem: The list of internal function arguments is obsolete now that - garbage collection is only done at the toplevel. -Solution: Remove the list of all arguments to internal functions. -Files: src/eval.c - -Patch 7.0.093 -Problem: The matchparen plugin can't handle a 'matchpairs' value where a - colon is matched. -Solution: Change the split() that is used to change 'matchpairs' into a - List. -Files: runtime/plugin/matchparen.vim - -Patch 7.0.094 -Problem: When a hidden buffer is made the current buffer and another file - edited later, the file message will still be given. Using - ":silent" also doesn't prevent the file message. (Marvin Renich) -Solution: Reset the need_fileinfo flag when reading a file. Don't set - need_fileinfo when msg_silent is set. -Files: src/buffer.c, src/fileio.c - -Patch 7.0.095 -Problem: The Greek tutor is not available in utf-8. "el" is used for the - language, only "gr" for the country is recognized. -Solution: Add the utf-8 Greek tutor. Use it for conversion to iso-8859-7 - and cp737. (Lefteris Dimitroulakis) -Files: runtime/tutor/Makefile, runtime/tutor/tutor.gr.utf-8, - runtime/tutor/tutor.vim - -Patch 7.0.096 -Problem: taglist() returns the filename relative to the tags file, while - the directory of the tags file is unknown. (Hari Krishna Dara) -Solution: Expand the file name. (Yegappan Lakshmanan) -Files: src/tag.c - -Patch 7.0.097 -Problem: ":tabclose N" that closes another tab page does not remove the tab - pages line. Same problem when using the mouse. -Solution: Adjust the tab pages line when needed in tabpage_close_other(). -Files: src/ex_docmd.c - -Patch 7.0.098 -Problem: Redirecting command output in a cmdline completion function - doesn't work. (Hari Krishna Dara) -Solution: Enable redirection when redirection is started. -Files: src/ex_docmd.c, src/ex_getln.c - -Patch 7.0.099 -Problem: GUI: When the popup menu is visible using the scrollbar messes up - the display. -Solution: Disallow scrolling the current window. Redraw the popup menu - after scrolling another window. -Files: src/gui.c - -Patch 7.0.100 -Problem: "zug" may report the wrong filename. (Lawrence Kesteloot) -Solution: Call home_replace() to fill NameBuff[]. -Files: src/spell.c - -Patch 7.0.101 -Problem: When the "~/.vim/spell" directory does not exist "zg" may create - a wrong directory. "zw" doesn't work. -Solution: Use the directory of the file name instead of NameBuff. For "zw" - not only remove a good word but also add the word with "!". -Files: src/spell.c - -Patch 7.0.102 -Problem: Redrawing cmdline is not correct when using SCIM. -Solution: Don't call im_get_status(). (Yukihiro Nakadaira) -Files: src/ex_getln.c - -Patch 7.0.103 (after 7.0.101) -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Init variable. -Files: src/spell.c - -Patch 7.0.104 -Problem: The CursorHoldI event only triggers once in Insert mode. It also - triggers after CTRL-V and other two-key commands. -Solution: Set "did_cursorhold" before getting a second key. Reset - "did_cursorhold" after handling a command. -Files: src/edit.c, src/fileio.c - -Patch 7.0.105 -Problem: When using incremental search the statusline ruler isn't updated. - (Christoph Koegl) -Solution: Update the statusline when it contains the ruler. -Files: src/ex_getln.c - -Patch 7.0.106 -Problem: The spell popup menu uses ":amenu", triggering mappings. Other - PopupMenu autocommands are removed. (John Little) -Solution: Use ":anoremenu" and use an autocmd group. -Files: runtime/menu.vim - -Patch 7.0.107 -Problem: Incremental search doesn't redraw the text tabline. (Ilya Bobir) - Also happens in other situations with one window in a tab page. -Solution: Redraw the tabline after clearing the screen. -Files: src/screen.c - -Patch 7.0.108 (extra) -Problem: Amiga: Compilation problem. -Solution: Have mch_mkdir() return a failure flag. (Willy Catteau) -Files: src/os_amiga.c, src/proto/os_amiga.pro - -Patch 7.0.109 -Problem: Lisp indenting is confused by escaped quotes in strings. (Dorai - Sitaram) -Solution: Check for backslash inside strings. (Sergey Khorev) -Files: src/misc1.c - -Patch 7.0.110 -Problem: Amiga: Compilation problems when not using libnix. -Solution: Change a few #ifdefs. (Willy Catteau) -Files: src/memfile.c - -Patch 7.0.111 -Problem: The gzip plugin can't handle filenames with single quotes. -Solution: Add and use the shellescape() function. (partly by Alexey Froloff) -Files: runtime/autoload/gzip.vim, runtime/doc/eval.txt, src/eval.c, - src/mbyte.c, src/misc2.c, src/proto/misc2.pro - -Patch 7.0.112 -Problem: Python interface does not work with Python 2.5. -Solution: Change PyMem_DEL() to Py_DECREF(). (Sumner Hayes) -Files: src/if_python.c - -Patch 7.0.113 -Problem: Using CTRL-L in Insert completion when there is no current match - may cause a crash. (Yukihiro Nakadaira) -Solution: Check for compl_leader to be NULL -Files: src/edit.c - -Patch 7.0.114 -Problem: When aborting an insert with CTRL-C an extra undo point is - created in the GUI. (Yukihiro Nakadaira) -Solution: Call gotchars() only when advancing. -Files: src/getchar.c - -Patch 7.0.115 -Problem: When 'ignorecase' is set, Insert mode completion only adds "foo" - and not "Foo" when both are found. - A found match isn't displayed right away when 'completeopt' does - not have "menu" or "menuone". -Solution: Do not ignore case when checking if a completion match already - exists. call ins_compl_check_keys() also when not using a popup - menu. (Yukihiro Nakadaira) -Files: src/edit.c - -Patch 7.0.116 -Problem: 64 bit Windows version reports "32 bit" in the ":version" output. - (M. Veerman) -Solution: Change the text for Win64. -Files: src/version.c - -Patch 7.0.117 -Problem: Using "extend" on a syntax item inside a region with "keepend", an - intermediate item may be truncated. - When applying the "keepend" and there is an offset to the end - pattern the highlighting of a contained item isn't adjusted. -Solution: Use the seen_keepend flag to remember when to apply the "keepend" - flag. Adjust the keepend highlighting properly. (Ilya Bobir) -Files: src/syntax.c - -Patch 7.0.118 -Problem: printf() does not do zero padding for strings. -Solution: Do allow zero padding for strings. -Files: src/message.c - -Patch 7.0.119 -Problem: When going back from Insert to Normal mode the CursorHold event - doesn't trigger. (Yakov Lerner) -Solution: Reset "did_cursorhold" when leaving Insert mode. -Files: src/edit.c - -Patch 7.0.120 -Problem: Crash when using CTRL-R = at the command line and entering - "getreg('=')". (James Vega) -Solution: Avoid recursiveness of evaluating the = register. -Files: src/ops.c - -Patch 7.0.121 -Problem: GUI: Dragging the last status line doesn't work when there is a - text tabline. (Markus Wolf) -Solution: Take the text tabline into account when deciding to start modeless - selection. -Files: src/gui.c - -Patch 7.0.122 -Problem: GUI: When clearing after a bold, double-wide character half a - character may be drawn. -Solution: Check for double-wide character and redraw it. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.0.123 -Problem: On SCO Openserver configure selects the wrong terminal library. -Solution: Put terminfo before the other libraries. (Roger Cornelius) - Also fix a small problem compiling on Mac without Darwin. -Files: src/configure.in, src/auto/configure - -Patch 7.0.124 -Problem: getwinvar() obtains a dictionary with window-local variables, but - it's always for the current window. -Solution: Get the variables of the specified window. (Geoff Reedy) -Files: src/eval.c - -Patch 7.0.125 -Problem: When "autoselect" is in the 'clipboard' option then the '< and '> - marks are set while Visual mode is still active. -Solution: Don't set the '< and '> marks when yanking the selected area for - the clipboard. -Files: src/normal.c - -Patch 7.0.126 -Problem: When 'formatexpr' uses setline() and later internal formatting is - used undo information is not correct. (Jiri Cerny, Benji Fisher) -Solution: Set ins_need_undo after using 'formatexpr'. -Files: src/edit.c - -Patch 7.0.127 -Problem: Crash when swap files has invalid timestamp. -Solution: Check return value of ctime() for being NULL. -Files: src/memline.c - -Patch 7.0.128 -Problem: GUI: when closing gvim is cancelled because there is a changed - buffer the screen isn't updated to show the changed buffer in the - current window. (Krzysztof Kacprzak) -Solution: Redraw when closing gvim is cancelled. -Files: src/gui.c - -Patch 7.0.129 -Problem: GTK GUI: the GTK file dialog can't handle a relative path. -Solution: Make the initial directory a full path before passing it to GTK. - (James Vega) Also postpone adding the default file name until - after setting the directory. -Files: src/gui_gtk.c - -Patch 7.0.130 (extra) -Problem: Win32: Trying to edit or write devices may cause Vim to get stuck. -Solution: Add the 'opendevice' option, default off. Disallow - reading/writing from/to devices when it's off. - Also detect more devices by the full name starting with "\\.\". -Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h, - src/os_win32.c - -Patch 7.0.131 -Problem: Win32: "vim -r" does not list all the swap files. -Solution: Also check for swap files starting with a dot. -Files: src/memline.c - -Patch 7.0.132 (after 7.0.130) -Problem: Win32: Crash when Vim reads from stdin. -Solution: Only use mch_nodetype() when there is a file name. -Files: src/fileio.c - -Patch 7.0.133 -Problem: When searching included files messages are added to the history. -Solution: Set msg_hist_off for messages about scanning included files. - Set msg_silent to avoid message about wrapping around. -Files: src/edit.c, src/globals.h, src/message.c, src/search.c - -Patch 7.0.134 -Problem: Crash when comparing a recursively looped List or Dictionary. -Solution: Limit recursiveness for comparing to 1000. -Files: src/eval.c - -Patch 7.0.135 -Problem: Crash when garbage collecting list or dict with loop. -Solution: Don't use DEL_REFCOUNT but don't recurse into Lists and - Dictionaries when freeing them in the garbage collector. - Also add allocated Dictionaries to the list of Dictionaries to - avoid leaking memory. -Files: src/eval.c, src/proto/eval.pro, src/tag.c - -Patch 7.0.136 -Problem: Using "O" while matching parens are highlighted may not remove the - highlighting. (Ilya Bobir) -Solution: Also trigger CursorMoved when a line is inserted under the cursor. -Files: src/misc1.c - -Patch 7.0.137 -Problem: Configure check for big features is wrong. -Solution: Change "==" to "=". (Martti Kuparinen) -Files: src/auto/configure, src/configure.in - -Patch 7.0.138 (extra) -Problem: Mac: modifiers don't work with function keys. -Solution: Use GetEventParameter() to obtain modifiers. (Nicolas Weber) -Files: src/gui_mac.c - -Patch 7.0.139 -Problem: Using CTRL-PageUp or CTRL-PageDown in Insert mode to go to another - tab page does not prepare for undo properly. (Stefano Zacchiroli) -Solution: Call start_arrow() before switching tab page. -Files: src/edit.c - -Patch 7.0.140 (after 7.0.134) -Problem: Comparing recursively looped List or Dictionary doesn't work well. -Solution: Detect comparing a List or Dictionary with itself. -Files: src/eval.c - -Patch 7.0.141 -Problem: When pasting a while line on the command line an extra CR is added - literally. -Solution: Don't add the trailing CR when pasting with the mouse. -Files: src/ex_getln.c, src/proto/ops.pro, src/ops.c - -Patch 7.0.142 -Problem: Using the middle mouse button in Select mode to paste text results - in an extra "y". (Kriton Kyrimis) -Solution: Let the middle mouse button replace the selected text with the - contents of the clipboard. -Files: src/normal.c - -Patch 7.0.143 -Problem: Setting 'scroll' to its default value was not handled correctly. -Solution: Compare the right field to PV_SCROLL. -Files: src/option.c - -Patch 7.0.144 -Problem: May compare two unrelated pointers when matching a pattern against - a string. (Dominique Pelle) -Solution: Avoid calling reg_getline() when REG_MULTI is false. -Files: src/regexp.c - -Patch 7.0.145 (after 7.0.142) -Problem: Compiler warning. -Solution: Add type cast. -Files: src/normal.c - -Patch 7.0.146 -Problem: When 'switchbuf' is set to "usetab" and the current tab has only a - quickfix window, jumping to an error always opens a new window. - Also, when the buffer is open in another tab page it's not found. -Solution: Check for the "split" value of 'switchbuf' properly. Search in - other tab pages for the desired buffer. (Yegappan Lakshmanan) -Files: src/buffer.c, src/quickfix.c - -Patch 7.0.147 -Problem: When creating a session file and there are several tab pages and - some windows have a local directory a short file name may be used - when it's not valid. (Marius Roets) - A session with multiple tab pages may result in "No Name" buffers. - (Bill McCarthy) -Solution: Don't enter tab pages when going through the list, only use a - pointer to the first window in each tab page. - Use "tabedit" instead of "tabnew | edit" when possible. -Files: src/ex_docmd.c - -Patch 7.0.148 -Problem: When doing "call a.xyz()" and "xyz" does not exist in dictionary - "a" there is no error message. (Yegappan Lakshmanan) -Solution: Add the error message. -Files: src/eval.c - -Patch 7.0.149 -Problem: When resizing a window that shows "~" lines the text sometimes - jumps down. -Solution: Remove code that uses "~" lines in some situations. Fix the - computation of the screen line of the cursor. Also set w_skipcol - to handle very long lines. -Files: src/misc1.c, src/window.c - -Patch 7.0.150 -Problem: When resizing the Vim window scrollbinding doesn't work. (Yakov - Lerner) -Solution: Do scrollbinding in set_shellsize(). -Files: src/term.c - -Patch 7.0.151 -Problem: Buttons in file dialog are not according to Gnome guidelines. -Solution: Swap Cancel and Open buttons. (Stefano Zacchiroli) -Files: src/gui_gtk.c - -Patch 7.0.152 -Problem: Crash when using lesstif 2. -Solution: Fill in the extension field. (Ben Hutchings) -Files: src/gui_xmebw.c - -Patch 7.0.153 -Problem: When using cscope and opening the temp file fails Vim crashes. - (Kaya Bekiroglu) -Solution: Check for NULL pointer returned from mch_open(). -Files: src/if_cscope.c - -Patch 7.0.154 -Problem: When 'foldnextmax' is negative Vim can hang. (James Vega) -Solution: Avoid the fold level becoming negative. -Files: src/fold.c, src/syntax.c - -Patch 7.0.155 -Problem: When getchar() returns a mouse button click there is no way to get - the mouse coordinates. -Solution: Add v:mouse_win, v:mouse_lnum and v:mouse_col. -Files: runtime/doc/eval.txt, src/eval.c, src/vim.h - -Patch 7.0.156 (extra) -Problem: Vim doesn't compile for Amiga OS 4. -Solution: Various changes for Amiga OS4. (Peter Bengtsson) -Files: src/feature.h, src/mbyte.c, src/memfile.c, src/memline.c, - src/os_amiga.c, src/os_amiga.h, src/pty.c - -Patch 7.0.157 -Problem: When a function is used recursively the profiling information is - invalid. (Mikolaj Machowski) -Solution: Put the start time on the stack instead of in the function. -Files: src/eval.c - -Patch 7.0.158 -Problem: In a C file with ":set foldmethod=syntax", typing {<CR> on the - last line results in the cursor being in a closed fold. (Gautam - Iyer) -Solution: Open fold after inserting a new line. -Files: src/edit.c - -Patch 7.0.159 -Problem: When there is an I/O error in the swap file the cause of the error - cannot be seen. -Solution: Use PERROR() instead of EMSG() where possible. -Files: src/memfile.c - -Patch 7.0.160 -Problem: ":@a" echoes the command, Vi doesn't do that. -Solution: Set the silent flag in the typeahead buffer to avoid echoing the - command. -Files: src/ex_docmd.c, src/normal.c, src/ops.c, src/proto/ops.pro - -Patch 7.0.161 -Problem: Win32: Tab pages line popup menu isn't using the right encoding. - (Yongwei Wu) -Solution: Convert the text when necessary. Also fixes the Find/Replace - dialog title. (Yegappan Lakshmanan) -Files: src/gui_w48.c - -Patch 7.0.162 -Problem: "vim -o a b" when file "a" triggers the ATTENTION dialog, - selecting "Quit" exits Vim instead of editing "b" only. - When file "b" triggers the ATTENTION dialog selecting "Quit" or - "Abort" results in editing file "a" in that window. -Solution: When selecting "Abort" exit Vim. When selecting "Quit" close the - window. Also avoid hit-enter prompt when selecting Abort. -Files: src/buffer.c, src/main.c - -Patch 7.0.163 -Problem: Can't retrieve the position of a sign after it was set. -Solution: Add the netbeans interface getAnno command. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/netbeans.c - -Patch 7.0.164 -Problem: ":redir @+" doesn't work. -Solution: Accept "@+" just like "@*". (Yegappan Lakshmanan) -Files: src/ex_docmd.c - -Patch 7.0.165 -Problem: Using CTRL-L at the search prompt adds a "/" and other characters - without escaping, causing the pattern not to match. -Solution: Escape special characters with a backslash. -Files: src/ex_getln.c - -Patch 7.0.166 -Problem: Crash in cscope code when connection could not be opened. - (Kaya Bekiroglu) -Solution: Check for the file descriptor to be NULL. -Files: src/if_cscope.c - -Patch 7.0.167 -Problem: ":function" redefining a dict function doesn't work properly. - (Richard Emberson) -Solution: Allow a function name to be a number when it's a function - reference. -Files: src/eval.c - -Patch 7.0.168 -Problem: Using uninitialized memory and memory leak. (Dominique Pelle) -Solution: Use alloc_clear() instead of alloc() for w_lines. Free - b_ml.ml_stack after recovery. -Files: src/memline.c, src/window.c - -Patch 7.0.169 -Problem: With a Visual block selection, with the cursor in the left upper - corner, pressing "I" doesn't remove the highlighting. (Guopeng - Wen) -Solution: When checking if redrawing is needed also check if Visual - selection is still active. -Files: src/screen.c - -Patch 7.0.170 (extra) -Problem: Win32: Using "gvim --remote-tab foo" when gvim is minimized while - it previously was maximized, un-maximizing doesn't work properly. - And the labels are not displayed properly when 'encoding' is - utf-8. -Solution: When minimized check for SW_SHOWMINIMIZED. When updating the tab - pages line use TCM_SETITEMW instead of TCM_INSERTITEMW. (Liu - Yubao) -Files: src/gui_w48.c - -Patch 7.0.171 (extra) -Problem: VMS: A file name with multiple paths is written in the wrong file. -Solution: Get the actually used file name. (Zoltan Arpadffy) - Also add info to the :version command about compilation. -Files: src/Make_vms.mms, src/buffer.c, src/os_unix.c, src/version.c - -Patch 7.0.172 -Problem: Crash when recovering and quitting at the "press-enter" prompt. -Solution: Check for "msg_list" to be NULL. (Liu Yubao) -Files: src/ex_eval.c - -Patch 7.0.173 -Problem: ":call f().TT()" doesn't work. (Richard Emberson) -Solution: When a function returns a Dictionary or another composite continue - evaluating what follows. -Files: src/eval.c - -Patch 7.0.174 -Problem: ":mksession" doesn't restore window layout correctly in tab pages - other than the current one. (Zhibin He) -Solution: Use the correct topframe for producing the window layout commands. -Files: src/ex_docmd.c - -Patch 7.0.175 -Problem: The result of tr() is missing the terminating NUL. (Ingo Karkat) -Solution: Add the NUL. -Files: src/eval.c - -Patch 7.0.176 -Problem: ":emenu" isn't executed directly, causing the encryption key - prompt to fail. (Life Jazzer) -Solution: Fix wrong #ifdef. -Files: src/menu.c - -Patch 7.0.177 -Problem: When the press-enter prompt gets a character from a non-remappable - mapping, it's put back in the typeahead buffer as remappable, - which may cause an endless loop. -Solution: Restore the non-remappable flag and the silent flag when putting a - char back in the typeahead buffer. -Files: src/getchar.c, src/message.c, src/normal.c - -Patch 7.0.178 -Problem: When 'enc' is "utf-8" and 'ignorecase' is set the result of ":echo - ("\xe4" == "\xe4")" varies. -Solution: In mb_strnicmp() avoid looking past NUL bytes. -Files: src/mbyte.c - -Patch 7.0.179 -Problem: Using ":recover" or "vim -r" without a swapfile crashes Vim. -Solution: Check for "buf" to be unequal NULL. (Yukihiro Nakadaira) -Files: src/memline.c - -Patch 7.0.180 (extra, after 7.0.171) -Problem: VMS: build failed. Problem with swapfiles. -Solution: Add "compiled_arch". Always expand path and pass it to - buf_modname(). (Zoltan Arpadffy) -Files: src/globals.h, src/memline.c, src/os_unix.c, runtime/menu.vim - -Patch 7.0.181 -Problem: When reloading a file that starts with an empty line, the reloaded - buffer has an extra empty line at the end. (Motty Lentzitzky) -Solution: Delete all lines, don't use bufempty(). -Files: src/fileio.c - -Patch 7.0.182 -Problem: When using a mix of undo and "g-" it may no longer be possible to - go to every point in the undo tree. (Andy Wokula) -Solution: Correctly update pointers in the undo tree. -Files: src/undo.c - -Patch 7.0.183 -Problem: Crash in ":let" when redirecting to a variable that's being - displayed. (Thomas Link) -Solution: When redirecting to a variable only do the assignment when - stopping redirection to avoid that setting the variable causes a - freed string to be accessed. -Files: src/eval.c - -Patch 7.0.184 -Problem: When the cscope program is called "mlcscope" the Cscope interface - doesn't work. -Solution: Accept "\S*cscope:" instead of "cscope:". (Frodak D. Baksik) -Files: src/if_cscope.c - -Patch 7.0.185 -Problem: Multi-byte characters in a message are displayed with attributes - from what comes before it. -Solution: Don't use the attributes for a multi-byte character. Do use - attributes for special characters. (Yukihiro Nakadaira) -Files: src/message.c - -Patch 7.0.186 -Problem: Get an ml_get error when 'encoding' is "utf-8" and searching for - "/\_s*/e" in an empty buffer. (Andrew Maykov) -Solution: Don't try getting the line just below the last line. -Files: src/search.c - -Patch 7.0.187 -Problem: Can't source a remote script properly. -Solution: Add the SourceCmd event. (Charles Campbell) -Files: runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h - -Patch 7.0.188 (after 7.0.186) -Problem: Warning for wrong pointer type. -Solution: Add a type cast. -Files: src/search.c - -Patch 7.0.189 -Problem: Translated message about finding matches is truncated. (Yukihiro - Nakadaira) -Solution: Enlarge the buffer. Also use vim_snprintf(). -Files: src/edit.c - -Patch 7.0.190 -Problem: "syntax spell default" results in an error message. -Solution: Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado) -Files: src/syntax.c - -Patch 7.0.191 -Problem: The items used by getqflist() and setqflist() don't match. -Solution: Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan) -Files: runtime/doc/eval.txt, src/quickfix.c - -Patch 7.0.192 -Problem: When 'swapfile' is switched off in an empty file it is possible - that not all blocks are loaded into memory, causing ml_get errors - later. -Solution: Rename "dont_release" to "mf_dont_release" and also use it to - avoid using the cached line and locked block. -Files: src/globals.h, src/memfile.c, src/memline.c - -Patch 7.0.193 -Problem: Using --remote or --remote-tab with an argument that matches - 'wildignore' causes a crash. -Solution: Check the argument count before using ARGLIST[0]. -Files: src/ex_cmds.c - -Patch 7.0.194 -Problem: Once an ml_get error is given redrawing part of the screen may - cause it again, resulting in an endless loop. -Solution: Don't give the error message for a recursive call. -Files: src/memline.c - -Patch 7.0.195 -Problem: When a buffer is modified and 'autowriteall' is set, ":quit" - results in an endless loop when there is a conversion error while - writing. (Nikolai Weibull) -Solution: Make autowrite() return FAIL if the buffer is still changed after - writing it. - /* put the cursor on the last char, for 'tw' formatting */ -Files: src/ex_cmds2.c - -Patch 7.0.196 -Problem: When using ":vert ball" the computation of the mouse pointer - position may be off by one column. (Stefan Karlsson) -Solution: Recompute the frame width when moving the vertical separator from - one window to another. -Files: src/window.c - -Patch 7.0.197 (extra) -Problem: Win32: Compiling with EXITFREE doesn't work. -Solution: Adjust a few #ifdefs. (Alexei Alexandrof) -Files: src/misc2.c, src/os_mswin.c - -Patch 7.0.198 (extra) -Problem: Win32: Compiler warnings. No need to generate gvim.exe.mnf. -Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly) -Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c - -Patch 7.0.199 -Problem: When using multi-byte characters the combination of completion and - formatting may result in a wrong cursor position. -Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro - Nakadaira) Also check for the column to be zero. -Files: src/edit.c - -Patch 7.0.200 -Problem: Memory leaks when out of memory. -Solution: Free the memory. -Files: src/edit.c, src/diff.c - -Patch 7.0.201 -Problem: Message for ":diffput" about buffer not being in diff mode may be - wrong. -Solution: Check for buffer in diff mode but not modifiable. -Files: src/diff.c - -Patch 7.0.202 -Problem: Problems on Tandem systems while compiling and at runtime. -Solution: Recognize root uid is 65535. Check select() return value for it - not being supported. Avoid wrong function prototypes. Mention - use of -lfloss. (Matthew Woehlke) -Files: src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c, - src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c, - src/vim.h - -Patch 7.0.203 -Problem: 0x80 characters in a register are not handled correctly for the - "@" command. -Solution: Escape CSI and 0x80 characters. (Yukihiro Nakadaira) -Files: src/ops.c - -Patch 7.0.204 -Problem: Cscope: Parsing matches for listing isn't done properly. -Solution: Check for line number being found. (Yu Zhao) -Files: src/if_cscope.c - -Patch 7.0.205 (after 7.0.203) -Problem: Can't compile. -Solution: Always include the vim_strsave_escape_csi function. -Files: src/getchar.c - -Patch 7.0.206 (after 7.0.058) -Problem: Some characters of the "gb18030" encoding are not handled - properly. -Solution: Do not use "cp936" as an alias for "gb18030" encoding. Instead - initialize 'encoding' to "cp936". -Files: src/mbyte.c, src/option.c - -Patch 7.0.207 -Problem: After patch 2.0.203 CSI and K_SPECIAL characters are escaped when - recorded and then again when the register is executed. -Solution: Remove escaping before putting the recorded characters in a - register. (Yukihiro Nakadaira) -Files: src/getchar.c, src/ops.c, src/proto/getchar.pro - -Patch 7.0.208 (after 7.0.171 and 7.0.180) -Problem: VMS: changes to path handling cause more trouble than they solve. -Solution: Revert changes. -Files: src/buffer.c, src/memline.c, src/os_unix.c - -Patch 7.0.209 -Problem: When replacing a line through Python the cursor may end up beyond - the end of the line. -Solution: Check the cursor column after replacing the line. -Files: src/if_python.c - -Patch 7.0.210 -Problem: ":cbuffer" and ":lbuffer" always fail when the buffer is modified. - (Gary Johnson) -Solution: Support adding a !. (Yegappan Lakshmanan) -Files: runtime/doc/quickfix.txt, src/ex_cmds.h - -Patch 7.0.211 -Problem: With ":set cindent noai bs=0" using CTRL-U in Insert mode will - delete auto-indent. After ":set ai" it doesn't. -Solution: Also check 'cindent' being set. (Ryan Lortie) -Files: src/edit.c - -Patch 7.0.212 -Problem: The GUI can't be terminated with SIGTERM. (Mark Logan) -Solution: Use the signal protection in the GUI as in the console, allow - signals when waiting for 100 msec or longer. -Files: src/ui.c - -Patch 7.0.213 -Problem: When 'spellfile' has two regions that use the same sound folding - using "z=" will cause memory to be freed twice. (Mark Woodward) -Solution: Clear the hashtable properly so that the items are only freed once. -Files: src/spell.c - -Patch 7.0.214 -Problem: When using <f-args> in a user command it's not possible to have an - argument end in '\ '. -Solution: Change the handling of backslashes. (Yakov Lerner) -Files: runtime/doc/map.txt, src/ex_docmd.c - -Patch 7.0.215 (extra) -Problem: Mac: Scrollbar size isn't set. Context menu has disabled useless - Help entry. Call to MoreMasterPointers() is ignored. -Solution: Call SetControlViewSize() in gui_mch_set_scrollbar_thumb(). Use - kCMHelpItemRemoveHelp for ContextualMenuSelect(). Remove call to - MoreMasterPointers(). (Nicolas Weber) -Files: src/gui_mac.c - -Patch 7.0.216 -Problem: ":tab wincmd ]" does not open a tab page. (Tony Mechelynck) -Solution: Copy the cmdmod.tab value to postponed_split_tab and use it. -Files: src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c - -Patch 7.0.217 -Problem: This hangs when pressing "n": ":%s/\n/,\r/gc". (Ori Avtalion) -Solution: Set "skip_match" to advance to the next line. -Files: src/ex_cmds.c - -Patch 7.0.218 -Problem: "%B" in 'statusline' always shows zero in Insert mode. (DervishD) -Solution: Remove the exception for Insert mode, check the column for being - valid instead. -Files: src/buffer.c - -Patch 7.0.219 -Problem: When using the 'editexisting.vim' script and a file is being - edited in another tab page the window is split. The "+123" - argument is not used. -Solution: Make the tab page with the file the current tab page. Set - v:swapcommand when starting up to the first "+123" or "-c" command - line argument. -Files: runtime/macros/editexisting.vim, src/main.c - -Patch 7.0.220 -Problem: Crash when using winnr('#') in a new tab page. (Andy Wokula) -Solution: Check for not finding the window. -Files: src/eval.c - -Patch 7.0.221 -Problem: finddir() uses 'path' by default, where "." means relative to the - current file. But it works relative to the current directory. - (Tye Zdrojewski) -Solution: Add the current buffer name to find_file_in_path_option() for the - relative file name. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.0.222 -Problem: Perl indenting using 'cindent' works almost right. -Solution: Recognize '#' to start a comment. (Alex Manoussakis) Added '#' - flag in 'cinoptions'. -Files: runtime/doc/indent.txt, src/misc1.c - -Patch 7.0.223 -Problem: Unprintable characters in completion text mess up the popup menu. - (Gombault Damien) -Solution: Use strtrans() to make the text printable. -Files: src/charset.c, src/popupmnu.c - -Patch 7.0.224 -Problem: When expanding "##" spaces are escaped twice. (Pavol Juhas) -Solution: Don't escape the spaces that separate arguments. -Files: src/eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro - -Patch 7.0.225 -Problem: When using setline() in an InsertEnter autocommand and doing "A" - the cursor ends up on the last byte in the line. (Yukihiro - Nakadaira) -Solution: Only adjust the column when using setline() for the cursor line. - Move it back to the head byte if necessary. -Files: src/eval.c, src/misc2.c - -Patch 7.0.226 -Problem: Display flickering when updating signs through the netbeans - interface. (Xavier de Gaye) -Solution: Remove the redraw_later(CLEAR) call. -Files: src/netbeans.c - -Patch 7.0.227 -Problem: Crash when closing a window in the GUI. (Charles Campbell) -Solution: Don't call out_flush() from win_free(). -Files: src/window.c - -Patch 7.0.228 -Problem: Cygwin: problem with symlink to DOS style path. -Solution: Invoke cygwin_conv_to_posix_path(). (Luca Masini) -Files: src/os_unix.c - -Patch 7.0.229 -Problem: When 'pastetoggle' starts with Esc then pressing Esc in Insert - mode will not time out. (Jeffery Small) -Solution: Use KL_PART_KEY instead of KL_PART_MAP, so that 'ttimeout' applies - to the 'pastetoggle' key. -Files: src/getchar.c - -Patch 7.0.230 -Problem: After using ":lcd" a script doesn't know how to restore the - current directory. -Solution: Add the haslocaldir() function. (Bob Hiestand) -Files: runtime/doc/usr_41.txt, runtime/doc/eval.txt, src/eval.c - -Patch 7.0.231 -Problem: When recovering from a swap file the page size is likely to be - different from the minimum. The block used for the first page - then has a buffer of the wrong size, causing a crash when it's - reused later. (Zephaniah Hull) -Solution: Reallocate the buffer when the page size changes. Also check that - the page size is at least the minimum value. -Files: src/memline.c - -Patch 7.0.232 (extra) -Problem: Mac: doesn't support GUI tab page labels. -Solution: Add GUI tab page labels. (Nicolas Weber) -Files: src/feature.h, src/gui.c, src/gui.h, src/gui_mac.c, - src/proto/gui_mac.pro - -Patch 7.0.233 (extra) -Problem: Mac: code formatted badly. -Solution: Fix code formatting -Files: src/gui_mac.c - -Patch 7.0.234 -Problem: It's possible to use feedkeys() from a modeline. That is a - security issue, can be used for a trojan horse. -Solution: Disallow using feedkeys() in the sandbox. -Files: src/eval.c - -Patch 7.0.235 -Problem: It is possible to use writefile() in the sandbox. -Solution: Add a few more checks for the sandbox. -Files: src/eval.c - -Patch 7.0.236 -Problem: Linux 2.4 uses sysinfo() with a mem_unit field, which is not - backwards compatible. -Solution: Add an autoconf check for sysinfo.mem_unit. Let mch_total_mem() - return Kbyte to avoid overflow. -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/option.c, src/os_unix.c - -Patch 7.0.237 -Problem: For root it is recommended to not use 'modeline', but in - not-compatible mode the default is on. -Solution: Let 'modeline' default to off for root. -Files: runtime/doc/options.txt, src/option.c - -Patch 7.0.238 -Problem: Crash when ":match" pattern runs into 'maxmempattern'. (Yakov - Lerner) -Solution: Don't free the regexp program of match_hl. -Files: src/screen.c - -Patch 7.0.239 -Problem: When using local directories and tab pages ":mksession" uses a - short file name when it shouldn't. Window-local options from a - modeline may be applied to the wrong window. (Teemu Likonen) -Solution: Add the did_lcd flag, use the full path when it's set. Don't use - window-local options from the modeline when using the current - window for another buffer in ":doautoall". -Files: src/fileio.c, src/ex_docmd.c - -Patch 7.0.240 -Problem: Crash when splitting a window in the GUI. (opposite of 7.0.227) -Solution: Don't call out_flush() from win_alloc(). Also avoid this for - win_delete(). Also block autocommands while the window structure - is invalid. -Files: src/window.c - -Patch 7.0.241 -Problem: ":windo throw 'foo'" loops forever. (Andy Wokula) -Solution: Detect that win_goto() doesn't work. -Files: src/ex_cmds2.c - -Patch 7.0.242 (extra) -Problem: Win32: Using "-register" in a Vim that does not support OLE causes - a crash. -Solution: Don't use EMSG() but mch_errmsg(). Check p_go for being NULL. - (partly by Michael Wookey) -Files: src/gui_w32.c - -Patch 7.0.243 (extra) -Problem: Win32: When GvimExt is built with MSVC 2005 or later, the "Edit - with vim" context menu doesn't appear in the Windows Explorer. -Solution: Embed the linker manifest file into the resources of GvimExt.dll. - (Mathias Michaelis) -Files: src/GvimExt/Makefile - - -Fixes after Vim 7.1a BETA: - -The extra archive had CVS directories included below "farsi" and -"runtime/icons". CVS was missing the farsi icon files. - -Fix compiling with Gnome 2.18, undefine bind_textdomain_codeset. (Daniel -Drake) - -Mac: "make install" didn't copy rgb.txt. - -When editing a compressed file while there are folds caused "ml_get" errors -and some lines could be missing. When decompressing failed option values were -not restored. - - -Patch 7.1a.001 -Problem: Crash when downloading a spell file. (Szabolcs Horvat) -Solution: Avoid that did_set_spelllang() is used recursively when a new - window is opened for the download. - Also avoid wiping out the wrong buffer. -Files: runtime/autoload/spellfile.vim, src/buffer.c, src/ex_cmds.c, - src/spell.c - -Patch 7.1a.002 (extra) -Problem: Compilation error with MingW. -Solution: Check for LPTOOLTIPTEXT to be defined. -Files: src/gui_w32.c - - -Fixes after Vim 7.1b BETA: - -Made the Mzscheme interface build both with old and new versions of Mzscheme, -using an #ifdef. (Sergey Khorev) -Mzscheme interface didn't link, missing function. Changed order of libraries -in the configure script. - -Ruby interface didn't compile on Mac. Changed #ifdef. (Kevin Ballard) - -Patch 7.1b.001 (extra) -Problem: Random text in a source file. No idea how it got there. -Solution: Delete the text. -Files: src/gui_w32.c - -Patch 7.1b.002 -Problem: When 'maxmem' is large there can be an overflow in computations. - (Thomas Wiegner) -Solution: Use the same mechanism as in mch_total_mem(): first reduce the - multiplier as much as possible. -Files: src/memfile.c - -============================================================================== -VERSION 7.2 *version-7.2* *version7.2* - -This section is about improvements made between version 7.1 and 7.2. - -This is mostly a bug-fix release. The main new feature is floating point -support. |Float| - - -Changed *changed-7.2* -------- - -Changed the command line buffer name from "command-line" to "[Command Line]". - -Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr", -":lgetexpr" and ":lgetfile". They are not needed. (Yegappan Lakshmanan) - -An offset for syntax matches worked on bytes instead of characters. That is -inconsistent and can easily be done wrong. Use character offsets now. -(Yukihiro Nakadaira) - -The FileChangedShellPost event was also given when a file didn't change. -(John Little) - -When the current line is long (doesn't fit) the popup menu can't be seen. -Display it below the screen line instead of below the text line. -(Francois Ingelrest) - -Switched to autoconf version 2.62. - -Moved including fcntl.h to vim.h and removed it from all .c files. - -Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings. -Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1). - -Removed the bulgarian.vim keymap file, two more standard ones replace it. -(Boyko Bantchev) - -Increased the maximum number of tag matches for command line completion from -200 to 300. - -Renamed help file sql.txt to ft_sql.txt and ada.txt to ft_ada.txt. - - -Added *added-7.2* ------ - -New syntax files: - CUDA (Timothy B. Terriberry) - Cdrdao config (Nikolai Weibull) - Coco/R (Ashish Shukla) - Denyhosts config (Nikolai Weibull) - Dtrace script (Nicolas Weber) - Git output, commit, config, rebase, send-email (Tim Pope) - HASTE and HastePreProc (M. Tranchero) - Haml (Tim Pope) - Host conf (Nikolai Weibull) - Linden script (Timo Frenay) - MS messages (Kevin Locke) - PDF (Tim Pope) - ProMeLa (Maurizio Tranchero) - Reva Foth (Ron Aaron) - Sass (Tim Pope) - Symbian meta-makefile, MMP (Ron Aaron) - VOS CM macro (Andrew McGill) - XBL (Doug Kearns) - -New tutor files: - Made UTF-8 versions of all the tutor files. - Greek renamed from ".gr" to ".el" (Greek vs Greece). - Esperanto (Dominique Pelle) - Croatian (Paul B. Mahol) - -New filetype plugins: - Cdrdao config (Nikolai Weibull) - Debian control files (Debian Vim maintainers) - Denyhosts (Nikolai Weibull) - Dos .ini file (Nikolai Weibull) - Dtrace script (Nicolas Weber) - FnameScript (Nikolai Weibull) - Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope) - Haml (Tim Pope) - Host conf (Nikolai Weibull) - Host access (Nikolai Weibull) - Logtalk (Paulo Moura) - MS messages (Kevin Locke) - NSIS script (Nikolai Weibull) - PDF (Tim Pope) - Reva Forth (Ron Aaron) - Sass (Tim Pope) - -New indent files: - DTD (Nikolai Weibull) - Dtrace script (Nicolas Weber) - Erlang (Csaba Hoch) - FrameScript (Nikolai Weibull) - Git config (Tim Pope) - Haml (Tim Pope) - Logtalk (Paulo Moura) - Sass (Tim Pope) - Tiny Fugue (Christian J. Robinson) - -New compiler plugins: - RSpec (Tim Pope) - -New keymap files: - Croatian (Paul B. Mahol) - Russian Dvorak (Serhiy Boiko) - Ukrainian Dvorak (Serhiy Boiko) - Removed plain Bulgarian, "bds" and phonetic are sufficient. - -Other new runtime files: - Esperanto menu and message translations. (Dominique Pelle) - Finnish menu and message translations. (Flammie Pirinen) - Brazilian Portuguese message translations. (Eduardo Dobay) - -Added floating point support. |Float| - -Added argument to mode() to return a bit more detail about the current mode. -(Ben Schmidt) - -Added support for BSD console mouse: |sysmouse|. (Paul B. Mahol) - -Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan -Lakshmanan) - -Improved error messages for the netbeans interface. (Philippe Fremy) - -Added support for using xterm mouse codes for screen. (Micah Cowan) - -Added support for cross compiling: -Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko) Fixed -mistakes in configure.in after that. -Don't use /usr/local/include and /usr/local/lib in configure. (Philip -Prindeville) -For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in -src/vim.rc. (Tsuneo Nakagawa) - -Added v:searchforward variable: What direction we're searching in. (Yakov -Lerner) - - -Fixed *fixed-7.2* ------ - -Patch 7.1.001 -Problem: Still can't build with Gnome libraries. -Solution: Fix typo in bind_textdomain_codeset. (Mike Kelly) -Files: src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 7.1.002 -Problem: Oracle Pro*C/C++ files are not detected. -Solution: Add the missing star. (Micah J. Cowan) -Files: runtime/filetype.vim - -Patch 7.1.003 (extra) -Problem: The "Tear off this menu" message appears in the message history - when using a menu. (Yongwei Wu) -Solution: Disable message history when displaying the menu tip. -Files: src/gui_w32.c - -Patch 7.1.004 -Problem: Crash when doing ":next directory". (Raphael Finkel) -Solution: Do not use "buf", it may be invalid after autocommands. -Files: src/ex_cmds.c - -Patch 7.1.005 -Problem: "cit" used on <foo></foo> deletes <foo>. Should not delete - anything and start insertion, like "ci'" does on "". (Michal - Bozon) -Solution: Handle an empty object specifically. Made it work consistent for - various text objects. -Files: src/search.c - -Patch 7.1.006 -Problem: Resetting 'modified' in a StdinReadPost autocommand doesn't work. -Solution: Set 'modified' before the autocommands instead of after it. -Files: src/buffer.c - -Patch 7.1.007 (extra) -Problem: Mac: Context menu doesn't work on Intel Macs. - Scrollbars are not dimmed when Vim is not the active application. -Solution: Remove the test whether context menus are supported. They are - always there in OS/X. Handle the dimming. (Nicolas Weber) -Files: src/gui_mac.c, src/gui.h - -Patch 7.1.008 -Problem: getfsize() returns a negative number for very big files. -Solution: Check for overflow and return -2. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.1.009 -Problem: In diff mode, displaying the difference between a tab and spaces - is not highlighted correctly. -Solution: Only change highlighting at the end of displaying a tab. -Files: src/screen.c - -Patch 7.1.010 -Problem: The Gnome session file doesn't restore tab pages. -Solution: Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio) -Files: src/gui_gtk_x11.c - -Patch 7.1.011 -Problem: Possible buffer overflow when $VIMRUNTIME is very long. (Victor - Stinner) -Solution: Use vim_snprintf(). -Files: src/main.c - -Patch 7.1.012 -Problem: ":let &shiftwidth = 'asdf'" doesn't produce an error message. -Solution: Check for a string argument. (Chris Lubinski) -Files: src/option.c - -Patch 7.1.013 -Problem: ":syn include" only loads the first file, while it is documented - as doing the equivalent of ":runtime!". -Solution: Change the argument to source_runtime(). (James Vega) -Files: src/syntax.c - -Patch 7.1.014 -Problem: Crash when doing C indenting. (Chris Monson) -Solution: Obtain the current line again after invoking cin_islabel(). -Files: src/edit.c - -Patch 7.1.015 -Problem: MzScheme interface: current-library-collection-paths produces no - list. Interface doesn't build on a Mac. -Solution: Use a list instead of a pair. (Bernhard Fisseni) Use "-framework" - argument for MZSCHEME_LIBS in configure. -Files: src/configure.in, src/if_mzsch.c, src/auto/configure - -Patch 7.1.016 (after patch 7.1.012) -Problem: Error message about setting 'diff' to a string. -Solution: Don't pass an empty string to set_option_value() when setting - 'diff'. -Files: src/quickfix.c, src/popupmnu.c - -Patch 7.1.017 -Problem: ":confirm w" does give a prompt when 'readonly' is set, but not - when the file permissions are read-only. (Michael Schaap) -Solution: Provide a dialog in both situations. (Chris Lubinski) -Files: src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro - -Patch 7.1.018 -Problem: When 'virtualedit' is set a "p" of a block just past the end of - the line inserts before the cursor. (Engelke) -Solution: Check for the cursor being just after the line (Chris Lubinski) -Files: src/ops.c - -Patch 7.1.019 -Problem: ":py" asks for an argument, ":py asd" then gives the error that - ":py" isn't implemented. Should already happen for ":py". -Solution: Compare with ex_script_ni. (Chris Lubinski) -Files: src/ex_docmd.c - -Patch 7.1.020 -Problem: Reading from uninitialized memory when using a dialog. (Dominique - Pelle) -Solution: In msg_show_console_dialog() append a NUL after every appended - character. -Files: src/message.c - -Patch 7.1.021 (after 7.1.015) -Problem: Mzscheme interface doesn't compile on Win32. -Solution: Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev) -Files: src/if_mzsch.c - -Patch 7.1.022 -Problem: When setting 'keymap' twice the b:keymap_name variable isn't set. - (Milan Berta) -Solution: Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft) -Files: src/digraph.c - -Patch 7.1.023 -Problem: "dw" in a line with one character deletes the line. Vi and nvi - don't do this. (Kjell Arne Rekaa) -Solution: Check for one-character words especially. -Files: src/search.c - -Patch 7.1.024 -Problem: Using a pointer that has become invalid. (Chris Monson) -Solution: Obtain the line pointer again after we looked at another line. -Files: src/search.c - -Patch 7.1.025 -Problem: search() and searchpos() don't use match under cursor at start of - line when using 'bc' flags. (Viktor Kojouharov) -Solution: Don't go to the previous line when the 'c' flag is present. - Also fix that "j" doesn't move the cursor to the right column. -Files: src/eval.c, src/search.c - -Patch 7.1.026 -Problem: "[p" doesn't work in Visual mode. (David Brown) -Solution: Use checkclearop() instead of checkclearopq(). -Files: src/normal.c - -Patch 7.1.027 -Problem: On Sun systems opening /dev/fd/N doesn't work, and they are used - by process substitutions. -Solution: Allow opening specific character special files for Sun systems. - (Gary Johnson) -Files: src/fileio.c, src/os_unix.h - -Patch 7.1.028 -Problem: Can't use last search pattern for ":sort". (Brian McKee) -Solution: When the pattern is empty use the last search pattern. (Martin - Toft) -Files: runtime/doc/change.txt, src/ex_cmds.c - -Patch 7.1.029 (after 7.1.019) -Problem: Can't compile when all interfaces are used. (Taylor Venable) -Solution: Only check for ex_script_ni when it's defined. -Files: src/ex_docmd.c - -Patch 7.1.030 -Problem: The "vimtutor" shell script checks for "vim6" but not for "vim7". - (Christian Robinson) -Solution: Check for more versions, but prefer using "vim". -Files: src/vimtutor - -Patch 7.1.031 -Problem: virtcol([123, '$']) doesn't work. (Michael Schaap) -Solution: When '$' is used for the column number get the last column. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.1.032 -Problem: Potential crash when editing a command line. (Chris Monson) -Solution: Check the position to avoid access before the start of an array. -Files: src/ex_getln.c - -Patch 7.1.033 -Problem: A buffer is marked modified when it was first deleted and then - added again using a ":next" command. (John Mullin) -Solution: When checking if a buffer is modified use the BF_NEVERLOADED flag. -Files: src/option.c - -Patch 7.1.034 -Problem: Win64: A few compiler warnings. Problems with optimizer. -Solution: Use int instead of size_t. Disable the optimizer in one function. - (George V. Reilly) -Files: src/eval.c, src/spell.c - -Patch 7.1.035 -Problem: After ":s/./&/#" all listed lines have a line number. (Yakov - Lerner) -Solution: Reset the line number flag when not using the "&" flag. -Files: src/ex_cmds.c - -Patch 7.1.036 -Problem: Completing ":echohl" argument should include "None". (Ori - Avtalion) ":match" should have "none" too. -Solution: Add flags to use expand_highlight(). Also fix that when disabling - FEAT_CMDL_COMPL compilation fails. (Chris Lubinski) -Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro - src/syntax.c - -Patch 7.1.037 -Problem: strcpy() used for overlapping strings. (Chris Monson) -Solution: Use mch_memmove() instead. -Files: src/option.c - -Patch 7.1.038 -Problem: When 'expandtab' is set then a Tab copied for 'copyindent' is - expanded to spaces, even when 'preserveindent' is set. (Alexei - Alexandrov) -Solution: Remove the check for 'expandtab'. Also fix that ">>" doesn't obey - 'preserveindent'. (Chris Lubinski) -Files: src/misc1.c - -Patch 7.1.039 -Problem: A tag in a help file that starts with "help-tags" and contains a - percent sign may make Vim crash. (Ulf Harnhammar) -Solution: Use puts() instead of fprintf(). -Files: src/ex_cmds.c - -Patch 7.1.040 -Problem: ":match" only supports three matches. -Solution: Add functions clearmatches(), getmatches(), matchadd(), - matchdelete() and setmatches(). Changed the data structures for - this. A small bug in syntax.c is fixed, so newly created - highlight groups can have their name resolved correctly from their - ID. (Martin Toft) -Files: runtime/doc/eval.txt, runtime/doc/pattern.txt, - runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c, - src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c, - src/testdir/Makefile, src/testdir/test63.in, - src/testdir/test63.ok, src/window.c - -Patch 7.1.041 (extra, after 7.1.040) -Problem: Some changes for patch 7.1.040 are in extra files. -Solution: Update the extra files. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.1.042 (after 7.1.040) -Problem: Internal error when using matchadd(). (David Larson) -Solution: Check the third argument to be present before using the fourth - argument. (Martin Toft) -Files: src/eval.c - -Patch 7.1.043 -Problem: In Ex mode using CTRL-D twice may cause a crash. Cursor isn't - positioned properly after CTRL-D. -Solution: Set prev_char properly. Position the cursor correctly. (Antony - Scriven) -Files: src/ex_getln.c - -Patch 7.1.044 -Problem: In Insert mode 0 CTRL-T deletes all indent, it should add indent. - (Gautam Iyer) -Solution: Check for CTRL-D typed. -Files: src/edit.c - -Patch 7.1.045 -Problem: Unnecessary screen redrawing. (Jjgod Jiang) -Solution: Reset "must_redraw" after clearing the screen. -Files: src/screen.c - -Patch 7.1.046 -Problem: ":s" command removes combining characters. (Ron Aaron) -Solution: Copy composing characters individually. (Chris Lubinski) -Files: src/regexp.c - -Patch 7.1.047 -Problem: vim_regcomp() called with invalid argument. (Xiaozhou Liu) -Solution: Change TRUE to RE_MAGIC + RE_STRING. -Files: src/ex_eval.c - -Patch 7.1.048 -Problem: The matchparen plugin doesn't update the match when scrolling with - the mouse wheel. (Ilya Bobir) -Solution: Set the match highlighting for text that can be scrolled into the - viewable area without moving the cursor. (Chris Lubinski) -Files: runtime/plugin/matchparen.vim - -Patch 7.1.049 -Problem: Cannot compile GTK2 version with Hangul input feature. -Solution: Don't define FEAT_XFONTSET when using GTK2. -Files: src/feature.h - -Patch 7.1.050 -Problem: Possible crash when using C++ indenting. (Chris Monson) -Solution: Keep the line pointer to the line to compare with. Avoid going - past the end of line. -Files: src/misc1.c - -Patch 7.1.051 -Problem: Accessing uninitialized memory when finding spell suggestions. -Solution: Don't try swapping characters at the end of a word. -Files: src/spell.c - -Patch 7.1.052 -Problem: When creating a new match not all fields are initialized, which - may lead to unpredictable results. -Solution: Initialise rmm_ic and rmm_maxcol. -Files: src/window.c - -Patch 7.1.053 -Problem: Accessing uninitialized memory when giving a message. -Solution: Check going the length before checking for a NUL byte. -Files: src/message.c - -Patch 7.1.054 -Problem: Accessing uninitialized memory when displaying the fold column. -Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in - a couple of other situations. -Files: src/screen.c - -Patch 7.1.055 -Problem: Using strcpy() with arguments that overlap. -Solution: Use mch_memmove() instead. -Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c, - src/misc1.c, src/regexp.c, src/termlib.c - -Patch 7.1.056 -Problem: More prompt does not behave correctly after scrolling back. - (Randall W. Morris) -Solution: Avoid lines_left becomes negative. (Chris Lubinski) Don't check - mp_last when deciding to show the more prompt. (Martin Toft) -Files: src/message.c - -Patch 7.1.057 -Problem: Problem with CursorHoldI when using "r" in Visual mode (Max - Dyckhoff) -Solution: Ignore CursorHold(I) when getting a second character for a Normal - mode command. Also abort the "r" command in Visual when a special - key is typed. -Files: src/normal.c - -Patch 7.1.058 -Problem: When 'rightleft' is set the completion menu is positioned wrong. - (Baha-Eddine MOKADEM) -Solution: Fix the completion menu. (Martin Toft) -Files: src/popupmnu.c, src/proto/search.pro, src/search.c - -Patch 7.1.059 -Problem: When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim - hangs and beeps. (Antony Scriven) -Solution: Clear "got_int" in the main loop to avoid the hang. When typing - CTRL-C twice in a row abort the ":g" command. This is Vi - compatible. -Files: src/main.c - -Patch 7.1.060 -Problem: Splitting quickfix window messes up window layout. (Marius - Gedminas) -Solution: Compute the window size in a smarter way. (Martin Toft) -Files: src/window.c - -Patch 7.1.061 -Problem: Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for - characters with umlaut. (Joachim Hofmann) -Solution: Do not use islower()/isupper()/tolower()/toupper() but our own - functions. (Chris Lubinski) -Files: src/mbyte.c, src/regexp.c, src/vim.h - -Patch 7.1.062 (after 7.1.038) -Problem: Indents of C comments can be wrong. (John Mullin) -Solution: Adjust ind_len. (Chris Lubinski) -Files: src/misc1.c - -Patch 7.1.063 (after 7.1.040) -Problem: Warning for uninitialized variable. -Solution: Initialise it to NULL. -Files: src/ex_docmd.c - -Patch 7.1.064 -Problem: On Interix some files appear not to exist. -Solution: Remove the top bit from st_mode. (Ligesh) -Files: src/os_unix.c - -Patch 7.1.065 (extra) -Problem: Win32: Compilation problem for newer version of w32api. -Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe) -Files: src/Make_ming.mak, src/iid_ole.c - -Patch 7.1.066 -Problem: When 'bomb' is set or reset the file should be considered - modified. (Tony Mechelynck) -Solution: Handle like 'endofline'. (Martin Toft) -Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h - -Patch 7.1.067 -Problem: 'thesaurus' doesn't work when 'infercase' is set. (Mohsin) -Solution: Don't copy the characters being completed but check the case and - apply it to the suggested word. Also fix that the first word in - the thesaurus line is not used. (Martin Toft) -Files: src/edit.c - -Patch 7.1.068 -Problem: When 'equalalways' is set and splitting a window, it's possible - that another small window gets bigger. -Solution: Only equalize window sizes when after a split the windows are - smaller than another window. (Martin Toft) -Files: runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c - -Patch 7.1.069 -Problem: GTK GUI: When using confirm() without a default button there still - is a default choice. -Solution: Ignore Enter and Space when there is no default button. (Chris - Lubinski) -Files: src/gui_gtk.c - -Patch 7.1.070 (extra) -Problem: Win32 GUI: When using confirm() without a default button there - still is a default choice. -Solution: Set focus on something else than a button. (Chris Lubinski) -Files: src/gui_w32.c - -Patch 7.1.071 (after 7.1.040) -Problem: Regexp patterns are not tested. -Solution: Add a basic test, to be expanded later. - Also add (commented-out) support for valgrind. -Files: src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.1.072 (extra, after 7.1.041 and 7.1.071) -Problem: Some changes for patch 7.1.071 are in extra files. -Solution: Update the extra files. Also fix a few warnings from the DOS test - makefile. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.1.073 (after 7.1.062) -Problem: Wrong cursor position and crash when 'preserveindent' is set. - (Charles Campbell) -Solution: Handle the situation that we start without indent. (Chris - Lubinski) -Files: src/misc1.c - -Patch 7.1.074 -Problem: Crash when calling string() on a recursively nested List. -Solution: Check result value for being NULL. (Yukihiro Nakadaira) -Files: src/eval.c - -Patch 7.1.075 -Problem: ":let v:statusmsg" reads memory already freed. -Solution: Don't set v:statusmsg when listing it. -Files: src/eval.c - -Patch 7.1.076 -Problem: Another strcpy() with overlapping arguments. -Solution: Use mch_memmove(). (Dominique Pelle) And another one. -Files: src/ex_docmd.c, src/normal.c - -Patch 7.1.077 -Problem: Using "can_spell" without initializing it. (Dominique Pelle) -Solution: Set a default for get_syntax_attr(). -Files: src/syntax.c - -Patch 7.1.078 -Problem: Dropping a file name on gvim that contains a CSI byte doesn't work - when editing the command line. -Solution: Escape the CSI byte when inserting in the input buffer. (Yukihiro - Nakadaira) -Files: src/gui.c, src/ui.c - -Patch 7.1.079 -Problem: When the locale is "C" and 'encoding' is "latin1" then the "@" - character in 'isfname', 'isprint', etc. doesn't pick up accented - characters. -Solution: Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER(). -Files: src/charset.c, src/macros.h - -Patch 7.1.080 (extra) -Problem: Compiler warnings for using "const char *" for "char *". -Solution: Add type casts. (Chris Sutcliffe) -Files: src/GvimExt/gvimext.cpp - -Patch 7.1.081 -Problem: Command line completion for a shell command: "cat </tmp/file<Tab>" - doesn't work. -Solution: Start the file name at any character that can't be in a file name. - (Martin Toft) -Files: src/ex_docmd.c - -Patch 7.1.082 -Problem: After a ":split" the matchparen highlighting isn't there. -Solution: Install a WinEnter autocommand. Also fixes that after - ":NoMatchParen" only the current window is updated. (Martin Toft) -Files: runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim - -Patch 7.1.083 (after 7.1.081) -Problem: Command line completion doesn't work with wildcards. -Solution: Add vim_isfilec_or_wc() and use it. (Martin Toft) -Files: src/charset.c, src/proto/charset.pro, src/ex_docmd.c - -Patch 7.1.084 -Problem: Using the "-nb" argument twice causes netbeans not to get - fileOpened events. -Solution: Change "&" to "&&". (Xavier de Gaye) -Files: src/ex_cmds.c - -Patch 7.1.085 -Problem: ":e fold.c" then ":sp fold.c" results in folds of original window - to disappear. (Akita Noek) -Solution: Invoke foldUpdateAll() for all windows of the changed buffer. - (Martin Toft) -Files: src/ex_cmds.c - -Patch 7.1.086 -Problem: Crash when using specific Python syntax highlighting. (Quirk) -Solution: Check for a negative index, coming from a keyword match at the - start of a line from a saved state. -Files: src/syntax.c - -Patch 7.1.087 -Problem: Reading past ":cscope find" command. Writing past end of a buffer. -Solution: Check length of the argument before using the pattern. Use - vim_strncpy(). (Dominique Pelle) -Files: if_cscope.c - -Patch 7.1.088 (extra) -Problem: The coordinates used by ":winpos" differ from what getwinposx() - and getwinposy() return. -Solution: Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry) -Files: src/gui_mac.c - -Patch 7.1.089 -Problem: ":let loaded_getscriptPlugin" doesn't clear to eol, result is - "#1in". -Solution: Clear to the end of the screen after displaying the first variable - value. -Files: src/eval.c - -Patch 7.1.090 -Problem: Compiler warning on Mac OS X 10.5. -Solution: Don't redeclare sigaltstack(). (Hisashi T Fujinaka) -Files: src/os_unix.c - -Patch 7.1.091 (extra) -Problem: Win32: Can't embed Vim inside another application. -Solution: Add the --windowid argument. (Nageshwar) -Files: runtime/doc/gui_w32.txt, runtime/doc/starting.txt, - runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c - -Patch 7.1.092 (extra, after 7.1.088) -Problem: Wrong arguments for MoveWindowStructure(). -Solution: Remove "TRUE". (Michael Henry) -Files: src/gui_mac.c - -Patch 7.1.093 -Problem: Reading past end of a screen line when determining cell width. - (Dominique Pelle) -Solution: Add an argument to mb_off2cells() for the maximum offset. -Files: src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro, - src/screen.c - -Patch 7.1.094 -Problem: When checking if syntax highlighting is present, looking in the - current buffer instead of the specified one. -Solution: Use "buf" instead of "curbuf". -Files: src/syntax.c - -Patch 7.1.095 -Problem: The FocusLost and FocusGained autocommands are triggered - asynchronously in the GUI. This may cause arbitrary problems. -Solution: Put the focus event in the input buffer and handle it when ready - for it. -Files: src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c, - src/keymap.h - -Patch 7.1.096 -Problem: Reading past end of a string when resizing Vim. (Dominique Pelle) -Solution: Check the string pointer before getting the char it points to. -Files: src/message.c - -Patch 7.1.097 -Problem: ":setlocal stl=%!1+1" does not work. -Solution: Adjust check for pointer. (Politz) -Files: src/option.c - -Patch 7.1.098 -Problem: ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula) -Solution: Before converting "s:" into a script ID, check if it is a Funcref. -Files: src/eval.c - -Patch 7.1.099 -Problem: When the 'keymap' and 'paste' options have a non-default value, - ":mkexrc" and ":mksession" do not correctly set the options. -Solution: Set the options with side effects before other options. -Files: src/option.c - -Patch 7.1.100 -Problem: Win32: Executing cscope doesn't always work properly. -Solution: Use another way to invoke cscope. (Mike Williams) -Files: src/if_cscope.c, src/if_cscope.h, src/main.c, - src/proto/if_cscope.pro - -Patch 7.1.101 -Problem: Ruby: The Buffer.line= method does not work. -Solution: Add the "self" argument to set_current_line(). (Jonathan Hankins) -Files: src/if_ruby.c - -Patch 7.1.102 -Problem: Perl interface doesn't compile with new version of Perl. -Solution: Add two variables to the dynamic library loading. (Suresh - Govindachar) -Files: src/if_perl.xs - -Patch 7.1.103 -Problem: Using "dw" with the cursor past the end of the last line (using - CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase) -Solution: Don't move the cursor back when the movement failed. -Files: src/normal.c - -Patch 7.1.104 (after 7.1.095) -Problem: When 'lazyredraw' is set a focus event causes redraw to be - postponed until a key is pressed. -Solution: Instead of not returning from vgetc() when a focus event is - encountered return K_IGNORE. Add plain_vgetc() for when the - caller doesn't want to get K_IGNORE. -Files: src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c, - src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c - -Patch 7.1.105 -Problem: Internal error when using "0 ? {'a': 1} : {}". (A.Politz) -Solution: When parsing a dictionary value without using the value, don't try - obtaining the key name. -Files: src/eval.c - -Patch 7.1.106 -Problem: ":messages" doesn't quit listing on ":". -Solution: Break the loop when "got_int" is set. -Files: src/message.c - -Patch 7.1.107 -Problem: When doing a block selection and using "s" to change the text, - while triggering auto-indenting, causes the wrong text to be - repeated in other lines. (Adri Verhoef) -Solution: Compute the change of indent and compensate for that. -Files: src/ops.c - -Patch 7.1.108 (after 7.1.100) -Problem: Win32: Compilation problems in Cscope code. (Jeff Lanzarotta) -Solution: Use (long) instead of (intptr_t) when it's not defined. -Files: src/if_cscope.c - -Patch 7.1.109 -Problem: GTK: when there are many tab pages, clicking on the arrow left of - the labels moves to the next tab page on the right. (Simeon Bird) -Solution: Check the X coordinate of the click and pass -1 as value for the - left arrow. -Files: src/gui_gtk_x11.c, src/term.c - -Patch 7.1.110 (after 7.1.102) -Problem: Win32: Still compilation problems with Perl. -Solution: Change the #ifdefs. (Suresh Govindachar) -Files: src/if_perl.xs - -Patch 7.1.111 -Problem: When using ":vimgrep" with the "j" flag folds from another buffer - may be displayed. (A.Politz) -Solution: When not jumping to another buffer update the folds. -Files: src/quickfix.c - -Patch 7.1.112 -Problem: Using input() with a wrong argument may crash Vim. (A.Politz) -Solution: Init the input() return value to NULL. -Files: src/eval.c - -Patch 7.1.113 -Problem: Using map() to go over an empty list causes memory to be freed - twice. (A.Politz) -Solution: Don't clear the typeval in restore_vimvar(). -Files: src/eval.c - -Patch 7.1.114 -Problem: Memory leak in getmatches(). -Solution: Don't increment the refcount twice. -Files: src/eval.c - -Patch 7.1.115 (after 7.1.105) -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Init variable to NULL. -Files: src/eval.c - -Patch 7.1.116 -Problem: Cannot display Unicode characters above 0x10000. -Solution: Remove the replacement with a question mark when UNICODE16 is not - defined. (partly by Nicolas Weber) -Files: src/screen.c - -Patch 7.1.117 -Problem: Can't check whether Vim was compiled with Gnome. (Tony Mechelynck) -Solution: Add gui_gnome to the has() list. -Files: src/eval.c - -Patch 7.1.118 (after 7.1.107) -Problem: Compiler warning for Visual C compiler. -Solution: Add typecast. (Mike Williams) -Files: src/ops.c - -Patch 7.1.119 -Problem: Crash when 'cmdheight' set to very large value. (A.Politz) -Solution: Limit 'cmdheight' to 'lines' minus one. Store right value of - 'cmdheight' when running out of room. -Files: src/option.c, src/window.c - -Patch 7.1.120 -Problem: Can't properly check memory leaks while running tests. -Solution: Add an argument to garbagecollect(). Delete functions and - variables in the test scripts. -Files: runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c, - src/testdir/Makefile, src/testdir/test14.in, - src/testdir/test26.in, src/testdir/test34.in, - src/testdir/test45.in, src/testdir/test47.in, - src/testdir/test49.in, src/testdir/test55.in, - src/testdir/test56.in, src/testdir/test58.in, - src/testdir/test59.in, src/testdir/test60.in, - src/testdir/test60.vim, src/testdir/test62.in, - src/testdir/test63.in, src/testdir/test64.in, - -Patch 7.1.121 -Problem: Using ":cd %:h" when editing a file in the current directory - results in an error message for using an empty string. -Solution: When "%:h" results in an empty string use ".". -Files: src/eval.c - -Patch 7.1.122 -Problem: Mac: building Vim.app fails. Using wrong architecture. -Solution: Use line continuation for the gui_bundle dependency. Detect the - system architecture with "uname -a". -Files: src/main.aap - -Patch 7.1.123 -Problem: Win32: ":edit foo ~ foo" expands "~". -Solution: Change the call to expand_env(). -Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c - -Patch 7.1.124 (extra) -Problem: Mac: When dropping a file on Vim.app that is already in the buffer - list (from .viminfo) results in editing an empty, unnamed buffer. - (Axel Kielhorn) Also: warning for unused variable. -Solution: Move to the buffer of the first argument. Delete unused variable. -Files: src/gui_mac.c - -Patch 7.1.125 -Problem: The TermResponse autocommand event is not always triggered. (Aron - Griffis) -Solution: When unblocking autocommands check if v:termresponse changed and - trigger the event then. -Files: src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c, - src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c - -Patch 7.1.126 (extra) -Problem: ":vimgrep */*" fails when a BufRead autocommand changes directory. - (Bernhard Kuhn) -Solution: Change back to the original directory after loading a file. - Also: use shorten_fname1() to avoid duplicating code. -Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c, - src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro, - src/quickfix.c - -Patch 7.1.127 -Problem: Memory leak when doing cmdline completion. (Dominique Pelle) -Solution: Free "orig" argument of ExpandOne() when it's not used. -Files: src/ex_getln.c - -Patch 7.1.128 (extra) -Problem: Build problems with new version of Cygwin. -Solution: Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen) -Files: src/Make_cyg.mak - -Patch 7.1.129 (extra) -Problem: Win32: Can't get the user name when it is longer than 15 - characters. -Solution: Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov) -Files: src/os_win32.c - -Patch 7.1.130 -Problem: Crash with specific order of undo and redo. (A.Politz) -Solution: Clear and adjust pointers properly. Add u_check() for debugging. -Files: src/undo.c, src/structs.h - -Patch 7.1.131 -Problem: ":mksession" always adds ":setlocal autoread". (Christian J. - Robinson) -Solution: Skip boolean global/local option using global value. -Files: src/option.c - -Patch 7.1.132 -Problem: getpos("'>") may return a negative column number for a Linewise - selection. (A.Politz) -Solution: Don't add one to MAXCOL. -Files: src/eval.c - -Patch 7.1.133 (after 7.1.126) -Problem: shorten_fname1() linked when it's not needed. -Solution: Add #ifdef. -Files: src/fileio.c - -Patch 7.1.134 (extra) -Problem: Win32: Can't build with VC8 -Solution: Detect the MSVC version instead of using NMAKE_VER. - (Mike Williams) -Files: src/Make_mvc.mak - -Patch 7.1.135 -Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two - buffers for the same file. (Suresh Govindachar) -Solution: Invoke FullName_save() when a path contains "//" or "\\". -Files: src/buffer.c - -Patch 7.1.136 -Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle) -Solution: Free the contained-in list. -Files: src/syntax.c - -Patch 7.1.137 -Problem: Build failure when using EXITFREE. (Dominique Pelle) -Solution: Add an #ifdef around using clip_exclude_prog. -Files: src/misc2.c - -Patch 7.1.138 -Problem: The Perl Msg() function doesn't stop when "q" is typed at the more - prompt. (Hari Krishna Dara) -Solution: Check got_int. -Files: src/if_perl.xs - -Patch 7.1.139 -Problem: When using marker folding and ending Insert mode with CTRL-C the - current fold is truncated. (Fred Kater) -Solution: Ignore got_int while updating folds. -Files: src/fold.c - -Patch 7.1.140 -Problem: v:count is set only after typing a non-digit, that makes it - difficult to make a nice mapping. -Solution: Set v:count while still typing the count. -Files: src/normal.c - -Patch 7.1.141 -Problem: GTK: -geom argument doesn't support a negative offset. -Solution: Compute position from the right/lower corner. -Files: src/gui_gtk_x11.c - -Patch 7.1.142 -Problem: ":redir @A>" doesn't work. -Solution: Ignore the extra ">" also when appending. (James Vega) -Files: src/ex_docmd.c - -Patch 7.1.143 -Problem: Uninitialized memory read when diffing three files. (Dominique - Pelle) -Solution: Remove "+ !notset" so that we don't use fields that were not - computed. -Files: src/diff.c - -Patch 7.1.144 -Problem: After ":diffup" cursor can be in the wrong position. -Solution: Force recomputing the cursor position. -Files: src/diff.c - -Patch 7.1.145 -Problem: Insert mode completion: When using the popup menu, after - completing a word and typing a non-word character Vim is still - completing the same word, following CTRL-N doesn't work. - Insert mode Completion: When using CTRL-X O and there is only - "struct." before the cursor, typing one char to reduce the - matches, then BS completion stops. -Solution: When typing a character that is not part of the item being - completed, stop complete mode. For whole line completion also - accept a space. For file name completion stop at a path - separator. - For omni completion stay in completion mode even if completing - with empty string. -Files: src/edit.c - -Patch 7.1.146 (extra) -Problem: VMS: Files with a very rare record organization (VFC) cannot be - properly written by Vim. - On older VAX systems mms runs into a syntax error. -Solution: Check for this special situation. Do not wrap a comment, make it - one long line. (Zoltan Arpadffy) -Files: src/fileio.c, src/Make_vms.mms - -Patch 7.1.147 (after 7.1.127) -Problem: Freeing memory already freed when completing user name. (Meino - Cramer) -Solution: Use a flag to remember if "orig" needs to be freed. -Files: src/ex_getln.c - -Patch 7.1.148 -Problem: Some types are not found by configure. -Solution: Test for the sys/types.h header file. (Sean Boudreau) -Files: src/configure.in, src/auto/configure - -Patch 7.1.149 -Problem: GTK GUI: When the completion popup menu is used scrolling another - window by the scrollbar is OK, but using the scroll wheel it - behaves line <Enter>. -Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu. -Files: src/edit.c, src/gui.c - -Patch 7.1.150 -Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't - work correctly. (Jianrong Yu) -Solution: When 'clipboard' has "unnamed" also obtain the selection when - getting the default register. -Files: src/ops.c - -Patch 7.1.151 -Problem: Using whole line completion with 'ignorecase' and 'infercase' set - and the line is empty get an lalloc(0) error. -Solution: Don't try changing case for an empty match. (Matthew Wozniski) -Files: src/edit.c - -Patch 7.1.152 -Problem: Display problem when 'hls' and 'cursorcolumn' are set and - searching for "$". (John Mullin) Also when scrolling - horizontally when 'wrap' is off. -Solution: Keep track of the column where highlighting was set. Check the - column offset when skipping characters. -Files: src/screen.c - -Patch 7.1.153 -Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles - Campbell) -Solution: Add type casts. Init st_dev and st_ino separately. Don't use - type casts for vim_snprintf() when HAVE_STDARG_H is defined. - Define XpmAllocColor when needed. -Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c, - src/gui_xmebw.c - -Patch 7.1.154 -Problem: Compiler warning for signed/unsigned compare. -Solution: Add type cast. -Files: src/screen.c - -Patch 7.1.155 -Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega) -Solution: When there is only one branch use u_freeheader() to delete it. -Files: src/undo.c - -Patch 7.1.156 -Problem: Overlapping arguments for strcpy() when expanding command line - variables. -Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos. - (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.1.157 -Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk) -Solution: Only give an error for an empty line, not for a comment. -Files: src/ex_docmd.c - -Patch 7.1.158 (extra) -Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the - result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding' - is "cp1250" (Lukas Cerman) -Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct - byte sequence. For cp1250, when conversion to 'encoding' results - in the 7th bit not set, set the 7th bit after conversion. -Files: src/os_win32.c, src/gui_w48.c - -Patch 7.1.159 -Problem: strcpy() has overlapping arguments. -Solution: Use mch_memmove() instead. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.1.160 -Problem: When a focus autocommand is defined, getting or losing focus - causes the hit-enter prompt to be redrawn. (Bjorn Winckler) -Solution: Overwrite the last line. -Files: src/message.c - -Patch 7.1.161 -Problem: Compilation errors with tiny features and EXITFREE. -Solution: Add #ifdefs. (Dominique Pelle) -Files: src/edit.c, src/misc2.c - -Patch 7.1.162 -Problem: Crash when using a modifier before "while" or "for". (A.Politz) -Solution: Skip modifiers when checking for a loop command. -Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c - -Patch 7.1.163 -Problem: Warning for the unknown option 'bufsecret'. -Solution: Remove the lines .vim that use this option. (Andy Wokula) -Files: runtime/menu.vim - -Patch 7.1.164 -Problem: Reading past end of regexp pattern. (Dominique Pelle) -Solution: Use utf_ptr2len(). -Files: src/regexp.c - -Patch 7.1.165 -Problem: Crash related to getting X window ID. (Dominique Pelle) -Solution: Don't trust the window ID that we got in the past, check it every - time. -Files: src/os_unix.c - -Patch 7.1.166 -Problem: Memory leak for using "gp" in Visual mode. -Solution: Free memory in put_register(). (Dominique Pelle) -Files: src/ops.c - -Patch 7.1.167 -Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789) -Solution: Allocate more memory. Fix check for maximum number of columns. -Files: src/xxd/xxd.c - -Patch 7.1.168 (extra) -Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have - focus, clicking in it doesn't position the cursor. (Juergen - Kraemer) -Solution: Don't reset s_button_pending just after receiving focus. -Files: src/gui_w48.c - -Patch 7.1.169 -Problem: Using uninitialized variable when system() fails. (Dominique - Pelle) -Solution: Let system() return an empty string when it fails. -Files: src/eval.c - -Patch 7.1.170 -Problem: Valgrind warning for overlapping arguments for strcpy(). -Solution: Use mch_memmove() instead. (Dominique Pelle) -Files: src/getchar.c - -Patch 7.1.171 -Problem: Reading one byte before allocated memory. -Solution: Check index not to become negative. (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.1.172 -Problem: When 'buftype' is "acwrite" Vim still checks if the file or - directory exists before overwriting. -Solution: Don't check for overwriting when the buffer name is not a file - name. -Files: src/ex_cmds.c - -Patch 7.1.173 -Problem: Accessing freed memory. (Dominique Pelle) -Solution: Don't call reg_getline() to check if a line is the first in the - file. -Files: src/regexp.c - -Patch 7.1.174 -Problem: Writing NUL past end of a buffer. -Solution: Copy one byte less when using strncat(). (Dominique Pelle) -Files: src/ex_cmds.c, src/ex_docmd.c, - -Patch 7.1.175 -Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and - 'backspace'. (Francois Ingelrest) -Solution: When adding white space results in not moving back delete one - character. -Files: src/edit.c - -Patch 7.1.176 -Problem: Building with Aap fails when the "compiledby" argument contains - '<' or '>' characters. (Alex Yeh) -Solution: Change how quoting is done in the Aap recipe. -Files: src/main.aap - -Patch 7.1.177 -Problem: Freeing memory twice when in debug mode while reading a script. -Solution: Ignore script input while in debug mode. -Files: src/ex_cmds2.c, src/getchar.c, src/globals.h - -Patch 7.1.178 -Problem: "%" doesn't work on "/* comment *//* comment */". -Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus - Heidelberg) -Files: src/search.c - -Patch 7.1.179 -Problem: Need to check for TCL 8.5. -Solution: Adjust configure script. (Alexey Froloff) -Files: src/configure.in, src/auto/configure - -Patch 7.1.180 -Problem: Regexp patterns not tested sufficiently. -Solution: Add more checks to the regexp test. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.1.181 -Problem: Accessing uninitialized memory in Farsi mode. (Dominique Pelle) -Solution: Only invoke lrF_sub() when there is something to do. -Files: src/ex_cmds.c - -Patch 7.1.182 -Problem: When using tab pages and an argument list the session file may - contain wrong "next" commands. (Alexander Bluem) -Solution: Use "argu" commands and only when needed. -Files: src/ex_docmd.c - -Patch 7.1.183 -Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu - Paul) -Solution: Inside "\%[]" detect \&, \| and \) as an error. -Files: src/regexp.c - -Patch 7.1.184 -Problem: Crash when deleting backwards over a line break in Insert mode. -Solution: Don't advance the cursor when it's already on the NUL after a - line. (Matthew Wozniski) -Files: src/normal.c - -Patch 7.1.185 -Problem: Using "gR" with a multi-byte encoding and typing a CR pushes - characters onto the replace stack incorrectly, resulting in BS - putting back the wrong characters. (Paul B. Mahol) -Solution: Push multi-byte characters onto the replace stack in reverse byte - order. Add replace_push_mb(). -Files: src/edit.c, src/misc1.c, src/proto/edit.pro - -Patch 7.1.186 -Problem: "expand('<afile>')" returns a bogus value after changing - directory. (Dave Fishburn) -Solution: Copy "autocmd_fname" to allocated memory and expand to full - filename. Shorten the path when expanding <afile>. -Files: src/ex_docmd.c, src/fileio.c - -Patch 7.1.187 -Problem: Win32 GUI: Custom completion using system() no longer works - after patch 7.1.104. (Erik Falor) -Solution: Loop when safe_vgetc() returns K_IGNORE. -Files: src/ex_getln.c - -Patch 7.1.188 -Problem: When 'showmode' is off the message for changing a readonly file is - given in the second column instead of the first. (Payl B. Mahol) -Solution: Put the W10 message in the first column. -Files: src/edit.c - -Patch 7.1.189 (after 7.1.104) -Problem: Patch 7.1.104 was incomplete. -Solution: Also call plain_vgetc() in ask_yesno(). -Files: src/misc1.c - -Patch 7.1.190 -Problem: Cursor after end-of-line: "iA sentence.<Esc>)" -Solution: Move cursor back and make motion inclusive. -Files: src/normal.c - -Patch 7.1.191 -Problem: Win32 GUI: after patch 7.1.168 there is still a problem when - clicking in a scrollbar. (Juergen Jottkaerr) -Solution: Don't check the input buffer when dragging the scrollbar. -Files: src/gui.c - -Patch 7.1.192 -Problem: With Visual block selection, "s" and typing something, CTRL-C - doesn't stop Vim from repeating the replacement in other lines, - like happens for "I". -Solution: Check for "got_int" to be set. -Files: src/ops.c - -Patch 7.1.193 -Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the - character pairs are not used. (Philippe de Muyter) -Solution: Add those Vim 5.x digraphs that don't conflict with others. -Files: src/digraph.c - -Patch 7.1.194 -Problem: ":echo glob('~/{}')" results in /home/user//. -Solution: Don't add a slash if there already is one. -Files: src/os_unix.c - -Patch 7.1.195 -Problem: '0 mark doesn't work for "~/foo ~ foo". -Solution: Don't expand the whole file name, only "~/". -Files: src/mark.c - -Patch 7.1.196 (extra) -Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik - Falor) -Solution: Use the TTM_SETMAXTIPWIDTH message. -Files: src/gui_w32.c - -Patch 7.1.197 -Problem: Mac: "make install" doesn't work when prefix defined. -Solution: Pass different arguments to "make installruntime". (Jjgod Jiang) -Files: src/Makefile - -Patch 7.1.198 -Problem: Hang when using ":s/\n//gn". (Burak Gorkemli) -Solution: Set "skip_match". -Files: src/ex_cmds.c - -Patch 7.1.199 -Problem: Can't do command line completion for a specific file name - extension. -Solution: When the pattern ends in "$" don't add a star for completion and - remove the "$" before matching with file names. -Files: runtime/doc/cmdline.txt, src/ex_getln.c - -Patch 7.1.200 (after 7.1.177 and 7.1.182) -Problem: Compiler warnings for uninitialized variables. -Solution: Init variables. -Files: src/ex_cmds2.c, src/ex_docmd.c - -Patch 7.1.201 -Problem: When reading stdin 'fenc' and 'ff' are not set. -Solution: Set the options after reading stdin. (Ben Schmidt) -Files: src/fileio.c - -Patch 7.1.202 -Problem: Incomplete utf-8 byte sequence is not checked for validity. -Solution: Check the bytes that are present for being valid. (Ben Schmidt) -Files: src/mbyte.c - -Patch 7.1.203 -Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|" - doesn't. (Andy Wokula) -Solution: Check for "onemore" flag in check_cursor_col(). -Files: src/misc2.c - -Patch 7.1.204 (extra) -Problem: Win32: Using the example at 'balloonexpr' the balloon disappears - after four seconds and then comes back again. Also moves the - mouse pointer a little bit. (Yongwei Wu) -Solution: Set the autopop time to 30 seconds (the max value). (Sergey - Khorev) Move the mouse two pixels forward and one back to end up - in the same position (really!). -Files: src/gui_w32.c - -Patch 7.1.205 -Problem: Can't get the operator in an ":omap". -Solution: Add the "v:operator" variable. (Ben Schmidt) -Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h - -Patch 7.1.206 -Problem: Compiler warnings when using MODIFIED_BY. -Solution: Add type casts. (Ben Schmidt) -Files: src/version.c - -Patch 7.1.207 -Problem: Netbeans: "remove" cannot delete one line. -Solution: Remove partial lines and whole lines properly. Avoid a memory - leak. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.1.208 -Problem: On Alpha get an unaligned access error. -Solution: Store the dictitem pointer before using it. (Matthew Luckie) -Files: src/eval.c - -Patch 7.1.209 -Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs. -Solution: Stop getting a selection after three seconds. This is a hack. -Files: src/gui_gtk_x11.c - -Patch 7.1.210 -Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony - Mechelynck) -Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte. -Files: src/mbyte.c - -Patch 7.1.211 -Problem: The matchparen plugin may take an unexpected amount of time, so - that it looks like Vim hangs. -Solution: Add a timeout to searchpair(), searchpairpos(), search() and - searchpos(). Use half a second timeout in the plugin. -Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c, - src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c, - src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro, - src/search.c - -Patch 7.1.212 -Problem: Accessing a byte before a line. -Solution: Check that the column is 1 or more. (Dominique Pelle) -Files: src/edit.c - -Patch 7.1.213 -Problem: A ":tabedit" command that results in the "swap file exists" dialog - and selecting "abort" doesn't close the new tab. (Al Budden) -Solution: Pass "old_curwin" to do_exedit(). -Files: src/ex_docmd.c - -Patch 7.1.214 -Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz) -Solution: Start replacing in the line where the match starts. -Files: src/ex_cmds.c - -Patch 7.1.215 -Problem: It is difficult to figure out what syntax items are nested at a - certain position. -Solution: Add the synstack() function. -Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro, - src/syntax.c - -Patch 7.1.216 -Problem: Variants of --remote-tab are not mentioned for "vim --help". -Solution: Display optional -wait and -silent. -Files: src/main.c - -Patch 7.1.217 -Problem: The "help-tags" tag may be missing from runtime/doc/tags when it - was generated during "make install". -Solution: Add the "++t" argument to ":helptags" to force adding the tag. -Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c, - src/ex_cmds.h - -Patch 7.1.218 -Problem: A syntax region without a "keepend", containing a region with - "extend" could be truncated at the end of the containing region. -Solution: Do not call syn_update_ends() when there are no keepend items. -Files: src/syntax.c - -Patch 7.1.219 (after 7.1.215) -Problem: synstack() returns situation after the current character, can't - see the state for a one-character region. -Solution: Don't update ending states in the requested column. -Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c, - src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c - -Patch 7.1.220 -Problem: When a ")" or word movement command moves the cursor back from the - end of the line it may end up on the trail byte of a multi-byte - character. It's also moved back when it isn't needed. -Solution: Add the adjust_cursor() function. -Files: src/normal.c - -Patch 7.1.221 -Problem: When inserting a "(", triggering the matchparen plugin, the - following highlighting may be messed up. -Solution: Before triggering the CursorMovedI autocommands update the display - to update the stored syntax stacks for the change. -Files: src/edit.c - -Patch 7.1.222 (after 7.1.217) -Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel - Svitalsky) -Solution: Expand wildcards in the directory name. -Files: src/ex_cmds.c - -Patch 7.1.223 -Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and - the expanded name contains spaces, '~', single quotes and other - special characters. (Adri Verhoef, Charles Campbell) -Solution: For Posix shells define a vimglob() function to list the matches - instead of using "echo" directly. -Files: src/os_unix.c - -Patch 7.1.224 -Problem: When using "vim -F -o file1 file2" only one window is - right-to-left. Same for "-H". (Ben Schmidt) -Solution: use set_option_value() to set 'rightleft'. -Files: src/main.c - -Patch 7.1.225 -Problem: Using uninitialized value when XGetWMNormalHints() fails. -Solution: Check the return value. (Dominique Pelle) -Files: src/os_unix.c - -Patch 7.1.226 -Problem: Command line completion doesn't work when a file name contains a - '&' character. -Solution: Accept all characters in a file name, except ones that end a - command or white space. -Files: src/ex_docmd.c - -Patch 7.1.227 -Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle) -Solution: Avoid storing a syntax state in the wrong position in the list of - remembered states. -Files: src/syntax.c - -Patch 7.1.228 -Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it - can't be closed with "zc". (Daniel Shahaf) -Solution: Reset the "small" flag of a fold when adding a line to it. -Files: src/fold.c - -Patch 7.1.229 -Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent" - and backspacing a non-white character so that the indent increases. -Solution: Keep the fold open after backspacing a character. -Files: src/edit.c - -Patch 7.1.230 -Problem: Memory leak when executing SourceCmd autocommands. -Solution: Free the memory. (Dominique Pelle) -Files: src/ex_cmds2.c - -Patch 7.1.231 -Problem: When shifting lines the change is acted upon multiple times. -Solution: Don't have shift_line() call changed_bytes. -Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro - -Patch 7.1.232 (after 7.1.207 and 7.1.211) -Problem: Compiler warnings with MSVC. -Solution: Add type casts. (Mike Williams) -Files: src/ex_cmds2.c, src/netbeans.c - -Patch 7.1.233 -Problem: Crash when doing Insert mode completion for a user defined - command. (Yegappan Lakshmanan) -Solution: Don't use the non-existing command line. -Files: src/ex_getln.c - -Patch 7.1.234 -Problem: When diff'ing three files the third one isn't displayed correctly. - (Gary Johnson) -Solution: Compute the size of diff blocks correctly when merging blocks. - Compute filler lines correctly when scrolling. -Files: src/diff.c - -Patch 7.1.235 -Problem: Pattern matching is slow when using a lot of simple patterns. -Solution: Avoid allocating memory by not freeing it when it's not so much. - (Alexei Alexandrov) -Files: src/regexp.c - -Patch 7.1.236 -Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may - make Vim hang until CTRL-C is pressed. -Solution: Add the 'redrawtime' option. -Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c, - src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c, - src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro, - src/proto/search.pro, src/search.c, src/screen.c, - src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c, - src/vim.h - -Patch 7.1.237 -Problem: Compiler warning on an Alpha processor in Motif code. -Solution: Change a typecast. (Adri Verhoef) -Files: src/gui_motif.c - -Patch 7.1.238 -Problem: Using the 'c' flag with searchpair() may cause it to fail. Using - the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz) -Solution: Only use the 'c' flag for the first search, not for repeating. - When using 'r' imply 'W'. (Antony Scriven) -Files: src/eval.c - -Patch 7.1.239 (after 7.1.233) -Problem: Compiler warning for sprintf() argument. -Solution: Add a typecast. (Nico Weber) -Files: src/ex_getln.c - -Patch 7.1.240 -Problem: When "gUe" turns a German sharp s into SS the operation stops - before the end of the word. Latin2 has the same sharp s but it's - not changed to SS there. -Solution: Make sure all the characters are operated upon. Detect the sharp - s in latin2. Also fixes that changing case of a multi-byte - character that changes the byte count doesn't always work. -Files: src/ops.c - -Patch 7.1.241 -Problem: Focus change events not always ignored. (Erik Falor) -Solution: Ignore K_IGNORE in Insert mode in a few more places. -Files: src/edit.c - -Patch 7.1.242 (after 7.1.005) -Problem: "cib" doesn't work properly on "(x)". (Tim Pope) -Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>". -Files: src/search.c - -Patch 7.1.243 (after 7.1.240) -Problem: "U" doesn't work on all text in Visual mode. (Adri Verhoef) -Solution: Loop over all the lines to be changed. Add tests for this. -Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok - -Patch 7.1.244 -Problem: GUI may have part of the command line cut off. -Solution: Don't round the number of lines up, always round down. - (Tony Houghton, Scott Dillard) -Files: src/gui.c - -Patch 7.1.245 -Problem: Pressing CTRL-\ three times causes Vim to quit. (Ranganath Rao). - Also for f CTRL-\ CTRL-\. -Solution: When going to cooked mode in mch_delay() set a flag to ignore - SIGQUIT. -Files: src/os_unix.c - -Patch 7.1.246 -Problem: Configure hangs when the man pager is something strange. (lorien) -Solution: Set MANPAGER and PAGER to "cat". (Micah Cowan) -Files: src/auto/configure, src/configure.in - -Patch 7.1.247 -Problem: When using Netbeans backspacing in Insert mode skips a character - now and then. (Ankit Jain) -Solution: Avoid calling netbeans_removed(), it frees the line pointer. - (partly by Dominique Pelle). -Files: src/misc1.c - -Patch 7.1.248 -Problem: Can't set the '" mark. Can't know if setpos() was successful. -Solution: Allow setting the '" mark with setpos(). Have setpos() return a - value indicating success/failure. -Files: runtime/doc/eval.txt, src/eval.c, src/mark.c - -Patch 7.1.249 -Problem: After "U" the cursor can be past end of line. (Adri Verhoef) -Solution: Adjust the cursor position in u_undoline(). -Files: src/undo.c - -Patch 7.1.250 -Problem: ":setglobal fenc=anything" gives an error message in a buffer - where 'modifiable' is off. (Ben Schmidt) -Solution: Don't give an error if 'modifiable' doesn't matter. -Files: src/option.c - -Patch 7.1.251 -Problem: Using freed memory when spell checking enabled. -Solution: Obtain the current line again after calling spell_move_to(). - (Dominique Pelle) -Files: src/screen.c - -Patch 7.1.252 (after 7.1.243) -Problem: Test 39 fails when the environment has a utf-8 locale. (Dominique - Pelle) -Solution: Force 'encoding' to be latin1. -Files: src/testdir/test39.in - -Patch 7.1.253 -Problem: ":sort" doesn't work in a one line file. (Patrick Texier) -Solution: Don't sort if there is only one line. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.1.254 -Problem: Tests 49 and 55 fail when the locale is French. -Solution: Using C messages for test 49. Filter the error message in test 55 - such that it works when the number is halfway the message. -Files: src/testdir/test49.in, src/testdir/test55.in - -Patch 7.1.255 -Problem: Vim doesn't support utf-32. (Yongwei Wu) -Solution: Add aliases for utf-32, it's the same as ucs-4. -Files: src/mbyte.c - -Patch 7.1.256 -Problem: findfile() also returns directories. -Solution: Cleanup the code for finding files and directories in a list of - directories. Remove the ugly global ff_search_ctx. -Files: src/eval.c, src/misc2.c, src/vim.h, src/tag.c - -Patch 7.1.257 -Problem: Configure can't always find the Tcl header files. -Solution: Also look in /usr/local/include/tcl$tclver and - /usr/include/tcl$tclver (James Vega) -Files: src/auto/configure, src/configure.in - -Patch 7.1.258 -Problem: Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula) -Solution: Avoid that the column becomes negative. Also fixes other problems - with the end of a pattern match is in column zero. (A.Politz) -Files: src/search.c - -Patch 7.1.259 -Problem: Cursor is in the wrong position when 'rightleft' is set, - 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle) -Solution: Only put the cursor in the first column when actually on a - double-wide character. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.1.260 -Problem: Cursor positioning problem after ^@ wrapping halfway when - 'encoding' is utf-8. -Solution: Only count a position for printable characters. (partly by - Yukihiro Nakadaira) -Files: src/charset.c - -Patch 7.1.261 -Problem: When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work - for UTF-16 text. (Tony Mechelynck) -Solution: Default to UTF-16. -Files: src/fileio.c, src/testdir/test42.ok - -Patch 7.1.262 -Problem: Can't get the process ID of Vim. -Solution: Implement getpid(). -Files: src/eval.c, runtime/doc/eval.txt - -Patch 7.1.263 -Problem: The filetype can consist of two dot separated names. This works - for syntax and ftplugin, but not for indent. (Brett Stahlman) -Solution: Use split() and loop over each dot separated name. -Files: runtime/indent.vim - -Patch 7.1.264 -Problem: Crash when indenting lines. (Dominique Pelle) -Solution: Set the cursor column when changing the cursor line. -Files: src/ops.c, src/misc1.c - -Patch 7.1.265 -Problem: When 'isfname' contains a space, cmdline completion can hang. - (James Vega) -Solution: Reset the "len" variable. -Files: src/ex_docmd.c - -Patch 7.1.266 -Problem: When the version string returned by the terminal contains - unexpected characters, it is used as typed input. (James Vega) -Solution: Assume the escape sequence ends in a letter. -Files: src/term.c - -Patch 7.1.267 -Problem: When changing folds cursor may be positioned in the wrong place. -Solution: Call changed_window_setting_win() instead of - changed_window_setting(). -Files: src/fold.c - -Patch 7.1.268 -Problem: Always shows "+" at end of screen line with: ":set - listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson) -Solution: Check for lcs_eol_one instead of lcs_eol. -Files: src/screen.c - -Patch 7.1.269 -Problem: The matchparen plugin has an arbitrary limit for the number of - lines to look for a match. -Solution: Rely on the searchpair() timeout. -Files: runtime/plugin/matchparen.vim - -Patch 7.1.270 -Problem: ":?foo?" matches in current line since patch 7.1.025. (A.Politz) -Solution: Remove the SEARCH_START flag. -Files: src/ex_docmd.c, src/search.c - -Patch 7.1.271 -Problem: In a Vim build without autocommands, checking a file that was - changed externally causes the current buffer to be changed - unexpectedly. (Karsten Hopp) -Solution: Store "curbuf" instead of "buf". -Files: src/fileio.c - -Patch 7.1.272 -Problem: The special buffer name [Location List] is not used for a buffer - displayed in another tab page. -Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki - Nishihara) -Files: src/buffer.c - -Patch 7.1.273 -Problem: When profiling on Linux Vim exits early. (Liu Yubao) -Solution: When profiling don't exit on SIGPROF. -Files: src/Makefile, src/os_unix.c - -Patch 7.1.274 (after 7.1.272) -Problem: Compiler warning for optimized build. -Solution: Init win to NULL. -Files: src/buffer.c - -Patch 7.1.275 (extra) -Problem: Mac: ATSUI and 'antialias' don't work properly together. -Solution: Fix this and the input method. (Jjgod Jiang) -Files: src/vim.h, src/gui_mac.c - -Patch 7.1.276 -Problem: "gw" uses 'formatexpr', even though the docs say it doesn't. -Solution: Don't use 'formatexpr' for "gw". -Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro - -Patch 7.1.277 -Problem: Default for 'paragraphs' misses some items (Colin Watson) -Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega) -Files: runtime/doc/options.txt, src/option.c - -Patch 7.1.278 (extra, after 7.1.275) -Problem: Build failure when USE_CARBONKEYHANDLER is not defined. -Solution: Remove #ifdef. -Files: src/gui_mac.c - -Patch 7.1.279 -Problem: When using cscope temporary files are left behind. -Solution: Send the quit command to cscope and give it two seconds to exit - nicely before killing it. (partly by Dominique Pelle) -Files: src/if_cscope.c - -Patch 7.1.280 (after 7.1.275) -Problem: Mac: build problems when not using multibyte feature. (Nicholas - Stallard) -Solution: Don't define USE_IM_CONTROL when not using multibyte. -Files: src/vim.h - -Patch 7.1.281 (after 7.1.279) -Problem: sa.sa_mask is not initialized. Cscope may not exit. -Solution: Use sigemptyset(). Use SIGKILL instead of SIGTERM. (Dominique - Pelle) -Files: src/if_cscope.c - -Patch 7.1.282 (extra) -Problem: Win64: Edit with Vim context menu isn't installed correctly. - Compiler warnings and a few other things. -Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT. - And a fixes for the other things. (George V. Reilly) -Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h, - src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak, - src/os_win32.c, - -Patch 7.1.283 -Problem: Non-extra part for 7.1.282. -Solution: Various changes. -Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c, - src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h, - src/window.c - -Patch 7.1.284 -Problem: Compiler warnings for functions without prototype. -Solution: Add the function prototypes. (Patrick Texier) -Files: src/eval.c, src/quickfix.c - -Patch 7.1.285 (extra) -Problem: Mac: dialog hotkeys don't work. -Solution: Add hotkey support. (Dan Sandler) -Files: src/gui_mac.c - -Patch 7.1.286 (after 7.1.103) -Problem: "w" at the end of the buffer moves the cursor past the end of the - line. (Markus Heidelberg) -Solution: Move the cursor back from the NUL when it was moved forward. -Files: src/normal.c - -Patch 7.1.287 -Problem: Crash when reversing a list after using it. (Andy Wokula) -Solution: Update the pointer to the last used element. (Dominique Pelle) -Files: src/eval.c - -Patch 7.1.288 (after 7.1.281) -Problem: Cscope still leaves behind temp files when using gvim. -Solution: When getting the ECHILD error loop for a while until cscope exits. - (Dominique Pelle) -Files: if_cscope.c - -Patch 7.1.289 -Problem: When EXITFREE is defined and 'acd' is set freed memory is used. - (Dominique Pelle) -Solution: Reset p_acd before freeing all buffers. -Files: src/misc2.c - -Patch 7.1.290 -Problem: Reading bytes that were not written when spell checking and a line - has a very large indent. -Solution: Don't copy the start of the next line when it only contains - spaces. (Dominique Pelle) -Files: src/spell.c - -Patch 7.1.291 (after 7.1.288) -Problem: Compiler warning. -Solution: Change 50 to 50L. -Files: src/if_cscope.c - -Patch 7.1.292 -Problem: When using a pattern with "\@<=" the submatches can be wrong. - (Brett Stahlman) -Solution: Save the submatches when attempting a look-behind match. -Files: src/regexp.c - -Patch 7.1.293 -Problem: Spell checking considers super- and subscript characters as word - characters. -Solution: Recognize the Unicode super and subscript characters. -Files: src/spell.c - -Patch 7.1.294 -Problem: Leaking memory when executing a shell command. -Solution: Free memory when not able to save for undo. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.1.295 -Problem: Vimtutor only works with vim, not gvim. -Solution: Add the -g flag to vimtutor. (Dominique Pelle) Add gvimtutor. -Files: src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1 - -Patch 7.1.296 -Problem: SELinux is not supported. -Solution: Detect the selinux library and use mch_copy_sec(). (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro - -Patch 7.1.297 -Problem: When using the search/replace dialog the parenmatch highlighting - can be wrong. (Tim Duncan) -Solution: In the GUI redraw function invoke the CursorMoved autocmd. -Files: src/gui.c - -Patch 7.1.298 (after 7.1.295) -Problem: src/gvimtutor is not distributed. -Solution: Add it to the list of distributed files. -Files: Filelist - -Patch 7.1.299 -Problem: Filetype detection doesn't work properly for file names ending in - a part that is ignored and contain a space or other special - characters. -Solution: Escape the special characters using the new fnameescape function. -Files: runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c, - src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h - -Patch 7.1.300 -Problem: Value of asmsyntax argument isn't checked for valid characters. -Solution: Only accepts letters and digits. -Files: runtime/filetype.vim - -Patch 7.1.301 -Problem: When the "File/Save" menu is used in Insert mode, a tab page label - is not updated to remove the "+". -Solution: Call draw_tabline() from showruler(). (Bjorn Winckler) -Files: src/screen.c - -Patch 7.1.302 (after 7.1.299) -Problem: Compilation error on MS-Windows. -Solution: Don't use xp_shell when it's not defined. -Files: src/ex_getln.c - -Patch 7.1.303 (after 7.1.302) -Problem: Compilation error on MS-Windows, again. -Solution: Declare p. -Files: src/ex_getln.c - -Patch 7.1.304 -Problem: Shortpath_for_invalid_fname() does not work correctly and is - unnecessary complex. -Solution: Clean up shortpath_for_invalid_fname(). (mostly by Yegappan - Lakshmanan) -Files: src/eval.c - -Patch 7.1.305 -Problem: Editing a compressed file with special characters in the name - doesn't work properly. -Solution: Escape special characters. -Files: runtime/autoload/gzip.vim - -Patch 7.1.306 -Problem: Some Unicode characters are handled like word characters while - they are symbols. -Solution: Adjust the table for Unicode classification. -Files: src/mbyte.c - -Patch 7.1.307 -Problem: Many warnings when compiling with Python 2.5. -Solution: Use ssize_t instead of int for some types. (James Vega) -Files: src/if_python.c - -Patch 7.1.308 -Problem: When in readonly mode ":options" produces an error. -Solution: Reset 'readonly'. (Gary Johnson) -Files: runtime/optwin.vim - -Patch 7.1.309 -Problem: Installing and testing with a shadow directory doesn't work. - (James Vega) -Solution: Add "po" to the list of directories to link. Also link the Vim - scripts in testdir. And a few more small fixes. -Files: src/Makefile - -Patch 7.1.310 -Problem: Incomplete utf-8 byte sequence at end of the file is not detected. - Accessing memory that wasn't written. -Solution: Check the last bytes in the buffer for being a valid utf-8 - character. (mostly by Ben Schmidt) - Also fix that the reported line number of the error was wrong. -Files: src/fileio.c - -Patch 7.1.311 -Problem: Compiler warning for missing sentinel in X code. -Solution: Change 0 to NULL. (Markus Heidelberg) -Files: src/mbyte.c - -Patch 7.1.312 -Problem: The .po files have mistakes in error numbers. -Solution: Search for these mistakes in the check script. (Dominique Pelle) -Files: src/po/check.vim - -Patch 7.1.313 -Problem: When the netbeans interface setModified call is used the status - lines and window title are not updated. -Solution: Redraw the status lines and title. (Philippe Fremy) -Files: src/netbeans.c - -Patch 7.1.314 -Problem: The value of 'pastetoggle' is written to the session file without - any escaping. (Randall Hansen) -Solution: Use put_escstr(). (Ben Schmidt) -Files: src/option.c - -Patch 7.1.315 -Problem: Crash with specific search pattern using look-behind match. - (Andreas Politz) -Solution: Also save the value of "need_clear_subexpr". -Files: src/regexp.c - -Patch 7.1.316 -Problem: When 'cscopetag' is set ":tag" gives an error message instead of - going to the next tag in the tag stack. -Solution: Don't call do_cstag() when there is no argument. (Mark Goldman) -Files: src/ex_docmd.c - -Patch 7.1.317 -Problem: Compiler warnings in Motif calls. -Solution: Change zero to NULL. (Dominique Pelle) -Files: src/gui_motif.c - -Patch 7.1.318 -Problem: Memory leak when closing xsmp connection. Crash on exit when - using Lesstif. -Solution: Don't close the X display to work around a Lesstif bug. Free - clientid. Also fix a leak for Motif and Athena. (Dominique Pelle) -Files: src/gui_x11.c, src/os_unix.c - -Patch 7.1.319 -Problem: When a register has an illegal utf-8 sequence, pasting it on the - command line causes an illegal memory access. -Solution: Use mb_cptr2char_adv(). (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.1.320 (extra) -Problem: Win64: Warnings while compiling Python interface. -Solution: Use PyInt in more places. Also update version message for the - console. (George Reilly) -Files: src/if_python.c, src/version.c - -Patch 7.1.321 (extra) -Problem: Win32 / Win64: Install file is outdated. -Solution: Update the text for recent compiler. (George Reilly) -Files: src/INSTALLpc.txt - -Patch 7.1.322 -Problem: Can't get start of Visual area in an <expr> mapping. -Solution: Add the 'v' argument to getpos(). -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.1.323 -Problem: Test 19 fails with some termcaps. (Dominique Pelle) -Solution: Set the t_kb and t_kD termcap values. -Files: src/testdir/test19.in, src/testdir/test38.in - -Patch 7.1.324 -Problem: File name path length on Unix is limited to 1024. -Solution: Use PATH_MAX when it's more than 1000. -Files: src/os_unix.h - -Patch 7.1.325 -Problem: When editing a command line that's longer than available space in - the window, the characters at the end are in reverse order. -Solution: Increment the insert position even when the command line doesn't - fit. (Ingo Karkat) -Files: src/ex_getln.c - -Patch 7.1.326 -Problem: ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the - "!" as a flag to the command. Same for ":snomagic". (Johan Spetz) -Solution: When checking for a forced command also ignore ":smagic" and - ":snomagic". (Ian Kelling) -Files: src/ex_docmd.c - -Patch 7.1.327 -Problem: The GUI tutor is installed when there is no GUI version. -Solution: Only install gvimtutor when building a GUI version. -Files: src/Makefile - -Patch 7.1.328 -Problem: Crash when using Cygwin and non-posix path name in tags file. -Solution: Use separate buffer for posix path. (Ben Schmidt) -Files: src/os_unix.c - -Patch 7.1.329 -Problem: When the popup menu is removed a column of cells, the right halve - of double-wide characters, may not be redrawn. -Solution: Check if the right halve of a character needs to be redrawn. - (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.1.330 -Problem: Reading uninitialized memory when using Del in replace mode. -Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle) -Files: src/misc1.c - - -Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle) - -A search offset from the end of a match didn't work properly for multi-byte -characters. (Yukihiro Nakadaira) - -When displaying the value of 'key' don't show "*****" when the value is empty. -(Ben Schmidt) - -Internal error when compiled with EXITFREE and using the nerd_tree plugin. -Set last_msg_hist to NULL when history becomes empty. Call -free_all_functions() after garbage collection. (Dominique Pelle) - -GTK with XIM: <S-Space> does not work. (Yukihiro Nakadaira) - -Some shells do not support "echo -n", which breaks glob(). Use "echo" instead -of "echo -n $1; echo". (Gary Johnson) - -"echo 22,44" printed "22" on top of the command, the error messages caused -the rest not to be cleared. Added the need_clr_eos flag. - -Netbeans events are handled while updating the screen, causing a crash. -Change the moment when events are handled. Rename nb_parse_messages() to -netbeans_parse_messages(). (Xavier de Gaye) - -Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf) -Use shellescape() on the file name. - -IM was turned off in im_preedit_end_cb() for no good reason. (Takuhiro -Nishioka) - -A corrupted spell file could cause Vim to use lots of memory. Better -detection for running into the end of the file. (idea from James Vega) - -Mac: Included a patch to make it build with GTK. Moved language init to -mac_lang_init() function. (Ben Schmidt) - -Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor) - -Fix configure.in to avoid "implicitly declared" warnings when running -configure. - -Fixed a memory leak when redefining a keymap. (Dominique Pelle) - -Setting 'pastetoggle' to "jj" didn't work. - -'ic' and 'smartcase' don't work properly when using \%V in a search pattern. -(Kana Natsuno) - -Patch 7.2a.001 -Problem: On some systems X11/Xlib.h exists (from X11-dev package) but - X11/Intrinsic.h does not (in Xt-dev package). This breaks the - build. Also, on Solaris 9 sys/ptem.h isn't found. -Solution: Have configure only accept X11 when X11/Intrinsic.h exists. - Check for sys/ptem.h while including sys/stream.h. (Vladimir - Marek) -Files: src/auto/configure, src/configure.in - -Patch 7.2a.002 -Problem: getbufvar(N, "") gets the dictionary of the current buffer instead - of buffer N. -Solution: Set curbuf before calling find_var_in_ht(). (Kana Natsuno) -Files: src/eval.c - -Patch 7.2a.003 -Problem: Leaking memory when using ":file name" and using access control - lists. -Solution: Invoke mch_free_acl() in vim_rename(). (Dominique Pelle) -Files: src/fileio.c - -Patch 7.2a.004 -Problem: Some systems can't get spell files by ftp. -Solution: Use http when it looks like it's possible. (James Vega) -Files: runtime/autoload/spellfile.vim - -Patch 7.2a.005 -Problem: A few error messages use confusing names. Misspelling. -Solution: Change "dissallows" to "disallows". (Dominique Pelle) Change - "number" to "Number". -Files: src/eval.c, src/fileio.c - -Patch 7.2a.006 -Problem: Reading past NUL in a string. -Solution: Check for invalid utf-8 byte sequence. (Dominique Pelle) -Files: src/charset.c - -Patch 7.2a.007 -Problem: ":let v = 1.2.3" was OK in Vim 7.1, now it gives an error. -Solution: Don't look for a floating point number after the "." operator. -Files: src/eval.c - -Patch 7.2a.008 -Problem: printf("%g", 1) doesn't work. -Solution: Convert Number to Float when needed. -Files: src/message.c - -Patch 7.2a.009 -Problem: cygwin_conv_to_posix_path() does not specify buffer size. -Solution: Use new Cygwin function: cygwin_conv_path(). (Corinna Vinschen) -Files: src/main.c, src/os_unix.c - -Patch 7.2a.010 -Problem: When a file name has an illegal byte sequence Vim may read - uninitialised memory. -Solution: Don't use UTF_COMPOSINGLIKE() on an illegal byte. In - msg_outtrans_len_attr() use char2cells() instead of ptr2cells(). - In utf_ptr2char() don't check second byte when first byte is - illegal. (Dominique Pelle) -Files: src/mbyte.c, src/message.c - -Patch 7.2a.011 -Problem: The Edit/Startup Settings menu doesn't work. -Solution: Expand environment variables. (Ben Schmidt) -Files: runtime/menu.vim - -Patch 7.2a.012 -Problem: Compiler warnings for casting int to pointer. -Solution: Add cast to long in between. (Martin Toft) -Files: src/gui_gtk_x11.c - -Patch 7.2a.013 -Problem: shellescape() does not escape "%" and "#" characters. -Solution: Add find_cmdline_var() and use it when the second argument to - shellescape() is non-zero. -Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, - src/proto/ex_docmd.pro, src/proto/misc2.pro, src/misc2.c - -Patch 7.2a.014 -Problem: Problem with % in message. -Solution: Put % in single quotes. -Files: src/eval.c - -Patch 7.2a.015 (after 7.2a.010) -Problem: Misaligned messages. -Solution: Compute length of unprintable chars correctly. -Files: src/message.c - -Patch 7.2a.016 -Problem: Using CTRL-W v in the quickfix window results in two quickfix - windows, which is not allowed. ":tab split" should be allowed to - open a new quickfix window in another tab. -Solution: For CTRL-W v instead of splitting the window open a new one. - When using ":tab" do allow splitting the quickfix window (was - already included in patch 7.2a.013). -Files: src/window.c - -Patch 7.2a.017 -Problem: ":doautoall" executes autocommands for all buffers instead of just - for loaded buffers. -Solution: Change "curbuf" to "buf". -Files: src/fileio.c - -Patch 7.2a.018 -Problem: Compiler warnings when compiling with Gnome. (Tony Mechelynck) -Solution: Add type casts. -Files: src/gui_gtk_x11.c - -Patch 7.2a.019 -Problem: ":let &g:tw = 44" sets the local option value. (Cyril Slobin) -Solution: Use get_varp_scope() instead of get_varp(). (Ian Kelling) -Files: src/option.c - -There is no way to avoid adding /usr/local/{include|lib} to the build -commands. Add the --with-local-dir argument to configure. (Michael -Haubenwallner) - -When using CTRL-D after ":help", the number of matches could be thousands. -Restrict to TAG_MANY to avoid this taking too long. (Ian Kelling) - -The popup menu could be placed at a weird location. Caused by w_wcol computed -by curs_columns(). (Dominique Pelle) - -Overlapping STRCPY() arguments when using %r item in 'errorformat'. Use -STRMOVE() instead. (Ralf Wildenhues) - -Mac: On Leopard gvim, when using the mouse wheel nothing would happen until -another event occurs, such as moving the mouse. Then the recorded scrolling -would take place all at once. (Eckehard Berns) - -Solution for cursor color not reflecting IM status for GTK 2. Add -preedit_is_active flag. (SungHyun Nam) - -filereadable() can hang on a FIFO on Linux. Use open() instead of fopen(), -with O_NONBLOCK. (suggested by Lars Kotthoff) - -Included patch to support Perl 5.10. (Yasuhiro Matsumoto) - -When files are dropped on gvim while the screen is being updated, ignore the -drop command to avoid freeing memory that is being used. - -In a terminal, when drawing the popup menu over double-wide characters, half -characters may not be cleared properly. (Yukihiro Nakadaira) - -The #ifdef for including "vimio.h" was inconsistent. In a few files it -depended on MSWIN, which isn't defined until later. - -Patch 7.2b.001 -Problem: Compilation problem: mb_fix_col() missing with multi-byte feature - but without GUI or clipboard. -Solution: Remove #ifdef. -Files: src/mbyte.c - -Patch 7.2b.002 -Problem: Compiler warnings for signed/unsigned mismatch. -Solution: Add type casts. -Files: src/screen.c - -Patch 7.2b.003 -Problem: Still a compilation problem, check_col() and check_row() missing. -Solution: Add FEAT_MBYTE to the #if. -Files: src/ui.c - -Patch 7.2b.004 -Problem: Trying to free memory for a static string when using ":helpgrep". - (George Reilly) -Solution: Set 'cpo' to empty_option instead of an empty string. Also for - searchpair() and substitute(). -Files: src/quickfix.c, src/eval.c - -Patch 7.2b.005 -Problem: The special character "!" isn't handled properly in shellescape(). - (Jan Minar) -Solution: Escape "!" when using a "csh" like shell and with - shellescape(s, 1). Twice for both. Also escape <NL>. -Files: src/misc2.c - -Patch 7.2b.006 -Problem: Reading past end of string when reading info from tags line. -Solution: Break the loop when encountering a NUL. (Dominique Pelle) -Files: src/tag.c - -Patch 7.2b.007 -Problem: Part of a message cannot be translated. -Solution: Put _() around the message. -Files: src/search.c - -Patch 7.2b.008 -Problem: A few filetypes are not detected or not detected properly. -Solution: Add filetype detection patterns. (Nikolai Weibull) -Files: runtime/filetype.vim - -Patch 7.2b.009 -Problem: Reading past end of screen line. (Epicurus) -Solution: Avoid going past the value of Columns. -Files: src/screen.c - -Patch 7.2b.010 -Problem: ":mksession" doesn't work for ":map , foo", ":sunmap ,". (Ethan - Mallove) -Solution: Check for "nxo", "nso" and other strange mapping combinations. -Files: src/getchar.c - -Patch 7.2b.011 -Problem: Configure for TCL ends up with include file in compiler command. - (Richard Hogg) -Solution: Delete items from $TCL_DEFS that do not start with a dash. -Files: src/auto/configure, src/configure.in - -Patch 7.2b.012 -Problem: Build failure with +multi_byte but without +diff. -Solution: Add #ifdef. (Patrick Texier) -Files: src/main.c - -Patch 7.2b.013 -Problem: Build fails with tiny features and Perl. (Dominique Pelle) -Solution: Define missing functions. Also when compiling Python. -Files: src/if_perl.xs, src/if_python.c - -Patch 7.2b.014 -Problem: Configure uses an unsafe temp file to store commands. -Solution: Create the temp file in local directory. -Files: src/auto/configure, src/configure.in - -Patch 7.2b.015 -Problem: Build fails on Mac when using Aap. -Solution: Fix typo in configure script. -Files: src/auto/configure, src/configure.in - -Patch 7.2b.016 -Problem: Build fails with normal features but without +autocmd. -Solution: Fix #ifdefs. (Ian Kelling) -Files: src/eval.c, src/ex_cmds.c, src/quickfix.c, src/option.c, - src/ex_docmd.c - -Patch 7.2b.017 -Problem: "vim -O foo foo" results in only one window. (Zdenek Sekera) -Solution: Handle result of ATTENTION prompt properly. (Ian Kelling) -Files: src/main.c - -Patch 7.2b.018 -Problem: When doing command line completion on a file name for a csh-like - shell argument a '!' character isn't escaped properly. -Solution: Add another backslash. -Files: src/ex_getln.c, src/misc2.c, src/proto/misc2.pro, src/screen.c - -Patch 7.2b.019 (extra) -Problem: Win32: Various compiler warnings. -Solution: Use __w64 attribute. Comment-out unused parameters. Adjust a few - #ifdefs. (George Reilly) -Files: src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak, - src/os_mswin.c, src/os_win32.c, src/vim.h - -Patch 7.2b.020 -Problem: ":sort n" doesn't handle negative numbers. (James Vega) -Solution: Include '-' in the number. -Files: src/charset.c, src/ex_cmds.c - -Patch 7.2b.021 -Problem: Reloading doesn't read the BOM correctly. (Steve Gardner) -Solution: Accept utf-8 BOM when specified file encoding is utf-8. -Files: src/fileio.c - -Patch 7.2b.022 -Problem: When using ":normal" while updating the status line the count of - an operator is lost. (Dominique Pelle) -Solution: Save and restore "opcount". -Files: src/ex_docmd.c, src/globals.h, src/normal.c - -Patch 7.2b.023 -Problem: Crash when using the result of synstack(0,0). (Matt Wozniski) -Solution: Check for v_list to be NULL in a few more places. -Files: src/eval.c - -Patch 7.2b.024 -Problem: Using ":gui" while the netrw plugin is active causes a delay in - updating the display. -Solution: Don't check for terminal codes when starting the GUI. -Files: src/term.c - -Patch 7.2b.025 -Problem: When the CursorHold event triggers a pending count is lost. - (Juergen Kraemer) -Solution: Save the counts and restore them. -Files: src/normal.c, src/structs.h - -Patch 7.2b.026 -Problem: The GTK 2 file chooser causes the ~/.recently-used.xbel file to be - written over and over again. This may cause a significant - slowdown. (Guido Berhoerster) -Solution: Don't use the GTK 2 file chooser. -Files: src/gui_gtk.c - -Patch 7.2b.027 -Problem: Memory leak for Python, Perl, etc. script command with end marker. -Solution: Free the memory of the end marker. (Andy Kittner) -Files: src/ex_getln.c - -Patch 7.2b.028 -Problem: Reading uninitialized memory when doing ":gui -f". (Dominique - Pelle) -Solution: Don't position the cursor when the screen size is invalid. -Files: src/gui.c - -Patch 7.2b.029 -Problem: ":help a" doesn't jump to "a" tag in docs. (Tony Mechelynck) -Solution: Get all tags and throw away more than TAG_MANY after sorting. - When there is no argument find matches for "help" to avoid a long - delay. -Files: src/ex_cmds.c, src/ex_getln.c - -Patch 7.2b.030 -Problem: When changing the value of t_Co from 8 to 16 the Visual - highlighting keeps both reverse and a background color. -Solution: Remove the attribute when setting the default highlight color. - (Markus Heidelberg) -Files: src/syntax.c - -Error when cancelling completion menu and auto-formatting. (fixed by Ian -Kelling) - -Patch 7.2c.001 -Problem: ":let x=[''] | let x += x" causes hang. (Matt Wozniski) -Solution: Only insert elements up to the original length of the List. -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2c.002 -Problem: fnameescape() doesn't handle a leading '+' or '>'. (Jan Minar) -Solution: Escape a leading '+' and '>'. And a single '-'. -Files: runtime/doc/eval.txt, src/ex_getln.c - -Patch 7.2c.003 -Problem: Searching for "foo\%[bar]\+" gives a "Corrupted regexp program" - error. (Joachim Hofmann) -Solution: Mark the \%[] item as not being simple. -Files: src/regexp.c - -On Vista access to system directories is virtualized. (Michael Mutschler) -Adjusted the manifest file to avoid this. (George Reilly) - -Memory leak when using CTRL-C to cancel listing the jump list. (Dominique -Pelle) - -Mac: Could not build with Perl interface. - -============================================================================== -VERSION 7.3 *version-7.3* *version7.3* - -This section is about improvements made between version 7.2 and 7.3. - -This release has hundreds of bug fixes and there are a few new features. The -most notable new features are: - - -Persistent undo *new-persistent-undo* ---------------- - -Store undo information in a file. Can undo to before when the file was read, -also for unloaded buffers. See |undo-persistence| (partly by Jordan Lewis) - -Added the ":earlier 1f" and ":later 1f" commands. -Added file save counter to undo information. -Added the |undotree()| and |undofile()| functions. - -Also added the 'undoreload' option. This makes it possible to save the -current text when reloading the buffer, so that the reload can be undone. - - -More encryption *new-more-encryption* ---------------- - -Support for Blowfish encryption. Added the 'cryptmethod' option. -Mostly by Mohsin Ahmed. - -Also encrypt the text in the swap file and the undo file. - - -Conceal text *new-conceal* ------------- - -Added the |+conceal| feature. (Vince Negri) -This allows hiding stretches of text, based on syntax highlighting. -It also allows replacing a stretch of text by a character |:syn-cchar|. -The 'conceallevel' option specifies what happens with text matching a syntax -item that has the conceal attribute. -The 'concealcursor' option specifies what happens in the cursor line. - -The help files conceal characters used to mark tags and examples. - -Added the |synconcealed()| function and use it for :TOhtml. (Benjamin Fritz) - -Added the 'cursorbind' option, keeps the cursor in two windows with the same -text in sync. - - -Lua interface *new-lua* -------------- - -Added the |Lua| interface. (Luis Carvalho) - - -Python3 interface *new-python3* ------------------ - -Added the Python3 interface. It exists next to Python 2.x, both can be used -at the same time. See |python3| (Roland Puntaier) - - -Changed *changed-7.3* -------- - -The MS-Windows installer no longer requires the user to type anything in the -console windows. The installer now also works on 64 bit systems, including -the "Edit with Vim" context menu. -The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64 -bit version. (mostly by George Reilly) -Made the DOS installer work with more compilers. -The MS-Windows big gvim is now built with Python 2.7 and 3.1.2, Perl 5.12 and -Ruby 1.9.1. You need the matching .dll files to use them. - -The extra and language files are no longer distributed separately. -The source files for all systems are included in one distribution. - -After using ":recover" or recovering a file in another way, ":x" and "ZZ" -didn't save what you see. This could result in work being lost. Now the text -after recovery is compared to the original file contents. When they differ -the buffer is marked as modified. - -When Vim is exiting because of a deadly signal, when v:dying is 2 or more, -VimLeavePre, VimLeave, BufWinLeave and BufUnload autocommands are not -executed. - -Removed support for GTK 1. It was no longer maintained and required a lot of -#ifdefs in the source code. GTK 2 should be available for every system. -(James Vega) - -It is no longer allowed to set the 'encoding' option from a modeline. It -would corrupt the text. (Patrick Texier) - -Renamed runtime/spell/fixdup to runtime/spell/fixdup.vim. - -Removed obsolete Mac code. - -Updated spell files for Ubuntu locale names. - -Switched from autoconf 2.63 to 2.65. - -Removed Mupad indent and ftplugin files, they are not useful. - -The maximum number of messages remembered in the history is now 200 (was 100). - - -Added *added-7.3* ------ - -Added the 'relativenumber' option. (Markus Heidelberg) - -Added the 'colorcolumn' option: highlight one or more columns in a window. -E.g. to highlight the column after 'textwidth'. (partly by Gregor Uhlenheuer) - -Added support for NetBeans in a terminal. Added |:nbstart| and |:nbclose|. -(Xavier de Gaye) - -More floating point functions: |acos()|, |asin()|, |atan2()|, |cosh()|, -|exp()|, |fmod()|, |log()|, |sinh()|, |tan()|, |tanh()|. (Bill McCarthy) - -Added the |gettabvar()| and |settabvar()| functions. (Yegappan Lakshmanan) - -Added the |strchars()|, |strwidth()| and |strdisplaywidth()| functions. - -Support GDK_SUPER_MASK for GTK on Mac. (Stephan Schulz) - -Made CTRL and ALT modifier work for mouse wheel. (Benjamin Haskell) - -Added support for horizontal scroll wheel. (Bjorn Winckler) - -When the buffer is in diff mode, have :TOhtml create HTML to show the diff -side-by-side. (Christian Brabandt) - -Various improvements to ":TOhtml" and the 2html.vim script. (Benjamin Fritz) - -Add the 'L' item to 'cinoptions'. (Manuel Konig) - -Improve Javascript indenting. Add "J" flag to 'cinoptions'. (Hari Kumar G) - -Mac: Support disabling antialias. (LC Mi) - -Mac: Add clipboard support in the Mac console. (Bjorn Winckler) - -Make it possible to drag a tab page label to another position. (Paul B. Mahol) - -Better implementation of creating the Color Scheme menu. (Juergen Kraemer) - -In Visual mode with 'showcmd' display the number of bytes and characters. - -Allow synIDattr() getting GUI attributes when built without GUI. (Matt -Wozniski) - -Support completion for ":find". Added test 73. (Nazri Ramliy) - -Command line completion for :ownsyntax and :setfiletype. (Dominique Pelle) - -Command line completion for :lmap and :lunmap. - -Support syntax and filetype completion for user commands. (Christian Brabandt) - -Avoid use of the GTK main_loop() so that the GtkFileChooser can be used. -(James Vega) - -When 'formatexpr' evaluates to non-zero fall back to internal formatting, also -for "gq". (James Vega) - -Support :browse for commands that use an error file argument. (Lech Lorens) - -Support wide file names in gvimext. (Szabolcs Horvat) - -Improve test for joining lines. (Milan Vancura) -Make joining a range of lines much faster. (Milan Vancura) - -Add patch to improve support of z/OS (OS/390). (Ralf Schandl) - -Added the helphelp.txt file. Moved text from various.txt to it. - -Added "q" item for 'statusline'. Added |w:quickfix_title|. (Lech Lorens) - -Various improvements for VMS. (Zoltan Arpadffy) - - -New syntax files: ~ -Haskell Cabal build file (Vincent Berthoux) -ChaiScript (Jason Turner) -Cucumber (Tim Pope) -Datascript (Dominique Pelle) -Fantom (Kamil Toman) -Liquid (Tim Pope) -Markdown (Tim Pope) -wavefront's obj file (Vincent Berthoux) -Perl 6 (Andy Lester) -SDC - Synopsys Design Constraints (Maurizio Tranchero) -SVG - Scalable Vector Graphics (Vincent Berthoux) -task data (John Florian) -task 42 edit (John Florian) - -New filetype plugins: ~ -Cucumber (Tim Pope) -Liquid (Tim Pope) -Logcheck (Debian) -Markdown (Tim Pope) -Perl 6 (Andy Lester) -Quickfix window (Lech Lorens) -Tcl (Robert L Hicks) - -New indent plugins: ~ -CUDA (Bram Moolenaar) -ChaiScript (Jason Turner) -Cucumber (Tim Pope) -LifeLines (Patrick Texier) -Liquid (Tim Pope) -Mail (Bram Moolenaar) -Perl 6 (Andy Lester) - -Other new runtime files: ~ -Breton spell file (Dominique Pelle) -Dvorak keymap (Ashish Shukla) -Korean translations. (SungHyun Nam) -Python 3 completion (Aaron Griffin) -Serbian menu translations (Aleksandar Jelenak) -Tetum spell files -Tutor Bairish (Sepp Hell) -Tutor in Esperanto. (Dominique Pellé) -Tutor in Portuguese. -Norwegian Tutor now also available as tutor.nb - -Removed the Mupad runtime files, they were not maintained. - - -Fixed *fixed-7.3* ------ - -Patch 7.2.001 -Problem: Mac: pseudo-ttys don't work properly on Leopard, resulting in the - shell not to have a prompt, CTRL-C not working, etc. -Solution: Don't use SVR4 compatible ptys, even though they are detected. - (Ben Schmidt) -Files: src/pty.c - -Patch 7.2.002 -Problem: Leaking memory when displaying menus. -Solution: Free allocated memory. (Dominique Pelle) -Files: src/menu.c - -Patch 7.2.003 -Problem: Typo in translated message. Message not translated. -Solution: Correct spelling. Add _(). (Dominique Pelle) -Files: src/spell.c, src/version.c - -Patch 7.2.004 -Problem: Cscope help message is not translated. -Solution: Put it in _(). (Dominique Pelle) -Files: src/if_cscope.c, src/if_cscope.h - -Patch 7.2.005 -Problem: A few problems when profiling. Using flag pointer instead of flag - value. Allocating zero bytes. Not freeing used memory. -Solution: Remove wrong '&' characters. Skip dumping when there is nothing - to dump. Free used memory. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.006 -Problem: HTML files are not recognized by contents. -Solution: Add a rule to the scripts file. (Nico Weber) -Files: runtime/scripts.vim - -Patch 7.2.007 (extra) -Problem: Minor issues for VMS. -Solution: Minor fixes for VMS. Add float support. (Zoltan Arpadffy) -Files: runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms, - src/testdir/Make_vms.mms, src/testdir/test30.in, - src/testdir/test54.in - -Patch 7.2.008 -Problem: With a BufHidden autocommand that invokes ":bunload" the window - count for a buffer can be wrong. (Bob Hiestand) -Solution: Don't call enter_buffer() when already in that buffer. -Files: src/buffer.c - -Patch 7.2.009 -Problem: Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani) -Solution: Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp) -Files: src/if_perl.xs - -Patch 7.2.010 -Problem: When using "K" in Visual mode not all characters are properly - escaped. (Ben Schmidt) -Solution: Use a function with the functionality of shellescape(). (Jan - Minar) -Files: src/mbyte.c, src/misc2.c, src/normal.c - -Patch 7.2.011 -Problem: Get an error when inserting a float value from the expression - register. -Solution: Convert the Float to a String automatically in the same place - where a List would be converted to a String. -Files: src/eval.c - -Patch 7.2.012 -Problem: Compiler warnings when building with startup timing. -Solution: Add type casts. -Files: src/ex_cmds2.c - -Patch 7.2.013 -Problem: While waiting for the X selection Vim consumes a lot of CPU time - and hangs until a response is received. -Solution: Sleep a bit when the selection event hasn't been received yet. - Time out after a couple of seconds to avoid a hang when the - selection owner isn't responding. -Files: src/ui.c - -Patch 7.2.014 -Problem: synstack() doesn't work in an empty line. -Solution: Accept column zero as a valid position. -Files: src/eval.c - -Patch 7.2.015 -Problem: "make all test install" doesn't stop when the test fails. (Daniel - Shahaf) -Solution: When test.log contains failures exit with non-zero status. -Files: src/testdir/Makefile - -Patch 7.2.016 -Problem: The pattern being completed may be in freed memory when the - command line is being reallocated. (Dominique Pelle) -Solution: Keep a pointer to the expand_T in the command line structure. - Don't use <S-Tab> as CTRL-P when there are no results. Clear the - completion when using a command line from the history. -Files: src/ex_getln.c - -Patch 7.2.017 -Problem: strlen() used on text that may not end in a NUL. (Dominique Pelle) - Pasting a very big selection doesn't work. -Solution: Use the length passed to the XtSelectionCallbackProc() function. - After getting the SelectionNotify event continue dispatching - events until the callback is actually called. Also dispatch the - PropertyNotify event. -Files: src/ui.c - -Patch 7.2.018 -Problem: Memory leak when substitute is aborted. -Solution: Free the buffer allocated for the new text. (Dominique Pelle) -Files: src/ex_cmds.c - -Patch 7.2.019 -Problem: Completion of ":noautocmd" doesn't work and exists(":noautocmd") - returns zero. (Ben Fritz) -Solution: Add "noautocmd" to the list of modifiers and commands. -Files: src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.020 -Problem: Starting the GUI when the executable starts with 'k', but the KDE - version no longer exists. -Solution: Don't have "kvim" start the GUI. -Files: src/main.c - -Patch 7.2.021 -Problem: When executing autocommands getting the full file name may be - slow. (David Kotchan) -Solution: Postpone calling FullName_save() until autocmd_fname is used. -Files: src/ex_docmd.c, src/fileio.c, src/globals.h - -Patch 7.2.022 (extra) -Problem: Testing is not possible when compiling with MingW. -Solution: Add a MingW specific test Makefile. (Bill McCarthy) -Files: Filelist, src/testdir/Make_ming.mak - -Patch 7.2.023 -Problem: 'cursorcolumn' is in the wrong place in a closed fold when the - display is shifted left. (Gary Johnson) -Solution: Subtract w_skipcol or w_leftcol when needed. -Files: src/screen.c - -Patch 7.2.024 -Problem: It's possible to set 'history' to a negative value and that causes - an out-of-memory error. -Solution: Check that 'history' has a positive value. (Doug Kearns) -Files: src/option.c - -Patch 7.2.025 -Problem: When a CursorHold event invokes system() it is retriggered over - and over again. -Solution: Don't reset did_cursorhold when getting K_IGNORE. -Files: src/normal.c - -Patch 7.2.026 (after 7.2.010) -Problem: "K" doesn't use the length of the identifier but uses the rest of - the line. -Solution: Copy the desired number of characters first. -Files: src/normal.c - -Patch 7.2.027 -Problem: Can use cscope commands in the sandbox. -Solution: Disallow them, they might not be safe. -Files: src/ex_cmds.h - -Patch 7.2.028 -Problem: Confusing error message for missing (). -Solution: Change "braces" to "parentheses". (Gary Johnson) -Files: src/eval.c - -Patch 7.2.029 -Problem: No completion for ":doautoall". -Solution: Complete ":doautoall" like ":doautocmd". (Doug Kearns) -Files: src/ex_docmd.c - -Patch 7.2.030 (after 7.2.027) -Problem: Can't compile. -Solution: Remove prematurely added ex_oldfiles. -Files: src/ex_cmds.h - -Patch 7.2.031 -Problem: Information in the viminfo file about previously edited files is - not available to the user. There is no way to get a complete list - of files edited in previous Vim sessions. -Solution: Add v:oldfiles and fill it with the list of old file names when - first reading the viminfo file. Add the ":oldfiles" command, - ":browse oldfiles" and the "#<123" special file name. Increase - the default value for 'viminfo' from '20 to '100. -Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, - runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c, - src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h, - src/fileio.c, src/main.c, src/mark.c, src/misc1.c, - src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro, - src/option.c, src/structs.h, src/vim.h - -Patch 7.2.032 (after 7.2.031) -Problem: Can't build with EXITFREE defined. (Dominique Pelle) -Solution: Change vv_string to vv_str. -Files: src/eval.c - -Patch 7.2.033 -Problem: When detecting a little endian BOM "ucs-2le" is used, but the text - might be "utf-16le". -Solution: Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei) -Files: src/fileio.c, src/testdir/test42.ok - -Patch 7.2.034 -Problem: Memory leak in spell info when deleting buffer. -Solution: Free the memory. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.2.035 -Problem: Mismatches between alloc/malloc, free/vim_free, - realloc/vim_realloc. -Solution: Use the right function. (Dominique Pelle) -Files: src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c - -Patch 7.2.036 (extra) -Problem: Mismatches between alloc/malloc, free/vim_free, - realloc/vim_realloc. -Solution: Use the right function. (Dominique Pelle) -Files: src/gui_riscos.c, src/gui_w48.c, src/mbyte.c, src/os_vms.c, - src/os_w32exe.c, src/os_win16.c - -Patch 7.2.037 -Problem: Double free with GTK 1 and compiled with EXITFREE. -Solution: Don't close display. (Dominique Pelle) -Files: src/os_unix.c - -Patch 7.2.038 -Problem: Overlapping arguments to memcpy(). -Solution: Use mch_memmove(). (Dominique Pelle) -Files: src/if_xcmdsrv.c - -Patch 7.2.039 -Problem: Accessing freed memory on exit when EXITFREE is defined. -Solution: Call hash_init() on the v: hash table. -Files: src/eval.c - -Patch 7.2.040 -Problem: When using ":e ++ff=dos fname" and the file contains a NL without - a CR before it and 'ffs' contains "unix" then the fileformat - becomes unix. -Solution: Ignore 'ffs' when using the ++ff argument. (Ben Schmidt) - Also remove unreachable code. -Files: src/fileio.c - -Patch 7.2.041 -Problem: In diff mode, when using two tabs, each with two diffed buffers, - editing a buffer of the other tab messes up the diff. (Matt - Mzyzik) -Solution: Only copy options from a window where the buffer was edited that - doesn't have 'diff' set or is for the current tab page. - Also fix that window options for a buffer are stored with the - wrong window. -Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c, - src/normal.c, src/popupmnu.c, src/proto/buffer.pro, - src/proto/ex_cmds.pro src/quickfix.c, src/window.c - -Patch 7.2.042 -Problem: When using winrestview() in a BufWinEnter autocommand the window - is scrolled anyway. (Matt Zyzik) -Solution: Don't recompute topline when above 'scrolloff' from the bottom. - Don't always put the cursor halfway when entering a buffer. Add - "w_topline_was_set". -Files: src/buffer.c, src/move.c, src/structs.h - -Patch 7.2.043 -Problem: VMS: Too many characters are escaped in filename and shell - commands. -Solution: Escape fewer characters. (Zoltan Arpadffy) -Files: src/vim.h - -Patch 7.2.044 -Problem: Crash because of STRCPY() being over protective of the destination - size. (Dominique Pelle) -Solution: Add -D_FORTIFY_SOURCE=1 to CFLAGS. Use an intermediate variable - for the pointer to avoid a warning. -Files: src/auto/configure, src/configure.in, src/eval.c - -Patch 7.2.045 -Problem: The Python interface has an empty entry in sys.path. -Solution: Filter out the empty entry. (idea from James Vega) -Files: src/if_python.c - -Patch 7.2.046 -Problem: Wrong check for filling buffer with encoding. (Danek Duvall) -Solution: Remove pointers. (Dominique Pelle) -Files: src/mbyte.c - -Patch 7.2.047 -Problem: Starting Vim with the -nb argument while it's not supported causes - the other side to hang. -Solution: When -nb is used while it's not supported exit Vim. (Xavier de - Gaye) -Files: src/main.c, src/vim.h - -Patch 7.2.048 -Problem: v:prevcount is changed too often. Counts are not multiplied when - setting v:count. -Solution: Set v:prevcount properly. Multiply counts. (idea by Ben Schmidt) -Files: src/eval.c, src/normal.c, src/proto/eval.pro - -Patch 7.2.049 (extra) -Problem: Win32: the clipboard doesn't support UTF-16. -Solution: Change UCS-2 support to UTF-16 support. (Jia Yanwei) -Files: src/gui_w32.c, src/gui_w48.c, src/mbyte.c, src/misc1.c, - src/os_mswin.c, src/os_win32.c, src/proto/os_mswin.pro - -Patch 7.2.050 -Problem: Warnings for not checking return value of fwrite(). (Chip Campbell) -Solution: Use the return value. -Files: src/spell.c - -Patch 7.2.051 -Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath(). -Solution: Add an extra argument to these functions. (Ingo Karkat) -Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro, - runtime/doc/eval.txt, runtime/doc/options.txt - -Patch 7.2.052 -Problem: synIDattr() doesn't support "sp" for special color. -Solution: Recognize "sp" and "sp#". (Matt Wozniski) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.053 -Problem: Crash when using WorkShop command ":ws foo". (Dominique Pelle) -Solution: Avoid using a NULL pointer. -Files: src/workshop.c - -Patch 7.2.054 -Problem: Compilation warnings for format in getchar.c. -Solution: Use fputs() instead of fprintf(). (Dominique Pelle) -Files: src/getchar.c - -Patch 7.2.055 -Problem: Various compiler warnings with strict checking. -Solution: Avoid the warnings by using return values and renaming. -Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, - src/fileio.c, src/fold.c, src/globals.h, src/gui.c, - src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c, - src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c, - src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c, - src/ui.c, src/window.c - -Patch 7.2.056 (after 7.2.050) -Problem: Tests 58 and 59 fail. -Solution: Don't invoke fwrite() with a zero length. (Dominique Pelle) -Files: src/spell.c - -Patch 7.2.057 (after 7.2.056) -Problem: Combination of int and size_t may not work. -Solution: Use size_t for variable. -Files: src/spell.c - -Patch 7.2.058 -Problem: Can't add a patch name to the ":version" output. -Solution: Add the extra_patches array. -Files: src/version.c - -Patch 7.2.059 -Problem: Diff display is not always updated. -Solution: Update the display more often. -Files: src/diff.c - -Patch 7.2.060 -Problem: When a spell files has many compound rules it may take a very long - time making the list of suggestions. Displaying also can be slow - when there are misspelled words. - Can't parse some Hunspell .aff files. -Solution: Check if a compounding can possibly work before trying a - combination, if the compound rules don't contain wildcards. - Implement using CHECKCOMPOUNDPATTERN. - Ignore COMPOUNDRULES. Ignore a comment after most items. - Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND. - Accept FORBIDDENWORD as an alias for BAD. -Files: runtime/doc/spell.txt, src/spell.c - -Patch 7.2.061 -Problem: Can't create a funcref for an autoload function without loading - the script first. (Marc Weber) -Solution: Accept autoload functions that don't exist yet in function(). -Files: src/eval.c - -Patch 7.2.062 -Problem: "[Scratch]" is not translated. -Solution: Mark the string for translation. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.2.063 -Problem: Warning for NULL argument of Perl_sys_init3(). -Solution: Use Perl_sys_init() instead. (partly by Dominique Pelle) -Files: src/if_perl.xs - -Patch 7.2.064 -Problem: Screen update bug when repeating "~" on a Visual block and the - last line doesn't change. -Solution: Keep track of changes for all lines. (Moritz Orbach) -Files: src/ops.c - -Patch 7.2.065 -Problem: GTK GUI: the cursor disappears when doing ":vsp" and the Vim - window is maximized. (Dominique Pelle, Denis Smolyar) -Solution: Don't change "Columns" back to an old value at a wrong moment. - Do change "Rows" when it should not be a problem. -Files: src/gui.c - -Patch 7.2.066 -Problem: It's not easy to see whether 'encoding' is a multi-byte encoding. -Solution: Add has('multi_byte_encoding'). -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.067 -Problem: Session file can't load extra file when the path contains special - characters. -Solution: Escape the file name. (Lech Lorens) -Files: src/ex_docmd.c - -Patch 7.2.068 -Problem: Emacs tags file lines can be too long, resulting in an error - message. (James Vega) -Solution: Ignore lines with errors if they are too long. -Files: src/tag.c - -Patch 7.2.069 (after 7.2.060) -Problem: Compiler warning for storing size_t in int. -Solution: Add type cast. -Files: src/spell.c - -Patch 7.2.070 -Problem: Crash when a function returns a:000. (Matt Wozniski) -Solution: Don't put the function struct on the stack, allocate it. Free it - only when nothing in it is used. -Files: src/eval.c - -Patch 7.2.071 (extra) -Problem: Win32: Handling netbeans events while Vim is busy updating the - screen may cause a crash. -Solution: Like with GTK, only handle netbeans messages in the main loop. - (Xavier de Gaye) -Files: src/gui_w48.c, src/netbeans.c - -Patch 7.2.072 (extra) -Problem: Compiler warning in Sniff code. -Solution: Use return value of pipe(). (Dominique Pelle) -Files: src/if_sniff.c - -Patch 7.2.073 -Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt - Wozniski) -Solution: Don't translate "x" keys to its alternative for ":set". -Files: src/gui_mac.c, src/misc2.c, src/option.c, src/proto/misc2.pro - -Patch 7.2.074 (extra, after 7.2.073) -Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt - Wozniski) -Solution: Don't translate "x" keys to its alternative for ":set". -Files: src/gui_mac.c - -Patch 7.2.075 (after 7.2.058) -Problem: Explanation about making a diff for extra_patches is unclear. -Solution: Adjust comment. -Files: src/version.c - -Patch 7.2.076 -Problem: rename(from, to) deletes the file if "from" and "to" are not equal - but still refer to the same file. E.g., on a FAT32 filesystem - under Unix. -Solution: Go through another file name. -Files: src/fileio.c - -Patch 7.2.077 (after 7.2.076) -Problem: rename(from, to) doesn't work if "from" and "to" differ only in - case on a system that ignores case in file names. -Solution: Go through another file name. -Files: src/fileio.c - -Patch 7.2.078 -Problem: When deleting a fold that is specified with markers the cursor - position may be wrong. Folds may not be displayed properly after - a delete. Wrong fold may be deleted. -Solution: Fix the problems. (mostly by Lech Lorens) -Files: src/fold.c - -Patch 7.2.079 -Problem: "killed" netbeans events are not handled correctly. -Solution: A "killed" netbeans event is sent when the buffer is deleted or - wiped out (in this case, the netbeans annotations in this buffer - have been removed). A user can still remove a sign with the - command ":sign unplace" and this does not trigger a "killed" - event. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/buffer.c, src/globals.h, - src/netbeans.c, src/proto/netbeans.pro - -Patch 7.2.080 -Problem: When typing a composing character just after starting completion - may access memory before its allocation point. (Dominique Pelle) -Solution: Don't delete before the completion start column. Add extra checks - for the offset not being negative. -Files: src/edit.c - -Patch 7.2.081 -Problem: Compiler warning for floating point overflow on VAX. -Solution: For VAX use a smaller number. (Zoltan Arpadffy) -Files: src/message.c - -Patch 7.2.082 -Problem: When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a. - (Andy Wokula) -Solution: Use NL for this situation. (Lech Lorens) -Files: src/ex_cmds.c - -Patch 7.2.083 -Problem: ":tag" does not return to the right tag entry from the tag stack. -Solution: Don't change the current match when there is no argument. - (Erik Falor) -Files: src/tag.c - -Patch 7.2.084 -Problem: Recursive structures are not handled properly in Python - vim.eval(). -Solution: Keep track of references in a better way. (Yukihiro Nakadaira) -Files: src/if_python.c - -Patch 7.2.085 -Problem: ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8. -Solution: Put the <M-b> character in the input buffer as valid utf-8. - (partly by Matt Wozniski) -Files: src/term.c - -Patch 7.2.086 -Problem: Using ":diffget 1" in buffer 1 corrupts the text. -Solution: Don't do anything when source and destination of ":diffget" or - ":diffput" is the same buffer. (Dominique Pelle) -Files: src/diff.c - -Patch 7.2.087 -Problem: Adding URL to 'path' doesn't work to edit a file. -Solution: Skip simplify_filename() for URLs. (Matt Wozniski) -Files: src/misc2.c - -Patch 7.2.088 (extra) -Problem: OpenClipboard() may fail when another application is using the - clipboard. -Solution: Retry OpenClipboard() a few times. (Jianrong Yu) -Files: src/os_mswin.c - -Patch 7.2.089 (extra) -Problem: Win32: crash when using Ultramon buttons. -Solution: Don't use a WM_OLE message of zero size. (Ray Megal) -Files: src/if_ole.cpp, src/gui_w48.c - -Patch 7.2.090 -Problem: User command containing 0x80 in multi-byte character does not work - properly. (Yasuhiro Matsumoto) -Solution: Undo replacement of K_SPECIAL and CSI characters when executing - the command. -Files: src/ex_docmd.c - -Patch 7.2.091 -Problem: ":cs help" output is not aligned for some languages. -Solution: Compute character size instead of byte size. (Dominique Pelle) -Files: src/if_cscope.c - -Patch 7.2.092 -Problem: Some error messages are not translated. -Solution: Add _() around the messages. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.093 (extra) -Problem: Win32: inputdialog() and find/replace dialogs can't handle - multi-byte text. -Solution: Use the wide version of dialog functions when available. (Yanwei - Jia) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.2.094 -Problem: Compiler warning for signed/unsigned compare. -Solution: Add type cast. Also fix a few typos. -Files: src/edit.c - -Patch 7.2.095 -Problem: With Visual selection, "r" and then CTRL-C Visual mode is stopped - but the highlighting is not removed. -Solution: Call reset_VIsual(). -Files: src/normal.c - -Patch 7.2.096 -Problem: After ":number" the "Press Enter" message may be on the wrong - screen, if switching screens for shell commands. -Solution: Reset info_message. (James Vega) -Files: src/ex_cmds.c - -Patch 7.2.097 -Problem: "!xterm&" doesn't work when 'shell' is "bash". -Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert) -Files: src/os_unix.c - -Patch 7.2.098 -Problem: Warning for signed/unsigned pointer. -Solution: Add type cast. -Files: src/eval.c - -Patch 7.2.099 -Problem: Changing GUI options causes an unnecessary redraw when the GUI - isn't active. -Solution: Avoid the redraw. (Lech Lorens) -Files: src/option.c - -Patch 7.2.100 -Problem: When using ":source" on a FIFO or something else that can't rewind - the first three bytes are skipped. -Solution: Instead of rewinding read the first line and detect a BOM in that. - (mostly by James Vega) -Files: src/ex_cmds2.c - -Patch 7.2.101 (extra) -Problem: MSVC version not recognized. -Solution: Add the version number to the list. (Zhong Zhang) -Files: src/Make_mvc.mak - -Patch 7.2.102 (after 7.2.100) -Problem: When 'encoding' is "utf-8" a BOM at the start of a Vim script is - not removed. (Tony Mechelynck) -Solution: When no conversion is taking place make a copy of the line without - the BOM. -Files: src/ex_cmds2.c - -Patch 7.2.103 -Problem: When 'bomb' is changed the window title is updated to show/hide a - "+", but the tab page label isn't. (Patrick Texier) -Solution: Set "redraw_tabline" in most places where "need_maketitle" is set. - (partly by Lech Lorens) -Files: src/option.c - -Patch 7.2.104 -Problem: When using ":saveas bar.c" the tab label isn't updated right away. -Solution: Set redraw_tabline. (Francois Ingelrest) -Files: src/ex_cmds.c - -Patch 7.2.105 -Problem: Modeline setting for 'foldmethod' overrules diff options. (Ingo - Karkat) -Solution: Don't set 'foldmethod' and 'wrap' from a modeline when 'diff' is - on. -Files: src/option.c - -Patch 7.2.106 -Problem: Endless loop when using "]s" in HTML when there are no - misspellings. (Ingo Karkat) -Solution: Break the search loop. Also fix pointer alignment for systems - with pointers larger than int. -Files: src/spell.c - -Patch 7.2.107 -Problem: When using a GUI dialog and ":echo" commands the messages are - deleted after the dialog. (Vincent Birebent) -Solution: Don't call msg_end_prompt() since there was no prompt. -Files: src/message.c - -Patch 7.2.108 (after 7.2.105) -Problem: Can't build without the diff feature. -Solution: Add #ifdef. -Files: src/option.c - -Patch 7.2.109 -Problem: 'langmap' does not work for multi-byte characters. -Solution: Add a list of mapped multi-byte characters. (based on work by - Konstantin Korikov, Agathoklis Hatzimanikas) -Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h, - src/normal.c, src/option.c, src/proto/option.pro, src/window.c - -Patch 7.2.110 -Problem: Compiler warning for unused variable. -Solution: Init the variable. -Files: src/ex_docmd.c - -Patch 7.2.111 -Problem: When using Visual block mode with 'cursorcolumn' it's unclear what - is selected. -Solution: Don't use 'cursorcolumn' highlighting inside the Visual selection. - (idea by Dominique Pelle) -Files: src/screen.c - -Patch 7.2.112 -Problem: Cursor invisible in Visual mode when 'number' is set and cursor in - first column. (Matti Niemenmaa, Renato Alves) -Solution: Check that vcol_prev is smaller than vcol. -Files: src/screen.c - -Patch 7.2.113 -Problem: Crash for substitute() call using submatch(1) while there is no - such submatch. (Yukihiro Nakadaira) -Solution: Also check the start of the submatch is set, it can be NULL when - an attempted match didn't work out. -Files: src/regexp.c - -Patch 7.2.114 -Problem: Using wrong printf format. -Solution: Use "%ld" instead of "%d". (Dominique Pelle) -Files: src/netbeans.c - -Patch 7.2.115 -Problem: Some debugging code is never used. -Solution: Remove nbtrace() and nbprt(). (Dominique Pelle) -Files: src/nbdebug.c, src/nbdebug.h - -Patch 7.2.116 -Problem: Not all memory is freed when EXITFREE is defined. -Solution: Free allocated memory on exit. (Dominique Pelle) -Files: src/ex_docmd.c, src/gui_gtk_x11.c, src/misc2.c, src/search.c, - src/tag.c - -Patch 7.2.117 -Problem: Location list incorrectly labelled "Quickfix List". -Solution: Break out of both loops for finding window for location list - buffer. (Lech Lorens) -Files: src/buffer.c, src/quickfix.c, src/screen.c - -Patch 7.2.118 -Problem: <PageUp> at the more prompt only does half a page. -Solution: Make <PageUp> go up a whole page. Also make 'f' go a page - forward, but not quit the more prompt. (Markus Heidelberg) -Files: src/message.c - -Patch 7.2.119 -Problem: Status line is redrawn too often. -Solution: Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.2.120 -Problem: When opening the quickfix window or splitting the window and - setting the location list, the location list is copied and then - deleted, which is inefficient. -Solution: Don't copy the location list when not needed. (Lech Lorens) -Files: src/quickfix.c, src/vim.h, src/window.c - -Patch 7.2.121 -Problem: In gvim "!grep a *.c" spews out a lot of text that can't be - stopped with CTRL-C. -Solution: When looping to read and show text, do check for typed characters - every two seconds. -Files: src/os_unix.c - -Patch 7.2.122 -Problem: Invalid memory access when the VimResized autocommand changes - 'columns' and/or 'lines'. -Solution: After VimResized check for changed values. (Dominique Pelle) -Files: src/screen.c - -Patch 7.2.123 -Problem: Typing 'q' at more prompt for ":map" output still displays another - line, causing another more prompt. (Markus Heidelberg) -Solution: Quit listing maps when 'q' typed. -Files: src/getchar.c - -Patch 7.2.124 -Problem: Typing 'q' at more prompt for ":tselect" output still displays - more lines, causing another more prompt. (Markus Heidelberg) -Solution: Quit listing tags when 'q' typed. -Files: src/tag.c - -Patch 7.2.125 -Problem: Leaking memory when reading XPM bitmap for a sign. -Solution: Don't allocate the memory twice. (Dominique Pelle) -Files: src/gui_x11.c - -Patch 7.2.126 -Problem: When EXITFREE is defined signs are not freed. -Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle) -Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro - -Patch 7.2.127 -Problem: When listing mappings and a wrapping line causes the more prompt, - after typing 'q' there can be another more prompt. (Markus - Heidelberg) -Solution: Set "lines_left" to allow more lines to be displayed. -Files: src/message.c - -Patch 7.2.128 (after 7.2.055) -Problem: Using ":lcd" makes session files not work. -Solution: Compare return value of mch_chdir() properly. (Andreas Bernauer) -Files: src/ex_docmd.c - -Patch 7.2.129 -Problem: When opening a command window from input() it uses the search - history. -Solution: Use get_cmdline_type(). (James Vega) -Files: src/ex_getln.c - -Patch 7.2.130 -Problem: Vim may hang until CTRL-C is typed when using CTRL-Z. -Solution: Avoid using pause(). Also use "volatile" for variables used in - signal functions. (Dominique Pelle) -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/globals.h, src/os_unix.c - -Patch 7.2.131 -Problem: When 'keymap' is cleared may still use the cursor highlighting for - when it's enabled. -Solution: Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle) - Also avoid ":setlocal" for these options have a global effect. -Files: src/option.c - -Patch 7.2.132 -Problem: When changing directory during a SwapExists autocmd freed memory - may be accessed. (Dominique Pelle) -Solution: Add the allbuf_lock flag. -Files: src/ex_getln.c, src/globals.h, src/fileio.c, - src/proto/ex_getln.pro - -Patch 7.2.133 -Problem: ":diffoff!" changes settings in windows not in diff mode. -Solution: Only change settings in other windows when 'diff' is set, always - do it for the current window. (Lech Lorens) -Files: src/diff.c - -Patch 7.2.134 -Problem: Warning for discarding "const" from pointer. -Solution: Don't pass const pointer to mch_memmove(). -Files: src/fileio.c - -Patch 7.2.135 -Problem: Memory leak when redefining user command with complete argument. -Solution: Free the old complete argument. (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.2.136 (after 7.2.132) -Problem: ":cd" is still possible in a SwapExists autocmd. -Solution: Check the allbuf_lock flag in ex_cd(). -Files: src/ex_docmd.c - -Patch 7.2.137 -Problem: When 'virtualedit' is set, a left shift of a blockwise selection - that starts and ends inside a tab shifts too much. (Helmut - Stiegler) -Solution: Redo the block left shift code. (Lech Lorens) -Files: src/ops.c, src/testdir/Makefile, src/testdir/test66.in, - src/testdir/test66.ok - -Patch 7.2.138 (extra part of 7.2.137) -Problem: See 7.2.137. -Solution: See 7.2.137. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms - -Patch 7.2.139 -Problem: Crash when 'virtualedit' is "all". (James Vega) -Solution: Avoid overflow when column is MAXCOL. (Dominique Pelle) -Files: src/misc2.c - -Patch 7.2.140 -Problem: Diff highlighting isn't displayed before the Visual area if it - starts at the cursor position. (Markus Heidelberg) -Solution: Also check fromcol_prev. -Files: src/screen.c - -Patch 7.2.141 -Problem: When redrawing a character for bold spill this causes the next - character to be redrawn as well. -Solution: Only redraw one extra character. (Yukihiro Nakadaira) -Files: src/screen.c - -Patch 7.2.142 -Problem: Motif and Athena balloons don't use tooltip colors. -Solution: Set the colors. (Matt Wozniski) -Files: src/gui_beval.c - -Patch 7.2.143 -Problem: No command line completion for ":cscope" command. -Solution: Add the completion for ":cscope". (Dominique Pelle) -Files: src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, - src/proto/if_cscope.pro, src/vim.h - -Patch 7.2.144 -Problem: When 't_Co' is set to the value it already had the color scheme is - reloaded anyway. -Solution: Only load the colorscheme when the t_Co value changes. (Dominique - Pelle) -Files: src/option.c - -Patch 7.2.145 -Problem: White space in ":cscope find" is not ignored. -Solution: Ignore the white space, but not when the leading white space is - useful for the argument. -Files: runtime/doc/if_scop.txt, src/if_cscope.c - -Patch 7.2.146 -Problem: v:warningmsg isn't used for all warnings. -Solution: Set v:warningmsg for relevant warnings. (Ingo Karkat) -Files: src/fileio.c, src/misc1.c, src/option.c - -Patch 7.2.147 -Problem: When compiled as small version and 'number' is on the cursor is - displayed in the wrong position after a tab. (James Vega) -Solution: Don't increment vcol when still displaying the line number. -Files: src/screen.c - -Patch 7.2.148 -Problem: When searching for "$" while 'hlsearch' is set, highlighting the - character after the line does not work in the cursor column. - Also highlighting for Visual mode after the line end when this - isn't needed. (Markus Heidelberg) -Solution: Only compare the cursor column in the cursor line. Only highlight - for Visual selection after the last character when it's needed to - see where the Visual selection ends. -Files: src/screen.c - -Patch 7.2.149 -Problem: Using return value of function that doesn't return a value results - in reading uninitialized memory. -Solution: Set the default to return zero. Make cursor() return -1 on - failure. Let complete() return an empty string in case of an - error. (partly by Dominique Pelle) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.150 (extra) -Problem: Can't use tab pages from VisVim. -Solution: Add tab page support to VisVim. (Adam Slater) -Files: src/VisVim/Commands.cpp, src/VisVim/Resource.h, - src/VisVim/VisVim.rc - -Patch 7.2.151 -Problem: ":hist a" doesn't work like ":hist all" as the docs suggest. -Solution: Make ":hist a" and ":hist al" work. (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.152 -Problem: When using "silent echo x" inside ":redir" a next echo may start - halfway the line. (Tony Mechelynck, Dennis Benzinger) -Solution: Reset msg_col after redirecting silently. -Files: src/ex_docmd.c, src/message.c, src/proto/message.pro - -Patch 7.2.153 -Problem: Memory leak for ":recover empty_dir/". -Solution: Free files[] when it becomes empty. (Dominique Pelle) -Files: src/memline.c - -Patch 7.2.154 (after 7.2.132) -Problem: ":cd" is still possible in a SwapExists autocmd. -Solution: Set allbuf_lock in do_swapexists(). -Files: src/memline.c - -Patch 7.2.155 -Problem: Memory leak in ":function /pat". -Solution: Free the memory. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.156 (after 7.2.143) -Problem: No completion for :scscope and :lcscope commands. -Solution: Implement the completion. (Dominique Pelle) -Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro - -Patch 7.2.157 -Problem: Illegal memory access when searching in path. -Solution: Avoid looking at a byte after end of a string. (Dominique Pelle) -Files: src/search.c - -Patch 7.2.158 -Problem: Warnings from VisualC compiler. -Solution: Add type casts. (George Reilly) -Files: src/ops.c - -Patch 7.2.159 -Problem: When $x_includes ends up being "NONE" configure fails. -Solution: Check for $x_includes not to be "NONE" (Rainer) -Files: src/auto/configure, src/configure.in - -Patch 7.2.160 -Problem: Search pattern not freed on exit when 'rightleft' set. -Solution: Free mr_pattern_alloced. -Files: src/search.c - -Patch 7.2.161 -Problem: Folds messed up in other tab page. (Vlad Irnov) -Solution: Instead of going over all windows in current tab page go over all - windows in all tab pages. Also free memory for location lists in - other tab pages when exiting. (Lech Lorens) -Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c - -Patch 7.2.162 -Problem: The quickfix window may get wrong filetype. -Solution: Do not detect the filetype for the quickfix window. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.2.163 -Problem: The command line window may get folding. -Solution: Default to no/manual folding. (Lech Lorens) -Files: src/ex_getln.c - -Patch 7.2.164 -Problem: When 'showbreak' is set the size of the Visual block may be - reported wrong. (Eduardo Daudt Flach) -Solution: Temporarily make 'sbr' empty. -Files: src/normal.c, src/ops.c - -Patch 7.2.165 -Problem: The argument for the FuncUndefined autocmd event is expanded like - a file name. -Solution: Don't try expanding it. (Wang Xu) -Files: src/fileio.c - -Patch 7.2.166 -Problem: No completion for ":sign" command. -Solution: Add ":sign" completion. (Dominique Pelle) -Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h, - src/proto/ex_cmds.pro - -Patch 7.2.167 -Problem: Splint doesn't work well for checking the code. -Solution: Add splint arguments in the Makefile. Exclude some code from - splint that it can't handle. Tune splint arguments to give - reasonable errors. Add a filter for removing false warnings from - splint output. Many small changes to avoid warnings. More to - follow... -Files: Filelist, src/Makefile, src/buffer.c, src/charset.c, - src/cleanlint.vim, src/digraph.c, src/edit.c, src/ex_cmds.c, - src/globals.h, src/ops.c, src/os_unix.c, src/os_unix.h, - src/proto/buffer.pro, src/proto/edit.pro, src/screen.c, - src/structs.h - -Patch 7.2.168 -Problem: When no ctags program can be found, "make tags" attempts to - execute the first C file. -Solution: Default to "ctags" when no ctags program can be found. -Files: src/configure.in, src/auto/configure - -Patch 7.2.169 -Problem: Splint complains about a lot of things. -Solution: Add type casts, #ifdefs and other changes to avoid warnings. - Change colnr_T from unsigned to int. Avoids mistakes with - subtracting columns. -Files: src/cleanlint.vim, src/diff.c, src/edit.c, src/ex_cmds.c, - src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds.pro, - src/proto/spell.pro, src/quickfix.c, src/spell.c, src/structs.h, - src/term.h, src/vim.h - -Patch 7.2.170 -Problem: Using b_dev while it was not set. (Dominique Pelle) -Solution: Add the b_dev_valid flag. -Files: src/buffer.c, src/fileio.c, src/structs.h - -Patch 7.2.171 (after 7.2.169) -Problem: Compiler warnings. (Tony Mechelynck) -Solution: Add function prototype. (Patrick Texier) Init variable. -Files: src/ex_cmds.c - -Patch 7.2.172 (extra) -Problem: Compiler warning. -Solution: Adjust function prototype. (Patrick Texier) -Files: src/os_mswin.c - -Patch 7.2.173 -Problem: Without lint there is no check for unused function arguments. -Solution: Use gcc -Wunused-parameter instead of lint. For a few files add - attributes to arguments that are known not to be used. -Files: src/auto/configure, src/buffer.c, src/charset.c, src/diff.c, - src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c, - src/ex_cmds2.c, src/version.c, src/vim.h - -Patch 7.2.174 -Problem: Too many warnings from gcc -Wextra. -Solution: Change initializer. Add UNUSED. Add type casts. -Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, - src/ex_getln.c, src/fileio.c, getchar.c, globals.h, main.c, - memline.c, message.c, src/misc1.c, src/move.c, src/normal.c, - src/option.c, src/os_unix.c, src/os_unix.h, src/regexp.c, - src/search.c, src/tag.c - -Patch 7.2.175 -Problem: Compiler warning in OpenBSD. -Solution: Add type cast for NULL. (Dasn) -Files: src/if_cscope.c - -Patch 7.2.176 -Problem: Exceptions for splint are not useful. -Solution: Remove the S_SPLINT_S ifdefs. -Files: src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c, - src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h - -Patch 7.2.177 -Problem: Compiler warnings when using -Wextra -Solution: Add UNUSED and type casts. -Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, - src/fileio.c, src/hardcopy.c, src/if_cscope.c, src/if_xcmdsrv.c, - src/farsi.c, src/mark.c, src/menu.c - -Patch 7.2.178 -Problem: Using negative value for device number might not work. -Solution: Use a separate flag for whether ffv_dev was set. -Files: src/misc2.c - -Patch 7.2.179 -Problem: Using negative value for device number might not work. -Solution: Use a separate flag for whether sn_dev was set. -Files: src/ex_cmds2.c - -Patch 7.2.180 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/buffer.c, src/ex_cmds.c, src/macros.h, src/main.c, - src/menu.c, src/message.c, src/misc1.c, src/mbyte.c, - src/normal.c, src/option.c, src/os_unix.c, src/quickfix.c, - src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c, - src/term.c, src/ui.c - -Patch 7.2.181 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/if_mzsch.c, src/gui.c, src/gui_gtk.c, src/gui_gtk_x11.c, - src/gui_gtk_f.c, src/gui_beval.c, src/netbeans.c - -Patch 7.2.182 (after 7.2.181) -Problem: Compilation problems after previous patch for Motif. Gvim with - GTK crashes on startup. -Solution: Add comma. Init form structure to zeroes. -Files: src/netbeans.c, src/gui_gtk_f.c - -Patch 7.2.183 -Problem: Configure problem for sys/sysctl.h on OpenBSD. (Dasn) -Solution: Add separate check for this header file. Also switch to newer - version of autoconf. -Files: src/auto/configure, src/configure.in - -Patch 7.2.184 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. Autoconf check for wchar_t. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/gui_athena.c, src/gui_x11.c, src/gui.c, src/gui_beval.c, - src/gui_at_sb.c, src/gui_at_fs.c, src/gui_motif.c, - src/gui_xmdlg.c, src/gui_xmebw.c, src/if_python.c, src/window.c, - src/workshop.c - -Patch 7.2.185 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/Makefile, src/if_tlc.c, src/if_ruby.c - -Patch 7.2.186 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Now with the intended if_tcl.c changes. -Files: src/if_tcl.c - -Patch 7.2.187 (after 7.2.186) -Problem: Doesn't build with older versions of TCL. (Yongwei Wu) -Solution: Add #ifdefs. (Dominique Pelle) -Files: src/if_tcl.c - -Patch 7.2.188 -Problem: Crash with specific use of function calls. (Meikel Brandmeyer) -Solution: Make sure the items referenced by a function call are not freed - twice. (based on patch from Nico Weber) -Files: src/eval.c - -Patch 7.2.189 -Problem: Possible hang for deleting auto-indent. (Dominique Pelle) -Solution: Make sure the position is not beyond the end of the line. -Files: src/edit.c - -Patch 7.2.190 -Problem: The register executed by @@ isn't restored. -Solution: Mark the executable register in the viminfo file. -Files: src/ops.c - -Patch 7.2.191 -Problem: Mzscheme interface doesn't work on Ubuntu. -Solution: Change autoconf rules. Define missing macro. Some changes to - avoid gcc warnings. Remove per-buffer namespace. (Sergey Khorev) -Files: runtime/doc/if_mzsch.txt, src/Makefile, src/Make_ming.mak, - src/Make_mvc.mak, src/auto/configure, src/configure.in, - src/config.mk.in, src/eval.c, src/if_mzsch.c, src/if_mzsch.h, - src/main.c, src/proto/if_mzsch.pro - -Patch 7.2.192 (after 7.2.188) -Problem: Still a crash in the garbage collector for a very rare situation. -Solution: Make sure current_copyID is always incremented correctly. (Kent - Sibilev) -Files: src/eval.c - -Patch 7.2.193 -Problem: Warning for uninitialized values. -Solution: Initialize all the struct items. -Files: src/eval.c - -Patch 7.2.194 (extra) -Problem: MSVC: rem commands are echoed. -Solution: Add commands to switch off echo. (Wang Xu) -Files: src/msvc2008.bat - -Patch 7.2.195 -Problem: Leaking memory for the command Vim was started with. -Solution: Remember the pointer and free it. -Files: src/gui_gtk_x11.c - -Patch 7.2.196 (after 7.2.167) -Problem: Turns out splint doesn't work well enough to be usable. -Solution: Remove splint support. -Files: Filelist, src/cleanlint.vim - -Patch 7.2.197 -Problem: Warning for uninitialized values. -Solution: Initialize all the struct items of typebuf. -Files: src/globals.h - -Patch 7.2.198 -Problem: Size of buffer used for tgetent() may be too small. -Solution: Use the largest known size everywhere. -Files: src/vim.h - -Patch 7.2.199 -Problem: Strange character in comment. -Solution: Change to "message". (Yongwei Wu) -Files: src/term.c - -Patch 7.2.200 -Problem: Reading past end of string when navigating the menu bar or - resizing the window. -Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle) - Also add mb_ptr2cells_len() to prevent more trouble. -Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c, - src/proto/mbyte.pro - -Patch 7.2.201 -Problem: Cannot copy/paste HTML to/from Firefox via the clipboard. -Solution: Implement this for GTK. Add the "html" value to 'clipboard'. -Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c, - src/mbyte.c, src/proto/mbyte.pro, src/option.c - -Patch 7.2.202 -Problem: BufWipeout autocommand that edits another buffer causes problems. -Solution: Check for the situation, give an error and quit the operation. -Files: src/fileio.c - -Patch 7.2.203 -Problem: When reloading a buffer or doing anything else with a buffer that - is not displayed in a visible window, autocommands may be applied - to the current window, folds messed up, etc. -Solution: Instead of using the current window for the hidden buffer use a - special window, splitting the current one temporarily. -Files: src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs, - src/progo/gui.pro, src/proto/window.pro, src/screen.c, - src/structs.h, src/window.c - -Patch 7.2.204 (extra) -Problem: Win32: Can't build with Visual Studio 2010 beta 1. -Solution: Fix the makefile. (George Reilly) -Files: src/Make_mvc.mak - -Patch 7.2.205 (extra) -Problem: Win32: No support for High DPI awareness. -Solution: Fix the manifest file. (George Reilly) -Files: src/Make_mvc.mak, src/gvim.exe.mnf - -Patch 7.2.206 -Problem: Win32: Can't build netbeans interface with Visual Studio 2010. -Solution: Undefine ECONNREFUSED. (George Reilly) -Files: src/netbeans.c - -Patch 7.2.207 -Problem: Using freed memory with ":redrawstatus" when it works recursively. -Solution: Prevent recursively updating the status line. (partly by Dominique - Pelle) -Files: src/screen.c - -Patch 7.2.208 -Problem: "set novice" gives an error message, it should be ignored. -Solution: Don't see "no" in "novice" as unsetting an option. (Patrick - Texier) -Files: src/option.c - -Patch 7.2.209 -Problem: For xxd setmode() is undefined on Cygwin. -Solution: Include io.h. (Dominique Pelle) -Files: src/xxd/xxd.c - -Patch 7.2.210 -Problem: When a file that is being edited has its timestamp updated outside - of Vim and ":checktime" is used still get a warning when writing - the file. (Matt Mueller) -Solution: Store the timestamp in b_mtime_read when the timestamp is the only - thing that changed. -Files: src/fileio.c - -Patch 7.2.211 -Problem: Memory leak when expanding a series of file names. -Solution: Use ga_clear_strings() instead of ga_clear(). -Files: src/misc1.c - -Patch 7.2.212 (extra) -Problem: Warnings for redefining SIG macros. -Solution: Don't define them if already defined. (Bjorn Winckler) -Files: src/os_mac.h - -Patch 7.2.213 -Problem: Warning for using vsprintf(). -Solution: Use vim_vsnprintf(). -Files: src/netbeans.c - -Patch 7.2.214 -Problem: Crash with complete function for user command. (Andy Wokula) -Solution: Avoid using a NULL pointer (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.215 -Problem: ml_get error when using ":vimgrep". -Solution: Load the memfile for the hidden buffer before putting it in a - window. Correct the order of splitting the window and filling - the window and buffer with data. -Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c - -Patch 7.2.216 -Problem: Two error messages have the same number E812. -Solution: Give one message a different number. -Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c - -Patch 7.2.217 -Problem: Running tests with valgrind doesn't work as advertised. -Solution: Fix the line in the Makefile. -Files: src/testdir/Makefile - -Patch 7.2.218 -Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle) -Solution: Adjust #ifdef. (SungHyun Nam) -Files: src/gui.c - -Patch 7.2.219 (extra) -Problem: Photon GUI is outdated. -Solution: Updates for QNX 6.4.0. (Sean Boudreau) -Files: src/gui_photon.c - -Patch 7.2.220 (after 7.2.215) -Problem: a BufEnter autocommand that changes directory causes problems. - (Ajit Thakkar) -Solution: Disable autocommands when opening a hidden buffer in a window. -Files: src/fileio.c - -Patch 7.2.221 -Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding. -Solution: Convert between 'enc' and latin1. (James Vega) -Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro, - src/ui.c - -Patch 7.2.222 -Problem: ":mksession" doesn't work properly with 'acd' set. -Solution: Make it work. (Yakov Lerner) -Files: src/ex_docmd.c - -Patch 7.2.223 -Problem: When a script is run with ":silent" it is not able to give warning - messages. -Solution: Add the ":unsilent" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.224 -Problem: Crash when using 'completefunc'. (Ingo Karkat) -Solution: Disallow entering edit() recursively when doing completion. -Files: src/edit.c - -Patch 7.2.225 -Problem: When using ":normal" a saved character may be executed. -Solution: Also store old_char when saving typeahead. -Files: src/getchar.c, src/structs.h - -Patch 7.2.226 -Problem: ml_get error after deleting the last line. (Xavier de Gaye) -Solution: When adjusting marks a callback may be invoked. Adjust the cursor - position before invoking deleted_lines_mark(). -Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c, - src/if_perl.xs, src/misc1.c - -Patch 7.2.227 -Problem: When using ":cd" in a script there is no way to track this. -Solution: Display the directory when 'verbose' is 5 or higher. -Files: src/ex_docmd.c - -Patch 7.2.228 -Problem: Cscope is limited to 8 connections. -Solution: Allocated the connection array to handle any number of - connections. (Dominique Pelle) -Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c - -Patch 7.2.229 -Problem: Warning for shadowed variable. -Solution: Rename "wait" to "wait_time". -Files: src/os_unix.c - -Patch 7.2.230 -Problem: A few old lint-style ARGUSED comments. -Solution: Change to the new UNUSED style. -Files: src/getchar.c - -Patch 7.2.231 -Problem: Warning for unreachable code. -Solution: Add #ifdef. -Files: src/if_perl.xs - -Patch 7.2.232 -Problem: Cannot debug problems with being in a wrong directory. -Solution: When 'verbose' is 5 or higher report directory changes. -Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro - -Patch 7.2.233 (extra part of 7.2.232) -Problem: Cannot debug problems with being in a wrong directory. -Solution: When 'verbose' is 5 or higher report directory changes. -Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h - -Patch 7.2.234 -Problem: It is not possible to ignore file names without a suffix. -Solution: Use an empty entry in 'suffixes' for file names without a dot. -Files: runtime/doc/cmdline.txt, src/misc1.c - -Patch 7.2.235 -Problem: Using CTRL-O z= in Insert mode has a delay before redrawing. -Solution: Reset msg_didout and msg_scroll. -Files: src/misc1.c, src/spell.c - -Patch 7.2.236 -Problem: Mac: Compiling with Ruby doesn't always work. -Solution: In configure filter out the --arch argument (Bjorn Winckler) -Files: src/configure.in, src/auto/configure - -Patch 7.2.237 -Problem: Crash on exit when window icon not set. -Solution: Copy terminal name when using it for the icon name. -Files: src/os_unix.c - -Patch 7.2.238 -Problem: Leaking memory when setting term to "builtin_dumb". -Solution: Free memory when resetting term option t_Co. -Files: src/option.c, src/proto/option.pro, src/term.c - -Patch 7.2.239 -Problem: Using :diffpatch twice or when patching fails causes memory - corruption and/or a crash. (Bryan Venteicher) -Solution: Detect missing output file. Avoid using non-existing buffer. -Files: src/diff.c - -Patch 7.2.240 -Problem: Crash when using find/replace dialog repeatedly. (Michiel - Hartsuiker) -Solution: Avoid doing the operation while busy or recursively. Also refuse - replace when text is locked. -Files: src/gui.c - -Patch 7.2.241 -Problem: When using a combination of ":bufdo" and "doautoall" we may end up - in the wrong directory. (Ajit Thakkar) - Crash when triggering an autocommand in ":vimgrep". (Yukihiro - Nakadaira) -Solution: Clear w_localdir and globaldir when using the aucmd_win. - Use a separate flag to decide aucmd_win needs to be restored. -Files: src/fileio.c, src/globals.h, src/structs.h - -Patch 7.2.242 -Problem: Setting 'lazyredraw' causes the cursor column to be recomputed. - (Tom Link) -Solution: Only recompute the cursor column for a boolean option if changes - the cursor position. -Files: src/option.c - -Patch 7.2.243 -Problem: Memory leak when using :vimgrep and resizing. (Dominique Pelle) -Solution: Free memory for aucmd_win when resizing and don't allocate it - twice. -Files: src/screen.c - -Patch 7.2.244 -Problem: When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1 - character gives a conversion error without any hint what is wrong. -Solution: When known add the line number to the error message. -Files: src/fileio.c - -Patch 7.2.245 -Problem: When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does - conversion while none should be done. (Yukihiro Nakadaira) When - 'fenc' is empty the file is written as utf-8 instead of utf-16. -Solution: Do proper comparison of encodings, taking into account that all - Unicode values for 'enc' use utf-8 internally. -Files: src/fileio.c - -Patch 7.2.246 -Problem: Cscope home page link is wrong. -Solution: Update the URL. (Sergey Khorev) -Files: runtime/doc/if_cscop.txt - -Patch 7.2.247 -Problem: Mzscheme interface minor problem. -Solution: Better error message when build fails. (Sergey Khorev) -Files: src/if_mzsch.c - -Patch 7.2.248 (extra) -Problem: Mzscheme interface building minor problems. -Solution: Update Win32 makefiles. (Sergey Khorev) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak - -Patch 7.2.249 -Problem: The script to check .po files can't handle '%' in plural forms. -Solution: Remove "Plural-Forms:" from the checked string. -Files: src/po/check.vim - -Patch 7.2.250 (extra) -Problem: Possible buffer overflow. -Solution: Compute the remaining space. (Dominique Pelle) -Files: src/GvimExt/gvimext.cpp - -Patch 7.2.251 (after 7.2.044) -Problem: Compiler adds invalid memory bounds check. -Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle) -Files: src/auto/configure, src/configure.in - -Patch 7.2.252 -Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot - contain characters above 128. -Solution: Use mb_ptr2char_adv(). -Files: src/charset.c - -Patch 7.2.253 -Problem: Netbeans interface: getLength always uses current buffer. -Solution: Use ml_get_buf() instead of ml_get(). (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.2.254 -Problem: Compiler warning for assigning size_t to int. -Solution: Use size_t for the variable. (George Reilly) -Files: src/fileio.c - -Patch 7.2.255 (after 7.2.242) -Problem: Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be - in wrong place. -Solution: Recompute the cursor column for these options. -Files: src/option.c - -Patch 7.2.256 -Problem: When 'guifont' was not set GTK font dialog doesn't have a default. - (Andreas Metzler) -Solution: Set default to DEFAULT_FONT. (James Vega) -Files: src/gui_gtk_x11.c - -Patch 7.2.257 -Problem: With GTK 2.17 lots of assertion error messages. -Solution: Remove check for static gravity. (Sebastian Droege) -Files: src/gui_gtk_f.c - -Patch 7.2.258 -Problem: v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony - Mechelynck) -Solution: Use byte number instead of character number for the column. -Files: src/ui.c - -Patch 7.2.259 -Problem: exists() doesn't work properly for an empty aucmd group. -Solution: Change how au_exists() handles a missing pattern. Also add a - test for this. (Bob Hiestand) -Files: src/fileio.c, src/testdir/Makefile, src/testdir/test67.in, - src/testdir/test67.ok - -Patch 7.2.260 (extra part of 7.2.259) -Problem: exists() doesn't work properly for empty aucmd group. -Solution: Change how au_exists() handles a missing pattern. Also add a - test for this. (Bob Hiestand) -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms - -Patch 7.2.261 -Problem: When deleting lines with a specific folding configuration E38 may - appear. (Shahaf) -Solution: When adjusting nested folds for deleted lines take into account - that they don't start at the top of the enclosing fold. -Files: src/fold.c - -Patch 7.2.262 -Problem: When using custom completion for a user command the pattern string - goes beyond the cursor position. (Hari Krishna Dara) -Solution: Truncate the string at the cursor position. -Files: src/ex_getln.c, src/structs.h - -Patch 7.2.263 -Problem: GTK2: when using the -geom argument with an offset from the right - edge and the size is smaller than the default, the Vim window is - not positioned properly. -Solution: Use another function to set the size. (Vitaly Minko) -Files: src/gui_gtk_x11.c - -Patch 7.2.264 -Problem: GTK2: When the Vim window is maximized setting 'columns' or - 'lines' doesn't work. -Solution: Unmaximize the window before setting the size. (Vitaly Minko) -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - -Patch 7.2.265 -Problem: When using ":silent broken" inside try/catch silency may persist. - (dr-dr xp) -Solution: Set msg_silent when there is an error and it's bigger than the - saved value. -Files: src/ex_docmd.c - -Patch 7.2.266 -Problem: When an expression abbreviation is triggered, the typed character - is unknown. -Solution: Make the typed character available in v:char. -Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c, - src/proto/eval.pro - -Patch 7.2.267 -Problem: Crash for narrow window and double-width character. -Solution: Check for zero width. (Taro Muraoka) -Files: src/charset.c - -Patch 7.2.268 -Problem: Crash when using Python to set cursor beyond end of line. - (winterTTr) -Solution: Check the column to be valid. -Files: src/if_python.c - -Patch 7.2.269 -Problem: Many people struggle to find out why Vim startup is slow. -Solution: Add the --startuptime command line flag. -Files: runtime/doc/starting.txt, src/globals.h, src/feature.h, - src/main.c, src/macros.h - -Patch 7.2.270 -Problem: Using ":@c" when the c register contains a CR causes the rest to - be executed later. (Dexter Douglas) -Solution: Don't check for typeahead to start with ':', keep executing - commands until all added typeahead has been used. -Files: src/ex_docmd.c - -Patch 7.2.271 -Problem: Using freed memory in Motif GUI version when making a choice. -Solution: Free memory only after using it. (Dominique Pelle) -Files: src/gui_xmdlg.c - -Patch 7.2.272 -Problem: "_.svz" is not recognized as a swap file. (David M. Besonen) -Solution: Accept .s[uvw][a-z] as a swap file name extension. -Files: src/memline.c - -Patch 7.2.273 -Problem: Crash with redir to unknown array. (Christian Brabandt) -Solution: Don't assign the redir result when there was an error. -Files: src/eval.c - -Patch 7.2.274 -Problem: Syntax folding doesn't work properly when adding a comment. -Solution: Fix it and add a test. (Lech Lorens) -Files: src/fold.c, src/testdir/test45.in, src/testdir/test45.ok - -Patch 7.2.275 -Problem: Warning for unused argument and comparing signed and unsigned. -Solution: Add type cast. -Files: src/memline.c - -Patch 7.2.276 -Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado) -Solution: Check for the character to be < 256. Also make it possible to - specify a range of multi-byte characters. (Lech Lorens) -Files: src/charset.c - -Patch 7.2.277 -Problem: CTRL-Y in a diff'ed window may move the cursor outside of the - window. (Lech Lorens) -Solution: Limit the number of filler lines to the height of the window. - Don't reset filler lines to zero for an empty buffer. -Files: src/move.c - -Patch 7.2.278 -Problem: Using magic number in the folding code. -Solution: Use the defined MAX_LEVEL. -Files: src/fold.c - -Patch 7.2.279 -Problem: Invalid memory read with visual mode "r". (Dominique Pelle) -Solution: Make sure the cursor position is valid. Don't check the cursor - position but the position being used. And make sure we get the - right line. -Files: src/misc2.c, src/ops.c - -Patch 7.2.280 -Problem: A redraw in a custom statusline with %! may cause a crash. - (Yukihiro Nakadaira) -Solution: Make a copy of 'statusline'. Also fix typo in function name - redraw_custom_statusline. (partly by Dominique Pelle) -Files: src/screen.c - -Patch 7.2.281 -Problem: 'cursorcolumn' highlighting is wrong in diff mode. -Solution: Adjust the column computation. (Lech Lorens) -Files: src/screen.c - -Patch 7.2.282 -Problem: A fold can't be closed. -Solution: Initialize fd_small to MAYBE. (Lech Lorens) -Files: src/fold.c - -Patch 7.2.283 -Problem: Changing font while the window is maximized doesn't keep the - window maximized. -Solution: Recompute number of lines and columns after changing font. (James - Vega) -Files: src/gui_gtk_x11.c - -Patch 7.2.284 -Problem: When editing the same buffer in two windows, one with folding, - display may be wrong after changes. -Solution: Call set_topline() to take care of side effects. (Lech Lorens) -Files: src/misc1.c - -Patch 7.2.285 (after 7.2.169) -Problem: CTRL-U in Insert mode also deletes indent. (Andrey Voropaev) -Solution: Fix mistake made in patch 7.2.169. -Files: src/edit.c - -Patch 7.2.286 (after 7.2.269) -Problem: The "--startuptime=<file>" argument is not consistent with other - arguments. -Solution: Use "--startuptime <file>". Added the +startuptime feature. -Files: runtime/doc/eval.txt, runtime/doc/starting.txt, - runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c - -Patch 7.2.287 -Problem: Warning from gcc 3.4 about uninitialized variable. -Solution: Move assignment outside of #ifdef. -Files: src/if_perl.xs - -Patch 7.2.288 -Problem: Python 2.6 pyconfig.h redefines macros. -Solution: Undefine the macros before including pyconfig.h. -Files: src/if_python.c - -Patch 7.2.289 -Problem: Checking wrong struct member. -Solution: Change tb_buf to tb_noremap. (Dominique Pelle) -Files: src/getchar.c - -Patch 7.2.290 -Problem: Not freeing memory from ":lmap", ":xmap" and ":menutranslate". -Solution: Free the memory when exiting. (Dominique Pelle) -Files: src/misc2.c - -Patch 7.2.291 -Problem: Reading uninitialised memory in arabic mode. -Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique - Pelle) -Files: src/screen.c - -Patch 7.2.292 -Problem: Block right-shift doesn't work properly with multi-byte encoding - and 'list' set. -Solution: Add the missing "else". (Lech Lorens) -Files: src/ops.c - -Patch 7.2.293 -Problem: When setting 'comments' option it may be used in a wrong way. -Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira) -Files: src/misc1.c - -Patch 7.2.294 -Problem: When using TEMPDIRS dir name could get too long. -Solution: Overwrite tail instead of appending each time. Use mkdtemp() when - available. (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c - -Patch 7.2.295 -Problem: When using map() on a List the index is not known. -Solution: Set v:key to the index. (Hari Krishna Dara) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.2.296 -Problem: Help message about startuptime is wrong. (Dominique Pelle) -Solution: Remove the equal sign. -Files: src/main.c - -Patch 7.2.297 -Problem: Reading freed memory when writing ":reg" output to a register. - (Dominique Pelle) -Solution: Skip the register being written to. -Files: src/ops.c - -Patch 7.2.298 -Problem: ":vimgrep" crashes when there is an autocommand that sets a - window-local variable. -Solution: Initialize the w: hashtab for re-use. (Yukihiro Nakadaira) -Files: src/fileio.c - -Patch 7.2.299 -Problem: Crash when comment middle is longer than start. -Solution: Fix size computation. (Lech Lorens) -Files: src/misc1.c - -Patch 7.2.300 -Problem: Vim doesn't close file descriptors when forking and executing - another command, e.g., ":shell". -Solution: Use FD_CLOEXEC when available. (James Vega) -Files: auto/configure, src/config.h.in, src/configure.in, - src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c - -Patch 7.2.301 -Problem: Formatting is wrong when 'tw' is set to a small value. -Solution: Fix it and add tests. Also fix behavior of "1" in 'fo'. (Yukihiro - Nakadaira) -Files: src/edit.c, src/testdir/Makefile, src/testdir/test68.in, - src/testdir/test68.ok, src/testdir/test69.in, - src/testdir/test69,ok - -Patch 7.2.302 (extra part of 7.2.301) -Problem: Formatting wrong with small 'tw' value. -Solution: Add build rules for tests. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms - -Patch 7.2.303 (after 7.2.294) -Problem: Can't build on MS-Windows. -Solution: Add #ifdef around vim_settempdir(). (James Vega) -Files: src/fileio.c - -Patch 7.2.304 -Problem: Compiler warning for bad pointer cast. -Solution: Use another variable for int pointer. -Files: src/ops.c - -Patch 7.2.305 -Problem: Recursively redrawing causes a memory leak. (Dominique Pelle) -Solution: Disallow recursive screen updating. -Files: src/screen.c - -Patch 7.2.306 -Problem: shellescape("10%%", 1) only escapes first %. (Christian Brabandt) -Solution: Don't copy the character after the escaped one. -Files: src/misc2.c - -Patch 7.2.307 -Problem: Crash with a very long syntax match statement. (Guy Gur Ari) -Solution: When the offset does not fit in the two bytes available give an - error instead of continuing with invalid pointers. -Files: src/regexp.c - -Patch 7.2.308 -Problem: When using a regexp in the "\=" expression of a substitute - command, submatch() returns empty strings for further lines. - (Clockwork Jam) -Solution: Save and restore the line number and line count when calling - reg_getline(). -Files: src/regexp.c - -Patch 7.2.309 (after 7.2.308) -Problem: Warning for missing function prototype. (Patrick Texier) -Solution: Add the prototype. -Files: src/regexp.c - -Patch 7.2.310 -Problem: When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and - the file starts with a "# comment" it gets "conf" filetype. -Solution: Check for "conf" filetype after using ftdetect plugins. -Files: runtime/filetype.vim - -Patch 7.2.311 -Problem: Can't compile with FreeMiNT. -Solution: Change #ifdef for limits.h. (Alan Hourihane) -Files: src/fileio.c - -Patch 7.2.312 -Problem: iconv() returns an invalid character sequence when conversion - fails. It should return an empty string. (Yongwei Wu) -Solution: Be more strict about invalid characters in the input. -Files: src/mbyte.c - -Patch 7.2.313 -Problem: Command line completion doesn't work after "%:h" and similar. -Solution: Expand these items before doing the completion. -Files: src/ex_getln.c, src/misc1.c, src/proto/misc1.pro - -Patch 7.2.314 -Problem: Missing function in small build. -Solution: Always include concat_str. -Files: src/misc1.c - -Patch 7.2.315 -Problem: Python libs can't be found on 64 bit system. -Solution: Add lib64 to the list of directories. (Michael Henry) -Files: src/auto/configure, src/configure.in - -Patch 7.2.316 -Problem: May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck) -Solution: First remove all these arguments and then add the one we want. - (Dominique Pelle) -Files: src/auto/configure, src/configure.in - -Patch 7.2.317 -Problem: Memory leak when adding a highlight group with unprintable - characters, resulting in E669. -Solution: Free the memory. And fix a few typos. (Dominique Pelle) -Files: src/syntax.c - -Patch 7.2.318 -Problem: Wrong locale value breaks floating point numbers for gvim. -Solution: Set the locale again after doing GUI inits. (Dominique Pelle) -Files: src/main.c - -Patch 7.2.319 -Problem: Motif: accessing freed memory when cancelling font dialog. -Solution: Destroy the widget only after accessing it. (Dominique Pelle) -Files: src/gui_xmdlg.c - -Patch 7.2.320 -Problem: Unused function in Mzscheme interface. -Solution: Remove the function and what depends on it. (Dominique Pelle) -Files: src/if_mzsch.c, src/proto/if_mzsch.pro - -Patch 7.2.321 -Problem: histadd() and searching with "*" fails to add entry to history - when it is empty. -Solution: Initialize the history. (Lech Lorens) -Files: src/eval.c, src/normal.c - -Patch 7.2.322 -Problem: Wrong indenting in virtual replace mode with CTRL-Y below a short - line. -Solution: Check for character to be NUL. (suggested by Lech Lorens) -Files: src/edit.c - -Patch 7.2.323 (extra) -Problem: Balloon evaluation crashes on Win64. -Solution: Change pointer types. (Sergey Khorev) -Files: src/gui_w32.c - -Patch 7.2.324 -Problem: A negative column argument in setpos() may cause a crash. -Solution: Check for invalid column number. (James Vega) -Files: src/eval.c, src/misc2.c - -Patch 7.2.325 -Problem: A stray "w" in the startup vimrc file causes the edited file to be - replaced with an empty file. (Stone Kang). -Solution: Do not write a buffer when it has never been loaded. -Files: src/fileio.c - -Patch 7.2.326 -Problem: Win32: $HOME doesn't work when %HOMEPATH% is not defined. -Solution: Use "\" for %HOMEPATH% when it is not defined. -Files: src/misc1.c - -Patch 7.2.327 -Problem: Unused functions in Workshop. -Solution: Add "#if 0" and minor cleanup. (Dominique Pelle) -Files: src/workshop.c, src/integration.c, src/integration.h - -Patch 7.2.328 -Problem: has("win64") does not return 1 on 64 bit MS-Windows version. -Solution: Also check for _WIN64 besides WIN64. -Files: src/eval.c - -Patch 7.2.329 -Problem: "g_" doesn't position cursor correctly when in Visual mode and - 'selection' is "exclusive". (Ben Fritz) -Solution: Call adjust_for_sel(). -Files: src/normal.c - -Patch 7.2.330 -Problem: Tables for Unicode case operators are outdated. -Solution: Add a Vim script for generating the tables. Include tables for - Unicode 5.2. -Files: runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c - -Patch 7.2.331 -Problem: Can't interrupt "echo list" for a very long list. -Solution: Call line_breakcheck() in list_join(). -Files: src/eval.c - -Patch 7.2.332 -Problem: Crash when spell correcting triggers an autocommand that reloads - the buffer. -Solution: Make a copy of the line to be modified. (Dominique Pelle) -Files: src/spell.c - -Patch 7.2.333 -Problem: Warnings from static code analysis. -Solution: Small changes to various lines. (Dominique Pelle) -Files: src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c, - src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c, - src/syntax.c, src/ui.c - -Patch 7.2.334 -Problem: Postponing keys in Netbeans interface does not work properly. -Solution: Store the key string instead of the number. Avoid an infinite - loop. (Mostly by Xavier de Gaye) -Files: src/netbeans.c, src/proto/netbeans.pro - -Patch 7.2.335 -Problem: The CTRL-] command escapes too many characters. -Solution: Use a different list of characters to be escaped. (Sergey Khorev) -Files: src/normal.c - -Patch 7.2.336 -Problem: MzScheme interface can't evaluate an expression. -Solution: Add mzeval(). (Sergey Khorev) -Files: runtime/doc/eval.txt, runtime/doc/if_mzsch.txt, - runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c, - src/proto/eval.pro, src/proto/if_mzsch.pro, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in, - src/testdir/test70.in, src/testdir/test70.ok - -Patch 7.2.337 -Problem: The :compiler command doesn't function properly when invoked in a - function. -Solution: Add "g:" before "current_compiler". (Yukihiro Nakadaira) -Files: src/ex_cmds2.c - -Patch 7.2.338 (after 7.2.300) -Problem: Part of FD_CLOEXEC change is missing. -Solution: Include source file skipped because of typo. -Files: src/ex_cmds2.c - -Patch 7.2.339 (after 7.2.269) -Problem: Part of --startuptime patch is missing. -Solution: Add check for time_fd. -Files: src/ex_cmds2.c - -Patch 7.2.340 -Problem: Gcc warning for condition that can never be true. (James Vega) -Solution: Use start_lvl instead flp->lvl. -Files: src/fold.c - -Patch 7.2.341 -Problem: Popup menu wraps to next line when double-wide character doesn't - fit. (Jiang Ma) -Solution: Display a ">" instead. (Dominique Pelle) -Files: src/screen.c - -Patch 7.2.342 -Problem: Popup menu displayed wrong in 'rightleft' mode when there are - multi-byte characters. -Solution: Adjust the column computations. (Dominique Pelle) -Files: src/popupmnu.c - -Patch 7.2.343 (after 7.2.338) -Problem: Can't compile on Win32. -Solution: Insert the missing '|'. -Files: src/ex_cmds2.c - -Patch 7.2.344 (after 7.2.343) -Problem: Can't compile on some systems -Solution: Move the #ifdef outside of the mch_open macro. (Patrick Texier) -Files: src/ex_cmds2.c - -Patch 7.2.345 -Problem: Tab line is not updated when the value of 'bt' is changed. -Solution: Call redraw_titles(). (Lech Lorens) -Files: src/option.c - -Patch 7.2.346 -Problem: Repeating a command with @: causes a mapping to be applied twice. -Solution: Do not remap characters inserted in the typeahead buffer. (Kana - Natsuno) -Files: src/ops.c - -Patch 7.2.347 -Problem: Crash when executing <expr> mapping redefines that same mapping. -Solution: Save the values used before evaluating the expression. -Files: src/getchar.c - -Patch 7.2.348 (after 7.2.330) -Problem: Unicode double-width characters are not up-to date. -Solution: Produce the double-width table like the others. -Files: runtime/tools/unicode.vim, src/mbyte.c - -Patch 7.2.349 -Problem: CTRL-W gf doesn't put the new tab in the same place as "tab split" - and "gf". (Tony Mechelynck) -Solution: Store the tab number in cmdmod.tab. -Files: src/window.c - -Patch 7.2.350 -Problem: Win32: When changing font the window may jump from the secondary - to the primary screen. (Michael Wookey) -Solution: When the screen position was negative don't correct it to zero. -Files: src/gui.c - -Patch 7.2.351 (after 7.2.347) -Problem: Can't build with some compilers. -Solution: Move the #ifdef outside of a macro. Cleanup the code. -Files: src/getchar.c - -Patch 7.2.352 (extra) -Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. -Solution: Always return TRUE for the WM_NCCREATE message. (Andy Kittner) -Files: src/gui_w48.c - -Patch 7.2.353 -Problem: No command line completion for ":profile". -Solution: Complete the subcommand and file name. -Files: src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c, - src/proto/ex_cmds2.pro, src/vim.h - -Patch 7.2.354 -Problem: Japanese single-width double-byte characters not handled correctly. -Solution: Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[]. - (partly by Kikuchan) -Files: src/screen.c - -Patch 7.2.355 -Problem: Computing the cursor column in validate_cursor_col() is wrong when - line numbers are used and 'n' is not in 'cpoptions', causing the - popup menu to be positioned wrong. -Solution: Correctly use the offset. (partly by Dominique Pelle) -Files: src/move.c - -Patch 7.2.356 -Problem: When 'foldmethod' is changed not all folds are closed as expected. -Solution: In foldUpdate() correct the start position and reset fd_flags when - w_foldinvalid is set. (Lech Lorens) -Files: src/fold.c - -Patch 7.2.357 -Problem: When changing 'fileformat' from/to "mac" and there is a CR in the - text the display is wrong. -Solution: Redraw the text when 'fileformat' is changed. (Ben Schmidt) -Files: src/option.c - -Patch 7.2.358 -Problem: Compiler warnings on VMS. (Zoltan Arpadffy) -Solution: Pass array itself instead its address. Return a value. -Files: src/gui_gtk_x11.c, src/os_unix.c - -Patch 7.2.359 -Problem: Crash when using the Netbeans join command. -Solution: Make sure the ml_flush_line() function is not used recursively. - (Xavier de Gaye) -Files: src/memline.c - -Patch 7.2.360 -Problem: Ruby on MS-Windows: can't use sockets. -Solution: Call NtInitialize() during initialization. (Ariya Mizutani) -Files: src/if_ruby.c - -Patch 7.2.361 -Problem: Ruby 1.9 is not supported. -Solution: Add Ruby 1.9 support. (Masaki Suketa) -Files: src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c - -Patch 7.2.362 (extra, after 7.2.352) -Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. -Solution: Instead of handling WM_NCCREATE, create wide text area window - class if the parent window iw side. (Sergey Khorev) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.2.363 -Problem: Can't dynamically load Perl 5.10. -Solution: Add the function Perl_croak_xs_usage. (Sergey Khorev) -Files: src/if_perl.xs - -Patch 7.2.364 (extra) -Problem: Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott) -Solution: Check if _MSC_VER is defined. (Andy Kittner) -Files: src/GvimExt/gvimext.h - -Patch 7.2.365 (extra) -Problem: MS-Windows with MingW: "File->Save As" does not work. (John - Marriott) -Solution: Correctly fill in structure size. (Andy Kittner) -Files: src/gui_w48.c - -Patch 7.2.366 -Problem: CTRL-B doesn't go back to the first line of the buffer. -Solution: Avoid an overflow when adding MAXCOL. -Files: src/move.c - -Patch 7.2.367 -Problem: "xxd -r -p" doesn't work as documented. -Solution: Skip white space. (James Vega) -Files: src/xxd/xxd.c - -Patch 7.2.368 (after 7.2.361) -Problem: Ruby interface: Appending line doesn't work. (Michael Henry) -Solution: Reverse check for NULL line. (James Vega) -Files: src/if_ruby.c - -Patch 7.2.369 -Problem: Error message is not easy to understand. -Solution: Add quotes. (SungHyun Nam) -Files: src/ex_cmds2.c - -Patch 7.2.370 (after 7.2.356) -Problem: A redraw may cause folds to be closed. -Solution: Revert part of the previous patch. Add a test. (Lech Lorens) -Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in, - src/testdir/test45.ok - -Patch 7.2.371 -Problem: Build problems on Tandem NonStop. -Solution: A few changes to #ifdefs (Joachim Schmitz) -Files: src/auto/configure, src/configure.in, src/config.h.in, src/vim.h, - src/if_cscope.c, src/osdef1.h.in, src/tag.c - -Patch 7.2.372 (extra) -Problem: Cross-compiling GvimExt and xxd doesn't work. -Solution: Change the build files. (Markus Heidelberg) -Files: src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak, - src/Make_ming.mak, src/xxd/Make_cyg.mak - -Patch 7.2.373 -Problem: Gcc 4.5 adds more error messages. (Chris Indy) -Solution: Update default 'errorformat'. -Files: src/option.h - -Patch 7.2.374 -Problem: Ruby eval() doesn't understand Vim types. -Solution: Add the vim_to_ruby() function. (George Gensure) -Files: src/eval.c, src/if_ruby.c - -Patch 7.2.375 -Problem: ml_get errors when using ":bprevious" in a BufEnter autocmd. - (Dominique Pelle) -Solution: Clear w_valid when entering another buffer. -Files: src/buffer.c - -Patch 7.2.376 -Problem: ml_get error when using SiSU syntax. (Nathan Thomas) -Solution: If the match ends below the last line move it to the end of the - last line. -Files: src/syntax.c - -Patch 7.2.377 (extra, after 7.2.372) -Problem: Misplaced assignment. Duplicate build line for gvimext.dll. -Solution: Move setting CROSS_COMPILE to before ifneq. Remove the wrong - build line. (Markus Heidelberg) -Files: src/Make_ming.mak - -Patch 7.2.378 -Problem: C function declaration indented too much. (Rui) -Solution: Don't see a line containing { or } as a type. (Matt Wozniski) -Files: src/misc1.c - -Patch 7.2.379 -Problem: 'eventignore' is set to an invalid value inside ":doau". (Antony - Scriven) -Solution: Don't include the leading comma when the option was empty. -Files: src/fileio.c - -Patch 7.2.380 (after 7.2.363) -Problem: Perl interface builds with 5.10.1 but not with 5.10.0. -Solution: Change the #ifdefs. (Sergey Khorev) -Files: src/if_perl.xs - -Patch 7.2.381 -Problem: No completion for :behave. -Solution: Add :behave completion. Minor related fixes. (Dominique Pelle) -Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h - -Patch 7.2.382 -Problem: Accessing freed memory when closing the cmdline window when - 'bufhide' is set to "wipe". -Solution: Check if the buffer still exists before invoking close_buffer() - (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.383 -Problem: Vim doesn't build cleanly with MSVC 2010. -Solution: Change a few types. (George Reilly) -Files: src/ex_cmds2.c, src/if_python.c, src/syntax.c - -Patch 7.2.384 (extra) -Problem: Vim doesn't build properly with MSVC 2010. -Solution: Add the nmake version to the build file. (George Reilly) -Files: src/Make_mvc.mak, src/testdir/Make_dos.mak - -Patch 7.2.385 -Problem: When in the command line window dragging status line only works - for last-but-one window. (Jean Johner) -Solution: Remove the code that disallows this. -Files: src/ui.c - -Patch 7.2.386 -Problem: Focus hack for KDE 3.1 causes problems for other window managers. -Solution: Remove the hack. (forwarded by Joel Bradshaw) -Files: src/gui_gtk.c - -Patch 7.2.387 -Problem: Ruby with MingW still doesn't build all versions. -Solution: More #ifdefs for the Ruby code. (Sergey Khorev) -Files: src/if_ruby.c - -Patch 7.2.388 (extra part of 7.2.387) -Problem: Ruby with MingW still doesn't build all versions. -Solution: Different approach to build file. (Sergey Khorev) -Files: src/Make_ming.mak - -Patch 7.2.389 -Problem: synIDattr() cannot return the font. -Solution: Support the "font" argument. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/syntax.c - -Patch 7.2.390 -Problem: In some situations the popup menu can be displayed wrong. -Solution: Remove the popup menu if the cursor moved. (Lech Lorens) -Files: src/edit.c - -Patch 7.2.391 -Problem: Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen) -Solution: Fix computations in getvcol(). (partly by Lech Lorens) -Files: src/charset.c, src/memline.c - -Patch 7.2.392 -Problem: Netbeans hangs reading from a socket at the maximum block size. -Solution: Use select() or poll(). (Xavier de Gaye) -Files: src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c - -Patch 7.2.393 -Problem: Mac: Can't build with different Xcode developer tools directory. -Solution: make "Developer" directory name configurable. (Rainer Muller) -Files: src/configure.in, src/auto/configure - -Patch 7.2.394 -Problem: .lzma and .xz files are not supported. -Solution: Recognize .lzma and .xz files so that they can be edited. -Files: runtime/plugin/gzip.vim - -Patch 7.2.395 -Problem: In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony - Mechelynck) -Solution: Don't escape ? for a help command. (Sergey Khorev) -Files: src/normal.c - -Patch 7.2.396 -Problem: Get E38 errors. (Dasn) -Solution: Set cursor to line 1 instead of 0. (Dominique Pelle) -Files: src/popupmnu.c - -Patch 7.2.397 -Problem: Redundant check for w_lines_valid. -Solution: Remove the if. (Lech Lorens) -Files: src/fold.c - -Patch 7.2.398 -Problem: When moving windows the cursor ends up in the wrong line. -Solution: Set the window width and height properly. (Lech Lorens) -Files: src/window.c - -Patch 7.2.399 (extra, after 7.2.388) -Problem: Cannot compile on MingW. -Solution: Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle) -Files: src/Make_ming.mak - -Patch 7.2.400 (after 7.2.387) -Problem: Dynamic Ruby is not initialised properly for version 1.9.1. - Ruby cannot create strings from NULL. -Solution: Cleanup #ifdefs. Handle NULL like an empty string. Add - ruby_init_stack. (Sergey Khorev) -Files: src/if_ruby.c - -Patch 7.2.401 -Problem: ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight - directory names with a space. (Alexandre Provencio) -Solution: Remove the backslash before checking if the name is a directory. - (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.402 -Problem: This gives a #705 error: let X = function('haslocaldir') - let X = function('getcwd') -Solution: Don't give E705 when the name is found in the hashtab. (Sergey - Khorev) -Files: src/eval.c - -Patch 7.2.403 (after 7.2.400) -Problem: Compiler warning for pointer type. (Tony Mechelynck) -Solution: Move type cast to the right place. -Files: src/if_ruby.c - -Patch 7.2.404 -Problem: Pointers for composing characters are not properly initialized. -Solution: Compute the size of the pointer, not what it points to. (Yukihiro - Nakadaira) -Files: src/screen.c - -Patch 7.2.405 -Problem: When built with small features the matching text is not - highlighted for ":s/pat/repl/c". -Solution: Remove the #ifdef for IncSearch. (James Vega) -Files: src/syntax.c - -Patch 7.2.406 -Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle) -Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro - Nakadaira) Also clear ScreeenLinesC when allocating. -Files: src/screen.c - -Patch 7.2.407 -Problem: When using an expression in ":s" backslashes in the result are - dropped. (Sergey Goldgaber, Christian Brabandt) -Solution: Double backslashes. -Files: src/regexp.c - -Patch 7.2.408 -Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line - that was not changed. -Solution: Only set '[ and '] marks when a substitution was done. -Files: src/ex_cmds.c - -Patch 7.2.409 -Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean - Johner) -Solution: Reset sub_nsubs and sub_nlines in global_exe(). -Files: src/ex_cmds.c - -Patch 7.2.410 -Problem: Highlighting directories for completion doesn't work properly. -Solution: Don't halve backslashes when not needed, expanded "~/". - (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.2.411 -Problem: When parsing 'cino' a comma isn't skipped properly. -Solution: Skip the comma. (Lech Lorens) -Files: src/misc1.c - -Patch 7.2.412 -Problem: [ or ] followed by mouse click doesn't work. -Solution: Reverse check for key being a mouse event. (Dominique Pelle) -Files: src/normal.c - -Patch 7.2.413 -Problem: Large file support is incorrect. -Solution: Add AC_SYS_LARGEFILE to configure. (James Vega) -Files: src/configure.in, src/config.h.in, src/auto/configure - -Patch 7.2.414 -Problem: CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony - Mechelynck) -Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are - not valid characters. -Files: src/digraph.c - -Patch 7.2.415 -Problem: Win32: Can't open a remote file when starting Vim. -Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi) -Files: src/main.c - -Patch 7.2.416 -Problem: Logtalk.dict is not installed. -Solution: Add it to the install target. (Markus Heidelberg) -Files: src/Makefile - -Patch 7.2.417 -Problem: When 'shell' has an argument with a slash then 'shellpipe' is not - set properly. (Britton Kerin) -Solution: Assume there are no spaces in the path, arguments follow. -Files: src/option.c - -Patch 7.2.418 -Problem: Vim tries to set the background or foreground color in a terminal - to -1. (Graywh) Happens with ":hi Normal ctermbg=NONE". -Solution: When resetting the foreground or background color don't set the - color, let the clear screen code do that. -Files: src/syntax.c - -Patch 7.2.419 -Problem: Memory leak in Motif when clicking on "Search Vim Help". -Solution: Free string returned by XmTextGetString(). (Dominique Pelle) -Files: src/gui_motif.c - -Patch 7.2.420 -Problem: ":argedit" does not accept "++enc=utf8" as documented. (Dominique - Pelle) -Solution: Add the ARGOPT flag to ":argedit". -Files: src/ex_cmds.h - -Patch 7.2.421 -Problem: Folds are sometimes not updated properly and there is no way to - force an update. -Solution: Make "zx" and "zX" recompute folds (suggested by Christian - Brabandt) -Files: src/normal.c - -Patch 7.2.422 -Problem: May get E763 when using spell dictionaries. -Solution: Avoid utf-8 case folded character to be truncated to 8 bits and - differ from latin1. (Dominique Pelle) -Files: src/spell.c - -Patch 7.2.423 -Problem: Crash when assigning s: to variable. (Yukihiro Nakadaira) -Solution: Make ga_scripts contain pointer to scriptvar_T instead of - scriptvar_T itself. (Dominique Pelle) -Files: src/eval.c - -Patch 7.2.424 -Problem: ":colorscheme" without an argument doesn't do anything. -Solution: Make it echo the current color scheme name. (partly by Christian - Brabandt) -Files: runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.425 -Problem: Some compilers complain about fourth EX() argument. -Solution: Add cast to long_u. -Files: src/ex_cmds.h - -Patch 7.2.426 -Problem: Commas in 'langmap' are not always handled correctly. -Solution: Require commas to be backslash escaped. (James Vega) -Files: src/option.c - -Patch 7.2.427 -Problem: The swapfile is created using the destination of a symlink, but - recovery doesn't follow symlinks. -Solution: When recovering, resolve symlinks. (James Vega) -Files: src/memline.c - -Patch 7.2.428 -Problem: Using setqflist([]) to clear the error list doesn't work properly. -Solution: Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.2.429 -Problem: A file that exists but access is denied may result in a "new file" - message. E.g. when its directory is unreadable. -Solution: Specifically check for ENOENT to decide a file doesn't exist. - (partly by James Vega) -Files: src/fileio.c - -Patch 7.2.430 -Problem: The ++bad argument is handled wrong, resulting in an invalid - memory access. -Solution: Use the bad_char field only for the replacement character, add - bad_char_idx to store the position. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.431 -Problem: ":amenu" moves the cursor when in Insert mode. -Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt) -Files: src/menu.c - -Patch 7.2.432 -Problem: When menus are translated they can only be found by the translated - name. That makes ":emenu" difficult to use. -Solution: Store the untranslated name and use it for completion and :emenu. - (Liang Peng (Bezetek James), Edward L. Fox) -Files: src/menu.c, src/structs.h - -Patch 7.2.433 -Problem: Can't use cscope with QuickFixCmdPre and QuickFixCmdPost. -Solution: Add cscope support for these autocmd events. (Bryan Venteicher) -Files: runtime/doc/autocmd.txt, src/if_cscope.c - -Patch 7.2.434 (after 7.2.432) -Problem: Compilation fails without the multi-lang feature. -Solution: Add #ifdefs. (John Marriott) -Files: src/menu.c - -Patch 7.2.435 (after 7.2.430) -Problem: Crash when using bad_char_idx uninitialized. (Patrick Texier) -Solution: Don't use bad_char_idx, reproduce the ++bad argument from bad_char. -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - -Patch 7.2.436 -Problem: Reproducible crash in syntax HL. (George Reilly, Dominique Pelle) -Solution: Make sst_stacksize an int instead of short. (Dominique Pelle) -Files: src/structs.h - -Patch 7.2.437 (after 7.2.407) -Problem: When "\\\n" appears in the expression result the \n doesn't result - in a line break. (Andy Wokula) -Solution: Also replace a \n after a backslash into \r. -Files: src/regexp.c - -Patch 7.2.438 (after 7.2.427) -Problem: "vim -r" crashes. -Solution: Don't use NULL pointer argument. -Files: src/memline.c - -Patch 7.2.439 -Problem: Invalid memory access when doing thesaurus completion and - 'infercase' is set. -Solution: Use the minimal length of completed word and replacement. - (Dominique Pelle) -Files: src/edit.c - -Patch 7.2.440 -Problem: Calling a function through a funcref, where the function deletes - the funcref, leads to an invalid memory access. -Solution: Make a copy of the function name. (Lech Lorens) -Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok - -Patch 7.2.441 -Problem: When using ":earlier" undo information may be wrong. -Solution: When changing alternate branches also adjust b_u_oldhead. -Files: src/undo.c - -Patch 7.2.442 (after 7.2.201) -Problem: Copy/paste with OpenOffice doesn't work. -Solution: Do not offer the HTML target when it is not supported. (James - Vega) -Files: src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro - -Patch 7.2.443 -Problem: Using taglist() on a tag file with duplicate fields generates an - internal error. (Peter Odding) -Solution: Check for duplicate field names. -Files: src/eval.c, src/proto/eval.pro, src/tag.c - -Patch 7.2.444 (after 7.2.442) -Problem: Can't build with GTK 1, gtk_selection_clear_targets() is not - available. (Patrick Texier) -Solution: Don't change the targets for GTK 1, set them once. -Files: src/gui_gtk_x11.c, src/option.c - -Patch 7.2.445 -Problem: Crash when using undo/redo and a FileChangedRO autocmd event that - reloads the buffer. (Dominique Pelle) -Solution: Do not allow autocommands while performing and undo or redo. -Files: src/misc1.c, src/undo.c - -Patch 7.2.446 -Problem: Crash in GUI when closing the last window in a tabpage. (ryo7000) -Solution: Remove the tabpage from the list before freeing the window. -Files: src/window.c - -When writing a file, switching tab pages and selecting a word the file write -message would be displayed again. This happened in Insert mode and with -'cmdheight' set to 2. - -When using ":lang" to set a locale that uses a comma for decimal separator and -using GTK floating point numbers stop working. Use gtk_disable_setlocale(). -(James Vega) - -"g8" didn't produce the right value on a NUL. (Dominique Pelle) - -Use BASEMODLIBS instead of MODLIBS for Python configuration to pick up the -right compiler flags. (Michael Bienia) - -Window title was not updated after dropping a file on Vim. (Hari G) - -synstack() did not return anything when just past the end of the line. Useful -when using the cursor position in Insert mode. - -When entering a digraph or special character after a line that fits the window -the '?' or '^' on the next line is not redrawn. (Ian Kelling) - -Composing characters in |:s| substitute text were dropped. - -|exists()| was causing an autoload script to be loaded. - -Filter out -pthread for cproto. - -Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin -Toft) - -Spell menu moved the cursor, causing Copy not to work. Spell replacement -didn't work in 'compatible' mode. - -Various small fixes from Dominique Pelle. - -Fix that :mksession may generate "2argu" even though there is no such -argument. (Peter Odding) - -Fixes for time in clipboard request. Also fix ownership. (David Fries) - -Fixed completion of file names with '%' and '*'. - -Fixed MSVC makefile use of /Wp64 flag. - -Correct use of long instead of off_t for file size. (James Vega) - -Add a few #ifdefs to exclude functions that are not used. (Dominique Pelle) - -Remove old and unused method to allocate memory for undo. - -Fix definition of UINT_PTR for 64 bit systems. - -Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr. - -Window title not updated after file dropped. - -Fixed crash for ":find" completion, might also happen in other path expansion -usage. - -When 'searchhl' causes a hang make CTRL-C disable 'searchhl'. - -When resetting both 'title' and 'icon' the title would be set after a shell -command. - -Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up. - -Fix for compiler warning about function prototype in pty.c. - -Added 'window' to the options window. - -Fixed: errors for allocating zero bytes when profiling an empty function. - -Remove -arch flag from build flags for Perl. (Bjorn Wickler) - -Fix 'autochdir' not showing up in :options window. (Dominique Pelle) - -Fix: test 69 didn't work on MS-Windows. Test 72 beeped too often. - -Avoid illegal memory access in spell suggestion. (Dominique Pelle) -Fix: crash in spell checking with a 0x300 character. - -Avoid that running tests changes viminfo. - -Fix: changing case of a character removed combining characters. -Fixed: CTRL-R in Insert mode doesn't insert composing characters. - -Added the WOW64 flag to OLE registration, for 64 bit Windows systems. - -Various fixes for coverity warnings. - -Fix compile warnings, esp. for 64-bit systems. (Mike Williams) - -Fix: :redir to a dictionary that is changed before ":redir END" causes a -memory access error. - -Fix: terminal title not properly restored when there are multi-byte -characters. (partly by James Vega) - -Set 'wrapscan' when checking the .po files. (Mike Williams) - -Win32: Put quotes around the gvim.exe path for the "Open with" menu entry. - -On MS-Windows sometimes files with number 4913 or higher are left behind. - -'suffixesadd' was used for finding tags file. - -Removed unused code. - -Improved positioning of combining characters in GTK. - -Made test 11 pass when there is no gzip program. (John Beckett) - -Changed readfile() to ignore byte order marks, unless in binary mode. - -On MS-Windows completion of shell commands didn't work. - -An unprintable multi-byte character at the start of the screen line caused the -following text to be drawn at the wrong position. - -Got ml_get errors when using undo with 'virtualedit'. - -Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron) - -Unix "make install" installed a few Amiga .info files. - -Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars' -contains a character that would become double width. - -Set 'wrapscan' when checking the .po files. (Mike Williams) - -Fixed: using expression in command line may cause a crash. - -Avoid warnings from the clang compiler. (Dominique Pelle) - -Fix: Include wchar.h in charset.c for towupper(). - -Fixed: Using ":read file" in an empty buffer when 'compatible' is set caused -an error. Was caused by patch 7.2.132. - -Make the references to features in the help more consistent. (Sylvain Hitier) - -============================================================================== -VERSION 7.4 *version-7.4* *version7.4* - -This section is about improvements made between version 7.3 and 7.4. - -This release has hundreds of bug fixes and there are a few new features. The -most notable new features are: - -- New regexp engine |new-regexp-engine| -- A more pythonic Python interface |better-python-interface| - - -New regexp engine *new-regexp-engine* ------------------ - -What is now called the "old" regexp engine uses a backtracking algorithm. It -tries to match the pattern with the text in one way, and when that fails it -goes back and tries another way. This works fine for simple patterns, but -complex patterns can be very slow on longer text. - -The new engine uses a state machine. It tries all possible alternatives at -the current character and stores the possible states of the pattern. This is -a bit slower for simple patterns, but much faster for complex patterns and -long text. - -Most notably, syntax highlighting for Javascript and XML files with long lines -is now working fine. Previously Vim could get stuck. - -More information here: |two-engines| - - -Better Python interface *better-python-interface* ------------------------ - -Added |python-bindeval| function. Unlike |python-eval| this one returns -|python-Dictionary|, |python-List| and |python-Function| objects for -dictionaries lists and functions respectively in place of their Python -built-in equivalents (or None if we are talking about function references). - For simple types this function returns Python built-in types and not only -Python `str()` like |python-eval| does. On Python 3 it will return `bytes()` -objects in place of `str()` ones avoiding possibility of UnicodeDecodeError. - Interface of new objects mimics standard Python `dict()` and `list()` -interfaces to some extent. Extent will be improved in the future. - -Added special |python-vars| objects also available for |python-buffer| and -|python-window|. They ease access to VimL variables from Python. - -Now you no longer need to alter `sys.path` to import your module: special -hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and -{rtp}/pythonx directories (for Python 2, Python 3 and both respectively). -See |python-special-path|. - -Added possibility to work with |tabpage|s through |python-tabpage| object. - -Added automatic conversion of Vim errors and exceptions to Python -exceptions. - -Changed the behavior of the |python-buffers| object: it now uses buffer numbers -as keys in place of the index of the buffer in the internal buffer list. -This should not break anything as the only way to get this index was -iterating over |python-buffers|. - -Added |:pydo| and |:py3do| commands. - -Added the |pyeval()| and |py3eval()| functions. - -Now in all places which previously accepted `str()` objects, `str()` and -`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted. - -|python-window| has gained `.col` and `.row` attributes that are currently -the only way to get internal window positions. - -Added or fixed support for `dir()` in Vim Python objects. - - -Changed *changed-7.4* -------- - -Old Python versions (≤2.2) are no longer supported. Building with them did -not work anyway. - -Options: - Added ability to automatically save the selection into the system - clipboard when using non-GUI version of Vim (autoselectplus in - 'clipboard'). Also added ability to use the system clipboard as - default register (previously only primary selection could be used). - (Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar) - - Added a special 'shiftwidth' value that makes 'sw' follow 'tabstop'. - As indenting via 'indentexpr' became tricky |shiftwidth()| function - was added. Also added equivalent special value to 'softtabstop' - option. (Christian Brabandt, so8res) - - Show absolute number in number column when 'relativenumber' option is - on. Now there are four combinations with 'number' and - 'relativenumber'. (Christian Brabandt) - -Commands: - |:diffoff| now saves the local values of some settings and restores - them in place of blindly resetting them to the defaults. (Christian - Brabandt) - -Other: - Lua interface now also uses userdata binded to Vim structures. (Taro - Muraoka, Luis Carvalho) - - glob() and autocommand patterns used to work with the undocumented - "\{n,m\}" item from a regexp. "\{" is now used for a literal "{", as - this is normal in shell file patterns. Now used "\\\{n,m\}" to get - "\{n,m}" in the regexp pattern. - -Added *added-7.4* ------ - -Various syntax, indent and other plugins were added. - -Added support for |Lists| and |Dictionaries| in |viminfo|. (Christian -Brabandt) - -Functions: - Bitwise functions: |and()|, |or()|, |invert()|, |xor()|. - - Added |luaeval()| function. (Taro Muraoka, Luis Carvalho) - - Added |sha256()| function. (Tyru, Hirohito Higashi) - - Added |wildmenumode()| function. (Christian Brabandt) - - Debugging functions: |screenattr()|, |screenchar()|, |screencol()|, - |screenrow()|. (Simon Ruderich, Bram Moolenaar) - - Added ability to use |Dictionary-function|s for |sort()|ing, via - optional third argument. (Nikolay Pavlov) - - Added special |expand()| argument that expands to the current line - number. - - Made it possible to force |char2nr()| to always give unicode codepoints - regardless of current encoding. (Yasuhiro Matsumoto) - - Made it possible for functions generating file list generate |List| - and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian - Brabandt) - - Functions that obtain variables from the specific window, tabpage or - buffer scope dictionary can now return specified default value in - place of empty string in case variable is not found. (|gettabvar()|, - |getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi) - -Autocommands: - Added |InsertCharPre| event launched before inserting character. - (Jakson A. Aquino) - - Added |CompleteDone| event launched after finishing completion in - insert mode. (idea by Florian Klein) - - Added |QuitPre| event launched when commands that can either close Vim - or only some window(s) are launched. - - Added |TextChanged| and |TextChangedI| events launched when text is - changed. - -Commands: - |:syntime| command useful for debugging. - - Made it possible to remove all signs from the current buffer using - |:sign-unplace|. (Christian Brabandt) - - Added |:language| autocompletion. (Dominique Pelle) - - Added more |:command-complete| completion types: |:behave| suboptions, - color schemes, compilers, |:cscope| suboptions, files from 'path', - |:history| suboptions, locale names, |:syntime| suboptions, user - names. (Dominique Pelle) - - Added |:map-nowait| creating mapping which when having lhs that is the - prefix of another mapping’s lhs will not allow Vim to wait for user to - type more characters to resolve ambiguity, forcing Vim to take the - shorter alternative: one with <nowait>. - -Options: - Made it possible to ignore case when completing: 'wildignorecase'. - - Added ability to delete comment leader when using |J| by `j` flag in - 'formatoptions' (|fo-table|). (Lech Lorens) - - Added ability to control indentation inside namespaces: |cino-N|. - (Konstantin Lepa) - - Added ability to control alignment inside `if` condition separately - from alignment inside function arguments: |cino-k|. (Lech Lorens) - -Other: - Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar) - - Added |v:windowid| variable containing current window number in GUI - Vim. (Christian J. Robinson, Lech Lorens) - - Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito) - - -All changes in 7.4 *fixed-7.4* ------------------- - -Patch 7.3.001 -Problem: When editing "src/main.c" and 'path' set to "./proto", - ":find e<C-D" shows ./proto/eval.pro instead of eval.pro. -Solution: Check for path separator when comparing names. (Nazri Ramliy) -Files: src/misc1.c - -Patch 7.3.002 -Problem: ":find" completion doesn't work when halfway an environment - variable. (Dominique Pelle) -Solution: Only use in-path completion when expanding file names. (Nazri - Ramliy) -Files: src/ex_docmd.c - -Patch 7.3.003 -Problem: Crash with specific BufWritePost autocmd. (Peter Odding) -Solution: Don't free the quickfix title twice. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.3.004 -Problem: Crash when using very long regexp. (Peter Odding) -Solution: Reset reg_toolong. (Carlo Teubner) -Files: src/regexp.c - -Patch 7.3.005 -Problem: Crash when using undotree(). (Christian Brabandt) -Solution: Increase the list reference count. Add a test for undotree() - (Lech Lorens) -Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in - -Patch 7.3.006 -Problem: Can't build some multi-byte code with C89. -Solution: Move code to after declarations. (Joachim Schmitz) -Files: src/mbyte.c, src/spell.c - -Patch 7.3.007 -Problem: Python code defines global "buffer". Re-implements a grow-array. -Solution: Use a grow-array instead of coding the same functionality. Handle - out-of-memory situation properly. -Files: src/if_py_both.h - -Patch 7.3.008 -Problem: 'cursorbind' is kept in places where 'scrollbind' is reset. -Solution: Reset 'cursorbind'. -Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h, - src/quickfix.c, src/search.c, src/tag.c, src/window.c - -Patch 7.3.009 -Problem: Win32: Crash on Windows when using a bad argument for strftime(). - (Christian Brabandt) -Solution: Use the bad_param_handler(). (Mike Williams) -Files: src/os_win32.c - -Patch 7.3.010 -Problem: Mac GUI: Missing break statements. -Solution: Add the break statements. (Dominique Pelle) -Files: src/gui_mac.c - -Patch 7.3.011 -Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection - after a shell command doesn't work. -Solution: When using the GUI use XtLastTimestampProcessed() instead of - changing a property. (partly by Toni Ronkko) - When executing a shell command disown the selection. -Files: src/ui.c, src/os_unix.c - -Patch 7.3.012 -Problem: Problems building with MingW. -Solution: Adjust the MingW makefiles. (Jon Maken) -Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak - -Patch 7.3.013 -Problem: Dynamic loading with Ruby doesn't work for 1.9.2. -Solution: Handle rb_str2cstr differently. Also support dynamic loading on - Unix. (Jon Maken) -Files: src/if_ruby.c - -Patch 7.3.014 -Problem: Ending a line in a backslash inside an ":append" or ":insert" - command in Ex mode doesn't work properly. (Ray Frush) -Solution: Halve the number of backslashes, only insert a NUL after an odd - number of backslashes. -Files: src/ex_getln.c - -Patch 7.3.015 -Problem: Test is using error message that no longer exists. -Solution: Change E106 to E121. (Dominique Pelle) -Files: src/testdir/test49.vim - -Patch 7.3.016 -Problem: Netbeans doesn't work under Athena. -Solution: Support Athena, just like Motif. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c - -Patch 7.3.017 -Problem: smatch reports errors. -Solution: Fix the reported errors. (Dominique Pelle) -Files: src/spell.c, src/syntax.c - -Patch 7.3.018 (after 7.3.012) -Problem: Missing argument to windres in MingW makefiles. -Solution: Add the argument that was wrapped in the patch. (Jon Maken) -Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak - -Patch 7.3.019 -Problem: ":nbstart" can fail silently. -Solution: Give an error when netbeans is not supported by the GUI. (Xavier - de Gaye) -Files: src/netbeans.c - -Patch 7.3.020 -Problem: Cursor position wrong when joining multiple lines and - 'formatoptions' contains "a". (Moshe Kamensky) -Solution: Adjust cursor position for skipped indent. (Carlo Teubner) -Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok - -Patch 7.3.021 -Problem: Conflict for defining Boolean in Mac header files. -Solution: Define NO_X11_INCLUDES. (Rainer Muller) -Files: src/os_macosx.m, src/vim.h - -Patch 7.3.022 -Problem: When opening a new window the 'spellcapcheck' option is cleared. -Solution: Copy the correct option value. (Christian Brabandt) -Files: src/option.c - -Patch 7.3.023 -Problem: External program may hang when it tries to write to the tty. -Solution: Don't close the slave tty until after the child exits. (Nikola - Knezevic) -Files: src/os_unix.c - -Patch 7.3.024 -Problem: Named signs do not use a negative number as intended. -Solution: Fix the numbering of named signs. (Xavier de Gaye) -Files: src/ex_cmds.c - -Patch 7.3.025 -Problem: ":mksession" does not square brackets escape file name properly. -Solution: Improve escaping of file names. (partly by Peter Odding) -Files: src/ex_docmd.c - -Patch 7.3.026 -Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck) -Solution: Don't escape special characters. (Carlo Teubner) -Files: src/normal.c - -Patch 7.3.027 -Problem: Opening a file on a network share is very slow. -Solution: When fixing file name case append "\*" to directory, server and - network share names. (David Anderson, John Beckett) -Files: src/os_win32.c - -Patch 7.3.028 (after 7.3.024) -Problem: Signs don't show up. (Charles Campbell) -Solution: Don't use negative numbers. Also assign a number to signs that - have a name of all digits to avoid using a sign number twice. -Files: src/ex_cmds.c - -Patch 7.3.029 -Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned) -Solution: Make lines without a number sort before lines with a number. Also - fix sorting negative numbers. -Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok - -Patch 7.3.030 -Problem: Cannot store Dict and List in viminfo file. -Solution: Add support for this. (Christian Brabandt) -Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in, - src/testdir/test74.ok - -Patch 7.3.031 -Problem: Can't pass the X window ID to another application. -Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens) -Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h, - src/os_unix.c - -Patch 7.3.032 -Problem: maparg() doesn't return the flags, such as <buffer>, <script>, - <silent>. These are needed to save and restore a mapping. -Solution: Improve maparg(). (also by Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c, - src/message.c, src/proto/getchar.pro, src/proto/message.pro, - src/structs.h src/testdir/test75.in, src/testdir/test75.ok - -Patch 7.3.033 (after 7.3.032) -Problem: Can't build without FEAT_LOCALMAP. -Solution: Add an #ifdef. (John Marriott) -Files: src/getchar.c - -Patch 7.3.034 -Problem: Win32: may be loading .dll from the wrong directory. -Solution: Go to the Vim executable directory when opening a library. -Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, - src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c, - src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 7.3.035 (after 7.3.034) -Problem: Stray semicolon after if statement. (Hari G) -Solution: Remove the semicolon. -Files: src/os_win32.c - -Patch 7.3.036 -Problem: Win32 GUI: When building without menus, the font for dialogs and - tab page headers also changes. -Solution: Define USE_SYSMENU_FONT always. (Harig G.) -Files: src/gui_w32.c - -Patch 7.3.037 -Problem: Compiler warnings for loss of data. (Mike Williams) -Solution: Add type casts. -Files: src/if_py_both.h, src/getchar.c, src/os_win32.c - -Patch 7.3.038 -Problem: v:windowid isn't set on MS-Windows. -Solution: Set it to the window handle. (Chris Sutcliffe) -Files: runtime/doc/eval.txt, src/gui_w32.c - -Patch 7.3.039 -Problem: Crash when using skk.vim plugin. -Solution: Get length of expression evaluation result only after checking for - NULL. (Noriaki Yagi, Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.3.040 -Problem: Comparing strings while ignoring case goes beyond end of the - string when there are illegal bytes. (Dominique Pelle) -Solution: Explicitly check for illegal bytes. -Files: src/mbyte.c - -Patch 7.3.041 -Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck) -Solution: Use the pointer instead of the array itself. (Dominique Pelle) -Files: src/version.c - -Patch 7.3.042 -Problem: No spell highlighting when re-using an empty buffer. -Solution: Clear the spell checking info only when clearing the options for a - buffer. (James Vega) -Files: src/buffer.c - -Patch 7.3.043 -Problem: Can't load Ruby dynamically on Unix. -Solution: Adjust the configure script. (James Vega) -Files: src/Makefile, src/config.h.in, src/configure.in, - src/auto/configure, src/if_ruby.c - -Patch 7.3.044 -Problem: The preview window opened by the popup menu is larger than - specified with 'previewheight'. (Benjamin Haskell) -Solution: Use 'previewheight' if it's set and smaller. -Files: src/popupmnu.c - -Patch 7.3.045 -Problem: Compiler warning for uninitialized variable. -Solution: Initialize the variable always. -Files: src/getchar.c - -Patch 7.3.046 (after 7.3.043) -Problem: Can't build Ruby on MS-Windows. -Solution: Add #ifdef, don't use WIN3264 before including vim.h. -Files: src/if_ruby.c - -Patch 7.3.047 (after 7.3.032) -Problem: Missing makefile updates for test 75. -Solution: Update the makefiles. -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Makefile, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.048 -Problem: ":earlier 1f" doesn't work after loading undo file. -Solution: Set b_u_save_nr_cur when loading an undo file. (Christian - Brabandt) - Fix only showing time in ":undolist" -Files: src/undo.c - -Patch 7.3.049 -Problem: PLT has rebranded their Scheme to Racket. -Solution: Add support for Racket 5.x. (Sergey Khorev) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/auto/configure, src/configure.in, src/if_mzsch.c - -Patch 7.3.050 -Problem: The link script is clumsy. -Solution: Use the --as-needed linker option if available. (Kirill A. - Shutemov) -Files: src/Makefile, src/auto/configure, src/config.mk.in, - src/configure.in, src/link.sh - -Patch 7.3.051 -Problem: Crash when $PATH is empty. -Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto) -Files: src/ex_getln.c, src/os_win32.c - -Patch 7.3.052 -Problem: When 'completefunc' opens a new window all kinds of errors follow. - (Xavier Deguillard) -Solution: When 'completefunc' goes to another window or buffer and when it - deletes text abort completion. Add a test for 'completefunc'. -Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test76.in, src/testdir/test76.ok - -Patch 7.3.053 -Problem: complete() function doesn't reset complete direction. Can't use - an empty string in the list of matches. -Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty - words. (Kikuchan) -Files: src/edit.c - -Patch 7.3.054 -Problem: Can define a user command for :Print, but it doesn't work. (Aaron - Thoma) -Solution: Let user command :Print overrule the builtin command (Christian - Brabandt) Disallow :X and :Next as a user defined command. -Files: src/ex_docmd.c - -Patch 7.3.055 -Problem: Recursively nested lists and dictionaries cause a near-endless - loop when comparing them with a copy. (ZyX) -Solution: Limit recursiveness in a way that non-recursive structures can - still be nested very deep. -Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok - -Patch 7.3.056 -Problem: "getline" argument in do_cmdline() shadows global. -Solution: Rename the argument. -Files: src/ex_docmd.c - -Patch 7.3.057 -Problem: Segfault with command line abbreviation. (Randy Morris) -Solution: Don't retrigger the abbreviation when abandoning the command line. - Continue editing the command line after the error. -Files: src/ex_getln.c - -Patch 7.3.058 -Problem: Error "code converter not found" when loading Ruby script. -Solution: Load Gem module. (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.059 -Problem: Netbeans: Problem with recursively handling messages for Athena - and Motif. -Solution: Call netbeans_parse_messages() in the main loop, like it's done - for GTK. (Xavier de Gaye) -Files: src/gui_x11.c, src/netbeans.c - -Patch 7.3.060 -Problem: Netbeans: crash when socket is disconnected unexpectedly. -Solution: Don't cleanup when a read fails, put a message in the queue and - disconnect later. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.061 -Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding) -Solution: Don't restore the directory when 'autochdir' is set. (Benjamin - Fritz) -Files: src/main.c - -Patch 7.3.062 -Problem: Python doesn't work properly when installed in another directory - than expected. -Solution: Figure out home directory in configure and use Py_SetPythonHome() - at runtime. (Roland Puntaier) -Files: src/configure.in, src/auto/configure, src/if_python.c, - src/if_python3.c - -Patch 7.3.063 -Problem: Win32: Running a filter command makes Vim lose focus. -Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu) -Files: src/os_win32.c - -Patch 7.3.064 -Problem: Win32: ":dis +" shows nothing, but "+p does insert text. -Solution: Display the * register, since that's what will be inserted. - (Christian Brabandt) -Files: src/globals.h, src/ops.c - -Patch 7.3.065 -Problem: Can't get current line number in a source file. -Solution: Add the <slnum> item, similar to <sfile>. -Files: src/ex_docmd.c - -Patch 7.3.066 -Problem: Crash when changing to another window while in a :vimgrep command. - (Christian Brabandt) -Solution: When wiping out the dummy before, remove it from aucmd_win. -Files: src/quickfix.c - -Patch 7.3.067 (after 7.3.058) -Problem: Ruby: Init_prelude is not always available. -Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.068 -Problem: Using freed memory when doing ":saveas" and an autocommand sets - 'autochdir'. (Kevin Klement) -Solution: Get the value of fname again after executing autocommands. -Files: src/ex_cmds.c - -Patch 7.3.069 -Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK - as documented. -Solution: call gtk_entry_set_activates_default(). (Britton Kerin) -Files: src/gui_gtk.c - -Patch 7.3.070 -Problem: Can set environment variables in the sandbox, could be abused. -Solution: Disallow it. -Files: src/eval.c - -Patch 7.3.071 -Problem: Editing a file in a window that's in diff mode resets 'diff' - but not cursor binding. -Solution: Reset cursor binding in two more places. -Files: src/quickfix.c, src/option.c - -Patch 7.3.072 -Problem: Can't complete file names while ignoring case. -Solution: Add 'wildignorecase'. -Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c, - src/option.h, src/vim.h, src/runtime/options.txt - -Patch 7.3.073 -Problem: Double free memory when netbeans command follows DETACH. -Solution: Only free the node when owned. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.074 -Problem: Can't use the "+ register like "* for yank and put. -Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov) -Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c, - src/option.c - -Patch 7.3.075 (after 7.3.072) -Problem: Missing part of 'wildignorecase' -Solution: Also adjust expand() -Files: src/eval.c - -Patch 7.3.076 -Problem: Clang warnings for dead code. -Solution: Remove it. (Carlo Teubner) -Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c, - src/spell.c - -Patch 7.3.077 -Problem: When updating crypt of swapfile fails there is no error message. - (Carlo Teubner) -Solution: Add the error message. -Files: src/memline.c - -Patch 7.3.078 -Problem: Warning for unused variable. -Solution: Adjust #ifdefs. -Files: src/ops.c - -Patch 7.3.079 -Problem: Duplicate lines in makefile. -Solution: Remove the lines. (Hong Xu) -Files: src/Make_mvc.mak - -Patch 7.3.080 -Problem: Spell doesn't work on VMS. -Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy) -Files: src/spell.c - -Patch 7.3.081 -Problem: Non-printable characters in 'statusline' cause trouble. (ZyX) -Solution: Use transstr(). (partly by Caio Ariede) -Files: src/screen.c - -Patch 7.3.082 -Problem: Leaking file descriptor when hostname doesn't exist. -Solution: Remove old debugging lines. -Files: src/netbeans.c - -Patch 7.3.083 -Problem: When a read() or write() is interrupted by a signal it fails. -Solution: Add read_eintr() and write_eintr(). -Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c, - src/os_unix.c, src/undo.c, src/vim.h - -Patch 7.3.084 -Problem: When splitting the window, the new one scrolls with the cursor at - the top. -Solution: Compute w_fraction before setting the new height. -Files: src/window.c - -Patch 7.3.085 (after 7.3.083) -Problem: Inconsistency with preproc symbols. void * computation. -Solution: Include vimio.h from vim.h. Add type cast. -Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c, - src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c, - src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c, - src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c, - src/undo.c, src/vim.h - -Patch 7.3.086 -Problem: When using a mapping with an expression and there was no count, - v:count has the value of the previous command. (ZyX) -Solution: Also set v:count and v:count1 before getting the character that - could be a command or a count. -Files: src/normal.c - -Patch 7.3.087 -Problem: EINTR is not always defined. -Solution: Include errno.h in vim.h. -Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c, - src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h, - src/workshop.c - -Patch 7.3.088 -Problem: Ruby can't load Gems sometimes, may cause a crash. -Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.089 -Problem: Compiler warning on 64 bit MS-Windows. -Solution: Add type cast. (Mike Williams) -Files: src/netbeans.c - -Patch 7.3.090 -Problem: Wrong help text for Cscope. -Solution: Adjust the help text for "t". (Dominique Pelle) -Files: src/if_cscope.c - -Patch 7.3.091 -Problem: "vim -w foo" writes special key codes for removed escape - sequences. (Josh Triplett) -Solution: Don't write K_IGNORE codes. -Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h - -Patch 7.3.092 -Problem: Resizing the window when exiting. -Solution: Don't resize when exiting. -Files: src/term.c - -Patch 7.3.093 -Problem: New DLL dependencies in MingW with gcc 4.5.0. -Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen) -Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak - -Patch 7.3.094 -Problem: Using abs() requires type cast to int. -Solution: Use labs() so that the value remains long. (Hong Xu) -Files: src/screen.c - -Patch 7.3.095 -Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley) -Solution: Use menu_name_equal(). (Alex Jakushev) -Files: src/menu.c - -Patch 7.3.096 -Problem: "gvim -nb" is not interruptible. Leaking file descriptor on - netbeans connection error. -Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.097 -Problem: Using ":call" inside "if 0" does not see that a function returns a - Dict and gives error for "." as string concatenation. -Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.098 -Problem: Function that ignores error still causes called_emsg to be set. - E.g. when expand() fails the status line is disabled. -Solution: Move check for emsg_not_now() up. (James Vega) -Files: src/message.c - -Patch 7.3.099 -Problem: Crash when splitting a window with zero height. (Yukihiro - Nakadaira) -Solution: Don't set the fraction in a window with zero height. -Files: src/window.c - -Patch 7.3.100 -Problem: When using :normal v:count isn't set. -Solution: Call normal_cmd() with toplevel set to TRUE. -Files: src/ex_docmd.c - -Patch 7.3.101 -Problem: ino_t defined with wrong size. -Solution: Move including auto/config.h before other includes. (Marius - Geminas) -Files: src/if_ruby.c, src/if_lua.c - -Patch 7.3.102 -Problem: When using ":make", typing the next command and then getting the - "reload" prompt the next command is (partly) eaten by the reload - prompt. -Solution: Accept ':' as a special character at the reload prompt to accept - the default choice and execute the command. -Files: src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c, - src/memline.c, src/message.c, src/proto/message.pro, - src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c, - src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c - src/proto/gui_athena.pro, src/proto/gui_gtk.pro, - src/proto/gui_mac.pro, src/proto/gui_motif.pro, - src/proto/gui_photon.pro, src/proto/gui_w16.pro, - src/proto/gui_w32.pro - -Patch 7.3.103 -Problem: Changing 'fileformat' and then using ":w" in an empty file sets - the 'modified' option. -Solution: In unchanged() don't ignore 'ff' for an empty file. -Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c - -Patch 7.3.104 -Problem: Conceal: using Tab for cchar causes problems. (ZyX) -Solution: Do not accept a control character for cchar. -Files: src/syntax.c - -Patch 7.3.105 -Problem: Can't get the value of "b:changedtick" with getbufvar(). -Solution: Make it work. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.106 -Problem: When 'cursorbind' is set another window may scroll unexpectedly - when 'scrollbind' is also set. (Xavier Wang) -Solution: Don't call update_topline() if 'scrollbind' is set. -Files: src/move.c - -Patch 7.3.107 -Problem: Year number for :undolist can be confused with month or day. -Solution: Change "%y" to "%Y". -Files: src/undo.c - -Patch 7.3.108 -Problem: Useless check for NULL when calling vim_free(). -Solution: Remove the check. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds.c, src/os_win32.c - -Patch 7.3.109 -Problem: Processing new Esperanto spell file fails and crashes Vim. - (Dominique Pelle) -Solution: When running out of memory give an error. Handle '?' in - COMPOUNDRULE properly. -Files: src/spell.c - -Patch 7.3.110 -Problem: The "nbsp" item in 'listchars' isn't used for ":list". -Solution: Make it work. (Christian Brabandt) -Files: src/message.c - -Patch 7.3.111 (after 7.3.100) -Problem: Executing a :normal command in 'statusline' evaluation causes the - cursor to move. (Dominique Pelle) -Solution: When updating the cursor for 'cursorbind' allow the cursor beyond - the end of the line. When evaluating 'statusline' temporarily - reset 'cursorbind'. -Files: src/move.c, src/screen.c - -Patch 7.3.112 -Problem: Setting 'statusline' to "%!'asdf%' reads uninitialized memory. -Solution: Check for NUL after %. -Files: src/buffer.c - -Patch 7.3.113 -Problem: Windows: Fall back directory for creating temp file is wrong. -Solution: Use "." instead of empty string. (Hong Xu) -Files: src/fileio.c - -Patch 7.3.114 -Problem: Potential problem in initialization when giving an error message - early. -Solution: Initialize 'verbosefile' empty. (Ben Schmidt) -Files: src/option.h - -Patch 7.3.115 -Problem: Vim can crash when tmpnam() returns NULL. -Solution: Check for NULL. (Hong Xu) -Files: src/fileio.c - -Patch 7.3.116 -Problem: 'cursorline' is displayed too short when there are concealed - characters and 'list' is set. (Dennis Preiser) -Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt) -Files: src/screen.c - -Patch 7.3.117 -Problem: On some systems --as-needed does not work, because the "tinfo" - library is included indirectly from "ncurses". (Charles Campbell) -Solution: In configure prefer using "tinfo" instead of "ncurses". -Files: src/configure.in, src/auto/configure - -Patch 7.3.118 -Problem: Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica) -Solution: Ignore SIGVTALARM. (Dominique Pelle) -Files: src/os_unix.c - -Patch 7.3.119 -Problem: Build problem on Mac. (Nicholas Stallard) -Solution: Use "extern" instead of "EXTERN" for p_vfile. -Files: src/option.h - -Patch 7.3.120 -Problem: The message for an existing swap file is too long to fit in a 25 - line terminal. -Solution: Make the message shorter. (Chad Miller) -Files: src/memline.c - -Patch 7.3.121 -Problem: Complicated 'statusline' causes a crash. (Christian Brabandt) -Solution: Check that the number of items is not too big. -Files: src/buffer.c - -Patch 7.3.122 -Problem: Having auto/config.mk in the repository causes problems. -Solution: Remove auto/config.mk from the distribution. In the toplevel - Makefile copy it from the "dist" file. -Files: Makefile, src/Makefile, src/auto/config.mk - -Patch 7.3.123 -Problem: ml_get error when executing register being recorded into, deleting - lines and 'conceallevel' is set. (ZyX) -Solution: Don't redraw a line for concealing when it doesn't exist. -Files: src/main.c - -Patch 7.3.124 -Problem: When writing a file in binary mode it may be missing the final EOL - if a file previously read was missing the EOL. (Kevin Goodsell) -Solution: Move the write_no_eol_lnum into the buffer struct. -Files: src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c - -Patch 7.3.125 -Problem: MSVC: Problem with quotes in link argument. -Solution: Escape backslashes and quotes. (Weasley) -Files: src/Make_mvc.mak - -Patch 7.3.126 -Problem: Compiler warning for signed pointer. -Solution: Use unsigned int argument for sscanf(). -Files: src/blowfish.c - -Patch 7.3.127 -Problem: Compiler complains about comma. -Solution: Remove comma after last enum element. -Files: src/ex_cmds2.c - -Patch 7.3.128 -Problem: Another compiler warning for signed pointer. -Solution: Use unsigned int argument for sscanf(). -Files: src/mark.c - -Patch 7.3.129 -Problem: Using integer like a boolean. -Solution: Nicer check for integer being non-zero. -Files: src/tag.c - -Patch 7.3.130 -Problem: Variable misplaced in #ifdef. -Solution: Move clipboard_event_time outside of #ifdef. -Files: src/gui_gtk_x11.c - -Patch 7.3.131 -Problem: Including errno.h too often. -Solution: Don't include errno.h in Unix header file. -Files: src/os_unix.h - -Patch 7.3.132 -Problem: C++ style comments. -Solution: Change to C comments. -Files: src/if_python3.c - -Patch 7.3.133 -Problem: When using encryption it's not clear what method was used. -Solution: In the file message show "blowfish" when using blowfish. -Files: src/fileio.c - -Patch 7.3.134 -Problem: Drag-n-drop doesn't work in KDE Dolphin. -Solution: Add GDK_ACTION_MOVE flag. (Florian Degner) -Files: src/gui_gtk_x11.c - -Patch 7.3.135 -Problem: When there is no previous substitute pattern, the previous search - pattern is used. The other way around doesn't work. -Solution: When there is no previous search pattern, use the previous - substitute pattern if possible. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.136 -Problem: Duplicate include of assert.h. -Solution: Remove it. -Files: src/if_cscope.c - -Patch 7.3.137 (after 7.3.091) -Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan - Krasilnikov) -Solution: Call update_screen() before waiting for input. -Files: src/misc1.c, src/getchar.c - -Patch 7.3.138 -Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov) -Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt) -Files: src/ex_docmd.c - -Patch 7.3.139 (after 7.3.137) -Problem: When 'lazyredraw' is set ":ver" output can't be read. -Solution: Don't redraw the screen when at a prompt or command line. -Files: src/getchar.c, src/message.c, src/misc1.c - -Patch 7.3.140 -Problem: Crash when drawing the "$" at end-of-line for list mode just after - the window border and 'cursorline' is set. -Solution: Don't check for 'cursorline'. (Quentin Carbonneaux) -Files: src/screen.c - -Patch 7.3.141 -Problem: When a key code is not set get a confusing error message. -Solution: Change the error message to say the key code is not set. -Files: src/option.c, runtime/doc/options.txt - -Patch 7.3.142 -Problem: Python stdout doesn't have a flush() method, causing an import to - fail. -Solution: Add a dummy flush() method. (Tobias Columbus) -Files: src/if_py_both.h - -Patch 7.3.143 -Problem: Memfile is not tested sufficiently. Looking up blocks in a - memfile is slow when there are many blocks. -Solution: Add high level test and unittest. Adjust the number of hash - buckets to the number of blocks. (Ivan Krasilnikov) -Files: Filelist, src/Makefile, src/main.c, src/memfile.c, - src/memfile_test.c src/structs.h src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mak, - src/testdir/Makefile, src/testdir/test77.in, src/testdir/test77.ok - -Patch 7.3.144 -Problem: Crash with ":python help(dir)". (Kearn Holliday) -Solution: Fix the way the type is set on objects. (Tobias Columbus) -Files: src/if_python.c - -Patch 7.3.145 (after 7.3.144) -Problem: Can't build with Python dynamically loading. -Solution: Add dll_PyType_Ready. -Files: src/if_python.c - -Patch 7.3.146 -Problem: It's possible to assign to a read-only member of a dict. - It's possible to create a global variable "0". (ZyX) - It's possible to add a v: variable with ":let v:.name = 1". -Solution: Add check for dict item being read-only. - Check the name of g: variables. - Disallow adding v: variables. -Files: src/eval.c - -Patch 7.3.147 (after 7.3.143) -Problem: Can't build on HP-UX. -Solution: Remove an unnecessary backslash. (John Marriott) -Files: src/Makefile - -Patch 7.3.148 -Problem: A syntax file with a huge number of items or clusters causes weird - behavior, a hang or a crash. (Yukihiro Nakadaira) -Solution: Check running out of IDs. (partly by Ben Schmidt) -Files: src/syntax.c - -Patch 7.3.149 -Problem: The cursor disappears after the processing of the 'setDot' - netbeans command when vim runs in a terminal. -Solution: Show the cursor after a screen update. (Xavier de Gaye) -Files: src/netbeans.c - -Patch 7.3.150 -Problem: readline() does not return the last line when the NL is missing. - (Hong Xu) -Solution: When at the end of the file Also check for a previous line. -Files: src/eval.c - -Patch 7.3.151 (after 7.3.074) -Problem: When "unnamedplus" is in 'clipboard' the selection is sometimes - also copied to the star register. -Solution: Avoid copy to the star register when undesired. (James Vega) -Files: src/ops.c - -Patch 7.3.152 -Problem: Xxd does not check for errors from library functions. -Solution: Add error checks. (Florian Zumbiehl) -Files: src/xxd/xxd.c - -Patch 7.3.153 (after 7.3.152) -Problem: Compiler warning for ambiguous else, missing prototype. -Solution: Add braces. (Dominique Pelle) Add prototype for die(). -Files: src/xxd/xxd.c - -Patch 7.3.154 (after 7.3.148) -Problem: Can't compile with tiny features. (Tony Mechelynck) -Solution: Move #define outside of #ifdef. -Files: src/syntax.c - -Patch 7.3.155 -Problem: Crash when using map(), filter() and remove() on v:. (ZyX) - Also for extend(). (Yukihiro Nakadaira) -Solution: Mark v: as locked. Also correct locking error messages. -Files: src/eval.c - -Patch 7.3.156 -Problem: Tty names possibly left unterminated. -Solution: Use vim_strncpy() instead of strncpy(). -Files: src/pty.c - -Patch 7.3.157 -Problem: Superfluous assignment. -Solution: Remove assignment. -Files: src/misc1.c - -Patch 7.3.158 -Problem: Might use uninitialized memory in C indenting. -Solution: Init arrays to empty. -Files: src/misc1.c - -Patch 7.3.159 -Problem: Using uninitialized pointer when out of memory. -Solution: Check for NULL return value. -Files: src/mbyte.c - -Patch 7.3.160 -Problem: Unsafe string copying. -Solution: Use vim_strncpy() instead of strcpy(). Use vim_strcat() instead - of strcat(). -Files: src/buffer.c, src/ex_docmd.c, src/hardcopy.c, src/menu.c, - src/misc1.c, src/misc2.c, src/proto/misc2.pro, src/netbeans.c, - src/os_unix.c, src/spell.c, src/syntax.c, src/tag.c - -Patch 7.3.161 -Problem: Items on the stack may be too big. -Solution: Make items static or allocate them. -Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/fileio.c, src/hardcopy.c, src/quickfix.c, src/main.c, - src/netbeans.c, src/spell.c, src/tag.c, src/vim.h, src/xxd/xxd.c - -Patch 7.3.162 -Problem: No error message when assigning to a list with an index out of - range. (Yukihiro Nakadaira) -Solution: Add the error message. -Files: src/eval.c - -Patch 7.3.163 -Problem: For the default of 'shellpipe' "mksh" and "pdksh" are not - recognized. -Solution: Recognize these shell names. -Files: src/option.c - -Patch 7.3.164 -Problem: C-indenting: a preprocessor statement confuses detection of a - function declaration. -Solution: Ignore preprocessor lines. (Lech Lorens) Also recognize the style - to put a comma before the argument name. -Files: src/misc1.c, testdir/test3.in, testdir/test3.ok - -Patch 7.3.165 -Problem: ":find" completion does not escape spaces in a directory name. - (Isz) -Solution: Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner) -Files: src/ex_getln.c - -Patch 7.3.166 -Problem: Buffer on the stack may be too big -Solution: Allocate the space. -Files: src/option.c - -Patch 7.3.167 -Problem: When using the internal grep QuickFixCmdPost is not triggered. - (Yukihiro Nakadaira) -Solution: Change the place where autocommands are triggered. -Files: src/quickfix.c - -Patch 7.3.168 -Problem: When the second argument of input() contains a CR the text up to - that is used without asking the user. (Yasuhiro Matsumoto) -Solution: Change CR, NL and ESC in the text to a space. -Files: src/getchar.c - -Patch 7.3.169 -Problem: Freeing memory already freed, warning from static code analyzer. -Solution: Initialize pointers to NULL, correct use of "mustfree". (partly by - Dominique Pelle) -Files: src/mis1.c - -Patch 7.3.170 -Problem: VMS Makefile for testing was not updated for test77. -Solution: Add test77 to the Makefile. -Files: src/testdir/Make_vms.mms - -Patch 7.3.171 -Problem: When the clipboard isn't supported: ":yank*" gives a confusing - error message. -Solution: Specifically mention that the register name is invalid. - (Jean-Rene David) -Files: runtime/doc/change.txt, src/ex_docmd.c, src/globals.h - -Patch 7.3.172 -Problem: MS-Windows: rename() might delete the file if the name differs but - it's actually the same file. -Solution: Use the file handle to check if it's the same file. (Yukihiro - Nakadaira) -Files: src/if_cscope.c, src/fileio.c, src/os_win32.c, - src/proto/os_win32.pro, src/vim.h - -Patch 7.3.173 -Problem: After using setqflist() to make the quickfix list empty ":cwindow" - may open the window anyway. Also after ":vimgrep". -Solution: Correctly check whether the list is empty. (Ingo Karkat) -Files: src/quickfix.c - -Patch 7.3.174 -Problem: When Exuberant ctags binary is exctags it's not found. -Solution: Add configure check for exctags. (Hong Xu) -Files: src/configure.in, src/auto/configure - -Patch 7.3.175 -Problem: When 'colorcolumn' is set locally to a window, ":new" opens a - window with the same highlighting but 'colorcolumn' is empty. - (Tyru) -Solution: Call check_colorcolumn() after clearing and copying options. - (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.176 -Problem: Ruby linking doesn't work properly on Mac OS X. -Solution: Fix the configure check for Ruby. (Bjorn Winckler) -Files: src/configure.in, src/auto/configure - -Patch 7.3.177 -Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is - "utf-8". -Solution: Convert to utf-16. (Yukihiro Nakadaira) -Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro - -Patch 7.3.178 -Problem: C-indent doesn't handle code right after { correctly. -Solution: Fix detecting unterminated line. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.179 -Problem: C-indent doesn't handle colon in string correctly. -Solution: Skip the string. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.180 -Problem: When both a middle part of 'comments' matches and an end part, the - middle part was used erroneously. -Solution: After finding the middle part match continue looking for a better - end part match. (partly by Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.181 -Problem: When repeating the insert of CTRL-V or a digraph the display may - not be updated correctly. -Solution: Only call edit_unputchar() after edit_putchar(). (Lech Lorens) -Files: src/edit.c - -Patch 7.3.182 (after 7.3.180) -Problem: Compiler warning for uninitialized variable. -Solution: Add dummy initializer. -Files: src/misc1.c - -Patch 7.3.183 (after 7.3.174) -Problem: When Exuberant ctags binary is exuberant-ctags it's not found. -Solution: Add configure check for exuberant-ctags. -Files: src/configure.in, src/auto/configure - -Patch 7.3.184 -Problem: Static code analysis errors in riscOS. -Solution: Make buffer size bigger. (Dominique Pelle) -Files: src/gui_riscos.c - -Patch 7.3.185 -Problem: ":windo g/pattern/q" closes windows and reports "N more lines". - (Tim Chase) -Solution: Remember what buffer ":global" started in. (Jean-Rene David) -Files: src/ex_cmds.c - -Patch 7.3.186 -Problem: When 'clipboard' contains "unnamed" or "unnamedplus" the value of - v:register is wrong for operators without a specific register. -Solution: Adjust the register according to 'clipboard'. (Ingo Karkat) -Files: src/normal.c - -Patch 7.3.187 -Problem: The RISC OS port has obvious errors and is not being maintained. -Solution: Remove the RISC OS files and code. -Files: src/ascii.h, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, - src/ex_docmd.c, src/fileio.c, src/globals.h, src/gui.c, src/gui.h, - src/main.c, src/memfile.c, src/memline.c, src/misc1.c, - src/proto.h, src/quickfix.c, src/search.c, src/structs.h, - src/term.c, src/termlib.c, src/version.c, src/vim.h, - src/gui_riscos.h, src/os_riscos.h, src/gui_riscos.c, - src/os_riscos.c, runtime/doc/os_risc.txt - -Patch 7.3.188 -Problem: More RISC OS files to remove. -Solution: Remove them. Update the file list. -Files: src/proto/gui_riscos.pro, src/proto/os_riscos.pro, Filelist - -Patch 7.3.189 (after 7.3.186) -Problem: Can't build without +clipboard feature. (Christian Ebert) -Solution: Add the missing #ifdef. -Files: src/normal.c - -Patch 7.3.190 -Problem: When there is a "containedin" syntax argument highlighting may be - wrong. (Radek) -Solution: Reset current_next_list. (Ben Schmidt) -Files: src/syntax.c - -Patch 7.3.191 -Problem: Still some RISC OS stuff to remove. -Solution: Remove files and lines. (Hong Xu) - Remove the 'osfiletype' option code. -Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile, - src/buffer.c, src/eval.c, src/feature.h, src/option.c, - src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist - -Patch 7.3.192 -Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes. - (Dominique Pelle) -Solution: Advance over whole character instead of one byte. -Files: src/ex_cmds.c - -Patch 7.3.193 -Problem: In the command line window ":close" doesn't work properly. (Tony - Mechelynck) -Solution: Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene - David) -Files: src/ex_docmd.c, src/ex_getln.c - -Patch 7.3.194 -Problem: When "b" is a symlink to directory "a", resolve("b/") doesn't - result in "a/". (ZyX) -Solution: Remove the trailing slash. (Jean-Rene David) -Files: src/eval.c - -Patch 7.3.195 -Problem: "} else" causes following lines to be indented too much. (Rouben - Rostamian) -Solution: Better detection for the "else". (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.196 -Problem: Can't intercept a character that is going to be inserted. -Solution: Add the InsertCharPre autocommand event. (Jakson A. Aquino) -Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, - runtime/doc/map.txt, src/edit.c, src/eval.c, src/fileio.c, - src/vim.h - -Patch 7.3.197 -Problem: When a QuickfixCmdPost event removes all errors, Vim still tries - to jump to the first error, resulting in E42. -Solution: Get the number of error after the autocmd event. (Mike Lundy) -Files: src/quickfix.c - -Patch 7.3.198 -Problem: No completion for ":lang". -Solution: Get locales to complete from. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds2.c, src/ex_getln.c, - src/proto/ex_cmds2.pro, src/proto/ex_getln.pro, src/vim.h - -Patch 7.3.199 -Problem: MS-Windows: Compilation problem of OLE with MingW compiler. -Solution: Put #ifdef around declarations. (Guopeng Wen) -Files: src/if_ole.h - -Patch 7.3.200 (after 7.3.198) -Problem: CTRL-D doesn't complete :lang. -Solution: Add the missing part of the change. (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.3.201 (after 7.3.195) -Problem: "} else" still causes following lines to be indented too much. -Solution: Better detection for the "else" block. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.202 -Problem: Cannot influence the indent inside a namespace. -Solution: Add the "N" 'cino' parameter. (Konstantin Lepa) -Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, - src/testdir/test3.ok - -Patch 7.3.203 -Problem: MS-Windows: Can't run an external command without a console window. -Solution: Support ":!start /b cmd". (Xaizek) -Files: runtime/doc/os_win32.txt, src/os_win32.c - -Patch 7.3.204 (after 7.3.201) -Problem: Compiler warning. -Solution: Add type cast. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.205 -Problem: Syntax "extend" doesn't work correctly. -Solution: Avoid calling check_state_ends() recursively (Ben Schmidt) -Files: src/syntax.c - -Patch 7.3.206 -Problem: 64bit MS-Windows compiler warning. -Solution: Use HandleToLong() instead of type cast. (Mike Williams) -Files: src/gui_w32.c - -Patch 7.3.207 -Problem: Can't compile with MSVC with pentium4 and 64 bit. -Solution: Only use SSE2 for 32 bit. (Mike Williams) -Files: src/Make_mvc.mak - -Patch 7.3.208 -Problem: Early terminated if statement. -Solution: Remove the semicolon. (Lech Lorens) -Files: src/gui_mac.c - -Patch 7.3.209 -Problem: MSVC Install instructions point to wrong batch file. -Solution: Add a batch file for use with MSVC 10. -Files: src/msvc2010.bat, src/INSTALLpc.txt, Filelist - -Patch 7.3.210 -Problem: Can't always find the file when using cscope. -Solution: Add the 'cscoperelative' option. (Raghavendra D Prabhu) -Files: runtime/doc/if_cscop.txt, runtime/doc/options.txt, - src/if_cscope.c - -Patch 7.3.211 (after 7.3.210) -Problem: Compiler warning. -Solution: Add type cast. -Files: src/if_cscope.c - -Patch 7.3.212 -Problem: With Python 3.2 ":py3" fails. -Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland - Puntaier) Check abiflags in configure. (Andreas Behr) -Files: src/if_python3.c, src/auto/configure, src/configure.in - -Patch 7.3.213 -Problem: Javascript object literal is not indented correctly. -Solution: Make a special case for when "J1" is in 'cino'. (Luc Deschenaux) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.214 -Problem: The text displayed by ":z-" isn't exactly like old Vi. -Solution: Add one to the start line number. (ChangZhuo Chen) -Files: src/ex_cmds.c - -Patch 7.3.215 (after 7.3.210) -Problem: Wrong file names in previous patch. (Toothpik) -Solution: Include the option changes. -Files: src/option.c, src/option.h - -Patch 7.3.216 -Problem: When recovering a file a range of lines is missing. (Charles Jie) -Solution: Reset the index when advancing to the next pointer block. Add a - test to verify recovery works. -Files: src/memline.c, src/testdir/test78.in, src/testdir/test78.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.217 -Problem: Inside an "if" a ":wincmd" causes problems. -Solution: When skipping commands let ":wincmd" skip over its argument. -Files: src/ex_docmd.c - -Patch 7.3.218 (after 7.3.212) -Problem: Tiny configuration problem with Python 3. -Solution: Add abiflags in one more place. (Andreas Behr) -Files: src/auto/configure, src/configure.in - -Patch 7.3.219 -Problem: Can't compile with GTK on Mac. -Solution: Add some #ifdef trickery. (Ben Schmidt) -Files: src/os_mac_conv.c, src/os_macosx.m, src/vim.h - -Patch 7.3.220 -Problem: Python 3: vim.error is a 'str' instead of an 'Exception' object, - so 'except' or 'raise' it causes a 'SystemError' exception. - Buffer objects do not support slice assignment. - When exchanging text between Vim and Python, multibyte texts become - garbage or cause Unicode Exceptions, etc. - 'py3file' tries to read in the file as Unicode, sometimes causes - UnicodeDecodeException -Solution: Fix the problems. (lilydjwg) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.221 -Problem: Text from the clipboard is sometimes handled as linewise, but not - consistently. -Solution: Assume the text is linewise when it ends in a CR or NL. -Files: src/gui_gtk_x11.c, src/gui_mac.c, src/ops.c, src/os_msdos.c, - src/os_mswin.c, src/os_qnx.c, src/ui.c - -Patch 7.3.222 -Problem: Warning for building GvimExt. -Solution: Comment-out the DESCRIPTION line. (Mike Williams) -Files: src/GvimExt/gvimext.def, src/GvimExt/gvimext_ming.def - -Patch 7.3.223 -Problem: MingW cross compilation doesn't work with tiny features. -Solution: Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of - "#ifdef CLIPBOARD". Fix typo in makefile. -Files: src/Make_ming.mak, src/os_mswin.c - -Patch 7.3.224 -Problem: Can't pass dict to sort function. -Solution: Add the optional {dict} argument to sort(). (ZyX) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.3.225 -Problem: Using "\n" in a substitute inside ":s" does not result in a line - break. -Solution: Change behavior inside vim_regexec_nl(). Add tests. (Motoya - Kurotsu) -Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, - src/testdir/test80.in, src/testdir/test80.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.226 -Problem: On a 64 bit system "syn sync fromstart" is very slow. (Bjorn - Steinbrink) -Solution: Store the state when starting to parse from the first line. -Files: src/syntax.c - -Patch 7.3.227 (after 7.3.221) -Problem: Mac OS doesn't have the linewise clipboard fix. -Solution: Also change the Mac OS file. (Bjorn Winckler) -Files: src/os_macosx.m - -Patch 7.3.228 -Problem: "2gj" does not always move to the correct position. -Solution: Get length of line after moving to a next line. (James Vega) -Files: src/normal.c - -Patch 7.3.229 -Problem: Using fork() makes gvim crash on Mac when build with - CoreFoundation. -Solution: Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka) -Files: src/gui.c - -Patch 7.3.230 -Problem: ":wundo" and ":rundo" don't unescape their argument. (Aaron - Thoma) -Solution: Use FILE1 instead of XFILE. -Files: src/ex_cmds.h - -Patch 7.3.231 -Problem: Runtime file patches failed. -Solution: Redo the patches made against the patched files instead of the - files in the mercurial repository. -Files: runtime/doc/indent.txt, runtime/doc/os_win32.txt - -Patch 7.3.232 -Problem: Python doesn't compile without +multi_byte -Solution: Use "latin1" when MULTI_BYTE is not defined. -Files: src/if_py_both.h - -Patch 7.3.233 -Problem: ":scriptnames" and ":breaklist" show long file names. -Solution: Shorten to use "~/" when possible. (Jean-Rene David) -Files: src/ex_cmds2.c - -Patch 7.3.234 -Problem: With GTK menu may be popping down. -Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu) -Files: src/gui.c, src/gui.h, src/gui_gtk.c, src/gui_gtk_x11.c - -Patch 7.3.235 -Problem: ";" gets stuck on a "t" command, it's not useful. -Solution: Add the ';' flag in 'cpo'. (Christian Brabandt) -Files: runtime/doc/motion.txt, runtime/doc/options.txt, src/option.h, - src/search.c src/testdir/test81.in, src/testdir/test81.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.236 (after 7.3.232) -Problem: Python 3 doesn't compile without +multi_byte -Solution: Use "latin1" when MULTI_BYTE is not defined. (lilydjwg) -Files: src/if_python3.c - -Patch 7.3.237 -Problem: "filetype" completion doesn't work on Windows. (Yue Wu) -Solution: Don't use a glob pattern for the directories, use a list of - directories. (Dominique Pelle) -Files: src/ex_getln.c - -Patch 7.3.238 -Problem: Compiler warning for conversion. -Solution: Add type cast. (Mike Williams) -Files: src/ex_getln.c - -Patch 7.3.239 -Problem: Python corrects the cursor column without taking 'virtualedit' - into account. (lilydjwg) -Solution: Call check_cursor_col_win(). -Files: src/if_py_both.h, src/mbyte.c, src/misc2.c, src/normal.c, - src/proto/mbyte.pro, src/proto/misc2.pro - -Patch 7.3.240 -Problem: External commands can't use pipes on MS-Windows. -Solution: Implement pipes and use them when 'shelltemp' isn't set. (Vincent - Berthoux) -Files: src/eval.c, src/ex_cmds.c, src/misc2.c, src/os_unix.c, - src/os_win32.c, src/proto/misc2.pro, src/ui.c - -Patch 7.3.241 -Problem: Using CTRL-R CTRL-W on the command line may insert only part of - the word. -Solution: Use the cursor position instead of assuming it is at the end of - the command. (Tyru) -Files: src/ex_getln.c - -Patch 7.3.242 -Problem: Illegal memory access in after_pathsep(). -Solution: Check that the pointer is not at the start of the file name. - (Dominique Pelle) -Files: src/misc2.c - -Patch 7.3.243 -Problem: Illegal memory access in readline(). -Solution: Swap the conditions. (Dominique Pelle) -Files: src/eval.c - -Patch 7.3.244 -Problem: MS-Windows: Build problem with old compiler. (John Beckett) -Solution: Only use HandleToLong() when available. (Mike Williams) -Files: src/gui_w32.c - -Patch 7.3.245 -Problem: Python 3.2 libraries not correctly detected. -Solution: Add the suffix to the library name. (Niclas Zeising) -Files: src/auto/configure, src/configure.in - -Patch 7.3.246 (after 7.3.235) -Problem: Repeating "f4" in "4444" skips one 4. -Solution: Check the t_cmd flag. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.247 -Problem: Running tests changes the users viminfo file. Test for patch - 7.3.246 missing. -Solution: Add "nviminfo" to the 'viminfo' option. Include the test. -Files: src/testdir/test78.in, src/testdir/test81.in - -Patch 7.3.248 -Problem: PC Install instructions missing install instructions. -Solution: Step-by-step explanation. (Michael Soyka) -Files: src/INSTALLpc.txt - -Patch 7.3.249 -Problem: Wrong indenting for array initializer. -Solution: Detect '}' in a better way. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.250 -Problem: Python: Errors in Unicode characters not handled nicely. -Solution: Add the surrogateescape error handler. (lilydjwg) -Files: src/if_python3.c - -Patch 7.3.251 -Problem: "gH<Del>" deletes the current line, except when it's the last - line. -Solution: Set the "include" flag to indicate the last line is to be deleted. -Files: src/normal.c, src/ops.c - -Patch 7.3.252 (after 7.3.247) -Problem: Tests fail. (David Northfield) -Solution: Add missing update for .ok file. -Files: src/testdir/test81.ok - -Patch 7.3.253 -Problem: "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'. - Checks in mb_strnicmp() for illegal and truncated bytes are - wrong. Should not assume that byte length is equal before case - folding. -Solution: Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for - this. (Ivan Krasilnikov) -Files: src/mbyte.c src/testdir/test82.in, src/testdir/test82.ok, - src/testdir/Makefile, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.254 -Problem: The coladd field is not reset when setting the line number for a - ":call" command. -Solution: Reset it. -Files: src/eval.c - -Patch 7.3.255 -Problem: When editing a file such as "File[2010-08-15].vim" an E16 error is - given. (Manuel Stol) -Solution: Don't give an error for failing to compile the regexp. -Files: src/ex_docmd.c, src/misc1.c, src/vim.h - -Patch 7.3.256 -Problem: Javascript indenting not sufficiently tested. -Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented - wrong. -Files: src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.257 -Problem: Not all completions are available to user commands. -Solution: Add "color", "compiler", "file_in_path" and "locale". (Dominique - Pelle) -Files: src/ex_docmd.c, runtime/doc/map.txt - -Patch 7.3.258 -Problem: MS-Windows: The edit with existing vim context menu entries can be - unwanted. -Solution: Let a registry entry disable them. (Jerome Vuarand) -Files: src/GvimExt/gvimext.cpp - -Patch 7.3.259 -Problem: Equivalence classes only work for latin characters. -Solution: Add the Unicode equivalence characters. (Dominique Pelle) -Files: runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in, - src/testdir/test44.ok - -Patch 7.3.260 -Problem: CursorHold triggers on an incomplete mapping. (Will Gray) -Solution: Don't trigger CursorHold when there is typeahead. -Files: src/fileio.c - -Patch 7.3.261 -Problem: G++ error message erroneously recognized as error. -Solution: Ignore "In file included from" line also when it ends in a colon. - (Fernando Castillo) -Files: src/option.h - -Patch 7.3.262 -Problem: Photon code style doesn't match Vim style. -Solution: Clean up some of it. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.263 -Problem: Perl and Tcl have a few code style problems. -Solution: Clean it up. (Elias Diem) -Files: src/if_perl.xs, src/if_tcl.c - -Patch 7.3.264 -Problem: When the current directory name contains wildcard characters, such - as "foo[with]bar", the tags file can't be found. (Jeremy - Erickson) -Solution: When searching for matching files also match without expanding - wildcards. This is a bit of a hack. -Files: src/vim.h, src/misc1.c, src/misc2.c - -Patch 7.3.265 -Problem: When storing a pattern in search history there is no proper check - for the separator character. -Solution: Pass the separator character to in_history(). (Taro Muraoka) -Files: src/ex_getln.c - -Patch 7.3.266 -Problem: In Gvim with iBus typing space in Insert mode doesn't work. -Solution: Clear xim_expected_char after checking it. -Files: src/mbyte.c - -Patch 7.3.267 -Problem: Ruby on Mac OS X 10.7 may crash. -Solution: Avoid alloc(0). (Bjorn Winckler) -Files: src/if_ruby.c - -Patch 7.3.268 -Problem: Vim freezes when executing an external command with zsh. -Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler) -Files: src/os_unix.c - -Patch 7.3.269 -Problem: 'shellcmdflag' only works with one flag. -Solution: Split into multiple arguments. (Gary Johnson) -Files: src/os_unix.c - -Patch 7.3.270 -Problem: Illegal memory access. -Solution: Swap conditions. (Dominique Pelle) -Files: src/ops.c - -Patch 7.3.271 -Problem: Code not following Vim coding style. -Solution: Fix the style. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.272 -Problem: ":put =list" does not add an empty line for a trailing empty - item. -Solution: Add a trailing NL when turning a list into a string. -Files: src/eval.c - -Patch 7.3.273 -Problem: A BOM in an error file is seen as text. (Aleksey Baibarin) -Solution: Remove the BOM from the text before evaluating. (idea by Christian - Brabandt) -Files: src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro, - src/testdir/test10.in - -Patch 7.3.274 -Problem: With concealed characters tabs do not have the right size. -Solution: Use VCOL_HLC instead of vcol. (Eiichi Sato) -Files: src/screen.c - -Patch 7.3.275 -Problem: MS-Windows: When using a black background some screen updates - cause the window to flicker. -Solution: Add WS_CLIPCHILDREN to CreateWindow(). (René Aguirre) -Files: src/gui_w32.c - -Patch 7.3.276 -Problem: GvimExt sets $LANG in the wrong way. -Solution: Save the environment and use it for gvim. (Yasuhiro Matsumoto) -Files: src/GvimExt/gvimext.cpp - -Patch 7.3.277 -Problem: MS-Windows: some characters do not show in dialogs. -Solution: Use the wide methods when available. (Yanwei Jia) -Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c, - src/os_win32.h - -Patch 7.3.278 -Problem: Passing the file name to open in VisVim doesn't work. -Solution: Adjust the index and check for end of buffer. (Jiri Sedlak) -Files: src/VisVim/Commands.cpp - -Patch 7.3.279 -Problem: With GTK, when gvim is full-screen and a tab is opened and using a - specific monitor configuration the window is too big. -Solution: Adjust the window size like on MS-Windows. (Yukihiro Nakadaira) -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - -Patch 7.3.280 -Problem: ":lmake" does not update the quickfix window title. -Solution: Update the title. (Lech Lorens) -Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok - -Patch 7.3.281 -Problem: After using "expand('%:8')" the buffer name is changed. -Solution: Make a copy of the file name before shortening it. -Files: src/eval.c - -Patch 7.3.282 -Problem: When using input() and :echo in a loop the displayed text is - incorrect. (Benjamin Fritz) -Solution: Only restore the cursor position when there is a command line. - (Ben Schmidt) -Files: src/ex_getln.c - -Patch 7.3.283 -Problem: An expression mapping with a multi-byte character containing a - 0x80 byte gets messed up. (ZyX) -Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira) -Files: src/getchar.c - -Patch 7.3.284 -Problem: The str2special() function doesn't handle multi-byte characters - properly. -Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov) -Files: src/getchar.c, src/message.c, src/misc2.c - -Patch 7.3.285 (after 7.3.284) -Problem: Mapping <Char-123> no longer works. -Solution: Properly check for "char-". Add a test for it. -Files: src/misc2.c, src/testdir/test75.in, src/testdir/test75.ok - -Patch 7.3.286 -Problem: Crash when using "zd" on a large number of folds. (Sam King) -Solution: Recompute pointer after reallocating array. Move fewer entries - when making room. -Files: src/fold.c - -Patch 7.3.287 -Problem: Can't compile with MSVC and tiny options. -Solution: Move variables and #ifdefs. (Sergey Khorev) -Files: src/os_win32.c - -Patch 7.3.288 -Problem: has('python') may give an error message for not being able to load - the library after using python3. -Solution: Only give the error when the verbose argument is true. -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.289 -Problem: Complete function isn't called when the leader changed. -Solution: Call ins_compl_restart() when the leader changed. (Taro Muraoka) -Files: src/edit.c - -Patch 7.3.290 -Problem: When a BufWriteCmd autocommand resets 'modified' this doesn't - change older buffer states to be marked as 'modified' like - ":write" does. (Yukihiro Nakadaira) -Solution: When the BufWriteCmd resets 'modified' then adjust the undo - information like ":write" does. -Files: src/fileio.c - -Patch 7.3.291 -Problem: Configure doesn't work properly with Python3. -Solution: Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland - Puntaier) -Files: src/config.h.in, src/auto/configure, src/configure.in - -Patch 7.3.292 -Problem: Crash when using fold markers and selecting a visual block that - includes a folded line and goes to end of line. (Sam Lidder) -Solution: Check for the column to be MAXCOL. (James Vega) -Files: src/screen.c - -Patch 7.3.293 -Problem: MSVC compiler has a problem with non-ASCII characters. -Solution: Avoid non-ASCII characters. (Hong Xu) -Files: src/ascii.h, src/spell.c - -Patch 7.3.294 (after 7.3.289) -Problem: Patch 289 causes more problems than it solves. -Solution: Revert the patch until a better solution is found. -Files: src/edit.c - -Patch 7.3.295 -Problem: When filtering text with an external command Vim may not read all - the output. -Solution: When select() is interrupted loop and try again. (James Vega) -Files: src/os_unix.c - -Patch 7.3.296 -Problem: When writing to an external command a zombie process may be left - behind. -Solution: Wait on the process. (James Vega) -Files: src/os_unix.c - -Patch 7.3.297 -Problem: Can't load Perl 5.14 dynamically. -Solution: Add code in #ifdefs. (Charles Cooper) -Files: if_perl.xs - -Patch 7.3.298 -Problem: Built-in colors are different from rgb.txt. -Solution: Adjust the color values. (Benjamin Haskell) -Files: src/gui_photon.c, src/gui_w48.c - -Patch 7.3.299 -Problem: Source code not in Vim style. -Solution: Adjust the style. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.300 -Problem: Python doesn't parse multi-byte argument correctly. -Solution: Use "t" instead of "s". (lilydjwg) -Files: src/if_py_both.h - -Patch 7.3.301 -Problem: When 'smartindent' and 'copyindent' are set a Tab is used even - though 'expandtab' is set. -Solution: Do not insert Tabs. Add a test. (Christian Brabandt) -Files: src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok - -Patch 7.3.302 (after 7.3.301) -Problem: Test 19 fails without 'smartindent' and +eval. -Solution: Don't use ":exe". Source small.vim. -Files: src/testdir/test19.in - -Patch 7.3.303 (after 7.3.296) -Problem: Compilation error. -Solution: Correct return type from int to pid_t. (Danek Duvall) -Files: src/os_unix.c - -Patch 7.3.304 -Problem: Strawberry Perl doesn't work on MS-Windows. -Solution: Use xsubpp if needed. (Yasuhiro Matsumoto) -Files: src/Make_ming.mak, src/Make_mvc.mak - -Patch 7.3.305 -Problem: Auto-loading a function while editing the command line causes - scrolling up the display. -Solution: Don't set msg_scroll when defining a function and the user is not - typing. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.306 -Problem: When closing a window there is a chance that deleting a scrollbar - triggers a GUI resize, which uses the window while it is not in a - valid state. -Solution: Set the buffer pointer to NULL to be able to detect the invalid - situation. Fix a few places that used the buffer pointer - incorrectly. -Files: src/buffer.c, src/ex_cmds.c, src/term.c, src/window.c - -Patch 7.3.307 -Problem: Python 3 doesn't support slice assignment. -Solution: Implement slices. (Brett Overesch, Roland Puntaier) -Files: src/if_python3.c - -Patch 7.3.308 -Problem: Writing to 'verbosefile' has problems, e.g. for :highlight. -Solution: Do not use a separate verbose_write() function but write with the - same code that does redirecting. (Yasuhiro Matsumoto) -Files: src/message.c - -Patch 7.3.309 (after 7.3.307) -Problem: Warnings for pointer types. -Solution: Change PySliceObject to PyObject. -Files: src/if_python3.c - -Patch 7.3.310 -Problem: Code not following Vim style. -Solution: Fix the style. (Elias Diem) -Files: src/gui_photon.c - -Patch 7.3.311 (replaces 7.3.289) -Problem: Complete function isn't called when the leader changed. -Solution: Allow the complete function to return a dictionary with a flag - that indicates ins_compl_restart() is to be called when the leader - changes. (Taro Muraoka) -Files: runtime/insert.txt, src/edit.c, src/eval.c, src/proto/eval.pro - -Patch 7.3.312 (after 7.3.306) -Problem: Can't compile with tiny features. -Solution: Add #ifdef around win_valid(). -Files: src/buffer.c - -Patch 7.3.313 (after 7.3.307) -Problem: One more warning when compiling with dynamic Python 3. -Solution: Change PySliceObject to PyObject. -Files: src/if_python3.c - -Patch 7.3.314 (after 7.3.304) -Problem: Missing parenthesis. -Solution: Add it. (Benjamin R. Haskell) -Files: src/Make_mvc.mak - -Patch 7.3.315 -Problem: Opening a window before forking causes problems for GTK. -Solution: Fork first, create the window in the child and report back to the - parent process whether it worked. If successful the parent exits, - if unsuccessful the child exits and the parent continues in the - terminal. (Tim Starling) -Files: src/gui.c - -Patch 7.3.316 (after 7.3.306) -Problem: Crash when 'colorcolumn' is set and closing buffer. -Solution: Check for w_buffer to be NULL. (Yasuhiro Matsumoto) -Files: src/option.c - -Patch 7.3.317 -Problem: Calling debug.debug() in Lua may cause Vim to hang. -Solution: Add a better debug method. (Rob Hoelz, Luis Carvalho) -Files: src/if_lua.c - -Patch 7.3.318 -Problem: "C" on the last line deletes that line if it's blank. -Solution: Only delete the last line for a delete operation. (James Vega) -Files: src/ops.c - -Patch 7.3.319 (after 7.3.311) -Problem: Redobuff doesn't always include changes of the completion leader. -Solution: Insert backspaces as needed. (idea by Taro Muraoka) -Files: src/edit.c - -Patch 7.3.320 -Problem: When a 0xa0 character is in a sourced file the error message for - unrecognized command does not show the problem. -Solution: Display 0xa0 as <a0>. -Files: src/ex_docmd.c - -Patch 7.3.321 -Problem: Code not following Vim style. -Solution: Fix the style. (Elias Diem) -Files: src/os_qnx.c - -Patch 7.3.322 -Problem: #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef. -Solution: Check the MSC version and 64 bit flags. (Sergiu Dotenco) -Files: src/os_mswin.c - -Patch 7.3.323 -Problem: The default 'errorformat' does not ignore some "included from" - lines. -Solution: Add a few more patterns. (Ben Boeckel) -Files: src/option.h - -Patch 7.3.324 (after 7.3.237) -Problem: Completion for ":compiler" shows color scheme names. -Solution: Fix the directory name. (James Vega) -Files: src/ex_getln.c - -Patch 7.3.325 -Problem: A duplicated function argument gives an internal error. -Solution: Give a proper error message. (based on patch by Tyru) -Files: src/eval.c - -Patch 7.3.326 -Problem: MingW 4.6 no longer supports the -mno-cygwin option. -Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo) -Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak, - src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak, - Filelist - -Patch 7.3.327 -Problem: When jumping to a help tag a closed fold doesn't open. -Solution: Save and restore KeyTyped. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 7.3.328 -Problem: When command line wraps the cursor may be displayed wrong when - there are multi-byte characters. -Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto) -Files: src/ex_getln.c - -Patch 7.3.329 -Problem: When skipping over code from ":for" to ":endfor" get an error for - calling a dict function. (Yasuhiro Matsumoto) -Solution: Ignore errors when skipping over :call command. -Files: src/ex_docmd.c, src/eval.c - -Patch 7.3.330 -Problem: When longjmp() is invoked if the X server gives an error the state - is not properly restored. -Solution: Reset vgetc_busy. (Yukihiro Nakadaira) -Files: src/main.c - -Patch 7.3.331 -Problem: "vit" selects wrong text when a tag name starts with the same text - as an outer tag name. (Ben Fritz) -Solution: Add "\>" to the pattern to check for word boundary. -Files: src/search.c - -Patch 7.3.332 (after 7.3.202) -Problem: Indent after "public:" is not increased in C++ code. (Lech Lorens) -Solution: Check for namespace after the regular checks. (partly by Martin - Gieseking) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.333 -Problem: Using "." to repeat a Visual delete counts the size in bytes, not - characters. (Connor Lane Smith) -Solution: Store the virtual column numbers instead of byte positions. -Files: src/normal.c - -Patch 7.3.334 -Problem: Latest MingW about XSUBPP referencing itself. (Gongqian Li) -Solution: Rename the first use to XSUBPPTRY. -Files: src/Make_ming.mak - -Patch 7.3.335 -Problem: When 'imdisable' is reset from an autocommand in Insert mode it - doesn't take effect. -Solution: Call im_set_active() in Insert mode. (Taro Muraoka) -Files: src/option.c - -Patch 7.3.336 -Problem: When a tags file specifies an encoding different from 'enc' it - may hang and using a pattern doesn't work. -Solution: Convert the whole line. Continue reading the header after the - SORT tag. Add test83. (Yukihiro Nakadaira) -Files: src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test83-tags2, src/testdir/test83-tags3, - src/testdir/test83.in, src/testdir/test83.ok - -Patch 7.3.337 (after 7.3.295) -Problem: Screen doesn't update after resizing the xterm until a character - is typed. -Solution: When the select call is interrupted check do_resize. (Taylor - Hedberg) -Files: src/os_unix.c - -Patch 7.3.338 -Problem: Using getchar() in an expression mapping doesn't work well. -Solution: Don't save and restore the typeahead. (James Vega) -Files: src/getchar.c, src/testdir/test34.ok - -Patch 7.3.339 -Problem: "make shadow" doesn't link all test files. -Solution: Add a line in Makefile and Filelist. -Files: src/Makefile, Filelist - -Patch 7.3.340 -Problem: When 'verbosefile' is set ftplugof.vim can give an error. -Solution: Only remove filetypeplugin autocommands when they exist. (Yasuhiro - Matsumoto) -Files: runtime/ftplugof.vim - -Patch 7.3.341 -Problem: Local help files are only listed in help.txt, not in translated - help files. -Solution: Also find translated help files. (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 7.3.342 -Problem: Code not in Vim style. -Solution: Fix the style. (Elias Diem) -Files: src/os_amiga.c, src/os_mac_conv.c, src/os_win16.c - -Patch 7.3.343 -Problem: No mouse support for urxvt. -Solution: Implement urxvt mouse support, also for > 252 columns. (Yiding - Jia) -Files: src/feature.h, src/keymap.h, src/option.h, src/os_unix.c, - src/term.c, src/version.c - -Patch 7.3.344 -Problem: Problem with GUI startup related to XInitThreads. -Solution: Use read() and write() instead of fputs() and fread(). (James - Vega) -Files: src/gui.c - -Patch 7.3.345 -Problem: When switching language with ":lang" the window title doesn't - change until later. -Solution: Update the window title right away. (Dominique Pelle) -Files: src/ex_cmds2.c - -Patch 7.3.346 -Problem: It's hard to test netbeans commands. -Solution: Process netbeans commands after :sleep. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c - -Patch 7.3.347 -Problem: When dropping text from a browser on Vim it receives HTML even - though "html" is excluded from 'clipboard'. (Andrei Avk) -Solution: Fix the condition for TARGET_HTML. -Files: src/gui_gtk_x11.c - -Patch 7.3.348 -Problem: "call range(1, 947948399)" causes a crash. (ZyX) -Solution: Avoid a loop in the out of memory message. -Files: src/misc2.c - -Patch 7.3.349 -Problem: When running out of memory during startup trying to open a - swapfile will loop forever. -Solution: Let findswapname() set dirp to NULL if out of memory. -Files: src/memline.c - -Patch 7.3.350 -Problem: Block of code after ":lua << EOF" may not work. (Paul Isambert) -Solution: Recognize the ":lua" command, skip to EOF. -Files: src/eval.c - -Patch 7.3.351 -Problem: Text formatting uses start of insert position when it should not. - (Peter Wagenaar) -Solution: Do not use Insstart when intentionally formatting. -Files: src/edit.c - -Patch 7.3.352 -Problem: When completing methods dict functions and script-local functions - get in the way. -Solution: Sort function names starting with "<" to the end. (Yasuhiro - Matsumoto) -Files: src/ex_getln.c - -Patch 7.3.353 (after 7.3.343) -Problem: Missing part of the urxvt patch. -Solution: Add the change in term.c -Files: src/term.c - -Patch 7.3.354 -Problem: ":set backspace+=eol" doesn't work when 'backspace' has a - backwards compatible value of 2. -Solution: Convert the number to a string. (Hirohito Higashi) -Files: src/option.c - -Patch 7.3.355 -Problem: GTK warnings when using netrw.vim. (Ivan Krasilnikov) -Solution: Do not remove the beval event handler twice. -Files: src/option.c - -Patch 7.3.356 -Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon) -Solution: Skip over {} correctly. (Hari G) -Files: src/misc1.c - -Patch 7.3.357 -Problem: Compiler warning in MS-Windows console build. -Solution: Adjust return type of PrintHookProc(). (Mike Williams) -Files: src/os_mswin.c - -Patch 7.3.358 (after 7.3.353) -Problem: Mouse support doesn't work properly. -Solution: Add HMT_URXVT. (lilydjwg, James McCoy) -Files: src/term.c - -Patch 7.3.359 -Problem: Command line completion shows dict functions. -Solution: Skip dict functions for completion. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.360 -Problem: Interrupting the load of an autoload function may cause a crash. -Solution: Do not use the hashitem when not valid. (Yukihiro Nakadaira) -Files: src/eval.c - -Patch 7.3.361 -Problem: Accessing memory after it is freed when EXITFREE is defined. -Solution: Don't access curwin when firstwin is NULL. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.3.362 -Problem: ml_get error when using ":g" with folded lines. -Solution: Adjust the line number for changed_lines(). (Christian Brabandt) -Files: src/ex_cmds.c - -Patch 7.3.363 -Problem: C indenting is wrong after #endif followed by a semicolon. -Solution: Add special handling for a semicolon in a line by itself. (Lech - Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.364 (after 7.3.353) -Problem: Can't compile on HP-UX. (John Marriott) -Solution: Only use TTYM_URXVT when it is defined. -Files: src/term.c - -Patch 7.3.365 -Problem: Crash when using a large Unicode character in a file that has - syntax highlighting. (ngollan) -Solution: Check for going past the end of the utf tables. (Dominique Pelle) -Files: src/mbyte.c - -Patch 7.3.366 -Problem: A tags file with an extremely long name causes errors. -Solution: Ignore tags that are too long. (Arno Renevier) -Files: src/tag.c - -Patch 7.3.367 -Problem: :wundo and :rundo use a wrong checksum. -Solution: Include the last line when computing the hash. (Christian Brabandt) -Files: src/undo.c - -Patch 7.3.368 -Problem: Gcc complains about redefining _FORTIFY_SOURCE. -Solution: Undefine it before redefining it. -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.3.369 -Problem: When compiled with Gnome get an error message when using --help. -Solution: Don't fork. (Ivan Krasilnikov) -Files: src/main.c - -Patch 7.3.370 -Problem: Compiler warns for unused variable in Lua interface. -Solution: Remove the variable. -Files: src/if_lua.c - -Patch 7.3.371 -Problem: Crash in autocomplete. (Greg Weber) -Solution: Check not going over allocated buffer size. -Files: src/misc2.c - -Patch 7.3.372 -Problem: When using a command line mapping to <Up> with file name - completion to go one directory up, 'wildchar' is inserted. - (Yasuhiro Matsumoto) -Solution: Set the KeyTyped flag. -Files: src/ex_getln.c - -Patch 7.3.373 (after 7.3.366) -Problem: A tags file with an extremely long name may cause an infinite loop. -Solution: When encountering a long name switch to linear search. -Files: src/tag.c - -Patch 7.3.374 -Problem: ++encoding does not work properly. -Solution: Recognize ++encoding before ++enc. (Charles Cooper) -Files: src/ex_docmd.c - -Patch 7.3.375 -Problem: Duplicate return statement. -Solution: Remove the superfluous one. (Dominique Pelle) -Files: src/gui_mac.c - -Patch 7.3.376 -Problem: Win32: Toolbar repainting does not work when the mouse pointer - hovers over a button. -Solution: Call DefWindowProc() when not handling an event. (Sergiu Dotenco) -Files: src/gui_w32.c - -Patch 7.3.377 -Problem: No support for bitwise AND, OR, XOR and invert. -Solution: Add and(), or(), invert() and xor() functions. -Files: src/eval.c, src/testdir/test49.in, src/testdir/test65.in, - src/testdir/test65.ok, runtime/doc/eval.txt - -Patch 7.3.378 -Problem: When cross-compiling the check for uint32_t fails. -Solution: Only give a warning message. (Maksim Melnikau) -Files: src/configure.in, src/auto/configure - -Patch 7.3.379 -Problem: C-indenting wrong for static enum. -Solution: Skip over "static". (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.380 -Problem: C-indenting wrong for a function header. -Solution: Skip to the start paren. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.381 -Problem: Configure silently skips interfaces that won't work. -Solution: Add the --enable-fail_if_missing argument. (Shlomi Fish) -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.3.382 (after 7.3.376) -Problem: IME characters are inserted twice. -Solution: Do not call DefWindowProc() if the event was handled. (Yasuhiro - Matsumoto) -Files: src/gui_w32.c - -Patch 7.3.383 -Problem: For EBCDIC pound sign is defined as 't'. -Solution: Correctly define POUND. -Files: src/ascii.h - -Patch 7.3.384 -Problem: Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary - completion. -Solution: Add CTRL-K to the list of recognized keys. (James McCoy) -Files: src/edit.c - -Patch 7.3.385 -Problem: When using an expression mapping on the command line the cursor - ends up in the wrong place. (Yasuhiro Matsumoto) -Solution: Save and restore msg_col and msg_row when evaluating the - expression. -Files: src/getchar. - -Patch 7.3.386 -Problem: Test 83 fails when iconv does not support cp932. (raf) -Solution: Test if conversion works. (Yukihiro Nakadaira) -Files: src/testdir/test83.in - -Patch 7.3.387 (after 7.3.386) -Problem: Test 83 may fail for some encodings. -Solution: Set 'encoding' to utf-8 earlier. -Files: src/testdir/test83.in - -Patch 7.3.388 -Problem: Crash on exit when EXITFREE is defined and using tiny features. -Solution: Check for NULL window pointer. (Dominique Pelle) -Files: src/buffer.c - -Patch 7.3.389 -Problem: After typing at a prompt the "MORE" message appears too soon. -Solution: reset lines_left in msg_end_prompt(). (Eswald) -Files: src/message.c - -Patch 7.3.390 -Problem: Using NULL buffer pointer in a window. -Solution: Check for w_buffer being NULL in more places. (Bjorn Winckler) -Files: src/ex_cmds.c, src/quickfix.c, src/window.c - -Patch 7.3.391 -Problem: Can't check if the XPM_W32 feature is enabled. -Solution: Add xpm_w32 to the list of features. (kat) -Files: src/eval.c - -Patch 7.3.392 -Problem: When setting 'undofile' while the file is already loaded but - unchanged, try reading the undo file. (Andy Wokula) -Solution: Compute a checksum of the text when 'undofile' is set. (Christian - Brabandt) -Files: src/option.c, src/testdir/test72.in, src/testdir/test72.ok - -Patch 7.3.393 -Problem: Win32: When resizing Vim it is always moved to the primary monitor - if the secondary monitor is on the left. -Solution: Use the nearest monitor. (Yukihiro Nakadaira) -Files: src/gui_w32.c - -Patch 7.3.394 -Problem: When placing a mark while starting up a screen redraw messes up - the screen. (lith) -Solution: Don't redraw while still starting up. (Christian Brabandt) -Files: src/screen.c - -Patch 7.3.395 (after 7.3.251) -Problem: "dv?bar" in the last line deletes too much and breaks undo. -Solution: Only adjust the cursor position when it's after the last line of - the buffer. Add a test. (Christian Brabandt) -Files: src/ops.c, src/testdir/test43.in, src/testdir/test43.ok - -Patch 7.3.396 -Problem: After forcing an operator to be characterwise it can still become - linewise when spanning whole lines. -Solution: Don't make the operator linewise when motion_force was set. - (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.397 -Problem: ":helpgrep" does not work properly when 'encoding' is not utf-8 or - latin1. -Solution: Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto) -Files: src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro - -Patch 7.3.398 -Problem: When creating more than 10 location lists and adding items one by - one a previous location may be used. (Audrius Kažukauskas) -Solution: Clear the location list completely when adding the tenth one. -Files: src/quickfix.c - -Patch 7.3.399 -Problem: ":cd" doesn't work when the path contains wildcards. (Yukihiro - Nakadaira) -Solution: Ignore wildcard errors when the EW_NOTWILD flag is used. -Files: src/misc1.c - -Patch 7.3.400 -Problem: Compiler warnings for shadowed variables. -Solution: Remove or rename the variables. -Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c, - src/getchar.c, src/message.c, src/misc2.c, src/move.c, - src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c, - src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c - -Patch 7.3.401 -Problem: A couple more shadowed variables. -Solution: Rename the variables. -Files: src/netbeans.c - -Patch 7.3.402 -Problem: When jumping to the first error a line of the buffer is sometimes - redrawn on top of the list of errors. -Solution: Do not call update_topline_redraw() if the display was scrolled - up. -Files: src/quickfix.c - -Patch 7.3.403 -Problem: ":helpgrep" does not trigger QuickFixCmd* autocommands. -Solution: Trigger the autocommands. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.404 -Problem: When a complete function uses refresh "always" redo will not work - properly. -Solution: Do not reset compl_leader when compl_opt_refresh_always is set. - (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 7.3.405 -Problem: When xterm gets back the function keys it may delete the urxvt - mouse termcap code. -Solution: Check for the whole code, not just the start. (Egmont Koblinger) -Files: src/keymap.h, src/misc2.c, src/term.c - -Patch 7.3.406 -Problem: Multi-byte characters in b:browsefilter are not handled correctly. -Solution: First use convert_filter() normally and then convert to wide - characters. (Taro Muraoka) -Files: src/gui_w48.c - -Patch 7.3.407 -Problem: ":12verbose call F()" may duplicate text while trying to truncate. - (Thinca) -Solution: Only truncate when there is not enough room. Also check the byte - length of the buffer. -Files: src/buffer.c, src/eval.c, src/ex_getln.c, src/message.c, - src/proto/message.pro - -Patch 7.3.408 (after 7.3.406) -Problem: Missing declaration. -Solution: Add the declaration. (John Marriott) -Files: src/gui_w48.c - -Patch 7.3.409 -Problem: The license in pty.c is unclear. -Solution: Add a comment about the license. -Files: src/pty.c - -Patch 7.3.410 -Problem: Compiler error for // comment. (Joachim Schmitz) -Solution: Turn into /* comment */. -Files: src/message.c - -Patch 7.3.411 -Problem: Pasting in Visual mode using the "" register does not work. (John - Beckett) -Solution: Detect that the write is overwriting the pasted register. - (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.412 -Problem: Storing a float in a session file has an additional '&'. -Solution: Remove the '&'. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.413 -Problem: Build warnings on MS-Windows. -Solution: Add type casts. (Mike Williams) -Files: src/ex_getln.c, src/message.c, src/term.c - -Patch 7.3.414 -Problem: Using CTRL-A on "000" drops the leading zero, while on "001" it - doesn't. -Solution: Detect "000" as an octal number. (James McCoy) -Files: src/charset.c - -Patch 7.3.415 (after 7.3.359) -Problem: Completion of functions stops once a dictionary is encountered. - (James McCoy) -Solution: Return an empty string instead of NULL. -Files: src/eval.c - -Patch 7.3.416 (after 7.3.415) -Problem: Compiler warning for wrong pointer. -Solution: Add type cast. -Files: src/eval.c - -Patch 7.3.417 (after 7.3.395) -Problem: Test 43 fails with a tiny build. -Solution: Only run test 43 with at least a small build. -Files: src/testdir/test43.in - -Patch 7.3.418 -Problem: When a user complete function returns -1 an error message is - given. -Solution: When -2 is returned stop completion silently. (Yasuhiro Matsumoto) -Files: src/edit. - -Patch 7.3.419 -Problem: DBCS encoding in a user command does not always work. -Solution: Skip over DBCS characters. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 7.3.420 -Problem: "it" and "at" don't work properly with a dash in the tag name. -Solution: Require a space to match the tag name. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.421 -Problem: Get E832 when setting 'undofile' in vimrc and there is a file to - be edited on the command line. (Toothpik) -Solution: Do not try reading the undo file for a file that wasn't loaded. -Files: src/option.c - -Patch 7.3.422 -Problem: Python 3 does not have __members__. -Solution: Add "name" and "number" in another way. (lilydjwg) -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.423 -Problem: Small mistakes in comments, proto and indent. -Solution: Fix the mistakes. -Files: src/ex_cmds2.c, src/structs.h, src/ui.c, src/proto/ex_docmd.pro - -Patch 7.3.424 -Problem: Win16 version missing some functions. -Solution: Add #defines for the functions. -Files: src/gui_w16.c - -Patch 7.3.425 (after 7.3.265) -Problem: Search history lines are duplicated. (Edwin Steiner) -Solution: Convert separator character from space to NUL. -Files: src/ex_getln.c - -Patch 7.3.426 -Problem: With '$' in 'cpoptions' the $ is not displayed in the first - column. -Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and - Hirohito Higashi) -Files: src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c - -Patch 7.3.427 -Problem: readfile() can be slow with long lines. -Solution: Use realloc() instead of alloc(). (John Little) -Files: src/eval.c - -Patch 7.3.428 -Problem: Win32: an xpm file without a mask crashes Vim. -Solution: Fail when the mask is missing. (Dave Bodenstab) -Files: src/xpm_w32.c - -Patch 7.3.429 -Problem: When 'cpoptions' includes "E" "c0" in the first column is an - error. The redo register is then set to the erroneous command. -Solution: Do not set the redo register if the command fails because of an - empty region. (Hideki Eiraku) -Files: src/getchar.c, src/normal.c, src/proto/getchar.pro - -Patch 7.3.430 -Problem: When a custom filetype detection uses "augroup END" the conf - fileytpe detection does not have the filetypedetect group. -Solution: Always end the group and include filetypedetect in the conf - autocommand. (Lech Lorens) -Files: runtime/filetype.vim - -Patch 7.3.431 -Problem: Fetching a key at a prompt may be confused by escape sequences. - Especially when getting a prompt at a VimEnter autocommand. - (Alex Efros) -Solution: Properly handle escape sequences deleted by check_termcode(). -Files: src/getchar.c, src/misc1.c, src/term.c, src/proto/term.pro - -Patch 7.3.432 -Problem: ACLs are not supported for ZFS or NFSv4 on Solaris. -Solution: Add configure check and code. (Danek Duvall) -Files: src/configure.in, src/auto/configure, src/config.h.in, - src/os_unix.c - -Patch 7.3.433 -Problem: Using continued lines in a Vim script can be slow. -Solution: Instead of reallocating for every line use a growarray. (Yasuhiro - Matsumoto) -Files: src/ex_cmds2.c - -Patch 7.3.434 -Problem: Using join() can be slow. -Solution: Compute the size of the result before allocation to avoid a lot of - allocations and copies. (Taro Muraoka) -Files: src/eval.c - -Patch 7.3.435 -Problem: Compiler warning for unused variable. -Solution: Move the variable inside #ifdef. -Files: src/ex_cmds2.c - -Patch 7.3.436 -Problem: Compiler warnings for types on Windows. -Solution: Add type casts. (Mike Williams) -Files: src/eval.c - -Patch 7.3.437 -Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done. -Solution: Use goto instead of break. (Hirohito Higashi) -Files: src/fileio.c, src/globals.h - -Patch 7.3.438 -Problem: There is no way to avoid ":doautoall" reading modelines. -Solution: Add the <nomodeline> argument. Adjust documentation. -Files: src/fileio.c, runtime/doc/autocmd.txt - -Patch 7.3.439 -Problem: Compiler warnings to size casts in Perl interface. -Solution: Use XS macros. (James McCoy) -Files: src/if_perl.xs, src/typemap - -Patch 7.3.440 -Problem: Vim does not support UTF8_STRING for the X selection. -Solution: Add UTF8_STRING atom support. (Alex Efros) Use it only when - 'encoding' is set to Unicode. -Files: src/ui.c - -Patch 7.3.441 -Problem: Newer versions of MzScheme (Racket) require earlier (trampolined) - initialisation. -Solution: Call mzscheme_main() early in main(). (Sergey Khorev) -Files: src/Make_mvc.mak, src/if_mzsch.c, src/main.c, - src/proto/if_mzsch.pro - -Patch 7.3.442 (after 7.3.438) -Problem: Still read modelines for ":doautocmd". -Solution: Move check for <nomodeline> to separate function. -Files: src/fileio.c, src/ex_docmd.c, src/proto/fileio.pro, - runtime/doc/autocmd.txt - -Patch 7.3.443 -Problem: MS-Windows: 'shcf' and 'shellxquote' defaults are not very good. -Solution: Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz) -Files: src/option.c, runtime/doc/options.txt - -Patch 7.3.444 -Problem: ":all!" and ":sall!" give error E477, even though the - documentation says these are valid commands. -Solution: Support the exclamation mark. (Hirohito Higashi) -Files: src/ex_cmds.h, src/testdir/test31.in, src/testdir/test31.ok - -Patch 7.3.445 (after 7.3.443) -Problem: Can't properly escape commands for cmd.exe. -Solution: Default 'shellxquote' to '('. Append ')' to make '(command)'. - No need to use "/s" for 'shellcmdflag'. -Files: src/misc2.c, src/option.c, src/os_win32.c - -Patch 7.3.446 (after 7.3.445) -Problem: Win32: External commands with special characters don't work. -Solution: Add the 'shellxescape' option. -Files: src/misc2.c, src/option.c, src/option.h, runtime/doc/options.txt - -Patch 7.3.447 (after 7.3.446) -Problem: Win32: External commands with "start" do not work. -Solution: Unescape part of the command. (Yasuhiro Matsumoto) -Files: src/os_win32.c - -Patch 7.3.448 (after 7.3.447) -Problem: Win32: Still a problem with "!start /b". -Solution: Escape only '|'. (Yasuhiro Matsumoto) -Files: src/os_win32.c - -Patch 7.3.449 -Problem: Crash when a BufWinLeave autocommand closes the only other window. - (Daniel Hunt) -Solution: Abort closing a buffer when it becomes the only one. -Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, src/ex_getln.c, - src/misc2.c, src/quickfix.c, src/window.c, src/proto/window.pro - -Patch 7.3.450 (after 7.3.448) -Problem: Win32: Still a problem with "!start /b". -Solution: Fix pointer use. (Yasuhiro Matsumoto) -Files: src/os_win32.c - -Patch 7.3.451 -Problem: Tcl doesn't work on 64 MS-Windows. -Solution: Make it work. (Dave Bodenstab) -Files: src/Make_mvc.mak, src/if_tcl.c - -Patch 7.3.452 -Problem: Undo broken when pasting close to the last line. (Andrey Radev) -Solution: Use a flag to remember if the deleted included the last line. - (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.453 -Problem: Pasting in the command line is slow. -Solution: Don't redraw if there is another character to read. (Dominique - Pelle) -Files: src/ex_getln.c - -Patch 7.3.454 -Problem: Re-allocating memory slows Vim down. -Solution: Use realloc() in ga_grow(). (Dominique Pelle) -Files: src/misc2.c - -Patch 7.3.455 -Problem: Using many continuation lines can be slow. -Solution: Adjust the reallocation size to the current length. -Files: src/ex_cmds2.c - -Patch 7.3.456 -Problem: ":tab drop file" has several problems, including moving the - current window and opening a new tab for a file that already has a - window. -Solution: Refactor ":tab drop" handling. (Hirohito Higashi) -Files: src/buffer.c, src/testdir/test62.in, src/testdir/test62.ok - -Patch 7.3.457 -Problem: When setting $VIMRUNTIME later the directory for fetching - translated messages is not adjusted. -Solution: Put bindtextdomain() in vim_setenv(). -Files: src/misc1.c - -Patch 7.3.458 -Problem: Crash when calling smsg() during startup. -Solution: Don't use 'shortmess' when it is not set yet. -Files: src/option.c - -Patch 7.3.459 -Problem: Win32: Warnings for type conversion. -Solution: Add type casts. (Mike Williams) -Files: src/misc2.c, src/os_win32.c - -Patch 7.3.460 -Problem: Win32: UPX does not compress 64 bit binaries. -Solution: Mention and add the alternative: mpress. (Dave Bodenstab) -Files: src/INSTALLpc.txt, src/Make_ming.mak - -Patch 7.3.461 -Problem: The InsertCharPre autocommand event is not triggered during - completion and when typing several characters quickly. -Solution: Also trigger InsertCharPre during completion. Do not read ahead - when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto) -Files: src/edit.c, src/fileio.c, src/proto/fileio.pro - -Patch 7.3.462 -Problem: When using ":loadview" folds may be closed unexpectedly. -Solution: Take into account foldlevel. (Xavier de Gaye) -Files: src/fold.c - -Patch 7.3.463 -Problem: When using ":s///c" the cursor is moved away from the match. - (Lawman) -Solution: Don't move the cursor when do_ask is set. (Christian Brabandt) -Files: src/ex_cmds.c - -Patch 7.3.464 -Problem: Compiler warning for sprintf. -Solution: Put the length in a variable. (Dominique Pelle) -Files: src/version.c - -Patch 7.3.465 -Problem: Cannot get file name with newline from glob(). -Solution: Add argument to glob() and expand() to indicate they must return a - list. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/vim.h - -Patch 7.3.466 -Problem: Get ml_get error hen ":behave mswin" was used and selecting - several lines. (A. Sinan Unur) -Solution: Adjust the end of the operation. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.467 -Problem: Cursor positioned wrong at the command line when regaining focus - and using some input method. -Solution: Do not position the cursor in command line mode. -Files: src/mbyte.c - -Patch 7.3.468 -Problem: For some compilers the error file is not easily readable. -Solution: Use QuickFixCmdPre for more commands. (Marcin Szamotulski) -Files: runtime/doc/autocmd.txt, src/quickfix.c - -Patch 7.3.469 -Problem: Compiler warning for unused argument without some features. -Solution: Add UNUSED. -Files: src/buffer.c - -Patch 7.3.470 -Problem: Test 62 fails when compiled without GUI and X11. -Solution: Don't test :drop when it is not supported. -Files: src/testdir/test62.in - -Patch 7.3.471 -Problem: Can't abort listing placed signs. -Solution: Check "got_int". (Christian Brabandt) -Files: src/buffer.c, src/ex_cmds.c - -Patch 7.3.472 -Problem: Crash when using ":redraw" in a BufEnter autocommand and - switching to another tab. (驼峰) -Solution: Move triggering the autocommands to after correcting the - option values. Also check the row value to be out of bounds. - (Christian Brabandt, Sergey Khorev) -Files: src/screen.c, src/window.c - -Patch 7.3.473 -Problem: 'cursorbind' does not work correctly in combination with - 'virtualedit' set to "all". -Solution: Copy coladd. (Gary Johnson) -Files: src/move.c - -Patch 7.3.474 -Problem: Perl build with gcc 4 fails. -Solution: Remove XS() statements. (Yasuhiro Matsumoto) -Files: src/if_perl.xs - -Patch 7.3.475 -Problem: In a terminal with few colors the omnicomplete menu may be hard to - see when using the default colors. -Solution: Use more explicit colors. (suggested by Alex Henrie) -Files: src/syntax.c - -Patch 7.3.476 -Problem: When selecting a block, using "$" to include the end of each line - and using "A" and typing a backspace strange things happen. - (Yuangchen Xie) -Solution: Avoid using a negative length. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.477 -Problem: Using ":echo" to output enough lines to scroll, then using "j" and - "k" at the more prompt, displays the command on top of the output. - (Marcin Szamotulski) -Solution: Put the output below the command. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.478 -Problem: Memory leak using the ':rv!' command when reading dictionary or - list global variables i.e. with 'viminfo' containing !. -Solution: Free the typeval. (Dominique Pelle) -Files: src/eval.c - -Patch 7.3.479 -Problem: When 'cursorline' is set the line number highlighting can't be set - separately. -Solution: Add "CursorLineNr". (Howard Buchholz) -Files: src/option.c, src/screen.c, src/syntax.c, src/vim.h - -Patch 7.3.480 -Problem: When using ":qa" and there is a changed buffer picking the buffer - to jump to is not very good. -Solution: Consider current and other tab pages. (Hirohito Higashi) -Files: src/ex_cmds2.c - -Patch 7.3.481 -Problem: Changing 'virtualedit' in an operator function to "all" does not - have the desired effect. (Aaron Bohannon) -Solution: Save, reset and restore virtual_op when executing an operator - function. -Files: src/normal.c - -Patch 7.3.482 -Problem: With 'cursorbind' set moving up/down does not always keep the same - column. -Solution: Set curswant appropriately. (Gary Johnson) -Files: src/move.c - -Patch 7.3.483 (after 7.3.477) -Problem: More prompt shows up too often. -Solution: Instead of adding a line break, only start a new line in the - message history. (Christian Brabandt) -Files: src/eval.c, src/message.c, src/proto/message.pro - -Patch 7.3.484 -Problem: The -E and --echo-wid command line arguments are not mentioned in - "vim --help". -Solution: Add the help lines. (Dominique Pelle) -Files: src/main.c - -Patch 7.3.485 -Problem: When building Vim LDFLAGS isn't passed on to building xxd. -Solution: Pass the LDFLAGS value. (James McCoy) -Files: src/Makefile - -Patch 7.3.486 -Problem: Build error with mingw64 on Windows 7. -Solution: Avoid the step of going through vimres.res. (Guopeng Wen) -Files: src/Make_ming.mak - -Patch 7.3.487 -Problem: When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical - movement is reset unnecessarily. -Solution: Do not set w_set_curswant for every option. Add a test for this. - (Kana Natsuno) Add the P_CURSWANT flag for options. -Files: src/option.c, src/testdir/test84.in, src/testdir/test84.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.488 -Problem: ":help!" in a help file does not work as documented. -Solution: When in a help file don't give an error message. (thinca) -Files: src/ex_cmds.c - -Patch 7.3.489 -Problem: CTRL-] in Insert mode does not expand abbreviation when used in a - mapping. (Yichao Zhou) -Solution: Special case using CTRL-]. (Christian Brabandt) -Files: src/getchar.c, src/edit.c - -Patch 7.3.490 -Problem: Member confusion in Lua interface. -Solution: Fix it. Add luaeval(). (Taro Muraoka, Luis Carvalho) -Files: runtime/doc/if_lua.txt, src/eval.c, src/if_lua.c, - src/proto/if_lua.pro - -Patch 7.3.491 -Problem: No tests for Lua. -Solution: Add some simple tests for Lua. (Luis Carvalho) -Files: src/testdir/test1.in, src/testdir/test85.in, src/testdir/test85.ok - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.492 -Problem: Can't indent conditions separately from function arguments. -Solution: Add the 'k' flag in 'cino'. (Lech Lorens) -Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, - src/testdir/test3.ok - -Patch 7.3.493 (after 7.3.492) -Problem: Two unused variables. -Solution: Remove them. (Hong Xu) -Files: src/misc1.c - -Patch 7.3.494 (after 7.3.491) -Problem: Can't compile with Lua 5.1 or dynamic Lua. -Solution: Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho) -Files: src/if_lua.c - -Patch 7.3.495 (after 7.3.492) -Problem: Compiler warnings. -Solution: Add function declaration. Remove "offset" argument. -Files: src/misc1.c - -Patch 7.3.496 -Problem: MS-DOS: When "diff" trips over difference in line separators some - tests fail. -Solution: Make some .ok files use unix line separators. (David Pope) -Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak - -Patch 7.3.497 -Problem: Crash when doing ":python print" and compiled with gcc and - the optimizer enabled. -Solution: Avoid the crash, doesn't really fix the problem. (Christian - Brabandt) -Files: src/if_py_both.h - -Patch 7.3.498 -Problem: The behavior of the "- register changes depending on value of - the 'clipboard' option. (Szamotulski) -Solution: Also set the "- register when the register is "*" or "+". - (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.499 -Problem: When using any interface language when Vim is waiting for a child - process it gets confused by a child process started through the - interface. -Solution: Always used waitpid() instead of wait(). (Yasuhiro Matsumoto) -Files: src/os_unix.c - -Patch 7.3.500 -Problem: Ming makefile unconditionally sets WINVER. -Solution: Only defined when not already defined. (Yasuhiro Matsumoto) -Files: src/Make_ming.mak - -Patch 7.3.501 -Problem: Error for "flush" not being defined when using Ruby command. -Solution: Defined "flush" as a no-op method. (Kent Sibilev) -Files: src/if_ruby.c - -Patch 7.3.502 -Problem: Netbeans insert halfway a line actually appends to the line. -Solution: Insert halfway the line. (Brian Victor) -Files: src/netbeans.c - -Patch 7.3.503 (after 7.3.501) -Problem: Warning for unused argument. -Solution: Add UNUSED. -Files: src/if_ruby.c - -Patch 7.3.504 -Problem: Commands in help files are not highlighted. -Solution: Allow for commands in backticks. Adjust CTRL-] to remove the - backticks. -Files: src/ex_cmds.c - -Patch 7.3.505 -Problem: Test 11 fails on MS-Windows in some versions. -Solution: Fix #ifdefs for whether filtering through a pipe is possible. Move - setting b_no_eol_lnum back to where it was before patch 7.3.124. - (David Pope) -Files: src/feature.h, src/eval.c, src/ex_cmds.c, src/fileio.c - -Patch 7.3.506 -Problem: GTK gives an error when selecting a non-existent file. -Solution: Add a handler to avoid the error. (Christian Brabandt) -Files: src/gui_gtk.c - -Patch 7.3.507 -Problem: When exiting with unsaved changes, selecting an existing file in - the file dialog, there is no dialog to ask whether the existing - file should be overwritten. (Felipe G. Nievinski) -Solution: Call check_overwrite() before writing. (Christian Brabandt) -Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds.pro - -Patch 7.3.508 -Problem: Default for v:register is not set. -Solution: Init v:register in eval_init(). Correct for 'clipboard' before the - main loop. (Ingo Karkat) -Files: src/eval.c, src/main.c - -Patch 7.3.509 -Problem: ":vimgrep" fails when 'autochdir' is set. -Solution: A more generic solution for changing directory. (Ben Fritz) -Files: src/quickfix.c - -Patch 7.3.510 -Problem: Test 77 fails on Solaris 7. (Michael Soyka) -Solution: Replace any tabs with spaces. -Files: src/testdir/test77.in - -Patch 7.3.511 -Problem: Using a FileReadCmd autocommand that does ":e! {file}" may cause a - crash. (Christian Brabandt) -Solution: Properly restore curwin->w_s. -Files: src/fileio.c - -Patch 7.3.512 -Problem: undofile() returns a useless name when passed an empty string. -Solution: Return an empty string. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.513 -Problem: Cannot use CTRL-E and CTRL-Y with "r". -Solution: Make CTRL-E and CTRL-Y work like in Insert mode. (Christian - Brabandt) -Files: src/edit.c, src/normal.c, src/proto/edit.pro - -Patch 7.3.514 -Problem: No completion for :history command. -Solution: Add the completion and update the docs. Also fix ":behave" - completion. (Dominique Pelle) -Files: runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c, - src/ex_getln.c, src/vim.h - -Patch 7.3.515 -Problem: 'wildignorecase' only applies to the last part of the path. -Solution: Also ignore case for letters earlier in the path. -Files: src/misc1.c - -Patch 7.3.516 -Problem: extend(o, o) may crash Vim. -Solution: Fix crash and add test. (Thinca and Hirohito Higashi) -Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok - -Patch 7.3.517 -Problem: Crash when using "vipvv". (Alexandre Provencio) -Solution: Don't let the text length become negative. -Files: src/ops.c - -Patch 7.3.518 -Problem: When 'encoding' is a double-byte encoding ":helptags" may not find - tags correctly. -Solution: Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto) -Files: src/ex_cmds.c - -Patch 7.3.519 -Problem: When completefunction returns it cannot indicate end of completion - mode. -Solution: Recognize completefunction returning -3. (Matsushita Shougo) -Files: src/edit.c - -Patch 7.3.520 -Problem: Gvim starts up slow on Ubuntu 12.04. -Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro - Matsumoto) Do check $DISPLAY being set. -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - -Patch 7.3.521 -Problem: Using "z=" on a multi-byte character may cause a crash. -Solution: Don't use strlen() on an int pointer. -Files: src/spell.c - -Patch 7.3.522 -Problem: Crash in vim_realloc() when using MEM_PROFILE. -Solution: Avoid using a NULL argument. (Dominique Pelle) -Files: src/eval.c - -Patch 7.3.523 -Problem: ":diffupdate" doesn't check for files changed elsewhere. -Solution: Add the ! flag. (Christian Brabandt) -Files: runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h - -Patch 7.3.524 (after 7.3.523) -Problem: Missing comma. -Solution: Add the comma. -Files: src/version.c - -Patch 7.3.525 -Problem: Compiler warning on 64 bit MS-Windows. -Solution: Add type cast. (Mike Williams) -Files: src/ex_getln.c - -Patch 7.3.526 -Problem: Confusing indenting for #ifdef. -Solution: Remove and add indent. (Elias Diem) -Files: src/normal.c - -Patch 7.3.527 -Problem: Clang complains about non-ASCII characters in a string. -Solution: Change to \x88 form. (Dominique Pelle) -Files: src/charset.c - -Patch 7.3.528 -Problem: Crash when closing last window in a tab. (Alex Efros) -Solution: Use common code in close_last_window_tabpage(). (Christian - Brabandt) -Files: src/window.c - -Patch 7.3.529 -Problem: Using a count before "v" and "V" does not work (Kikyous) -Solution: Make the count select that many characters or lines. (Christian - Brabandt) -Files: src/normal.c - -Patch 7.3.530 (after 7.3.520) -Problem: Gvim does not work when 'guioptions' includes "f". (Davido) -Solution: Call gui_mch_init_check() when running GUI in the foreground. - (Yasuhiro Matsumoto) -Files: src/gui.c - -Patch 7.3.531 (after 7.3.530) -Problem: GUI does not work on MS-Windows. -Solution: Add the missing #ifdef. (Patrick Avery) -Files: src/gui.c - -Patch 7.3.532 -Problem: Compiler warning from Clang. -Solution: Use a different way to point inside a string. (Dominique Pelle) -Files: src/syntax.c - -Patch 7.3.533 -Problem: Memory leak when writing undo file. -Solution: Free the ACL. (Dominique Pelle) -Files: src/undo.c - -Patch 7.3.534 (after 7.3.461) -Problem: When using an InsertCharPre autocommand autoindent fails. -Solution: Proper handling of v:char. (Alexey Radkov) -Files: src/edit.c - -Patch 7.3.535 -Problem: Many #ifdefs for MB_MAXBYTES. -Solution: Also define MB_MAXBYTES without the +multi_byte feature. Fix - places where the buffer didn't include space for a NUL byte. -Files: src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c, - src/misc1.c, src/screen.c, src/spell.c, src/vim.h - -Patch 7.3.536 -Problem: When spell checking the German sharp s is not seen as a word - character. (Aexl Bender) -Solution: In utf_islower() return true for the sharp s. Note: also need - updated spell file for this to take effect. -Files: src/mbyte.c - -Patch 7.3.537 -Problem: Unnecessary call to init_spell_chartab(). -Solution: Delete the call. -Files: src/spell.c - -Patch 7.3.538 -Problem: 'efm' does not handle Tabs in pointer lines. -Solution: Add Tab support. Improve tests. (Lech Lorens) -Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok - -Patch 7.3.539 -Problem: Redrawing a character on the command line does not work properly - for multi-byte characters. -Solution: Count the number of bytes in a character. (Yukihiro Nakadaira) -Files: src/ex_getln.c - -Patch 7.3.540 -Problem: Cursor is left on the text instead of the command line. -Solution: Don't call setcursor() in command line mode. -Files: src/getchar.c - -Patch 7.3.541 -Problem: When joining lines comment leaders need to be removed manually. -Solution: Add the 'j' flag to 'formatoptions'. (Lech Lorens) -Files: runtime/doc/change.txt, src/edit.c, src/ex_docmd.c, src/misc1.c, - src/normal.c, src/ops.c, src/option.h, src/proto/misc1.pro, - src/proto/ops.pro, src/search.c, src/testdir/test29.in, - src/testdir/test29.ok - -Patch 7.3.542 (after 7.3.506) -Problem: Function is sometimes unused. -Solution: Add #ifdef. -Files: src/gui_gtk.c - -Patch 7.3.543 -Problem: The cursor is in the wrong line after using ":copen". (John - Beckett) -Solution: Invoke more drastic redraw method. -Files: src/eval.c - -Patch 7.3.544 -Problem: There is no good way to close a quickfix window when closing the - last ordinary window. -Solution: Add the QuitPre autocommand. -Files: src/ex_docmd.c, src/fileio.c, src/vim.h - -Patch 7.3.545 -Problem: When closing a window or buffer autocommands may close it too, - causing problems for where the autocommand was invoked from. -Solution: Add the w_closing and b_closing flags. When set disallow ":q" and - ":close" to prevent recursive closing. -Files: src/structs.h, src/buffer.c, src/ex_docmd.c, src/window.c - -Patch 7.3.546 -Problem: Bogus line break. -Solution: Remove the line break. -Files: src/screen.c - -Patch 7.3.547 (after 7.3.541) -Problem: Compiler warning for uninitialized variable. -Solution: Initialize it. -Files: src/ops.c - -Patch 7.3.548 -Problem: Compiler warning on 64 bit Windows. -Solution: Add type cast. (Mike Williams) -Files: src/ops.c - -Patch 7.3.549 -Problem: In 'cinoptions' "0s" is interpreted as one shiftwidth. (David - Pineau) -Solution: Use the zero as zero. (Lech Lorens) -Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.550 (after 7.3.541) -Problem: With "j" in 'formatoptions' a list leader is not removed. (Gary - Johnson) -Solution: Don't ignore the start of a three part comment. (Lech Lorens) -Files: src/ops.c, src/testdir/test29.in, src/testdir/test29.ok - -Patch 7.3.551 -Problem: When using :tablose a TabEnter autocommand is triggered too early. - (Karthick) -Solution: Don't trigger *Enter autocommands before closing the tab. - (Christian Brabandt) -Files: src/buffer.c, src/eval.c, src/ex_cmds2.c, src/fileio.c, - src/proto/window.pro, src/window.c - -Patch 7.3.552 -Problem: Formatting inside comments does not use the "2" flag in - 'formatoptions'. -Solution: Support the "2" flag. (Tor Perkins) -Files: src/vim.h, src/ops.c, src/edit.c, src/misc1.c, - src/testdir/test68.in, src/testdir/test68.ok - -Patch 7.3.553 -Problem: With double-width characters and 'listchars' containing "precedes" - the text is displayed one cell off. -Solution: Check for double-width character being overwritten by the - "precedes" character. (Yasuhiro Matsumoto) -Files: src/screen.c - -Patch 7.3.554 (after 7.3.551) -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/window.c - -Patch 7.3.555 -Problem: Building on IBM z/OS fails. -Solution: Adjust configure. Use the QUOTESED value from config.mk instead of - the hard coded one in Makefile. (Stephen Bovy) -Files: src/configure.in, src/auto/configure, src/Makefile - -Patch 7.3.556 -Problem: Compiler warnings on 64 bit Windows. -Solution: Add type casts. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.557 -Problem: Crash when an autocommand wipes out a buffer when it is hidden. -Solution: Restore the current window when needed. (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.558 -Problem: Memory access error. (Gary Johnson) -Solution: Allocate one more byte. (Dominique Pelle) -Files: src/misc1.c - -Patch 7.3.559 -Problem: home_replace() does not work with 8.3 filename. -Solution: Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto) -Files: src/eval.c, src/misc1.c - -Patch 7.3.560 -Problem: Get an error for a locked argument in extend(). -Solution: Initialize the lock flag for a dictionary. (Yukihiro Nakadaira) -Files: src/eval.c - -Patch 7.3.561 -Problem: Using refresh: always in a complete function breaks the "." - command. (Val Markovic) -Solution: Add match leader to the redo buffer. (Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 7.3.562 -Problem: ":profdel" should not work when the +profile feature is disabled. -Solution: Call ex_ni(). (Yasuhiro Matsumoto) -Files: src/ex_cmds2.c - -Patch 7.3.563 (after 7.3.557) -Problem: Can't build with tiny features. -Solution: Add #ifdef. -Files: src/buffer.c - -Patch 7.3.564 (after 7.3.559) -Problem: Warning for pointer conversion. -Solution: Add type cast. -Files: src/misc1.c - -Patch 7.3.565 -Problem: Can't generate proto file for Python 3. -Solution: Add PYTHON3_CFLAGS to LINT_CFLAGS. -Files: src/Makefile - -Patch 7.3.566 (after 7.3.561) -Problem: Redo after completion does not work correctly when refresh: always - is not used. (Raymond Ko) -Solution: Check the compl_opt_refresh_always flag. (Christian Brabandt) -Files: src/edit.c - -Patch 7.3.567 -Problem: Missing copyright notice. -Solution: Add Vim copyright notice. (Taro Muraoka) -Files: src/dehqx.py - -Patch 7.3.568 -Problem: Bad indents for #ifdefs. -Solution: Add and remove spaces. (Elias Diem) -Files: src/globals.h - -Patch 7.3.569 -Problem: Evaluating Vim expression in Python is insufficient. -Solution: Add vim.bindeval(). Also add pyeval() and py3eval(). (ZyX) -Files: runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c, - src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c, - src/proto/eval.pro, src/proto/if_python.pro, - src/proto/if_python3.pro, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Makefile, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.570 -Problem: ":vimgrep" does not obey 'wildignore'. -Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat) -Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c - -Patch 7.3.571 -Problem: Duplicated condition. -Solution: Remove one. (Dominique Pelle) -Files: src/os_win32.c - -Patch 7.3.572 -Problem: Duplicate statement in if and else. (Dominique Pelle) -Solution: Remove the condition and add a TODO. -Files: src/gui_xmebw.c - -Patch 7.3.573 -Problem: Using array index before bounds checking. -Solution: Swap the parts of the condition. (Dominique Pelle) -Files: src/ops.c - -Patch 7.3.574 -Problem: When pasting a register in the search command line a CTRL-L - character is not pasted. (Dominique Pelle) -Solution: Escape the CTRL-L. (Christian Brabandt) -Files: src/ex_getln.c - -Patch 7.3.575 -Problem: "ygt" tries to yank instead of giving an error. (Daniel Mueller) -Solution: Check for a pending operator. -Files: src/normal.c - -Patch 7.3.576 -Problem: Formatting of lists inside comments is not right yet. -Solution: Use another solution and add a test. (Tor Perkins) -Files: src/edit.c, src/misc1.c, src/testdir/test68.in, - src/testdir/test69.ok - -Patch 7.3.577 -Problem: Size of memory does not fit in 32 bit unsigned. -Solution: Use Kbyte instead of byte. Call GlobalMemoryStatusEx() instead of - GlobalMemoryStatus() when available. -Files: src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c, - src/os_win16.c, src/os_win32.c - -Patch 7.3.578 -Problem: Misplaced declaration. -Solution: Move declaration to start of block. -Files: src/if_py_both.h - -Patch 7.3.579 (after 7.3.569) -Problem: Can't compile with Python 2.5. -Solution: Use PyCObject when Capsules are not available. -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.580 -Problem: Warning on 64 bit MS-Windows. -Solution: Add type cast. (Mike Williams) -Files: src/if_py_both.h - -Patch 7.3.581 -Problem: Problems compiling with Python. -Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg) -Files: src/if_python.c - -Patch 7.3.582 (after 7.3.576) -Problem: Missing parts of the test OK file. -Solution: Add the missing parts. -Files: src/testdir/test68.ok - -Patch 7.3.583 -Problem: PyObject_NextNotImplemented is not defined before Python 2.7. - (Danek Duvall) -Solution: Add #ifdefs. -Files: src/if_python.c - -Patch 7.3.584 -Problem: PyCObject is not always defined. -Solution: Use PyObject instead. -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.585 -Problem: Calling changed_bytes() too often. -Solution: Move changed_bytes() out of a loop. (Tor Perkins) -Files: src/edit.c - -Patch 7.3.586 -Problem: When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined. -Solution: Set the default for WINVER to 0x0500. -Files: src/Make_ming.mak, src/Make_cyg.mak - -Patch 7.3.587 -Problem: Compiler warning for local var shadowing global var. -Solution: Rename the var and move it to an inner block. (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.588 -Problem: Crash on NULL pointer. -Solution: Fix the immediate problem by checking for NULL. (Lech Lorens) -Files: src/window.c - -Patch 7.3.589 -Problem: Crash when $HOME is not set. -Solution: Check for a NULL pointer. (Chris Webb) -Files: src/misc1.c - -Patch 7.3.590 -Problem: The '< and '> marks cannot be set directly. -Solution: Allow setting '< and '>. (Christian Brabandt) -Files: src/mark.c - -Patch 7.3.591 -Problem: Can only move to a tab by absolute number. -Solution: Move a number of tabs to the left or the right. (Lech Lorens) -Files: runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c, - src/testdir/test62.in, src/testdir/test62.ok, src/window.c - -Patch 7.3.592 -Problem: Vim on GTK does not support g:browsefilter. -Solution: Add a GtkFileFilter to the file chooser. (Christian Brabandt) -Files: src/gui_gtk.c - -Patch 7.3.593 -Problem: No easy way to decide if b:browsefilter will work. -Solution: Add the browsefilter feature. -Files: src/gui_gtk.c, src/eval.c, src/vim.h - -Patch 7.3.594 -Problem: The X command server doesn't work perfectly. It sends an empty - reply for as-keys requests. -Solution: Remove duplicate ga_init2(). Do not send a reply for as-keys - requests. (Brian Burns) -Files: src/if_xcmdsrv.c - -Patch 7.3.595 -Problem: The X command server responds slowly -Solution: Change the loop that waits for replies. (Brian Burns) -Files: src/if_xcmdsrv.c - -Patch 7.3.596 -Problem: Can't remove all signs for a file or buffer. -Solution: Support "*" for the sign id. (Christian Brabandt) -Files: runtime/doc/sign.txt, src/buffer.c, src/ex_cmds.c, - src/proto/buffer.pro - -Patch 7.3.597 -Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey - Vakulenko) -Solution: Make 'autoselect' work for the + register. (Christian Brabandt) - Add the "autoselectplus" option in 'clipboard' and the "P" flag in - 'guioptions'. -Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c, - src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c - -Patch 7.3.598 -Problem: Cannot act upon end of completion. (Taro Muraoka) -Solution: Add an autocommand event that is triggered when completion has - finished. (Idea by Florian Klein) -Files: src/edit.c, src/fileio.c, src/vim.h - -Patch 7.3.599 (after 7.3.597) -Problem: Missing change in one file. -Solution: Patch for changed clip_autoselect(). -Files: src/option.c - -Patch 7.3.600 -Problem: <f-args> is not expanded properly with DBCS encoding. -Solution: Skip over character instead of byte. (Yukihiro Nakadaira) -Files: src/ex_docmd.c - -Patch 7.3.601 -Problem: Bad code style. -Solution: Insert space, remove parens. -Files: src/farsi.c - -Patch 7.3.602 -Problem: Missing files in distribution. -Solution: Update the list of files. -Files: Filelist - -Patch 7.3.603 -Problem: It is possible to add replace builtin functions by calling - extend() on g:. -Solution: Add a flag to a dict to indicate it is a scope. Check for - existing functions. (ZyX) -Files: src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h, - src/testdir/test34.in, src/testdir/test34.ok, src/window.c - -Patch 7.3.604 -Problem: inputdialog() doesn't use the cancel argument in the console. - (David Fishburn) -Solution: Use the third argument. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.605 (after 7.3.577) -Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly) -Solution: Add #ifdef for MEMORYSTATUSEX. -Files: src/os_win32.c - -Patch 7.3.606 -Problem: CTRL-P completion has a problem with multi-byte characters. -Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto) -Files: src/search.c, src/macros.h - -Patch 7.3.607 -Problem: With an 8 color terminal the selected menu item is black on black, - because darkGrey as bg is the same as black. -Solution: Swap fg and bg colors. (James McCoy) -Files: src/syntax.c - -Patch 7.3.608 -Problem: winrestview() does not always restore the view correctly. -Solution: Call win_new_height() and win_new_width(). (Lech Lorens) -Files: src/eval.c, src/proto/window.pro, src/window.c - -Patch 7.3.609 -Problem: File names in :checkpath! output are garbled. -Solution: Check for \zs in the pattern. (Lech Lorens) -Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok - -Patch 7.3.610 -Problem: Cannot operate on the text that a search pattern matches. -Solution: Add the "gn" and "gN" commands. (Christian Brabandt) -Files: runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c, - src/proto/search.pro, src/search.c, src/testdir/test53.in, - src/testdir/test53.ok - -Patch 7.3.611 -Problem: Can't use Vim dictionary as self argument in Python. -Solution: Fix the check for the "self" argument. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.612 -Problem: Auto formatting messes up text when 'fo' contains "2". (ZyX) -Solution: Decrement "less_cols". (Tor Perkins) -Files: src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok - -Patch 7.3.613 -Problem: Including Python's config.c in the build causes trouble. It is - not clear why it was there. -Solution: Omit the config file. (James McCoy) -Files: src/Makefile, src/auto/configure, src/configure.in - -Patch 7.3.614 -Problem: Number argument gets turned into a number while it should be a - string. -Solution: Add flag to the call_vim_function() call. (Yasuhiro Matsumoto) -Files: src/edit.c, src/eval.c, src/proto/eval.pro - -Patch 7.3.615 -Problem: Completion for a user command does not recognize backslash before - a space. -Solution: Recognize escaped characters. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 7.3.616 (after 7.3.610) -Problem: Can't compile without +visual. -Solution: Add #ifdef. -Files: src/normal.c - -Patch 7.3.617 (after 7.3.615) -Problem: Hang on completion. -Solution: Skip over the space. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c - -Patch 7.3.618 (after 7.3.616) -Problem: Still doesn't compile with small features. -Solution: Move current_search() out of #ifdef. (Dominique Pelle) -Files: src/normal.c, src/search.c - -Patch 7.3.619 -Problem: When executing a shell command Vim may become slow to respond. -Solution: Don't wait after every processed message. (idea by Yasuhiro - Matsumoto) -Files: src/os_win32.c - -Patch 7.3.620 -Problem: Building with recent Ruby on Win32 doesn't work. -Solution: Add a separate argument for the API version. (Yasuhiro Matsumoto) -Files: src/Make_ming.mak, src/Make_mvc.mak - -Patch 7.3.621 -Problem: Compiler warnings on 64 bit windows. -Solution: Add type casts. (Mike Williams) -Files: src/ex_docmd.c, src/search.c - -Patch 7.3.622 -Problem: XPM library for Win32 can't be found. -Solution: Suggest using the one from the Vim ftp site. -Files: src/Make_mvc.mak - -Patch 7.3.623 -Problem: Perl 5.14 commands crash Vim on MS-Windows. -Solution: Use perl_get_sv() instead of GvSV(). (Raymond Ko) -Files: src/if_perl.xs - -Patch 7.3.624 -Problem: When cancelling input() it returns the third argument. That should - only happen for inputdialog(). -Solution: Check if inputdialog() was used. (Hirohito Higashi) -Files: src/eval.c - -Patch 7.3.625 -Problem: "gn" does not handle zero-width matches correctly. -Solution: Handle zero-width patterns specially. (Christian Brabandt) -Files: src/search.c - -Patch 7.3.626 -Problem: Python interface doesn't build with Python 2.4 or older. -Solution: Define Py_ssize_t. (Benjamin Bannier) -Files: src/if_py_both.h - -Patch 7.3.627 -Problem: When using the "n" flag with the ":s" command a \= substitution - will not be evaluated. -Solution: Do perform the evaluation, so that a function can be invoked at - every matching position without changing the text. (Christian - Brabandt) -Files: src/ex_cmds.c - -Patch 7.3.628 -Problem: ":open" does not allow for a !, which results in a confusing error - message. (Shawn Wilson) -Solution: Allow ! on ":open". (Christian Brabandt) -Files: src/ex_cmds.h - -Patch 7.3.629 -Problem: There is no way to make 'shiftwidth' follow 'tabstop'. -Solution: When 'shiftwidth' is zero use the value of 'tabstop'. (Christian - Brabandt) -Files: src/edit.c, src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c, - src/option.c, src/proto/option.pro - -Patch 7.3.630 -Problem: "|" does not behave correctly when 'virtualedit' is set. -Solution: Call validate_virtcol(). (David Bürgin) -Files: src/normal.c - -Patch 7.3.631 -Problem: Cannot complete user names. -Solution: Add user name completion. (Dominique Pelle) -Files: runtime/doc/map.txt, src/auto/configure, src/config.h.in, - src/configure.in, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, - src/misc2.c, src/proto/misc1.pro, src/vim.h - -Patch 7.3.632 -Problem: Cannot select beyond 222 columns with the mouse in xterm. -Solution: Add support for SGR mouse tracking. (Hayaki Saito) -Files: runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c, - src/option.h, src/os_unix.c, src/term.c, src/version.c - -Patch 7.3.633 -Problem: Selection remains displayed as selected after selecting another - text. -Solution: Call xterm_update() before select(). (Andrew Pimlott) -Files: src/os_unix.c - -Patch 7.3.634 -Problem: Month/Day format for undo is confusing. (Marcin Szamotulski) -Solution: Always use Year/Month/Day, should work for everybody. -Files: src/undo.c - -Patch 7.3.635 -Problem: Issue 21: System call during startup sets 'lines' to a wrong - value. (Karl Yngve) -Solution: Don't set the shell size while the GUI is still starting up. - (Christian Brabandt) -Files: src/ui.c - -Patch 7.3.636 (after 7.3.625) -Problem: Not all zero-width matches handled correctly for "gn". -Solution: Move zero-width detection to a separate function. (Christian - Brabandt) -Files: src/search.c - -Patch 7.3.637 -Problem: Cannot catch the error caused by a foldopen when there is no fold. - (ZyX, Issue 48) -Solution: Do not break out of the loop early when inside try/catch. - (Christian Brabandt) Except when there is a syntax error. -Files: src/ex_docmd.c, src/globals.h - -Patch 7.3.638 -Problem: Unnecessary redraw of the previous character. -Solution: Check if the character is double-width. (Jon Long) -Files: src/screen.c - -Patch 7.3.639 -Problem: It's not easy to build Vim on Windows with XPM support. -Solution: Include the required files, they are quite small. Update the - MSVC makefile to use them. Binary files are in the next patch. - (Sergey Khorev) -Files: src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h, - src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat, - src/bigvim64.bat, Filelist - -Patch 7.3.640 -Problem: It's not easy to build Vim on Windows with XPM support. -Solution: Binary files for 7.3.639. (Sergey Khorev) -Files: src/xpm/x64/lib/libXpm.lib, src/xpm/x86/lib/libXpm.a, - src/xpm/x86/lib/libXpm.lib - -Patch 7.3.641 -Problem: ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan) -Solution: Add the bang. (Christian Brabandt) -Files: src/fold.c - -Patch 7.3.642 -Problem: Segfault with specific autocommands. Was OK after 7.3.449 and - before 7.3.545. (Richard Brown) -Solution: Pass TRUE for abort_if_last in the call to close_buffer(). - (Christian Brabandt) -Files: src/window.c - -Patch 7.3.643 (after 7.3.635) -Problem: MS-Windows: When starting gvim maximized 'lines' and 'columns' are - wrong. (Christian Robinson) -Solution: Move the check for gui.starting from ui_get_shellsize() to - check_shellsize(). -Files: src/ui.c, src/term.c - -Patch 7.3.644 -Problem: Dead code for BeOS GUI. -Solution: Remove unused __BEOS__ stuff. -Files: src/gui.c - -Patch 7.3.645 -Problem: No tests for patch 7.3.625 and 7.3.637. -Solution: Add more tests for the "gn" command and try/catch. (Christian - Brabandt) -Files: src/testdir/test53.in, src/testdir/test53.ok, - src/testdir/test55.in, src/testdir/test55.ok - -Patch 7.3.646 -Problem: When reloading a buffer the undo file becomes unusable unless ":w" - is executed. (Dmitri Frank) -Solution: After reloading the buffer write the undo file. (Christian - Brabandt) -Files: src/fileio.c - -Patch 7.3.647 -Problem: "gnd" doesn't work correctly in Visual mode. -Solution: Handle Visual mode differently in "gn". (Christian Brabandt) -Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok - -Patch 7.3.648 -Problem: Crash when using a very long file name. (ZyX) -Solution: Properly check length of buffer space. -Files: src/buffer.c - -Patch 7.3.649 -Problem: When 'clipboard' is set to "unnamed" small deletes end up in the - numbered registers. (Ingo Karkat) -Solution: Use the original register name to decide whether to put a delete - in a numbered register. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.650 -Problem: Completion after ":help \{-" gives an error message and messes up - the command line. -Solution: Cancel the tag search if the pattern can't be compiled. (Yasuhiro - Matsumoto) -Files: src/tag.c - -Patch 7.3.651 -Problem: Completion after ":help \{-" gives an error message. -Solution: Prepend a backslash. -Files: src/ex_cmds.c - -Patch 7.3.652 -Problem: Workaround for Python crash isn't perfect. -Solution: Change the type of the length argument. (Sean Estabrooks) -Files: src/if_py_both.h - -Patch 7.3.653 -Problem: MingW needs build rule for included XPM files. Object directory - for 32 and 64 builds is the same, also for MSVC. -Solution: Add MingW build rule to use included XPM files. Add the CPU or - architecture to the object directory name. (Sergey Khorev) -Files: src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt - -Patch 7.3.654 -Problem: When creating a Vim dictionary from Python objects an empty key - might be used. -Solution: Do not use empty keys, throw an IndexError. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.655 -Problem: 64 bit MingW xpm .a file is missing. -Solution: Add the file. (Sergey Khorev) -Files: src/xpm/x64/lib/libXpm.a - -Patch 7.3.656 -Problem: Internal error in :pyeval. -Solution: Handle failed object conversion. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.657 -Problem: Python bindings silently truncate string values containing NUL. -Solution: Fail when a string contains NUL. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.658 -Problem: NUL bytes truncate strings when converted from Python. -Solution: Handle truncation as an error. (ZyX) -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.659 -Problem: Recent Python changes are not tested. -Solution: Add tests for Python bindings. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.660 -Problem: ":help !" jumps to help for ":!". -Solution: Adjust check for tag header line. (Andy Wokula) -Files: src/tag.c - -Patch 7.3.661 (after 7.3.652) -Problem: SEGV in Python code. -Solution: Initialize len to zero. Use the right function depending on - version. (Maxim Philippov) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.662 -Problem: Can't build Ruby interface with Ruby 1.9.3. -Solution: Add missing functions. (V. Ondruch) -Files: src/if_ruby.c - -Patch 7.3.663 -Problem: End of color scheme name not clear in E185. (Aaron Lewis) -Solution: Put the name in single quotes. -Files: src/ex_docmd.c - -Patch 7.3.664 -Problem: Buffer overflow in unescaping text. (Raymond Ko) -Solution: Limit check for multi-byte character to 4 bytes. -Files: src/mbyte.c - -Patch 7.3.665 -Problem: MSVC 11 is not supported. (Raymond Ko) -Solution: Recognize MSVC 11. (Gary Willoughby) -Files: src/Make_mvc.mak - -Patch 7.3.666 -Problem: With MSVC 11 Win32.mak is not found. -Solution: Add the SDK_INCLUDE_DIR variable. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.3.667 -Problem: Unused variables in Perl interface. -Solution: Adjust #ifdefs. -Files: src/if_perl.xs - -Patch 7.3.668 -Problem: Building with Perl loaded dynamically still uses static library. -Solution: Adjust use of PL_thr_key. (Ken Takata) -Files: src/if_perl.xs - -Patch 7.3.669 -Problem: When building with Cygwin loading Python dynamically fails. -Solution: Use DLLLIBRARY instead of INSTSONAME. (Ken Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.670 -Problem: Python: memory leaks when there are exceptions. -Solution: Add DICTKEY_UNREF in the right places. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.671 -Problem: More Python code can be shared between Python 2 and 3. -Solution: Move code to if_py_both.h. (ZyX) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.672 -Problem: Not possible to lock/unlock lists in Python interface. -Solution: Add .locked and .scope attributes. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, - src/if_python3.c, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.673 -Problem: Using "gN" while 'selection' is "exclusive" misses one character. - (Ben Fritz) -Solution: Check the direction when compensating for exclusive selection. - (Christian Brabandt) -Files: src/search.c - -Patch 7.3.674 -Problem: Can't compile with Lua/dyn on Cygwin. -Solution: Adjust configure to use the right library name. (Ken Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.675 -Problem: Using uninitialized memory with very long file name. -Solution: Put NUL after text when it is truncated. (ZyX) -Files: src/buffer.c - -Patch 7.3.676 -Problem: Ruby compilation on Windows 32 bit doesn't work. -Solution: Only use some functions for 64 bit. (Ken Takata) -Files: src/if_ruby.c - -Patch 7.3.677 -Problem: buf_spname() is used inconsistently. -Solution: Make the return type a char_u pointer. Check the size of the - returned string. -Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds2.c, - src/ex_docmd.c, src/memline.c, src/screen.c - -Patch 7.3.678 -Problem: Ruby .so name may not be correct. -Solution: Use the LIBRUBY_SO entry from the config. (Vit Ondruch) -Files: src/configure.in, src/auto/configure - -Patch 7.3.679 -Problem: Ruby detection uses Config, newer Ruby versions use RbConfig. -Solution: Detect the need to use RbConfig. (Vit Ondruch) -Files: src/configure.in, src/auto/configure - -Patch 7.3.680 -Problem: Some files missing in the list of distributed files. -Solution: Add lines for new files. -Files: Filelist - -Patch 7.3.681 (after 7.3.680) -Problem: List of distributed files picks up backup files. -Solution: Make tutor patterns more specific. -Files: Filelist - -Patch 7.3.682 (after 7.3.677) -Problem: Compiler complains about incompatible types. -Solution: Remove type casts. (hint by Danek Duvall) -Files: src/edit.c - -Patch 7.3.683 -Problem: ":python" may crash when vimbindeval() returns None. -Solution: Check for v_string to be NULL. (Yukihiro Nakadaira) -Files: src/if_py_both.h - -Patch 7.3.684 -Problem: "make test" does not delete lua.vim. -Solution: Add lua.vim to the clean target. (Simon Ruderich) -Files: src/testdir/Makefile, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_vms.mms - -Patch 7.3.685 -Problem: No test for what patch 7.3.673 fixes. -Solution: Add a test. (Christian Brabandt) -Files: src/testdir/test53.in, src/testdir/test53.ok - -Patch 7.3.686 -Problem: Using CTRL-\ e mappings is useful also when entering an - expression, but it doesn't work. (Marcin Szamotulski) -Solution: Allow using CTRL-\ e when entering an expression if it was not - typed. -Files: src/ex_getln.c - -Patch 7.3.687 -Problem: Test 16 fails when $DISPLAY is not set. -Solution: Skip the test when $DISPLAY is not set. -Files: src/testdir/test16.in - -Patch 7.3.688 -Problem: Python 3.3 is not supported. -Solution: Add Python 3.3 support (Ken Takata) -Files: src/if_python3.c - -Patch 7.3.689 -Problem: MzScheme and Lua may use a NULL string. -Solution: Use an empty string instead of NULL. (Yukihiro Nakadaira) -Files: src/if_lua.c, src/if_mzsch.c - -Patch 7.3.690 -Problem: When the current directory name is exactly the maximum path length - Vim may crash. -Solution: Only add "/" when there is room. (Danek Duvall) -Files: src/os_unix.c - -Patch 7.3.691 -Problem: State specific to the Python thread is discarded. -Solution: Keep state between threads. (Paul) -Files: src/if_python.c - -Patch 7.3.692 -Problem: Can't build GTK version with GTK 2.0. -Solution: Put GtkFileFilter declaration in the right place. (Yegappan - Lakshmanan) -Files: src/gui_gtk.c - -Patch 7.3.693 -Problem: Can't make 'softtabstop' follow 'shiftwidth'. -Solution: When 'softtabstop' is negative use the value of 'shiftwidth'. - (so8res) -Files: src/edit.c, src/option.c, src/proto/option.pro - -Patch 7.3.694 -Problem: Now that 'shiftwidth' may use the value of 'tabstop' it is not so - easy to use in indent files. -Solution: Add the shiftwidth() function. (so8res) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.3.695 -Problem: Balloon cannot show multi-byte text. -Solution: Properly deal with multi-byte characters. (Dominique Pelle) -Files: src/gui_beval.c, src/ui.c - -Patch 7.3.696 -Problem: Message about added spell language can be wrong. -Solution: Give correct message. Add g:menutrans_set_lang_to to allow for - translation. (Jiri Sedlak) -Files: runtime/menu.vim - -Patch 7.3.697 -Problem: Leaking resources when setting GUI font. -Solution: Free the font. (Ken Takata) -Files: src/syntax.c - -Patch 7.3.698 -Problem: Python 3 does not preserve state between commands. -Solution: Preserve the state. (Paul Ollis) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.699 -Problem: When 'ttymouse' is set to "sgr" manually, it is overruled by - automatic detection. -Solution: Do not use automatic detection when 'ttymouse' was set manually. - (Hayaki Saito) -Files: src/term.c - -Patch 7.3.700 -Problem: Cannot detect URXVT and SGR mouse support. -Solution: add +mouse_urxvt and +mouse_sgr. (Hayaki Saito) -Files: src/feature.h, src/eval.c - -Patch 7.3.701 -Problem: MS-Windows: Crash with stack overflow when setting 'encoding'. -Solution: Handle that loading the iconv library may be called recursively. - (Jiri Sedlak) -Files: src/os_win32.c - -Patch 7.3.702 -Problem: Nmake from VS6 service pack 6 is not recognized. -Solution: Detect the version number. (Jiri Sedlak) -Files: src/Make_mvc.mak - -Patch 7.3.703 -Problem: When 'undofile' is reset the hash is computed unnecessarily. -Solution: Only compute the hash when the option was set. (Christian Brabandt) -Files: src/option.c - -Patch 7.3.704 -Problem: Repeating "cgn" does not always work correctly. -Solution: Also fetch the operator character. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.705 -Problem: Mouse features are not sorted properly. (Tony Mechelynck) -Solution: Put the mouse features in alphabetical order. -Files: src/version.c - -Patch 7.3.706 (after 7.3.697) -Problem: Can't build Motif version. -Solution: Fix wrongly named variable. (Ike Devolder) -Files: src/syntax.c - -Patch 7.3.707 (after 7.3.701) -Problem: Problems loading a library for a file name with non-latin - characters. -Solution: Use wide system functions when possible. (Ken Takata) -Files: src/os_win32.c, src/os_win32.h - -Patch 7.3.708 -Problem: Filler lines above the first line may be hidden when opening Vim. -Solution: Change how topfill is computed. (Christian Brabandt) -Files: src/diff.c, src/testdir/test47.in, src/testdir/test47.ok - -Patch 7.3.709 -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/eval.c - -Patch 7.3.710 (after 7.3.704) -Problem: Patch 7.3.704 breaks "fn". -Solution: Add check for ca.cmdchar. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.711 (after 7.3.688) -Problem: vim.current.buffer is not available. (lilydjwg) -Solution: Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String. - (Ken Takata) -Files: src/if_python3.c - -Patch 7.3.712 -Problem: Nmake from VS2010 SP1 is not recognized. -Solution: Add the version number. (Ken Takata) -Files: src/Make_mvc.mak - -Patch 7.3.713 -Problem: printf() can only align to bytes, not characters. -Solution: Add the "S" item. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/message.c - -Patch 7.3.714 -Problem: Inconsistency: :set can be used in the sandbox, but :setlocal and - :setglobal cannot. (Michael Henry) -Solution: Fix the flags for :setlocal and :setglobal. (Christian Brabandt) -Files: src/ex_cmds.h - -Patch 7.3.715 -Problem: Crash when calling setloclist() in BufUnload autocmd. (Marcin - Szamotulski) -Solution: Set w_llist to NULL when it was freed. Also add a test. - (Christian Brabandt) -Files: src/quickfix.c, src/testdir/test49.ok, src/testdir/test49.vim - -Patch 7.3.716 -Problem: Error on exit when using Python 3. -Solution: Remove PythonIO_Fini(). (Roland Puntaier) -Files: src/if_python3.c - -Patch 7.3.717 -Problem: When changing the font size, only MS-Windows limits the window - size. -Solution: Also limit the window size on other systems. (Roland Puntaier) -Files: src/gui.c - -Patch 7.3.718 -Problem: When re-using the current buffer the buffer-local options stay. -Solution: Re-initialize the buffer-local options. (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.719 -Problem: Cannot run new version of cproto, it fails on missing include - files. -Solution: Add lots of #ifndef PROTO -Files: src/os_amiga.c, src/os_amiga.h, src/gui_w16.c, src/gui_w48.c, - src/gui_w32.c, src/vimio.h, src/os_msdos.c, src/os_msdos.h, - src/os_win16.h, src/os_win16.c, src/os_win32.h, src/os_win32.c, - src/os_mswin.c, src/gui_photon.c, src/os_unix.h, src/os_beos.c, - src/os_beos.h - -Patch 7.3.720 -Problem: Proto files are outdated. -Solution: Update the newly generated proto files. -Files: src/proto/digraph.pro, src/proto/fold.pro, src/proto/misc1.pro, - src/proto/move.pro, src/proto/screen.pro, src/proto/search.pro, - src/proto/os_win32.pro, src/proto/os_mswin.pro, - src/proto/os_beos.pro - -Patch 7.3.721 -Problem: Ruby interface defines local functions globally. -Solution: Make the functions static. -Files: src/if_ruby.c - -Patch 7.3.722 -Problem: Perl flags may contain "-g", which breaks "make proto". -Solution: Filter out the "-g" flag for cproto. (Ken Takata) -Files: src/Makefile - -Patch 7.3.723 -Problem: Various tiny problems. -Solution: Various tiny fixes. -Files: src/gui_mac.c, src/xpm_w32.c, src/netbeans.c, src/sha256.c, - src/if_sniff.c, README.txt - -Patch 7.3.724 -Problem: Building with Ruby and Tcl on MS-Windows 64 bit does not work. -Solution: Remove Ruby and Tcl from the big MS-Windows build. -Files: src/bigvim64.bat - -Patch 7.3.725 -Problem: :aboveleft and :belowright have no effect on :copen. -Solution: Check for cmdmod.split. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.726 -Problem: Typos and duplicate info in README. -Solution: Fix the text. -Files: README.txt - -Patch 7.3.727 -Problem: Can't always find Win32.mak when building GvimExt. -Solution: Use same mechanism as in Make_mvc.mak. (Cade Foster) -Files: src/GvimExt/Makefile - -Patch 7.3.728 -Problem: Cannot compile with MzScheme interface on Ubuntu 12.10. -Solution: Find the collects directory under /usr/share. -Files: src/configure.in, src/auto/configure - -Patch 7.3.729 -Problem: Building with Ruby fails on some systems. -Solution: Remove "static" and add #ifndef PROTO. (Ken Takata) -Files: src/if_ruby.c - -Patch 7.3.730 -Problem: Crash in PHP file when using syntastic. (Ike Devolder) -Solution: Avoid using NULL pointer. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.731 -Problem: Py3Init_vim() is exported unnecessarily. -Solution: Make it static. (Ken Takata) -Files: src/if_python3.c - -Patch 7.3.732 -Problem: Compiler warnings for function arguments. -Solution: Use inteptr_t instead of long. -Files: src/if_mzsch.c, src/main.c - -Patch 7.3.733 -Problem: Tests fail when including MzScheme. -Solution: Change #ifdefs for vim_main2(). -Files: src/main.c - -Patch 7.3.734 -Problem: Cannot put help files in a sub-directory. -Solution: Make :helptags work for sub-directories. (Charles Campbell) -Files: src/ex_cmds.c - -Patch 7.3.735 -Problem: Cannot build Ruby 1.9 with MingW or Cygwin. -Solution: Add another include directory. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 7.3.736 -Problem: File name completion in input() escapes white space. (Frederic - Hardy) -Solution: Do not escape white space. (Christian Brabandt) -Files: src/ex_getln.c - -Patch 7.3.737 -Problem: When using do_cmdline() recursively did_endif is not reset, - causing messages to be overwritten. -Solution: Reset did_endif. (Christian Brabandt) -Files: src/ex_docmd.c - -Patch 7.3.738 (after 7.3.730) -Problem: Unused function argument. -Solution: Remove it. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.739 -Problem: Computing number of lines may have an integer overflow. -Solution: Check for MAXCOL explicitly. (Dominique Pelle) -Files: src/move.c - -Patch 7.3.740 -Problem: IOC tool complains about undefined behavior for int. -Solution: Change to unsigned int. (Dominique Pelle) -Files: src/hashtab.c, src/misc2.c - -Patch 7.3.741 (after 7.3.737) -Problem: Tiny build fails. -Solution: Move #ifdef. (Ike Devolder) -Files: src/ex_docmd.c - -Patch 7.3.742 -Problem: Leaking memory when :vimgrep restores the directory. -Solution: Free the allocated memory. (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.743 (after 7.3.741) -Problem: Tiny build still fails. -Solution: Add #else in the right place. -Files: src/ex_docmd.c - -Patch 7.3.744 -Problem: 64 bit compiler warning. -Solution: Add type cast. (Mike Williams) -Files: src/ex_cmds.c - -Patch 7.3.745 -Problem: Automatically setting 'ttymouse' doesn't work. -Solution: Reset the "option was set" flag when using the default. -Files: src/option.c, src/proto/option.pro, src/term.c - -Patch 7.3.746 -Problem: Memory leaks when using location lists. -Solution: Set qf_title to something. (Christian Brabandt) -Files: src/eval.c, src/quickfix.c - -Patch 7.3.747 -Problem: When characters are concealed text aligned with tabs are no longer - aligned, e.g. at ":help :index". -Solution: Compensate space for tabs for concealed characters. (Dominique - Pelle) -Files: src/screen.c - -Patch 7.3.748 -Problem: Cannot properly test conceal mode. -Solution: Add the screencol() and screenrow() functions. Use them in - test88. (Simon Ruderich) -Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro, - src/screen.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - src/testdir/Makefile, src/testdir/test88.in, - src/testdir/test88.ok, - -Patch 7.3.749 -Problem: Python interface doesn't build without the multi-byte feature. -Solution: Add #ifdef. (Ken Takata) -Files: src/if_py_both.h - -Patch 7.3.750 -Problem: The justify macro does not always work correctly. -Solution: Fix off-by-one error (James McCoy) -Files: runtime/macros/justify.vim - -Patch 7.3.751 -Problem: Test 61 is flaky, it fails once in a while. -Solution: When it fails retry once. -Files: src/testdir/Makefile - -Patch 7.3.752 -Problem: Test 49 script file doesn't fold properly. -Solution: Add a colon. -Files: src/testdir/test49.vim - -Patch 7.3.753 -Problem: When there is a QuitPre autocommand using ":q" twice does not work - for exiting when there are more files to edit. -Solution: Do not decrement quitmore in an autocommand. (Techlive Zheng) -Files: src/ex_docmd.c, src/fileio.c, src/proto/fileio.pro - -Patch 7.3.754 -Problem: Latest nmake is not recognized. -Solution: Add nmake version 11.00.51106.1. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.3.755 -Problem: Autoconf doesn't find Python 3 if it's called "python". -Solution: Search for "python2" and "python3" first, then "python". -Files: src/configure.in, src/auto/configure - -Patch 7.3.756 -Problem: A location list can get a wrong count in :lvimgrep. -Solution: Check if the list was changed by autocommands. (mostly by - Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.757 -Problem: Issue 96: May access freed memory when a put command triggers - autocommands. (Dominique Pelle) -Solution: Call u_save() before getting y_array. -Files: src/ops.c - -Patch 7.3.758 -Problem: Matchit plugin does not handle space in #ifdef. -Solution: Change matching pattern to allow spaces. (Mike Morearty) -Files: runtime/macros/matchit.vim - -Patch 7.3.759 -Problem: MS-Windows: Updating the tabline is slow when there are many tabs. -Solution: Disable redrawing while performing the update. (Arseny Kapoulkine) -Files: src/gui_w48.c - -Patch 7.3.760 -Problem: dv_ deletes the white space before the line. -Solution: Move the cursor to the first non-white. (Christian Brabandt) -Files: src/normal.c, src/testdir/test19.in, src/testdir/test19.ok - -Patch 7.3.761 -Problem: In Visual mode a "-p does not work. (Marcin Szamotulski) -Solution: Avoid writing to "- before putting it. (Christian Brabandt) -Files: src/normal.c, src/testdir/test48.in, src/testdir/test48.ok - -Patch 7.3.762 (after 7.3.759) -Problem: On some systems the tabline is not redrawn. -Solution: Call RedrawWindow(). (Charles Peacech) -Files: src/gui_w48.c - -Patch 7.3.763 -Problem: Jumping to a mark does not open a fold if it is in the same line. - (Wiktor Ruben) -Solution: Also compare the column after the jump. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.764 -Problem: Not all message translation files are installed. -Solution: Also install the converted files. -Files: src/po/Makefile - -Patch 7.3.765 -Problem: Segfault when doing "cclose" on BufUnload in a python function. - (Sean Reifschneider) -Solution: Skip window with NULL buffer. (Christian Brabandt) -Files: src/main.c, src/window.c - -Patch 7.3.766 -Problem: ":help cpo-*" jumps to the wrong place. -Solution: Make it equivalent to ":help cpo-star". -Files: src/ex_cmds.c - -Patch 7.3.767 -Problem: (Win32) The _errno used for iconv may be the wrong one. -Solution: Use the _errno from iconv.dll. (Ken Takata) -Files: src/mbyte.c - -Patch 7.3.768 -Problem: settabvar() and setwinvar() may move the cursor. -Solution: Save and restore the cursor position when appropriate. (idea by - Yasuhiro Matsumoto) -Files: src/edit.c - -Patch 7.3.769 -Problem: 'matchpairs' does not work with multi-byte characters. -Solution: Make it work. (Christian Brabandt) -Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c, - src/testdir/test69.in, src/testdir/test69.ok - -Patch 7.3.770 -Problem: Vim.h indentation is inconsistent. -Solution: Adjust the indentation. (Elias Diem) -Files: src/vim.h - -Patch 7.3.771 (after 7.3.769) -Problem: Uninitialized variable. (Yasuhiro Matsumoto) -Solution: Set x2 to -1. -Files: src/option.c - -Patch 7.3.772 -Problem: Cursor is at the wrong location and below the end of the file - after doing substitutions with confirm flag: %s/x/y/c - (Dominique Pelle) -Solution: Update the cursor position. (Christian Brabandt & Dominique) -Files: src/ex_cmds.c - -Patch 7.3.773 (after 7.3.767) -Problem: Crash when OriginalFirstThunk is zero. -Solution: Skip items with OriginalFirstThunk not set. (Ken Takata) -Files: src/mbyte.c - -Patch 7.3.774 -Problem: Tiny GUI version misses console dialog feature. -Solution: Define FEAT_CON_DIALOG when appropriate. (Christian Brabandt) -Files: src/feature.h, src/gui.h - -Patch 7.3.775 -Problem: Cygwin and Mingw builds miss dependency on gui_w48.c. -Solution: Add a build rule. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 7.3.776 -Problem: ml_get error when searching, caused by curwin not matching curbuf. -Solution: Avoid changing curbuf. (Lech Lorens) -Files: src/charset.c, src/eval.c, src/mark.c, src/proto/charset.pro, - src/proto/mark.pro, src/regexp.c, src/syntax.c, - -Patch 7.3.777 -Problem: When building with Gnome locale gets reset. -Solution: Set locale after gnome_program_init(). (Christian Brabandt) -Files: src/gui_gtk_x11.c - -Patch 7.3.778 -Problem: Compiler error for adding up two pointers. (Titov Anatoly) -Solution: Add a type cast. (Ken Takata) -Files: src/mbyte.c - -Patch 7.3.779 -Problem: Backwards search lands in wrong place when started on a multibyte - character. -Solution: Do not set extra_col for a backwards search. (Sung Pae) -Files: src/search.c, src/testdir/test44.in, src/testdir/test44.ok - -Patch 7.3.780 -Problem: char2nr() and nr2char() always use 'encoding'. -Solution: Add argument to use utf-8 characters. (Yasuhiro Matsumoto) -Files: runtime/doc/eval.txt, src/eval.c - -Patch 7.3.781 -Problem: Drawing with 'guifontwide' can be slow. -Solution: Draw multiple characters at a time. (Taro Muraoka) -Files: src/gui.c - -Patch 7.3.782 -Problem: Windows: IME composition may use a wrong font. -Solution: Use 'guifontwide' for IME when it is set. (Taro Muraoka) -Files: runtime/doc/options.txt, src/gui.c, src/gui_w48.c, - src/proto/gui_w16.pro, src/proto/gui_w32.pro - -Patch 7.3.783 -Problem: Crash when mark is not set. (Dominique Pelle) -Solution: Check for NULL. -Files: src/normal.c - -Patch 7.3.784 (after 7.3.781) -Problem: Error when 'guifontwide' has a comma. -Solution: Use gui.wide_font. (Taro Muraoka) -Files: src/gui_w48.c - -Patch 7.3.785 (after 7.3.776) -Problem: Crash with specific use of search pattern. -Solution: Initialize reg_buf to curbuf. -Files: src/regexp.c - -Patch 7.3.786 -Problem: Python threads don't run in the background (issue 103). -Solution: Move the statements to manipulate thread state. -Files: src/if_python.c - -Patch 7.3.787 -Problem: With 'relativenumber' set it is not possible to see the absolute - line number. -Solution: For the cursor line show the absolute line number instead of a - zero. (Nazri Ramliy) -Files: src/screen.c - -Patch 7.3.788 -Problem: When only using patches build fails on missing nl.po. -Solution: Create an empty nl.po file. -Files: src/po/Makefile - -Patch 7.3.789 (after 7.3.776) -Problem: "\k" in regexp does not work in other window. -Solution: Use the right buffer. (Yukihiro Nakadaira) -Files: src/mbyte.c, src/proto/mbyte.pro, src/regexp.c - -Patch 7.3.790 -Problem: After reloading a buffer the modelines are not processed. -Solution: call do_modelines(). (Ken Takata) -Files: src/fileio.c - -Patch 7.3.791 -Problem: MzScheme interface doesn't work properly. -Solution: Make it work better. (Sergey Khorev) -Files: runtime/doc/if_mzsch.txt, src/configure.in, src/auto/configure, - src/eval.c, src/if_mzsch.c, src/if_mzsch.h, src/Make_ming.mak, - src/Make_mvc.mak, src/os_unix.c, src/proto/eval.pro, - src/testdir/test70.in, src/testdir/test70.ok - -Patch 7.3.792 -Problem: ":substitute" works differently without confirmation. -Solution: Do not change the text when asking for confirmation, only display - it. -Files: src/ex_cmds.c - -Patch 7.3.793 (after 7.3.792) -Problem: New interactive :substitute behavior is not tested. -Solution: Add tests. (Christian Brabandt) -Files: src/testdir/test80.in, src/testdir/test80.ok - -Patch 7.3.794 -Problem: Tiny build fails. (Tony Mechelynck) -Solution: Adjust #ifdefs. -Files: src/charset.c - -Patch 7.3.795 -Problem: MzScheme does not build with tiny features. -Solution: Add #ifdefs. Also add UNUSED to avoid warnings. And change - library ordering. -Files: src/if_mzsch.c, src/Makefile - -Patch 7.3.796 -Problem: "/[^\n]" does match at a line break. -Solution: Make it do the same as "/.". (Christian Brabandt) -Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok - -Patch 7.3.797 (after 7.3.792) -Problem: Compiler warning for size_t to int conversion. (Skeept) -Solution: Add type casts. -Files: src/ex_cmds.c - -Patch 7.3.798 (after 7.3.791) -Problem: MzScheme: circular list does not work correctly. -Solution: Separate Mac-specific code from generic code. (Sergey Khorev) -Files: src/if_mzsch.c, src/testdir/test70.in - -Patch 7.3.799 -Problem: The color column is not correct when entering a buffer. (Ben - Fritz) -Solution: Call check_colorcolumn() if 'textwidth' changed. (Christian - Brabandt) -Files: src/buffer.c - -Patch 7.3.800 -Problem: The " mark is not adjusted when inserting lines. (Roland Eggner) -Solution: Adjust the line number. (Christian Brabandt) -Files: src/mark.c - -Patch 7.3.801 -Problem: ":window set nu?" displays the cursor line. (Nazri Ramliy) -Solution: Do not update the cursor line when conceallevel is zero or the - screen has scrolled. (partly by Christian Brabandt) -Files: src/window.c - -Patch 7.3.802 -Problem: After setting 'isk' to a value ending in a comma appending to the - option fails. -Solution: Disallow a trailing comma for 'isk' and similar options. -Files: src/charset.c - -Patch 7.3.803 (after 7.3.792) -Problem: Substitute with confirmation and then "q" does not replace - anything. (John McGowan) -Solution: Do not break the loop, skip to the end. -Files: src/ex_cmds.c, src/testdir/test80.in, src/testdir/test80.ok - -Patch 7.3.804 (after 7.3.799) -Problem: Compiler warning for tiny build. (Tony Mechelynck) -Solution: Add #ifdefs around variable. -Files: src/buffer.c - -Patch 7.3.805 -Problem: Lua version 5.2 is not detected properly on Arch Linux. -Solution: Adjust autoconf. (lilydjwg) -Files: src/configure.in, src/auto/configure - -Patch 7.3.806 -Problem: Compiler warnings in Perl code when building with Visual studio - 2012. (skeept) -Solution: Add type casts. (Christian Brabandt, 2013 Jan 30) -Files: src/if_perl.xs - -Patch 7.3.807 -Problem: Popup menu does not work properly with the preview window, folds - and 'cursorcolumn'. -Solution: Redraw the popup menu after redrawing windows. (Christian - Brabandt) -Files: src/screen.c - -Patch 7.3.808 -Problem: Python threads still do not work properly. -Solution: Fix both Python 2 and 3. Add tests. (Ken Takata) -Files: src/if_python.c, src/if_python3.c, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.809 -Problem: The dosinst.c program has a buffer overflow. (Thomas Gwae) -Solution: Ignore $VIMRUNTIME if it is too long. -Files: src/dosinst.c - -Patch 7.3.810 -Problem: 'relativenumber' is reset unexpectedly. (François Ingelrest) -Solution: After an option was reset also reset the global value. Add a test. - (Christian Brabandt) -Files: src/option.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile, src/testdir/test89.in, - src/testdir/test89.ok - -Patch 7.3.811 -Problem: Useless termresponse parsing for SGR mouse. -Solution: Skip the parsing. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.812 -Problem: When 'indentexpr' moves the cursor "curswant" not restored. -Solution: Restore "curswant". (Sung Pae) -Files: src/misc1.c - -Patch 7.3.813 -Problem: The CompleteDone event is not triggered when there are no pattern - matches. (Jianjun Mao) -Solution: Trigger the event. (Christian Brabandt) -Files: src/edit.c - -Patch 7.3.814 -Problem: Can't input multibyte characters on Win32 console if 'encoding' is - different from current codepage. -Solution: Use convert_input_safe() instead of convert_input(). Make - string_convert_ext() return an error for incomplete input. (Ken - Takata) -Files: src/mbyte.c, src/os_win32.c - -Patch 7.3.815 -Problem: Building with Cygwin and Ruby doesn't work. -Solution: Copy some things from the MingW build file. (Ken Takata) -Files: src/Make_cyg.mak - -Patch 7.3.816 -Problem: Can't compute a hash. -Solution: Add the sha256() function. (Tyru, Hirohito Higashi) -Files: runtime/doc/eval.txt, src/eval.c, src/proto/sha256.pro, - src/sha256.c, src/testdir/test90.in, src/testdir/test90.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.817 -Problem: Test 89 fails with tiny and small features. -Solution: Add sourcing small.vim. -Files: src/testdir/test89.in - -Patch 7.3.818 -Problem: When test 40 fails because of a bad build it may leave files - behind that cause it to fail later. -Solution: Let the file names start with "X". -Files: src/testdir/test40.in - -Patch 7.3.819 -Problem: Compiling without +eval and with Python isn't working. -Solution: Add the eval feature when building with Python. -Files: src/if_py_both.h, src/feature.h, src/eval.c, src/ex_docmd.c, - src/normal.c, src/ex_docmd.c, src/gui_gtk_x11.c - -Patch 7.3.820 -Problem: Build errors and warnings when building with small features and - Lua, Perl or Ruby. -Solution: Add #ifdefs and UNUSED. -Files: src/if_perl.xs, src/if_lua.c, src/if_ruby.c - -Patch 7.3.821 -Problem: Build with OLE and Cygwin is broken. (Steve Hall) -Solution: Select static or shared stdc library. (Ken Takata) -Files: src/Make_cyg.mak - -Patch 7.3.822 (after 7.3.799) -Problem: Crash when accessing freed buffer. -Solution: Get 'textwidth' in caller of enter_buffer(). (Christian Brabandt) -Files: src/buffer.c - -Patch 7.3.823 (after 7.3.821) -Problem: Building with Cygwin: '-lsupc++' is not needed. -Solution: Remove it. (Ken Takata) -Files: src/Make_cyg.mak - -Patch 7.3.824 -Problem: Can redefine builtin functions. (ZyX) -Solution: Disallow adding a function to g:. -Files: src/eval.c - -Patch 7.3.825 -Problem: With Python errors are not always clear. -Solution: Print the stack trace, unless :silent is used. (ZyX) -Files: src/if_python3.c, src/if_python.c - -Patch 7.3.826 -Problem: List of features in :version output is hard to read. -Solution: Make columns. (Nazri Ramliy) -Files: src/version.c - -Patch 7.3.827 (after 7.3.825) -Problem: Python tests fail. -Solution: Adjust the output for the stack trace. -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.ok - -Patch 7.3.828 -Problem: Mappings are not aware of wildmenu mode. -Solution: Add wildmenumode(). (Christian Brabandt) -Files: src/eval.c, runtime/doc/eval.txt - -Patch 7.3.829 -Problem: When compiled with the +rightleft feature 'showmatch' also shows a - match for the opening paren. When 'revins' is set the screen may - scroll. -Solution: Only check the opening paren when the +rightleft feature was - enabled. Do not show a match that is not visible. (partly by - Christian Brabandt) -Files: src/search.c - -Patch 7.3.830 -Problem: :mksession confuses bytes, columns and characters when positioning - the cursor. -Solution: Use w_virtcol with "|" instead of w_cursor.col with "l". -Files: src/ex_docmd.c - -Patch 7.3.831 -Problem: Clumsy to handle the situation that a variable does not exist. -Solution: Add default value to getbufvar() et al. (Shougo Matsushita, - Hirohito Higashi) -Files: runtime/doc/eval.txt, src/eval.c src/testdir/test91.in, - src/testdir/test91.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile - -Patch 7.3.832 -Problem: Compiler warning. -Solution: Add type cast. (Mike Williams) -Files: src/version.c - -Patch 7.3.833 -Problem: In the terminal the scroll wheel always scrolls the active window. -Solution: Scroll the window under the mouse pointer, like in the GUI. - (Bradie Rao) -Files: src/edit.c, src/normal.c - -Patch 7.3.834 -Problem: Ruby 2.0 has a few API changes. -Solution: Add handling of Ruby 2.0. (Yasuhiro Matsumoto) -Files: src/if_ruby.c - -Patch 7.3.835 -Problem: "xxd -i" fails on an empty file. -Solution: Do output the closing } for an empty file. (partly by Lawrence - Woodman) -Files: src/xxd/xxd.c - -Patch 7.3.836 -Problem: Clipboard does not work on Win32 when compiled with Cygwin. -Solution: Move the Win32 clipboard code to a separate file and use it when - building with os_unix.c. (Frodak Baksik, Ken Takata) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ivc.mak, - src/Make_ming.mak, src/Make_mvc.mak, src/Make_w16.mak, - src/Makefile, src/config.h.in, src/configure.in, - src/auto/configure, src/feature.h, src/globals.h, src/mbyte.c, - src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/proto.h, - src/proto/os_mswin.pro, src/proto/winclip.pro, src/term.c, - src/vim.h, src/winclip.c - -Patch 7.3.837 (after 7.3.826) -Problem: Empty lines in :version output when 'columns' is 320. -Solution: Simplify the logic of making columns. (Nazri Ramliy, Roland - Eggner) -Files: src/version.c - -Patch 7.3.838 (after 7.3.830) -Problem: Insufficient testing for mksession. -Solution: Add tests. (mostly by Roland Eggner) -Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile, - src/testdir/test92.in, src/testdir/test92.ok, - src/testdir/test93.in, src/testdir/test93.ok, - src/ex_docmd.c - -Patch 7.3.839 -Problem: Some files missing in the list of distributed files. -Solution: Add lines for new files. -Files: Filelist - -Patch 7.3.840 -Problem: "\@<!" in regexp does not work correctly with multi-byte - characters, especially cp932. -Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto) -Files: src/regexp.c - -Patch 7.3.841 -Problem: When a "cond ? one : two" expression has a subscript it is not - parsed correctly. (Andy Wokula) -Solution: Handle a subscript also when the type is unknown. (Christian - Brabandt) -Files: src/eval.c - -Patch 7.3.842 -Problem: Compiler warning for signed/unsigned pointer. -Solution: Add type cast. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.843 (after 7.3.841) -Problem: Missing test file changes. -Solution: Change the tests. -Files: src/testdir/test49.vim, src/testdir/test49.ok - -Patch 7.3.844 -Problem: Enum is not indented correctly with "public" etc. -Solution: Skip "public", "private" and "protected". (Hong Xu) -Files: src/misc1.c - -Patch 7.3.845 (after 7.3.844) -Problem: Enum indenting is not tested. -Solution: Add tests. (Hong Xu) -Files: src/testdir/test3.in, src/testdir/test3.ok - -Patch 7.3.846 -Problem: Missing proto files. -Solution: Add the files. -Files: Filelist, src/proto/os_beos.pro - -Patch 7.3.847 -Problem: Test 55 fails when messages are translated. -Solution: Set language to C. (Ken Takata) -Files: src/testdir/test55.in - -Patch 7.3.848 -Problem: Can't build with Ruby 2.0 when using MinGW x64 or MSVC10. -Solution: Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64. - (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c - -Patch 7.3.849 -Problem: ":g//" gives "Pattern not found error" with E486. Should not use - the error number, it's not a regular error message. -Solution: Use a normal message. (David Bürgin) -Files: src/ex_cmds.c - -Patch 7.3.850 -Problem: ":vimgrep //" matches everywhere. -Solution: Make it use the previous search pattern. (David Bürgin) -Files: runtime/doc/quickfix.txt, src/quickfix.c - -Patch 7.3.851 -Problem: Using an empty pattern with :sort silently continues when there is - no previous search pattern. -Solution: Give an error message. (David Bürgin) -Files: src/ex_cmds.c - -Patch 7.3.852 -Problem: system() breaks clipboard text. (Yukihiro Nakadaira) -Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt) - Also do not put the text in the clip buffer if conversion fails. -Files: src/ui.c, src/ops.c - -Patch 7.3.853 -Problem: Using "ra" in multiple lines on multi-byte characters leaves a few - characters not replaced. -Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto) -Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c - -Patch 7.3.854 -Problem: After using backspace in insert mode completion, CTRL-N and CTRL-P - do not highlight the right entry. (Olivier Teuliere) -Solution: Set the current item to the shown item after using backspace. -Files: src/edit.c - -Patch 7.3.855 -Problem: Compiler warnings. -Solution: Add type casts. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.856 -Problem: When calling system() multi-byte clipboard contents is garbled. -Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira) -Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c, - src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c - -Patch 7.3.857 -Problem: The QuitPre autocommand event does not trigger for :qa and :wq. -Solution: Trigger the event. (Tatsuro Fujii) -Files: src/ex_docmd.c - -Patch 7.3.858 -Problem: "gv" selects the wrong area after some operators. -Solution: Save and restore the type of selection. (Christian Brabandt) -Files: src/testdir/test66.in, src/testdir/test66.ok, src/normal.c - -Patch 7.3.859 -Problem: 'ambiwidth' must be set by the user. -Solution: Detects East Asian ambiguous width (UAX #11) state of the terminal - at the start-up time and 'ambiwidth' accordingly. (Hayaki Saito) -Files: src/main.c, src/option.c, src/term.c, src/term.h, - src/proto/term.pro - -Patch 7.3.860 -Problem: When using --remote-expr try/catch does not work. (Andrey Radev) -Solution: Set emsg_silent instead of emsg_skip. -Files: src/main.c - -Patch 7.3.861 -Problem: ":setlocal number" clears global value of 'relativenumber'. -Solution: Do it properly. (Markus Heidelberg) -Files: src/testdir/test89.in, src/testdir/test89.ok, src/option.c - -Patch 7.3.862 -Problem: Dragging the status line can be slow. -Solution: Look ahead and drop the drag event if there is a next one. -Files: src/eval.c, src/misc1.c, src/proto/misc1.pro, src/normal.c - -Patch 7.3.863 (after 7.3.859) -Problem: Problem with 'ambiwidth' detection for ANSI terminal. -Solution: Work around not recognizing a term response. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.864 (after 7.3.862) -Problem: Can't build without the mouse feature. -Solution: Add an #ifdef. (Ike Devolder) -Files: src/misc1.c - -Patch 7.3.865 (after 7.3.862) -Problem: Mouse position may be wrong. -Solution: Let vungetc() restore the mouse position. -Files: src/getchar.c - -Patch 7.3.866 -Problem: Not serving the X selection during system() isn't nice. -Solution: When using fork() do not loose the selection, keep serving it. - Add a loop similar to handling I/O. (Yukihiro Nakadaira) -Files: src/os_unix.c - -Patch 7.3.867 -Problem: Matchparen does not update match when using auto-indenting. - (Marc Aldorasi) -Solution: Add the TextChanged and TextChangedI autocommand events. -Files: runtime/plugin/matchparen.vim, src/main.c, src/edit.c, - src/globals.h, src/vim.h, src/fileio.c, src/proto/fileio.pro, - runtime/doc/autocmd.txt - -Patch 7.3.868 -Problem: When at the hit-return prompt and using "k" while no text has - scrolled off screen, then using "j", an empty line is displayed. -Solution: Only act on "k" when text scrolled off screen. Also accept - page-up and page-down. (cptstubing) -Files: src/message.c - -Patch 7.3.869 -Problem: bufwinnr() matches buffers in other tabs. -Solution: For bufwinnr() and ? only match buffers in the current tab. - (Alexey Radkov) -Files: src/buffer.c, src/diff.c, src/eval.c, src/ex_docmd.c, - src/if_perl.xs, src/proto/buffer.pro - -Patch 7.3.870 -Problem: Compiler warnings when using MingW 4.5.3. -Solution: Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata) -Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c, - src/os_win32.h - -Patch 7.3.871 -Problem: search('^$', 'c') does not use the empty match under the cursor. -Solution: Special handling of the 'c' flag. (Christian Brabandt) - Add tests. -Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok - -Patch 7.3.872 -Problem: On some systems case of file names is always ignored, on others - never. -Solution: Add the 'fileignorecase' option to control this at runtime. - Implies 'wildignorecase'. -Files: src/buffer.c, src/edit.c, src/ex_cmds2.c, src/ex_getln.c, - src/fileio.c, src/misc1.c, src/misc2.c, src/option.c, - src/option.h, src/vim.h, runtime/doc/options.txt - -Patch 7.3.873 -Problem: Cannot easily use :s to make title case. -Solution: Have "\L\u" result in title case. (James McCoy) -Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, - src/testdir/test80.in, src/testdir/test80.ok - -Patch 7.3.874 -Problem: Comparing file names does not handle multi-byte characters - properly. -Solution: Implement multi-byte handling. -Files: src/misc1.c, src/misc2.c - -Patch 7.3.875 (after 7.3.866) -Problem: Build problem with some combination of features. -Solution: Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD. -Files: src/os_unix.c - -Patch 7.3.876 -Problem: #if indents are off. -Solution: Insert a space where appropriate. (Taro Muraoka) -Files: src/gui.c - -Patch 7.3.877 (after 7.3.871) -Problem: Forward searching with search() is broken. -Solution: Fix it and add tests. (Sung Pae) -Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok - -Patch 7.3.878 -Problem: 'fileignorecase' is missing in options window and quickref. -Solution: Add the option. -Files: runtime/optwin.vim, runtime/doc/quickref.txt - -Patch 7.3.879 -Problem: When using an ex command in operator pending mode, using Esc to - abort the command still executes the operator. (David Bürgin) -Solution: Clear the operator when the ex command fails. (Christian Brabandt) -Files: src/normal.c - -Patch 7.3.880 -Problem: When writing viminfo, old history lines may replace lines written - more recently by another Vim instance. -Solution: Mark history entries that were read from viminfo and overwrite - them when merging with the current viminfo. -Files: src/ex_getln.c - -Patch 7.3.881 -Problem: Python list does not work correctly. -Solution: Fix it and add a test. (Yukihiro Nakadaira) -Files: src/testdir/test86.in, src/testdir/test86.ok, src/if_py_both.h - -Patch 7.3.882 -Problem: CursorHold may trigger after receiving the termresponse. -Solution: Set the did_cursorhold flag. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.883 (after 7.3.880) -Problem: Can't build with some combination of features. -Solution: Adjust #ifdefs. -Files: src/ex_getln.c - -Patch 7.3.884 -Problem: Compiler warning for variable shadowing another. (John Little) -Solution: Rename the variable. (Christian Brabandt) -Files: src/term.c - -Patch 7.3.885 -Problem: Double free for list and dict in Lua. (Shougo Matsu) -Solution: Do not unref list and dict. (Yasuhiro Matsumoto) -Files: src/if_lua.c - -Patch 7.3.886 -Problem: Can't build with multi-byte on Solaris 10. -Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume) -Files: src/ui.c - -Patch 7.3.887 -Problem: No tests for Visual mode operators, what 7.3.879 fixes. -Solution: Add a new test file. (David Bürgin) -Files: src/testdir/test94.in, src/testdir/test94.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.888 -Problem: Filename completion with 'fileignorecase' does not work for - multi-byte characters. -Solution: Make 'fileignorecase' work properly. (Hirohito Higashi) -Files: src/misc2.c - -Patch 7.3.889 -Problem: Can't build with Ruby 2.0 on a 64 bit system. -Solution: Define rb_fix2int and rb_num2int. (Kohei Suzuki) -Files: src/if_ruby.c - -Patch 7.3.890 -Problem: Test 79 fails on Windows. (Michael Soyka) -Solution: Add comment below line causing an error. -Files: src/testdir/test79.in - -Patch 7.3.891 -Problem: Merging viminfo history doesn't work well. -Solution: Don't stop when one type of history is empty. Don't merge history - when writing viminfo. -Files: src/ex_getln.c - -Patch 7.3.892 (after 7.3.891) -Problem: Still merging problems for viminfo history. -Solution: Do not merge lines when writing, don't write old viminfo lines. -Files: src/ex_getln.c, src/ex_cmds.c, src/proto/ex_getln.pro - -Patch 7.3.893 -Problem: Crash when using b:, w: or t: after closing the buffer, window or - tabpage. -Solution: Allocate the dictionary instead of having it part of the - buffer/window/tabpage struct. (Yukihiro Nakadaira) -Files: src/buffer.c, src/eval.c, src/fileio.c, src/structs.h, - src/window.c, src/proto/eval.pro - -Patch 7.3.894 -Problem: Using wrong RUBY_VER causing Ruby build to break. -Solution: Correct the RUBY_VER value. (Yongwei Wu) -Files: src/bigvim.bat - -Patch 7.3.895 -Problem: Valgrind error in test 91. (Issue 128) -Solution: Pass scope name to find_var_in_ht(). -Files: src/eval.c - -Patch 7.3.896 -Problem: Memory leaks in Lua interface. -Solution: Fix the leaks, add tests. (Yukihiro Nakadaira) -Files: src/testdir/test85.in, src/testdir/test85.ok, src/if_lua.c - -Patch 7.3.897 -Problem: Configure doesn't always find the shared library. -Solution: Change the configure script. (Ken Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.898 -Problem: Memory leak reported by valgrind in test 91. -Solution: Only use default argument when needed. -Files: src/eval.c, src/testdir/test91.in, src/testdir/test91.ok - -Patch 7.3.899 -Problem: #if indents are off. -Solution: Fix the indents. -Files: src/os_unix.c - -Patch 7.3.900 -Problem: Not obvious that some mouse features are mutual-exclusive. -Solution: Add a comment. -Files: src/feature.h - -Patch 7.3.901 -Problem: Outdated comment, ugly condition. -Solution: Update a few comments, break line. -Files: src/getchar.c, src/misc1.c, src/undo.c - -Patch 7.3.902 -Problem: When deleting last buffer in other tab the tabline is not updated. -Solution: Set the redraw_tabline flag. (Yukihiro Nakadaira) -Files: src/window.c - -Patch 7.3.903 (after 7.3.892) -Problem: Crash on exit writing viminfo. (Ron Aaron) -Solution: Check for the history to be empty. -Files: src/ex_getln.c - -Patch 7.3.904 (after 7.3.893) -Problem: Using memory freed by the garbage collector. -Solution: Mark items in aucmd_win as used. -Files: src/eval.c - -Patch 7.3.905 (after 7.3.903) -Problem: Crash when writing viminfo. (Ron Aaron) -Solution: Prevent freed history info to be used. -Files: src/ex_getln.c - -Patch 7.3.906 -Problem: The "sleep .2" for running tests does not work on Solaris. -Solution: Fall back to using "sleep 1". (Laurent Blume) -Files: src/testdir/Makefile - -Patch 7.3.907 -Problem: Python uses IndexError when a dict key is not found. -Solution: Use KeyError instead. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.908 -Problem: Possible crash when using a list in Python. -Solution: Return early if the list is NULL. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.909 -Problem: Duplicate Python code. -Solution: Move more items to if_py_both.h. (ZyX) Also avoid compiler - warnings for missing initializers. -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.910 -Problem: Python code in #ifdef branches with only minor differences. -Solution: Merge the #ifdef branches. (ZyX) -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.911 -Problem: Python: Access to Vim variables is not so easy. -Solution: Define vim.vars and vim.vvars. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/globals.h, - src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.912 -Problem: Typing a ":" command at the hit-enter dialog does not work if the - "file changed" dialog happens next. -Solution: Check for changed files before giving the hit-enter dialog. -Files: src/message.c - -Patch 7.3.913 (after 7.3.905) -Problem: Still a crash when writing viminfo. -Solution: Add checks for NULL pointers. (Ron Aaron) -Files: src/ex_getln.c - -Patch 7.3.914 -Problem: ~/.viminfo is messed up when running tests. -Solution: Set the viminfo filename. -Files: src/testdir/test89.in, src/testdir/test94.in - -Patch 7.3.915 -Problem: When reading a file with encoding conversion fails at the end the - next encoding in 'fencs' is not used. -Solution: Retry with another encoding when possible. (Taro Muraoka) -Files: src/fileio.c - -Patch 7.3.916 -Problem: Using freed memory when pasting with the mouse (Issue 130). -Solution: Get the byte value early. (hint by Dominique Pelle) -Files: src/buffer.c - -Patch 7.3.917 -Problem: When a path ends in a backslash appending a comma has the wrong - effect. -Solution: Replace a trailing backslash with a slash. (Nazri Ramliy) -Files: src/misc1.c, src/testdir/test73.in, src/testdir/test73.ok - -Patch 7.3.918 -Problem: Repeating an Ex command after using a Visual motion does not work. -Solution: Check for an Ex command being used. (David Bürgin) -Files: src/normal.c - -Patch 7.3.919 (after 7.3.788) -Problem: An empty nl.po file does not work with an old msgfmt. -Solution: Put a single # in the file. (Laurent Blume) -Files: src/po/Makefile - -Patch 7.3.920 -Problem: Compiler warning for size_t to int. -Solution: Add a type cast. (Mike Williams) -Files: src/misc1.c - -Patch 7.3.921 (after 7.3.697) -Problem: Trying to create a fontset handle when 'guifontset' is not set. -Solution: Add curly braces around the code block. (Max Kirillov) -Files: src/syntax.c - -Patch 7.3.922 -Problem: No test for what 7.3.918 fixes. -Solution: Add a test. (David Bürgin) -Files: src/testdir/test94.in, src/testdir/test94.ok - -Patch 7.3.923 -Problem: Check for X11 header files fails on Solaris. -Solution: Only use -Werror for gcc. (Laurent Blume) -Files: src/configure.in, src/auto/configure - -Patch 7.3.924 -Problem: Python interface can't easily access options. -Solution: Add vim.options, vim.window.options and vim.buffer.options. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, - src/if_python.c, src/if_python3.c, src/option.c, - src/proto/eval.pro, src/proto/option.pro, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok, src/vim.h - -Patch 7.3.925 -Problem: Typos in source files. -Solution: Fix the typos. (Ken Takata) -Files: runtime/plugin/matchparen.vim, runtime/tools/vim_vs_net.cmd, - src/GvimExt/gvimext.cpp, src/INSTALLvms.txt, src/Make_cyg.mak, - src/Make_mvc.mak, src/Make_sas.mak, src/Make_vms.mms, - src/Make_w16.mak, src/Makefile, src/VisVim/OleAut.cpp, - src/VisVim/README_VisVim.txt, src/auto/configure, src/buffer.c, - src/configure.in, src/diff.c, src/dosinst.c, src/edit.c, - src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, - src/farsi.c, src/feature.h, src/fileio.c, src/glbl_ime.cpp, - src/gui.c, src/gui_athena.c, src/gui_beval.c, src/gui_gtk_x11.c, - src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w16.c, - src/gui_w32.c, src/gui_w48.c, src/gui_xmebw.c, src/gui_xmebwp.h, - src/hardcopy.c, src/if_cscope.c, src/if_mzsch.c, src/if_ole.cpp, - src/if_perl.xs, src/if_py_both.h, src/if_python.c, - src/if_python3.c, src/if_ruby.c, src/main.aap, src/mbyte.c, - src/memfile.c, src/memline.c, src/misc1.c, src/misc2.c, - src/nbdebug.c, src/normal.c, src/ops.c, src/os_amiga.c, - src/os_mac.h, src/os_msdos.c, src/os_mswin.c, src/os_win16.h, - src/os_win32.c, src/os_win32.h, src/quickfix.c, src/screen.c, - src/search.c, src/spell.c, src/structs.h, src/syntax.c, - src/window.c, vimtutor.com - - -Patch 7.3.926 -Problem: Autocommands are triggered by setwinvar() et al. Missing BufEnter - on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of - events for :tablose and :tabnew. -Solution: Fix these autocommand events. (ZyX) -Files: runtime/doc/eval.txt, src/buffer.c, src/eval.c, src/ex_cmds2.c, - src/fileio.c, src/proto/window.pro, src/testdir/test62.in, - src/testdir/test62.ok, src/window.c - -Patch 7.3.927 -Problem: Missing combining characters when putting text in a register. -Solution: Include combining characters. (David Bürgin) -Files: src/getchar.c, src/testdir/test44.in, src/testdir/test44.ok - -Patch 7.3.928 (after 7.3.924) -Problem: Can't build with strict C compiler. -Solution: Move declaration to start of block. (Taro Muraoka) -Files: src/if_py_both.h - -Patch 7.3.929 (after 7.3.924) -Problem: Compiler warning for unused variable. Not freeing unused string. -Solution: Remove the variable. Clear the options. -Files: src/option.c - -Patch 7.3.930 -Problem: MSVC 2012 update is not recognized. -Solution: Update the version in the makefile. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.3.931 -Problem: No completion for :xmap and :smap. (Yukihiro Nakadaira) -Solution: Add the case statements. (Christian Brabandt) -Files: src/ex_docmd.c - -Patch 7.3.932 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Initialize the variable. -Files: src/option.c - -Patch 7.3.933 -Problem: Ruby on Mac crashes due to GC failure. -Solution: Init the stack from main(). (Hiroshi Shirosaki) -Files: src/main.c, src/if_ruby.c, src/proto/if_ruby.pro - -Patch 7.3.934 -Problem: E381 and E380 make the user think nothing happened. -Solution: Display the message indicating what error list is now active. - (Christian Brabandt) -Files: src/quickfix.c - -Patch 7.3.935 (after 7.3.933) -Problem: Ruby: Init stack works differently on 64 bit systems. -Solution: Handle 64 bit systems and also static library. (Yukihiro - Nakadaira) -Files: src/if_ruby.c - -Patch 7.3.936 (after 7.3.935) -Problem: Ruby 1.8: Missing piece for static linking on 64 bit systems. -Solution: Define ruby_init_stack() (Hiroshi Shirosaki) - Also fix preprocessor indents. -Files: src/if_ruby.c - -Patch 7.3.937 -Problem: More can be shared between Python 2 and 3. -Solution: Move code to if_py_both.h. (ZyX) -Files: src/if_python.c, src/if_python3.c, src/if_py_both.h - -Patch 7.3.938 -Problem: Python: not easy to get to window number. -Solution: Add vim.window.number. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/proto/window.pro, - src/window.c - -Patch 7.3.939 -Problem: Using Py_BuildValue is inefficient sometimes. -Solution: Use PyLong_FromLong(). (ZyX) -Files: src/if_py_both.h - -Patch 7.3.940 -Problem: Python: Can't get position of window. -Solution: Add window.row and window.col. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h - -Patch 7.3.941 -Problem: Stuff in if_py_both.h is ordered badly. -Solution: Reorder by type. (ZyX) -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.942 -Problem: Python: SEGV in Buffer functions. -Solution: Call CheckBuffer() at the right time. (ZyX) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.943 -Problem: Python: Negative indices were failing. -Solution: Fix negative indices. Add tests. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.944 -Problem: External program receives the termrespone. -Solution: Insert a delay and discard input. (Hayaki Saito) -Files: src/term.c - -Patch 7.3.945 -Problem: Python: List of buffers is not very useful. -Solution: Make vim.buffers a map. No iterator yet. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.946 -Problem: Sometimes get stuck in waiting for cursor position report, - resulting in keys starting with <Esc>[ not working. -Solution: Only wait for more characters after <Esc>[ if followed by '?', '>' - or a digit. -Files: src/term.c - -Patch 7.3.947 -Problem: Python: No iterator for vim.list and vim.bufferlist. -Solution: Add the iterators. Also fix name of FunctionType. Add tests for - vim.buffers. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.948 -Problem: Cannot build with Python 2.2 -Solution: Make Python interface work with Python 2.2 - Make 2.2 the first supported version. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.ok, src/configure.in, src/auto/configure - -Patch 7.3.949 -Problem: Python: no easy access to tabpages. -Solution: Add vim.tabpages and vim.current.tabpage. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c, src/proto/if_python3.pro, - src/proto/if_python.pro, src/proto/window.pro, src/structs.h, - src/window.c - -Patch 7.3.950 -Problem: Python: Stack trace printer can't handle messages. -Solution: Make KeyErrors use PyErr_SetObject. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.951 -Problem: Python exceptions have problems. -Solution: Change some IndexErrors to TypeErrors. Make “line number out of - range” an IndexError. Make “unable to get option value” a - RuntimeError. Make all PyErr_SetString messages start with - lowercase letter and use _(). (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.952 -Problem: Python: It's not easy to change window/buffer/tabpage. -Solution: Add ability to assign to vim.current.{tabpage,buffer,window}. - (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h - -Patch 7.3.953 -Problem: Python: string exceptions are deprecated. -Solution: Make vim.error an Exception subclass. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.954 -Problem: No check if PyObject_IsTrue fails. -Solution: Add a check for -1 value. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.955 -Problem: Python: Not enough tests. -Solution: Add tests for vim.{current,window*,tabpage*}. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.956 -Problem: Python vim.bindeval() causes SIGABRT. -Solution: Make pygilstate a local variable. (Yukihiro Nakadaira) -Files: src/if_py_both.h, src/if_python.c, src/if_python3.c - -Patch 7.3.957 -Problem: Python does not have a "do" command like Perl or Lua. -Solution: Add the ":py3do" command. (Lilydjwg) -Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c, - src/if_python3.c, src/proto/if_python3.pro - -Patch 7.3.958 -Problem: Python: Iteration destructor not set. -Solution: Put IterDestructor to use. (ZyX) -Files: src/if_py_both.c - -Patch 7.3.959 (after 7.3.957) -Problem: Missing error number. -Solution: Assign an error number. -Files: src/if_python3.c - -Patch 7.3.960 -Problem: Compiler warning for unused variable. -Solution: Put declaration in #ifdef. -Files: src/window.c - -Patch 7.3.961 -Problem: Tests 86 and 87 fail when using another language than English. -Solution: Set the language to C in the test. (Dominique Pelle) -Files: src/testdir/test86.in, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.962 -Problem: Python tests are not portable. -Solution: Use shiftwidth instead of iminsert. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.963 -Problem: Setting curbuf without curwin causes trouble. -Solution: Add switch_buffer() and restore_buffer(). Block autocommands to - avoid trouble. -Files: src/eval.c, src/proto/eval.pro, src/proto/window.pro, - src/if_py_both.h, src/window.c, src/testdir/test86.ok - -Patch 7.3.964 -Problem: Python: not so easy to access tab pages. -Solution: Add window.tabpage, make window.number work with non-current tab - pages. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.965 -Problem: Python garbage collection not working properly. -Solution: Add support for garbage collection. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.966 -Problem: There is ":py3do" but no ":pydo". -Solution: Add the ":pydo" command. (Lilydjwg) -Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c, - src/if_py_both.h, src/if_python.c, src/if_python3.c, - src/proto/if_python.pro - -Patch 7.3.967 (after 7.3.965) -Problem: Build fails on Mac OSX. (Greg Novack) -Solution: Undefine clear(). -Files: src/if_py_both.h - -Patch 7.3.968 -Problem: Multi-byte support is only available when compiled with "big" - features. -Solution: Include multi-byte by default, with "normal" features. -Files: src/feature.h - -Patch 7.3.969 -Problem: Can't build with Python 3 and without Python 2. -Solution: Adjust #ifdef. (Xavier de Gaye) -Files: src/window.c - -Patch 7.3.970 -Problem: Syntax highlighting can be slow. -Solution: Include the NFA regexp engine. Add the 'regexpengine' option to - select which one is used. (various authors, including Ken Takata, - Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young) -Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, - src/Makefile, src/regexp.c, src/regexp.h, src/regexp_nfa.c, - src/structs.h, src/testdir/Makefile, src/testdir/test64.in, - src/testdir/test64.ok, Filelist, runtime/doc/pattern.txt, - runtime/doc/option.txt, src/option.c, src/option.h, - src/testdir/test95.in, src/testdir/test95.ok, - src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, - src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, - src/testdir/Make_vms.mms, src/testdir/Makefile - -Patch 7.3.971 -Problem: No support for VS2012 static code analysis. -Solution: Add the ANALYZE option. (Mike Williams) -Files: src/Make_mvc.mak - -Patch 7.3.972 -Problem: Cursor not restored after InsertEnter autocommand if it moved to - another line. -Solution: Also restore if the saved line number is still valid. Allow - setting v:char to skip restoring. -Files: src/edit.c, runtime/doc/autocmd.txt - -Patch 7.3.973 -Problem: Compiler warnings. Crash on startup. (Tony Mechelynck) -Solution: Change EMSG2 to EMSGN. Make array one character longer. -Files: src/regexp_nfa.c - -Patch 7.3.974 -Problem: Can't build with ruby 1.8.5. -Solution: Only use ruby_init_stack() when RUBY_INIT_STACK is defined. - (Yukihiro Nakadaira) -Files: src/if_ruby.c - -Patch 7.3.975 -Problem: Crash in regexp parsing. -Solution: Correctly compute the end of allocated memory. -Files: src/regexp_nfa.c - -Patch 7.3.976 -Problem: Can't build on HP-UX. -Solution: Remove modern initialization. (John Marriott) -Files: src/regexp_nfa.c - -Patch 7.3.977 -Problem: Compiler warnings on 64 bit Windows. -Solution: Add type casts. (Mike Williams) Also fix some white space and - uncomment what was commented-out for testing. -Files: src/regexp_nfa.c - -Patch 7.3.978 -Problem: Regexp debug logs don't have a good name. -Solution: Use clear names and make it possible to write logs for the old and - new engines separately. (Taro Muraoka) -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.979 -Problem: Complex NFA regexp doesn't work. -Solution: Set actual state stack end instead of using an arbitrary number. - (Yasuhiro Matsumoto) -Files: src/regexp_nfa.c - -Patch 7.3.980 -Problem: Regexp logs may contain garbage. Character classes don't work - correctly for multi-byte characters. -Solution: Check for end of post list. Only use "is" functions for - characters up to 255. (Ken Takata) -Files: src/regexp_nfa.c - -Patch 7.3.981 -Problem: In the old regexp engine \i, \I, \f and \F don't work on - multi-byte characters. -Solution: Dereference pointer properly. -Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.982 -Problem: In the new regexp engine \p does not work on multi-byte - characters. -Solution: Don't point to an integer but the characters. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.983 -Problem: Unnecessary temp variable. -Solution: Remove the variable. -Files: src/regexp_nfa.c - -Patch 7.3.984 -Problem: A Visual mapping that uses CTRL-G works differently when started - from Insert mode. (Ein Brown) -Solution: Reset old_mapped_len when handling typed text in Select mode. -Files: src/normal.c - -Patch 7.3.985 -Problem: GTK vim not started as gvim doesn't set WM_CLASS property to a - useful value. -Solution: Call g_set_prgname() on startup. (James McCoy) -Files: src/gui_gtk_x11.c - -Patch 7.3.986 -Problem: Test 95 doesn't pass when 'encoding' isn't utf-8. (Yasuhiro - Matsumoto) -Solution: Force 'encoding' to be utf-8. -Files: src/testdir/test95.in - -Patch 7.3.987 -Problem: No easy to run an individual test. Tests 64 fails when - 'encoding' is not utf-8. -Solution: Add individual test targets to the Makefile. Move some lines from - test 64 to 95. -Files: src/Makefile, src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.988 -Problem: New regexp engine is slow. -Solution: Break out of the loop when the state list is empty. -Files: src/regexp_nfa.c - -Patch 7.3.989 -Problem: New regexp engine compares negative numbers to character. -Solution: Add missing case statements. -Files: src/regexp_nfa.c - -Patch 7.3.990 -Problem: Memory leak in new regexp engine. -Solution: Jump to end of function to free memory. (Dominique Pelle) -Files: src/regexp_nfa.c - -Patch 7.3.991 -Problem: More can be shared by Python 2 and 3. -Solution: Move more stuff to if_py_both. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test87.ok - -Patch 7.3.992 -Problem: Python: Too many type casts. -Solution: Change argument types. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.993 -Problem: Python: Later patch does things slightly differently. -Solution: Adjusted argument type changes. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.994 -Problem: Python: using magic constants. -Solution: Use descriptive values for ml_flags. (ZyX) -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.995 -Problem: Python: Module initialization is duplicated. -Solution: Move to shared file. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.996 -Problem: Python: Can't check types of what is returned by bindeval(). -Solution: Add vim.List, vim.Dictionary and vim.Function types. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.997 -Problem: Vim and Python exceptions are different. -Solution: Make Vim exceptions be Python exceptions. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.998 -Problem: Python: garbage collection issues. -Solution: Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative - refcounts, use PyObject_GC_* for objects with tp_traverse and - tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some - places. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.999 -Problem: New regexp engine sets curbuf temporarily. -Solution: Use reg_buf instead, like the old engine. -Files: src/regexp_nfa.c - -Patch 7.3.1000 (whoa!) -Problem: Typo in char value causes out of bounds access. -Solution: Fix character value. (Klemens Baum) -Files: src/regexp.c - -Patch 7.3.1001 -Problem: Duplicate condition in if. -Solution: Remove one condition. -Files: src/regexp_nfa.c - -Patch 7.3.1002 -Problem: Valgrind errors for Python interface. -Solution: Fix memory leaks when running tests. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1003 -Problem: Python interface does not compile with Python 2.2 -Solution: Fix thread issues and True/False. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1004 -Problem: No error when option could not be set. -Solution: Report an error. (ZyX) -Files: src/if_py_both.h, src/option.c, src/proto/option.pro, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1005 -Problem: Get stuck on regexp "\n*" and on "%s/^\n\+/\r". -Solution: Fix handling of matching a line break. (idea by Hirohito Higashi) -Files: src/regexp_nfa.c - -Patch 7.3.1006 -Problem: NFA engine not used for "\_[0-9]". -Solution: Enable this, fixed in patch 1005. -Files: src/regexp_nfa.c - -Patch 7.3.1007 -Problem: Can't build on Minix 3.2.1. -Solution: Add a condition to an #ifdef. (Gautam Tirumala) -Files: src/memfile.c - -Patch 7.3.1008 -Problem: Test 95 fails on MS-Windows. -Solution: Set 'nomore'. Change \i to \f. Change multi-byte character to - something that is not matching \i. (Ken Takata) -Files: src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1009 -Problem: Compiler warning for ambiguous else. -Solution: Add curly braces. -Files: src/if_py_both.h - -Patch 7.3.1010 -Problem: New regexp: adding \Z makes every character match. -Solution: Only apply ireg_icombine for composing characters. - Also add missing change from patch 1008. (Ken Takata) -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1011 -Problem: New regexp engine is inefficient with multi-byte characters. -Solution: Handle a character at a time instead of a byte at a time. Also - make \Z partly work. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1012 -Problem: \Z does not work properly with the new regexp engine. -Solution: Make \Z work. Add tests. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1013 -Problem: New regexp logging is a bit messy. -Solution: Consistently use #defines, add explanatory comment. (Taro Muraoka) -Files: src/regexp_nfa.c - -Patch 7.3.1014 -Problem: New regexp state dump is hard to read. -Solution: Make the state dump more pretty. (Taro Muraoka) -Files: src/regexp_nfa.c - -Patch 7.3.1015 -Problem: New regexp engine: Matching composing characters is wrong. -Solution: Fix matching composing characters. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1016 -Problem: Unused field in nfa_state. -Solution: Remove lastthread. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1017 -Problem: Zero width match changes length of match. -Solution: For a zero width match put new states in the current position in - the state list. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/regexp.h - -Patch 7.3.1018 -Problem: New regexp engine wastes memory. -Solution: Allocate prog with actual number of states, not estimated maximum - number of sates. -Files: src/regexp_nfa.c - -Patch 7.3.1019 -Problem: These do not work with the new regexp engine: \%o123, \%x123, - \%d123, \%u123 and \%U123. -Solution: Implement these items. -Files: src/regexp_nfa.c - -Patch 7.3.1020 -Problem: Not all patterns are tested with auto / old / new engine. -Solution: Test patterns with three values of 'regexpengine'. -Files: src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1021 -Problem: New regexp engine does not ignore order of composing chars. -Solution: Ignore composing chars order. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1022 -Problem: Compiler warning for shadowed variable. (John Little) -Solution: Move declaration, rename variables. -Files: src/regexp_nfa.c - -Patch 7.3.1023 -Problem: Searching for composing char only and using \Z has different - results. -Solution: Make it match the composing char, matching everything is not - useful. -Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok - -Patch 7.3.1024 -Problem: New regexp: End of matching pattern not set correctly. (Cesar - Romani) -Solution: Quit the loop after finding the match. Store nfa_has_zend in the - program. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/regexp.h - -Patch 7.3.1025 -Problem: New regexp: not matching newline in string. (Marc Weber) -Solution: Check for "\n" character. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1026 -Problem: New regexp: pattern that includes a new-line matches too early. - (john McGowan) -Solution: Do not start searching in the second line. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1027 -Problem: New regexp performance: Calling no_Magic() very often. -Solution: Remove magicness inline. -Files: src/regexp_nfa.c - -Patch 7.3.1028 -Problem: New regexp performance: Copying a lot of position state. -Solution: Only copy the sub-expressions that are being used. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1029 -Problem: New regexp performance: Unused position state being copied. -Solution: Keep track of which positions are actually valid. -Files: src/regexp_nfa.c - -Patch 7.3.1030 (after 7.3.1028) -Problem: Can't build for debugging. -Solution: Fix struct member names. -Files: src/regexp_nfa.c - -Patch 7.3.1031 -Problem: Compiler warnings for shadowed variable. (John Little) -Solution: Move the variable declarations to the scope where they are used. -Files: src/regexp_nfa.c - -Patch 7.3.1032 -Problem: "\ze" is not supported by the new regexp engine. -Solution: Make "\ze" work. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1033 -Problem: "\1" .. "\9" are not supported in the new regexp engine. -Solution: Implement them. Add a few more tests. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/regexp.h - -Patch 7.3.1034 -Problem: New regexp code using strange multi-byte code. -Solution: Use the normal code to advance and backup pointers. -Files: src/regexp_nfa.c - -Patch 7.3.1035 -Problem: Compiler warning on 64 bit windows. -Solution: Add type cast. (Mike Williams) -Files: src/if_py_both.h - -Patch 7.3.1036 -Problem: Can't build on HP-UX. -Solution: Give the union a name. (John Marriott) -Files: src/regexp_nfa.c - -Patch 7.3.1037 -Problem: Look-behind matching is very slow on long lines. -Solution: Add a byte limit to how far back an attempt is made. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1038 -Problem: Crash when using Cscope. -Solution: Avoid negative argument to vim_strncpy(). (Narendran - Gopalakrishnan) -Files: src/if_cscope.c - -Patch 7.3.1039 -Problem: New regexp engine does not support \%23c, \%<23c and the like. -Solution: Implement them. (partly by Yasuhiro Matsumoto) -Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1040 -Problem: Python: Problems with debugging dynamic build. -Solution: Python patch 1. (ZyX) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.1041 -Problem: Python: Invalid read valgrind errors. -Solution: Python patch 2: defer DICTKEY_UNREF until key is no longer needed. - (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1042 -Problem: Python: can't assign to vim.Buffer.name. -Solution: Python patch 3. (ZyX) -Files: runtime/doc/if_pyth.txt, src/ex_cmds.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/ex_cmds.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1043 -Problem: Python: Dynamic compilation with 2.3 fails. -Solution: Python patch 4. (ZyX) -Files: src/if_python.c - -Patch 7.3.1044 -Problem: Python: No {Buffer,TabPage,Window}.valid attributes. -Solution: Python patch 5: add .valid (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1045 -Problem: Python: No error handling for VimToPython function. -Solution: Python patch 6. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1046 -Problem: Python: Using Py_BuildValue for building strings. -Solution: Python patch 7 and 7.5: Replace Py_BuildValue with - PyString_FromString. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1047 -Problem: Python: dir() does not work properly. -Solution: Python patch 8. Add __dir__ method to all objects with custom - tp_getattr supplemented by __members__ attribute for at least - python-2* versions. __members__ is not mentioned in python-3* - dir() output even if it is accessible. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1048 -Problem: Python: no consistent naming. -Solution: Python patch 9: Rename d to dict and lookupDict to lookup_dict. - (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1049 -Problem: Python: no consistent naming -Solution: Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1050 -Problem: Python: Typo in pyiter_to_tv. -Solution: Python patch 11. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1051 -Problem: Python: possible memory leaks. -Solution: Python patch 12: fix the leaks (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1052 -Problem: Python: possible SEGV and negative refcount. -Solution: Python patch 13: Fix IterIter function. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1053 -Problem: Python: no flag for types with tp_traverse+tp_clear. -Solution: Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1054 (after 7.3.1042) -Problem: Can't build without the +autocmd feature. (Elimar Riesebieter) -Solution: Fix use of buf and curbuf. -Files: src/ex_cmds.c, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1055 -Problem: Negated collection does not match newline. -Solution: Handle newline differently. (Hiroshi Shirosaki) -Files: src/regexp_nfa.c, src/testdir/test64.ok, src/testdir/test64.in - -Patch 7.3.1056 -Problem: Python: possible memory leaks. -Solution: Python patch 15. (ZyX) Fix will follow later. -Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro - -Patch 7.3.1057 -Problem: Python: not enough compatibility. -Solution: Python patch 16: Make OutputWritelines support any sequence object - (ZyX) Note: tests fail -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1058 -Problem: Call of funcref does not succeed in other script. -Solution: Python patch 17: add get_expanded_name(). (ZyX) -Files: src/eval.c, src/proto/eval.pro - -Patch 7.3.1059 -Problem: Python: Using fixed size buffers. -Solution: Python patch 18: Use python's own formatter. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.1060 -Problem: Python: can't repr() a function. -Solution: Python patch 19: add FunctionRepr(). (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1061 -Problem: Python: Dictionary is not standard. -Solution: Python patch 20: Add standard methods and fields. (ZyX) -Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1062 -Problem: Python: List is not standard. -Solution: Python patch 21: Add standard methods and fields. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1063 -Problem: Python: Function is not standard. -Solution: Python patch 22: make Function subclassable. (ZyX) -Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1064 -Problem: Python: insufficient error checking. -Solution: Python patch 23. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1065 -Problem: Python: key mapping is not standard. -Solution: Python patch 24: use PyMapping_Keys. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.1066 -Problem: Python: Insufficient exception and error testing. -Solution: Python patch 25. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1067 -Problem: Python: documentation lags behind. -Solution: Python patch 26. (ZyX) -Files: runtime/doc/if_pyth.txt - -Patch 7.3.1068 -Problem: Python: Script is auto-loaded on function creation. -Solution: Python patch 27. (ZyX) -Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro, - src/testdir/test86.ok, src/testdir/test87.ok, src/vim.h - -Patch 7.3.1069 -Problem: Python: memory leaks. -Solution: Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1070 -Problem: Vim crashes in Python tests. Compiler warning for unused function. -Solution: Disable the tests for now. Move the function. -Files: src/if_py_both.h, src/if_python.c, src/testdir/test86.in, - src/testdir/test87.in - -Patch 7.3.1071 -Problem: New regexp engine: backreferences don't work correctly. -Solution: Add every possible start/end position on the state stack. -Files: src/regexp_nfa.c, src/regexp.h, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1072 -Problem: Compiler warning for uninitialized variable. -Solution: Initialize it. -Files: src/regexp_nfa.c - -Patch 7.3.1073 -Problem: New regexp engine may run out of states. -Solution: Allocate states dynamically. Also make the test report errors. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, - src/testdir/test95.in - -Patch 7.3.1074 -Problem: Compiler warning for printf format. (Manuel Ortega) -Solution: Add type casts. -Files: src/if_py_both.h - -Patch 7.3.1075 -Problem: Compiler warning for storing a long_u in an int. -Solution: Declare the number as an int. (Mike Williams) -Files: src/regexp_nfa.c - -Patch 7.3.1076 -Problem: New regexp engine: \@= and \& don't work. -Solution: Make these items work. Add column info to logging. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1077 -Problem: Python: Allocating dict the wrong way, causing a crash. -Solution: Use py_dict_alloc(). Fix some exception problems. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1078 -Problem: New regexp engine: \@! doesn't work. -Solution: Implement the negated version of \@=. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1079 -Problem: Test 87 fails. -Solution: Fix the test for Python 3.3. (ZyX) Make it pass on 32 bit systems. -Files: src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1080 -Problem: Test 86 fails. -Solution: Comment out the parts that don't work. Make it pass on 32 bit - systems. -Files: src/testdir/test86.in, src/testdir/test86.ok - -Patch 7.3.1081 -Problem: Compiler warnings on 64-bit Windows. -Solution: Change variable types. (Mike Williams) -Files: src/if_py_both.h, src/regexp_nfa.c - -Patch 7.3.1082 -Problem: New regexp engine: Problem with \@= matching. -Solution: Save and restore nfa_match. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1083 -Problem: New regexp engine: Does not support \%^ and \%$. -Solution: Support matching start and end of file. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1084 -Problem: New regexp engine: only accepts up to \{,10}. -Solution: Remove upper limit. Remove dead code with NFA_PLUS. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1085 -Problem: New regexp engine: Non-greedy multi doesn't work. -Solution: Implement \{-}. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1086 -Problem: Old regexp engine accepts illegal range, new one doesn't. -Solution: Also accept the illegal range with the new engine. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1087 -Problem: A leading star is not seen as a normal char when \{} follows. -Solution: Save and restore the parse state properly. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1088 -Problem: New regexp engine: \@<= and \@<! are not implemented. -Solution: Implement look-behind matching. Fix off-by-one error in old - regexp engine. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1089 -Problem: Tests 86 and 87 fail on MS-Windows. (Ken Takata) -Solution: Fix platform-specific stuff. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1090 -Problem: New regexp engine does not support \z1 .. \z9 and \z(. -Solution: Implement the syntax submatches. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1091 -Problem: New regexp engine: no error when using \z1 or \z( where it does - not work. -Solution: Give an error message. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1092 -Problem: Can't build with regexp debugging. NFA debug output shows wrong - pattern. -Solution: Fix debugging code for recent changes. Add the pattern to the - program. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1093 -Problem: New regexp engine: When a sub expression is empty \1 skips a - character. -Solution: Make \1 try the current position when the match is empty. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1094 -Problem: New regexp engine: Attempts to match "^" at every character. -Solution: Only try "^" at the start of a line. -Files: src/regexp_nfa.c - -Patch 7.3.1095 -Problem: Compiler warnings for shadowed variables. (Christian Brabandt) -Solution: Rename new_state() to alloc_state(). Remove unnecessary - declaration. -Files: src/regexp_nfa.c - -Patch 7.3.1096 -Problem: Python: popitem() was not defined in a standard way. -Solution: Remove the argument from popitem(). (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok - -Patch 7.3.1097 -Problem: Python: a few recently added items are not documented. -Solution: Update the documentation. (ZyX) -Files: runtime/doc/if_pyth.txt - -Patch 7.3.1098 -Problem: Python: Possible memory leaks -Solution: Add Py_XDECREF() calls. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1099 -Problem: Python: Changing directory with os.chdir() causes problems for - Vim's notion of directories. -Solution: Add vim.chdir() and vim.fchdir(). (ZyX) -Files: runtime/doc/if_pyth.txt, src/ex_docmd.c, src/if_py_both.h, - src/if_python3.c, src/if_python.c, src/proto/ex_docmd.pro, - src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1100 -Problem: Python: a few more memory problems. -Solution: Add and remove Py_XDECREF(). (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1101 -Problem: Configure doesn't find Python 3 on Ubuntu 13.04. -Solution: First try distutils.sysconfig. Also fix some indents. (Ken - Takata) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1102 -Problem: Completion of ":py3do" and ":py3file" does not work after ":py3". -Solution: Make completion work. (Taro Muraoka) -Files: src/ex_docmd.c - -Patch 7.3.1103 -Problem: New regexp engine: overhead in saving and restoring. -Solution: Make saving and restoring list IDs faster. Don't copy or check \z - subexpressions when they are not used. -Files: src/regexp_nfa.c - -Patch 7.3.1104 -Problem: New regexp engine does not handle "~". -Solution: Add support for "~". -Files: src/regexp_nfa.c, src/testdir/test24.in, src/testdir/test24.ok - -Patch 7.3.1105 -Problem: New regexp engine: too much code in one function. Dead code. -Solution: Move the recursive nfa_regmatch call to a separate function. - Remove the dead code. -Files: src/regexp_nfa.c - -Patch 7.3.1106 -Problem: New regexp engine: saving and restoring lastlist in the states - takes a lot of time. -Solution: Use a second lastlist value for the first recursive call. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1107 -Problem: Compiler warnings for unused variables. -Solution: Put the variables inside #ifdef. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1108 -Problem: Error message for os.fchdir() (Charles Peacech) -Solution: Clear the error. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1109 -Problem: Building on MS-Windows doesn't see changes in if_py_both.h. -Solution: Add a dependency. (Ken Takata) -Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, - src/Make_mvc.mak - -Patch 7.3.1110 -Problem: New regexp matching: Using \@= and the like can be slow. -Solution: Decide whether to first try matching the zero-width part or what - follows, whatever is more likely to fail. -Files: src/regexp_nfa.c - -Patch 7.3.1111 -Problem: nfa_recognize_char_class() implementation is inefficient. -Solution: Use bits in an int instead of chars in a string. (Dominique Pelle) -Files: src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok - -Patch 7.3.1112 -Problem: New regexp engine: \%V not supported. -Solution: Implement \%V. Add tests. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1113 -Problem: New regexp engine: \%'m not supported. -Solution: Implement \%'m. Add tests. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1114 (after 7.3.1110) -Problem: Can't build without the syntax feature. -Solution: Add #ifdefs. (Erik Falor) -Files: src/regexp_nfa.c - -Patch 7.3.1115 -Problem: Many users don't like the cursor line number when 'relativenumber' - is set. -Solution: Have four combinations with 'number' and 'relativenumber'. - (Christian Brabandt) -Files: runtime/doc/options.txt, src/option.c, src/screen.c, - src/testdir/test89.in, src/testdir/test89.ok - -Patch 7.3.1116 -Problem: Can't build without Visual mode. -Solution: Add #ifdefs. -Files: src/regexp_nfa.c - -Patch 7.3.1117 -Problem: New regexp engine: \%[abc] not supported. -Solution: Implement \%[abc]. Add tests. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1118 -Problem: Match failure rate is not very specific. -Solution: Tune the failure rate for match items. -Files: src/regexp_nfa.c - -Patch 7.3.1119 -Problem: Flags in 'cpo' are search for several times. -Solution: Store the result and re-use the flags. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1120 -Problem: Crash when regexp logging is enabled. -Solution: Avoid using NULL pointers. Advance over count argument. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1121 -Problem: New regexp engine: adding states that are not used. -Solution: Don't add the states. -Files: src/regexp_nfa.c - -Patch 7.3.1122 -Problem: New regexp engine: \@> not supported. -Solution: Implement \%>. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1123 -Problem: Can't build tiny Vim on MS-Windows. -Solution: Adjust #ifdef around using modif_fname(). (Mike Williams) -Files: src/misc1.c - -Patch 7.3.1124 -Problem: Python: Crash on MS-Windows when os.fchdir() is not available. -Solution: Check for _chdir to be NULL. (Ken Takata) -Files: src/if_py_both.h - -Patch 7.3.1125 -Problem: Error for using \%V in a pattern in tiny Vim. -Solution: Allow using \%V but never match. (Dominique Pelle) -Files: src/regexp_nfa.c - -Patch 7.3.1126 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Assign something to the variable. -Files: src/regexp_nfa.c - -Patch 7.3.1127 -Problem: No error for using empty \%[]. -Solution: Give error message. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1128 -Problem: Now that the NFA engine handles everything every failure is a - syntax error. -Solution: Remove the syntax_error flag. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1129 -Problem: Can't see what pattern in syntax highlighting is slow. -Solution: Add the ":syntime" command. -Files: src/structs.h, src/syntax.c, src/ex_cmds.h, src/ex_docmd.c, - src/proto/syntax.pro, src/ex_cmds2.c, src/proto/ex_cmds2.pro, - runtime/doc/syntax.txt - -Patch 7.3.1130 (after 7.3.1129) -Problem: Can't build with anything but huge features. -Solution: Check for FEAT_PROFILE. (Yasuhiro Matsumoto) -Files: src/ex_docmd.c, src/structs.h, src/syntax.c - -Patch 7.3.1131 -Problem: New regexp engine is a bit slow. -Solution: Do not clear the state list. Don't copy syntax submatches when - not used. -Files: src/regexp_nfa.c - -Patch 7.3.1132 -Problem: Crash when debugging regexp. -Solution: Do not try to dump subexpr that were not set. Skip over count of - \% items. -Files: src/regexp.c, src/regexp_nfa.c - -Patch 7.3.1133 -Problem: New regexp engine is a bit slow. -Solution: Skip ahead to a character that must match. Don't try matching a - "^" patter past the start of line. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1134 -Problem: Running test 49 takes a long time. -Solution: Don't have it grep all files. -Files: src/testdir/test49.vim - -Patch 7.3.1135 -Problem: Compiler warning for unused argument. -Solution: Add UNUSED. -Files: src/syntax.c - -Patch 7.3.1136 -Problem: ":func Foo" does not show attributes. -Solution: Add "abort", "dict" and "range". (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.1137 -Problem: New regexp engine: collections are slow. -Solution: Handle all characters in one go. -Files: src/regexp_nfa.c - -Patch 7.3.1138 -Problem: New regexp engine: neglist no longer used. -Solution: Remove the now unused neglist. -Files: src/regexp_nfa.c - -Patch 7.3.1139 -Problem: New regexp engine: negated flag is hardly used. -Solution: Add separate _NEG states, remove negated flag. -Files: src/regexp_nfa.c, src/regexp.h - -Patch 7.3.1140 -Problem: New regexp engine: trying expensive match while the result is not - going to be used. -Solution: Check for output state already being in the state list. -Files: src/regexp_nfa.c - -Patch 7.3.1141 -Problem: Win32: Check for available memory is not reliable and adds - overhead. -Solution: Remove mch_avail_mem(). (Mike Williams) -Files: src/os_win32.c, src/os_win32.h - -Patch 7.3.1142 -Problem: Memory leak in ":syntime report". -Solution: Clear the grow array. (Dominique Pelle) -Files: src/syntax.c - -Patch 7.3.1143 -Problem: When mapping NUL it is displayed as an X. -Solution: Check for KS_ZERO instead of K_ZERO. (Yasuhiro Matsumoto) -Files: src/message.c - -Patch 7.3.1144 -Problem: "RO" is not translated everywhere. -Solution: Put inside _(). (Sergey Alyoshin) -Files: src/buffer.c, src/screen.c - -Patch 7.3.1145 -Problem: New regexp engine: addstate() is called very often. -Solution: Optimize adding the start state. -Files: src/regexp_nfa.c - -Patch 7.3.1146 -Problem: New regexp engine: look-behind match not checked when followed by - zero-width match. -Solution: Do the look-behind match before adding the zero-width state. -Files: src/regexp_nfa.c - -Patch 7.3.1147 -Problem: New regexp engine: regstart is only used to find the first match. -Solution: Use regstart whenever adding the start state. -Files: src/regexp_nfa.c - -Patch 7.3.1148 -Problem: No command line completion for ":syntime". -Solution: Implement the completion. (Dominique Pelle) -Files: runtime/doc/map.txt, src/ex_cmds.h, src/ex_docmd.c, - src/ex_getln.c, src/proto/syntax.pro, src/syntax.c, src/vim.h - -Patch 7.3.1149 -Problem: New regexp engine: Matching plain text could be faster. -Solution: Detect a plain text match and handle it specifically. Add - vim_regfree(). -Files: src/regexp.c, src/regexp.h, src/regexp_nfa.c, - src/proto/regexp.pro, src/buffer.c, src/edit.c, src/eval.c, - src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, - src/ex_getln.c, src/fileio.c, src/gui.c, src/misc1.c, src/misc2.c, - src/option.c, src/syntax.c, src/quickfix.c, src/search.c, - src/spell.c, src/tag.c, src/window.c, src/screen.c, src/macros.h, - src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1150 -Problem: New regexp engine: Slow when a look-behind match does not have a - width specified. -Solution: Try to compute the maximum width. -Files: src/regexp_nfa.c - -Patch 7.3.1151 -Problem: New regexp engine: Slow when a look-behind match is followed by a - zero-width match. -Solution: Postpone the look-behind match more often. -Files: src/regexp_nfa.c - -Patch 7.3.1152 -Problem: In tiny build ireg_icombine is undefined. (Tony Mechelynck) -Solution: Add #ifdef. -Files: src/regexp_nfa.c - -Patch 7.3.1153 -Problem: New regexp engine: Some look-behind matches are very expensive. -Solution: Postpone invisible matches further, until a match is almost found. -Files: src/regexp_nfa.c - -Patch 7.3.1154 -Problem: New regexp_nfa engine: Unnecessary code. -Solution: Remove unnecessary code. -Files: src/regexp_nfa.c - -Patch 7.3.1155 -Problem: MS-DOS: "make test" uses external rmdir command. -Solution: Rename "rmdir" to "rd". (Taro Muraoka) -Files: src/testdir/Make_dos.mak - -Patch 7.3.1156 -Problem: Compiler warnings. (dv1445) -Solution: Initialize variables, even when the value isn't really used. -Files: src/regexp_nfa.c, src/eval.c - -Patch 7.3.1157 -Problem: New regexp engine fails on "\(\<command\)\@<=.*" -Solution: Fix rule for postponing match. Further tune estimating whether - postponing works better. Add test. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1158 -Problem: Crash when running test 86. (Jun Takimoto) -Solution: Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter) -Files: src/if_python.c, src/if_python3.c - -Patch 7.3.1159 -Problem: The round() function is not always available. (Christ van - Willegen) -Solution: Use the solution from f_round(). -Files: src/ex_cmds2.c, src/eval.c, src/proto/eval.pro - -Patch 7.3.1160 -Problem: Mixing long and pointer doesn't always work. -Solution: Avoid cast to pointer. -Files: src/undo.c - -Patch 7.3.1161 -Problem: Python: PyList_SetItem() is inefficient. -Solution: Use PyList_SET_ITEM() (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1162 -Problem: Python: Memory leaks -Solution: Add more Py_DECREF(). (ZyX) -Files: src/if_py_both.h, src/if_python.c - -Patch 7.3.1163 -Problem: Not easy to load Python modules. -Solution: Search "python2", "python3" and "pythonx" directories in - 'runtimepath' for Python modules. (ZyX) -Files: runtime/doc/if_pyth.txt, src/configure.in, src/ex_cmds2.c, - src/if_py_both.h, src/if_python.c, src/if_python3.c, - src/testdir/test86.in, src/testdir/test87.in, src/auto/configure - -Patch 7.3.1164 -Problem: Can't test what is actually displayed on screen. -Solution: Add the screenchar() and screenattr() functions. -Files: src/eval.c, runtime/doc/eval.txt - -Patch 7.3.1165 -Problem: HP-UX compiler can't handle zero size array. (Charles Cooper) -Solution: Make the array one item big. -Files: src/regexp.h, src/regexp_nfa.c - -Patch 7.3.1166 -Problem: Loading Python modules is not tested. -Solution: Enable commented-out tests, add missing files. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok, - src/testdir/python2/module.py, src/testdir/python3/module.py, - src/testdir/pythonx/module.py, src/testdir/pythonx/modulex.py, - Filelist - -Patch 7.3.1167 -Problem: Python configure check doesn't reject Python 2 when requesting - Python 3. Some systems need -pthreads instead of -pthread. -Solution: Adjust configure accordingly. (Andrei Olsen) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1168 -Problem: Python "sane" configure checks give a warning message. -Solution: Use single quotes instead of escaped double quotes. (Ben Fritz) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1169 -Problem: New regexp engine: some work is done while executing a pattern, - even though the result is predictable. -Solution: Do the work while compiling the pattern. -Files: src/regexp_nfa.c - -Patch 7.3.1170 -Problem: Patch 7.3.1058 breaks backwards compatibility, not possible to use - a function reference as a string. (lilydjwg) -Solution: Instead of translating the function name only translate "s:". -Files: src/eval.c - -Patch 7.3.1171 -Problem: Check for digits and ascii letters can be faster. -Solution: Use a trick with one comparison. (Dominique Pelle) -Files: src/macros.h - -Patch 7.3.1172 -Problem: Python 2: loading modules doesn't work well. -Solution: Fix the code. Add more tests. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, - src/testdir/python2/module.py, src/testdir/python3/module.py, - src/testdir/python_after/after.py, - src/testdir/python_before/before.py, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok, Filelist - -Patch 7.3.1173 -Problem: Python 2 tests don't have the same output everywhere. -Solution: Make the Python 2 tests more portable. (ZyX) -Files: src/testdir/test86.in, src/testdir/test86.ok - -Patch 7.3.1174 -Problem: Python 2 and 3 use different ways to load modules. -Solution: Use the same method. (ZyX) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, - src/if_python.c - -Patch 7.3.1175 -Problem: Using isalpha() and isalnum() can be slow. -Solution: Use range checks. (Mike Williams) -Files: src/ex_docmd.c, src/macros.h - -Patch 7.3.1176 -Problem: Compiler warnings on 64 bit system. -Solution: Add type casts. (Mike Williams) -Files: src/eval.c, src/if_py_both.h - -Patch 7.3.1177 -Problem: Wasting memory on padding. -Solution: Reorder struct fields. (Dominique Pelle) -Files: src/structs.h, src/fileio.c - -Patch 7.3.1178 -Problem: Can't put all Vim config files together in one directory. -Solution: Load ~/.vim/vimrc if ~/.vimrc does not exist. (Lech Lorens) -Files: runtime/doc/gui.txt, runtime/doc/starting.txt, src/gui.c, - src/main.c, src/os_amiga.h, src/os_dos.h, src/os_unix.h - -Patch 7.3.1179 -Problem: When a global mapping starts with the same characters as a - buffer-local mapping Vim waits for a character to be typed to find - out whether the global mapping is to be used. (Andy Wokula) -Solution: Use the local mapping without waiting. (Michael Henry) -Files: runtime/doc/map.txt, src/getchar.c - -Patch 7.3.1180 -Problem: When current directory changes, path from cscope may no longer be - valid. (AS Budden) -Solution: Always store the absolute path. (Christian Brabandt) -Files: src/if_cscope.c - -Patch 7.3.1181 -Problem: Wrong error message for 1.0[0]. -Solution: Check for funcref and float separately. (Yasuhiro Matsumoto) -Files: src/eval.c - -Patch 7.3.1182 -Problem: 'backupcopy' default on MS-Windows does not work for hard and soft - links. -Solution: Check for links. (David Pope, Ken Takata) -Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro - -Patch 7.3.1183 -Problem: Python tests 86 and 87 fail. -Solution: Add "empty" files. (ZyX) -Files: src/testdir/python_before/before_1.py, - src/testdir/python_before/before_2.py - -Patch 7.3.1184 -Problem: Highlighting is sometimes wrong. (Axel Bender) -Solution: Fetch regline again when returning from recursive regmatch. -Files: src/regexp_nfa.c - -Patch 7.3.1185 -Problem: New regexp engine: no match with ^ after \n. (SungHyun Nam) -Solution: Fix it, add a test. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1186 -Problem: Python 3: test 87 may crash. -Solution: Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto) -Files: src/if_python3.c - -Patch 7.3.1187 (after 7.3.1170) -Problem: "s:" is recognized but "<SID>" is not. (ZyX) -Solution: Translate "<SID>" like "s:". -Files: src/eval.c - -Patch 7.3.1188 -Problem: Newline characters messing up error message. -Solution: Remove the newlines. (Kazunobu Kuriyama) -Files: src/gui_x11.c - -Patch 7.3.1189 (after 7.3.1185) -Problem: Highlighting is still wrong sometimes. (Dominique Pelle) -Solution: Also restore reginput properly. -Files: src/regexp_nfa.c - -Patch 7.3.1190 -Problem: Compiler warning for parentheses. (Christian Wellenbrock) -Solution: Change #ifdef. -Files: src/ex_docmd.c - -Patch 7.3.1191 -Problem: Backreference to previous line doesn't work. (Lech Lorens) -Solution: Implement looking in another line. -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok - -Patch 7.3.1192 -Problem: Valgrind reports errors when using backreferences. (Dominique - Pelle) -Solution: Do not check the end of submatches. -Files: src/regexp_nfa.c - -Patch 7.3.1193 -Problem: fail_if_missing not used for Python 3. -Solution: Give an error when Python 3 can't be configured. (Andrei Olsen) -Files: src/configure.in, src/auto/configure - -Patch 7.3.1194 -Problem: Yaml highlighting is slow. -Solution: Tune the estimation of pattern failure chance. -Files: src/regexp_nfa.c - -Patch 7.3.1195 -Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) -Solution: Set the length to the matching backref. -Files: src/regexp.c - -Patch 7.3.1196 -Problem: Old regexp engine does not match pattern with backref correctly. - (Dominique Pelle) -Solution: Fix setting status. Test multi-line patterns better. -Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1197 -Problem: ":wviminfo!" does not write history previously read from a viminfo - file. (Roland Eggner) -Solution: When not merging history write all entries. -Files: src/ex_cmds.c, src/ex_getln.c, src/proto/ex_getln.pro - -Patch 7.3.1198 -Problem: Build error when using Perl 5.18.0 and dynamic loading. -Solution: Change #ifdefs for Perl_croak_xs_usage. (Ike Devolder) -Files: src/if_perl.xs - -Patch 7.3.1199 -Problem: When evaluating 'foldexpr' causes an error this is silently - ignored and evaluation is retried every time. -Solution: Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is - it is causing errors. (Christian Brabandt) -Files: src/fold.c - -Patch 7.3.1200 -Problem: When calling setline() from Insert mode, using CTRL-R =, undo does - not work properly. (Israel Chauca) -Solution: Sync undo after evaluating the expression. (Christian Brabandt) -Files: src/edit.c, src/testdir/test61.in, src/testdir/test61.ok - -Patch 7.3.1201 -Problem: When a startup script creates a preview window, it probably - becomes the current window. -Solution: Make another window the current one. (Christian Brabandt) -Files: src/main.c - -Patch 7.3.1202 (after 7.3.660) -Problem: Tags are not found in case-folded tags file. (Darren cole, Issue - 90) -Solution: Take into account that when case folding was used for the tags - file "!rm" sorts before the "!_TAG" header lines. -Files: src/tag.c - -Patch 7.3.1203 -Problem: Matches from matchadd() might be highlighted incorrectly when they - are at a fixed position and inserting lines. (John Szakmeister) -Solution: Redraw all lines below a change if there are highlighted matches. - (idea by Christian Brabandt) -Files: src/screen.c - -Patch 7.3.1204 -Problem: Calling gettabwinvar() in 'tabline' cancels Visual mode. (Hirohito - Higashi) -Solution: Don't always use goto_tabpage_tp(). -Files: src/window.c, src/proto/window.pro, src/eval.c, src/if_py_both.h - -Patch 7.3.1205 -Problem: logtalk.dict is not removed on uninstall. -Solution: Remove the file. (Kazunobu Kuriyama) -Files: src/Makefile - -Patch 7.3.1206 -Problem: Inconsistent function argument declarations. -Solution: Use ANSI style. -Files: src/if_py_both.h - -Patch 7.3.1207 -Problem: New regexp engine: no match found on "#if FOO". (Lech Lorens) -Solution: When adding a state gets skipped don't adjust the index. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1208 -Problem: Compiler warnings on MS-Windows. -Solution: Add type cast. Move variable declaration. (Mike Williams) -Files: src/option.c, src/os_mswin.c - -Patch 7.3.1209 -Problem: No completion for ":tabdo". -Solution: Add tabdo to the list of modifiers. (Dominique Pelle) -Files: src/ex_docmd.c - -Patch 7.3.1210 (after 7.3.1182) -Problem: 'backupcopy' default on MS-Windows is wrong when 'encoding' equals - the current codepage. -Solution: Change the #else block. (Ken Takata) -Files: src/os_win32.c - -Patch 7.3.1211 -Problem: MS-Windows: When 'encoding' differs from the current codepage - ":hardcopy" does not work properly. -Solution: Use TextOutW() and SetDlgItemTextW(). (Ken Takata) -Files: src/os_mswin.c, src/vim.rc - -Patch 7.3.1212 -Problem: "make test" on MS-Windows does not report failure like Unix does. -Solution: Make it work like on Unix. (Taro Muraoka) -Files: src/testdir/Make_dos.mak - -Patch 7.3.1213 -Problem: Can't build with small features and Python. -Solution: Adjust #ifdefs. -Files: src/eval.c, src/buffer.c, src/eval.c, src/window.c - -Patch 7.3.1214 -Problem: Missing declaration for init_users() and realloc_post_list(). - (Salman Halim) -Solution: Add the declarations. -Files: src/misc1.c, src/regexp_nfa.c - -Patch 7.3.1215 -Problem: Compiler warning for function not defined. -Solution: Add #ifdef. -Files: src/misc1.c - -Patch 7.3.1216 -Problem: Configure can't find Motif on Ubuntu. -Solution: Search for libXm in /usr/lib/*-linux-gnu. -Files: src/configure.in, src/auto/configure - -Patch 7.3.1217 -Problem: New regexp engine: Can't handle \%[[ao]]. (Yukihiro Nakadaira) -Solution: Support nested atoms inside \%[]. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1218 -Problem: "make test" on MS-Windows does not clean all temporary files and - gives some unnecessary message. -Solution: Clean the right files. Create .failed files. (Ken Takata) -Files: src/testdir/Make_dos.mak - -Patch 7.3.1219 -Problem: No test for using []] inside \%[]. -Solution: Add a test. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1220 -Problem: MS-Windows: When using wide font italic and bold are not included. -Solution: Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata, - Taro Muraoka) -Files: src/gui.c, src/gui.h, src/gui_w48.c - -Patch 7.3.1221 -Problem: When build flags change "make distclean" run into a configure - error. -Solution: When CFLAGS changes delete auto/config.cache. Also avoid adding - duplicate text to flags. (Ken Takata) -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.3.1222 -Problem: Cannot execute some tests from the src directly. -Solution: Add missing targets. -Files: src/Makefile - -Patch 7.3.1223 -Problem: Tests fail on MS-Windows. -Solution: Avoid depending on OS version. Use DOS commands instead of Unix - commands. (Taro Muraoka, Ken Takata) -Files: src/testdir/test17.in, src/testdir/test50.in, - src/testdir/test71.in, src/testdir/test77.in - -Patch 7.3.1224 -Problem: Clang gives warnings on xxd. -Solution: Change how to use part of a string. (Dominique Pelle) Also avoid - warning for return not reached. -Files: src/xxd/xxd.c, src/regexp_nfa.c - -Patch 7.3.1225 -Problem: Compiler warnings when building with Motif. -Solution: Change set_label() argument. (Kazunobu Kuriyama) -Files: src/gui_motif.c - -Patch 7.3.1226 -Problem: Python: duplicate code. -Solution: Share code between OutputWrite() and OutputWritelines(). (ZyX) -Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1227 -Problem: Inconsistent string conversion. -Solution: Use 'encoding' instead of utf-8. Use METH_O in place of - METH_VARARGS where appropriate. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1228 -Problem: Python: various inconsistencies and problems. -Solution: StringToLine now supports both bytes() and unicode() objects. - Make function names consistent. Fix memory leak fixed in - StringToLine. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c - -Patch 7.3.1229 -Problem: Python: not so easy to delete/restore translating. -Solution: Make macros do translation of exception messages. (ZyX) - Note: this breaks translations! -Files: src/if_py_both.h, src/if_python3.c - -Patch 7.3.1230 -Problem: Python: Exception messages are not clear. -Solution: Make exception messages more verbose. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1231 -Problem: Python: use of numbers not consistent. -Solution: Add support for Number protocol. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1232 -Problem: Python: inconsistencies in variable names. -Solution: Rename variables. (ZyX) -Files: src/eval.c, src/if_py_both.h - -Patch 7.3.1233 -Problem: Various Python problems. -Solution: Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory - leaks in StringToLine(), BufferMark() and convert_dl. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, - src/testdir/test87.in, src/testdir/test87.ok - -Patch 7.3.1234 (after 7.3.1229) -Problem: Python: Strings are not marked for translation. -Solution: Add N_() where appropriate. (ZyX) -Files: src/if_py_both.h - -Patch 7.3.1235 -Problem: In insert mode CTRL-] is not inserted, on the command-line it is. -Solution: Don't insert CTRL-] on the command line. (Yukihiro Nakadaira) -Files: src/ex_getln.c - -Patch 7.3.1236 -Problem: Python: WindowSetattr() missing support for NUMBER_UNSIGNED. -Solution: Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX) -Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, - src/testdir/pythonx/failing.py, - src/testdir/pythonx/failing_import.py, src/testdir/test86.in, - src/testdir/test86.ok, src/testdir/test87.in, - src/testdir/test87.ok, src/testdir/pythonx/topmodule/__init__.py, - src/testdir/pythonx/topmodule/submodule/__init__.py, - src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py, - src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py - -Patch 7.3.1237 -Problem: Python: non-import errors not handled correctly. -Solution: Let non-ImportError exceptions pass the finder. (ZyX) -Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok - -Patch 7.3.1238 -Problem: Crash in Python interface on 64 bit machines. -Solution: Change argument type of PyString_AsStringAndSize. (Taro Muraoka, - Jun Takimoto) -Files: src/if_python.c - -Patch 7.3.1239 -Problem: Can't build with Python and MSVC10. -Solution: Move #if outside of macro. (Taro Muraoka) -Files: src/if_py_both.h - -Patch 7.3.1240 -Problem: Memory leak in findfile(). -Solution: Free the memory. (Christian Brabandt) -Files: src/eval.c - -Patch 7.3.1241 (after 7.3.1236) -Problem: Some test files missing from the distribution. -Solution: Update the list of files. -Files: Filelist - -Patch 7.3.1242 -Problem: No failure when trying to use a number as a string. -Solution: Give an error when StringToLine() is called with an instance of - the wrong type. (Jun Takimoto) -Files: src/if_py_both.h - -Patch 7.3.1243 -Problem: New regexp engine: back references in look-behind match don't - work. (Lech Lorens) -Solution: Copy the submatches before a recursive match. Also fix function - prototypes. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1244 -Problem: MS-Windows: confirm() dialog text may not fit. -Solution: Use GetTextWidthEnc() instead of GetTextWidth(). (Yasuhiro - Matsumoto) -Files: src/gui_w32.c - -Patch 7.3.1245 -Problem: MS-Windows: confirm() dialog text may still not fit. -Solution: Use GetTextWidthEnc() instead of GetTextWidth() in two more - places. (Yasuhiro Matsumoto) -Files: src/gui_w32.c - -Patch 7.3.1246 -Problem: When setting 'winfixheight' and resizing the window causes the - window layout to be wrong. -Solution: Add frame_check_height() and frame_check_width() (Yukihiro - Nakadaira) -Files: src/window.c - -Patch 7.3.1247 -Problem: New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match. -Solution: When there is a PIM add a duplicate state that starts at another - position. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1248 -Problem: Still have old hacking code for Input Method. -Solution: Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to - Input Method activation. (Yukihiro Nakadaira) -Files: runtime/doc/options.txt, src/fileio.c, src/mbyte.c, src/option.c, - src/option.h, src/proto/fileio.pro - -Patch 7.3.1249 -Problem: Modeline not recognized when using "Vim" instead of "vim". -Solution: Also accept "Vim". -Files: src/buffer.c - -Patch 7.3.1250 -Problem: Python tests fail on MS-Windows. -Solution: Change backslashes to slashes. (Taro Muraoka) -Files: src/testdir/test86.in, src/testdir/test87.in - -Patch 7.3.1251 -Problem: Test 61 messes up viminfo. -Solution: Specify a separate viminfo file. -Files: src/testdir/test61.in - -Patch 7.3.1252 -Problem: Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps - if the corresponding menu command contains additional characters - like the shortcut marker '&' or if you use a non-english locale. -Solution: Use menu->en_dname or menu->dname. (Martin Gieseking) -Files: src/gui_w32.c - -Patch 7.3.1253 (after 7.3.1200) -Problem: Still undo problem after using CTRL-R = setline(). (Hirohito - Higashi) -Solution: Set the ins_need_undo flag. -Files: src/edit.c - -Patch 7.3.1254 (after 7.3.1252) -Problem: Can't build without the multi-lang feature. (John Marriott) -Solution: Add #ifdef. -Files: src/gui_w32.c - -Patch 7.3.1255 -Problem: Clang warnings when building with Athena. -Solution: Add type casts. (Dominique Pelle) -Files: src/gui_at_fs.c - -Patch 7.3.1256 -Problem: Can't build without eval or autocmd feature. -Solution: Add #ifdefs. -Files: src/mbyte.c, src/window.c - -Patch 7.3.1257 -Problem: With GNU gettext() ":lang de_DE.utf8" does not always result in - German messages. -Solution: Clear the $LANGUAGE environment variable. -Files: src/ex_cmds2.c - -Patch 7.3.1258 -Problem: Using submatch() may crash Vim. (Ingo Karkat) -Solution: Restore the number of subexpressions used. -Files: src/regexp_nfa.c - -Patch 7.3.1259 -Problem: No test for patch 7.3.1258 -Solution: Add a test entry. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.3.1260 -Problem: User completion does not get the whole command line in the command - line window. -Solution: Pass on the whole command line. (Daniel Thau) -Files: src/ex_getln.c, src/structs.h - -Patch 7.3.1261 (after patch 7.3.1179) -Problem: A buffer-local language mapping from a keymap stops a global - insert mode mapping from working. (Ron Aaron) -Solution: Do not wait for more characters to be typed only when the mapping - was defined with <nowait>. -Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, - src/testdir/test75.in, src/testdir/test75.ok - -Patch 7.3.1262 -Problem: Crash and compilation warnings with Cygwin. -Solution: Check return value of XmbTextListToTextProperty(). Add type casts. - Adjust #ifdefs. (Lech Lorens) -Files: src/main.c, src/os_unix.c, src/ui.c - -Patch 7.3.1263 -Problem: Typo in short option name. -Solution: Change "imse" to "imsf". -Files: src/option.c - -Patch 7.3.1264 (after 7.3.1261) -Problem: Missing m_nowait. -Solution: Include missing part of the patch. -Files: src/structs.h - -Patch 7.3.1265 (after 7.3.1249) -Problem: Accepting "Vim:" for a modeline causes errors too often. -Solution: Require "Vim:" to be followed by "set". -Files: src/buffer.c - -Patch 7.3.1266 -Problem: QNX: GUI fails to start. -Solution: Remove the QNX-specific #ifdef. (Sean Boudreau) -Files: src/gui.c - -Patch 7.3.1267 -Problem: MS-Windows ACL support doesn't work well. -Solution: Implement more ACL support. (Ken Takata) -Files: src/os_win32.c - -Patch 7.3.1268 -Problem: ACL support doesn't work when compiled with MingW. -Solution: Support ACL on MingW. (Ken Takata) -Files: src/os_win32.c, src/os_win32.h - -Patch 7.3.1269 -Problem: Insert completion keeps entry selected even though the list has - changed. (Olivier Teuliere) -Solution: Reset compl_shown_match and compl_curr_match. (Christian Brabandt) -Files: src/edit.c - -Patch 7.3.1270 -Problem: Using "Vp" in an empty buffer can't be undone. (Hauke Petersen) -Solution: Save one line in an empty buffer. (Christian Brabandt) -Files: src/ops.c - -Patch 7.3.1271 (after 7.3.1260) -Problem: Command line completion does not work. -Solution: Move setting xp_line down. (Daniel Thau) -Files: src/ex_getln.c - -Patch 7.3.1272 -Problem: Crash when editing Ruby file. (Aliaksandr Rahalevich) -Solution: Reallocate the state list when necessary. -Files: src/regexp_nfa.c - -Patch 7.3.1273 -Problem: When copying a location list the index might be wrong. -Solution: Set the index to one when using the first entry. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.3.1274 -Problem: When selecting an entry from a location list it may pick an - arbitrary window or open a new one. -Solution: Prefer using a window related to the location list. (Lech Lorens) -Files: src/quickfix.c - -Patch 7.3.1275 -Problem: "gn" does not work when the match is a single character. -Solution: Fix it, add a test. (Christian Brabandt) -Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok - -Patch 7.3.1276 -Problem: When using a cscope connection resizing the window may send - SIGWINCH to cscope and it quits. -Solution: Call setpgid(0, 0) in the child process. (Narendran Gopalakrishnan) -Files: src/if_cscope.c - -Patch 7.3.1277 -Problem: In diff mode 'cursorline' also draws in the non-active window. - When 'nu' and 'sbr' are set the 'sbr' string is not underlined. -Solution: Only draw the cursor line in the current window. Combine the - 'cursorline' and other highlighting attributes. (Christian - Brabandt) -Files: src/screen.c - -Patch 7.3.1278 -Problem: When someone sets the screen size to a huge value with "stty" Vim - runs out of memory before reducing the size. -Solution: Limit Rows and Columns in more places. -Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/os_unix.c, - src/proto/term.pro, src/term.c - -Patch 7.3.1279 -Problem: Compiler warning for variable uninitialized. (Tony Mechelynck) -Solution: Add an init. -Files: src/ex_getln.c - -Patch 7.3.1280 -Problem: Reading memory already freed since patch 7.3.1247. (Simon - Ruderich, Dominique Pelle) -Solution: Copy submatches before reallocating the state list. -Files: src/regexp_nfa.c - -Patch 7.3.1281 -Problem: When 'ttymouse' is set to "xterm2" clicking in column 123 moves - the cursor to column 96. (Kevin Goodsell) -Solution: Decode KE_CSI. -Files: src/term.c - -Patch 7.3.1282 (after 7.3.1277) -Problem: 'cursorline' not drawn in any other window. (Charles Campbell) -Solution: Do draw the cursor line in other windows. -Files: src/screen.c - -Patch 7.3.1283 -Problem: Test 71 fails on MS-Windows. -Solution: Put the binary data in a separate file. (Ken Takata) -Files: src/testdir/test71.in, src/testdir/test71a.in - -Patch 7.3.1284 -Problem: Compiler warnings in MS-Windows clipboard handling. -Solution: Add type casts. (Ken Takata) -Files: src/winclip.c - -Patch 7.3.1285 -Problem: No tests for picking a window when selecting an entry in a - location list. Not picking the right window sometimes. -Solution: Add test 96. Set usable_win appropriately. (Lech Lorens) -Files: src/quickfix.c, src/testdir/Makefile, src/testdir/test96.in, - src/testdir/test96.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms - -Patch 7.3.1286 -Problem: Check for screen size missing for Athena and Motif. -Solution: Add call to limit_screen_size(). -Files: src/gui_x11.c - -Patch 7.3.1287 -Problem: Python SystemExit exception is not handled properly. -Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken - Takata) -Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, - src/if_python3.c - -Patch 7.3.1288 -Problem: The first ":echo 'hello'" command output doesn't show. Mapping - for <S-F3> gets triggered during startup. -Solution: Add debugging code for the termresponse. When receiving the "Co" - entry and when setting 'ambiwidth' redraw right away if possible. - Add redraw_asap(). Don't set 'ambiwidth' if it already had the - right value. Do the 'ambiwidth' check in the second row to avoid - confusion with <S-F3>. -Files: src/term.c, src/screen.c, src/proto/screen.pro - -Patch 7.3.1289 -Problem: Get GLIB warning when removing a menu item. -Solution: Reference menu-id and also call gtk_container_remove(). (Ivan - Krasilnikov) -Files: src/gui_gtk.c - -Patch 7.3.1290 (after 7.3.1253) -Problem: CTRL-R = in Insert mode changes the start of the insert position. - (Ingo Karkat) -Solution: Only break undo, don't start a new insert. -Files: src/edit.c - -Patch 7.3.1291 (after 7.3.1288) -Problem: Compiler warnings for uninitialized variables. (Tony Mechelynck) -Solution: Initialize the variables. -Files: src/screen.c - -Patch 7.3.1292 -Problem: Possibly using invalid pointer when searching for window. (Raichoo) -Solution: Use "firstwin" instead of "tp_firstwin" for current tab. -Files: src/window.c - -Patch 7.3.1293 -Problem: Put in empty buffer cannot be undone. -Solution: Save one more line for undo. (Ozaki) -Files: src/ops.c - -Patch 7.3.1294 -Problem: ":diffoff" resets options. -Solution: Save and restore option values. (Christian Brabandt) -Files: src/diff.c, src/structs.h, src/option.c - -Patch 7.3.1295 -Problem: glob() and globpath() do not handle escaped special characters - properly. -Solution: Handle escaped characters differently. (Adnan Zafar) -Files: src/testdir/Makefile, src/testdir/test97.in, - src/testdir/test97.ok, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/fileio.c, - src/misc1.c - -Patch 7.3.1296 -Problem: Only MS-Windows limits the GUI window size to what fits on the - monitor. -Solution: Limit the size for all systems. (Daniel Harding) -Files: src/ui.c - -Patch 7.3.1297 -Problem: findfile() directory matching does not work when a star follows - text. (Markus Braun) -Solution: Make a wildcard work properly. (Christian Brabandt) -Files: src/misc2.c, src/testdir/test89.in, src/testdir/test89.ok - -Patch 7.3.1298 (after 7.3.1297) -Problem: Crash. -Solution: Use STRCPY() instead of STRCAT() and allocate one more byte. -Files: src/misc2.c - -Patch 7.3.1299 -Problem: Errors when doing "make proto". Didn't do "make depend" for a - while. -Solution: Add #ifdefs. Update dependencies. Update proto files. -Files: src/if_python3.c, src/os_win32.c, src/Makefile, - src/proto/ex_docmd.pro, src/proto/if_python.pro, - src/proto/if_python3.pro, src/proto/gui_w16.pro, - src/proto/gui_w32.pro, src/proto/os_win32.pro - -Patch 7.3.1300 -Problem: Mac: tiny and small build fails. -Solution: Don't include os_macosx.m in tiny build. Include mouse support in - small build. (Kazunobu Kuriyama) -Files: src/configure.in, src/auto/configure, src/vim.h - -Patch 7.3.1301 -Problem: Some tests fail on MS-Windows. -Solution: Fix path separators in test 89 and 96. Omit test 97, escaping - works differently. Make findfile() work on MS-Windows. -Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/test89.in, - src/testdir/test96.in, src/misc2.c - -Patch 7.3.1302 -Problem: Test 17 fails on MS-Windows. Includes line break in file name - everywhere. -Solution: Fix 'fileformat'. Omit CR-LF from a line read from an included - file. -Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok - -Patch 7.3.1303 (after 7.3.1290) -Problem: Undo is synced whenever CTRL-R = is called, breaking some plugins. -Solution: Only break undo when calling setline() or append(). -Files: src/globals.h, src/eval.c, src/edit.c, src/testdir/test61.in, - src/testdir/test61.ok - -Patch 7.3.1304 -Problem: Test 89 still fails on MS-Windows. -Solution: Set 'shellslash'. (Taro Muraoka) -Files: src/testdir/test89.in - -Patch 7.3.1305 -Problem: Warnings from 64 bit compiler. -Solution: Add type casts. -Files: src/misc2.c - -Patch 7.3.1306 -Problem: When redrawing the screen during startup the intro message may be - cleared. -Solution: Redisplay the intro message when appropriate. -Files: src/screen.c, src/version.c, src/proto/version.pro - -Patch 7.3.1307 -Problem: MS-Windows build instructions are outdated. -Solution: Adjust for building on Windows 7. Drop Windows 95/98/ME support. -Files: Makefile, nsis/gvim.nsi - -Patch 7.3.1308 -Problem: Typos in MS-Windows build settings and README. -Solution: Minor changes to MS-Windows files. -Files: src/msvc2008.bat, src/msvc2010.bat, src/VisVim/README_VisVim.txt - -Patch 7.3.1309 -Problem: When a script defines a function the flag to wait for the user to - hit enter is reset. -Solution: Restore the flag. (Yasuhiro Matsumoto) Except when the user was - typing the function. -Files: src/eval.c - -Patch 7.3.1310 -Problem: Typos in nsis script. Can use better compression. -Solution: Fix typos. Use lzma compression. (Ken Takata) -Files: nsis/gvim.nsi - -Patch 7.3.1311 -Problem: Compiler warnings on Cygwin. -Solution: Add type casts. Add windows include files. (Ken Takata) -Files: src/mbyte.c, src/ui.c - -Patch 7.3.1312 (after 7.3.1287) -Problem: Not giving correct error messages for SystemExit(). -Solution: Move E858 into an else. (Ken Takata) -Files: src/if_py_both.h - -Patch 7.3.1313 -Problem: :py and :py3 don't work when compiled with Cygwin or MingW with 64 - bit. -Solution: Add -DMS_WIN64 to the build command. (Ken Takata) -Files: src/Make_cyg.mak, src/Make_ming.mak - -Patch 7.3.1314 -Problem: Test 87 fails with Python 3.3. -Solution: Filter the error messages. (Taro Muraoka) -Files: src/testdir/test87.in - -Patch 7.4a.001 -Problem: Script to update syntax menu is outdated. -Solution: Add the missing items. -Files: runtime/makemenu.vim - -Patch 7.4a.002 -Problem: Valgrind errors in test 89. (Simon Ruderich) -Solution: Allocate one more byte. (Dominique Pelle) -Files: src/misc2.c - -Patch 7.4a.003 -Problem: Copyright year is outdated. -Solution: Only use the first year. -Files: src/vim.rc, src/vim16.rc - -Patch 7.4a.004 -Problem: MSVC 2012 Update 3 is not recognized. -Solution: Add the version number. (Raymond Ko) -Files: src/Make_mvc.mak - -Patch 7.4a.005 -Problem: Scroll binding causes unexpected scroll. -Solution: Store the topline after updating scroll binding. Add a test. - (Lech Lorens) -Files: src/testdir/test98.in, src/testdir/test98a.in, - src/testdir/test98.ok, src/option.c, src/testdir/Make_amiga.mak, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, - src/testdir/Makefile - -Patch 7.4a.006 -Problem: Failure in po file check goes unnoticed. -Solution: Fail "make test" if the po file check fails. -Files: src/Makefile - -Patch 7.4a.007 -Problem: After "g$" with 'virtualedit' set, "k" moves to a different - column. (Dimitar Dimitrov) -Solution: Set w_curswant. (Christian Brabandt) -Files: src/normal.c - -Patch 7.4a.008 -Problem: Python 3 doesn't handle multibyte characters properly when - 'encoding' is not utf-8. -Solution: Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken - Takata) -Files: src/if_python3.c - -Patch 7.4a.009 -Problem: Compiler warnings for function prototypes. -Solution: Add "void". Move list_features() prototype. (Ken Takata) -Files: src/gui_w48.c, src/if_py_both.h, src/version.c - -Patch 7.4a.010 -Problem: Test 86 and 87 fail when building with Python or Python 3 and - using a static library. -Solution: Add configure check to add -fPIE compiler flag. -Files: src/configure.in, src/auto/configure - -Patch 7.4a.011 -Problem: Configure check for Python 3 config name isn't right. -Solution: Always include vi_cv_var_python3_version. (Tim Harder) -Files: src/configure.in, src/auto/configure - -Patch 7.4a.012 -Problem: "make test" fails when using a shadow directory. -Solution: Create links for files in src/po. (James McCoy) -Files: src/Makefile - -Patch 7.4a.013 -Problem: Setting/resetting 'lbr' in the main help file changes alignment - after a Tab. (Dimitar Dimitrov) -Solution: Also use the code for conceal mode where n_extra is computed for - 'lbr'. -Files: src/screen.c, src/testdir/test88.in, src/testdir/test88.ok - -Patch 7.4a.014 -Problem: Test 86 and 89 have a problem with using a shadow dir. -Solution: Adjust for the different directory structure. (James McCoy) -Files: src/testdir/test89.in, src/testdir/test86.in, src/Makefile - -Patch 7.4a.015 -Problem: No Japanese man pages. -Solution: Add Japanese translations of man pages. (Ken Takata, Yukihiro - Nakadaira, et al.) -Files: Filelist, src/Makefile, runtime/doc/evim-ja.UTF-8.1, - runtime/doc/vim-ja.UTF-8.1, runtime/doc/vimdiff-ja.UTF-8.1, - runtime/doc/vimtutor-ja.UTF-8.1, runtime/doc/xxd-ja.UTF-8.1 - -Patch 7.4a.016 (after 7.4a.014) -Problem: Features enabled in Makefile. -Solution: Undo accidental changes. -Files: src/Makefile - -Patch 7.4a.017 -Problem: When 'foldmethod' is "indent", using ">>" on a line just above a - fold makes the cursor line folded. (Evan Laforge) -Solution: Call foldOpenCursor(). (Christian Brabandt) -Files: src/ops.c - -Patch 7.4a.018 -Problem: Compiler warning for code unreachable. (Charles Campbell) -Solution: Use "while" instead of endless loop. Change break to continue. -Files: src/regexp_nfa.c, src/ui.c - -Patch 7.4a.019 -Problem: Invalid closing parenthesis in test 62. Command truncated at - double quote. -Solution: Remove the parenthesis. Change double quote to ''. (ZyX) -Files: src/testdir/test62.in, src/testdir/test62.ok - -Patch 7.4a.020 -Problem: Superfluous mb_ptr_adv(). -Solution: Remove the call. (Dominique Pelle) -Files: src/regexp_nfa.c - -Patch 7.4a.021 -Problem: Using feedkeys() doesn't always work. -Solution: Omit feedkeys(). (Ken Takata) -Files: src/testdir/test98a.in - -Patch 7.4a.022 -Problem: Using "d2g$" does not delete the last character. (ZyX) -Solution: Set the "inclusive" flag properly. -Files: src/normal.c - -Patch 7.4a.023 (after 7.4a.019) -Problem: Still another superfluous parenthesis. (ZyX) -Solution: Remove it. -Files: src/testdir/test62.in - -Patch 7.4a.024 -Problem: X11 GUI: Checking icon height twice. -Solution: Check height and width. (Dominique Pelle) -Files: src/gui_x11.c - -Patch 7.4a.025 -Problem: Get the press-Enter prompt even after using :redraw. -Solution: Clear need_wait_return when executing :redraw. -Files: src/ex_docmd.c - -Patch 7.4a.026 -Problem: ":diffoff" does not remove folds. (Ramel) -Solution: Do not restore 'foldenable' when 'foldmethod' is "manual". -Files: src/diff.c - -Patch 7.4a.027 -Problem: When Python adds lines to another buffer the cursor position is - wrong, it might be below the last line causing ml_get errors. - (Vlad Irnov) -Solution: Temporarily change the current window, so that marks are corrected - properly. -Files: src/if_py_both.h, src/window.c, src/proto/buffer.pro - -Patch 7.4a.028 -Problem: Crash when spell checking in new buffer. -Solution: Set the b_p_key field. (Mike Williams) -Files: src/spell.c, src/testdir/test58.in - -Patch 7.4a.029 -Problem: Can't build with MzScheme on Ubuntu 13.04. -Solution: Add configure check for the "ffi" library. -Files: src/configure.in, src/auto/configure - -Patch 7.4a.030 (after 7.4.027) -Problem: Missing find_win_for_buf(). (toothpik) -Solution: Add missing changes. -Files: src/buffer.c - -Patch 7.4a.031 -Problem: Compiler warnings. (Charles Campbell) -Solution: Initialize variables even when not needed. -Files: src/regexp_nfa.c, src/search.c - -Patch 7.4a.032 -Problem: New regexp engine: Does not match shorter alternative. (Ingo - Karkat) -Solution: Do not drop a new state when the PIM info is different. -Files: src/regexp_nfa.c - -Patch 7.4a.033 -Problem: Test 98 always passes. -Solution: Include test98a.in in test98.in, execute the crucial command in - one line. (Yukihiro Nakadaira) -Files: src/testdir/test98.in, src/testdir/test98a.in - -Patch 7.4a.034 -Problem: The tabline may flicker when opening a new tab after 7.3.759 on - Win32. -Solution: Move call to TabCtrl_SetCurSel(). (Ken Takata) -Files: src/gui_w48.c - -Patch 7.4a.035 -Problem: Fix in patch 7.4a.032 is not tested. -Solution: Add test. -Files: src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4a.036 -Problem: "\p" in a regexp does not match double-width characters. - (Yukihiro Nakadaira) -Solution: Don't count display cells, use vim_isprintc(). -Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, - src/testdir/test64.ok, src/testdir/test95.in, - src/testdir/test95.ok - -Patch 7.4a.037 -Problem: Win32: When mouse is hidden and in the toolbar, moving it won't - make it appear. (Sami Salonen) -Solution: Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata) -Files: src/gui_w32.c, src/gui_w48.c - -Patch 7.4a.038 -Problem: When using MSVC 2012 there are various issues, including GUI size - computations. -Solution: Use SM_CXPADDEDBORDER. (Mike Williams) -Files: src/gui_w32.c, src/gui_w48.c, src/os_win32.h - -Patch 7.4a.039 -Problem: New regexp engine doesn't match pattern. (Ingo Karkat) -Solution: When adding a state also check for different PIM if the list of - states has any state with a PIM. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4a.040 -Problem: Win32: using uninitialized variable. -Solution: (Yukihiro Nakadaira) -Files: src/os_win32.c - -Patch 7.4a.041 -Problem: When using ":new ++ff=unix" and "dos" is first in 'fileformats' - then 'ff' is set to "dos" instead of "unix". (Ingo Karkat) -Solution: Create set_file_options() and invoke it from do_ecmd(). -Files: src/fileio.c, src/proto/fileio.pro, src/ex_cmds.c, - src/testdir/test91.in, src/testdir/test91.ok - -Patch 7.4a.042 -Problem: Crash when BufUnload autocommands close all buffers. (Andrew - Pimlott) -Solution: Set curwin->w_buffer to curbuf to avoid NULL. -Files: src/window.c, src/testdir/test8.in, src/testdir/test8.ok - -Patch 7.4a.043 -Problem: More ml_get errors when adding or deleting lines from Python. - (Vlad Irnov) -Solution: Switch to a window with the buffer when possible. -Files: src/if_py_both.h - -Patch 7.4a.044 -Problem: Test 96 sometimes fails. -Solution: Clear window from b_wininfo in win_free(). (Suggestion by - Yukihiro Nakadaira) -Files: src/window.c - -Patch 7.4a.045 -Problem: Configure does not always find the right library for Lua. Missing - support for LuaJit. -Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki) -Files: src/Makefile, src/configure.in, src/auto/configure - -Patch 7.4a.046 -Problem: Can't build without mbyte feature. -Solution: Add #ifdefs. -Files: src/ex_cmds.c - -Patch 7.4a.047 -Problem: Some comments are not so nice. -Solution: Change the comments. -Files: src/ex_docmd.c, src/message.c, src/ops.c, src/option.c - -Patch 7.4b.001 -Problem: Win32: dialog may extend off-screen. -Solution: Reduce the size, use correct borders. (Andrei Olsen) -Files: src/gui_w32.c - -Patch 7.4b.002 -Problem: Crash searching for \%(\%(\|\d\|-\|\.\)*\|\*\). (Marcin - Szamotulski) Also for \(\)*. -Solution: Do add a state for opening parenthesis, so that we can check if it - was added before at the same position. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4b.003 -Problem: Regexp code is not nicely aligned. -Solution: Adjust white space. (Ken Takata) -Files: src/regexp_nfa.c - -Patch 7.4b.004 -Problem: Regexp crash on pattern "@\%[\w\-]*". (Axel Kielhorn) -Solution: Add \%(\) around \%[] internally. -Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok - -Patch 7.4b.005 -Problem: Finding %s in shellpipe and shellredir does not ignore %%s. -Solution: Skip over %%. (lcd 47) -Files: src/ex_cmds.c - -Patch 7.4b.006 (after 7.3.1295) -Problem: Using \{n,m} in an autocommand pattern no longer works. - Specifically, mutt temp files are not recognized. (Gary Johnson) -Solution: Make \\\{n,m\} work. -Files: runtime/doc/autocmd.txt, src/fileio.c - -Patch 7.4b.007 -Problem: On 32 bit MS-Windows :perldo does not work. -Solution: Make sure time_t uses 32 bits. (Ken Takata) -Files: src/if_perl.xs, src/vim.h - -Patch 7.4b.008 -Problem: 'autochdir' causes setbufvar() to change the current directory. - (Ben Fritz) -Solution: When disabling autocommands also reset 'acd' temporarily. - (Christian Brabandt) -Files: src/fileio.c - -Patch 7.4b.009 -Problem: When setting the Visual area manually and 'selection' is - exclusive, a yank includes one character too much. (Ingo Karkat) -Solution: Default the Visual operation to "v". (Christian Brabandt) -Files: src/mark.c - -Patch 7.4b.010 -Problem: Win32: Tcl library load does not use standard mechanism. -Solution: Call vimLoadLib() instead of LoadLibraryEx(). (Ken Takata) -Files: src/if_perl.xs, src/if_tcl.c - -Patch 7.4b.011 -Problem: ":he \%(\)" does not work. (ZyX) -Solution: Add an exception to the list. -Files: src/ex_cmds.c - -Patch 7.4b.012 -Problem: Output from a shell command is truncated at a NUL. (lcd 47) -Solution: Change every NUL into an SOH. -Files: src/misc1.c - -Patch 7.4b.013 -Problem: Install dir for JP man pages is wrong. -Solution: Remove ".UTF-8" from the directory name. (Ken Takata) -Files: src/Makefile - -Patch 7.4b.014 (after 7.4b.012) -Problem: Stupid mistake. -Solution: Changle "len" to "i". -Files: src/misc1.c - -Patch 7.4b.015 (after 7.4b.008) -Problem: Can't compile without the 'acd' feature. -Solution: Add #ifdefs. (Kazunobu Kuriyama) -Files: src/fileio.c - -Patch 7.4b.016 -Problem: Ruby detection fails on Fedora 19. -Solution: Use one way to get the Ruby version. (Michael Henry) -Files: src/configure.in, src/auto/configure - -Patch 7.4b.017 -Problem: ":he \^x" gives a strange error message. (glts) -Solution: Do not translate \^x to \_CTRL-x. -Files: src/ex_cmds.c - -Patch 7.4b.018 (after 7.4b.001) -Problem: Win32: Dialog can still be too big. -Solution: Move the check for height further down. (Andrei Olsen) -Files: src/gui_w32.c - -Patch 7.4b.019 (after 7.4a.034) -Problem: Tabline is not updated properly when closing a tab on Win32. -Solution: Only reduce flickering when adding a tab. (Ken Takata) -Files: src/gui_w48.c - -Patch 7.4b.020 -Problem: "g~ap" changes first character of next paragraph. (Manuel Ortega) -Solution: Avoid subtracting (0 - 1) from todo. (Mike Williams) -Files: src/ops.c, src/testdir/test82.in, src/testdir/test82.ok - -Patch 7.4b.021 -Problem: Pressing "u" after an external command results in multiple - press-enter messages. (glts) -Solution: Don't call hit_return_msg() when we have K_IGNORE. (Christian - Brabandt) -Files: src/message.c - -Patch 7.4b.022 -Problem: Not waiting for a character when the tick count overflows. -Solution: Subtract the unsigned numbers and cast to int. (Ken Takata) -Files: src/os_win32.c - - - vim:tw=78:ts=8:ft=help:norl: |