1*version7.txt* For Vim version 8.2. Last change: 2021 May 17 2 3 4 VIM REFERENCE MANUAL by Bram Moolenaar 5 6 *vim7* *version-7.0* *version7.0* 7Welcome to Vim 7! A large number of features has been added. This file 8mentions all the new items, changes to existing features and bug fixes 9since Vim 6.x. Use this command to see the version you are using: > 10 :version 11 12See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0. 13See |version4.txt| for differences between Vim 3.x and Vim 4.x. 14See |version5.txt| for differences between Vim 4.x and Vim 5.x. 15See |version6.txt| for differences between Vim 5.x and Vim 6.x. 16 17INCOMPATIBLE CHANGES |incompatible-7| 18 19NEW FEATURES |new-7| 20 21Vim script enhancements |new-vim-script| 22Spell checking |new-spell| 23Omni completion |new-omni-completion| 24MzScheme interface |new-MzScheme| 25Printing multibyte text |new-print-multibyte| 26Tab pages |new-tab-pages| 27Undo branches |new-undo-branches| 28Extended Unicode support |new-more-unicode| 29More highlighting |new-more-highlighting| 30Translated manual pages |new-manpage-trans| 31Internal grep |new-vimgrep| 32Scroll back in messages |new-scroll-back| 33Cursor past end of the line |new-onemore| 34POSIX compatibility |new-posix| 35Debugger support |new-debug-support| 36Remote file explorer |new-netrw-explore| 37Define an operator |new-define-operator| 38Mapping to an expression |new-map-expression| 39Visual and Select mode mappings |new-map-select| 40Location list |new-location-list| 41Various new items |new-items-7| 42 43IMPROVEMENTS |improvements-7| 44 45COMPILE TIME CHANGES |compile-changes-7| 46 47BUG FIXES |bug-fixes-7| 48 49VERSION 7.1 |version-7.1| 50Changed |changed-7.1| 51Added |added-7.1| 52Fixed |fixed-7.1| 53 54VERSION 7.2 |version-7.2| 55Changed |changed-7.2| 56Added |added-7.2| 57Fixed |fixed-7.2| 58 59VERSION 7.3 |version-7.3| 60 61Persistent undo |new-persistent-undo| 62More encryption |new-more-encryption| 63Conceal text |new-conceal| 64Lua interface |new-lua| 65Python3 interface |new-python3| 66 67Changed |changed-7.3| 68Added |added-7.3| 69Fixed |fixed-7.3| 70 71VERSION 7.4 |version-7.4| 72New regexp engine |new-regexp-engine| 73Better Python interface |better-python-interface| 74Changed |changed-7.4| 75Added |added-7.4| 76Fixed |fixed-7.4| 77 78 79============================================================================== 80INCOMPATIBLE CHANGES *incompatible-7* 81 82These changes are incompatible with previous releases. Check this list if you 83run into a problem when upgrading from Vim 6.x to 7.0. 84 85A ":write file" command no longer resets the 'modified' flag of the buffer, 86unless the '+' flag is in 'cpoptions' |cpo-+|. This was illogical, since the 87buffer is still modified compared to the original file. And when undoing 88all changes the file would actually be marked modified. It does mean that 89":quit" fails now. 90 91":helpgrep" now uses a help window to display a match. 92 93In an argument list double quotes could be used to include spaces in a file 94name. This caused a difference between ":edit" and ":next" for escaping 95double quotes and it is incompatible with some versions of Vi. 96 Command Vim 6.x file name Vim 7.x file name ~ 97 :edit foo\"888 foo"888 foo"888 98 :next foo\"888 foo888 foo"888 99 :next a\"b c\"d ab cd a"b and c"d 100 101In a |literal-string| a single quote can be doubled to get one. 102":echo 'a''b'" would result in "a b", but now that two quotes stand for one it 103results in "a'b". 104 105When overwriting a file with ":w! fname" there was no warning for when "fname" 106was being edited by another Vim. Vim now gives an error message |E768|. 107 108The support for Mac OS 9 has been removed. 109 110Files ending in .tex now have 'filetype' set to "context", "plaintex", or 111"tex". |ft-tex-plugin| 112 113 114Minor incompatibilities: 115 116For filetype detection: For many types, use */.dir/filename instead of 117~/.dir/filename, so that it also works for other user's files. 118 119For quite a few filetypes the indent settings have been moved from the 120filetype plugin to the indent plugin. If you used: > 121 :filetype plugin on 122Then some indent settings may be missing. You need to use: > 123 :filetype plugin indent on 124 125":0verbose" now sets 'verbose' to zero instead of one. 126 127Removed the old and incomplete "VimBuddy" code. 128 129Buffers without a name report "No Name" instead of "No File". It was 130confusing for buffers with a name and 'buftype' set to "nofile". 131 132When ":file xxx" is used in a buffer without a name, the alternate file name 133isn't set. This avoids creating buffers without a name, they are not useful. 134 135The "2html.vim" script now converts closed folds to HTML. This means the HTML 136looks like it's displayed, with the same folds open and closed. Use "zR", or 137"let html_ignore_folding=1", if no folds should appear in the HTML. (partly by 138Carl Osterwisch) 139Diff mode is now also converted to HTML as it is displayed. 140 141Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends 142on whether <F10> has been mapped or not. This allows mapping <F10> without 143changing 'winaltkeys'. 144 145When 'octal' is in 'nrformats' and using CTRL-A on "08" it became "018", which 146is illogical. Now it becomes "9". The leading zero(s) is(are) removed to 147avoid the number becoming octal after incrementing "009" to "010". 148 149When 'encoding' is set to a Unicode encoding, the value for 'fileencodings' 150now includes "default" before "latin1". This means that for files with 8-bit 151encodings the default is to use the encoding specified by the environment, if 152possible. Previously latin1 would always be used, which is wrong in a 153non-latin1 environment, such as Russian. 154 155Previously Vim would exit when there are two windows, both of them displaying 156a help file, and using ":quit". Now only the window is closed. 157 158"-w {scriptout}" only works when {scriptout} doesn't start with a digit. 159Otherwise it's used to set the 'window' option. 160 161Previously <Home> and <xHome> could be mapped separately. This had the 162disadvantage that all mappings (with modifiers) had to be duplicated, since 163you can't be sure what the keyboard generates. Now all <xHome> are internally 164translated to <Home>, both for the keys and for mappings. Also for <xEnd>, 165<xF1>, etc. 166 167":put" now leaves the cursor on the last inserted line. 168 169When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc" 170file exists. 171 172When making a string upper-case with "vlllU" or similar then the German sharp 173s is replaced with "SS". This does not happen with "~" to avoid backwards 174compatibility problems and because "SS" can't be changed back to a sharp s. 175 176"gd" previously found the very first occurrence of a variable in a function, 177that could be the function argument without type. Now it finds the position 178where the type is given. 179 180The line continuation in functions was not taken into account, line numbers in 181errors were logical lines, not lines in the sourced file. That made it 182difficult to locate errors. Now the line number in the sourced file is 183reported, relative to the function start. This also means that line numbers 184for ":breakadd func" are different. 185 186When defining a user command with |:command| the special items could be 187abbreviated. This caused unexpected behavior, such as <li> being recognized 188as <line1>. The items can no longer be abbreviated. 189 190When executing a FileChangedRO autocommand it is no longer allowed to switch 191to another buffer or edit another file. This is to prevent crashes (the event 192is triggered deep down in the code where changing buffers is not anticipated). 193It is still possible to reload the buffer. 194 195At the |more-prompt| and the |hit-enter-prompt|, when the 'more' option is 196set, the 'k', 'u', 'g' and 'b' keys are now used to scroll back to previous 197messages. Thus they are no longer used as typeahead. 198 199============================================================================== 200NEW FEATURES *new-7* 201 202Vim script enhancements *new-vim-script* 203----------------------- 204 205In Vim scripts the following types have been added: 206 207 |List| ordered list of items 208 |Dictionary| associative array of items 209 |Funcref| reference to a function 210 211Many functions and commands have been added to support the new types. 212 213The |string()| function can be used to get a string representation of a 214variable. Works for Numbers, Strings and composites of them. Then |eval()| 215can be used to turn the string back into the variable value. 216 217The |:let| command can now use "+=", "-=" and ".=": > 218 :let var += expr " works like :let var = var + expr 219 :let var -= expr " works like :let var = var - expr 220 :let var .= string " works like :let var = var . string 221 222With the |:profile| command you can find out where your function or script 223is wasting time. 224 225In the Python interface vim.eval() also handles Dictionaries and Lists. 226|python-eval| (G. Sumner Hayes) 227 228The |getscript| plugin was added as a convenient way to update scripts from 229www.vim.org automatically. (Charles Campbell) 230 231The |vimball| plugin was added as a convenient way to distribute a set of 232files for a plugin (plugin file, autoload script, documentation). (Charles 233Campbell) 234 235 236Spell checking *new-spell* 237-------------- 238 239Spell checking has been integrated in Vim. There were a few implementations 240with scripts, but they were slow and/or required an external program. 241 242The 'spell' option is used to switch spell checking on or off 243The 'spelllang' option is used to specify the accepted language(s) 244The 'spellfile' option specifies where new words are added 245The 'spellsuggest' option specifies the methods used for making suggestions 246 247The |]s| and |[s| commands can be used to move to the next or previous error 248The |zg| and |zw| commands can be used to add good and wrong words 249The |z=| command can be used to list suggestions and correct the word 250The |:mkspell| command is used to generate a Vim spell file from word lists 251 252The "undercurl" highlighting attribute was added to nicely point out spelling 253mistakes in the GUI (based on patch from Marcin Dalecki). 254The "guisp" color can be used to give it a color different from foreground and 255background. 256The number of possible different highlight attributes was raised from about 257220 to over 30000. This allows for the attributes of spelling to be combined 258with syntax highlighting attributes. This is also used for syntax 259highlighting and marking the Visual area. 260 261Much more info here: |spell|. 262 263 264Omni completion *new-omni-completion* 265--------------- 266 267This could also be called "intellisense", but that is a trademark. It is a 268smart kind of completion. The text in front of the cursor is inspected to 269figure out what could be following. This may suggest struct and class 270members, system functions, etc. 271 272Use CTRL-X CTRL-O in Insert mode to start the completion. |i_CTRL-X_CTRL-O| 273 274The 'omnifunc' option is set by filetype plugins to define the function that 275figures out the completion. 276 277Currently supported languages: 278 C |ft-c-omni| 279 (X)HTML with CSS |ft-html-omni| 280 JavaScript |ft-javascript-omni| 281 PHP |ft-php-omni| 282 Python 283 Ruby |ft-ruby-omni| 284 SQL |ft-sql-omni| 285 XML |ft-xml-omni| 286 any language with syntax highlighting |ft-syntax-omni| 287 288You can add your own omni completion scripts. 289 290When the 'completeopt' option contains "menu" then matches for Insert mode 291completion are displayed in a (rather primitive) popup menu. 292 293 294MzScheme interface *new-MzScheme* 295------------------ 296 297The MzScheme interpreter is supported. |MzScheme| 298 299The |:mzscheme| command can be used to execute MzScheme commands 300The |:mzfile| command can be used to execute an MzScheme script file 301 302This depends on Vim being compiled with the |+mzscheme| feature. 303 304 305Printing multibyte text *new-print-multibyte* 306------------------------ 307 308The |:hardcopy| command now supports printing multibyte characters when using 309PostScript. 310 311The 'printmbcharset' and 'printmbfont' options are used for this. 312Also see |postscript-cjk-printing|. (Mike Williams) 313 314 315Tab pages *new-tab-pages* 316--------- 317 318A tab page is a page with one or more windows with a label (aka tab) at the top. 319By clicking on the label you can quickly switch between the tab pages. And 320with the keyboard, using the |gt| (Goto Tab) command. This is a convenient 321way to work with many windows. 322 323To start Vim with each file argument in a separate tab page use the |-p| 324argument. The maximum number of pages can be set with 'tabpagemax'. 325 326The line with tab labels is either made with plain text and highlighting or 327with a GUI mechanism. The GUI labels look better but are only available on a 328few systems. The line can be customized with 'tabline', 'guitablabel' and 329'guitabtooltip'. Whether it is displayed is set with 'showtabline'. Whether 330to use the GUI labels is set with the "e" flag in 'guioptions'. 331 332The |:tab| command modifier can be used to have most commands that open a new 333window open a new tab page instead. 334 335The |--remote-tab| argument can be used to edit a file in a new tab page in an 336already running Vim server. 337 338Variables starting with "t:" are local to a tab page. 339 340More info here: |tabpage| 341Most of the GUI stuff was implemented by Yegappan Lakshmanan. 342 343 344Undo branches *new-undo-branches* 345------------- 346 347Previously there was only one line of undo-redo. If, after undoing a number 348of changes, a new change was made all the undone changes were lost. This 349could lead to accidentally losing work. 350 351Vim now makes an undo branch in this situation. Thus you can go back to the 352text after any change, even if they were undone. So long as you do not run 353into 'undolevels', when undo information is freed up to limit the memory used. 354 355To be able to navigate the undo branches each change is numbered sequentially. 356The commands |g-| and |:earlier| go back in time, to older changes. The 357commands |g+| and |:later| go forward in time, to newer changes. 358 359The changes are also timestamped. Use ":earlier 10m" to go to the text as it 360was about ten minutes earlier. 361 362The |:undolist| command can be used to get an idea of which undo branches 363exist. The |:undo| command now takes an argument to directly jump to a 364specific position in this list. The |changenr()| function can be used to 365obtain the change number. 366 367There is no graphical display of the tree with changes, navigation can be 368quite confusing. 369 370 371Extended Unicode support *new-more-unicode* 372------------------------ 373 374Previously only two combining characters were displayed. The limit is now 375raised to 6. This can be set with the 'maxcombine' option. The default is 376still 2. 377 378|ga| now shows all combining characters, not just the first two. 379 380Previously only 16 bit Unicode characters were supported for displaying. Now 381the full 32 bit character set can be used. Unless manually disabled at 382compile time to save a bit of memory. 383 384For pattern matching it is now possible to search for individual composing 385characters. |patterns-composing| 386 387The |8g8| command searches for an illegal UTF-8 byte sequence. 388 389 390More highlighting *new-more-highlighting* 391----------------- 392 393Highlighting matching parens: 394 395When moving the cursor through the text and it is on a paren, then the 396matching paren can be highlighted. This uses the new |CursorMoved| 397autocommand event. 398 399This means some commands are executed every time you move the cursor. If this 400slows you down too much switch it off with: > 401 :NoMatchParen 402 403See |matchparen| for more information. 404 405The plugin uses the |:match| command. It now supports three match patterns. 406The plugin uses the third one. The first one is for the user and the second 407one can be used by another plugin. 408 409Highlighting the cursor line and column: 410 411The 'cursorline' and 'cursorcolumn' options have been added. These highlight 412the screen line and screen column of the cursor. This makes the cursor 413position easier to spot. 'cursorcolumn' is also useful to align text. This 414may make screen updating quite slow. The CursorColumn and CursorLine 415highlight groups allow changing the colors used. |hl-CursorColumn| 416|hl-CursorLine| 417 418The number of possible different highlight attributes was raised from about 419220 to over 30000. This allows for the attributes of spelling to be combined 420with syntax highlighting attributes. This is also used for syntax 421highlighting, marking the Visual area, CursorColumn, etc. 422 423 424Translated manual pages *new-manpage-trans* 425----------------------- 426 427The manual page of Vim and associated programs is now also available in 428several other languages. 429 430French - translated by David Blanchet 431Italian - translated by Antonio Colombo 432Russian - translated by Vassily Ragosin 433Polish - translated by Mikolaj Machowski 434 435The Unix Makefile installs the Italian manual pages in .../man/it/man1/, 436.../man/it.ISO8859-1/man1/ and .../man/it.UTF-8/man1/. There appears to be no 437standard for what encoding goes in the "it" directory, the 8-bit encoded file 438is used there as a best guess. 439Other languages are installed in similar places. 440The translated pages are not automatically installed when Vim was configured 441with "--disable-nls", but "make install-languages install-tool-languages" will 442do it anyway. 443 444 445Internal grep *new-vimgrep* 446------------- 447 448The ":vimgrep" command can be used to search for a pattern in a list of files. 449This is like the ":grep" command, but no external program is used. Besides 450better portability, handling of different file encodings and using multi-line 451patterns, this also allows grepping in compressed and remote files. 452|:vimgrep|. 453 454If you want to use the search results in a script you can use the 455|getqflist()| function. 456 457To grep files in various directories the "**" pattern can be used. It expands 458into an arbitrary depth of directories. "**" can be used in all places where 459file names are expanded, thus also with |:next| and |:args|. 460 461 462Scroll back in messages *new-scroll-back* 463----------------------- 464 465When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The 466'k', 'u', 'g' and 'b' keys can be used to scroll back to previous messages. 467This is especially useful for commands such as ":syntax", ":autocommand" and 468":highlight". This is implemented in a generic way thus it works for all 469commands and highlighting is kept. Only works when the 'more' option is set. 470Previously it only partly worked for ":clist". 471 472The |g<| command can be used to see the last page of messages after you have 473hit <Enter> at the |hit-enter-prompt|. Then you can scroll further back. 474 475 476Cursor past end of the line *new-onemore* 477--------------------------- 478 479When the 'virtualedit' option contains "onemore" the cursor can move just past 480the end of the line. As if it's on top of the line break. 481 482This makes some commands more consistent. Previously the cursor was always 483past the end of the line if the line was empty. But it is far from Vi 484compatible. It may also break some plugins or Vim scripts. Use with care! 485 486The patch was provided by Mattias Flodin. 487 488 489POSIX compatibility *new-posix* 490------------------- 491 492The POSIX test suite was used to verify POSIX compatibility. A number of 493problems have been fixed to make Vim more POSIX compatible. Some of them 494conflict with traditional Vi or expected behavior. The $VIM_POSIX environment 495variable can be set to get POSIX compatibility. See |posix|. 496 497Items that were fixed for both Vi and POSIX compatibility: 498- repeating "R" with a count only overwrites text once; added the 'X' flag to 499 'cpoptions' |cpo-X| 500- a vertical movement command that moves to a non-existing line fails; added 501 the '-' flag to 'cpoptions' |cpo--| 502- when preserving a file and doing ":q!" the file can be recovered; added the 503 '&' flag to 'cpoptions' |cpo-&| 504- The 'window' option is partly implemented. It specifies how much CTRL-F and 505 CTRL-B scroll when there is one window. The "-w {number}" argument is now 506 accepted. "-w {scriptout}" only works when {scriptout} doesn't start with a 507 digit. 508- Allow "-c{command}" argument, no space between "-c" and {command}. 509- When writing a file with ":w!" don't reset 'readonly' when 'Z' is present in 510 'cpoptions'. 511- Allow 'l' and '#' flags for ":list", ":print" and ":number". 512- Added the '.' flag to 'cpoptions': ":cd" fails when the buffer is modified. 513- In Ex mode with an empty buffer ":read file" doesn't keep an empty line 514 above or below the new lines. 515- Remove a backslash before a NL for the ":global" command. 516- When ":append", ":insert" or ":change" is used with ":global", get the 517 inserted lines from the command. Can use backslash-NL to separate lines. 518- Can use ":global /pat/ visual" to execute Normal mode commands at each 519 matched line. Use "Q" to continue and go to the next line. 520- The |:open| command has been partially implemented. It stops Ex mode, but 521 redraws the whole screen, not just one line as open mode is supposed to do. 522- Support using a pipe to read the output from and write input to an external 523 command. Added the 'shelltemp' option and has("filterpipe"). 524- In ex silent mode the ":set" command output is displayed. 525- The ":@@" and ":**" give an error message when no register was used before. 526- The search pattern "[]-`]" matches ']', '^', '_' and '`'. 527- Autoindent for ":insert" is using the line below the insert. 528- Autoindent for ":change" is using the first changed line. 529- Editing Ex command lines is not done in cooked mode, because CTRL-D and 530 CTRL-T cannot be handled then. 531- In Ex mode, "1,3" prints three lines. "%" prints all lines. 532- In Ex mode "undo" would undo all changes since Ex mode was started. 533- Implemented the 'prompt' option. 534 535 536Debugger support *new-debug-support* 537---------------- 538 539The 'balloonexpr' option has been added. This is a generic way to implement 540balloon functionality. You can use it to show info for the word under the 541mouse pointer. 542 543 544Remote file explorer *new-netrw-explore* 545-------------------- 546 547The netrw plugin now also supports viewing a directory, when "scp://" is used. 548Deleting and renaming files is possible. 549 550To avoid duplicating a lot of code, the previous file explorer plugin has been 551integrated in the netrw plugin. This means browsing local and remote files 552works the same way. 553 554":browse edit" and ":browse split" use the netrw plugin when it's available 555and a GUI dialog is not possible. 556 557The netrw plugin is maintained by Charles Campbell. 558 559 560Define an operator *new-define-operator* 561------------------ 562 563Previously it was not possible to define your own operator; a command that is 564followed by a {motion}. Vim 7 introduces the 'operatorfunc' option and the 565|g@| operator. This makes it possible to define a mapping that works like an 566operator. The actual work is then done by a function, which is invoked 567through the |g@| operator. 568 569See |:map-operator| for the explanation and an example. 570 571 572Mapping to an expression *new-map-expression* 573------------------------ 574 575The {rhs} argument of a mapping can be an expression. That means the 576resulting characters can depend on the context. Example: > 577 :inoremap <expr> . InsertDot() 578Here the dot will be mapped to whatever InsertDot() returns. 579 580This also works for abbreviations. See |:map-<expr>| for the details. 581 582 583Visual and Select mode mappings *new-map-select* 584------------------------------- 585 586Previously Visual mode mappings applied both to Visual and Select mode. With 587a trick to have the mappings work in Select mode like they would in Visual 588mode. 589 590Commands have been added to define mappings for Visual and Select mode 591separately: |:xmap| and |:smap|. With the associated "noremap" and "unmap" 592commands. 593 594The same is done for menus: |:xmenu|, |:smenu|, etc. 595 596 597Location list *new-location-list* 598------------- 599 600The support for a per-window quickfix list (location list) is added. The 601location list can be displayed in a location window (similar to the quickfix 602window). You can open more than one location list window. A set of commands 603similar to the quickfix commands are added to browse the location list. 604(Yegappan Lakshmanan) 605 606 607Various new items *new-items-7* 608----------------- 609 610Normal mode commands: ~ 611 612a", a' and a` New text objects to select quoted strings. |a'| 613i", i' and i` (Taro Muraoka) 614 615CTRL-W <Enter> In the quickfix window: opens a new window to show the 616 location of the error under the cursor. 617 618|at| and |it| text objects select a block of text between HTML or XML tags. 619 620<A-LeftMouse> ('mousemodel' "popup" or "popup-setpos") 621<A-RightMouse> ('mousemodel' "extend") 622 Make a blockwise selection. |<A-LeftMouse>| 623 624gF Start editing the filename under the cursor and jump 625 to the line number following the file name. 626 (Yegappan Lakshmanan) 627 628CTRL-W F Start editing the filename under the cursor in a new 629 window and jump to the line number following the file 630 name. (Yegappan Lakshmanan) 631 632Insert mode commands: ~ 633 634CTRL-\ CTRL-O Execute a Normal mode command. Like CTRL-O but 635 without moving the cursor. |i_CTRL-\_CTRL-O| 636 637Options: ~ 638 639'balloonexpr' expression for text to show in evaluation balloon 640'completefunc' The name of the function used for user-specified 641 Insert mode completion. CTRL-X CTRL-U can be used in 642 Insert mode to do any kind of completion. (Taro 643 Muraoka) 644'completeopt' Enable popup menu and other settings for Insert mode 645 completion. 646'cursorcolumn' highlight column of the cursor 647'cursorline' highlight line of the cursor 648'formatexpr' expression for formatting text with |gq| and when text 649 goes over 'textwidth' in Insert mode. 650'formatlistpat' pattern to recognize a numbered list for formatting. 651 (idea by Hugo Haas) 652'fsync' Whether fsync() is called after writing a file. 653 (Ciaran McCreesh) 654'guitablabel' expression for text to display in GUI tab page label 655'guitabtooltip' expression for text to display in GUI tab page tooltip 656'macatsui' Mac: use ATSUI text display functions 657'maxcombine' maximum number of combining characters displayed 658'maxmempattern' maximum amount of memory to use for pattern matching 659'mkspellmem' parameters for |:mkspell| memory use 660'mzquantum' Time in msec to schedule MzScheme threads. 661'numberwidth' Minimal width of the space used for the 'number' and 662 'relativenumber' option. (Emmanuel Renieris) 663'omnifunc' The name of the function used for omni completion. 664'operatorfunc' function to be called for |g@| operator 665'printmbcharset' CJK character set to be used for :hardcopy 666'printmbfont' font names to be used for CJK output of :hardcopy 667'pumheight' maximum number of items to show in the popup menu 668'quoteescape' Characters used to escape quotes inside a string. 669 Used for the a", a' and a` text objects. |a'| 670'shelltemp' whether to use a temp file or pipes for shell commands 671'showtabline' whether to show the tab pages line 672'spell' switch spell checking on/off 673'spellcapcheck' pattern to locate the end of a sentence 674'spellfile' file where good and wrong words are added 675'spelllang' languages to check spelling for 676'spellsuggest' methods for spell suggestions 677'synmaxcol' maximum column to look for syntax items; avoids very 678 slow redrawing when there are very long lines 679'tabline' expression for text to display in the tab pages line 680'tabpagemax' maximum number of tab pages to open for |-p| 681'verbosefile' Log messages in a file. 682'wildoptions' "tagfile" value enables listing the file name of 683 matching tags for CTRL-D command line completion. 684 (based on an idea from Yegappan Lakshmanan) 685'winfixwidth' window with fixed width, similar to 'winfixheight' 686 687 688Ex commands: ~ 689 690Win32: The ":winpos" command now also works in the console. (Vipin Aravind) 691 692|:startreplace| Start Replace mode. (Charles Campbell) 693|:startgreplace| Start Virtual Replace mode. 694 695|:0file| Removes the name of the buffer. (Charles Campbell) 696 697|:diffoff| Switch off diff mode in the current window or in all 698 windows. 699 700|:delmarks| Delete marks. 701 702|:exusage| Help for Ex commands (Nvi command). 703|:viusage| Help for Vi commands (Nvi command). 704 705|:sort| Sort lines in the buffer without depending on an 706 external command. (partly by Bryce Wagner) 707 708|:vimgrep| Internal grep command, search for a pattern in files. 709|:vimgrepadd| Like |:vimgrep| but don't make a new list. 710 711|:caddfile| Add error messages to an existing quickfix list 712 (Yegappan Lakshmanan). 713|:cbuffer| Read error lines from a buffer. (partly by Yegappan 714 Lakshmanan) 715|:cgetbuffer| Create a quickfix list from a buffer but don't jump to 716 the first error. 717|:caddbuffer| Add errors from the current buffer to the quickfix 718 list. 719|:cexpr| Read error messages from a Vim expression (Yegappan 720 Lakshmanan). 721|:caddexpr| Add error messages from a Vim expression to an 722 existing quickfix list. (Yegappan Lakshmanan). 723|:cgetexpr| Create a quickfix list from a Vim expression, but 724 don't jump to the first error. (Yegappan Lakshmanan). 725 726|:lfile| Like |:cfile| but use the location list. 727|:lgetfile| Like |:cgetfile| but use the location list. 728|:laddfile| Like |:caddfile| but use the location list. 729|:lbuffer| Like |:cbuffer| but use the location list. 730|:lgetbuffer| Like |:cgetbuffer| but use the location list. 731|:laddbuffer| Like |:caddbuffer| but use the location list. 732|:lexpr| Like |:cexpr| but use the location list. 733|:lgetexpr| Like |:cgetexpr| but use the location list. 734|:laddexpr| Like |:caddexpr| but use the location list. 735|:ll| Like |:cc| but use the location list. 736|:llist| Like |:clist| but use the location list. 737|:lnext| Like |:cnext| but use the location list. 738|:lprevious| Like |:cprevious| but use the location list. 739|:lNext| Like |:cNext| but use the location list. 740|:lfirst| Like |:cfirst| but use the location list. 741|:lrewind| Like |:crewind| but use the location list. 742|:llast| Like |:clast| but use the location list. 743|:lnfile| Like |:cnfile| but use the location list. 744|:lpfile| Like |:cpfile| but use the location list. 745|:lNfile| Like |:cNfile| but use the location list. 746|:lolder| Like |:colder| but use the location list. 747|:lnewer| Like |:cnewer| but use the location list. 748|:lwindow| Like |:cwindow| but use the location list. 749|:lopen| Like |:copen| but use the location list. 750|:lclose| Like |:cclose| but use the location list. 751|:lmake| Like |:make| but use the location list. 752|:lgrep| Like |:grep| but use the location list. 753|:lgrepadd| Like |:grepadd| but use the location list. 754|:lvimgrep| Like |:vimgrep| but use the location list. 755|:lvimgrepadd| Like |:vimgrepadd| but use the location list. 756|:lhelpgrep| Like |:helpgrep| but use the location list. 757|:lcscope| Like |:cscope| but use the location list. 758|:ltag| Jump to a tag and add matching tags to a location list. 759 760|:undojoin| Join a change with the previous undo block. 761|:undolist| List the leafs of the undo tree. 762 763|:earlier| Go back in time for changes in the text. 764|:later| Go forward in time for changes in the text. 765 766|:for| Loop over a |List|. 767|:endfor| 768 769|:lockvar| Lock a variable, prevents it from being changed. 770|:unlockvar| Unlock a locked variable. 771 772|:mkspell| Create a Vim spell file. 773|:spellgood| Add a word to the list of good words. 774|:spellwrong| Add a word to the list of bad words 775|:spelldump| Dump list of good words. 776|:spellinfo| Show information about the spell files used. 777|:spellrepall| Repeat a spelling correction for the whole buffer. 778|:spellundo| Remove a word from list of good and bad words. 779 780|:mzscheme| Execute MzScheme commands. 781|:mzfile| Execute an MzScheme script file. 782 783|:nbkey| Pass a key to NetBeans for processing. 784 785|:profile| Commands for Vim script profiling. 786|:profdel| Stop profiling for specified items. 787 788|:smap| Select mode mapping. 789|:smapclear| 790|:snoremap| 791|:sunmap| 792 793|:xmap| Visual mode mapping, not used for Select mode. 794|:xmapclear| 795|:xnoremap| 796|:xunmap| 797 798|:smenu| Select mode menu. 799|:snoremenu| 800|:sunmenu| 801 802|:xmenu| Visual mode menu, not used for Select mode. 803|:xnoremenu| 804|:xunmenu| 805 806|:tabclose| Close the current tab page. 807|:tabdo| Perform a command in every tab page. 808|:tabedit| Edit a file in a new tab page. 809|:tabnew| Open a new tab page. 810|:tabfind| Search for a file and open it in a new tab page. 811|:tabnext| Go to the next tab page. 812|:tabprevious| Go to the previous tab page. 813|:tabNext| Go to the previous tab page. 814|:tabfirst| Go to the first tab page. 815|:tabrewind| Go to the first tab page. 816|:tablast| Go to the last tab page. 817|:tabmove| Move the current tab page elsewhere. 818|:tabonly| Close all other tab pages. 819|:tabs| List the tab pages and the windows they contain. 820 821Ex command modifiers: ~ 822 823|:keepalt| Do not change the alternate file. 824 825|:noautocmd| Do not trigger autocommand events. 826 827|:sandbox| Execute a command in the sandbox. 828 829|:tab| When opening a new window create a new tab page. 830 831 832Ex command arguments: ~ 833 834|++bad| Specify what happens with characters that can't be 835 converted and illegal bytes. (code example by Yasuhiro 836 Matsumoto) 837 Also, when a conversion error occurs or illegal bytes 838 are found include the line number in the error 839 message. 840 841 842New and extended functions: ~ 843 844|add()| append an item to a List 845|append()| append List of lines to the buffer 846|argv()| without an argument return the whole argument list 847|browsedir()| dialog to select a directory 848|bufnr()| takes an extra argument: create buffer 849|byteidx()| index of a character (Ilya Sher) 850|call()| call a function with List as arguments 851|changenr()| number of current change 852|complete()| set matches for Insert mode completion 853|complete_add()| add match for 'completefunc' 854|complete_check()| check for key pressed, for 'completefunc' 855|copy()| make a shallow copy of a List or Dictionary 856|count()| count nr of times a value is in a List or Dictionary 857|cursor()| also accepts an offset for 'virtualedit', and 858 the first argument can be a list: [lnum, col, off] 859|deepcopy()| make a full copy of a List or Dictionary 860|diff_filler()| returns number of filler lines above line {lnum}. 861|diff_hlID()| returns the highlight ID for diff mode 862|empty()| check if List or Dictionary is empty 863|eval()| evaluate {string} and return the result 864|extend()| append one List to another or add items from one 865 Dictionary to another 866|feedkeys()| put characters in the typeahead buffer 867|filter()| remove selected items from a List or Dictionary 868|finddir()| find a directory in 'path' 869|findfile()| find a file in 'path' (Johannes Zellner) 870|foldtextresult()| the text displayed for a closed fold at line "lnum" 871|function()| make a Funcref out of a function name 872|garbagecollect()| cleanup unused |Lists| and |Dictionaries| with circular 873 references 874|get()| get an item from a List or Dictionary 875|getbufline()| get a list of lines from a specified buffer 876 (Yegappan Lakshmanan) 877|getcmdtype()| return the current command-line type 878 (Yegappan Lakshmanan) 879|getfontname()| get actual font name being used 880|getfperm()| get file permission string (Nikolai Weibull) 881|getftype()| get type of file (Nikolai Weibull) 882|getline()| with second argument: get List with buffer lines 883|getloclist()| list of location list items (Yegappan Lakshmanan) 884|getpos()| return a list with the position of cursor, mark, etc. 885|getqflist()| list of quickfix errors (Yegappan Lakshmanan) 886|getreg()| get contents of a register 887|gettabwinvar()| get variable from window in specified tab page. 888|has_key()| check whether a key appears in a Dictionary 889|haslocaldir()| check if current window used |:lcd| 890|hasmapto()| check for a mapping to a string 891|index()| index of item in List 892|inputlist()| prompt the user to make a selection from a list 893|insert()| insert an item somewhere in a List 894|islocked()| check if a variable is locked 895|items()| get List of Dictionary key-value pairs 896|join()| join List items into a String 897|keys()| get List of Dictionary keys 898|len()| number of items in a List or Dictionary 899|map()| change each List or Dictionary item 900|maparg()| extra argument: use abbreviation 901|mapcheck()| extra argument: use abbreviation 902|match()| extra argument: count 903|matcharg()| return arguments of |:match| command 904|matchend()| extra argument: count 905|matchlist()| list with match and submatches of a pattern in a string 906|matchstr()| extra argument: count 907|max()| maximum value in a List or Dictionary 908|min()| minimum value in a List or Dictionary 909|mkdir()| create a directory 910|pathshorten()| reduce directory names to a single character 911|printf()| format text 912|pumvisible()| check whether the popup menu is displayed 913|range()| generate a List with numbers 914|readfile()| read a file into a list of lines 915|reltime()| get time value, possibly relative 916|reltimestr()| turn a time value into a string 917|remove()| remove one or more items from a List or Dictionary 918|repeat()| repeat "expr" "count" times (Christophe Poucet) 919|reverse()| reverse the order of a List 920|search()| extra argument: 921|searchdecl()| search for declaration of variable 922|searchpair()| extra argument: line to stop searching 923|searchpairpos()| return a List with the position of the match 924|searchpos()| return a List with the position of the match 925|setloclist()| modify a location list (Yegappan Lakshmanan) 926|setpos()| set cursor or mark to a position 927|setqflist()| modify a quickfix list (Yegappan Lakshmanan) 928|settabwinvar()| set variable in window of specified tab page 929|sort()| sort a List 930|soundfold()| get the sound-a-like equivalent of a word 931|spellbadword()| get a badly spelled word 932|spellsuggest()| get suggestions for correct spelling 933|split()| split a String into a List 934|str2nr()| convert a string to a number, base 2, 8, 10 or 16 935|stridx()| extra argument: start position 936|strridx()| extra argument: start position 937|string()| string representation of a List or Dictionary 938|system()| extra argument: filters {input} through a shell command 939|tabpagebuflist()| List of buffers in a tab page 940|tabpagenr()| number of current or last tab page 941|tabpagewinnr()| window number in a tab page 942|tagfiles()| List with tags file names 943|taglist()| get list of matching tags (Yegappan Lakshmanan) 944|tr()| translate characters (Ron Aaron) 945|uniq()| remove copies of repeated adjacent list items 946|values()| get List of Dictionary values 947|winnr()| takes an argument: what window to use 948|winrestview()| restore the view of the current window 949|winsaveview()| save the view of the current window 950|writefile()| write a list of lines into a file 951 952User defined functions can now be loaded automatically from the "autoload" 953directory in 'runtimepath'. See |autoload-functions|. 954 955 956New Vim variables: ~ 957 958|v:insertmode| used for |InsertEnter| and |InsertChange| autocommands 959|v:val| item value in a |map()| or |filter()| function 960|v:key| item key in a |map()| or |filter()| function 961|v:profiling| non-zero after a ":profile start" command 962|v:fcs_reason| the reason why |FileChangedShell| was triggered 963|v:fcs_choice| what should happen after |FileChangedShell| 964|v:beval_bufnr| buffer number for 'balloonexpr' 965|v:beval_winnr| window number for 'balloonexpr' 966|v:beval_lnum| line number for 'balloonexpr' 967|v:beval_col| column number for 'balloonexpr' 968|v:beval_text| text under the mouse pointer for 'balloonexpr' 969|v:scrollstart| what caused the screen to be scrolled up 970|v:swapname| name of the swap file for the |SwapExists| event 971|v:swapchoice| what to do for an existing swap file 972|v:swapcommand| command to be executed after handling |SwapExists| 973|v:char| argument for evaluating 'formatexpr' 974 975 976New autocommand events: ~ 977 978|ColorScheme| after loading a color scheme 979 980|CursorHoldI| the user doesn't press a key for a while in Insert mode 981|CursorMoved| the cursor was moved in Normal mode 982|CursorMovedI| the cursor was moved in Insert mode 983 984|FileChangedShellPost| after handling a file changed outside of Vim 985 986|InsertEnter| starting Insert or Replace mode 987|InsertChange| going from Insert to Replace mode or back 988|InsertLeave| leaving Insert or Replace mode 989 990|MenuPopup| just before showing popup menu 991 992|QuickFixCmdPre| before :make, :grep et al. (Ciaran McCreesh) 993|QuickFixCmdPost| after :make, :grep et al. (Ciaran McCreesh) 994 995|SessionLoadPost| after loading a session file. (Yegappan Lakshmanan) 996 997|ShellCmdPost| after executing a shell command 998|ShellFilterPost| after filtering with a shell command 999 1000|SourcePre| before sourcing a Vim script 1001 1002|SpellFileMissing| when a spell file can't be found 1003 1004|SwapExists| found existing swap file when editing a file 1005 1006|TabEnter| just after entering a tab page 1007|TabLeave| just before leaving a tab page 1008 1009|VimResized| after the Vim window size changed (Yakov Lerner) 1010 1011 1012New highlight groups: ~ 1013 1014Pmenu Popup menu: normal item |hl-Pmenu| 1015PmenuSel Popup menu: selected item |hl-PmenuSel| 1016PmenuThumb Popup menu: scrollbar |hl-PmenuThumb| 1017PmenuSbar Popup menu: Thumb of the scrollbar |hl-PmenuSbar| 1018 1019TabLine tab pages line, inactive label |hl-TabLine| 1020TabLineSel tab pages line, selected label |hl-TabLineSel| 1021TabLineFill tab pages line, filler |hl-TabLineFill| 1022 1023SpellBad badly spelled word |hl-SpellBad| 1024SpellCap word with wrong caps |hl-SpellCap| 1025SpellRare rare word |hl-SpellRare| 1026SpellLocal word only exists in other region |hl-SpellLocal| 1027 1028CursorColumn 'cursorcolumn' |hl-CursorColumn| 1029CursorLine 'cursorline' |hl-CursorLine| 1030 1031MatchParen matching parens |pi_paren.txt| |hl-MatchParen| 1032 1033 1034New items in search patterns: ~ 1035|/\%d| \%d123 search for character with decimal number 1036|/\]| [\d123] idem, in a collection 1037|/\%o| \%o103 search for character with octal number 1038|/\]| [\o1o3] idem, in a collection 1039|/\%x| \%x1a search for character with 2 pos. hex number 1040|/\]| [\x1a] idem, in a collection 1041|/\%u| \%u12ab search for character with 4 pos. hex number 1042|/\]| [\u12ab] idem, in a collection 1043|/\%U| \%U1234abcd search for character with 8 pos. hex number 1044|/\]| [\U1234abcd] idem, in a collection 1045 (The above partly by Ciaran McCreesh) 1046 1047|/[[=| [[=a=]] an equivalence class (only for latin1 characters) 1048|/[[.| [[.a.]] a collation element (only works with single char) 1049 1050|/\%'m| \%'m match at mark m 1051|/\%<'m| \%<'m match before mark m 1052|/\%>'m| \%>'m match after mark m 1053|/\%V| \%V match in Visual area 1054 1055Nesting |/multi| items no longer is an error when an empty match is possible. 1056 1057It is now possible to use \{0}, it matches the preceding atom zero times. Not 1058useful, just for compatibility. 1059 1060 1061New Syntax/Indent/FTplugin files: ~ 1062 1063Moved all the indent settings from the filetype plugin to the indent file. 1064Implemented b:undo_indent to undo indent settings when setting 'filetype' to a 1065different value. 1066 1067a2ps syntax and ftplugin file. (Nikolai Weibull) 1068ABAB/4 syntax file. (Marius van Wyk) 1069alsaconf ftplugin file. (Nikolai Weibull) 1070AppendMatchGroup ftplugin file. (Dave Silvia) 1071arch ftplugin file. (Nikolai Weibull) 1072asterisk and asteriskvm syntax file. (Tilghman Lesher) 1073BDF ftplugin file. (Nikolai Weibull) 1074BibTeX indent file. (Dorai Sitaram) 1075BibTeX Bibliography Style syntax file. (Tim Pope) 1076BTM ftplugin file. (Bram Moolenaar) 1077calendar ftplugin file. (Nikolai Weibull) 1078Changelog indent file. (Nikolai Weibull) 1079ChordPro syntax file. (Niels Bo Andersen) 1080Cmake indent and syntax file. (Andy Cedilnik) 1081conf ftplugin file. (Nikolai Weibull) 1082context syntax and ftplugin file. (Nikolai Weibull) 1083CRM114 ftplugin file. (Nikolai Weibull) 1084cvs RC ftplugin file. (Nikolai Weibull) 1085D indent file. (Jason Mills) 1086Debian Sources.list syntax file. (Matthijs Mohlmann) 1087dictconf and dictdconf syntax, indent and ftplugin files. (Nikolai Weibull) 1088diff ftplugin file. (Bram Moolenaar) 1089dircolors ftplugin file. (Nikolai Weibull) 1090django and htmldjango syntax file. (Dave Hodder) 1091doxygen syntax file. (Michael Geddes) 1092elinks ftplugin file. (Nikolai Weibull) 1093eterm ftplugin file. (Nikolai Weibull) 1094eviews syntax file. (Vaidotas Zemlys) 1095fetchmail RC ftplugin file. (Nikolai Weibull) 1096FlexWiki syntax and ftplugin file. (George Reilly) 1097Generic indent file. (Dave Silvia) 1098gpg ftplugin file. (Nikolai Weibull) 1099gretl syntax file. (Vaidotas Zemlys) 1100groovy syntax file. (Alessio Pace) 1101group syntax and ftplugin file. (Nikolai Weibull) 1102grub ftplugin file. (Nikolai Weibull) 1103Haskell ftplugin file. (Nikolai Weibull) 1104help ftplugin file. (Nikolai Weibull) 1105indent ftplugin file. (Nikolai Weibull) 1106Javascript ftplugin file. (Bram Moolenaar) 1107Kconfig ftplugin and syntax file. (Nikolai Weibull) 1108ld syntax, indent and ftplugin file. (Nikolai Weibull) 1109lftp ftplugin file. (Nikolai Weibull) 1110libao config ftplugin file. (Nikolai Weibull) 1111limits syntax and ftplugin file. (Nikolai Weibull) 1112Lisp indent file. (Sergey Khorev) 1113loginaccess and logindefs syntax and ftplugin file. (Nikolai Weibull) 1114m4 ftplugin file. (Nikolai Weibull) 1115mailaliases syntax file. (Nikolai Weibull) 1116mailcap ftplugin file. (Nikolai Weibull) 1117manconf syntax and ftplugin file. (Nikolai Weibull) 1118matlab ftplugin file. (Jake Wasserman) 1119Maxima syntax file. (Robert Dodier) 1120MGL syntax file. (Gero Kuhlmann) 1121modconf ftplugin file. (Nikolai Weibull) 1122mplayer config ftplugin file. (Nikolai Weibull) 1123Mrxvtrc syntax and ftplugin file. (Gautam Iyer) 1124MuPAD source syntax, indent and ftplugin. (Dave Silvia) 1125mutt RC ftplugin file. (Nikolai Weibull) 1126nanorc syntax and ftplugin file. (Nikolai Weibull) 1127netrc ftplugin file. (Nikolai Weibull) 1128pamconf syntax and ftplugin file. (Nikolai Weibull) 1129Pascal indent file. (Neil Carter) 1130passwd syntax and ftplugin file. (Nikolai Weibull) 1131PHP compiler plugin. (Doug Kearns) 1132pinfo ftplugin file. (Nikolai Weibull) 1133plaintex syntax and ftplugin files. (Nikolai Weibull, Benji Fisher) 1134procmail ftplugin file. (Nikolai Weibull) 1135prolog ftplugin file. (Nikolai Weibull) 1136protocols syntax and ftplugin file. (Nikolai Weibull) 1137quake ftplugin file. (Nikolai Weibull) 1138racc syntax and ftplugin file. (Nikolai Weibull) 1139readline ftplugin file. (Nikolai Weibull) 1140rhelp syntax file. (Johannes Ranke) 1141rnoweb syntax file. (Johannes Ranke) 1142Relax NG compact ftplugin file. (Nikolai Weibull) 1143Scheme indent file. (Sergey Khorev) 1144screen ftplugin file. (Nikolai Weibull) 1145sensors syntax and ftplugin file. (Nikolai Weibull) 1146services syntax and ftplugin file. (Nikolai Weibull) 1147setserial syntax and ftplugin file. (Nikolai Weibull) 1148sieve syntax and ftplugin file. (Nikolai Weibull) 1149SiSU syntax file (Ralph Amissah) 1150Sive syntax file. (Nikolai Weibull) 1151slp config, reg and spi syntax and ftplugin files. (Nikolai Weibull) 1152SML indent file. (Saikat Guha) 1153SQL anywhere syntax and indent file. (David Fishburn) 1154SQL indent file. 1155SQL-Informix syntax file. (Dean L Hill) 1156SQL: Handling of various variants. (David Fishburn) 1157sshconfig ftplugin file. (Nikolai Weibull) 1158Stata and SMCL syntax files. (Jeff Pitblado) 1159sudoers ftplugin file. (Nikolai Weibull) 1160sysctl syntax and ftplugin file. (Nikolai Weibull) 1161terminfo ftplugin file. (Nikolai Weibull) 1162trustees syntax file. (Nima Talebi) 1163Vera syntax file. (David Eggum) 1164udev config, permissions and rules syntax and ftplugin files. (Nikolai Weibull) 1165updatedb syntax and ftplugin file. (Nikolai Weibull) 1166VHDL indent file (Gerald Lai) 1167WSML syntax file. (Thomas Haselwanter) 1168Xdefaults ftplugin file. (Nikolai Weibull) 1169XFree86 config ftplugin file. (Nikolai Weibull) 1170xinetd syntax, indent and ftplugin file. (Nikolai Weibull) 1171xmodmap ftplugin file. (Nikolai Weibull) 1172Xquery syntax file. (Jean-Marc Vanel) 1173xsd (XML schema) indent file. 1174YAML ftplugin file. (Nikolai Weibull) 1175Zsh ftplugin file. (Nikolai Weibull) 1176 1177 1178New Keymaps: ~ 1179 1180Sinhala (Sri Lanka) (Harshula Jayasuriya) 1181Tamil in TSCII encoding (Yegappan Lakshmanan) 1182Greek in cp737 (Panagiotis Louridas) 1183Polish-slash (HS6_06) 1184Ukrainian-jcuken (Anatoli Sakhnik) 1185Kana (Edward L. Fox) 1186 1187 1188New message translations: ~ 1189 1190The Ukrainian messages are now also available in cp1251. 1191Vietnamese message translations and menu. (Phan Vinh Thinh) 1192 1193 1194Others: ~ 1195 1196The |:read| command has the |++edit| argument. This means it will use the 1197detected 'fileformat', 'fileencoding' and other options for the buffer. This 1198also fixes the problem that editing a compressed file didn't set these 1199options. 1200 1201The Netbeans interface was updated for Sun Studio 10. The protocol number 1202goes from 2.2 to 2.3. (Gordon Prieur) 1203 1204Mac: When starting up Vim will load the $VIMRUNTIME/macmap.vim script to 1205define default command-key mappings. (mostly by Benji Fisher) 1206 1207Mac: Add the selection type to the clipboard, so that Block, line and 1208character selections can be used between two Vims. (Eckehard Berns) 1209Also fixes the problem that setting 'clipboard' to "unnamed" breaks using 1210"yyp". 1211 1212Mac: GUI font selector. (Peter Cucka) 1213 1214Mac: support for multibyte characters. (Da Woon Jung) 1215This doesn't always work properly. If you see text drawing problems try 1216switching the 'macatsui' option off. 1217 1218Mac: Support the xterm mouse in the non-GUI version. 1219 1220Mac: better integration with Xcode. Post a fake mouse-up event after the odoc 1221event and the drag receive handler to work around a stall after Vim loads a 1222file. Fixed an off-by-one line number error. (Da Woon Jung) 1223 1224Mac: When started from Finder change directory to the file being edited or the 1225user home directory. 1226 1227Added the t_SI and t_EI escape sequences for starting and ending Insert mode. 1228To be used to set the cursor shape to a bar or a block. No default values, 1229they are not supported by termcap/terminfo. 1230 1231GUI font selector for Motif. (Marcin Dalecki) 1232 1233Nicer toolbar buttons for Motif. (Marcin Dalecki) 1234 1235Mnemonics for the Motif find/replace dialog. (Marcin Dalecki) 1236 1237Included a few improvements for Motif from Marcin Dalecki. Draw label 1238contents ourselves to make them handle fonts in a way configurable by Vim and 1239a bit less dependent on the X11 font management. 1240 1241Autocommands can be defined local to a buffer. This means they will also work 1242when the buffer does not have a name or no specific name. See 1243|autocmd-buflocal|. (Yakov Lerner) 1244 1245For xterm most combinations of modifiers with function keys are recognized. 1246|xterm-modifier-keys| 1247 1248When 'verbose' is set the output of ":highlight" will show where a highlight 1249item was last set. 1250When 'verbose' is set the output of the ":map", ":abbreviate", ":command", 1251":function" and ":autocmd" commands will show where it was last defined. 1252(Yegappan Lakshmanan) 1253 1254":function /pattern" lists functions matching the pattern. 1255 1256"1gd" can be used like "gd" but ignores matches in a {} block that ends before 1257the cursor position. Likewise for "1gD" and "gD". 1258 1259'scrolljump' can be set to a negative number to scroll a percentage of the 1260window height. 1261 1262The |v:scrollstart| variable has been added to help find the location in 1263your script that causes the hit-enter prompt. 1264 1265To make it possible to handle the situation that a file is being edited that 1266is already being edited by another Vim instance, the |SwapExists| event has 1267been added. The |v:swapname|, |v:swapchoice| and |v:swapcommand| variables 1268can be used, for example to use the |client-server| functionality to bring the 1269other Vim to the foreground. 1270When starting Vim with a "-t tag" argument, there is an existing swapfile and 1271the user selects "quit" or "abort" then exit Vim. 1272 1273Undo now also restores the '< and '> marks. "gv" selects the same area as 1274before the change and undo. 1275 1276When editing a search pattern for a "/" or "?" command and 'incsearch' is set 1277CTRL-L can be used to add a character from the current match. CTRL-R CTRL-W 1278will add a word, but exclude the part of the word that was already typed. 1279 1280Ruby interface: add line number methods. (Ryan Paul) 1281 1282The $MYVIMRC environment variable is set to the first found vimrc file. 1283The $MYGVIMRC environment variable is set to the first found gvimrc file. 1284 1285============================================================================== 1286IMPROVEMENTS *improvements-7* 1287 1288":helpgrep" accepts a language specifier after the pattern: "pat@it". 1289 1290Moved the help for printing to a separate help file. It's quite a lot now. 1291 1292When doing completion for ":!cmd", ":r !cmd" or ":w !cmd" executable files are 1293found in $PATH instead of looking for ordinary files in the current directory. 1294 1295When ":silent" is used and a backwards range is given for an Ex command the 1296range is swapped automatically instead of asking if that is OK. 1297 1298The pattern matching code was changed from a recursive function to an 1299iterative mechanism. This avoids out-of-stack errors. State is stored in 1300allocated memory, running out of memory can always be detected. Allows 1301matching more complex things, but Vim may seem to hang while doing that. 1302 1303Previously some options were always evaluated in the |sandbox|. Now that only 1304happens when the option was set from a modeline or in secure mode. Applies to 1305'balloonexpr', 'foldexpr', 'foldtext' and 'includeexpr'. (Sumner Hayes) 1306 1307Some commands and expressions could have nasty side effects, such as using 1308CTRL-R = while editing a search pattern and the expression invokes a function 1309that jumps to another window. The |textlock| has been added to prevent this 1310from happening. 1311 1312":breakadd here" and ":breakdel here" can be used to set or delete a 1313breakpoint at the cursor. 1314 1315It is now possible to define a function with: > 1316 :exe "func Test()\n ...\n endfunc" 1317 1318The tutor was updated to make it simpler to use and text was added to explain 1319a few more important commands. Used ideas from Gabriel Zachmann. 1320 1321Unix: When libcall() fails obtain an error message with dlerror() and display 1322it. (Johannes Zellner) 1323 1324Mac and Cygwin: When editing an existing file make the file name the same case 1325of the edited file. Thus when typing ":e os_UNIX.c" the file name becomes 1326"os_unix.c". 1327 1328Added "nbsp" in 'listchars'. (David Blanchet) 1329 1330Added the "acwrite" value for the 'buftype' option. This is for a buffer that 1331does not have a name that refers to a file and is written with BufWriteCmd 1332autocommands. 1333 1334For lisp indenting and matching parenthesis: (Sergey Khorev) 1335- square brackets are recognized properly 1336- #\(, #\), #\[ and #\] are recognized as character literals 1337- Lisp line comments (delimited by semicolon) are recognized 1338 1339Added the "count" argument to match(), matchend() and matchstr(). (Ilya Sher) 1340 1341winnr() takes an optional "$" or "#" argument. (Nikolai Weibull, Yegappan 1342Lakshmanan) 1343 1344Added 's' flag to search(): set ' mark if cursor moved. (Yegappan Lakshmanan) 1345Added 'n' flag to search(): don't move the cursor. (Nikolai Weibull) 1346Added 'c' flag to search(): accept match at the cursor. 1347Added 'e' flag to search(): move to end of the match. (Benji Fisher) 1348Added 'p' flag to search(): return number of sub-pattern. (Benji Fisher) 1349These also apply to searchpos(), searchpair() and searchpairpos(). 1350 1351The search() and searchpair() functions have an extra argument to specify 1352where to stop searching. Speeds up searches that should not continue too far. 1353 1354When uncompressing fails in the gzip plugin, give an error message but don't 1355delete the raw text. Helps if the file has a .gz extension but is not 1356actually compressed. (Andrew Pimlott) 1357 1358When C, C++ or IDL syntax is used, may additionally load doxygen syntax. 1359(Michael Geddes) 1360 1361Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb" 1362filetype or syntax. 1363 1364The ":registers" command now displays multibyte characters properly. 1365 1366VMS: In the usage message mention that a slash can be used to make a flag 1367upper case. Add color support to the builtin vt320 terminal codes. 1368(Zoltan Arpadffy) 1369 1370For the '%' item in 'viminfo', allow a number to set a maximum for the number 1371of buffers. 1372 1373For recognizing the file type: When a file looks like a shell script, check 1374for an "exec" command that starts the tcl interpreter. (suggested by Alexios 1375Zavras) 1376 1377Support conversion between utf-8 and latin9 (iso-8859-15) internally, so that 1378digraphs still work when iconv is not available. 1379 1380When a session file is loaded while editing an unnamed, empty buffer that 1381buffer is wiped out. Avoids that there is an unused buffer in the buffer 1382list. 1383 1384Win32: When libintl.dll supports bind_textdomain_codeset(), use it. 1385(NAKADAIRA Yukihiro) 1386 1387Win32: Vim was not aware of hard links on NTFS file systems. These are 1388detected now for when 'backupcopy' is "auto". Also fixed a bogus "file has 1389been changed since reading it" error for links. 1390 1391When foldtext() finds no text after removing the comment leader, use the 1392second line of the fold. Helps for C-style /* */ comments where the first 1393line is just "/*". 1394 1395When editing the same file from two systems (e.g., Unix and MS-Windows) there 1396mostly was no warning for an existing swap file, because the name of the 1397edited file differs (e.g., y:\dir\file vs /home/me/dir/file). Added a flag to 1398the swap file to indicate it is in the same directory as the edited file. The 1399used path then doesn't matter and the check for editing the same file is much 1400more reliable. 1401 1402Unix: When editing a file through a symlink the swap file would use the name 1403of the symlink. Now use the name of the actual file, so that editing the same 1404file twice is detected. (suggestions by Stefano Zacchiroli and James Vega) 1405 1406Client-server communication now supports 'encoding'. When setting 'encoding' 1407in a Vim server to "utf-8", and using "vim --remote fname" in a console, 1408"fname" is converted from the console encoding to utf-8. Also allows Vims 1409with different 'encoding' settings to exchange messages. 1410 1411Internal: Changed ga_room into ga_maxlen, so that it doesn't need to be 1412incremented/decremented each time. 1413 1414When a register is empty it is not stored in the viminfo file. 1415 1416Removed the tcltags script, it's obsolete. 1417 1418":redir @*>>" and ":redir @+>>" append to the clipboard. Better check for 1419invalid characters after the register name. |:redir| 1420 1421":redir => variable" and ":redir =>> variable" write or append to a variable. 1422(Yegappan Lakshmanan) |:redir| 1423 1424":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan) 1425 1426The 'verbosefile' option can be used to log messages in a file. Verbose 1427messages are not displayed then. The "-V{filename}" argument can be used to 1428log startup messages. 1429 1430":let g:" lists global variables. 1431":let b:" lists buffer-local variables. 1432":let w:" lists window-local variables. 1433":let v:" lists Vim variables. 1434 1435The stridx() and strridx() functions take a third argument, where to start 1436searching. (Yegappan Lakshmanan) 1437 1438The getreg() function takes an extra argument to be able to get the expression 1439for the '=' register instead of the result of evaluating it. 1440 1441The setline() function can take a List argument to set multiple lines. When 1442the line number is just below the last line the line is appended. 1443 1444g CTRL-G also shows the number of characters if it differs from the number of 1445bytes. 1446 1447Completion for ":debug" and entering an expression for the '=' register. Skip 1448":" between range and command name. (Peter Winters) 1449 1450CTRL-Q in Insert mode now works like CTRL-V by default. Previously it was 1451ignored. 1452 1453When "beep" is included in 'debug' a function or script that causes a beep 1454will result in a message with the source of the error. 1455 1456When completing buffer names, match with "\(^\|[\/]\)" instead of "^", so that 1457":buf stor<Tab>" finds both "include/storage.h" and "storage/main.c". 1458 1459To count items (pattern matches) without changing the buffer the 'n' flag has 1460been added to |:substitute|. See |count-items|. 1461 1462In a |:substitute| command the \u, \U, \l and \L items now also work for 1463multibyte characters. 1464 1465The "screen.linux" $TERM name is recognized to set the default for 1466'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty". 1467 1468The |FileChangedShell| autocommand event can now use the |v:fcs_reason| 1469variable that specifies what triggered the event. |v:fcs_choice| can be used 1470to reload the buffer or ask the user what to do. 1471 1472Not all modifiers were recognized for xterm function keys. Added the 1473possibility in term codes to end in ";*X" or "O*X", where X is any character 1474and the * stands for the modifier code. 1475Added the <xUp>, <xDown>, <xLeft> and <xRight> keys, to be able to recognize 1476the two forms that xterm can send their codes in and still handle all possible 1477modifiers. 1478 1479getwinvar() now also works to obtain a buffer-local option from the specified 1480window. 1481 1482Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan) 1483Added the "%>" item to 'errorformat'. 1484 1485For 'errorformat' it was not possible to have a file name that contains the 1486character that follows after "%f". For example, in "%f:%l:%m" the file name 1487could not contain ":". Now include the first ":" where the rest of the 1488pattern matches. In the example a ":" not followed by a line number is 1489included in the file name. (suggested by Emanuele Giaquinta) 1490 1491GTK GUI: use the GTK file dialog when it's available. Mix from patches by 1492Grahame Bowland and Evan Webb. 1493 1494Added ":scriptnames" to bugreport.vim, so that we can see what plugins were 1495used. 1496 1497Win32: If the user changes the setting for the number of lines a scroll wheel 1498click scrolls it is now used immediately. Previously Vim would need to be 1499restarted. 1500 1501When using @= in an expression the value is expression @= contains. ":let @= 1502= value" can be used to set the register contents. 1503 1504A ! can be added to ":popup" to have the popup menu appear at the mouse 1505pointer position instead of the text cursor. 1506 1507The table with encodings has been expanded with many MS-Windows codepages, 1508such as cp1250 and cp737, so that these can also be used on Unix without 1509prepending "8bit-". 1510When an encoding name starts with "microsoft-cp" ignore the "microsoft-" part. 1511 1512Added the "customlist" completion argument to a user-defined command. The 1513user-defined completion function should return the completion candidates as a 1514Vim List and the returned results are not filtered by Vim. (Yegappan 1515Lakshmanan) 1516 1517Win32: Balloons can have multiple lines if common controls supports it. 1518(Sergey Khorev) 1519 1520For command-line completion the matches for various types of arguments are now 1521sorted: user commands, variables, syntax names, etc. 1522 1523When no locale is set, thus using the "C" locale, Vim will work with latin1 1524characters, using its own isupper()/toupper()/etc. functions. 1525 1526When using an rxvt terminal emulator guess the value of 'background' using the 1527COLORFGBG environment variable. (Ciaran McCreesh) 1528 1529Also support t_SI and t_EI on Unix with normal features. (Ciaran McCreesh) 1530 1531When 'foldcolumn' is one then put as much info in it as possible. This allows 1532closing a fold with the mouse by clicking on the '-'. 1533 1534input() takes an optional completion argument to specify the type of 1535completion supported for the input. (Yegappan Lakshmanan) 1536 1537"dp" works with more than two buffers in diff mode if there is only one where 1538'modifiable' is set. 1539 1540The 'diffopt' option has three new values: "horizontal", "vertical" and 1541"foldcolumn". 1542 1543When the 'include' option contains \zs the file name found is what is being 1544matched from \zs to the end or \ze. Useful to pass more to 'includeexpr'. 1545 1546Loading plugins on startup now supports subdirectories in the plugin 1547directory. |load-plugins| 1548 1549In the foldcolumn always show the '+' for a closed fold, so that it can be 1550opened easily. It may overwrite another character, esp. if 'foldcolumn' is 1. 1551 1552It is now possible to get the W10 message again by setting 'readonly'. Useful 1553in the FileChangedRO autocommand when checking out the file fails. 1554 1555Unix: When open() returns EFBIG give an appropriate message. 1556 1557":mksession" sets the SessionLoad variable to notify plugins. A modeline is 1558added to the session file to set 'filetype' to "vim". 1559 1560In the ATTENTION prompt put the "Delete it" choice before "Quit" to make it 1561more logical. (Robert Webb) 1562 1563When appending to a file while the buffer has no name the name of the appended 1564file would be used for the current buffer. But the buffer contents is 1565actually different from the file content. Don't set the file name, unless the 1566'P' flag is present in 'cpoptions'. 1567 1568When starting to edit a new file and the directory for the file doesn't exist 1569then Vim will report "[New DIRECTORY]" instead of "[New File] to give the user 1570a hint that something might be wrong. 1571 1572Win32: Preserve the hidden attribute of the viminfo file. 1573 1574In Insert mode CTRL-A didn't keep the last inserted text when using CTRL-O and 1575then a cursor key. Now keep the previously inserted text if nothing is 1576inserted after the CTRL-O. Allows using CTRL-O commands to move the cursor 1577without losing the last inserted text. 1578 1579The exists() function now supports checking for autocmd group definition 1580and for supported autocommand events. (Yegappan Lakshmanan) 1581 1582Allow using ":global" in the sandbox, it doesn't do anything harmful by 1583itself. 1584 1585":saveas asdf.c" will set 'filetype' to c when it's empty. Also for ":w 1586asdf.c" when it sets the filename for the buffer. 1587 1588Insert mode completion for whole lines now also searches unloaded buffers. 1589 1590The colortest.vim script can now be invoked directly with ":source" or 1591":runtime syntax/colortest.vim". 1592 1593The 'statusline' option can be local to the window, so that each window can 1594have a different value. (partly by Yegappan Lakshmanan) 1595 1596The 'statusline' option and other options that support the same format can now 1597use these new features: 1598- When it starts with "%!" the value is first evaluated as an expression 1599 before parsing the value. 1600- "%#HLname#" can be used to start highlighting with HLname. 1601 1602When 'statusline' is set to something that causes an error message then it is 1603made empty to avoid an endless redraw loop. Also for other options, such at 1604'tabline' and 'titlestring'. ":verbose set statusline" will mention that it 1605was set in an error handler. 1606 1607When there are several matching tags, the ":tag <name>" and CTRL-] commands 1608jump to the [count] matching tag. (Yegappan Lakshmanan) 1609 1610Win32: In the batch files generated by the install program, use $VIMRUNTIME or 1611$VIM if it's set. Example provided by Mathias Michaelis. 1612Also create a vimtutor.bat batch file. 1613 1614The 'balloonexpr' option is now |global-local|. 1615 1616The system() function now runs in cooked mode, thus can be interrupted by 1617CTRL-C. 1618 1619============================================================================== 1620COMPILE TIME CHANGES *compile-changes-7* 1621 1622Dropped the support for the BeOS and Amiga GUI. They were not maintained and 1623probably didn't work. If you want to work on this: get the Vim 6.x version 1624and merge it back in. 1625 1626When running the tests and one of them fails to produce "test.out" the 1627following tests are still executed. This helps when running out of memory. 1628 1629When compiling with EXITFREE defined and the ccmalloc library, it is possible 1630to detect memory leaks. Some memory will always be reported as leaked, such 1631as allocated by X11 library functions and the memory allocated in 1632alloc_cmdbuff() to store the ":quit" command. 1633 1634Moved the code for printing to src/hardcopy.c. 1635 1636Moved some code from main() to separate functions to make it easier to see 1637what is being done. Using a structure to avoid a lot of arguments to the 1638functions. 1639 1640Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c 1641without copying the code. 1642 1643--- Mac --- 1644 1645"make" now creates the Vim.app directory and "make install" copies it to its 1646final destination. (Raf) 1647 1648Put the runtime directory not directly in Vim.app but in 1649Vim.app/Contents/Resources/vim, so that it's according to Mac specs. 1650 1651Made it possible to compile with Motif, Athena or GTK without tricks and still 1652being able to use the MacRoman conversion. Added the os_mac_conv.c file. 1653 1654When running "make install" the runtime files are installed as for Unix. 1655Avoids that too many files are copied. When running "make" a link to the 1656runtime files is created to avoid a recursive copy that takes much time. 1657 1658Configure will attempt to build Vim for both Intel and PowerPC. The 1659--with-mac-arch configure argument can change it. 1660 1661--- Win32 --- 1662 1663The Make_mvc.mak file was adjusted to work with the latest MS compilers, 1664including the free version of Visual Studio 2005. (George Reilly) 1665 1666INSTALLpc.txt was updated for the recent changes. (George Reilly) 1667 1668The distributed executable is now produced with the free Visual C++ Toolkit 16692003 and other free SDK chunks. msvcsetup.bat was added to support this. 1670 1671Also generate the .pdb file that can be used to generate a useful crash report 1672on MS-Windows. (George Reilly) 1673 1674============================================================================== 1675BUG FIXES *bug-fixes-7* 1676 1677When using PostScript printing on MS-DOS the default 'printexpr' used "lpr" 1678instead of "copy". When 'printdevice' was empty the copy command did not 1679work. Use "LPT1" then. 1680 1681The GTK font dialog uses a font size zero when the font name doesn't include a 1682size. Use a default size of 10. 1683 1684This example in the documentation didn't work: > 1685 :e `=foo . ".c"` 1686Skip over the expression in `=expr` when looking for comments, |, % and #. 1687 1688When ":helpgrep" doesn't find anything there is no error message. 1689 1690"L" and "H" did not take closed folds into account. 1691 1692Win32: The "-P title" argument stopped at the first title that matched, even 1693when it doesn't support MDI. 1694 1695Mac GUI: CTRL-^ and CTRL-@ did not work. 1696 1697"2daw" on "word." at the end of a line didn't include the preceding white 1698space. 1699 1700Win32: Using FindExecutable() doesn't work to find a program. Use 1701SearchPath() instead. For executable() use $PATHEXT when the program searched 1702for doesn't have an extension. 1703 1704When 'virtualedit' is set, moving the cursor up after appending a character 1705may move it to a different column. Was caused by auto-formatting moving the 1706cursor and not putting it back where it was. 1707 1708When indent was added automatically and then moving the cursor, the indent was 1709not deleted (like when pressing ESC). The "I" flag in 'cpoptions' can be used 1710to make it work the old way. 1711 1712When opening a command-line window, 'textwidth' gets set to 78 by the Vim 1713filetype plugin. Reset 'textwidth' to 0 to avoid lines are broken. 1714 1715After using cursor(line, col) moving up/down doesn't keep the same column. 1716 1717Win32: Borland C before 5.5 requires using ".u." for LowPart and HighPart 1718fields. (Walter Briscoe) 1719 1720On Sinix SYS_NMLN isn't always defined. Define it ourselves. (Cristiano De 1721Michele) 1722 1723Printing with PostScript may keep the printer waiting for more. Append a 1724CTRL-D to the printer output. (Mike Williams) 1725 1726When converting a string with a hex or octal number the leading '-' was 1727ignored. ":echo '-05' + 0" resulted in 5 instead of -5. 1728 1729Using "@:" to repeat a command line didn't work when it contains control 1730characters. Also remove "'<,'>" when in Visual mode to avoid that it appears 1731twice. 1732 1733When using file completion for a user command, it would not expand environment 1734variables like for a regular command with a file argument. 1735 1736'cindent': When the argument of a #define looks like a C++ class the next line 1737is indented too much. 1738 1739When 'comments' includes multibyte characters inserting the middle part and 1740alignment may go wrong. 'cindent' also suffers from this for right-aligned 1741items. 1742 1743Win32: when 'encoding' is set to "utf-8" getenv() still returns strings in the 1744active codepage. Convert to utf-8. Also for $HOME. 1745 1746The default for 'helplang' was "zh" for both "zh_cn" and "zh_tw". Now use 1747"cn" or "tw" as intended. 1748 1749When 'bin' is set and 'eol' is not set then line2byte() added the line break 1750after the last line while it's not there. 1751 1752Using foldlevel() in a WinEnter autocommand may not work. Noticed when 1753resizing the GUI shell upon startup. 1754 1755Python: Using buffer.append(f.readlines()) didn't work. Allow appending a 1756string with a trailing newline. The newline is ignored. 1757 1758When using the ":saveas f2" command for buffer "f1", the Buffers menu would 1759contain "f2" twice, one of them leading to "f1". Also trigger the BufFilePre 1760and BufFilePost events for the alternate buffer that gets the old name. 1761 1762strridx() did not work well when the needle is empty. (Ciaran McCreesh) 1763 1764GTK: Avoid a potential hang in gui_mch_wait_for_chars() when input arrives 1765just before it is invoked 1766 1767VMS: Occasionally CR characters were inserted in the file. Expansion of 1768environment variables was not correct. (Zoltan Arpadffy) 1769 1770UTF-8: When 'delcombine' is set "dw" only deleted the last combining character 1771from the first character of the word. 1772 1773When using ":sball" in an autocommand only the filetype in one buffer was 1774detected. Reset did_filetype in enter_buffer(). 1775 1776When using ":argdo" and the window already was at the first argument index, 1777but not actually editing it, the current buffer would be used instead. 1778 1779When ":next dir/*" includes many matches, adding the names to the argument 1780list may take an awful lot of time and can't be interrupted. Allow 1781interrupting this. 1782 1783When editing a file that was already loaded in a buffer, modelines were not 1784used. Now window-local options in the modeline are set. Buffer-local options 1785and global options remain unmodified. 1786 1787Win32: When 'encoding' is set to "utf-8" in the vimrc file, files from the 1788command line with non-ASCII characters are not used correctly. Recode the 1789file names when 'encoding' is set, using the Unicode command line. 1790 1791Win32 console: When the default for 'encoding' ends up to be "latin1", the 1792default value of 'isprint' was wrong. 1793 1794When an error message is given while waiting for a character (e.g., when an 1795xterm reports the number of colors), the hit-enter prompt overwrote the last 1796line. Don't reset msg_didout in normal_cmd() for K_IGNORE. 1797 1798Mac GUI: Shift-Tab didn't work. 1799 1800When defining tooltip text, don't translate terminal codes, since it's not 1801going to be used like a command. 1802 1803GTK 2: Check the tooltip text for valid utf-8 characters to avoid getting a 1804GTK error. Invalid characters may appear when 'encoding' is changed. 1805 1806GTK 2: Add a safety check for invalid utf-8 sequences, they can crash pango. 1807 1808Win32: When 'encoding' is changed while starting up, use the Unicode command 1809line to convert the file arguments to 'encoding'. Both for the GUI and the 1810console version. 1811 1812Win32 GUI: latin9 text (iso-8859-15) was not displayed correctly, because 1813there is no codepage for latin9. Do our own conversion from latin9 to UCS2. 1814 1815When two versions of GTK+ 2 are installed it was possible to use the header 1816files from one and the library from the other. Use GTK_LIBDIR to put the 1817directory for the library early in the link flags. 1818 1819With the GUI find/replace dialog a replace only worked if the pattern was 1820literal text. Now it works for any pattern. 1821 1822When 'equalalways' is set and 'eadirection' is "hor", ":quit" would still 1823cause equalizing window heights in the vertical direction. 1824 1825When ":emenu" is used in a startup script the command was put in the typeahead 1826buffer, causing a prompt for the crypt key to be messed up. 1827 1828Mac OS/X: The default for 'isprint' included characters 128-160, causes 1829problems for Terminal.app. 1830 1831When a syntax item with "containedin" is used, it may match in the start or 1832end of a region with a matchgroup, while this doesn't happen for a "contains" 1833argument. 1834 1835When a transparent syntax items matches in another item where the highlighting 1836has already stopped (because of a he= argument), the highlighting would come 1837back. 1838 1839When cscope is used to set the quickfix error list, it didn't get set if there 1840was only one match. (Sergey Khorev) 1841 1842When 'confirm' is set and using ":bdel" in a modified buffer, then selecting 1843"cancel", would still give an error message. 1844 1845The PopUp menu items that started Visual mode didn't work when not in Normal 1846mode. Switching between selecting a word and a line was not possible. 1847 1848Win32: The keypad decimal point always resulted in a '.', while on some 1849keyboards it's a ','. Use MapVirtualKey(VK_DECIMAL, 2). 1850 1851Removed unused function DisplayCompStringOpaque() from gui_w32.c 1852 1853In Visual mode there is not always an indication whether the line break is 1854selected or not. Highlight the character after the line when the line break 1855is included, e.g., after "v$o". 1856 1857GTK: The <F10> key can't be mapped, it selects the menu. Disable that with a 1858GTK setting and do select the menu when <F10> isn't mapped. (David Necas) 1859 1860After "Y" '[ and '] were not at start/end of the yanked text. 1861 1862When a telnet connection is dropped Vim preserves files and exits. While 1863doing that a SIGHUP may arrive and disturb us, thus ignore it. (Scott 1864Anderson) Also postpone SIGHUP, SIGQUIT and SIGTERM until it's safe to 1865handle. Added handle_signal(). 1866 1867When completing a file name on the command line backslashes are required for 1868white space. Was only done for a space, not for a Tab. 1869 1870When configure could not find a terminal library, compiling continued for a 1871long time before reporting the problem. Added a configure check for tgetent() 1872being found in a library. 1873 1874When the cursor is on the first char of the last line a ":g/pat/s///" command 1875may cause the cursor to be displayed below the text. 1876 1877Win32: Editing a file with non-ASCII characters doesn't work when 'encoding' 1878is "utf-8". use _wfullpath() instead of _fullpath(). (Yu-sung Moon) 1879 1880When recovering the 'fileformat' and 'fileencoding' were taken from the 1881original file instead of from the swapfile. When the file didn't exist, was 1882empty or the option was changed (e.g., with ":e ++fenc=cp123 file") it could 1883be wrong. Now store 'fileformat' and 'fileencoding' in the swapfile and use 1884the values when recovering. 1885 1886":bufdo g/something/p" overwrites each last printed text line with the file 1887message for the next buffer. Temporarily clear 'shortmess' to avoid that. 1888 1889Win32: Cannot edit a file starting with # with --remote. Do escape % and # 1890when building the ":drop" command. 1891 1892A comment or | just after an expression-backtick argument was not recognized. 1893E.g. in :e `="foo"`"comment. 1894 1895"(" does not stop at an empty sentence (single dot and white space) while ")" 1896does. Also breaks "das" on that dot. 1897 1898When doing "yy" with the cursor on a TAB the ruler could be wrong and "k" 1899moved the cursor to another column. 1900 1901When 'commentstring' is '"%s' and there is a double quote in the line a double 1902quote before the fold marker isn't removed in the text displayed for a closed 1903fold. 1904 1905In Visual mode, when 'bin' and 'eol' set, g CTRL-G counted the last line 1906break, resulting in "selected 202 of 201 bytes". 1907 1908Motif: fonts were not used for dialog components. (Marcin Dalecki) 1909 1910Motif: After using a toolbar button the keyboard focus would be on the toolbar 1911(Lesstif problem). (Marcin Dalecki) 1912 1913When using "y<C-V>`x" where mark x is in the first column, the last line was 1914not included. 1915 1916Not all test scripts work properly on MS-Windows when checked out from CVS. 1917Use a Vim command to fix all fileformats to dos before executing the tests. 1918 1919When using ":new" and the file fits in the window, lines could still be above 1920the window. Now remove empty lines instead of keeping the relative position. 1921 1922Cmdline completion didn't work after ":let var1 var<Tab>". 1923 1924When using ":startinsert" or ":startreplace" when already in Insert mode 1925(possible when using CTRL-R =), pressing Esc would directly restart Insert 1926mode. (Peter Winters) 1927 1928"2daw" didn't work at end of file if the last word is a single character. 1929 1930Completion for ":next a'<Tab>" put a backslash before single quote, but it was 1931not removed when editing a file. Now halve backslashes in save_patterns(). 1932Also fix expanding a file name with the shell that contains "\'". 1933 1934When doing "1,6d|put" only "fewer lines" was reported. Now a following "more 1935lines" overwrites the message. 1936 1937Configure could not handle "-Dfoo=long\ long" in the TCL config output. 1938 1939When searching backwards, using a pattern that matches a newline and uses \zs 1940after that, didn't find a match. Could also get a hang or end up in the right 1941column in the wrong line. 1942 1943When $LANG is "sl" for slovenian, the slovak menu was used, since "slovak" 1944starts with "sl". 1945 1946When 'paste' is set in the GUI the Paste toolbar button doesn't work. Clear 1947'paste' when starting the GUI. 1948 1949A message about a wrong viminfo line included the trailing NL. 1950 1951When 'paste' is set in the GUI the toolbar button doesn't work in Insert mode. 1952Use ":exe" in menu.vim to avoid duplicating the commands, instead of using a 1953mapping. 1954 1955Treat "mlterm" as an xterm-like terminal. (Seiichi Sato) 1956 1957":z.4" and ":z=4" didn't work Vi compatible. 1958 1959When sourcing a file, editing it and sourcing it again, it could appear twice 1960in ":scriptnames" and get a new <SID>, because the inode has changed. 1961 1962When $SHELL is set but empty the 'shell' option would be empty. Don't use an 1963empty $SHELL value. 1964 1965A command "w! file" in .vimrc or $EXINIT didn't work. Now it writes an empty 1966file. 1967 1968When a CTRL-F command at the end of the file failed, the cursor was still 1969moved to the start of the line. Now it remains where it is. 1970 1971When using ":s" or "&" to repeat the last substitute and "$" was used to put 1972the cursor in the last column, put the cursor in the last column again. This 1973is Vi compatible. 1974 1975Vim is not fully POSIX compliant but sticks with traditional Vi behavior. 1976Added a few flags in 'cpoptions' to behave the POSIX way when wanted. The 1977$VIM_POSIX environment variable is checked to set the default. 1978 1979Appending to a register didn't insert a line break like Vi. Added the '>' 1980flag to 'cpoptions' for this. 1981 1982Using "I" in a line with only blanks appended to the line. This is not Vi 1983compatible. Added the 'H' flag in 'cpoptions' for this. 1984 1985When joining multiple lines the cursor would be at the last joint, but Vi 1986leaves it at the position where "J" would put it. Added the 'q' flag in 1987'cpoptions' for this. 1988 1989Autoindent didn't work for ":insert" and ":append". 1990 1991Using ":append" in an empty buffer kept the dummy line. Now it's deleted to 1992be Vi compatible. 1993 1994When reading commands from a file and stdout goes to a terminal, would still 1995request the xterm version. Vim can't read it, thus the output went to the 1996shell and caused trouble there. 1997 1998When redirecting to a register with an invalid name the redirection would 1999still be done (after an error message). Now reset "redir_reg". (Yegappan 2000Lakshmanan) 2001 2002It was not possible to use a NL after a backslash in Ex mode. This is 2003sometimes used to feed multiple lines to a shell command. 2004 2005When 'cmdheight' is set to 2 in .vimrc and the GUI uses the number of lines 2006from the terminal we actually get 3 lines for the cmdline in gvim. 2007 2008When setting $HOME allocated memory would leak. 2009 2010Win32: bold characters may sometimes write in another character cell. Use 2011unicodepdy[] as for UTF-8. (Taro Muraoka) 2012 2013":w fname" didn't work for files with 'buftype' set to "nofile". 2014 2015The method used to locate user commands for completion differed from when they 2016are executed. Ambiguous command names were not completed properly. 2017 2018Incremental search may cause a crash when there is a custom statusline that 2019indirectly invokes ":normal". 2020 2021Diff mode failed when $DIFF_OPTIONS was set in the environment. Unset it 2022before invoking "diff". 2023 2024Completion didn't work after ":argdo", ":windo" and ":bufdo". Also for ":set 2025&l:opt" and ":set &g:opt". (Peter Winters) 2026 2027When setting 'ttymouse' to "dec" in an xterm that supports the DEC mouse 2028locator it doesn't work. Now switch off the mouse before selecting another 2029mouse model. 2030 2031When the CursorHold event is triggered and the commands peek for typed 2032characters the typeahead buffer may be messed up, e.g., when a mouse-up event 2033is received. Avoid invoking the autocommands from the function waiting for a 2034character, let it put K_CURSORHOLD in the input buffer. 2035 2036Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like 2037":1argadd *". Same for ":argdelete" and ":argedit". 2038 2039Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US". 2040 2041Added backslashes before dashes in the vim.1 manual page to make them appear 2042as real dashes. (Pierre Habouzit) 2043 2044Where "gq" left the cursor depended on the value of 'formatprg'. Now "gq" 2045always leaves the cursor at the last line of the formatted text. 2046 2047When editing a compressed file, such as "changelog.Debian.gz" file, filetype 2048detection may try to check the contents of the file while it's still 2049compressed. Skip setting 'filetype' for compressed files until they have been 2050decompressed. Required for patterns that end in a "*". 2051 2052Starting with an argument "+cmd" or "-S script" causes the cursor to be moved 2053to the first line. That breaks a BufReadPost autocommand that uses g`". 2054Don't move the cursor if it's somewhere past the first line. 2055 2056"gg=G" while 'modifiable' is off was uninterruptible. 2057 2058When 'encoding' is "sjis" inserting CTRL-V u d800 a few times causes a crash. 2059Don't insert a DBCS character with a NUL second byte. 2060 2061In Insert mode CTRL-O <Home> didn't move the cursor. Made "ins_at_eol" global 2062and reset it in nv_home(). 2063 2064Wildcard expansion failed: ":w /tmp/$$.`echo test`". Don't put quotes around 2065spaces inside backticks. 2066 2067After this sequence of commands: Y V p gv: the wrong line is selected. Now 2068let "gv" select the text that was put, since the original text is deleted. 2069This should be the most useful thing to do. 2070 2071":sleep 100u" sleeps for 100 seconds, not 100 usec as one might expect. Give 2072an error message when the argument isn't recognized. 2073 2074In gui_mch_draw_string() in gui_w32.c "unibuflen" wasn't static, resulting in 2075reallocating the buffer every time. (Alexei Alexandrov) 2076 2077When using a Python "atexit" function it was not invoked when Vim exits. Now 2078call Py_Finalize() for that. (Ugo Di Girolamo) 2079This breaks the thread stuff though, fixed by Ugo. 2080 2081GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right 2082after startup, the window layout is messed up. (Michael Schaap) Added 2083win_new_shellsize() call in gui_init() to fix the topframe size. 2084 2085Trick to get ...MOUSE_NM not used when there are vertical splits. Now pass 2086column -1 for the left most window and add MOUSE_COLOFF for others. Limits 2087mouse column to 10000. 2088 2089searchpair() may hang when the end pattern has "\zs" at the end. Check that 2090we find the same position again and advance one character. 2091 2092When in diff mode and making a change that causes the "changed" highlighting 2093to disappear or reappear, it was still highlighted in another window. 2094 2095When a ":next" command fails because the user selects "Abort" at the ATTENTION 2096prompt the argument index was advanced anyway. 2097 2098When "~" is in 'iskeyword' the "gd" doesn't work, it's used for the previous 2099substitute pattern. Put "\V" in the pattern to avoid that. 2100 2101Use of sprintf() sometimes didn't check properly for buffer overflow. Also 2102when using smsg(). Included code for snprintf() to avoid having to do size 2103checks where invoking them 2104 2105":help \=<Tab>" didn't find "sub-replace-\=". Wild menu for help tags didn't 2106show backslashes. ":he :s\=" didn't work. 2107 2108When reading an errorfile "~/" in a file name was not expanded. 2109 2110GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or 2111removing it the window size may change. GTK sends us resize events when we 2112change the window size ourselves, but they may come at an unexpected moment. 2113Peek for a character to get any window resize events and fix 'columns' and 2114'lines' to undo this. 2115 2116When using the GTK plug mechanism, resizing and focus was not working 2117properly. (Neil Bird) 2118 2119After deleting files from the argument list a session file generated with 2120":mksession" may contain invalid ":next" commands. 2121 2122When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N 2123may cause the hit-enter prompt. Typing 'a then didn't result in the accented 2124character. Put the character typed at the prompt back in the typeahead buffer 2125so that mapping is done in the right mode. 2126 2127setbufvar() and setwinvar() did not give error messages. 2128 2129It was possible to set a variable with an illegal name, e.g. with setbufvar(). 2130It was possible to define a function with illegal name, e.t. ":func F{-1}()" 2131 2132CTRL-W F and "gf" didn't use the same method to get the file name. 2133 2134When reporting a conversion error the line number of the last error could be 2135given. Now report the first encountered error. 2136 2137When using ":e ++enc=name file" and iconv() was used for conversion an error 2138caused a fall-back to no conversion. Now replace a character with '?' and 2139continue. 2140 2141When opening a new buffer the local value of 'bomb' was not initialized from 2142the global value. 2143 2144Win32: When using the "Edit with Vim" entry the file name was limited to about 2145200 characters. 2146 2147When using command line completion for ":e *foo" and the file "+foo" exists 2148the resulting command ":e +foo" doesn't work. Now insert a backslash: ":e 2149\+foo". 2150 2151When the translation of "-- More --" was not 10 characters long the following 2152message would be in the wrong position. 2153 2154At the more-prompt the last character in the last line wasn't drawn. 2155 2156When deleting non-existing text while 'virtualedit' is set the '[ and '] marks 2157were not set. 2158 2159Win32: Could not use "**/" in 'path', it had to be "**\". 2160 2161The search pattern "\n" did not match at the end of the last line. 2162 2163Searching for a pattern backwards, starting on the NUL at the end of the line 2164and 'encoding' is "utf-8" would match the pattern just before it incorrectly. 2165Affected searchpair('/\*', '', '\*/'). 2166 2167For the Find/Replace dialog it was possible that not finding the text resulted 2168in an error message while redrawing, which cleared the syntax highlighting 2169while it was being used, resulting in a crash. Now don't clear syntax 2170highlighting, disable it with b_syn_error. 2171 2172Win32: Combining UTF-8 characters were drawn on the previous character. 2173Could be noticed with a Thai font. 2174 2175Output of ":function" could leave some of the typed text behind. (Yegappan 2176Lakshmanan) 2177 2178When the command line history has only a few lines the command line window 2179would be opened with these lines above the first window line. 2180 2181When using a command line window for search strings ":qa" would result in 2182searching for "qa" instead of quitting all windows. 2183 2184GUI: When scrolling with the scrollbar and there is a line that doesn't fit 2185redrawing may fail. Make sure w_skipcol is valid before redrawing. 2186 2187Limit the values of 'columns' and 'lines' to avoid an overflow in Rows * 2188Columns. Fixed bad effects when running out of memory (command line would be 2189reversed, ":qa!" resulted in ":!aq"). 2190 2191Motif: "gvim -iconic" opened the window anyway. (David Harrison) 2192 2193There is a tiny chance that a symlink gets created between checking for an 2194existing file and creating a file. Use the O_NOFOLLOW for open() if it's 2195available. 2196 2197In an empty line "ix<CTRL-O>0" moved the cursor to after the line instead of 2198sticking to the first column. 2199 2200When using ":wq" and a BufWriteCmd autocmd uses inputsecret() the text was 2201echoed anyway. Set terminal to raw mode in getcmdline(). 2202 2203Unix: ":w a;b~c" caused an error in expanding wildcards. 2204 2205When appending to a file with ":w >>fname" in a buffer without a name, causing 2206the buffer to use "fname", the modified flag was reset. 2207 2208When appending to the current file the "not edited" flag would be reset. 2209":w" would overwrite the file accidentally. 2210 2211Unix: When filtering text with an external command Vim would still read input, 2212causing text typed for the command (e.g., a password) to be eaten and echoed. 2213Don't read input when the terminal is in cooked mode. 2214 2215The Cygwin version of xxd used CR/LF line separators. (Corinna Vinschen) 2216 2217Unix: When filtering text through a shell command some resulting text may be 2218dropped. Now after detecting that the child has exited try reading some more 2219of its output. 2220 2221When inside input(), using "CTRL-R =" and the expression throws an exception 2222the command line was not abandoned but it wasn't used either. Now abandon 2223typing the command line. 2224 2225'delcombine' was also used in Visual and Select mode and for commands like 2226"cl". That was illogical and has been disabled. 2227 2228When recording while a CursorHold autocommand was defined special keys would 2229appear in the register. Now the CursorHold event is not triggered while 2230recording. 2231 2232Unix: the src/configure script used ${srcdir-.}, not all shells understand 2233that. Use ${srcdir:-.} instead. 2234 2235When editing file "a" which is a symlink to file "b" that doesn't exist, 2236writing file "a" to create "b" and then ":split b" resulted in two buffers on 2237the same file with two different swapfile names. Now set the inode in the 2238buffer when creating a new file. 2239 2240When 'esckeys' is not set don't send the xterm code to request the version 2241string, because it may cause trouble in Insert mode. 2242 2243When evaluating an expression for CTRL-R = on the command line it was possible 2244to call a function that opens a new window, resulting in errors for 2245incremental search, and many other nasty things were possible. Now use the 2246|textlock| to disallow changing the buffer or jumping to another window 2247to protect from unexpected behavior. Same for CTRL-\ e. 2248 2249"d(" deleted the character under the cursor, while the documentation specified 2250an exclusive motion. Vi also doesn't delete the character under the cursor. 2251 2252Shift-Insert in Insert mode could put the cursor before the last character 2253when it just fits in the window. In coladvance() don't stop at the window 2254edge when filling with spaces and when in Insert mode. In mswin.vim avoid 2255getting a beep from the "l" command. 2256 2257Win32 GUI: When Alt-F4 is used to close the window and Cancel is selected in 2258the dialog then Vim would insert <M-F4> in the text. Now it's ignored. 2259 2260When ":silent! {cmd}" caused the swap file dialog, which isn't displayed, 2261there would still be a hit-enter prompt. 2262 2263Requesting the termresponse (|t_RV|) early may cause problems with "-c" 2264arguments that invoke an external command or even "-c quit". Postpone it 2265until after executing "-c" arguments. 2266 2267When typing in Insert mode so that a new line is started, using CTRL-G u to 2268break undo and start a new change, then joining the lines with <BS> caused 2269undo info to be missing. Now reset the insertion start point. 2270 2271Syntax HL: When a region start match has a matchgroup and an offset that 2272happens to be after the end of the line then it continued in the next line and 2273stopped at the region end match, making the region continue after that. 2274Now check for the column being past the end of the line in syn_add_end_off(). 2275 2276When changing a file, setting 'swapfile' off and then on again, making another 2277change and killing Vim, then some blocks may be missing from the swapfile. 2278When 'swapfile' is switched back on mark all blocks in the swapfile as dirty. 2279Added mf_set_dirty(). 2280 2281Expanding wildcards in a command like ":e aap;<>!" didn't work. Put 2282backslashes before characters that are special to the shell. (Adri Verhoef) 2283 2284A CursorHold autocommand would cause a message to be cleared. Don't show the 2285special key for the event for 'showcmd'. 2286 2287When expanding a file name for a shell command, as in "!cmd foo<Tab>" or ":r 2288!cmd foo<Tab>" also escape characters that are special for the shell: 2289"!;&()<>". 2290 2291When the name of the buffer was set by a ":r fname" command |cpo-f| no 2292autocommands were triggered to notify about the change in the buffer list. 2293 2294In the quickfix buffer 'bufhidden' was set to "delete", which caused closing 2295the quickfix window to leave an unlisted "No Name" buffer behind every time. 2296 2297Win32: when using two screens of different size, setting 'lines' to a large 2298value didn't fill the whole screen. (SungHyun Nam) 2299 2300Win32 installer: The generated _vimrc contained an absolute path to diff.exe. 2301After upgrading it becomes invalid. Now use $VIMRUNTIME instead. 2302 2303The command line was cleared too often when 'showmode' was set and ":silent 2304normal vy" was used. Don't clear the command line unless the mode was 2305actually displayed. Added the "mode_displayed" variable. 2306 2307The "load session" toolbar item could not handle a space or other special 2308characters in v:this_session. 2309 2310":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2. 2311 2312In a multibyte file the foldmarker could be recognized in the trail byte. 2313(Taro Muraoka) 2314 2315Pasting with CTRL-V and menu didn't work properly when some commands are 2316mapped. Use ":normal!" instead of ":normal". (Tony Apuzzo) 2317 2318Crashed when expanding a file name argument in backticks. 2319 2320In some situations the menu and scrollbar didn't work, when the value contains 2321a CSI byte. (Yukihiro Nakadaira) 2322 2323GTK GUI: When drawing the balloon focus changes and we might get a key release 2324event that removed the balloon again. Ignore the key release event. 2325 2326'titleold' was included in ":mkexrc" and ":mksession" files. 2327 2328":set background&" didn't use the same logic as was used when starting up. 2329 2330When "umask" is set such that nothing is writable then the viminfo file would 2331be written without write permission. (Julian Bridle) 2332 2333Motif: In diff mode dragging one scrollbar didn't update the scrollbar of the 2334other diff'ed window. 2335 2336When editing in an xterm with a different number of colors than expected the 2337screen would be cleared and redrawn, causing the message about the edited file 2338to be cleared. Now set "keep_msg" to redraw the last message. 2339 2340For a color terminal: When the Normal HL uses bold, possibly to make the color 2341lighter, and another HL group specifies a color it might become light as well. 2342Now reset bold if a HL group doesn't specify bold itself. 2343 2344When using 256 color xterm the color 255 would show up as color 0. Use a 2345short instead of a char to store the color number. 2346 2347ml_get errors when searching for "\n\zs" in an empty file. 2348 2349When selecting a block and using "$" to select until the end of every line and 2350not highlighting the character under the cursor the first character of the 2351block could be unhighlighted. 2352 2353When counting words for the Visual block area and using "$" to select until 2354the end of every line only up to the length of the last line was counted. 2355 2356"dip" in trailing empty lines left one empty line behind. 2357 2358The script ID was only remembered globally for each option. When a buffer- or 2359window-local option was set the same "last set" location was changed for all 2360buffers and windows. Now remember the script ID for each local option 2361separately. 2362 2363GUI: The "Replace All" button didn't handle backslashes in the replacement in 2364the same way as "Replace". Escape backslashes so that they are taken 2365literally. 2366 2367When using Select mode from Insert mode and typing a key, causing lines to be 2368deleted and a message displayed, delayed the effect of inserting the key. 2369Now overwrite the message without delay. 2370 2371When 'whichwrap' includes "l" then "dl" and "yl" on a single letter line 2372worked differently. Now recognize all operators when using "l" at the end of 2373a line. 2374 2375GTK GUI: when the font selector returned a font name with a comma in it then 2376it would be handled like two font names. Now put a backslash before the 2377comma. 2378 2379MS-DOS, Win32: When 'encoding' defaults to "latin1" then the value for 2380'iskeyword' was still for CPxxx. And when 'nocompatible' was set 'isprint' 2381would also be the wrong value. 2382 2383When a command was defined not to take arguments and no '|' no warning message 2384would be given for using a '|'. Also with ":loadkeymap". 2385 2386Motif: When using a fontset and 'encoding' is "utf-8" and sizeof(wchar_t) != 2387sizeof(XChar2b) then display was wrong. (Yukihiro Nakadaira) 2388 2389":all" always set the current window to the first window, even when it 2390contains a buffer that is not in the argument list (can't be closed because it 2391is modified). Now go to the window that has the first item of the argument 2392list. 2393 2394GUI: To avoid left-over pixels from bold text all characters after a character 2395with special attributes were redrawn. Now only do this for characters that 2396actually are bold. Speeds up displaying considerably. 2397 2398When only highlighting changes and the text is scrolled at the same time 2399everything is redrawn instead of using a scroll and updating the changed text. 2400E.g., when using ":match" to highlight a paren that the cursor landed on. 2401Added SOME_VALID: Redraw the whole window but also try to scroll to minimize 2402redrawing. 2403 2404Win32: When using Korean IME making it active didn't work properly. (Moon, 2405Yu-sung, 2005 March 21) 2406 2407Ruby interface: when inserting/deleting lines display wasn't updated. (Ryan 2408Paul) 2409 2410--- fixes since Vim 7.0b --- 2411 2412Getting the GCC version in configure didn't work with Solaris sed. First 2413strip any "darwin." and then get the version number. 2414 2415The "autoload" directory was missing from the self-installing executable for 2416MS-Windows. 2417 2418The MS-Windows install program would find "vimtutor.bat" in the install 2419directory. After changing to "c:" also change to "\" to avoid looking in the 2420install directory. 2421 2422To make the 16 bit DOS version compile exclude not used highlight 2423initializations and build a tiny instead of small version. 2424 2425finddir() and findfile() accept a negative count and return a List then. 2426 2427The Python indent file contained a few debugging statements, removed. 2428 2429Expanding {} for a function name, resulting in a name starting with "s:" was 2430not handled correctly. 2431 2432Spelling: renamed COMPOUNDMAX to COMPOUNDWORDMAX. Added several items to be 2433able to handle the new Hungarian dictionary. 2434 2435Mac: Default to building for the current platform only, that is much faster 2436than building a universal binary. Also, using Perl/Python/etc. only works for 2437the current platform. 2438 2439The time on undo messages disappeared for someone. Using %T for strftime() 2440apparently doesn't work everywhere. Use %H:%M:%S instead. 2441 2442Typing BS at the "z=" prompt removed the prompt. 2443 2444--- fixes and changes since Vim 7.0c --- 2445 2446When jumping to another tab page the Vim window size was always set, even when 2447nothing in the layout changed. 2448 2449Win32 GUI tab pages line wasn't always enabled. Do a proper check for the 2450compiler version. 2451 2452Win32: When switching between tab pages the Vim window was moved when part of 2453it was outside of the screen. Now only do that in the direction of a size 2454change. 2455 2456Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan) 2457 2458Mac: Added document icons. (Benji Fisher) 2459 2460Insert mode completion: Using Enter to accept the current match causes 2461confusion. Use CTRL-Y instead. Also, use CTRL-E to go back to the typed 2462text. 2463 2464GUI: When there are left and right scrollbars, ":tabedit" kept them instead of 2465using the one that isn't needed. 2466 2467Using "gP" to replace al the text could leave the cursor below the last line, 2468causing ml_get errors. 2469 2470When 'cursorline' is set don't use the highlighting when Visual mode is 2471active, otherwise it's difficult to see the selected area. 2472 2473The matchparen plugin restricts the search to 100 lines, to avoid a long delay 2474when there are closed folds. 2475 2476Sometimes using CTRL-X s to list spelling suggestions used text from another 2477line. 2478 2479Win32: Set the default for 'isprint' back to the wrong default "@,~-255", 2480because many people use Windows-1252 while 'encoding' is "latin1". 2481 2482GTK: Added a workaround for gvim crashing when used over an untrusted ssh 2483link, caused by GTK doing something nasty. (Ed Catmur) 2484 2485Win32: The font used for the tab page labels is too big. Use the system menu 2486font. (George Reilly) 2487 2488Win32: Adjusting the window position and size to keep it on the screen didn't 2489work properly when the taskbar is on the left or top of the screen. 2490 2491The installman.sh and installml.sh scripts use ${10}, that didn't work with 2492old shells. And use "test -f" instead of "test -e". 2493 2494Win32: When 'encoding' was set in the vimrc then a directory argument for diff 2495mode didn't work. 2496 2497GUI: at the inputlist() prompt the cursorshape was adjusted as if the windows 2498were still at their old position. 2499 2500The parenmatch plugin didn't remember the highlighting per window. 2501 2502Using ":bd" for a buffer that's the current window in another tab page caused 2503a crash. 2504 2505For a new tab page the 'scroll' option wasn't set to a good default. 2506 2507Using an end offset for a search "/pat/e" didn't work properly for multibyte 2508text. (Yukihiro Nakadaira) 2509 2510":s/\n/,/" doubled the text when used on the last line. 2511 2512When "search" is in 'foldopen' "[s" and "]s" now open folds. 2513 2514When using a numbered function "dict" can be omitted, but "self" didn't work 2515then. Always add FC_DICT to the function flags when it's part of a 2516dictionary. 2517 2518When "--remote-tab" executes locally it left an empty tab page. 2519 2520"gvim -u NONE", ":set cursorcolumn", "C" in the second line didn't update 2521text. Do update further lines even though the "$" is displayed. 2522 2523VMS: Support GTK better, also enable +clientserver. (Zoltan Arpadffy) 2524 2525When highlighting of statusline or tabline is changed there was no redraw to 2526show the effect. 2527 2528Mac: Added "CFBundleIdentifier" to infplist.xml. 2529 2530Added tabpage-local variables t:var. 2531 2532Win32: Added double-click in tab pages line creates new tab. (Yegappan 2533Lakshmanan) 2534 2535Motif: Added GUI tab pages line. (Yegappan Lakshmanan) 2536 2537Fixed crash when 'lines' was set to 1000 in a modeline. 2538 2539When init_spellfile() finds a writable directory in 'runtimepath' but it 2540doesn't contain a "spell" directory, create one. 2541 2542Win32: executable() also finds "xxd" in the directory where Vim was started, 2543but "!xxd" doesn't work. Append the Vim starting directory to $PATH. 2544 2545The tab page labels are shortened, directory names are reduced to a single 2546letter by default. Added the pathshorten() function to allow a user to do the 2547same. 2548 2549":saveas" now resets 'readonly' if the file was successfully written. 2550 2551Set $MYVIMRC file to the first found .vimrc file. 2552Set $MYGVIMRC file to the first found .gvimrc file. 2553Added menu item "Startup Settings" that edits the $MYVIMRC file 2554 2555Added matcharg(). 2556 2557Error message E745 appeared twice. Renamed one to E786. 2558 2559Fixed crash when using "au BufRead * Sexplore" and doing ":help". Was wiping 2560out a buffer that's still in a window. 2561 2562":hardcopy" resulted in an error message when 'encoding' is "utf-8" and 2563'printencoding' is empty. Now it assumes latin1. (Mike Williams) 2564 2565The check for the toolbar feature for Motif, depending on certain included 2566files, wasn't detailed enough, causing building to fail in gui_xmebw.c. 2567 2568Using CTRL-E in Insert mode completion after CTRL-P inserted the first match 2569instead of the original text. 2570 2571When displaying a UTF-8 character with a zero lower byte Vim might think the 2572previous character is double-wide. 2573 2574The "nbsp" item of 'listchars' didn't work when 'encoding' was utf-8. 2575 2576Motif: when Xm/xpm.h is missing gui_xmebw.c would not compile. 2577HAVE_XM_UNHIGHLIGHTT_H was missing a T. 2578 2579Mac: Moved the .icns files into src/os_mac_rsrc, so that they can all be 2580copied at once. Adjusted the Info.plist file for three icons. 2581 2582When Visual mode is active while switching to another tabpage could get ml_get 2583errors. 2584 2585When 'list' is set, 'nowrap' the $ in the first column caused 'cursorcolumn' 2586to move to the right. 2587 2588When a line wraps, 'cursorcolumn' was never displayed past the end of the 2589line. 2590 2591'autochdir' was only available when compiled with NetBeans and GUI. Now it's 2592a separate feature, also available in the "big" version. 2593 2594Added CTRL-W gf: open file under cursor in new tab page. 2595 2596When using the menu in the tab pages line, "New Tab" opens the new tab before 2597where the click was. Beyond the labels the new tab appears at the end instead 2598of after the current tab page. 2599 2600Inside a mapping with an expression getchar() could not be used. 2601 2602When vgetc is used recursively vgetc_busy protects it from being used 2603recursively. But after a ":normal" command the protection was reset. 2604 2605":s/a/b/n" didn't work when 'modifiable' was off. 2606 2607When $VIMRUNTIME includes a multibyte character then rgb.txt could not be 2608found. (Yukihiro Nakadaira) 2609 2610":mkspell" didn't work correctly for non-ASCII affix flags when conversion is 2611needed on the spell file. 2612 2613glob('/dir/\$ABC/*') didn't work. 2614 2615When using several tab pages and changing 'cmdheight' the display could become 2616messed up. Now store the value of 'cmdheight' separately for each tab page. 2617 2618The user of the Enter key while the popup menu is visible was still confusing. 2619Now use Enter to select the match after using a cursor key. 2620 2621Added "usetab" to 'switchbuf'. 2622 2623 2624--- fixes and changes since Vim 7.0d --- 2625 2626Added CTRL-W T: move a window to a new tab page. 2627 2628Using CTRL-X s in Insert mode to complete spelling suggestions and using BS 2629deleted characters before the bad word. 2630 2631A few small fixes for the VMS makefile. (Zoltan Arpadffy) 2632 2633With a window of 91 lines 45 cols, ":vsp" scrolled the window. Copy w_wrow 2634when splitting a window and skip setting the height when it's already at the 2635right value. 2636 2637Using <silent> in a mapping with a shell command and the GUI caused redraw 2638to use wrong attributes. 2639 2640Win32: Using MSVC 4.1 for install.exe resulted in the start menu items to be 2641created in the administrator directory instead of "All Users". Define the 2642CSIDL_ items if they are missing. 2643 2644Motif: The GUI tabline did not use the space above the right scrollbar. Work 2645around a bug in the Motif library. (Yegappan Lakshmanan) 2646 2647The extra files for XML Omni completion are now also installed. 2648|xml-omni-datafile| 2649 2650GTK GUI: when 'm' is missing from 'guioptions' during startup and pressing 2651<F10> GTK produced error messages. Now do create the menu but disable it just 2652after the first gui_mch_update(). 2653 2654":mkspell" doesn't work well with the Hungarian dictionary from the Hunspell 2655project. Back to the Myspell dictionary. 2656 2657In help files hide the | used around tags. 2658 2659Renamed pycomplete to pythoncomplete. 2660 2661Added "tabpages" to 'sessionoptions'. 2662 2663When 'guitablabel' is set the effect wasn't visible right away. 2664 2665Fixed a few 'cindent' errors. 2666 2667When completing menu names, e.g., after ":emenu", don't sort the entries but 2668keep them in the original order. 2669 2670Fixed a crash when editing a directory in diff mode. Don't trigger 2671autocommands when executing the diff command. 2672 2673Getting a keystroke could get stuck if 'encoding' is a multibyte encoding and 2674typing a special key. 2675 2676When 'foldignore' is set the folds were not updated right away. 2677 2678When a list is indexed with [a : b] and b was greater than the length an error 2679message was given. Now silently truncate the result. 2680 2681When using BS during Insert mode completion go back to the original text, so 2682that CTRL-N selects the first matching entry. 2683 2684Added the 'M' flag to 'cinoptions'. 2685 2686Win32: Make the "gvim --help" window appear in the middle of the screen 2687instead of at an arbitrary position. (Randall W. Morris) 2688 2689Added gettabwinvar() and settabwinvar(). 2690 2691Command line completion: pressing <Tab> after ":e /usr/*" expands the whole 2692tree, because it becomes ":e /usr/**". Don't add a star if there already is 2693one. 2694 2695Added grey10 to grey90 to all GUIs, so that they can all be used for 2696initializing highlighting. Use grey40 for CursorColumn and CursorLine when 2697'background' is "dark". 2698 2699When reading a file and using iconv for conversion, an incomplete byte 2700sequence at the end caused problems. (Yukihiro Nakadaira) 2701 2702 2703--- fixes and changes since Vim 7.0e --- 2704 2705Default color for MatchParen when 'background' is "dark" is now DarkCyan. 2706 2707":syn off" had to be used twice in a file that sets 'syntax' in a modeline. 2708(Michael Geddes) 2709 2710When using ":vsp" or ":sp" the available space wasn't used equally between 2711windows. (Servatius Brandt) 2712 2713Expanding <cWORD> on a trailing blank resulted in the first word in the line 2714if 'encoding' is a multibyte encoding. 2715 2716Spell checking: spellbadword() didn't see a missing capital in the first word 2717of a line. Popup menu now only suggest the capitalized word when appropriate. 2718 2719When using whole line completion CTRL-L moves through the matches but it 2720didn't work when at the original text. 2721 2722When completion finds the longest match, don't go to the first match but stick 2723at the original text, so that CTRL-N selects the first one. 2724 2725Recognize "zsh-beta" like "zsh" for setting the 'shellpipe' default. (James 2726Vega) 2727 2728When using ":map <expr>" and the expression results in something with a 2729special byte (NUL or CSI) then it didn't work properly. Now escape special 2730bytes. 2731 2732The default Visual highlighting for a color xterm with 8 colors was a magenta 2733background, which made magenta text disappear. Now use reverse in this 2734specific situation. 2735 2736After completing the longest match "." didn't insert the same text. Repeating 2737also didn't work correctly for multibyte text. 2738 2739When using Insert mode completion and BS the whole word that was completed 2740would result in all possible matches. Now stop completion. Also fixes that 2741for spell completion the previous word was deleted. 2742 2743GTK: When 'encoding' is "latin1" and using non-ASCII characters in a file name 2744the tab page label was wrong and an error message would be given. 2745 2746The taglist() function could hang on a tags line with a non-ASCII character. 2747 2748Win32: When 'encoding' differs from the system encoding tab page labels with 2749non-ASCII characters looked wrong. (Yegappan Lakshmanan) 2750 2751Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure 2752check, disable GUI tabline when it's missing. 2753 2754Mac: When compiled without multibyte feature the clipboard didn't work. 2755 2756It was possible to switch to another tab page when the cmdline window is open. 2757 2758Completion could hang when 'lines' is 6 and a preview window was opened. 2759 2760Added CTRL-W gF: open file under cursor in new tab page and jump to the line 2761number following the file name. 2762Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan). 2763 2764Added "throw" to 'debug' option: throw an exception for error messages even 2765when they would otherwise be ignored. 2766 2767When 'keymap' is set and a line contains an invalid entry could get a "No 2768mapping found" warning instead of a proper error message. 2769 2770Motif: default to using XpmAttributes instead of XpmAttributes_21. 2771 2772A few more changes for 64 bit MS-Windows. (George Reilly) 2773 2774Got ml_get errors when doing "o" and selecting in other window where there are 2775less lines shorter than the cursor position in the other window. ins_mouse() 2776was using position in wrong window. 2777 2778Win32 GUI: Crash when giving a lot of messages during startup. Allocate twice 2779as much memory for the dialog template. 2780 2781Fixed a few leaks and wrong pointer use reported by coverity. 2782 2783When showing menus the mode character was sometimes wrong. 2784 2785Added feedkeys(). (Yakov Lerner) 2786 2787Made matchlist() always return all submatches. 2788 2789Moved triggering QuickFixCmdPost to before jumping to the first location. 2790 2791Mac: Added the 'macatsui' option as a temporary work around for text drawing 2792problems. 2793 2794Line completion on "/**" gave error messages when scanning an unloaded buffer. 2795 2796--- fixes and changes since Vim 7.0f --- 2797 2798Win32: The height of the tab page labels is now adjusted to the font height. 2799(Yegappan Lakshmanan) 2800 2801Win32: selecting the tab label was off by one. (Yegappan Lakshmanan) 2802 2803Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan) 2804 2805When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and 2806the file was not converted from latin1 to utf-8. Now retry with latin1 if 2807reading the file as utf-8 results in illegal bytes. 2808 2809Escape the argument of feedkeys() before putting it in the typeahead buffer. 2810(Yukihiro Nakadaira) 2811 2812Added the v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira) 2813 2814With 8 colors Search highlighting combined with Statement highlighted text 2815made the text disappear. 2816 2817VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy) 2818 2819When 'virtualedit' includes "onemore", stopping Visual selection would still 2820move the cursor left. 2821 2822Prevent that using CTRL-R = in Insert mode can start Visual mode. 2823 2824Fixed a crash that occurred when in Insert mode with completion active and a 2825mapping caused edit() to be called recursively. 2826 2827When using CTRL-O in Insert mode just after the last character while 2828'virtualedit' is "all", then typing CR moved the last character to the next 2829line. Call coladvance() before starting the new line. 2830 2831When using |:shell| ignore clicks on the tab page labels. Also when using the 2832command line window. 2833 2834When 'eventignore' is "all" then adding more to ignoring some events, e.g., 2835for ":vimgrep", would actually trigger more events. 2836 2837Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname" 2838didn't find it. When looking for a server name that doesn't end in a digit 2839and it is not found then use another server with that name and a number (just 2840like on Unix). 2841 2842When using "double" in 'spellsuggest' when the language doesn't support sound 2843folding resulted in too many suggestions. 2844 2845Win32: Dropping a shortcut on the Vim icon didn't edit the referred file like 2846editing it in another way would. Use fname_expand() in buf_set_name() instead 2847of simply make the file name a full path. 2848 2849Using feedkeys() could cause Vim to hang. 2850 2851When closing another tab page from the tabline menu in Insert mode the tabline 2852was not updated right away. 2853 2854The syntax menu didn't work in compatible mode. 2855 2856After using ":tag id" twice with the same "id", ":ts" and then ":pop" a ":ts" 2857reported no matching tag. Clear the cached tag name. 2858 2859In Insert mode the matchparen plugin highlighted the wrong paren when there is 2860a string just next to a paren. 2861 2862GTK: After opening a new tab page the text was sometimes not drawn correctly. 2863Flush output and catch up with events when updating the tab page labels. 2864 2865In the GUI, using CTRL-W q to close the last window of a tab page could cause 2866a crash. 2867 2868GTK: The tab pages line menu was not converted from 'encoding' to utf-8. 2869 2870Typing a multibyte character or a special key at the hit-enter prompt did not 2871work. 2872 2873When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the 2874cursor left when it was after the end of the line, even though it's allowed to 2875be there. 2876 2877Added test for using tab pages. 2878 2879towupper() and towlower() were not used, because of checking for 2880__STDC__ISO_10646__ instead of __STDC_ISO_10646__. (sertacyildiz) 2881 2882For ":map <expr>" forbid changing the text, jumping to another buffer and 2883using ":normal" to avoid nasty side effects. 2884 2885--- fixes and changes since Vim 7.0g --- 2886 2887Compilation error on HP-UX, use of "dlerr" must be inside a #ifdef. 2888(Gary Johnson) 2889 2890Report +reltime feature in ":version" output. 2891 2892The tar and zip plugins detect failure to get the contents of the archive and 2893edit the file as-is. 2894 2895When the result of 'guitablabel' is empty fall back to the default label. 2896 2897Fixed crash when using ":insert" in a while loop and missing "endwhile". 2898 2899"gt" and other commands could move to another window when |textlock| active 2900and when the command line window was open. 2901 2902Spell checking a file with syntax highlighting and a bad word at the end of 2903the line is ignored could make "]s" hang. 2904 2905Mac: inputdialog() didn't work when compiled with big features. 2906 2907Interrupting ":vimgrep" while it is busy loading a file left a modified and 2908hidden buffer behind. Use enter_cleanup() and leave_cleanup() around 2909wipe_buffer(). 2910 2911When making 'keymap' empty the b:keymap_name variable wasn't deleted. 2912 2913Using CTRL-N that searches a long time, pressing space to interrupt the 2914searching and accept the first match, the popup menu was still displayed 2915briefly. 2916 2917When setting the Vim window height with -geometry the 'window' option could be 2918at a value that makes CTRL-F behave differently. 2919 2920When opening a quickfix window in two tabs they used different buffers, 2921causing redrawing problems later. Now use the same buffer for all quickfix 2922windows. (Yegappan Lakshmanan) 2923 2924When 'mousefocus' is set moving the mouse to the text tab pages line would 2925move focus to the first window. Also, the mouse pointer would jump to the 2926active window. 2927 2928In a session file, when an empty buffer is wiped out, do this silently. 2929 2930When one window has the cursor on the last line and another window is resized 2931to make that window smaller, the cursor line could go below the displayed 2932lines. In win_new_height() subtract one from the available space. 2933Also avoid that using "~" lines makes the window scroll down. 2934 2935Mac: When sourcing the "macmap.vim" script and then finding a .vimrc file the 2936'cpo' option isn't set properly, because it was already set and restored. 2937Added the <special> argument to ":map", so that 'cpo' doesn't need to be 2938changed to be able to use <> notation. Also do this for ":menu" for 2939consistency. 2940 2941When using "/encoding=abc" in a spell word list, only "bc" was used. 2942 2943When 'encoding' and 'printencoding' were both "utf-8" then ":hardcopy" didn't 2944work. (Mike Williams) 2945 2946Mac: When building with "--disable-gui" the install directory would still be 2947"/Applications" and Vim.app would be installed. Now install in /usr/local as 2948usual for a console application. 2949 2950GUI: when doing completion and there is one match and still searching for 2951another, the cursor was displayed at the end of the line instead of after the 2952match. Now show the cursor after the match while still searching for matches. 2953 2954GUI: The mouse shape changed on the statusline even when 'mouse' was empty and 2955they can't be dragged. 2956 2957GTK2: Selecting a button in the confirm() dialog with Tab or cursor keys and 2958hitting Enter didn't select that button. Removed GTK 1 specific code. (Neil 2959Bird) 2960 2961When evaluating 'balloonexpr' takes a long time it could be called 2962recursively, which could cause a crash. 2963 2964exists() could not be used to detect whether ":2match" is supported. Added a 2965check for it specifically. 2966 2967GTK1: Tab page labels didn't work. (Yegappan Lakshmanan) 2968 2969Insert mode completion: When finding matches use 'ignorecase', but when adding 2970matches to the list don't use it, so that all words with different case are 2971added, "word", "Word" and "WORD". 2972 2973When 'cursorline' and 'hlsearch' are set and the search pattern is "x\n" 2974the rest of the line was highlighted as a match. 2975 2976Cursor moved while evaluating 'balloonexpr' that invokes ":isearch" and 2977redirects the output. Don't move the cursor to the command line if msg_silent 2978is set. 2979 2980exists() ignored text after a function name and option name, which could 2981result in false positives. 2982 2983exists() ignored characters after the recognized word, which can be wrong when 2984using a name with non-keyword characters. Specifically, these calls no longer 2985allow characters after the name: exists('*funcname') exists('*funcname(...') 2986exists('&option') exists(':cmd') exists('g:name') exists('g:name[n]') 2987exists('g:name.n') 2988 2989Trigger the TabEnter autocommand only after entering the current window of the 2990tab page, otherwise the commands are executed with an invalid current window. 2991 2992Win32: When using two monitors and Vim is on the second monitor, changing the 2993width of the Vim window could make it jump to the first monitor. 2994 2995When scrolling back at the more prompt and the quitting a line of text would 2996be left behind when 'cmdheight' is 2 or more. 2997 2998Fixed a few things for Insert mode completion, especially when typing BS, 2999CTRL-N or a printable character while still searching for matches. 3000 3001 3002============================================================================== 3003VERSION 7.1 *version-7.1* *version7.1* 3004 3005This section is about improvements made between version 7.0 and 7.1. 3006 3007This is a bug-fix release, there are no fancy new features. 3008 3009 3010Changed *changed-7.1* 3011------- 3012 3013Added setting 'mouse' in vimrc_example.vim. 3014 3015When building with MZscheme also look for include files in the "plt" 3016subdirectory. That's where they are for FreeBSD. 3017 3018The Ruby interface module is now called "Vim" instead of "VIM". But "VIM" is 3019an alias, so it's backwards compatible. (Tim Pope) 3020 3021 3022Added *added-7.1* 3023----- 3024 3025New syntax files: 3026 /var/log/messages (Yakov Lerner) 3027 Autohotkey (Nikolai Weibull) 3028 AutoIt v3 (Jared Breland) 3029 Bazaar commit file "bzr". (Dmitry Vasiliev) 3030 Cdrdao TOC (Nikolai Weibull) 3031 Cmusrc (Nikolai Weibull) 3032 Conary recipe (rPath Inc) 3033 Framescript (Nikolai Weibull) 3034 FreeBasic (Mark Manning) 3035 Hamster (David Fishburn) 3036 IBasic (Mark Manning) 3037 Initng (Elan Ruusamae) 3038 Ldapconf (Nikolai Weibull) 3039 Litestep (Nikolai Weibull) 3040 Privoxy actions file (Doug Kearns) 3041 Streaming Descriptors "sd" (Puria Nafisi Azizi) 3042 3043New tutor files: 3044 Czech (Lubos Turek) 3045 Hungarian (Arpad Horvath) 3046 Turkish (Serkan kkk) 3047 utf-8 version of Greek tutor. 3048 utf-8 version of Russian tutor. 3049 utf-8 version of Slowak tutor. 3050 3051New filetype plugins: 3052 Bst (Tim Pope) 3053 Cobol (Tim Pope) 3054 Fvwm (Gautam Iyer) 3055 Hamster (David Fishburn) 3056 Django HTML template (Dave Hodder) 3057 3058New indent files: 3059 Bst (Tim Pope) 3060 Cobol (Tim Pope) 3061 Hamster (David Fishburn) 3062 Django HTML template (Dave Hodder) 3063 Javascript 3064 JSP (David Fishburn) 3065 3066New keymap files: 3067 Bulgarian (Boyko Bantchev) 3068 Mongolian (Natsagdorj Shagdar) 3069 Thaana (Ibrahim Fayaz) 3070 Vietnamese (Samuel Thibault) 3071 3072Other new runtime files: 3073 Ada support files. (Neil Bird, Martin Krischik) 3074 Slovenian menu translations (Mojca Miklavec) 3075 Mono C# compiler plugin (Jarek Sobiecki) 3076 3077 3078Fixed *fixed-7.1* 3079----- 3080 3081Could not build the Win32s version. Added a few structure definitions in 3082src/gui_w32.c 3083 3084 3085Patch 7.0.001 3086Problem: ":set spellsuggest+=10" does not work. (Suresh Govindachar) 3087Solution: Add P_COMMA to the 'spellsuggest' flags. 3088Files: src/option.c 3089 3090Patch 7.0.002 3091Problem: C omni completion has a problem with tags files with a path 3092 containing "#" or "%". 3093Solution: Escape these characters. (Sebastian Baberowski) 3094Files: runtime/autoload/ccomplete.vim 3095 3096Patch 7.0.003 3097Problem: GUI: clicking in the lower part of a label in the tab pages line 3098 while 'mousefocus' is set may warp the mouse pointer. (Robert 3099 Webb) 3100Solution: Check for a negative mouse position. 3101Files: src/gui.c 3102 3103Patch 7.0.004 3104Problem: Compiler warning for debug_saved used before set. (Todd Blumer) 3105Solution: Remove the "else" for calling save_dbg_stuff(). 3106Files: src/ex_docmd.c 3107 3108Patch 7.0.005 (extra) 3109Problem: Win32: The installer doesn't remove the "autoload" and "spell" 3110 directories. (David Fishburn) 3111Solution: Add the directories to the list to be removed. 3112Files: nsis/gvim.nsi 3113 3114Patch 7.0.006 3115Problem: Mac: "make shadow" doesn't make a link for infplist.xml. (Axel 3116 Kielhorn) 3117Solution: Make the link. 3118Files: src/Makefile 3119 3120Patch 7.0.007 3121Problem: AIX: compiling fails for message.c. (Ruediger Hornig) 3122Solution: Move the #if outside of memchr(). 3123Files: src/message.c 3124 3125Patch 7.0.008 3126Problem: Can't call a function that uses both <SID> and {expr}. (Thomas) 3127Solution: Check both the expanded and unexpanded name for <SID>. 3128Files: src/eval.c 3129 3130Patch 7.0.009 3131Problem: ml_get errors with both 'sidescroll' and 'spell' set. 3132Solution: Use ml_get_buf() instead of ml_get(), get the line from the right 3133 buffer, not the current one. 3134Files: src/spell.c 3135 3136Patch 7.0.010 3137Problem: The spellfile plugin required typing login name and password. 3138Solution: Use "anonymous" and "vim7user" by default. No need to setup a 3139 .netrc file. 3140Files: runtime/autoload/spellfile.vim 3141 3142Patch 7.0.011 3143Problem: Can't compile without the folding and with the eval feature. 3144Solution: Add an #ifdef. (Vallimar) 3145Files: src/option.c 3146 3147Patch 7.0.012 3148Problem: Using the matchparen plugin, moving the cursor in Insert mode to a 3149 shorter line that ends in a brace, changes the preferred column 3150Solution: Use winsaveview()/winrestview() instead of getpos()/setpos(). 3151Files: runtime/plugin/matchparen.vim 3152 3153Patch 7.0.013 3154Problem: Insert mode completion: using CTRL-L to add an extra character 3155 also deselects the current match, making it impossible to use 3156 CTRL-L a second time. 3157Solution: Keep the current match. Also make CTRL-L work at the original 3158 text, using the first displayed match. 3159Files: src/edit.c 3160 3161Patch 7.0.014 3162Problem: Compiling gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe) 3163Solution: Disable some code for Motif 1.2 and older. 3164Files: src/gui_xmebw.c 3165 3166Patch 7.0.015 3167Problem: Athena: compilation problems with modern compiler. 3168Solution: Avoid type casts for lvalue. (Alexey Froloff) 3169Files: src/gui_at_fs.c 3170 3171Patch 7.0.016 3172Problem: Printing doesn't work for "dec-mcs" encoding. 3173Solution: Add "dec-mcs", "mac-roman" and "hp-roman8" to the list of 3174 recognized 8-bit encodings. (Mike Williams) 3175Files: src/mbyte.c 3176 3177Patch 7.0.017 (after 7.0.014) 3178Problem: Linking gui_xmebw.c fails on Dec Alpha Tru64. (Rolfe) 3179Solution: Adjust defines for Motif 1.2 and older. 3180Files: src/gui_xmebw.c 3181 3182Patch 7.0.018 3183Problem: VMS: plugins are not loaded on startup. 3184Solution: Remove "**" from the path. (Zoltan Arpadffy) 3185Files: src/main.c 3186 3187Patch 7.0.019 3188Problem: Repeating "VjA789" may cause a crash. (James Vega) 3189Solution: Check the cursor column after moving it to another line. 3190Files: src/ops.c 3191 3192Patch 7.0.020 3193Problem: Crash when using 'mousefocus'. (William Fulton) 3194Solution: Make buffer for mouse coordinates 2 bytes longer. (Juergen Weigert) 3195Files: src/gui.c 3196 3197Patch 7.0.021 3198Problem: Crash when using "\\[" and "\\]" in 'errorformat'. (Marc Weber) 3199Solution: Check for valid submatches after matching the pattern. 3200Files: src/quickfix.c 3201 3202Patch 7.0.022 3203Problem: Using buffer.append() in Ruby may append the line to the wrong 3204 buffer. (Alex Norman) 3205Solution: Properly switch to the buffer to do the appending. Also for 3206 buffer.delete() and setting a buffer line. 3207Files: src/if_ruby.c 3208 3209Patch 7.0.023 3210Problem: Crash when doing spell completion in an empty line and pressing 3211 CTRL-E. 3212Solution: Check for a zero pointer. (James Vega) 3213 Also handle a situation without a matching pattern better, report 3214 "No matches" instead of remaining in undefined CTRL-X mode. And 3215 get out of CTRL-X mode when typing a letter. 3216Files: src/edit.c 3217 3218Patch 7.0.024 3219Problem: It is possible to set arbitrary "v:" variables. 3220Solution: Disallow setting "v:" variables that are not predefined. 3221Files: src/eval.c 3222 3223Patch 7.0.025 3224Problem: Crash when removing an element of a:000. (Nikolai Weibull) 3225Solution: Mark the a:000 list with VAR_FIXED. 3226Files: src/eval.c 3227 3228Patch 7.0.026 3229Problem: Using libcall() may show an old error. 3230Solution: Invoke dlerror() to clear a previous error. (Yukihiro Nakadaira) 3231Files: src/os_unix.c 3232 3233Patch 7.0.027 (extra) 3234Problem: Win32: When compiled with SNIFF gvim may hang on exit. 3235Solution: Translate and dispatch the WM_USER message. (Mathias Michaelis) 3236Files: src/gui_w48.c 3237 3238Patch 7.0.028 (extra) 3239Problem: OS/2: Vim doesn't compile with gcc 3.2.1. 3240Solution: Add argument to after_pathsep(), don't define vim_handle_signal(), 3241 define HAVE_STDARG_H. (David Sanders) 3242Files: src/os_unix.c, src/vim.h, src/os_os2_cfg.h 3243 3244Patch 7.0.029 3245Problem: getchar() may not position the cursor after a space. 3246Solution: Position the cursor explicitly. 3247Files: src/eval.c 3248 3249Patch 7.0.030 3250Problem: The ":compiler" command can't be used in a FileChangedRO event. 3251 (Hari Krishna Dara) 3252Solution: Add the CMDWIN flag to the ":compiler" command. 3253Files: src/ex_cmds.h 3254 3255Patch 7.0.031 3256Problem: When deleting a buffer the buffer-local mappings for Select mode 3257 remain. 3258Solution: Add the Select mode bit to MAP_ALL_MODES. (Edwin Steiner) 3259Files: src/vim.h 3260 3261Patch 7.0.032 (extra, after 7.0.027) 3262Problem: Missing semicolon. 3263Solution: Add the semicolon. 3264Files: src/gui_w48.c 3265 3266Patch 7.0.033 3267Problem: When pasting text, with the menu or CTRL-V, autoindent is removed. 3268Solution: Use "x<BS>" to avoid indent to be removed. (Benji Fisher) 3269Files: runtime/autoload/paste.vim 3270 3271Patch 7.0.034 3272Problem: After doing completion and typing more characters or using BS 3273 repeating with "." didn't work properly. (Martin Stubenschrott) 3274Solution: Don't put BS and other characters in the redo buffer right away, 3275 do this when finishing completion. 3276Files: src/edit.c 3277 3278Patch 7.0.035 3279Problem: Insert mode completion works when typed but not when replayed from 3280 a register. (Hari Krishna Dara) 3281 Also: Mappings for Insert mode completion don't always work. 3282Solution: When finding a non-completion key in the input don't interrupt 3283 completion when it wasn't typed. 3284 Do use mappings when checking for typeahead while still finding 3285 completions. Avoids that completion is interrupted too soon. 3286 Use "compl_pending" in a different way. 3287Files: src/edit.c 3288 3289Patch 7.0.036 3290Problem: Can't compile with small features and syntax highlighting or the 3291 diff feature. 3292Solution: Define LINE_ATTR whenever syntax highlighting or the diff feature 3293 is enabled. 3294Files: src/screen.c 3295 3296Patch 7.0.037 3297Problem: Crash when resizing the GUI window vertically when there is a line 3298 that doesn't fit. 3299Solution: Don't redraw while the screen data is invalid. 3300Files: src/screen.c 3301 3302Patch 7.0.038 3303Problem: When calling complete() from an Insert mode expression mapping 3304 text could be inserted in an improper way. 3305Solution: Make undo_allowed() global and use it in complete(). 3306Files: src/undo.c, src/proto/undo.pro, src/eval.c 3307 3308Patch 7.0.039 3309Problem: Calling inputdialog() with a third argument in the console doesn't 3310 work. 3311Solution: Make a separate function for input() and inputdialog(). (Yegappan 3312 Lakshmanan) 3313Files: src/eval.c 3314 3315Patch 7.0.040 3316Problem: When 'cmdheight' is larger than 1 using inputlist() or selecting 3317 a spell suggestion with the mouse gets the wrong entry. 3318Solution: Start listing the first alternative on the last line of the screen. 3319Files: src/eval.c, src/spell.c 3320 3321Patch 7.0.041 3322Problem: cursor([1, 1]) doesn't work. (Peter Hodge) 3323Solution: Allow leaving out the third item of the list and use zero for the 3324 virtual column offset. 3325Files: src/eval.c 3326 3327Patch 7.0.042 3328Problem: When pasting a block of text in Insert mode Vim hangs or crashes. 3329 (Noam Halevy) 3330Solution: Avoid that the cursor is positioned past the NUL of a line. 3331Files: src/ops.c 3332 3333Patch 7.0.043 3334Problem: Using "%!" at the start of 'statusline' doesn't work. 3335Solution: Recognize the special item when the option is being set. 3336Files: src/option.c 3337 3338Patch 7.0.044 3339Problem: Perl: setting a buffer line in another buffer may result in 3340 changing the current buffer. 3341Solution: Properly change to the buffer to be changed. 3342Files: src/if_perl.xs 3343 3344Patch 7.0.045 (extra) 3345Problem: Win32: Warnings when compiling OLE version with MSVC 2005. 3346Solution: Move including vim.h to before windows.h. (Ilya Bobir) 3347Files: src/if_ole.cpp 3348 3349Patch 7.0.046 3350Problem: The matchparen plugin ignores parens in strings, but not in single 3351 quotes, often marked with "character". 3352Solution: Also ignore parens in syntax items matching "character". 3353Files: runtime/plugin/matchparen.vim 3354 3355Patch 7.0.047 3356Problem: When running configure the exit status is wrong. 3357Solution: Handle the exit status properly. (Matthew Woehlke) 3358Files: configure, src/configure 3359 3360Patch 7.0.048 3361Problem: Writing a compressed file fails when there are parens in the name. 3362 (Wang Jian) 3363Solution: Put quotes around the temp file name. 3364Files: runtime/autoload/gzip.vim 3365 3366Patch 7.0.049 3367Problem: Some TCL scripts are not recognized. (Steven Atkinson) 3368Solution: Check for "exec wish" in the file. 3369Files: runtime/scripts.vim 3370 3371Patch 7.0.050 3372Problem: After using the netbeans interface close command a stale pointer 3373 may be used. 3374Solution: Clear the pointer to the closed buffer. (Xavier de Gaye) 3375Files: src/netbeans.c 3376 3377Patch 7.0.051 (after 7.0.44) 3378Problem: The Perl interface doesn't compile or doesn't work properly. 3379Solution: Remove the spaces before #ifdef and avoid an empty line above it. 3380Files: src/if_perl.xs 3381 3382Patch 7.0.052 3383Problem: The user may not be aware that the Vim server allows others more 3384 functionality than desired. 3385Solution: When running Vim as root don't become a Vim server without an 3386 explicit --servername argument. 3387Files: src/main.c 3388 3389Patch 7.0.053 3390Problem: Shortening a directory name may fail when there are multibyte 3391 characters. 3392Solution: Copy the correct bytes. (Titov Anatoly) 3393Files: src/misc1.c 3394 3395Patch 7.0.054 3396Problem: Mac: Using a menu name that only has a mnemonic or accelerator 3397 causes a crash. (Elliot Shank) 3398Solution: Check for an empty menu name. Also delete empty submenus that 3399 were created before detecting the error. 3400Files: src/menu.c 3401 3402Patch 7.0.055 3403Problem: ":startinsert" in a CmdwinEnter autocommand doesn't take immediate 3404 effect. (Bradley White) 3405Solution: Put a NOP key in the typeahead buffer. Also avoid that using 3406 CTRL-C to go back to the command line moves the cursor left. 3407Files: src/edit.c, src/ex_getln.c 3408 3409Patch 7.0.056 3410Problem: "#!something" gives an error message. 3411Solution: Ignore this line, so that it can be used in an executable Vim 3412 script. 3413Files: src/ex_docmd.c 3414 3415Patch 7.0.057 (extra, after 7.0.45) 3416Problem: Win32: Compilation problem with Borland C 5.5. 3417Solution: Include vim.h as before. (Mark S. Williams) 3418Files: src/if_ole.cpp 3419 3420Patch 7.0.058 3421Problem: The gbk and gb18030 encodings are not recognized. 3422Solution: Add aliases to cp936. (Edward L. Fox) 3423Files: src/mbyte.c 3424 3425Patch 7.0.059 3426Problem: The Perl interface doesn't compile with ActiveState Perl 5.8.8. 3427Solution: Remove the __attribute__() items. (Liu Yubao) 3428Files: src/if_perl.xs 3429 3430Patch 7.0.060 (after 7.0.51) 3431Problem: Code for temporarily switching to another buffer is duplicated in 3432 quite a few places. 3433Solution: Use aucmd_prepbuf() and aucmd_restbuf() also when FEAT_AUTOCMD is 3434 not defined. 3435Files: src/buffer.c, src/eval.c, src/fileio.c, src/if_ruby.c, 3436 src/if_perl.xs, src/quickfix.c, src/structs.h 3437 3438Patch 7.0.061 3439Problem: Insert mode completion for Vim commands may crash if there is 3440 nothing to complete. 3441Solution: Instead of freeing the pattern make it empty, so that a "not 3442 found" error is given. (Yukihiro Nakadaira) 3443Files: src/edit.c 3444 3445Patch 7.0.062 3446Problem: Mac: Crash when using the popup menu for spell correction. The 3447 popup menu appears twice when letting go of the right mouse button 3448 early. 3449Solution: Don't show the popup menu on the release of the right mouse 3450 button. Also check that a menu pointer is actually valid. 3451Files: src/proto/menu.pro, src/menu.c, src/normal.c, src/term.c 3452 3453Patch 7.0.063 3454Problem: Tiny chance for a memory leak. (coverity) 3455Solution: Free pointer when next memory allocation fails. 3456Files: src/eval.c 3457 3458Patch 7.0.064 3459Problem: Using uninitialized variable. (Tony Mechelynck) 3460Solution: When not used set "temp" to zero. Also avoid a warning for 3461 "files" in ins_compl_dictionaries(). 3462Files: src/edit.c 3463 3464Patch 7.0.065 (extra) 3465Problem: Mac: left-right movement of the scrollwheel causes up-down 3466 scrolling. 3467Solution: Ignore mouse wheel events that are not up-down. (Nicolas Weber) 3468Files: src/gui_mac.c 3469 3470Patch 7.0.066 3471Problem: After the popup menu for Insert mode completion overlaps the tab 3472 pages line it is not completely removed. 3473Solution: Redraw the tab pages line after removing the popup menu. (Ori 3474 Avtalion) 3475Files: src/popupmnu.c 3476 3477Patch 7.0.067 3478Problem: Undo doesn't always work properly when using "scim" input method. 3479 Undo is split up when using preediting. 3480Solution: Reset xim_has_preediting also when preedit_start_col is not 3481 MAXCOL. Don't split undo when <Left> is used while preediting. 3482 (Yukihiro Nakadaira) 3483Files: src/edit.c, src/mbyte.c 3484 3485Patch 7.0.068 3486Problem: When 'ignorecase' is set and using Insert mode completion, 3487 typing characters to change the list of matches, case is not 3488 ignored. (Hugo Ahlenius) 3489Solution: Store the 'ignorecase' flag with the matches where needed. 3490Files: src/edit.c, src/search.c, src/spell.c 3491 3492Patch 7.0.069 3493Problem: Setting 'guitablabel' to %!expand(\%) causes Vim to free an 3494 invalid pointer. (Kim Schulz) 3495Solution: Don't try freeing a constant string pointer. 3496Files: src/buffer.c 3497 3498Patch 7.0.070 3499Problem: Compiler warnings for shadowed variables and uninitialized 3500 variables. 3501Solution: Rename variables such as "index", "msg" and "dup". Initialize 3502 variables. 3503Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, 3504 src/ex_docmd.c, src/gui_beval.c, src/gui_gtk.c, src/gui_gtk_x11.c, 3505 src/hardcopy.c, src/if_cscope.c, src/main.c, src/mbyte.c, 3506 src/memline.c, src/netbeans.c, src/normal.c, src/option.c, 3507 src/os_unix.c, src/quickfix.c, src/regexp.c, src/screen.c, 3508 src/search.c, src/spell.c, src/ui.c, src/undo.c, src/window.c, 3509 src/version.c 3510 3511Patch 7.0.071 3512Problem: Using an empty search pattern may cause a crash. 3513Solution: Avoid using a NULL pointer. 3514Files: src/search.c 3515 3516Patch 7.0.072 3517Problem: When starting the GUI fails there is no way to adjust settings or 3518 do something else. 3519Solution: Add the GUIFailed autocommand event. 3520Files: src/fileio.c, src/gui.c, src/vim.h 3521 3522Patch 7.0.073 3523Problem: Insert mode completion: Typing <CR> sometimes selects the original 3524 text instead of keeping what was typed. (Justin Constantino) 3525Solution: Don't let <CR> select the original text if there is no popup menu. 3526Files: src/edit.c 3527 3528Patch 7.0.074 (extra) 3529Problem: Win32: tooltips were not converted from 'encoding' to Unicode. 3530Solution: Set the tooltip to use Unicode and do the conversion. Also 3531 cleanup the code for the tab pages tooltips. (Yukihiro Nakadaira) 3532Files: src/gui_w32.c, src/gui_w48.c 3533 3534Patch 7.0.075 3535Problem: winsaveview() did not store the actual value of the desired cursor 3536 column. This could move the cursor in the matchparen plugin. 3537Solution: Call update_curswant() before using the value w_curswant. 3538Files: src/eval.c 3539 3540Patch 7.0.076 (after 7.0.010) 3541Problem: Automatic downloading of spell files only works for ftp. 3542Solution: Don't add login and password for non-ftp URLs. (Alexander Patrakov) 3543Files: runtime/autoload/spellfile.vim 3544 3545Patch 7.0.077 3546Problem: ":unlet v:this_session" causes a crash. (Marius Roets) 3547Solution: When trying to unlet a fixed variable give an error message. 3548Files: src/eval.c 3549 3550Patch 7.0.078 3551Problem: There are two error messages E46. 3552Solution: Change the number for the sandbox message to E794. 3553Files: src/globals.h 3554 3555Patch 7.0.079 3556Problem: Russian tutor doesn't work when 'encoding' is "utf-8". 3557Solution: Use tutor.ru.utf-8 as the master, and generate the other encodings 3558 from it. Select the right tutor depending on 'encoding'. (Alexey 3559 Froloff) 3560Files: runtime/tutor/Makefile, runtime/tutor/tutor.vim, 3561 runtime/tutor/tutor.ru.utf-8 3562 3563Patch 7.0.080 3564Problem: Generating auto/pathdef.c fails for CFLAGS with a backslash. 3565Solution: Double backslashes in the string. (Alexey Froloff) 3566Files: src/Makefile 3567 3568Patch 7.0.081 3569Problem: Command line completion doesn't work for a shell command with an 3570 absolute path. 3571Solution: Don't use $PATH when there is an absolute path. 3572Files: src/ex_getln.c 3573 3574Patch 7.0.082 3575Problem: Calling a function that waits for input may cause List and 3576 Dictionary arguments to be freed by the garbage collector. 3577Solution: Keep a list of all arguments to internal functions. 3578Files: src/eval.c 3579 3580Patch 7.0.083 3581Problem: Clicking with the mouse on an item for inputlist() doesn't work 3582 when 'compatible' is set and/or when 'cmdheight' is more than one. 3583 (Christian J. Robinson) 3584Solution: Also decrement "lines_left" when 'more' isn't set. Set 3585 "cmdline_row" to zero to get all mouse events. 3586Files: src/message.c, src/misc1.c 3587 3588Patch 7.0.084 3589Problem: The garbage collector may do its work while some Lists or 3590 Dictionaries are used internally, e.g., by ":echo" that runs into 3591 the more-prompt or ":echo [garbagecollect()]". 3592Solution: Only do garbage collection when waiting for a character at the 3593 toplevel. Let garbagecollect() set a flag that is handled at the 3594 toplevel before waiting for a character. 3595Files: src/eval.c, src/getchar.c, src/globals.h, src/main.c 3596 3597Patch 7.0.085 3598Problem: When doing "make test" the viminfo file is modified. 3599Solution: Use another viminfo file after setting 'compatible'. 3600Files: src/testdir/test56.in 3601 3602Patch 7.0.086 3603Problem: getqflist() returns entries for pattern and text with the number 3604 zero. Passing these to setqflist() results in the string "0". 3605Solution: Use an empty string instead of the number zero. 3606Files: src/quickfix.c 3607 3608Patch 7.0.087 3609Problem: After ":file fname" and ":saveas fname" the 'autochdir' option 3610 does not take effect. (Yakov Lerner) 3611 Commands for handling 'autochdir' are repeated many times. 3612Solution: Add the DO_AUTOCHDIR macro and do_autochdir(). Use it for 3613 ":file fname" and ":saveas fname". 3614Files: src/proto/buffer.pro, src/buffer.c, src/ex_cmds.c, src/macros.h, 3615 src/netbeans.c, src/option.c, src/window.c 3616 3617Patch 7.0.088 3618Problem: When compiled with Perl the generated prototypes have "extern" 3619 unnecessarily added. 3620Solution: Remove the "-pipe" argument from PERL_CFLAGS. 3621Files: src/auto/configure, src/configure.in 3622 3623Patch 7.0.089 3624Problem: "ga" does not work properly for a non-Unicode multibyte encoding. 3625Solution: Only check for composing chars for utf-8. (Taro Muraoka) 3626Files: src/ex_cmds.c 3627 3628Patch 7.0.090 3629Problem: Cancelling the conform() dialog on the console with Esc requires 3630 typing it twice. (Benji Fisher) 3631Solution: When the start of an escape sequence is found use 'timeoutlen' or 3632 'ttimeoutlen'. 3633Files: src/misc1.c 3634 3635Patch 7.0.091 3636Problem: Using winrestview() while 'showcmd' is set causes the cursor to be 3637 displayed in the wrong position. (Yakov Lerner) 3638Solution: Set the window topline properly. 3639Files: src/eval.c 3640 3641Patch 7.0.092 (after 7.0.082 and 7.0.084) 3642Problem: The list of internal function arguments is obsolete now that 3643 garbage collection is only done at the toplevel. 3644Solution: Remove the list of all arguments to internal functions. 3645Files: src/eval.c 3646 3647Patch 7.0.093 3648Problem: The matchparen plugin can't handle a 'matchpairs' value where a 3649 colon is matched. 3650Solution: Change the split() that is used to change 'matchpairs' into a 3651 List. 3652Files: runtime/plugin/matchparen.vim 3653 3654Patch 7.0.094 3655Problem: When a hidden buffer is made the current buffer and another file 3656 edited later, the file message will still be given. Using 3657 ":silent" also doesn't prevent the file message. (Marvin Renich) 3658Solution: Reset the need_fileinfo flag when reading a file. Don't set 3659 need_fileinfo when msg_silent is set. 3660Files: src/buffer.c, src/fileio.c 3661 3662Patch 7.0.095 3663Problem: The Greek tutor is not available in utf-8. "el" is used for the 3664 language, only "gr" for the country is recognized. 3665Solution: Add the utf-8 Greek tutor. Use it for conversion to iso-8859-7 3666 and cp737. (Lefteris Dimitroulakis) 3667Files: runtime/tutor/Makefile, runtime/tutor/tutor.gr.utf-8, 3668 runtime/tutor/tutor.vim 3669 3670Patch 7.0.096 3671Problem: taglist() returns the filename relative to the tags file, while 3672 the directory of the tags file is unknown. (Hari Krishna Dara) 3673Solution: Expand the file name. (Yegappan Lakshmanan) 3674Files: src/tag.c 3675 3676Patch 7.0.097 3677Problem: ":tabclose N" that closes another tab page does not remove the tab 3678 pages line. Same problem when using the mouse. 3679Solution: Adjust the tab pages line when needed in tabpage_close_other(). 3680Files: src/ex_docmd.c 3681 3682Patch 7.0.098 3683Problem: Redirecting command output in a cmdline completion function 3684 doesn't work. (Hari Krishna Dara) 3685Solution: Enable redirection when redirection is started. 3686Files: src/ex_docmd.c, src/ex_getln.c 3687 3688Patch 7.0.099 3689Problem: GUI: When the popup menu is visible using the scrollbar messes up 3690 the display. 3691Solution: Disallow scrolling the current window. Redraw the popup menu 3692 after scrolling another window. 3693Files: src/gui.c 3694 3695Patch 7.0.100 3696Problem: "zug" may report the wrong filename. (Lawrence Kesteloot) 3697Solution: Call home_replace() to fill NameBuff[]. 3698Files: src/spell.c 3699 3700Patch 7.0.101 3701Problem: When the "~/.vim/spell" directory does not exist "zg" may create 3702 a wrong directory. "zw" doesn't work. 3703Solution: Use the directory of the file name instead of NameBuff. For "zw" 3704 not only remove a good word but also add the word with "!". 3705Files: src/spell.c 3706 3707Patch 7.0.102 3708Problem: Redrawing cmdline is not correct when using SCIM. 3709Solution: Don't call im_get_status(). (Yukihiro Nakadaira) 3710Files: src/ex_getln.c 3711 3712Patch 7.0.103 (after 7.0.101) 3713Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) 3714Solution: Init variable. 3715Files: src/spell.c 3716 3717Patch 7.0.104 3718Problem: The CursorHoldI event only triggers once in Insert mode. It also 3719 triggers after CTRL-V and other two-key commands. 3720Solution: Set "did_cursorhold" before getting a second key. Reset 3721 "did_cursorhold" after handling a command. 3722Files: src/edit.c, src/fileio.c 3723 3724Patch 7.0.105 3725Problem: When using incremental search the statusline ruler isn't updated. 3726 (Christoph Koegl) 3727Solution: Update the statusline when it contains the ruler. 3728Files: src/ex_getln.c 3729 3730Patch 7.0.106 3731Problem: The spell popup menu uses ":amenu", triggering mappings. Other 3732 PopupMenu autocommands are removed. (John Little) 3733Solution: Use ":anoremenu" and use an autocmd group. 3734Files: runtime/menu.vim 3735 3736Patch 7.0.107 3737Problem: Incremental search doesn't redraw the text tabline. (Ilya Bobir) 3738 Also happens in other situations with one window in a tab page. 3739Solution: Redraw the tabline after clearing the screen. 3740Files: src/screen.c 3741 3742Patch 7.0.108 (extra) 3743Problem: Amiga: Compilation problem. 3744Solution: Have mch_mkdir() return a failure flag. (Willy Catteau) 3745Files: src/os_amiga.c, src/proto/os_amiga.pro 3746 3747Patch 7.0.109 3748Problem: Lisp indenting is confused by escaped quotes in strings. (Dorai 3749 Sitaram) 3750Solution: Check for backslash inside strings. (Sergey Khorev) 3751Files: src/misc1.c 3752 3753Patch 7.0.110 3754Problem: Amiga: Compilation problems when not using libnix. 3755Solution: Change a few #ifdefs. (Willy Catteau) 3756Files: src/memfile.c 3757 3758Patch 7.0.111 3759Problem: The gzip plugin can't handle filenames with single quotes. 3760Solution: Add and use the shellescape() function. (partly by Alexey Froloff) 3761Files: runtime/autoload/gzip.vim, runtime/doc/eval.txt, src/eval.c, 3762 src/mbyte.c, src/misc2.c, src/proto/misc2.pro 3763 3764Patch 7.0.112 3765Problem: Python interface does not work with Python 2.5. 3766Solution: Change PyMem_DEL() to Py_DECREF(). (Sumner Hayes) 3767Files: src/if_python.c 3768 3769Patch 7.0.113 3770Problem: Using CTRL-L in Insert completion when there is no current match 3771 may cause a crash. (Yukihiro Nakadaira) 3772Solution: Check for compl_leader to be NULL 3773Files: src/edit.c 3774 3775Patch 7.0.114 3776Problem: When aborting an insert with CTRL-C an extra undo point is 3777 created in the GUI. (Yukihiro Nakadaira) 3778Solution: Call gotchars() only when advancing. 3779Files: src/getchar.c 3780 3781Patch 7.0.115 3782Problem: When 'ignorecase' is set, Insert mode completion only adds "foo" 3783 and not "Foo" when both are found. 3784 A found match isn't displayed right away when 'completeopt' does 3785 not have "menu" or "menuone". 3786Solution: Do not ignore case when checking if a completion match already 3787 exists. call ins_compl_check_keys() also when not using a popup 3788 menu. (Yukihiro Nakadaira) 3789Files: src/edit.c 3790 3791Patch 7.0.116 3792Problem: 64 bit Windows version reports "32 bit" in the ":version" output. 3793 (M. Veerman) 3794Solution: Change the text for Win64. 3795Files: src/version.c 3796 3797Patch 7.0.117 3798Problem: Using "extend" on a syntax item inside a region with "keepend", an 3799 intermediate item may be truncated. 3800 When applying the "keepend" and there is an offset to the end 3801 pattern the highlighting of a contained item isn't adjusted. 3802Solution: Use the seen_keepend flag to remember when to apply the "keepend" 3803 flag. Adjust the keepend highlighting properly. (Ilya Bobir) 3804Files: src/syntax.c 3805 3806Patch 7.0.118 3807Problem: printf() does not do zero padding for strings. 3808Solution: Do allow zero padding for strings. 3809Files: src/message.c 3810 3811Patch 7.0.119 3812Problem: When going back from Insert to Normal mode the CursorHold event 3813 doesn't trigger. (Yakov Lerner) 3814Solution: Reset "did_cursorhold" when leaving Insert mode. 3815Files: src/edit.c 3816 3817Patch 7.0.120 3818Problem: Crash when using CTRL-R = at the command line and entering 3819 "getreg('=')". (James Vega) 3820Solution: Avoid recursiveness of evaluating the = register. 3821Files: src/ops.c 3822 3823Patch 7.0.121 3824Problem: GUI: Dragging the last status line doesn't work when there is a 3825 text tabline. (Markus Wolf) 3826Solution: Take the text tabline into account when deciding to start modeless 3827 selection. 3828Files: src/gui.c 3829 3830Patch 7.0.122 3831Problem: GUI: When clearing after a bold, double-wide character half a 3832 character may be drawn. 3833Solution: Check for double-wide character and redraw it. (Yukihiro Nakadaira) 3834Files: src/screen.c 3835 3836Patch 7.0.123 3837Problem: On SCO Openserver configure selects the wrong terminal library. 3838Solution: Put terminfo before the other libraries. (Roger Cornelius) 3839 Also fix a small problem compiling on Mac without Darwin. 3840Files: src/configure.in, src/auto/configure 3841 3842Patch 7.0.124 3843Problem: getwinvar() obtains a dictionary with window-local variables, but 3844 it's always for the current window. 3845Solution: Get the variables of the specified window. (Geoff Reedy) 3846Files: src/eval.c 3847 3848Patch 7.0.125 3849Problem: When "autoselect" is in the 'clipboard' option then the '< and '> 3850 marks are set while Visual mode is still active. 3851Solution: Don't set the '< and '> marks when yanking the selected area for 3852 the clipboard. 3853Files: src/normal.c 3854 3855Patch 7.0.126 3856Problem: When 'formatexpr' uses setline() and later internal formatting is 3857 used undo information is not correct. (Jiri Cerny, Benji Fisher) 3858Solution: Set ins_need_undo after using 'formatexpr'. 3859Files: src/edit.c 3860 3861Patch 7.0.127 3862Problem: Crash when swap file has invalid timestamp. 3863Solution: Check return value of ctime() for being NULL. 3864Files: src/memline.c 3865 3866Patch 7.0.128 3867Problem: GUI: when closing gvim is cancelled because there is a changed 3868 buffer the screen isn't updated to show the changed buffer in the 3869 current window. (Krzysztof Kacprzak) 3870Solution: Redraw when closing gvim is cancelled. 3871Files: src/gui.c 3872 3873Patch 7.0.129 3874Problem: GTK GUI: the GTK file dialog can't handle a relative path. 3875Solution: Make the initial directory a full path before passing it to GTK. 3876 (James Vega) Also postpone adding the default file name until 3877 after setting the directory. 3878Files: src/gui_gtk.c 3879 3880Patch 7.0.130 (extra) 3881Problem: Win32: Trying to edit or write devices may cause Vim to get stuck. 3882Solution: Add the 'opendevice' option, default off. Disallow 3883 reading/writing from/to devices when it's off. 3884 Also detect more devices by the full name starting with "\\.\". 3885Files: runtime/doc/options.txt, src/fileio.c, src/option.c, src/option.h, 3886 src/os_win32.c 3887 3888Patch 7.0.131 3889Problem: Win32: "vim -r" does not list all the swap files. 3890Solution: Also check for swap files starting with a dot. 3891Files: src/memline.c 3892 3893Patch 7.0.132 (after 7.0.130) 3894Problem: Win32: Crash when Vim reads from stdin. 3895Solution: Only use mch_nodetype() when there is a file name. 3896Files: src/fileio.c 3897 3898Patch 7.0.133 3899Problem: When searching included files messages are added to the history. 3900Solution: Set msg_hist_off for messages about scanning included files. 3901 Set msg_silent to avoid message about wrapping around. 3902Files: src/edit.c, src/globals.h, src/message.c, src/search.c 3903 3904Patch 7.0.134 3905Problem: Crash when comparing a recursively looped List or Dictionary. 3906Solution: Limit recursiveness for comparing to 1000. 3907Files: src/eval.c 3908 3909Patch 7.0.135 3910Problem: Crash when garbage collecting list or dict with loop. 3911Solution: Don't use DEL_REFCOUNT but don't recurse into Lists and 3912 Dictionaries when freeing them in the garbage collector. 3913 Also add allocated Dictionaries to the list of Dictionaries to 3914 avoid leaking memory. 3915Files: src/eval.c, src/proto/eval.pro, src/tag.c 3916 3917Patch 7.0.136 3918Problem: Using "O" while matching parens are highlighted may not remove the 3919 highlighting. (Ilya Bobir) 3920Solution: Also trigger CursorMoved when a line is inserted under the cursor. 3921Files: src/misc1.c 3922 3923Patch 7.0.137 3924Problem: Configure check for big features is wrong. 3925Solution: Change "==" to "=". (Martti Kuparinen) 3926Files: src/auto/configure, src/configure.in 3927 3928Patch 7.0.138 (extra) 3929Problem: Mac: modifiers don't work with function keys. 3930Solution: Use GetEventParameter() to obtain modifiers. (Nicolas Weber) 3931Files: src/gui_mac.c 3932 3933Patch 7.0.139 3934Problem: Using CTRL-PageUp or CTRL-PageDown in Insert mode to go to another 3935 tab page does not prepare for undo properly. (Stefano Zacchiroli) 3936Solution: Call start_arrow() before switching tab page. 3937Files: src/edit.c 3938 3939Patch 7.0.140 (after 7.0.134) 3940Problem: Comparing recursively looped List or Dictionary doesn't work well. 3941Solution: Detect comparing a List or Dictionary with itself. 3942Files: src/eval.c 3943 3944Patch 7.0.141 3945Problem: When pasting a while line on the command line an extra CR is added 3946 literally. 3947Solution: Don't add the trailing CR when pasting with the mouse. 3948Files: src/ex_getln.c, src/proto/ops.pro, src/ops.c 3949 3950Patch 7.0.142 3951Problem: Using the middle mouse button in Select mode to paste text results 3952 in an extra "y". (Kriton Kyrimis) 3953Solution: Let the middle mouse button replace the selected text with the 3954 contents of the clipboard. 3955Files: src/normal.c 3956 3957Patch 7.0.143 3958Problem: Setting 'scroll' to its default value was not handled correctly. 3959Solution: Compare the right field to PV_SCROLL. 3960Files: src/option.c 3961 3962Patch 7.0.144 3963Problem: May compare two unrelated pointers when matching a pattern against 3964 a string. (Dominique Pelle) 3965Solution: Avoid calling reg_getline() when REG_MULTI is false. 3966Files: src/regexp.c 3967 3968Patch 7.0.145 (after 7.0.142) 3969Problem: Compiler warning. 3970Solution: Add type cast. 3971Files: src/normal.c 3972 3973Patch 7.0.146 3974Problem: When 'switchbuf' is set to "usetab" and the current tab has only a 3975 quickfix window, jumping to an error always opens a new window. 3976 Also, when the buffer is open in another tab page it's not found. 3977Solution: Check for the "split" value of 'switchbuf' properly. Search in 3978 other tab pages for the desired buffer. (Yegappan Lakshmanan) 3979Files: src/buffer.c, src/quickfix.c 3980 3981Patch 7.0.147 3982Problem: When creating a session file and there are several tab pages and 3983 some windows have a local directory a short file name may be used 3984 when it's not valid. (Marius Roets) 3985 A session with multiple tab pages may result in "No Name" buffers. 3986 (Bill McCarthy) 3987Solution: Don't enter tab pages when going through the list, only use a 3988 pointer to the first window in each tab page. 3989 Use "tabedit" instead of "tabnew | edit" when possible. 3990Files: src/ex_docmd.c 3991 3992Patch 7.0.148 3993Problem: When doing "call a.xyz()" and "xyz" does not exist in dictionary 3994 "a" there is no error message. (Yegappan Lakshmanan) 3995Solution: Add the error message. 3996Files: src/eval.c 3997 3998Patch 7.0.149 3999Problem: When resizing a window that shows "~" lines the text sometimes 4000 jumps down. 4001Solution: Remove code that uses "~" lines in some situations. Fix the 4002 computation of the screen line of the cursor. Also set w_skipcol 4003 to handle very long lines. 4004Files: src/misc1.c, src/window.c 4005 4006Patch 7.0.150 4007Problem: When resizing the Vim window scrollbinding doesn't work. (Yakov 4008 Lerner) 4009Solution: Do scrollbinding in set_shellsize(). 4010Files: src/term.c 4011 4012Patch 7.0.151 4013Problem: Buttons in file dialog are not according to Gnome guidelines. 4014Solution: Swap Cancel and Open buttons. (Stefano Zacchiroli) 4015Files: src/gui_gtk.c 4016 4017Patch 7.0.152 4018Problem: Crash when using lesstif 2. 4019Solution: Fill in the extension field. (Ben Hutchings) 4020Files: src/gui_xmebw.c 4021 4022Patch 7.0.153 4023Problem: When using cscope and opening the temp file fails Vim crashes. 4024 (Kaya Bekiroglu) 4025Solution: Check for NULL pointer returned from mch_open(). 4026Files: src/if_cscope.c 4027 4028Patch 7.0.154 4029Problem: When 'foldnestmax' is negative Vim can hang. (James Vega) 4030Solution: Avoid the fold level becoming negative. 4031Files: src/fold.c, src/syntax.c 4032 4033Patch 7.0.155 4034Problem: When getchar() returns a mouse button click there is no way to get 4035 the mouse coordinates. 4036Solution: Add v:mouse_win, v:mouse_lnum and v:mouse_col. 4037Files: runtime/doc/eval.txt, src/eval.c, src/vim.h 4038 4039Patch 7.0.156 (extra) 4040Problem: Vim doesn't compile for Amiga OS 4. 4041Solution: Various changes for Amiga OS4. (Peter Bengtsson) 4042Files: src/feature.h, src/mbyte.c, src/memfile.c, src/memline.c, 4043 src/os_amiga.c, src/os_amiga.h, src/pty.c 4044 4045Patch 7.0.157 4046Problem: When a function is used recursively the profiling information is 4047 invalid. (Mikolaj Machowski) 4048Solution: Put the start time on the stack instead of in the function. 4049Files: src/eval.c 4050 4051Patch 7.0.158 4052Problem: In a C file with ":set foldmethod=syntax", typing {<CR> on the 4053 last line results in the cursor being in a closed fold. (Gautam 4054 Iyer) 4055Solution: Open fold after inserting a new line. 4056Files: src/edit.c 4057 4058Patch 7.0.159 4059Problem: When there is an I/O error in the swap file the cause of the error 4060 cannot be seen. 4061Solution: Use PERROR() instead of EMSG() where possible. 4062Files: src/memfile.c 4063 4064Patch 7.0.160 4065Problem: ":@a" echoes the command, Vi doesn't do that. 4066Solution: Set the silent flag in the typeahead buffer to avoid echoing the 4067 command. 4068Files: src/ex_docmd.c, src/normal.c, src/ops.c, src/proto/ops.pro 4069 4070Patch 7.0.161 4071Problem: Win32: Tab pages line popup menu isn't using the right encoding. 4072 (Yongwei Wu) 4073Solution: Convert the text when necessary. Also fixes the Find/Replace 4074 dialog title. (Yegappan Lakshmanan) 4075Files: src/gui_w48.c 4076 4077Patch 7.0.162 4078Problem: "vim -o a b" when file "a" triggers the ATTENTION dialog, 4079 selecting "Quit" exits Vim instead of editing "b" only. 4080 When file "b" triggers the ATTENTION dialog selecting "Quit" or 4081 "Abort" results in editing file "a" in that window. 4082Solution: When selecting "Abort" exit Vim. When selecting "Quit" close the 4083 window. Also avoid hit-enter prompt when selecting Abort. 4084Files: src/buffer.c, src/main.c 4085 4086Patch 7.0.163 4087Problem: Can't retrieve the position of a sign after it was set. 4088Solution: Add the netbeans interface getAnno command. (Xavier de Gaye) 4089Files: runtime/doc/netbeans.txt, src/netbeans.c 4090 4091Patch 7.0.164 4092Problem: ":redir @+" doesn't work. 4093Solution: Accept "@+" just like "@*". (Yegappan Lakshmanan) 4094Files: src/ex_docmd.c 4095 4096Patch 7.0.165 4097Problem: Using CTRL-L at the search prompt adds a "/" and other characters 4098 without escaping, causing the pattern not to match. 4099Solution: Escape special characters with a backslash. 4100Files: src/ex_getln.c 4101 4102Patch 7.0.166 4103Problem: Crash in cscope code when connection could not be opened. 4104 (Kaya Bekiroglu) 4105Solution: Check for the file descriptor to be NULL. 4106Files: src/if_cscope.c 4107 4108Patch 7.0.167 4109Problem: ":function" redefining a dict function doesn't work properly. 4110 (Richard Emberson) 4111Solution: Allow a function name to be a number when it's a function 4112 reference. 4113Files: src/eval.c 4114 4115Patch 7.0.168 4116Problem: Using uninitialized memory and memory leak. (Dominique Pelle) 4117Solution: Use alloc_clear() instead of alloc() for w_lines. Free 4118 b_ml.ml_stack after recovery. 4119Files: src/memline.c, src/window.c 4120 4121Patch 7.0.169 4122Problem: With a Visual block selection, with the cursor in the left upper 4123 corner, pressing "I" doesn't remove the highlighting. (Guopeng 4124 Wen) 4125Solution: When checking if redrawing is needed also check if Visual 4126 selection is still active. 4127Files: src/screen.c 4128 4129Patch 7.0.170 (extra) 4130Problem: Win32: Using "gvim --remote-tab foo" when gvim is minimized while 4131 it previously was maximized, un-maximizing doesn't work properly. 4132 And the labels are not displayed properly when 'encoding' is 4133 utf-8. 4134Solution: When minimized check for SW_SHOWMINIMIZED. When updating the tab 4135 pages line use TCM_SETITEMW instead of TCM_INSERTITEMW. (Liu 4136 Yubao) 4137Files: src/gui_w48.c 4138 4139Patch 7.0.171 (extra) 4140Problem: VMS: A file name with multiple paths is written in the wrong file. 4141Solution: Get the actually used file name. (Zoltan Arpadffy) 4142 Also add info to the :version command about compilation. 4143Files: src/Make_vms.mms, src/buffer.c, src/os_unix.c, src/version.c 4144 4145Patch 7.0.172 4146Problem: Crash when recovering and quitting at the "press-enter" prompt. 4147Solution: Check for "msg_list" to be NULL. (Liu Yubao) 4148Files: src/ex_eval.c 4149 4150Patch 7.0.173 4151Problem: ":call f().TT()" doesn't work. (Richard Emberson) 4152Solution: When a function returns a Dictionary or another composite continue 4153 evaluating what follows. 4154Files: src/eval.c 4155 4156Patch 7.0.174 4157Problem: ":mksession" doesn't restore window layout correctly in tab pages 4158 other than the current one. (Zhibin He) 4159Solution: Use the correct topframe for producing the window layout commands. 4160Files: src/ex_docmd.c 4161 4162Patch 7.0.175 4163Problem: The result of tr() is missing the terminating NUL. (Ingo Karkat) 4164Solution: Add the NUL. 4165Files: src/eval.c 4166 4167Patch 7.0.176 4168Problem: ":emenu" isn't executed directly, causing the encryption key 4169 prompt to fail. (Life Jazzer) 4170Solution: Fix wrong #ifdef. 4171Files: src/menu.c 4172 4173Patch 7.0.177 4174Problem: When the press-enter prompt gets a character from a non-remappable 4175 mapping, it's put back in the typeahead buffer as remappable, 4176 which may cause an endless loop. 4177Solution: Restore the non-remappable flag and the silent flag when putting a 4178 char back in the typeahead buffer. 4179Files: src/getchar.c, src/message.c, src/normal.c 4180 4181Patch 7.0.178 4182Problem: When 'enc' is "utf-8" and 'ignorecase' is set the result of ":echo 4183 ("\xe4" == "\xe4")" varies. 4184Solution: In mb_strnicmp() avoid looking past NUL bytes. 4185Files: src/mbyte.c 4186 4187Patch 7.0.179 4188Problem: Using ":recover" or "vim -r" without a swapfile crashes Vim. 4189Solution: Check for "buf" to be unequal NULL. (Yukihiro Nakadaira) 4190Files: src/memline.c 4191 4192Patch 7.0.180 (extra, after 7.0.171) 4193Problem: VMS: build failed. Problem with swapfiles. 4194Solution: Add "compiled_arch". Always expand path and pass it to 4195 buf_modname(). (Zoltan Arpadffy) 4196Files: src/globals.h, src/memline.c, src/os_unix.c, runtime/menu.vim 4197 4198Patch 7.0.181 4199Problem: When reloading a file that starts with an empty line, the reloaded 4200 buffer has an extra empty line at the end. (Motty Lentzitzky) 4201Solution: Delete all lines, don't use bufempty(). 4202Files: src/fileio.c 4203 4204Patch 7.0.182 4205Problem: When using a mix of undo and "g-" it may no longer be possible to 4206 go to every point in the undo tree. (Andy Wokula) 4207Solution: Correctly update pointers in the undo tree. 4208Files: src/undo.c 4209 4210Patch 7.0.183 4211Problem: Crash in ":let" when redirecting to a variable that's being 4212 displayed. (Thomas Link) 4213Solution: When redirecting to a variable only do the assignment when 4214 stopping redirection to avoid that setting the variable causes a 4215 freed string to be accessed. 4216Files: src/eval.c 4217 4218Patch 7.0.184 4219Problem: When the cscope program is called "mlcscope" the Cscope interface 4220 doesn't work. 4221Solution: Accept "\S*cscope:" instead of "cscope:". (Frodak D. Baksik) 4222Files: src/if_cscope.c 4223 4224Patch 7.0.185 4225Problem: Multi-byte characters in a message are displayed with attributes 4226 from what comes before it. 4227Solution: Don't use the attributes for a multibyte character. Do use 4228 attributes for special characters. (Yukihiro Nakadaira) 4229Files: src/message.c 4230 4231Patch 7.0.186 4232Problem: Get an ml_get error when 'encoding' is "utf-8" and searching for 4233 "/\_s*/e" in an empty buffer. (Andrew Maykov) 4234Solution: Don't try getting the line just below the last line. 4235Files: src/search.c 4236 4237Patch 7.0.187 4238Problem: Can't source a remote script properly. 4239Solution: Add the SourceCmd event. (Charles Campbell) 4240Files: runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h 4241 4242Patch 7.0.188 (after 7.0.186) 4243Problem: Warning for wrong pointer type. 4244Solution: Add a type cast. 4245Files: src/search.c 4246 4247Patch 7.0.189 4248Problem: Translated message about finding matches is truncated. (Yukihiro 4249 Nakadaira) 4250Solution: Enlarge the buffer. Also use vim_snprintf(). 4251Files: src/edit.c 4252 4253Patch 7.0.190 4254Problem: "syntax spell default" results in an error message. 4255Solution: Change 4 to 7 for STRNICMP(). (Raul Nunez de Arenas Coronado) 4256Files: src/syntax.c 4257 4258Patch 7.0.191 4259Problem: The items used by getqflist() and setqflist() don't match. 4260Solution: Support the "bufnum" item for setqflist(). (Yegappan Lakshmanan) 4261Files: runtime/doc/eval.txt, src/quickfix.c 4262 4263Patch 7.0.192 4264Problem: When 'swapfile' is switched off in an empty file it is possible 4265 that not all blocks are loaded into memory, causing ml_get errors 4266 later. 4267Solution: Rename "dont_release" to "mf_dont_release" and also use it to 4268 avoid using the cached line and locked block. 4269Files: src/globals.h, src/memfile.c, src/memline.c 4270 4271Patch 7.0.193 4272Problem: Using --remote or --remote-tab with an argument that matches 4273 'wildignore' causes a crash. 4274Solution: Check the argument count before using ARGLIST[0]. 4275Files: src/ex_cmds.c 4276 4277Patch 7.0.194 4278Problem: Once an ml_get error is given redrawing part of the screen may 4279 cause it again, resulting in an endless loop. 4280Solution: Don't give the error message for a recursive call. 4281Files: src/memline.c 4282 4283Patch 7.0.195 4284Problem: When a buffer is modified and 'autowriteall' is set, ":quit" 4285 results in an endless loop when there is a conversion error while 4286 writing. (Nikolai Weibull) 4287Solution: Make autowrite() return FAIL if the buffer is still changed after 4288 writing it. 4289 /* put the cursor on the last char, for 'tw' formatting */ 4290Files: src/ex_cmds2.c 4291 4292Patch 7.0.196 4293Problem: When using ":vert ball" the computation of the mouse pointer 4294 position may be off by one column. (Stefan Karlsson) 4295Solution: Recompute the frame width when moving the vertical separator from 4296 one window to another. 4297Files: src/window.c 4298 4299Patch 7.0.197 (extra) 4300Problem: Win32: Compiling with EXITFREE doesn't work. 4301Solution: Adjust a few #ifdefs. (Alexei Alexandrof) 4302Files: src/misc2.c, src/os_mswin.c 4303 4304Patch 7.0.198 (extra) 4305Problem: Win32: Compiler warnings. No need to generate gvim.exe.mnf. 4306Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly) 4307Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c 4308 4309Patch 7.0.199 4310Problem: When using multibyte characters the combination of completion and 4311 formatting may result in a wrong cursor position. 4312Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro 4313 Nakadaira) Also check for the column to be zero. 4314Files: src/edit.c 4315 4316Patch 7.0.200 4317Problem: Memory leaks when out of memory. 4318Solution: Free the memory. 4319Files: src/edit.c, src/diff.c 4320 4321Patch 7.0.201 4322Problem: Message for ":diffput" about buffer not being in diff mode may be 4323 wrong. 4324Solution: Check for buffer in diff mode but not modifiable. 4325Files: src/diff.c 4326 4327Patch 7.0.202 4328Problem: Problems on Tandem systems while compiling and at runtime. 4329Solution: Recognize root uid is 65535. Check select() return value for it 4330 not being supported. Avoid wrong function prototypes. Mention 4331 use of -lfloss. (Matthew Woehlke) 4332Files: src/Makefile, src/ex_cmds.c, src/fileio.c, src/main.c, 4333 src/osdef1.h.in, src/osdef2.h.in, src/os_unix.c, src/pty.c, 4334 src/vim.h 4335 4336Patch 7.0.203 4337Problem: 0x80 characters in a register are not handled correctly for the 4338 "@" command. 4339Solution: Escape CSI and 0x80 characters. (Yukihiro Nakadaira) 4340Files: src/ops.c 4341 4342Patch 7.0.204 4343Problem: Cscope: Parsing matches for listing isn't done properly. 4344Solution: Check for line number being found. (Yu Zhao) 4345Files: src/if_cscope.c 4346 4347Patch 7.0.205 (after 7.0.203) 4348Problem: Can't compile. 4349Solution: Always include the vim_strsave_escape_csi function. 4350Files: src/getchar.c 4351 4352Patch 7.0.206 (after 7.0.058) 4353Problem: Some characters of the "gb18030" encoding are not handled 4354 properly. 4355Solution: Do not use "cp936" as an alias for "gb18030" encoding. Instead 4356 initialize 'encoding' to "cp936". 4357Files: src/mbyte.c, src/option.c 4358 4359Patch 7.0.207 4360Problem: After patch 2.0.203 CSI and K_SPECIAL characters are escaped when 4361 recorded and then again when the register is executed. 4362Solution: Remove escaping before putting the recorded characters in a 4363 register. (Yukihiro Nakadaira) 4364Files: src/getchar.c, src/ops.c, src/proto/getchar.pro 4365 4366Patch 7.0.208 (after 7.0.171 and 7.0.180) 4367Problem: VMS: changes to path handling cause more trouble than they solve. 4368Solution: Revert changes. 4369Files: src/buffer.c, src/memline.c, src/os_unix.c 4370 4371Patch 7.0.209 4372Problem: When replacing a line through Python the cursor may end up beyond 4373 the end of the line. 4374Solution: Check the cursor column after replacing the line. 4375Files: src/if_python.c 4376 4377Patch 7.0.210 4378Problem: ":cbuffer" and ":lbuffer" always fail when the buffer is modified. 4379 (Gary Johnson) 4380Solution: Support adding a !. (Yegappan Lakshmanan) 4381Files: runtime/doc/quickfix.txt, src/ex_cmds.h 4382 4383Patch 7.0.211 4384Problem: With ":set cindent noai bs=0" using CTRL-U in Insert mode will 4385 delete auto-indent. After ":set ai" it doesn't. 4386Solution: Also check 'cindent' being set. (Ryan Lortie) 4387Files: src/edit.c 4388 4389Patch 7.0.212 4390Problem: The GUI can't be terminated with SIGTERM. (Mark Logan) 4391Solution: Use the signal protection in the GUI as in the console, allow 4392 signals when waiting for 100 msec or longer. 4393Files: src/ui.c 4394 4395Patch 7.0.213 4396Problem: When 'spellfile' has two regions that use the same sound folding 4397 using "z=" will cause memory to be freed twice. (Mark Woodward) 4398Solution: Clear the hashtable properly so that the items are only freed once. 4399Files: src/spell.c 4400 4401Patch 7.0.214 4402Problem: When using <f-args> in a user command it's not possible to have an 4403 argument end in '\ '. 4404Solution: Change the handling of backslashes. (Yakov Lerner) 4405Files: runtime/doc/map.txt, src/ex_docmd.c 4406 4407Patch 7.0.215 (extra) 4408Problem: Mac: Scrollbar size isn't set. Context menu has disabled useless 4409 Help entry. Call to MoreMasterPointers() is ignored. 4410Solution: Call SetControlViewSize() in gui_mch_set_scrollbar_thumb(). Use 4411 kCMHelpItemRemoveHelp for ContextualMenuSelect(). Remove call to 4412 MoreMasterPointers(). (Nicolas Weber) 4413Files: src/gui_mac.c 4414 4415Patch 7.0.216 4416Problem: ":tab wincmd ]" does not open a tab page. (Tony Mechelynck) 4417Solution: Copy the cmdmod.tab value to postponed_split_tab and use it. 4418Files: src/globals.h, src/ex_docmd.c, src/if_cscope.c, src/window.c 4419 4420Patch 7.0.217 4421Problem: This hangs when pressing "n": ":%s/\n/,\r/gc". (Ori Avtalion) 4422Solution: Set "skip_match" to advance to the next line. 4423Files: src/ex_cmds.c 4424 4425Patch 7.0.218 4426Problem: "%B" in 'statusline' always shows zero in Insert mode. (DervishD) 4427Solution: Remove the exception for Insert mode, check the column for being 4428 valid instead. 4429Files: src/buffer.c 4430 4431Patch 7.0.219 4432Problem: When using the 'editexisting.vim' script and a file is being 4433 edited in another tab page the window is split. The "+123" 4434 argument is not used. 4435Solution: Make the tab page with the file the current tab page. Set 4436 v:swapcommand when starting up to the first "+123" or "-c" command 4437 line argument. 4438Files: runtime/macros/editexisting.vim, src/main.c 4439 4440Patch 7.0.220 4441Problem: Crash when using winnr('#') in a new tab page. (Andy Wokula) 4442Solution: Check for not finding the window. 4443Files: src/eval.c 4444 4445Patch 7.0.221 4446Problem: finddir() uses 'path' by default, where "." means relative to the 4447 current file. But it works relative to the current directory. 4448 (Tye Zdrojewski) 4449Solution: Add the current buffer name to find_file_in_path_option() for the 4450 relative file name. 4451Files: runtime/doc/eval.txt, src/eval.c 4452 4453Patch 7.0.222 4454Problem: Perl indenting using 'cindent' works almost right. 4455Solution: Recognize '#' to start a comment. (Alex Manoussakis) Added '#' 4456 flag in 'cinoptions'. 4457Files: runtime/doc/indent.txt, src/misc1.c 4458 4459Patch 7.0.223 4460Problem: Unprintable characters in completion text mess up the popup menu. 4461 (Gombault Damien) 4462Solution: Use strtrans() to make the text printable. 4463Files: src/charset.c, src/popupmnu.c 4464 4465Patch 7.0.224 4466Problem: When expanding "##" spaces are escaped twice. (Pavol Juhas) 4467Solution: Don't escape the spaces that separate arguments. 4468Files: src/eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro 4469 4470Patch 7.0.225 4471Problem: When using setline() in an InsertEnter autocommand and doing "A" 4472 the cursor ends up on the last byte in the line. (Yukihiro 4473 Nakadaira) 4474Solution: Only adjust the column when using setline() for the cursor line. 4475 Move it back to the head byte if necessary. 4476Files: src/eval.c, src/misc2.c 4477 4478Patch 7.0.226 4479Problem: Display flickering when updating signs through the netbeans 4480 interface. (Xavier de Gaye) 4481Solution: Remove the redraw_later(CLEAR) call. 4482Files: src/netbeans.c 4483 4484Patch 7.0.227 4485Problem: Crash when closing a window in the GUI. (Charles Campbell) 4486Solution: Don't call out_flush() from win_free(). 4487Files: src/window.c 4488 4489Patch 7.0.228 4490Problem: Cygwin: problem with symlink to DOS style path. 4491Solution: Invoke cygwin_conv_to_posix_path(). (Luca Masini) 4492Files: src/os_unix.c 4493 4494Patch 7.0.229 4495Problem: When 'pastetoggle' starts with Esc then pressing Esc in Insert 4496 mode will not time out. (Jeffery Small) 4497Solution: Use KL_PART_KEY instead of KL_PART_MAP, so that 'ttimeout' applies 4498 to the 'pastetoggle' key. 4499Files: src/getchar.c 4500 4501Patch 7.0.230 4502Problem: After using ":lcd" a script doesn't know how to restore the 4503 current directory. 4504Solution: Add the haslocaldir() function. (Bob Hiestand) 4505Files: runtime/doc/usr_41.txt, runtime/doc/eval.txt, src/eval.c 4506 4507Patch 7.0.231 4508Problem: When recovering from a swap file the page size is likely to be 4509 different from the minimum. The block used for the first page 4510 then has a buffer of the wrong size, causing a crash when it's 4511 reused later. (Zephaniah Hull) 4512Solution: Reallocate the buffer when the page size changes. Also check that 4513 the page size is at least the minimum value. 4514Files: src/memline.c 4515 4516Patch 7.0.232 (extra) 4517Problem: Mac: doesn't support GUI tab page labels. 4518Solution: Add GUI tab page labels. (Nicolas Weber) 4519Files: src/feature.h, src/gui.c, src/gui.h, src/gui_mac.c, 4520 src/proto/gui_mac.pro 4521 4522Patch 7.0.233 (extra) 4523Problem: Mac: code formatted badly. 4524Solution: Fix code formatting 4525Files: src/gui_mac.c 4526 4527Patch 7.0.234 4528Problem: It's possible to use feedkeys() from a modeline. That is a 4529 security issue, can be used for a trojan horse. 4530Solution: Disallow using feedkeys() in the sandbox. 4531Files: src/eval.c 4532 4533Patch 7.0.235 4534Problem: It is possible to use writefile() in the sandbox. 4535Solution: Add a few more checks for the sandbox. 4536Files: src/eval.c 4537 4538Patch 7.0.236 4539Problem: Linux 2.4 uses sysinfo() with a mem_unit field, which is not 4540 backwards compatible. 4541Solution: Add an autoconf check for sysinfo.mem_unit. Let mch_total_mem() 4542 return Kbyte to avoid overflow. 4543Files: src/auto/configure, src/configure.in, src/config.h.in, 4544 src/option.c, src/os_unix.c 4545 4546Patch 7.0.237 4547Problem: For root it is recommended to not use 'modeline', but in 4548 not-compatible mode the default is on. 4549Solution: Let 'modeline' default to off for root. 4550Files: runtime/doc/options.txt, src/option.c 4551 4552Patch 7.0.238 4553Problem: Crash when ":match" pattern runs into 'maxmempattern'. (Yakov 4554 Lerner) 4555Solution: Don't free the regexp program of match_hl. 4556Files: src/screen.c 4557 4558Patch 7.0.239 4559Problem: When using local directories and tab pages ":mksession" uses a 4560 short file name when it shouldn't. Window-local options from a 4561 modeline may be applied to the wrong window. (Teemu Likonen) 4562Solution: Add the did_lcd flag, use the full path when it's set. Don't use 4563 window-local options from the modeline when using the current 4564 window for another buffer in ":doautoall". 4565Files: src/fileio.c, src/ex_docmd.c 4566 4567Patch 7.0.240 4568Problem: Crash when splitting a window in the GUI. (opposite of 7.0.227) 4569Solution: Don't call out_flush() from win_alloc(). Also avoid this for 4570 win_delete(). Also block autocommands while the window structure 4571 is invalid. 4572Files: src/window.c 4573 4574Patch 7.0.241 4575Problem: ":windo throw 'foo'" loops forever. (Andy Wokula) 4576Solution: Detect that win_goto() doesn't work. 4577Files: src/ex_cmds2.c 4578 4579Patch 7.0.242 (extra) 4580Problem: Win32: Using "-register" in a Vim that does not support OLE causes 4581 a crash. 4582Solution: Don't use EMSG() but mch_errmsg(). Check p_go for being NULL. 4583 (partly by Michael Wookey) 4584Files: src/gui_w32.c 4585 4586Patch 7.0.243 (extra) 4587Problem: Win32: When GvimExt is built with MSVC 2005 or later, the "Edit 4588 with vim" context menu doesn't appear in the Windows Explorer. 4589Solution: Embed the linker manifest file into the resources of GvimExt.dll. 4590 (Mathias Michaelis) 4591Files: src/GvimExt/Makefile 4592 4593 4594Fixes after Vim 7.1a BETA: 4595 4596The extra archive had CVS directories included below "farsi" and 4597"runtime/icons". CVS was missing the farsi icon files. 4598 4599Fix compiling with Gnome 2.18, undefine bind_textdomain_codeset. (Daniel 4600Drake) 4601 4602Mac: "make install" didn't copy rgb.txt. 4603 4604When editing a compressed file while there are folds caused "ml_get" errors 4605and some lines could be missing. When decompressing failed option values were 4606not restored. 4607 4608 4609Patch 7.1a.001 4610Problem: Crash when downloading a spell file. (Szabolcs Horvat) 4611Solution: Avoid that did_set_spelllang() is used recursively when a new 4612 window is opened for the download. 4613 Also avoid wiping out the wrong buffer. 4614Files: runtime/autoload/spellfile.vim, src/buffer.c, src/ex_cmds.c, 4615 src/spell.c 4616 4617Patch 7.1a.002 (extra) 4618Problem: Compilation error with MingW. 4619Solution: Check for LPTOOLTIPTEXT to be defined. 4620Files: src/gui_w32.c 4621 4622 4623Fixes after Vim 7.1b BETA: 4624 4625Made the Mzscheme interface build both with old and new versions of Mzscheme, 4626using an #ifdef. (Sergey Khorev) 4627Mzscheme interface didn't link, missing function. Changed order of libraries 4628in the configure script. 4629 4630Ruby interface didn't compile on Mac. Changed #ifdef. (Kevin Ballard) 4631 4632Patch 7.1b.001 (extra) 4633Problem: Random text in a source file. No idea how it got there. 4634Solution: Delete the text. 4635Files: src/gui_w32.c 4636 4637Patch 7.1b.002 4638Problem: When 'maxmem' is large there can be an overflow in computations. 4639 (Thomas Wiegner) 4640Solution: Use the same mechanism as in mch_total_mem(): first reduce the 4641 multiplier as much as possible. 4642Files: src/memfile.c 4643 4644============================================================================== 4645VERSION 7.2 *version-7.2* *version7.2* 4646 4647This section is about improvements made between version 7.1 and 7.2. 4648 4649This is mostly a bug-fix release. The main new feature is floating point 4650support. |Float| 4651 4652 4653Changed *changed-7.2* 4654------- 4655 4656Changed the command line buffer name from "command-line" to "[Command Line]". 4657 4658Removed optional ! for ":caddexpr", ":cgetexpr", ":cgetfile", ":laddexpr", 4659":lgetexpr" and ":lgetfile". They are not needed. (Yegappan Lakshmanan) 4660 4661An offset for syntax matches worked on bytes instead of characters. That is 4662inconsistent and can easily be done wrong. Use character offsets now. 4663(Yukihiro Nakadaira) 4664 4665The FileChangedShellPost event was also given when a file didn't change. 4666(John Little) 4667 4668When the current line is long (doesn't fit) the popup menu can't be seen. 4669Display it below the screen line instead of below the text line. 4670(Francois Ingelrest) 4671 4672Switched to autoconf version 2.62. 4673 4674Moved including fcntl.h to vim.h and removed it from all .c files. 4675 4676Introduce macro STRMOVE(d, s), like STRCPY() for overlapping strings. 4677Use it instead of mch_memmove(p, p + x, STRLEN(p + x) + 1). 4678 4679Removed the bulgarian.vim keymap file, two more standard ones replace it. 4680(Boyko Bantchev) 4681 4682Increased the maximum number of tag matches for command line completion from 4683200 to 300. 4684 4685Renamed help file sql.txt to ft_sql.txt and ada.txt to ft_ada.txt. 4686 4687 4688Added *added-7.2* 4689----- 4690 4691New syntax files: 4692 CUDA (Timothy B. Terriberry) 4693 Cdrdao config (Nikolai Weibull) 4694 Coco/R (Ashish Shukla) 4695 Denyhosts config (Nikolai Weibull) 4696 Dtrace script (Nicolas Weber) 4697 Git output, commit, config, rebase, send-email (Tim Pope) 4698 HASTE and HastePreProc (M. Tranchero) 4699 Haml (Tim Pope) 4700 Host conf (Nikolai Weibull) 4701 Linden script (Timo Frenay) 4702 MS messages (Kevin Locke) 4703 PDF (Tim Pope) 4704 ProMeLa (Maurizio Tranchero) 4705 Reva Foth (Ron Aaron) 4706 Sass (Tim Pope) 4707 Symbian meta-makefile, MMP (Ron Aaron) 4708 VOS CM macro (Andrew McGill) 4709 XBL (Doug Kearns) 4710 4711New tutor files: 4712 Made UTF-8 versions of all the tutor files. 4713 Greek renamed from ".gr" to ".el" (Greek vs Greece). 4714 Esperanto (Dominique Pelle) 4715 Croatian (Paul B. Mahol) 4716 4717New filetype plugins: 4718 Cdrdao config (Nikolai Weibull) 4719 Debian control files (Debian Vim maintainers) 4720 Denyhosts (Nikolai Weibull) 4721 Dos .ini file (Nikolai Weibull) 4722 Dtrace script (Nicolas Weber) 4723 FnameScript (Nikolai Weibull) 4724 Git, Git config, Git commit, Git rebase, Git send-email (Tim Pope) 4725 Haml (Tim Pope) 4726 Host conf (Nikolai Weibull) 4727 Host access (Nikolai Weibull) 4728 Logtalk (Paulo Moura) 4729 MS messages (Kevin Locke) 4730 NSIS script (Nikolai Weibull) 4731 PDF (Tim Pope) 4732 Reva Forth (Ron Aaron) 4733 Sass (Tim Pope) 4734 4735New indent files: 4736 DTD (Nikolai Weibull) 4737 Dtrace script (Nicolas Weber) 4738 Erlang (Csaba Hoch) 4739 FrameScript (Nikolai Weibull) 4740 Git config (Tim Pope) 4741 Haml (Tim Pope) 4742 Logtalk (Paulo Moura) 4743 Sass (Tim Pope) 4744 Tiny Fugue (Christian J. Robinson) 4745 4746New compiler plugins: 4747 RSpec (Tim Pope) 4748 4749New keymap files: 4750 Croatian (Paul B. Mahol) 4751 Russian Dvorak (Serhiy Boiko) 4752 Ukrainian Dvorak (Serhiy Boiko) 4753 Removed plain Bulgarian, "bds" and phonetic are sufficient. 4754 4755Other new runtime files: 4756 Esperanto menu and message translations. (Dominique Pelle) 4757 Finnish menu and message translations. (Flammie Pirinen) 4758 Brazilian Portuguese message translations. (Eduardo Dobay) 4759 4760Added floating point support. |Float| 4761 4762Added argument to mode() to return a bit more detail about the current mode. 4763(Ben Schmidt) 4764 4765Added support for BSD console mouse: |sysmouse|. (Paul B. Mahol) 4766 4767Added the "newtab" value for the 'switchbuf' option. (partly by Yegappan 4768Lakshmanan) 4769 4770Improved error messages for the netbeans interface. (Philippe Fremy) 4771 4772Added support for using xterm mouse codes for screen. (Micah Cowan) 4773 4774Added support for cross compiling: 4775Adjusted configure.in and added INSTALLcross.txt. (Marc Haisenko) Fixed 4776mistakes in configure.in after that. 4777Don't use /usr/local/include and /usr/local/lib in configure. (Philip 4778Prindeville) 4779For cross compiling the Cygwin version on Unix, change VIM.TLB to vim.tlb in 4780src/vim.rc. (Tsuneo Nakagawa) 4781 4782Added v:searchforward variable: What direction we're searching in. (Yakov 4783Lerner) 4784 4785 4786Fixed *fixed-7.2* 4787----- 4788 4789Patch 7.1.001 4790Problem: Still can't build with Gnome libraries. 4791Solution: Fix typo in bind_textdomain_codeset. (Mike Kelly) 4792Files: src/gui_gtk.c, src/gui_gtk_x11.c 4793 4794Patch 7.1.002 4795Problem: Oracle Pro*C/C++ files are not detected. 4796Solution: Add the missing star. (Micah J. Cowan) 4797Files: runtime/filetype.vim 4798 4799Patch 7.1.003 (extra) 4800Problem: The "Tear off this menu" message appears in the message history 4801 when using a menu. (Yongwei Wu) 4802Solution: Disable message history when displaying the menu tip. 4803Files: src/gui_w32.c 4804 4805Patch 7.1.004 4806Problem: Crash when doing ":next directory". (Raphael Finkel) 4807Solution: Do not use "buf", it may be invalid after autocommands. 4808Files: src/ex_cmds.c 4809 4810Patch 7.1.005 4811Problem: "cit" used on <foo></foo> deletes <foo>. Should not delete 4812 anything and start insertion, like "ci'" does on "". (Michal 4813 Bozon) 4814Solution: Handle an empty object specifically. Made it work consistent for 4815 various text objects. 4816Files: src/search.c 4817 4818Patch 7.1.006 4819Problem: Resetting 'modified' in a StdinReadPost autocommand doesn't work. 4820Solution: Set 'modified' before the autocommands instead of after it. 4821Files: src/buffer.c 4822 4823Patch 7.1.007 (extra) 4824Problem: Mac: Context menu doesn't work on Intel Macs. 4825 Scrollbars are not dimmed when Vim is not the active application. 4826Solution: Remove the test whether context menus are supported. They are 4827 always there in OS/X. Handle the dimming. (Nicolas Weber) 4828Files: src/gui_mac.c, src/gui.h 4829 4830Patch 7.1.008 4831Problem: getfsize() returns a negative number for very big files. 4832Solution: Check for overflow and return -2. 4833Files: runtime/doc/eval.txt, src/eval.c 4834 4835Patch 7.1.009 4836Problem: In diff mode, displaying the difference between a tab and spaces 4837 is not highlighted correctly. 4838Solution: Only change highlighting at the end of displaying a tab. 4839Files: src/screen.c 4840 4841Patch 7.1.010 4842Problem: The Gnome session file doesn't restore tab pages. 4843Solution: Add SSOP_TABPAGES to the session flags. (Matias D'Ambrosio) 4844Files: src/gui_gtk_x11.c 4845 4846Patch 7.1.011 4847Problem: Possible buffer overflow when $VIMRUNTIME is very long. (Victor 4848 Stinner) 4849Solution: Use vim_snprintf(). 4850Files: src/main.c 4851 4852Patch 7.1.012 4853Problem: ":let &shiftwidth = 'asdf'" doesn't produce an error message. 4854Solution: Check for a string argument. (Chris Lubinski) 4855Files: src/option.c 4856 4857Patch 7.1.013 4858Problem: ":syn include" only loads the first file, while it is documented 4859 as doing the equivalent of ":runtime!". 4860Solution: Change the argument to source_runtime(). (James Vega) 4861Files: src/syntax.c 4862 4863Patch 7.1.014 4864Problem: Crash when doing C indenting. (Chris Monson) 4865Solution: Obtain the current line again after invoking cin_islabel(). 4866Files: src/edit.c 4867 4868Patch 7.1.015 4869Problem: MzScheme interface: current-library-collection-paths produces no 4870 list. Interface doesn't build on a Mac. 4871Solution: Use a list instead of a pair. (Bernhard Fisseni) Use "-framework" 4872 argument for MZSCHEME_LIBS in configure. 4873Files: src/configure.in, src/if_mzsch.c, src/auto/configure 4874 4875Patch 7.1.016 (after patch 7.1.012) 4876Problem: Error message about setting 'diff' to a string. 4877Solution: Don't pass an empty string to set_option_value() when setting 4878 'diff'. 4879Files: src/quickfix.c, src/popupmnu.c 4880 4881Patch 7.1.017 4882Problem: ":confirm w" does give a prompt when 'readonly' is set, but not 4883 when the file permissions are read-only. (Michael Schaap) 4884Solution: Provide a dialog in both situations. (Chris Lubinski) 4885Files: src/ex_cmds.c, src/fileio.c, src/proto/fileio.pro 4886 4887Patch 7.1.018 4888Problem: When 'virtualedit' is set a "p" of a block just past the end of 4889 the line inserts before the cursor. (Engelke) 4890Solution: Check for the cursor being just after the line (Chris Lubinski) 4891Files: src/ops.c 4892 4893Patch 7.1.019 4894Problem: ":py" asks for an argument, ":py asd" then gives the error that 4895 ":py" isn't implemented. Should already happen for ":py". 4896Solution: Compare with ex_script_ni. (Chris Lubinski) 4897Files: src/ex_docmd.c 4898 4899Patch 7.1.020 4900Problem: Reading from uninitialized memory when using a dialog. (Dominique 4901 Pelle) 4902Solution: In msg_show_console_dialog() append a NUL after every appended 4903 character. 4904Files: src/message.c 4905 4906Patch 7.1.021 (after 7.1.015) 4907Problem: Mzscheme interface doesn't compile on Win32. 4908Solution: Fix the problem that 7.1.015 fixed in a better way. (Sergey Khorev) 4909Files: src/if_mzsch.c 4910 4911Patch 7.1.022 4912Problem: When setting 'keymap' twice the b:keymap_name variable isn't set. 4913 (Milan Berta) 4914Solution: Don't unlet b:keymap_name for ":loadkeymap". (Martin Toft) 4915Files: src/digraph.c 4916 4917Patch 7.1.023 4918Problem: "dw" in a line with one character deletes the line. Vi and nvi 4919 don't do this. (Kjell Arne Rekaa) 4920Solution: Check for one-character words especially. 4921Files: src/search.c 4922 4923Patch 7.1.024 4924Problem: Using a pointer that has become invalid. (Chris Monson) 4925Solution: Obtain the line pointer again after we looked at another line. 4926Files: src/search.c 4927 4928Patch 7.1.025 4929Problem: search() and searchpos() don't use match under cursor at start of 4930 line when using 'bc' flags. (Viktor Kojouharov) 4931Solution: Don't go to the previous line when the 'c' flag is present. 4932 Also fix that "j" doesn't move the cursor to the right column. 4933Files: src/eval.c, src/search.c 4934 4935Patch 7.1.026 4936Problem: "[p" doesn't work in Visual mode. (David Brown) 4937Solution: Use checkclearop() instead of checkclearopq(). 4938Files: src/normal.c 4939 4940Patch 7.1.027 4941Problem: On Sun systems opening /dev/fd/N doesn't work, and they are used 4942 by process substitutions. 4943Solution: Allow opening specific character special files for Sun systems. 4944 (Gary Johnson) 4945Files: src/fileio.c, src/os_unix.h 4946 4947Patch 7.1.028 4948Problem: Can't use last search pattern for ":sort". (Brian McKee) 4949Solution: When the pattern is empty use the last search pattern. (Martin 4950 Toft) 4951Files: runtime/doc/change.txt, src/ex_cmds.c 4952 4953Patch 7.1.029 (after 7.1.019) 4954Problem: Can't compile when all interfaces are used. (Taylor Venable) 4955Solution: Only check for ex_script_ni when it's defined. 4956Files: src/ex_docmd.c 4957 4958Patch 7.1.030 4959Problem: The "vimtutor" shell script checks for "vim6" but not for "vim7". 4960 (Christian Robinson) 4961Solution: Check for more versions, but prefer using "vim". 4962Files: src/vimtutor 4963 4964Patch 7.1.031 4965Problem: virtcol([123, '$']) doesn't work. (Michael Schaap) 4966Solution: When '$' is used for the column number get the last column. 4967Files: runtime/doc/eval.txt, src/eval.c 4968 4969Patch 7.1.032 4970Problem: Potential crash when editing a command line. (Chris Monson) 4971Solution: Check the position to avoid access before the start of an array. 4972Files: src/ex_getln.c 4973 4974Patch 7.1.033 4975Problem: A buffer is marked modified when it was first deleted and then 4976 added again using a ":next" command. (John Mullin) 4977Solution: When checking if a buffer is modified use the BF_NEVERLOADED flag. 4978Files: src/option.c 4979 4980Patch 7.1.034 4981Problem: Win64: A few compiler warnings. Problems with optimizer. 4982Solution: Use int instead of size_t. Disable the optimizer in one function. 4983 (George V. Reilly) 4984Files: src/eval.c, src/spell.c 4985 4986Patch 7.1.035 4987Problem: After ":s/./&/#" all listed lines have a line number. (Yakov 4988 Lerner) 4989Solution: Reset the line number flag when not using the "&" flag. 4990Files: src/ex_cmds.c 4991 4992Patch 7.1.036 4993Problem: Completing ":echohl" argument should include "None". (Ori 4994 Avtalion) ":match" should have "none" too. 4995Solution: Add flags to use expand_highlight(). Also fix that when disabling 4996 FEAT_CMDL_COMPL compilation fails. (Chris Lubinski) 4997Files: src/eval.c, src/ex_docmd.c, src/ex_getln.c, src/proto/syntax.pro 4998 src/syntax.c 4999 5000Patch 7.1.037 5001Problem: strcpy() used for overlapping strings. (Chris Monson) 5002Solution: Use mch_memmove() instead. 5003Files: src/option.c 5004 5005Patch 7.1.038 5006Problem: When 'expandtab' is set then a Tab copied for 'copyindent' is 5007 expanded to spaces, even when 'preserveindent' is set. (Alexei 5008 Alexandrov) 5009Solution: Remove the check for 'expandtab'. Also fix that ">>" doesn't obey 5010 'preserveindent'. (Chris Lubinski) 5011Files: src/misc1.c 5012 5013Patch 7.1.039 5014Problem: A tag in a help file that starts with "help-tags" and contains a 5015 percent sign may make Vim crash. (Ulf Harnhammar) 5016Solution: Use puts() instead of fprintf(). 5017Files: src/ex_cmds.c 5018 5019Patch 7.1.040 5020Problem: ":match" only supports three matches. 5021Solution: Add functions clearmatches(), getmatches(), matchadd(), 5022 matchdelete() and setmatches(). Changed the data structures for 5023 this. A small bug in syntax.c is fixed, so newly created 5024 highlight groups can have their name resolved correctly from their 5025 ID. (Martin Toft) 5026Files: runtime/doc/eval.txt, runtime/doc/pattern.txt, 5027 runtime/doc/usr_41.txt, src/eval.c, src/ex_docmd.c, 5028 src/proto/window.pro, src/screen.c, src/structs.h, src/syntax.c, 5029 src/testdir/Makefile, src/testdir/test63.in, 5030 src/testdir/test63.ok, src/window.c 5031 5032Patch 7.1.041 (extra, after 7.1.040) 5033Problem: Some changes for patch 7.1.040 are in extra files. 5034Solution: Update the extra files. 5035Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 5036 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 5037 5038Patch 7.1.042 (after 7.1.040) 5039Problem: Internal error when using matchadd(). (David Larson) 5040Solution: Check the third argument to be present before using the fourth 5041 argument. (Martin Toft) 5042Files: src/eval.c 5043 5044Patch 7.1.043 5045Problem: In Ex mode using CTRL-D twice may cause a crash. Cursor isn't 5046 positioned properly after CTRL-D. 5047Solution: Set prev_char properly. Position the cursor correctly. (Antony 5048 Scriven) 5049Files: src/ex_getln.c 5050 5051Patch 7.1.044 5052Problem: In Insert mode 0 CTRL-T deletes all indent, it should add indent. 5053 (Gautam Iyer) 5054Solution: Check for CTRL-D typed. 5055Files: src/edit.c 5056 5057Patch 7.1.045 5058Problem: Unnecessary screen redrawing. (Jjgod Jiang) 5059Solution: Reset "must_redraw" after clearing the screen. 5060Files: src/screen.c 5061 5062Patch 7.1.046 5063Problem: ":s" command removes combining characters. (Ron Aaron) 5064Solution: Copy composing characters individually. (Chris Lubinski) 5065Files: src/regexp.c 5066 5067Patch 7.1.047 5068Problem: vim_regcomp() called with invalid argument. (Xiaozhou Liu) 5069Solution: Change TRUE to RE_MAGIC + RE_STRING. 5070Files: src/ex_eval.c 5071 5072Patch 7.1.048 5073Problem: The matchparen plugin doesn't update the match when scrolling with 5074 the mouse wheel. (Ilya Bobir) 5075Solution: Set the match highlighting for text that can be scrolled into the 5076 viewable area without moving the cursor. (Chris Lubinski) 5077Files: runtime/plugin/matchparen.vim 5078 5079Patch 7.1.049 5080Problem: Cannot compile GTK2 version with Hangul input feature. 5081Solution: Don't define FEAT_XFONTSET when using GTK2. 5082Files: src/feature.h 5083 5084Patch 7.1.050 5085Problem: Possible crash when using C++ indenting. (Chris Monson) 5086Solution: Keep the line pointer to the line to compare with. Avoid going 5087 past the end of line. 5088Files: src/misc1.c 5089 5090Patch 7.1.051 5091Problem: Accessing uninitialized memory when finding spell suggestions. 5092Solution: Don't try swapping characters at the end of a word. 5093Files: src/spell.c 5094 5095Patch 7.1.052 5096Problem: When creating a new match not all fields are initialized, which 5097 may lead to unpredictable results. 5098Solution: Initialise rmm_ic and rmm_maxcol. 5099Files: src/window.c 5100 5101Patch 7.1.053 5102Problem: Accessing uninitialized memory when giving a message. 5103Solution: Check going the length before checking for a NUL byte. 5104Files: src/message.c 5105 5106Patch 7.1.054 5107Problem: Accessing uninitialized memory when displaying the fold column. 5108Solution: Add a NUL to the extra array. (Dominique Pelle). Also do this in 5109 a couple of other situations. 5110Files: src/screen.c 5111 5112Patch 7.1.055 5113Problem: Using strcpy() with arguments that overlap. 5114Solution: Use mch_memmove() instead. 5115Files: src/buffer.c, src/charset.c, src/eval.c, src/ex_getln.c, 5116 src/misc1.c, src/regexp.c, src/termlib.c 5117 5118Patch 7.1.056 5119Problem: More prompt does not behave correctly after scrolling back. 5120 (Randall W. Morris) 5121Solution: Avoid lines_left becomes negative. (Chris Lubinski) Don't check 5122 mp_last when deciding to show the more prompt. (Martin Toft) 5123Files: src/message.c 5124 5125Patch 7.1.057 5126Problem: Problem with CursorHoldI when using "r" in Visual mode (Max 5127 Dyckhoff) 5128Solution: Ignore CursorHold(I) when getting a second character for a Normal 5129 mode command. Also abort the "r" command in Visual when a special 5130 key is typed. 5131Files: src/normal.c 5132 5133Patch 7.1.058 5134Problem: When 'rightleft' is set the completion menu is positioned wrong. 5135 (Baha-Eddine MOKADEM) 5136Solution: Fix the completion menu. (Martin Toft) 5137Files: src/popupmnu.c, src/proto/search.pro, src/search.c 5138 5139Patch 7.1.059 5140Problem: When in Ex mode and doing "g/^/vi" and then pressing CTRL-C Vim 5141 hangs and beeps. (Antony Scriven) 5142Solution: Clear "got_int" in the main loop to avoid the hang. When typing 5143 CTRL-C twice in a row abort the ":g" command. This is Vi 5144 compatible. 5145Files: src/main.c 5146 5147Patch 7.1.060 5148Problem: Splitting quickfix window messes up window layout. (Marius 5149 Gedminas) 5150Solution: Compute the window size in a smarter way. (Martin Toft) 5151Files: src/window.c 5152 5153Patch 7.1.061 5154Problem: Win32: When 'encoding' is "latin1" 'ignorecase' doesn't work for 5155 characters with umlaut. (Joachim Hofmann) 5156Solution: Do not use islower()/isupper()/tolower()/toupper() but our own 5157 functions. (Chris Lubinski) 5158Files: src/mbyte.c, src/regexp.c, src/vim.h 5159 5160Patch 7.1.062 (after 7.1.038) 5161Problem: Indents of C comments can be wrong. (John Mullin) 5162Solution: Adjust ind_len. (Chris Lubinski) 5163Files: src/misc1.c 5164 5165Patch 7.1.063 (after 7.1.040) 5166Problem: Warning for uninitialized variable. 5167Solution: Initialise it to NULL. 5168Files: src/ex_docmd.c 5169 5170Patch 7.1.064 5171Problem: On Interix some files appear not to exist. 5172Solution: Remove the top bit from st_mode. (Ligesh) 5173Files: src/os_unix.c 5174 5175Patch 7.1.065 (extra) 5176Problem: Win32: Compilation problem for newer version of w32api. 5177Solution: Only define __IID_DEFINED__ when needed. (Chris Sutcliffe) 5178Files: src/Make_ming.mak, src/iid_ole.c 5179 5180Patch 7.1.066 5181Problem: When 'bomb' is set or reset the file should be considered 5182 modified. (Tony Mechelynck) 5183Solution: Handle like 'endofline'. (Martin Toft) 5184Files: src/buffer.c, src/fileio.c, src/option.c, src/structs.h 5185 5186Patch 7.1.067 5187Problem: 'thesaurus' doesn't work when 'infercase' is set. (Mohsin) 5188Solution: Don't copy the characters being completed but check the case and 5189 apply it to the suggested word. Also fix that the first word in 5190 the thesaurus line is not used. (Martin Toft) 5191Files: src/edit.c 5192 5193Patch 7.1.068 5194Problem: When 'equalalways' is set and splitting a window, it's possible 5195 that another small window gets bigger. 5196Solution: Only equalize window sizes when after a split the windows are 5197 smaller than another window. (Martin Toft) 5198Files: runtime/doc/options.txt, runtime/doc/windows.txt, src/window.c 5199 5200Patch 7.1.069 5201Problem: GTK GUI: When using confirm() without a default button there still 5202 is a default choice. 5203Solution: Ignore Enter and Space when there is no default button. (Chris 5204 Lubinski) 5205Files: src/gui_gtk.c 5206 5207Patch 7.1.070 (extra) 5208Problem: Win32 GUI: When using confirm() without a default button there 5209 still is a default choice. 5210Solution: Set focus on something else than a button. (Chris Lubinski) 5211Files: src/gui_w32.c 5212 5213Patch 7.1.071 (after 7.1.040) 5214Problem: Regexp patterns are not tested. 5215Solution: Add a basic test, to be expanded later. 5216 Also add (commented-out) support for valgrind. 5217Files: src/testdir/Makefile, src/testdir/test64.in, src/testdir/test64.ok 5218 5219Patch 7.1.072 (extra, after 7.1.041 and 7.1.071) 5220Problem: Some changes for patch 7.1.071 are in extra files. 5221Solution: Update the extra files. Also fix a few warnings from the DOS test 5222 makefile. 5223Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 5224 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 5225 5226Patch 7.1.073 (after 7.1.062) 5227Problem: Wrong cursor position and crash when 'preserveindent' is set. 5228 (Charles Campbell) 5229Solution: Handle the situation that we start without indent. (Chris 5230 Lubinski) 5231Files: src/misc1.c 5232 5233Patch 7.1.074 5234Problem: Crash when calling string() on a recursively nested List. 5235Solution: Check result value for being NULL. (Yukihiro Nakadaira) 5236Files: src/eval.c 5237 5238Patch 7.1.075 5239Problem: ":let v:statusmsg" reads memory already freed. 5240Solution: Don't set v:statusmsg when listing it. 5241Files: src/eval.c 5242 5243Patch 7.1.076 5244Problem: Another strcpy() with overlapping arguments. 5245Solution: Use mch_memmove(). (Dominique Pelle) And another one. 5246Files: src/ex_docmd.c, src/normal.c 5247 5248Patch 7.1.077 5249Problem: Using "can_spell" without initializing it. (Dominique Pelle) 5250Solution: Set a default for get_syntax_attr(). 5251Files: src/syntax.c 5252 5253Patch 7.1.078 5254Problem: Dropping a file name on gvim that contains a CSI byte doesn't work 5255 when editing the command line. 5256Solution: Escape the CSI byte when inserting in the input buffer. (Yukihiro 5257 Nakadaira) 5258Files: src/gui.c, src/ui.c 5259 5260Patch 7.1.079 5261Problem: When the locale is "C" and 'encoding' is "latin1" then the "@" 5262 character in 'isfname', 'isprint', etc. doesn't pick up accented 5263 characters. 5264Solution: Instead of isalpha() use MB_ISLOWER() and MB_ISUPPER(). 5265Files: src/charset.c, src/macros.h 5266 5267Patch 7.1.080 (extra) 5268Problem: Compiler warnings for using "const char *" for "char *". 5269Solution: Add type casts. (Chris Sutcliffe) 5270Files: src/GvimExt/gvimext.cpp 5271 5272Patch 7.1.081 5273Problem: Command line completion for a shell command: "cat </tmp/file<Tab>" 5274 doesn't work. 5275Solution: Start the file name at any character that can't be in a file name. 5276 (Martin Toft) 5277Files: src/ex_docmd.c 5278 5279Patch 7.1.082 5280Problem: After a ":split" the matchparen highlighting isn't there. 5281Solution: Install a WinEnter autocommand. Also fixes that after 5282 ":NoMatchParen" only the current window is updated. (Martin Toft) 5283Files: runtime/doc/pi_paren.txt, runtime/plugin/matchparen.vim 5284 5285Patch 7.1.083 (after 7.1.081) 5286Problem: Command line completion doesn't work with wildcards. 5287Solution: Add vim_isfilec_or_wc() and use it. (Martin Toft) 5288Files: src/charset.c, src/proto/charset.pro, src/ex_docmd.c 5289 5290Patch 7.1.084 5291Problem: Using the "-nb" argument twice causes netbeans not to get 5292 fileOpened events. 5293Solution: Change "&" to "&&". (Xavier de Gaye) 5294Files: src/ex_cmds.c 5295 5296Patch 7.1.085 5297Problem: ":e fold.c" then ":sp fold.c" results in folds of original window 5298 to disappear. (Akita Noek) 5299Solution: Invoke foldUpdateAll() for all windows of the changed buffer. 5300 (Martin Toft) 5301Files: src/ex_cmds.c 5302 5303Patch 7.1.086 5304Problem: Crash when using specific Python syntax highlighting. (Quirk) 5305Solution: Check for a negative index, coming from a keyword match at the 5306 start of a line from a saved state. 5307Files: src/syntax.c 5308 5309Patch 7.1.087 5310Problem: Reading past ":cscope find" command. Writing past end of a buffer. 5311Solution: Check length of the argument before using the pattern. Use 5312 vim_strncpy(). (Dominique Pelle) 5313Files: if_cscope.c 5314 5315Patch 7.1.088 (extra) 5316Problem: The coordinates used by ":winpos" differ from what getwinposx() 5317 and getwinposy() return. 5318Solution: Use MoveWindowStructure() instead of MoveWindow(). (Michael Henry) 5319Files: src/gui_mac.c 5320 5321Patch 7.1.089 5322Problem: ":let loaded_getscriptPlugin" doesn't clear to eol, result is 5323 "#1in". 5324Solution: Clear to the end of the screen after displaying the first variable 5325 value. 5326Files: src/eval.c 5327 5328Patch 7.1.090 5329Problem: Compiler warning on Mac OS X 10.5. 5330Solution: Don't redeclare sigaltstack(). (Hisashi T Fujinaka) 5331Files: src/os_unix.c 5332 5333Patch 7.1.091 (extra) 5334Problem: Win32: Can't embed Vim inside another application. 5335Solution: Add the --windowid argument. (Nageshwar) 5336Files: runtime/doc/gui_w32.txt, runtime/doc/starting.txt, 5337 runtime/doc/vi_diff.txt, src/globals.h, src/gui_w32.c, src/main.c 5338 5339Patch 7.1.092 (extra, after 7.1.088) 5340Problem: Wrong arguments for MoveWindowStructure(). 5341Solution: Remove "TRUE". (Michael Henry) 5342Files: src/gui_mac.c 5343 5344Patch 7.1.093 5345Problem: Reading past end of a screen line when determining cell width. 5346 (Dominique Pelle) 5347Solution: Add an argument to mb_off2cells() for the maximum offset. 5348Files: src/globals.h, src/gui.c, src/mbyte.c, src/proto/mbyte.pro, 5349 src/screen.c 5350 5351Patch 7.1.094 5352Problem: When checking if syntax highlighting is present, looking in the 5353 current buffer instead of the specified one. 5354Solution: Use "buf" instead of "curbuf". 5355Files: src/syntax.c 5356 5357Patch 7.1.095 5358Problem: The FocusLost and FocusGained autocommands are triggered 5359 asynchronously in the GUI. This may cause arbitrary problems. 5360Solution: Put the focus event in the input buffer and handle it when ready 5361 for it. 5362Files: src/eval.c, src/getchar.c, src/gui.c, src/gui_gtk_x11.c, 5363 src/keymap.h 5364 5365Patch 7.1.096 5366Problem: Reading past end of a string when resizing Vim. (Dominique Pelle) 5367Solution: Check the string pointer before getting the char it points to. 5368Files: src/message.c 5369 5370Patch 7.1.097 5371Problem: ":setlocal stl=%!1+1" does not work. 5372Solution: Adjust check for pointer. (Politz) 5373Files: src/option.c 5374 5375Patch 7.1.098 5376Problem: ":call s:var()" doesn't work if "s:var" is a Funcref. (Andy Wokula) 5377Solution: Before converting "s:" into a script ID, check if it is a Funcref. 5378Files: src/eval.c 5379 5380Patch 7.1.099 5381Problem: When the 'keymap' and 'paste' options have a non-default value, 5382 ":mkexrc" and ":mksession" do not correctly set the options. 5383Solution: Set the options with side effects before other options. 5384Files: src/option.c 5385 5386Patch 7.1.100 5387Problem: Win32: Executing cscope doesn't always work properly. 5388Solution: Use another way to invoke cscope. (Mike Williams) 5389Files: src/if_cscope.c, src/if_cscope.h, src/main.c, 5390 src/proto/if_cscope.pro 5391 5392Patch 7.1.101 5393Problem: Ruby: The Buffer.line= method does not work. 5394Solution: Add the "self" argument to set_current_line(). (Jonathan Hankins) 5395Files: src/if_ruby.c 5396 5397Patch 7.1.102 5398Problem: Perl interface doesn't compile with new version of Perl. 5399Solution: Add two variables to the dynamic library loading. (Suresh 5400 Govindachar) 5401Files: src/if_perl.xs 5402 5403Patch 7.1.103 5404Problem: Using "dw" with the cursor past the end of the last line (using 5405 CTRL-\ CTRL-O from Insert mode) deletes a character. (Tim Chase) 5406Solution: Don't move the cursor back when the movement failed. 5407Files: src/normal.c 5408 5409Patch 7.1.104 (after 7.1.095) 5410Problem: When 'lazyredraw' is set a focus event causes redraw to be 5411 postponed until a key is pressed. 5412Solution: Instead of not returning from vgetc() when a focus event is 5413 encountered return K_IGNORE. Add plain_vgetc() for when the 5414 caller doesn't want to get K_IGNORE. 5415Files: src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_getln.c, 5416 src/getchar.c, src/normal.c, src/proto/getchar.pro, src/window.c 5417 5418Patch 7.1.105 5419Problem: Internal error when using "0 ? {'a': 1} : {}". (A.Politz) 5420Solution: When parsing a dictionary value without using the value, don't try 5421 obtaining the key name. 5422Files: src/eval.c 5423 5424Patch 7.1.106 5425Problem: ":messages" doesn't quit listing on ":". 5426Solution: Break the loop when "got_int" is set. 5427Files: src/message.c 5428 5429Patch 7.1.107 5430Problem: When doing a block selection and using "s" to change the text, 5431 while triggering auto-indenting, causes the wrong text to be 5432 repeated in other lines. (Adri Verhoef) 5433Solution: Compute the change of indent and compensate for that. 5434Files: src/ops.c 5435 5436Patch 7.1.108 (after 7.1.100) 5437Problem: Win32: Compilation problems in Cscope code. (Jeff Lanzarotta) 5438Solution: Use (long) instead of (intptr_t) when it's not defined. 5439Files: src/if_cscope.c 5440 5441Patch 7.1.109 5442Problem: GTK: when there are many tab pages, clicking on the arrow left of 5443 the labels moves to the next tab page on the right. (Simeon Bird) 5444Solution: Check the X coordinate of the click and pass -1 as value for the 5445 left arrow. 5446Files: src/gui_gtk_x11.c, src/term.c 5447 5448Patch 7.1.110 (after 7.1.102) 5449Problem: Win32: Still compilation problems with Perl. 5450Solution: Change the #ifdefs. (Suresh Govindachar) 5451Files: src/if_perl.xs 5452 5453Patch 7.1.111 5454Problem: When using ":vimgrep" with the "j" flag folds from another buffer 5455 may be displayed. (A.Politz) 5456Solution: When not jumping to another buffer update the folds. 5457Files: src/quickfix.c 5458 5459Patch 7.1.112 5460Problem: Using input() with a wrong argument may crash Vim. (A.Politz) 5461Solution: Init the input() return value to NULL. 5462Files: src/eval.c 5463 5464Patch 7.1.113 5465Problem: Using map() to go over an empty list causes memory to be freed 5466 twice. (A.Politz) 5467Solution: Don't clear the typeval in restore_vimvar(). 5468Files: src/eval.c 5469 5470Patch 7.1.114 5471Problem: Memory leak in getmatches(). 5472Solution: Don't increment the refcount twice. 5473Files: src/eval.c 5474 5475Patch 7.1.115 (after 7.1.105) 5476Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) 5477Solution: Init variable to NULL. 5478Files: src/eval.c 5479 5480Patch 7.1.116 5481Problem: Cannot display Unicode characters above 0x10000. 5482Solution: Remove the replacement with a question mark when UNICODE16 is not 5483 defined. (partly by Nicolas Weber) 5484Files: src/screen.c 5485 5486Patch 7.1.117 5487Problem: Can't check whether Vim was compiled with Gnome. (Tony Mechelynck) 5488Solution: Add gui_gnome to the has() list. 5489Files: src/eval.c 5490 5491Patch 7.1.118 (after 7.1.107) 5492Problem: Compiler warning for Visual C compiler. 5493Solution: Add typecast. (Mike Williams) 5494Files: src/ops.c 5495 5496Patch 7.1.119 5497Problem: Crash when 'cmdheight' set to very large value. (A.Politz) 5498Solution: Limit 'cmdheight' to 'lines' minus one. Store right value of 5499 'cmdheight' when running out of room. 5500Files: src/option.c, src/window.c 5501 5502Patch 7.1.120 5503Problem: Can't properly check memory leaks while running tests. 5504Solution: Add an argument to garbagecollect(). Delete functions and 5505 variables in the test scripts. 5506Files: runtime/doc/eval.txt src/eval.c, src/globals.h, src/main.c, 5507 src/testdir/Makefile, src/testdir/test14.in, 5508 src/testdir/test26.in, src/testdir/test34.in, 5509 src/testdir/test45.in, src/testdir/test47.in, 5510 src/testdir/test49.in, src/testdir/test55.in, 5511 src/testdir/test56.in, src/testdir/test58.in, 5512 src/testdir/test59.in, src/testdir/test60.in, 5513 src/testdir/test60.vim, src/testdir/test62.in, 5514 src/testdir/test63.in, src/testdir/test64.in, 5515 5516Patch 7.1.121 5517Problem: Using ":cd %:h" when editing a file in the current directory 5518 results in an error message for using an empty string. 5519Solution: When "%:h" results in an empty string use ".". 5520Files: src/eval.c 5521 5522Patch 7.1.122 5523Problem: Mac: building Vim.app fails. Using wrong architecture. 5524Solution: Use line continuation for the gui_bundle dependency. Detect the 5525 system architecture with "uname -a". 5526Files: src/main.aap 5527 5528Patch 7.1.123 5529Problem: Win32: ":edit foo ~ foo" expands "~". 5530Solution: Change the call to expand_env(). 5531Files: src/ex_docmd.c, src/misc1.c, src/proto/misc1.pro, src/option.c 5532 5533Patch 7.1.124 (extra) 5534Problem: Mac: When dropping a file on Vim.app that is already in the buffer 5535 list (from .viminfo) results in editing an empty, unnamed buffer. 5536 (Axel Kielhorn) Also: warning for unused variable. 5537Solution: Move to the buffer of the first argument. Delete unused variable. 5538Files: src/gui_mac.c 5539 5540Patch 7.1.125 5541Problem: The TermResponse autocommand event is not always triggered. (Aron 5542 Griffis) 5543Solution: When unblocking autocommands check if v:termresponse changed and 5544 trigger the event then. 5545Files: src/buffer.c, src/diff.c, src/ex_getln.c, src/fileio.c, 5546 src/globals.h, src/misc2.c, src/proto/fileio.pro, src/window.c 5547 5548Patch 7.1.126 (extra) 5549Problem: ":vimgrep */*" fails when a BufRead autocommand changes directory. 5550 (Bernhard Kuhn) 5551Solution: Change back to the original directory after loading a file. 5552 Also: use shorten_fname1() to avoid duplicating code. 5553Files: src/buffer.c, src/ex_docmd.c, src/fileio.c, src/gui_gtk.c, 5554 src/gui_w48.c, src/proto/ex_docmd.pro, src/proto/fileio.pro, 5555 src/quickfix.c 5556 5557Patch 7.1.127 5558Problem: Memory leak when doing cmdline completion. (Dominique Pelle) 5559Solution: Free "orig" argument of ExpandOne() when it's not used. 5560Files: src/ex_getln.c 5561 5562Patch 7.1.128 (extra) 5563Problem: Build problems with new version of Cygwin. 5564Solution: Remove -D__IID_DEFINED__, like with MingW. (Guopeng Wen) 5565Files: src/Make_cyg.mak 5566 5567Patch 7.1.129 (extra) 5568Problem: Win32: Can't get the user name when it is longer than 15 5569 characters. 5570Solution: Use UNLEN instead of MAX_COMPUTERNAME_LENGTH. (Alexei Alexandrov) 5571Files: src/os_win32.c 5572 5573Patch 7.1.130 5574Problem: Crash with specific order of undo and redo. (A.Politz) 5575Solution: Clear and adjust pointers properly. Add u_check() for debugging. 5576Files: src/undo.c, src/structs.h 5577 5578Patch 7.1.131 5579Problem: ":mksession" always adds ":setlocal autoread". (Christian J. 5580 Robinson) 5581Solution: Skip boolean global/local option using global value. 5582Files: src/option.c 5583 5584Patch 7.1.132 5585Problem: getpos("'>") may return a negative column number for a Linewise 5586 selection. (A.Politz) 5587Solution: Don't add one to MAXCOL. 5588Files: src/eval.c 5589 5590Patch 7.1.133 (after 7.1.126) 5591Problem: shorten_fname1() linked when it's not needed. 5592Solution: Add #ifdef. 5593Files: src/fileio.c 5594 5595Patch 7.1.134 (extra) 5596Problem: Win32: Can't build with VC8 5597Solution: Detect the MSVC version instead of using NMAKE_VER. 5598 (Mike Williams) 5599Files: src/Make_mvc.mak 5600 5601Patch 7.1.135 5602Problem: Win32: When editing a file c:\tmp\foo and c:\tmp\\foo we have two 5603 buffers for the same file. (Suresh Govindachar) 5604Solution: Invoke FullName_save() when a path contains "//" or "\\". 5605Files: src/buffer.c 5606 5607Patch 7.1.136 5608Problem: Memory leak when using Ruby syntax highlighting. (Dominique Pelle) 5609Solution: Free the contained-in list. 5610Files: src/syntax.c 5611 5612Patch 7.1.137 5613Problem: Build failure when using EXITFREE. (Dominique Pelle) 5614Solution: Add an #ifdef around using clip_exclude_prog. 5615Files: src/misc2.c 5616 5617Patch 7.1.138 5618Problem: The Perl Msg() function doesn't stop when "q" is typed at the more 5619 prompt. (Hari Krishna Dara) 5620Solution: Check got_int. 5621Files: src/if_perl.xs 5622 5623Patch 7.1.139 5624Problem: When using marker folding and ending Insert mode with CTRL-C the 5625 current fold is truncated. (Fred Kater) 5626Solution: Ignore got_int while updating folds. 5627Files: src/fold.c 5628 5629Patch 7.1.140 5630Problem: v:count is set only after typing a non-digit, that makes it 5631 difficult to make a nice mapping. 5632Solution: Set v:count while still typing the count. 5633Files: src/normal.c 5634 5635Patch 7.1.141 5636Problem: GTK: -geom argument doesn't support a negative offset. 5637Solution: Compute position from the right/lower corner. 5638Files: src/gui_gtk_x11.c 5639 5640Patch 7.1.142 5641Problem: ":redir @A>" doesn't work. 5642Solution: Ignore the extra ">" also when appending. (James Vega) 5643Files: src/ex_docmd.c 5644 5645Patch 7.1.143 5646Problem: Uninitialized memory read when diffing three files. (Dominique 5647 Pelle) 5648Solution: Remove "+ !notset" so that we don't use fields that were not 5649 computed. 5650Files: src/diff.c 5651 5652Patch 7.1.144 5653Problem: After ":diffup" cursor can be in the wrong position. 5654Solution: Force recomputing the cursor position. 5655Files: src/diff.c 5656 5657Patch 7.1.145 5658Problem: Insert mode completion: When using the popup menu, after 5659 completing a word and typing a non-word character Vim is still 5660 completing the same word, following CTRL-N doesn't work. 5661 Insert mode Completion: When using CTRL-X O and there is only 5662 "struct." before the cursor, typing one char to reduce the 5663 matches, then BS completion stops. 5664Solution: When typing a character that is not part of the item being 5665 completed, stop complete mode. For whole line completion also 5666 accept a space. For file name completion stop at a path 5667 separator. 5668 For omni completion stay in completion mode even if completing 5669 with empty string. 5670Files: src/edit.c 5671 5672Patch 7.1.146 (extra) 5673Problem: VMS: Files with a very rare record organization (VFC) cannot be 5674 properly written by Vim. 5675 On older VAX systems mms runs into a syntax error. 5676Solution: Check for this special situation. Do not wrap a comment, make it 5677 one long line. (Zoltan Arpadffy) 5678Files: src/fileio.c, src/Make_vms.mms 5679 5680Patch 7.1.147 (after 7.1.127) 5681Problem: Freeing memory already freed when completing user name. (Meino 5682 Cramer) 5683Solution: Use a flag to remember if "orig" needs to be freed. 5684Files: src/ex_getln.c 5685 5686Patch 7.1.148 5687Problem: Some types are not found by configure. 5688Solution: Test for the sys/types.h header file. (Sean Boudreau) 5689Files: src/configure.in, src/auto/configure 5690 5691Patch 7.1.149 5692Problem: GTK GUI: When the completion popup menu is used scrolling another 5693 window by the scrollbar is OK, but using the scroll wheel it 5694 behaves line <Enter>. 5695Solution: Ignore K_MOUSEDOWN and K_MOUSEUP. Fix redrawing the popup menu. 5696Files: src/edit.c, src/gui.c 5697 5698Patch 7.1.150 5699Problem: When 'clipboard' has "unnamed" using "p" in Visual mode doesn't 5700 work correctly. (Jianrong Yu) 5701Solution: When 'clipboard' has "unnamed" also obtain the selection when 5702 getting the default register. 5703Files: src/ops.c 5704 5705Patch 7.1.151 5706Problem: Using whole line completion with 'ignorecase' and 'infercase' set 5707 and the line is empty get an lalloc(0) error. 5708Solution: Don't try changing case for an empty match. (Matthew Wozniski) 5709Files: src/edit.c 5710 5711Patch 7.1.152 5712Problem: Display problem when 'hls' and 'cursorcolumn' are set and 5713 searching for "$". (John Mullin) Also when scrolling 5714 horizontally when 'wrap' is off. 5715Solution: Keep track of the column where highlighting was set. Check the 5716 column offset when skipping characters. 5717Files: src/screen.c 5718 5719Patch 7.1.153 5720Problem: Compiler warnings on SGI. Undefined XpmAllocColor (Charles 5721 Campbell) 5722Solution: Add type casts. Init st_dev and st_ino separately. Don't use 5723 type casts for vim_snprintf() when HAVE_STDARG_H is defined. 5724 Define XpmAllocColor when needed. 5725Files: src/eval.c, src/ex_cmds.c, src/fileio.c, src/misc2.c, 5726 src/gui_xmebw.c 5727 5728Patch 7.1.154 5729Problem: Compiler warning for signed/unsigned compare. 5730Solution: Add type cast. 5731Files: src/screen.c 5732 5733Patch 7.1.155 5734Problem: Crash when 'undolevels' is 0 and repeating "udd". (James Vega) 5735Solution: When there is only one branch use u_freeheader() to delete it. 5736Files: src/undo.c 5737 5738Patch 7.1.156 5739Problem: Overlapping arguments for strcpy() when expanding command line 5740 variables. 5741Solution: Use mch_memmove() instead of STRCPY(). Also fix a few typos. 5742 (Dominique Pelle) 5743Files: src/ex_docmd.c 5744 5745Patch 7.1.157 5746Problem: In Ex mode, :" gives an error at end-of-file. (Michael Hordijk) 5747Solution: Only give an error for an empty line, not for a comment. 5748Files: src/ex_docmd.c 5749 5750Patch 7.1.158 (extra) 5751Problem: Win32 console: When 'encoding' is "utf-8" and typing Alt-y the 5752 result is wrong. Win32 GUI: Alt-y results in "u" when 'encoding' 5753 is "cp1250" (Lukas Cerman) 5754Solution: For utf-8 don't set the 7th bit in a byte, convert to the correct 5755 byte sequence. For cp1250, when conversion to 'encoding' results 5756 in the 7th bit not set, set the 7th bit after conversion. 5757Files: src/os_win32.c, src/gui_w48.c 5758 5759Patch 7.1.159 5760Problem: strcpy() has overlapping arguments. 5761Solution: Use mch_memmove() instead. (Dominique Pelle) 5762Files: src/ex_cmds.c 5763 5764Patch 7.1.160 5765Problem: When a focus autocommand is defined, getting or losing focus 5766 causes the hit-enter prompt to be redrawn. (Bjorn Winckler) 5767Solution: Overwrite the last line. 5768Files: src/message.c 5769 5770Patch 7.1.161 5771Problem: Compilation errors with tiny features and EXITFREE. 5772Solution: Add #ifdefs. (Dominique Pelle) 5773Files: src/edit.c, src/misc2.c 5774 5775Patch 7.1.162 5776Problem: Crash when using a modifier before "while" or "for". (A.Politz) 5777Solution: Skip modifiers when checking for a loop command. 5778Files: src/proto/ex_docmd.pro, src/ex_docmd.c, src/ex_eval.c 5779 5780Patch 7.1.163 5781Problem: Warning for the unknown option 'bufsecret'. 5782Solution: Remove the lines .vim that use this option. (Andy Wokula) 5783Files: runtime/menu.vim 5784 5785Patch 7.1.164 5786Problem: Reading past end of regexp pattern. (Dominique Pelle) 5787Solution: Use utf_ptr2len(). 5788Files: src/regexp.c 5789 5790Patch 7.1.165 5791Problem: Crash related to getting X window ID. (Dominique Pelle) 5792Solution: Don't trust the window ID that we got in the past, check it every 5793 time. 5794Files: src/os_unix.c 5795 5796Patch 7.1.166 5797Problem: Memory leak for using "gp" in Visual mode. 5798Solution: Free memory in put_register(). (Dominique Pelle) 5799Files: src/ops.c 5800 5801Patch 7.1.167 5802Problem: Xxd crashes when using "xxd -b -c 110". (Debian bug 452789) 5803Solution: Allocate more memory. Fix check for maximum number of columns. 5804Files: src/xxd/xxd.c 5805 5806Patch 7.1.168 (extra) 5807Problem: Win32 GUI: Since patch 7.1.095, when the Vim window does not have 5808 focus, clicking in it doesn't position the cursor. (Juergen 5809 Kraemer) 5810Solution: Don't reset s_button_pending just after receiving focus. 5811Files: src/gui_w48.c 5812 5813Patch 7.1.169 5814Problem: Using uninitialized variable when system() fails. (Dominique 5815 Pelle) 5816Solution: Let system() return an empty string when it fails. 5817Files: src/eval.c 5818 5819Patch 7.1.170 5820Problem: Valgrind warning for overlapping arguments for strcpy(). 5821Solution: Use mch_memmove() instead. (Dominique Pelle) 5822Files: src/getchar.c 5823 5824Patch 7.1.171 5825Problem: Reading one byte before allocated memory. 5826Solution: Check index not to become negative. (Dominique Pelle) 5827Files: src/ex_getln.c 5828 5829Patch 7.1.172 5830Problem: When 'buftype' is "acwrite" Vim still checks if the file or 5831 directory exists before overwriting. 5832Solution: Don't check for overwriting when the buffer name is not a file 5833 name. 5834Files: src/ex_cmds.c 5835 5836Patch 7.1.173 5837Problem: Accessing freed memory. (Dominique Pelle) 5838Solution: Don't call reg_getline() to check if a line is the first in the 5839 file. 5840Files: src/regexp.c 5841 5842Patch 7.1.174 5843Problem: Writing NUL past end of a buffer. 5844Solution: Copy one byte less when using strncat(). (Dominique Pelle) 5845Files: src/ex_cmds.c, src/ex_docmd.c, 5846 5847Patch 7.1.175 5848Problem: <BS> doesn't work with some combination of 'sts', 'linebreak' and 5849 'backspace'. (Francois Ingelrest) 5850Solution: When adding white space results in not moving back delete one 5851 character. 5852Files: src/edit.c 5853 5854Patch 7.1.176 5855Problem: Building with Aap fails when the "compiledby" argument contains 5856 '<' or '>' characters. (Alex Yeh) 5857Solution: Change how quoting is done in the Aap recipe. 5858Files: src/main.aap 5859 5860Patch 7.1.177 5861Problem: Freeing memory twice when in debug mode while reading a script. 5862Solution: Ignore script input while in debug mode. 5863Files: src/ex_cmds2.c, src/getchar.c, src/globals.h 5864 5865Patch 7.1.178 5866Problem: "%" doesn't work on "/* comment *//* comment */". 5867Solution: Don't handle the "//" in "*//*" as a C++ comment. (Markus 5868 Heidelberg) 5869Files: src/search.c 5870 5871Patch 7.1.179 5872Problem: Need to check for TCL 8.5. 5873Solution: Adjust configure script. (Alexey Froloff) 5874Files: src/configure.in, src/auto/configure 5875 5876Patch 7.1.180 5877Problem: Regexp patterns not tested sufficiently. 5878Solution: Add more checks to the regexp test. 5879Files: src/testdir/test64.in, src/testdir/test64.ok 5880 5881Patch 7.1.181 5882Problem: Accessing uninitialized memory in Farsi mode. (Dominique Pelle) 5883Solution: Only invoke lrF_sub() when there is something to do. 5884Files: src/ex_cmds.c 5885 5886Patch 7.1.182 5887Problem: When using tab pages and an argument list the session file may 5888 contain wrong "next" commands. (Alexander Bluem) 5889Solution: Use "argu" commands and only when needed. 5890Files: src/ex_docmd.c 5891 5892Patch 7.1.183 5893Problem: "Internal error" for ":echo matchstr('a', 'a\%[\&]')" (Mitanu 5894 Paul) 5895Solution: Inside "\%[]" detect \&, \| and \) as an error. 5896Files: src/regexp.c 5897 5898Patch 7.1.184 5899Problem: Crash when deleting backwards over a line break in Insert mode. 5900Solution: Don't advance the cursor when it's already on the NUL after a 5901 line. (Matthew Wozniski) 5902Files: src/normal.c 5903 5904Patch 7.1.185 5905Problem: Using "gR" with a multibyte encoding and typing a CR pushes 5906 characters onto the replace stack incorrectly, resulting in BS 5907 putting back the wrong characters. (Paul B. Mahol) 5908Solution: Push multibyte characters onto the replace stack in reverse byte 5909 order. Add replace_push_mb(). 5910Files: src/edit.c, src/misc1.c, src/proto/edit.pro 5911 5912Patch 7.1.186 5913Problem: "expand('<afile>')" returns a bogus value after changing 5914 directory. (Dave Fishburn) 5915Solution: Copy "autocmd_fname" to allocated memory and expand to full 5916 filename. Shorten the path when expanding <afile>. 5917Files: src/ex_docmd.c, src/fileio.c 5918 5919Patch 7.1.187 5920Problem: Win32 GUI: Custom completion using system() no longer works 5921 after patch 7.1.104. (Erik Falor) 5922Solution: Loop when safe_vgetc() returns K_IGNORE. 5923Files: src/ex_getln.c 5924 5925Patch 7.1.188 5926Problem: When 'showmode' is off the message for changing a readonly file is 5927 given in the second column instead of the first. (Payl B. Mahol) 5928Solution: Put the W10 message in the first column. 5929Files: src/edit.c 5930 5931Patch 7.1.189 (after 7.1.104) 5932Problem: Patch 7.1.104 was incomplete. 5933Solution: Also call plain_vgetc() in ask_yesno(). 5934Files: src/misc1.c 5935 5936Patch 7.1.190 5937Problem: Cursor after end-of-line: "iA sentence.<Esc>)" 5938Solution: Move cursor back and make motion inclusive. 5939Files: src/normal.c 5940 5941Patch 7.1.191 5942Problem: Win32 GUI: after patch 7.1.168 there is still a problem when 5943 clicking in a scrollbar. (Juergen Jottkaerr) 5944Solution: Don't check the input buffer when dragging the scrollbar. 5945Files: src/gui.c 5946 5947Patch 7.1.192 5948Problem: With Visual block selection, "s" and typing something, CTRL-C 5949 doesn't stop Vim from repeating the replacement in other lines, 5950 like happens for "I". 5951Solution: Check for "got_int" to be set. 5952Files: src/ops.c 5953 5954Patch 7.1.193 5955Problem: Some Vim 5.x digraphs are missing in Vim 7, even though the 5956 character pairs are not used. (Philippe de Muyter) 5957Solution: Add those Vim 5.x digraphs that don't conflict with others. 5958Files: src/digraph.c 5959 5960Patch 7.1.194 5961Problem: ":echo glob('~/{}')" results in /home/user//. 5962Solution: Don't add a slash if there already is one. 5963Files: src/os_unix.c 5964 5965Patch 7.1.195 5966Problem: '0 mark doesn't work for "~/foo ~ foo". 5967Solution: Don't expand the whole file name, only "~/". 5968Files: src/mark.c 5969 5970Patch 7.1.196 (extra) 5971Problem: Win32 GUI: "\n" in a tooltip doesn't cause a line break. (Erik 5972 Falor) 5973Solution: Use the TTM_SETMAXTIPWIDTH message. 5974Files: src/gui_w32.c 5975 5976Patch 7.1.197 5977Problem: Mac: "make install" doesn't work when prefix defined. 5978Solution: Pass different arguments to "make installruntime". (Jjgod Jiang) 5979Files: src/Makefile 5980 5981Patch 7.1.198 5982Problem: Hang when using ":s/\n//gn". (Burak Gorkemli) 5983Solution: Set "skip_match". 5984Files: src/ex_cmds.c 5985 5986Patch 7.1.199 5987Problem: Can't do command line completion for a specific file name 5988 extension. 5989Solution: When the pattern ends in "$" don't add a star for completion and 5990 remove the "$" before matching with file names. 5991Files: runtime/doc/cmdline.txt, src/ex_getln.c 5992 5993Patch 7.1.200 (after 7.1.177 and 7.1.182) 5994Problem: Compiler warnings for uninitialized variables. 5995Solution: Init variables. 5996Files: src/ex_cmds2.c, src/ex_docmd.c 5997 5998Patch 7.1.201 5999Problem: When reading stdin 'fenc' and 'ff' are not set. 6000Solution: Set the options after reading stdin. (Ben Schmidt) 6001Files: src/fileio.c 6002 6003Patch 7.1.202 6004Problem: Incomplete utf-8 byte sequence is not checked for validity. 6005Solution: Check the bytes that are present for being valid. (Ben Schmidt) 6006Files: src/mbyte.c 6007 6008Patch 7.1.203 6009Problem: When 'virtualedit' is "onemore" then "99|" works but ":normal 99|" 6010 doesn't. (Andy Wokula) 6011Solution: Check for "onemore" flag in check_cursor_col(). 6012Files: src/misc2.c 6013 6014Patch 7.1.204 (extra) 6015Problem: Win32: Using the example at 'balloonexpr' the balloon disappears 6016 after four seconds and then comes back again. Also moves the 6017 mouse pointer a little bit. (Yongwei Wu) 6018Solution: Set the autopop time to 30 seconds (the max value). (Sergey 6019 Khorev) Move the mouse two pixels forward and one back to end up 6020 in the same position (really!). 6021Files: src/gui_w32.c 6022 6023Patch 7.1.205 6024Problem: Can't get the operator in an ":omap". 6025Solution: Add the "v:operator" variable. (Ben Schmidt) 6026Files: runtime/doc/eval.txt, src/eval.c, src/normal.c, src/vim.h 6027 6028Patch 7.1.206 6029Problem: Compiler warnings when using MODIFIED_BY. 6030Solution: Add type casts. (Ben Schmidt) 6031Files: src/version.c 6032 6033Patch 7.1.207 6034Problem: Netbeans: "remove" cannot delete one line. 6035Solution: Remove partial lines and whole lines properly. Avoid a memory 6036 leak. (Xavier de Gaye) 6037Files: src/netbeans.c 6038 6039Patch 7.1.208 6040Problem: On Alpha get an unaligned access error. 6041Solution: Store the dictitem pointer before using it. (Matthew Luckie) 6042Files: src/eval.c 6043 6044Patch 7.1.209 6045Problem: GTK: When using the netrw plugin and doing ":gui" Vim hangs. 6046Solution: Stop getting a selection after three seconds. This is a hack. 6047Files: src/gui_gtk_x11.c 6048 6049Patch 7.1.210 6050Problem: Listing mapping for 0xdb fails when 'encoding' is utf-8. (Tony 6051 Mechelynck) 6052Solution: Recognize K_SPECIAL KS_EXTRA KE_CSI as a CSI byte. 6053Files: src/mbyte.c 6054 6055Patch 7.1.211 6056Problem: The matchparen plugin may take an unexpected amount of time, so 6057 that it looks like Vim hangs. 6058Solution: Add a timeout to searchpair(), searchpairpos(), search() and 6059 searchpos(). Use half a second timeout in the plugin. 6060Files: runtime/doc/eval.txt, runtime/plugin/matchparen.vim, src/edit.c, 6061 src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/normal.c, 6062 src/proto/eval.pro, src/proto/ex_cmds2.pro, src/proto/search.pro, 6063 src/search.c 6064 6065Patch 7.1.212 6066Problem: Accessing a byte before a line. 6067Solution: Check that the column is 1 or more. (Dominique Pelle) 6068Files: src/edit.c 6069 6070Patch 7.1.213 6071Problem: A ":tabedit" command that results in the "swap file exists" dialog 6072 and selecting "abort" doesn't close the new tab. (Al Budden) 6073Solution: Pass "old_curwin" to do_exedit(). 6074Files: src/ex_docmd.c 6075 6076Patch 7.1.214 6077Problem: ":1s/g\n\zs1//" deletes characters from the first line. (A Politz) 6078Solution: Start replacing in the line where the match starts. 6079Files: src/ex_cmds.c 6080 6081Patch 7.1.215 6082Problem: It is difficult to figure out what syntax items are nested at a 6083 certain position. 6084Solution: Add the synstack() function. 6085Files: runtime/doc/eval.txt, src/eval.c, src/proto/syntax.pro, 6086 src/syntax.c 6087 6088Patch 7.1.216 6089Problem: Variants of --remote-tab are not mentioned for "vim --help". 6090Solution: Display optional -wait and -silent. 6091Files: src/main.c 6092 6093Patch 7.1.217 6094Problem: The "help-tags" tag may be missing from runtime/doc/tags when it 6095 was generated during "make install". 6096Solution: Add the "++t" argument to ":helptags" to force adding the tag. 6097Files: runtime/doc/Makefile, runtime/doc/various.txt, src/ex_cmds.c, 6098 src/ex_cmds.h 6099 6100Patch 7.1.218 6101Problem: A syntax region without a "keepend", containing a region with 6102 "extend" could be truncated at the end of the containing region. 6103Solution: Do not call syn_update_ends() when there are no keepend items. 6104Files: src/syntax.c 6105 6106Patch 7.1.219 (after 7.1.215) 6107Problem: synstack() returns situation after the current character, can't 6108 see the state for a one-character region. 6109Solution: Don't update ending states in the requested column. 6110Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c, 6111 src/proto/syntax.pro, src/screen.c, src/spell.c, src/syntax.c 6112 6113Patch 7.1.220 6114Problem: When a ")" or word movement command moves the cursor back from the 6115 end of the line it may end up on the trail byte of a multibyte 6116 character. It's also moved back when it isn't needed. 6117Solution: Add the adjust_cursor() function. 6118Files: src/normal.c 6119 6120Patch 7.1.221 6121Problem: When inserting a "(", triggering the matchparen plugin, the 6122 following highlighting may be messed up. 6123Solution: Before triggering the CursorMovedI autocommands update the display 6124 to update the stored syntax stacks for the change. 6125Files: src/edit.c 6126 6127Patch 7.1.222 (after 7.1.217) 6128Problem: Wildcards in argument of ":helptags" are not expanded. (Marcel 6129 Svitalsky) 6130Solution: Expand wildcards in the directory name. 6131Files: src/ex_cmds.c 6132 6133Patch 7.1.223 6134Problem: glob() doesn't work properly when 'shell' is "sh" or "bash" and 6135 the expanded name contains spaces, '~', single quotes and other 6136 special characters. (Adri Verhoef, Charles Campbell) 6137Solution: For Posix shells define a vimglob() function to list the matches 6138 instead of using "echo" directly. 6139Files: src/os_unix.c 6140 6141Patch 7.1.224 6142Problem: When using "vim -F -o file1 file2" only one window is 6143 right-to-left. Same for "-H". (Ben Schmidt) 6144Solution: use set_option_value() to set 'rightleft'. 6145Files: src/main.c 6146 6147Patch 7.1.225 6148Problem: Using uninitialized value when XGetWMNormalHints() fails. 6149Solution: Check the return value. (Dominique Pelle) 6150Files: src/os_unix.c 6151 6152Patch 7.1.226 6153Problem: Command line completion doesn't work when a file name contains a 6154 '&' character. 6155Solution: Accept all characters in a file name, except ones that end a 6156 command or white space. 6157Files: src/ex_docmd.c 6158 6159Patch 7.1.227 6160Problem: Hang in syntax HL when moving over a ")". (Dominique Pelle) 6161Solution: Avoid storing a syntax state in the wrong position in the list of 6162 remembered states. 6163Files: src/syntax.c 6164 6165Patch 7.1.228 6166Problem: When 'foldmethod' is "indent" and a fold is created with ">>" it 6167 can't be closed with "zc". (Daniel Shahaf) 6168Solution: Reset the "small" flag of a fold when adding a line to it. 6169Files: src/fold.c 6170 6171Patch 7.1.229 6172Problem: A fold is closed when it shouldn't when 'foldmethod' is "indent" 6173 and backspacing a non-white character so that the indent increases. 6174Solution: Keep the fold open after backspacing a character. 6175Files: src/edit.c 6176 6177Patch 7.1.230 6178Problem: Memory leak when executing SourceCmd autocommands. 6179Solution: Free the memory. (Dominique Pelle) 6180Files: src/ex_cmds2.c 6181 6182Patch 7.1.231 6183Problem: When shifting lines the change is acted upon multiple times. 6184Solution: Don't have shift_line() call changed_bytes. 6185Files: src/edit.c, src/ops.c, src/proto/edit.pro, src/proto/ops.pro 6186 6187Patch 7.1.232 (after 7.1.207 and 7.1.211) 6188Problem: Compiler warnings with MSVC. 6189Solution: Add type casts. (Mike Williams) 6190Files: src/ex_cmds2.c, src/netbeans.c 6191 6192Patch 7.1.233 6193Problem: Crash when doing Insert mode completion for a user defined 6194 command. (Yegappan Lakshmanan) 6195Solution: Don't use the non-existing command line. 6196Files: src/ex_getln.c 6197 6198Patch 7.1.234 6199Problem: When diff'ing three files the third one isn't displayed correctly. 6200 (Gary Johnson) 6201Solution: Compute the size of diff blocks correctly when merging blocks. 6202 Compute filler lines correctly when scrolling. 6203Files: src/diff.c 6204 6205Patch 7.1.235 6206Problem: Pattern matching is slow when using a lot of simple patterns. 6207Solution: Avoid allocating memory by not freeing it when it's not so much. 6208 (Alexei Alexandrov) 6209Files: src/regexp.c 6210 6211Patch 7.1.236 6212Problem: When using 'incsearch' and 'hlsearch' a complicated pattern may 6213 make Vim hang until CTRL-C is pressed. 6214Solution: Add the 'redrawtime' option. 6215Files: runtime/doc/options.txt, src/ex_cmds.c, src/ex_docmd.c, 6216 src/ex_getln.c, src/gui.c, src/misc1.c, src/normal.c, 6217 src/option.c, src/quickfix.c, src/regexp.c, src/proto/regexp.pro, 6218 src/proto/search.pro, src/search.c, src/screen.c, 6219 src/option.h, src/spell.c, src/structs.h, src/syntax.c, src/tag.c, 6220 src/vim.h 6221 6222Patch 7.1.237 6223Problem: Compiler warning on an Alpha processor in Motif code. 6224Solution: Change a typecast. (Adri Verhoef) 6225Files: src/gui_motif.c 6226 6227Patch 7.1.238 6228Problem: Using the 'c' flag with searchpair() may cause it to fail. Using 6229 the 'r' flag doesn't work when 'wrapscan' is set. (A.Politz) 6230Solution: Only use the 'c' flag for the first search, not for repeating. 6231 When using 'r' imply 'W'. (Antony Scriven) 6232Files: src/eval.c 6233 6234Patch 7.1.239 (after 7.1.233) 6235Problem: Compiler warning for sprintf() argument. 6236Solution: Add a typecast. (Nico Weber) 6237Files: src/ex_getln.c 6238 6239Patch 7.1.240 6240Problem: When "gUe" turns a German sharp s into SS the operation stops 6241 before the end of the word. Latin2 has the same sharp s but it's 6242 not changed to SS there. 6243Solution: Make sure all the characters are operated upon. Detect the sharp 6244 s in latin2. Also fixes that changing case of a multibyte 6245 character that changes the byte count doesn't always work. 6246Files: src/ops.c 6247 6248Patch 7.1.241 6249Problem: Focus change events not always ignored. (Erik Falor) 6250Solution: Ignore K_IGNORE in Insert mode in a few more places. 6251Files: src/edit.c 6252 6253Patch 7.1.242 (after 7.1.005) 6254Problem: "cib" doesn't work properly on "(x)". (Tim Pope) 6255Solution: Use ltoreq() instead of lt(). Also fix "ciT" on "<a>x</a>". 6256Files: src/search.c 6257 6258Patch 7.1.243 (after 7.1.240) 6259Problem: "U" doesn't work on all text in Visual mode. (Adri Verhoef) 6260Solution: Loop over all the lines to be changed. Add tests for this. 6261Files: src/ops.c, src/testdir/test39.in, src/testdir/test39.ok 6262 6263Patch 7.1.244 6264Problem: GUI may have part of the command line cut off. 6265Solution: Don't round the number of lines up, always round down. 6266 (Tony Houghton, Scott Dillard) 6267Files: src/gui.c 6268 6269Patch 7.1.245 6270Problem: Pressing CTRL-\ three times causes Vim to quit. (Ranganath Rao). 6271 Also for f CTRL-\ CTRL-\. 6272Solution: When going to cooked mode in mch_delay() set a flag to ignore 6273 SIGQUIT. 6274Files: src/os_unix.c 6275 6276Patch 7.1.246 6277Problem: Configure hangs when the man pager is something strange. (lorien) 6278Solution: Set MANPAGER and PAGER to "cat". (Micah Cowan) 6279Files: src/auto/configure, src/configure.in 6280 6281Patch 7.1.247 6282Problem: When using Netbeans backspacing in Insert mode skips a character 6283 now and then. (Ankit Jain) 6284Solution: Avoid calling netbeans_removed(), it frees the line pointer. 6285 (partly by Dominique Pelle). 6286Files: src/misc1.c 6287 6288Patch 7.1.248 6289Problem: Can't set the '" mark. Can't know if setpos() was successful. 6290Solution: Allow setting the '" mark with setpos(). Have setpos() return a 6291 value indicating success/failure. 6292Files: runtime/doc/eval.txt, src/eval.c, src/mark.c 6293 6294Patch 7.1.249 6295Problem: After "U" the cursor can be past end of line. (Adri Verhoef) 6296Solution: Adjust the cursor position in u_undoline(). 6297Files: src/undo.c 6298 6299Patch 7.1.250 6300Problem: ":setglobal fenc=anything" gives an error message in a buffer 6301 where 'modifiable' is off. (Ben Schmidt) 6302Solution: Don't give an error if 'modifiable' doesn't matter. 6303Files: src/option.c 6304 6305Patch 7.1.251 6306Problem: Using freed memory when spell checking enabled. 6307Solution: Obtain the current line again after calling spell_move_to(). 6308 (Dominique Pelle) 6309Files: src/screen.c 6310 6311Patch 7.1.252 (after 7.1.243) 6312Problem: Test 39 fails when the environment has a utf-8 locale. (Dominique 6313 Pelle) 6314Solution: Force 'encoding' to be latin1. 6315Files: src/testdir/test39.in 6316 6317Patch 7.1.253 6318Problem: ":sort" doesn't work in a one line file. (Patrick Texier) 6319Solution: Don't sort if there is only one line. (Dominique Pelle) 6320Files: src/ex_cmds.c 6321 6322Patch 7.1.254 6323Problem: Tests 49 and 55 fail when the locale is French. 6324Solution: Using C messages for test 49. Filter the error message in test 55 6325 such that it works when the number is halfway the message. 6326Files: src/testdir/test49.in, src/testdir/test55.in 6327 6328Patch 7.1.255 6329Problem: Vim doesn't support utf-32. (Yongwei Wu) 6330Solution: Add aliases for utf-32, it's the same as ucs-4. 6331Files: src/mbyte.c 6332 6333Patch 7.1.256 6334Problem: findfile() also returns directories. 6335Solution: Cleanup the code for finding files and directories in a list of 6336 directories. Remove the ugly global ff_search_ctx. 6337Files: src/eval.c, src/misc2.c, src/vim.h, src/tag.c 6338 6339Patch 7.1.257 6340Problem: Configure can't always find the Tcl header files. 6341Solution: Also look in /usr/local/include/tcl$tclver and 6342 /usr/include/tcl$tclver (James Vega) 6343Files: src/auto/configure, src/configure.in 6344 6345Patch 7.1.258 6346Problem: Crash when doing "d/\n/e" and 'virtualedit' is "all". (Andy Wokula) 6347Solution: Avoid that the column becomes negative. Also fixes other problems 6348 with the end of a pattern match is in column zero. (A.Politz) 6349Files: src/search.c 6350 6351Patch 7.1.259 6352Problem: Cursor is in the wrong position when 'rightleft' is set, 6353 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle) 6354Solution: Only put the cursor in the first column when actually on a 6355 double-wide character. (Yukihiro Nakadaira) 6356Files: src/screen.c 6357 6358Patch 7.1.260 6359Problem: Cursor positioning problem after ^@ wrapping halfway when 6360 'encoding' is utf-8. 6361Solution: Only count a position for printable characters. (partly by 6362 Yukihiro Nakadaira) 6363Files: src/charset.c 6364 6365Patch 7.1.261 6366Problem: When a 2 byte BOM is detected Vim uses UCS-2, which doesn't work 6367 for UTF-16 text. (Tony Mechelynck) 6368Solution: Default to UTF-16. 6369Files: src/fileio.c, src/testdir/test42.ok 6370 6371Patch 7.1.262 6372Problem: Can't get the process ID of Vim. 6373Solution: Implement getpid(). 6374Files: src/eval.c, runtime/doc/eval.txt 6375 6376Patch 7.1.263 6377Problem: The filetype can consist of two dot separated names. This works 6378 for syntax and ftplugin, but not for indent. (Brett Stahlman) 6379Solution: Use split() and loop over each dot separated name. 6380Files: runtime/indent.vim 6381 6382Patch 7.1.264 6383Problem: Crash when indenting lines. (Dominique Pelle) 6384Solution: Set the cursor column when changing the cursor line. 6385Files: src/ops.c, src/misc1.c 6386 6387Patch 7.1.265 6388Problem: When 'isfname' contains a space, cmdline completion can hang. 6389 (James Vega) 6390Solution: Reset the "len" variable. 6391Files: src/ex_docmd.c 6392 6393Patch 7.1.266 6394Problem: When the version string returned by the terminal contains 6395 unexpected characters, it is used as typed input. (James Vega) 6396Solution: Assume the escape sequence ends in a letter. 6397Files: src/term.c 6398 6399Patch 7.1.267 6400Problem: When changing folds cursor may be positioned in the wrong place. 6401Solution: Call changed_window_setting_win() instead of 6402 changed_window_setting(). 6403Files: src/fold.c 6404 6405Patch 7.1.268 6406Problem: Always shows "+" at end of screen line with: ":set 6407 listchars=eol:$,extends:+ nowrap list cursorline" (Gary Johnson) 6408Solution: Check for lcs_eol_one instead of lcs_eol. 6409Files: src/screen.c 6410 6411Patch 7.1.269 6412Problem: The matchparen plugin has an arbitrary limit for the number of 6413 lines to look for a match. 6414Solution: Rely on the searchpair() timeout. 6415Files: runtime/plugin/matchparen.vim 6416 6417Patch 7.1.270 6418Problem: ":?foo?" matches in current line since patch 7.1.025. (A.Politz) 6419Solution: Remove the SEARCH_START flag. 6420Files: src/ex_docmd.c, src/search.c 6421 6422Patch 7.1.271 6423Problem: In a Vim build without autocommands, checking a file that was 6424 changed externally causes the current buffer to be changed 6425 unexpectedly. (Karsten Hopp) 6426Solution: Store "curbuf" instead of "buf". 6427Files: src/fileio.c 6428 6429Patch 7.1.272 6430Problem: The special buffer name [Location List] is not used for a buffer 6431 displayed in another tab page. 6432Solution: Use FOR_ALL_TAB_WINDOWS instead of FOR_ALL_WINDOWS. (Hiroaki 6433 Nishihara) 6434Files: src/buffer.c 6435 6436Patch 7.1.273 6437Problem: When profiling on Linux Vim exits early. (Liu Yubao) 6438Solution: When profiling don't exit on SIGPROF. 6439Files: src/Makefile, src/os_unix.c 6440 6441Patch 7.1.274 (after 7.1.272) 6442Problem: Compiler warning for optimized build. 6443Solution: Init win to NULL. 6444Files: src/buffer.c 6445 6446Patch 7.1.275 (extra) 6447Problem: Mac: ATSUI and 'antialias' don't work properly together. 6448Solution: Fix this and the input method. (Jjgod Jiang) 6449Files: src/vim.h, src/gui_mac.c 6450 6451Patch 7.1.276 6452Problem: "gw" uses 'formatexpr', even though the docs say it doesn't. 6453Solution: Don't use 'formatexpr' for "gw". 6454Files: src/vim.h, src/edit.c, src/ops.c, src/proto/ops.pro 6455 6456Patch 7.1.277 6457Problem: Default for 'paragraphs' misses some items (Colin Watson) 6458Solution: Add TP, HP, Pp, Lp and It to 'paragraphs'. (James Vega) 6459Files: runtime/doc/options.txt, src/option.c 6460 6461Patch 7.1.278 (extra, after 7.1.275) 6462Problem: Build failure when USE_CARBONKEYHANDLER is not defined. 6463Solution: Remove #ifdef. 6464Files: src/gui_mac.c 6465 6466Patch 7.1.279 6467Problem: When using cscope temporary files are left behind. 6468Solution: Send the quit command to cscope and give it two seconds to exit 6469 nicely before killing it. (partly by Dominique Pelle) 6470Files: src/if_cscope.c 6471 6472Patch 7.1.280 (after 7.1.275) 6473Problem: Mac: build problems when not using multibyte feature. (Nicholas 6474 Stallard) 6475Solution: Don't define USE_IM_CONTROL when not using multibyte. 6476Files: src/vim.h 6477 6478Patch 7.1.281 (after 7.1.279) 6479Problem: sa.sa_mask is not initialized. Cscope may not exit. 6480Solution: Use sigemptyset(). Use SIGKILL instead of SIGTERM. (Dominique 6481 Pelle) 6482Files: src/if_cscope.c 6483 6484Patch 7.1.282 (extra) 6485Problem: Win64: Edit with Vim context menu isn't installed correctly. 6486 Compiler warnings and a few other things. 6487Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT. 6488 And fixes for other things. (George V. Reilly) 6489Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h, 6490 src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak, 6491 src/os_win32.c, 6492 6493Patch 7.1.283 6494Problem: Non-extra part for 7.1.282. 6495Solution: Various changes. 6496Files: src/ex_docmd.c, src/globals.h, src/if_cscope.c, src/main.c, 6497 src/mark.c, src/netbeans.c, src/popupmnu.c, src/vim.h, 6498 src/window.c 6499 6500Patch 7.1.284 6501Problem: Compiler warnings for functions without prototype. 6502Solution: Add the function prototypes. (Patrick Texier) 6503Files: src/eval.c, src/quickfix.c 6504 6505Patch 7.1.285 (extra) 6506Problem: Mac: dialog hotkeys don't work. 6507Solution: Add hotkey support. (Dan Sandler) 6508Files: src/gui_mac.c 6509 6510Patch 7.1.286 (after 7.1.103) 6511Problem: "w" at the end of the buffer moves the cursor past the end of the 6512 line. (Markus Heidelberg) 6513Solution: Move the cursor back from the NUL when it was moved forward. 6514Files: src/normal.c 6515 6516Patch 7.1.287 6517Problem: Crash when reversing a list after using it. (Andy Wokula) 6518Solution: Update the pointer to the last used element. (Dominique Pelle) 6519Files: src/eval.c 6520 6521Patch 7.1.288 (after 7.1.281) 6522Problem: Cscope still leaves behind temp files when using gvim. 6523Solution: When getting the ECHILD error loop for a while until cscope exits. 6524 (Dominique Pelle) 6525Files: if_cscope.c 6526 6527Patch 7.1.289 6528Problem: When EXITFREE is defined and 'acd' is set freed memory is used. 6529 (Dominique Pelle) 6530Solution: Reset p_acd before freeing all buffers. 6531Files: src/misc2.c 6532 6533Patch 7.1.290 6534Problem: Reading bytes that were not written when spell checking and a line 6535 has a very large indent. 6536Solution: Don't copy the start of the next line when it only contains 6537 spaces. (Dominique Pelle) 6538Files: src/spell.c 6539 6540Patch 7.1.291 (after 7.1.288) 6541Problem: Compiler warning. 6542Solution: Change 50 to 50L. 6543Files: src/if_cscope.c 6544 6545Patch 7.1.292 6546Problem: When using a pattern with "\@<=" the submatches can be wrong. 6547 (Brett Stahlman) 6548Solution: Save the submatches when attempting a look-behind match. 6549Files: src/regexp.c 6550 6551Patch 7.1.293 6552Problem: Spell checking considers super- and subscript characters as word 6553 characters. 6554Solution: Recognize the Unicode super and subscript characters. 6555Files: src/spell.c 6556 6557Patch 7.1.294 6558Problem: Leaking memory when executing a shell command. 6559Solution: Free memory when not able to save for undo. (Dominique Pelle) 6560Files: src/ex_cmds.c 6561 6562Patch 7.1.295 6563Problem: Vimtutor only works with vim, not gvim. 6564Solution: Add the -g flag to vimtutor. (Dominique Pelle) Add gvimtutor. 6565Files: src/Makefile, src/gvimtutor, src/vimtutor, runtime/doc/vimtutor.1 6566 6567Patch 7.1.296 6568Problem: SELinux is not supported. 6569Solution: Detect the selinux library and use mch_copy_sec(). (James Vega) 6570Files: src/auto/configure, src/config.h.in, src/configure.in, 6571 src/fileio.c, src/memfile.c, src/os_unix.c, src/proto/os_unix.pro 6572 6573Patch 7.1.297 6574Problem: When using the search/replace dialog the parenmatch highlighting 6575 can be wrong. (Tim Duncan) 6576Solution: In the GUI redraw function invoke the CursorMoved autocmd. 6577Files: src/gui.c 6578 6579Patch 7.1.298 (after 7.1.295) 6580Problem: src/gvimtutor is not distributed. 6581Solution: Add it to the list of distributed files. 6582Files: Filelist 6583 6584Patch 7.1.299 6585Problem: Filetype detection doesn't work properly for file names ending in 6586 a part that is ignored and contain a space or other special 6587 characters. 6588Solution: Escape the special characters using the new fnameescape function. 6589Files: runtime/doc/eval.txt, runtime/filetype.vim, src/eval.c, 6590 src/ex_getln.c, src/proto/ex_getln.pro, src/vim.h 6591 6592Patch 7.1.300 6593Problem: Value of asmsyntax argument isn't checked for valid characters. 6594Solution: Only accepts letters and digits. 6595Files: runtime/filetype.vim 6596 6597Patch 7.1.301 6598Problem: When the "File/Save" menu is used in Insert mode, a tab page label 6599 is not updated to remove the "+". 6600Solution: Call draw_tabline() from showruler(). (Bjorn Winckler) 6601Files: src/screen.c 6602 6603Patch 7.1.302 (after 7.1.299) 6604Problem: Compilation error on MS-Windows. 6605Solution: Don't use xp_shell when it's not defined. 6606Files: src/ex_getln.c 6607 6608Patch 7.1.303 (after 7.1.302) 6609Problem: Compilation error on MS-Windows, again. 6610Solution: Declare p. 6611Files: src/ex_getln.c 6612 6613Patch 7.1.304 6614Problem: Shortpath_for_invalid_fname() does not work correctly and is 6615 unnecessary complex. 6616Solution: Clean up shortpath_for_invalid_fname(). (mostly by Yegappan 6617 Lakshmanan) 6618Files: src/eval.c 6619 6620Patch 7.1.305 6621Problem: Editing a compressed file with special characters in the name 6622 doesn't work properly. 6623Solution: Escape special characters. 6624Files: runtime/autoload/gzip.vim 6625 6626Patch 7.1.306 6627Problem: Some Unicode characters are handled like word characters while 6628 they are symbols. 6629Solution: Adjust the table for Unicode classification. 6630Files: src/mbyte.c 6631 6632Patch 7.1.307 6633Problem: Many warnings when compiling with Python 2.5. 6634Solution: Use ssize_t instead of int for some types. (James Vega) 6635Files: src/if_python.c 6636 6637Patch 7.1.308 6638Problem: When in readonly mode ":options" produces an error. 6639Solution: Reset 'readonly'. (Gary Johnson) 6640Files: runtime/optwin.vim 6641 6642Patch 7.1.309 6643Problem: Installing and testing with a shadow directory doesn't work. 6644 (James Vega) 6645Solution: Add "po" to the list of directories to link. Also link the Vim 6646 scripts in testdir. And a few more small fixes. 6647Files: src/Makefile 6648 6649Patch 7.1.310 6650Problem: Incomplete utf-8 byte sequence at end of the file is not detected. 6651 Accessing memory that wasn't written. 6652Solution: Check the last bytes in the buffer for being a valid utf-8 6653 character. (mostly by Ben Schmidt) 6654 Also fix that the reported line number of the error was wrong. 6655Files: src/fileio.c 6656 6657Patch 7.1.311 6658Problem: Compiler warning for missing sentinel in X code. 6659Solution: Change 0 to NULL. (Markus Heidelberg) 6660Files: src/mbyte.c 6661 6662Patch 7.1.312 6663Problem: The .po files have mistakes in error numbers. 6664Solution: Search for these mistakes in the check script. (Dominique Pelle) 6665Files: src/po/check.vim 6666 6667Patch 7.1.313 6668Problem: When the netbeans interface setModified call is used the status 6669 lines and window title are not updated. 6670Solution: Redraw the status lines and title. (Philippe Fremy) 6671Files: src/netbeans.c 6672 6673Patch 7.1.314 6674Problem: The value of 'pastetoggle' is written to the session file without 6675 any escaping. (Randall Hansen) 6676Solution: Use put_escstr(). (Ben Schmidt) 6677Files: src/option.c 6678 6679Patch 7.1.315 6680Problem: Crash with specific search pattern using look-behind match. 6681 (Andreas Politz) 6682Solution: Also save the value of "need_clear_subexpr". 6683Files: src/regexp.c 6684 6685Patch 7.1.316 6686Problem: When 'cscopetag' is set ":tag" gives an error message instead of 6687 going to the next tag in the tag stack. 6688Solution: Don't call do_cstag() when there is no argument. (Mark Goldman) 6689Files: src/ex_docmd.c 6690 6691Patch 7.1.317 6692Problem: Compiler warnings in Motif calls. 6693Solution: Change zero to NULL. (Dominique Pelle) 6694Files: src/gui_motif.c 6695 6696Patch 7.1.318 6697Problem: Memory leak when closing xsmp connection. Crash on exit when 6698 using Lesstif. 6699Solution: Don't close the X display to work around a Lesstif bug. Free 6700 clientid. Also fix a leak for Motif and Athena. (Dominique Pelle) 6701Files: src/gui_x11.c, src/os_unix.c 6702 6703Patch 7.1.319 6704Problem: When a register has an illegal utf-8 sequence, pasting it on the 6705 command line causes an illegal memory access. 6706Solution: Use mb_cptr2char_adv(). (Dominique Pelle) 6707Files: src/ex_getln.c 6708 6709Patch 7.1.320 (extra) 6710Problem: Win64: Warnings while compiling Python interface. 6711Solution: Use PyInt in more places. Also update version message for the 6712 console. (George Reilly) 6713Files: src/if_python.c, src/version.c 6714 6715Patch 7.1.321 (extra) 6716Problem: Win32 / Win64: Install file is outdated. 6717Solution: Update the text for recent compiler. (George Reilly) 6718Files: src/INSTALLpc.txt 6719 6720Patch 7.1.322 6721Problem: Can't get start of Visual area in an <expr> mapping. 6722Solution: Add the 'v' argument to getpos(). 6723Files: runtime/doc/eval.txt, src/eval.c 6724 6725Patch 7.1.323 6726Problem: Test 19 fails with some termcaps. (Dominique Pelle) 6727Solution: Set the t_kb and t_kD termcap values. 6728Files: src/testdir/test19.in, src/testdir/test38.in 6729 6730Patch 7.1.324 6731Problem: File name path length on Unix is limited to 1024. 6732Solution: Use PATH_MAX when it's more than 1000. 6733Files: src/os_unix.h 6734 6735Patch 7.1.325 6736Problem: When editing a command line that's longer than available space in 6737 the window, the characters at the end are in reverse order. 6738Solution: Increment the insert position even when the command line doesn't 6739 fit. (Ingo Karkat) 6740Files: src/ex_getln.c 6741 6742Patch 7.1.326 6743Problem: ":s!from!to!" works, but ":smagic!from!to!" doesn't. It sees the 6744 "!" as a flag to the command. Same for ":snomagic". (Johan Spetz) 6745Solution: When checking for a forced command also ignore ":smagic" and 6746 ":snomagic". (Ian Kelling) 6747Files: src/ex_docmd.c 6748 6749Patch 7.1.327 6750Problem: The GUI tutor is installed when there is no GUI version. 6751Solution: Only install gvimtutor when building a GUI version. 6752Files: src/Makefile 6753 6754Patch 7.1.328 6755Problem: Crash when using Cygwin and non-posix path name in tags file. 6756Solution: Use separate buffer for posix path. (Ben Schmidt) 6757Files: src/os_unix.c 6758 6759Patch 7.1.329 6760Problem: When the popup menu is removed a column of cells, the right half 6761 of double-wide characters, may not be redrawn. 6762Solution: Check if the right half of a character needs to be redrawn. 6763 (Yukihiro Nakadaira) 6764Files: src/screen.c 6765 6766Patch 7.1.330 6767Problem: Reading uninitialized memory when using Del in replace mode. 6768Solution: Use utfc_ptr2len_len() instead of mb_ptr2len(). (Dominique Pelle) 6769Files: src/misc1.c 6770 6771 6772Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle) 6773 6774A search offset from the end of a match didn't work properly for multibyte 6775characters. (Yukihiro Nakadaira) 6776 6777When displaying the value of 'key' don't show "*****" when the value is empty. 6778(Ben Schmidt) 6779 6780Internal error when compiled with EXITFREE and using the nerd_tree plugin. 6781Set last_msg_hist to NULL when history becomes empty. Call 6782free_all_functions() after garbage collection. (Dominique Pelle) 6783 6784GTK with XIM: <S-Space> does not work. (Yukihiro Nakadaira) 6785 6786Some shells do not support "echo -n", which breaks glob(). Use "echo" instead 6787of "echo -n $1; echo". (Gary Johnson) 6788 6789"echo 22,44" printed "22" on top of the command, the error messages caused 6790the rest not to be cleared. Added the need_clr_eos flag. 6791 6792Netbeans events are handled while updating the screen, causing a crash. 6793Change the moment when events are handled. Rename nb_parse_messages() to 6794netbeans_parse_messages(). (Xavier de Gaye) 6795 6796Test 11 was broken after patch 7.1.186 on Win32 console. (Daniel Shahaf) 6797Use shellescape() on the file name. 6798 6799IM was turned off in im_preedit_end_cb() for no good reason. (Takuhiro 6800Nishioka) 6801 6802A corrupted spell file could cause Vim to use lots of memory. Better 6803detection for running into the end of the file. (idea from James Vega) 6804 6805Mac: Included a patch to make it build with GTK. Moved language init to 6806mac_lang_init() function. (Ben Schmidt) 6807 6808Problem with 'wildmenu' after ":lcd", up/down arrows don't work. (Erik Falor) 6809 6810Fix configure.in to avoid "implicitly declared" warnings when running 6811configure. 6812 6813Fixed a memory leak when redefining a keymap. (Dominique Pelle) 6814 6815Setting 'pastetoggle' to "jj" didn't work. 6816 6817'ic' and 'smartcase' don't work properly when using \%V in a search pattern. 6818(Kana Natsuno) 6819 6820Patch 7.2a.001 6821Problem: On some systems X11/Xlib.h exists (from X11-dev package) but 6822 X11/Intrinsic.h does not (in Xt-dev package). This breaks the 6823 build. Also, on Solaris 9 sys/ptem.h isn't found. 6824Solution: Have configure only accept X11 when X11/Intrinsic.h exists. 6825 Check for sys/ptem.h while including sys/stream.h. (Vladimir 6826 Marek) 6827Files: src/auto/configure, src/configure.in 6828 6829Patch 7.2a.002 6830Problem: getbufvar(N, "") gets the dictionary of the current buffer instead 6831 of buffer N. 6832Solution: Set curbuf before calling find_var_in_ht(). (Kana Natsuno) 6833Files: src/eval.c 6834 6835Patch 7.2a.003 6836Problem: Leaking memory when using ":file name" and using access control 6837 lists. 6838Solution: Invoke mch_free_acl() in vim_rename(). (Dominique Pelle) 6839Files: src/fileio.c 6840 6841Patch 7.2a.004 6842Problem: Some systems can't get spell files by ftp. 6843Solution: Use http when it looks like it's possible. (James Vega) 6844Files: runtime/autoload/spellfile.vim 6845 6846Patch 7.2a.005 6847Problem: A few error messages use confusing names. Misspelling. 6848Solution: Change "dissallows" to "disallows". (Dominique Pelle) Change 6849 "number" to "Number". 6850Files: src/eval.c, src/fileio.c 6851 6852Patch 7.2a.006 6853Problem: Reading past NUL in a string. 6854Solution: Check for invalid utf-8 byte sequence. (Dominique Pelle) 6855Files: src/charset.c 6856 6857Patch 7.2a.007 6858Problem: ":let v = 1.2.3" was OK in Vim 7.1, now it gives an error. 6859Solution: Don't look for a floating point number after the "." operator. 6860Files: src/eval.c 6861 6862Patch 7.2a.008 6863Problem: printf("%g", 1) doesn't work. 6864Solution: Convert Number to Float when needed. 6865Files: src/message.c 6866 6867Patch 7.2a.009 6868Problem: cygwin_conv_to_posix_path() does not specify buffer size. 6869Solution: Use new Cygwin function: cygwin_conv_path(). (Corinna Vinschen) 6870Files: src/main.c, src/os_unix.c 6871 6872Patch 7.2a.010 6873Problem: When a file name has an illegal byte sequence Vim may read 6874 uninitialised memory. 6875Solution: Don't use UTF_COMPOSINGLIKE() on an illegal byte. In 6876 msg_outtrans_len_attr() use char2cells() instead of ptr2cells(). 6877 In utf_ptr2char() don't check second byte when first byte is 6878 illegal. (Dominique Pelle) 6879Files: src/mbyte.c, src/message.c 6880 6881Patch 7.2a.011 6882Problem: The Edit/Startup Settings menu doesn't work. 6883Solution: Expand environment variables. (Ben Schmidt) 6884Files: runtime/menu.vim 6885 6886Patch 7.2a.012 6887Problem: Compiler warnings for casting int to pointer. 6888Solution: Add cast to long in between. (Martin Toft) 6889Files: src/gui_gtk_x11.c 6890 6891Patch 7.2a.013 6892Problem: shellescape() does not escape "%" and "#" characters. 6893Solution: Add find_cmdline_var() and use it when the second argument to 6894 shellescape() is non-zero. 6895Files: runtime/doc/eval.txt, src/eval.c, src/ex_docmd.c, 6896 src/proto/ex_docmd.pro, src/proto/misc2.pro, src/misc2.c 6897 6898Patch 7.2a.014 6899Problem: Problem with % in message. 6900Solution: Put % in single quotes. 6901Files: src/eval.c 6902 6903Patch 7.2a.015 (after 7.2a.010) 6904Problem: Misaligned messages. 6905Solution: Compute length of unprintable chars correctly. 6906Files: src/message.c 6907 6908Patch 7.2a.016 6909Problem: Using CTRL-W v in the quickfix window results in two quickfix 6910 windows, which is not allowed. ":tab split" should be allowed to 6911 open a new quickfix window in another tab. 6912Solution: For CTRL-W v instead of splitting the window open a new one. 6913 When using ":tab" do allow splitting the quickfix window (was 6914 already included in patch 7.2a.013). 6915Files: src/window.c 6916 6917Patch 7.2a.017 6918Problem: ":doautoall" executes autocommands for all buffers instead of just 6919 for loaded buffers. 6920Solution: Change "curbuf" to "buf". 6921Files: src/fileio.c 6922 6923Patch 7.2a.018 6924Problem: Compiler warnings when compiling with Gnome. (Tony Mechelynck) 6925Solution: Add type casts. 6926Files: src/gui_gtk_x11.c 6927 6928Patch 7.2a.019 6929Problem: ":let &g:tw = 44" sets the local option value. (Cyril Slobin) 6930Solution: Use get_varp_scope() instead of get_varp(). (Ian Kelling) 6931Files: src/option.c 6932 6933There is no way to avoid adding /usr/local/{include|lib} to the build 6934commands. Add the --with-local-dir argument to configure. (Michael 6935Haubenwallner) 6936 6937When using CTRL-D after ":help", the number of matches could be thousands. 6938Restrict to TAG_MANY to avoid this taking too long. (Ian Kelling) 6939 6940The popup menu could be placed at a weird location. Caused by w_wcol computed 6941by curs_columns(). (Dominique Pelle) 6942 6943Overlapping STRCPY() arguments when using %r item in 'errorformat'. Use 6944STRMOVE() instead. (Ralf Wildenhues) 6945 6946Mac: On Leopard gvim, when using the mouse wheel nothing would happen until 6947another event occurs, such as moving the mouse. Then the recorded scrolling 6948would take place all at once. (Eckehard Berns) 6949 6950Solution for cursor color not reflecting IM status for GTK 2. Add 6951preedit_is_active flag. (SungHyun Nam) 6952 6953filereadable() can hang on a FIFO on Linux. Use open() instead of fopen(), 6954with O_NONBLOCK. (suggested by Lars Kotthoff) 6955 6956Included patch to support Perl 5.10. (Yasuhiro Matsumoto) 6957 6958When files are dropped on gvim while the screen is being updated, ignore the 6959drop command to avoid freeing memory that is being used. 6960 6961In a terminal, when drawing the popup menu over double-wide characters, half 6962characters may not be cleared properly. (Yukihiro Nakadaira) 6963 6964The #ifdef for including "vimio.h" was inconsistent. In a few files it 6965depended on MSWIN, which isn't defined until later. 6966 6967Patch 7.2b.001 6968Problem: Compilation problem: mb_fix_col() missing with multibyte feature 6969 but without GUI or clipboard. 6970Solution: Remove #ifdef. 6971Files: src/mbyte.c 6972 6973Patch 7.2b.002 6974Problem: Compiler warnings for signed/unsigned mismatch. 6975Solution: Add type casts. 6976Files: src/screen.c 6977 6978Patch 7.2b.003 6979Problem: Still a compilation problem, check_col() and check_row() missing. 6980Solution: Add FEAT_MBYTE to the #if. 6981Files: src/ui.c 6982 6983Patch 7.2b.004 6984Problem: Trying to free memory for a static string when using ":helpgrep". 6985 (George Reilly) 6986Solution: Set 'cpo' to empty_option instead of an empty string. Also for 6987 searchpair() and substitute(). 6988Files: src/quickfix.c, src/eval.c 6989 6990Patch 7.2b.005 6991Problem: The special character "!" isn't handled properly in shellescape(). 6992 (Jan Minar) 6993Solution: Escape "!" when using a "csh" like shell and with 6994 shellescape(s, 1). Twice for both. Also escape <NL>. 6995Files: src/misc2.c 6996 6997Patch 7.2b.006 6998Problem: Reading past end of string when reading info from tags line. 6999Solution: Break the loop when encountering a NUL. (Dominique Pelle) 7000Files: src/tag.c 7001 7002Patch 7.2b.007 7003Problem: Part of a message cannot be translated. 7004Solution: Put _() around the message. 7005Files: src/search.c 7006 7007Patch 7.2b.008 7008Problem: A few filetypes are not detected or not detected properly. 7009Solution: Add filetype detection patterns. (Nikolai Weibull) 7010Files: runtime/filetype.vim 7011 7012Patch 7.2b.009 7013Problem: Reading past end of screen line. (Epicurus) 7014Solution: Avoid going past the value of Columns. 7015Files: src/screen.c 7016 7017Patch 7.2b.010 7018Problem: ":mksession" doesn't work for ":map , foo", ":sunmap ,". (Ethan 7019 Mallove) 7020Solution: Check for "nxo", "nso" and other strange mapping combinations. 7021Files: src/getchar.c 7022 7023Patch 7.2b.011 7024Problem: Configure for TCL ends up with include file in compiler command. 7025 (Richard Hogg) 7026Solution: Delete items from $TCL_DEFS that do not start with a dash. 7027Files: src/auto/configure, src/configure.in 7028 7029Patch 7.2b.012 7030Problem: Build failure with +multi_byte but without +diff. 7031Solution: Add #ifdef. (Patrick Texier) 7032Files: src/main.c 7033 7034Patch 7.2b.013 7035Problem: Build fails with tiny features and Perl. (Dominique Pelle) 7036Solution: Define missing functions. Also when compiling Python. 7037Files: src/if_perl.xs, src/if_python.c 7038 7039Patch 7.2b.014 7040Problem: Configure uses an unsafe temp file to store commands. 7041Solution: Create the temp file in local directory. 7042Files: src/auto/configure, src/configure.in 7043 7044Patch 7.2b.015 7045Problem: Build fails on Mac when using Aap. 7046Solution: Fix typo in configure script. 7047Files: src/auto/configure, src/configure.in 7048 7049Patch 7.2b.016 7050Problem: Build fails with normal features but without +autocmd. 7051Solution: Fix #ifdefs. (Ian Kelling) 7052Files: src/eval.c, src/ex_cmds.c, src/quickfix.c, src/option.c, 7053 src/ex_docmd.c 7054 7055Patch 7.2b.017 7056Problem: "vim -O foo foo" results in only one window. (Zdenek Sekera) 7057Solution: Handle result of ATTENTION prompt properly. (Ian Kelling) 7058Files: src/main.c 7059 7060Patch 7.2b.018 7061Problem: When doing command line completion on a file name for a csh-like 7062 shell argument a '!' character isn't escaped properly. 7063Solution: Add another backslash. 7064Files: src/ex_getln.c, src/misc2.c, src/proto/misc2.pro, src/screen.c 7065 7066Patch 7.2b.019 (extra) 7067Problem: Win32: Various compiler warnings. 7068Solution: Use __w64 attribute. Comment-out unused parameters. Adjust a few 7069 #ifdefs. (George Reilly) 7070Files: src/gui_w48.c, src/GvimExt/gvimext.cpp, src/Make_mvc.mak, 7071 src/os_mswin.c, src/os_win32.c, src/vim.h 7072 7073Patch 7.2b.020 7074Problem: ":sort n" doesn't handle negative numbers. (James Vega) 7075Solution: Include '-' in the number. 7076Files: src/charset.c, src/ex_cmds.c 7077 7078Patch 7.2b.021 7079Problem: Reloading doesn't read the BOM correctly. (Steve Gardner) 7080Solution: Accept utf-8 BOM when specified file encoding is utf-8. 7081Files: src/fileio.c 7082 7083Patch 7.2b.022 7084Problem: When using ":normal" while updating the status line the count of 7085 an operator is lost. (Dominique Pelle) 7086Solution: Save and restore "opcount". 7087Files: src/ex_docmd.c, src/globals.h, src/normal.c 7088 7089Patch 7.2b.023 7090Problem: Crash when using the result of synstack(0,0). (Matt Wozniski) 7091Solution: Check for v_list to be NULL in a few more places. 7092Files: src/eval.c 7093 7094Patch 7.2b.024 7095Problem: Using ":gui" while the netrw plugin is active causes a delay in 7096 updating the display. 7097Solution: Don't check for terminal codes when starting the GUI. 7098Files: src/term.c 7099 7100Patch 7.2b.025 7101Problem: When the CursorHold event triggers a pending count is lost. 7102 (Juergen Kraemer) 7103Solution: Save the counts and restore them. 7104Files: src/normal.c, src/structs.h 7105 7106Patch 7.2b.026 7107Problem: The GTK 2 file chooser causes the ~/.recently-used.xbel file to be 7108 written over and over again. This may cause a significant 7109 slowdown. (Guido Berhoerster) 7110Solution: Don't use the GTK 2 file chooser. 7111Files: src/gui_gtk.c 7112 7113Patch 7.2b.027 7114Problem: Memory leak for Python, Perl, etc. script command with end marker. 7115Solution: Free the memory of the end marker. (Andy Kittner) 7116Files: src/ex_getln.c 7117 7118Patch 7.2b.028 7119Problem: Reading uninitialized memory when doing ":gui -f". (Dominique 7120 Pelle) 7121Solution: Don't position the cursor when the screen size is invalid. 7122Files: src/gui.c 7123 7124Patch 7.2b.029 7125Problem: ":help a" doesn't jump to "a" tag in docs. (Tony Mechelynck) 7126Solution: Get all tags and throw away more than TAG_MANY after sorting. 7127 When there is no argument find matches for "help" to avoid a long 7128 delay. 7129Files: src/ex_cmds.c, src/ex_getln.c 7130 7131Patch 7.2b.030 7132Problem: When changing the value of t_Co from 8 to 16 the Visual 7133 highlighting keeps both reverse and a background color. 7134Solution: Remove the attribute when setting the default highlight color. 7135 (Markus Heidelberg) 7136Files: src/syntax.c 7137 7138Error when cancelling completion menu and auto-formatting. (fixed by Ian 7139Kelling) 7140 7141Patch 7.2c.001 7142Problem: ":let x=[''] | let x += x" causes hang. (Matt Wozniski) 7143Solution: Only insert elements up to the original length of the List. 7144Files: runtime/doc/eval.txt, src/eval.c 7145 7146Patch 7.2c.002 7147Problem: fnameescape() doesn't handle a leading '+' or '>'. (Jan Minar) 7148Solution: Escape a leading '+' and '>'. And a single '-'. 7149Files: runtime/doc/eval.txt, src/ex_getln.c 7150 7151Patch 7.2c.003 7152Problem: Searching for "foo\%[bar]\+" gives a "Corrupted regexp program" 7153 error. (Joachim Hofmann) 7154Solution: Mark the \%[] item as not being simple. 7155Files: src/regexp.c 7156 7157On Vista access to system directories is virtualized. (Michael Mutschler) 7158Adjusted the manifest file to avoid this. (George Reilly) 7159 7160Memory leak when using CTRL-C to cancel listing the jump list. (Dominique 7161Pelle) 7162 7163Mac: Could not build with Perl interface. 7164 7165============================================================================== 7166VERSION 7.3 *version-7.3* *version7.3* 7167 7168This section is about improvements made between version 7.2 and 7.3. 7169 7170This release has hundreds of bug fixes and there are a few new features. The 7171most notable new features are: 7172 7173 7174Persistent undo *new-persistent-undo* 7175--------------- 7176 7177Store undo information in a file. Can undo to before when the file was read, 7178also for unloaded buffers. See |undo-persistence| (partly by Jordan Lewis) 7179 7180Added the ":earlier 1f" and ":later 1f" commands. 7181Added file save counter to undo information. 7182Added the |undotree()| and |undofile()| functions. 7183 7184Also added the 'undoreload' option. This makes it possible to save the 7185current text when reloading the buffer, so that the reload can be undone. 7186 7187 7188More encryption *new-more-encryption* 7189--------------- 7190 7191Support for Blowfish encryption. Added the 'cryptmethod' option. 7192Mostly by Mohsin Ahmed. 7193 7194Also encrypt the text in the swap file and the undo file. 7195 7196 7197Conceal text *new-conceal* 7198------------ 7199 7200Added the |+conceal| feature. (Vince Negri) 7201This allows hiding stretches of text, based on syntax highlighting. 7202It also allows replacing a stretch of text by a character |:syn-cchar|. 7203The 'conceallevel' option specifies what happens with text matching a syntax 7204item that has the conceal attribute. 7205The 'concealcursor' option specifies what happens in the cursor line. 7206 7207The help files conceal characters used to mark tags and examples. 7208 7209Added the |synconcealed()| function and use it for :TOhtml. (Benjamin Fritz) 7210 7211Added the 'cursorbind' option, keeps the cursor in two windows with the same 7212text in sync. 7213 7214 7215Lua interface *new-lua* 7216------------- 7217 7218Added the |Lua| interface. (Luis Carvalho) 7219 7220 7221Python3 interface *new-python3* 7222----------------- 7223 7224Added the Python3 interface. It exists next to Python 2.x, both can be used 7225at the same time. See |python3| (Roland Puntaier) 7226 7227 7228Changed *changed-7.3* 7229------- 7230 7231The MS-Windows installer no longer requires the user to type anything in the 7232console windows. The installer now also works on 64 bit systems, including 7233the "Edit with Vim" context menu. 7234The gvim executable is 32 bits, the installed gvimext.dll is either a 32 or 64 7235bit version. (mostly by George Reilly) 7236Made the DOS installer work with more compilers. 7237The MS-Windows big gvim is now built with Python 2.7 and 3.1.2, Perl 5.12 and 7238Ruby 1.9.1. You need the matching .dll files to use them. 7239 7240The extra and language files are no longer distributed separately. 7241The source files for all systems are included in one distribution. 7242 7243After using ":recover" or recovering a file in another way, ":x" and "ZZ" 7244didn't save what you see. This could result in work being lost. Now the text 7245after recovery is compared to the original file contents. When they differ 7246the buffer is marked as modified. 7247 7248When Vim is exiting because of a deadly signal, when v:dying is 2 or more, 7249VimLeavePre, VimLeave, BufWinLeave and BufUnload autocommands are not 7250executed. 7251 7252Removed support for GTK 1. It was no longer maintained and required a lot of 7253#ifdefs in the source code. GTK 2 should be available for every system. 7254(James Vega) 7255 7256It is no longer allowed to set the 'encoding' option from a modeline. It 7257would corrupt the text. (Patrick Texier) 7258 7259Renamed runtime/spell/fixdup to runtime/spell/fixdup.vim. 7260 7261Removed obsolete Mac code. 7262 7263Updated spell files for Ubuntu locale names. 7264 7265Switched from autoconf 2.63 to 2.65. 7266 7267Removed Mupad indent and ftplugin files, they are not useful. 7268 7269The maximum number of messages remembered in the history is now 200 (was 100). 7270 7271 7272Added *added-7.3* 7273----- 7274 7275Added the 'relativenumber' option. (Markus Heidelberg) 7276 7277Added the 'colorcolumn' option: highlight one or more columns in a window. 7278E.g. to highlight the column after 'textwidth'. (partly by Gregor Uhlenheuer) 7279 7280Added support for NetBeans in a terminal. Added |:nbstart| and |:nbclose|. 7281(Xavier de Gaye) 7282 7283More floating point functions: |acos()|, |asin()|, |atan2()|, |cosh()|, 7284|exp()|, |fmod()|, |log()|, |sinh()|, |tan()|, |tanh()|. (Bill McCarthy) 7285 7286Added the |gettabvar()| and |settabvar()| functions. (Yegappan Lakshmanan) 7287 7288Added the |strchars()|, |strwidth()| and |strdisplaywidth()| functions. 7289 7290Support GDK_SUPER_MASK for GTK on Mac. (Stephan Schulz) 7291 7292Made CTRL and ALT modifier work for mouse wheel. (Benjamin Haskell) 7293 7294Added support for horizontal scroll wheel. (Bjorn Winckler) 7295 7296When the buffer is in diff mode, have :TOhtml create HTML to show the diff 7297side-by-side. (Christian Brabandt) 7298 7299Various improvements to ":TOhtml" and the 2html.vim script. (Benjamin Fritz) 7300 7301Add the 'L' item to 'cinoptions'. (Manuel Konig) 7302 7303Improve Javascript indenting. Add "J" flag to 'cinoptions'. (Hari Kumar G) 7304 7305Mac: Support disabling antialias. (LC Mi) 7306 7307Mac: Add clipboard support in the Mac console. (Bjorn Winckler) 7308 7309Make it possible to drag a tab page label to another position. (Paul B. Mahol) 7310 7311Better implementation of creating the Color Scheme menu. (Juergen Kraemer) 7312 7313In Visual mode with 'showcmd' display the number of bytes and characters. 7314 7315Allow synIDattr() getting GUI attributes when built without GUI. (Matt 7316Wozniski) 7317 7318Support completion for ":find". Added test 73. (Nazri Ramliy) 7319 7320Command line completion for :ownsyntax and :setfiletype. (Dominique Pelle) 7321 7322Command line completion for :lmap and :lunmap. 7323 7324Support syntax and filetype completion for user commands. (Christian Brabandt) 7325 7326Avoid use of the GTK main_loop() so that the GtkFileChooser can be used. 7327(James Vega) 7328 7329When 'formatexpr' evaluates to non-zero fall back to internal formatting, also 7330for "gq". (James Vega) 7331 7332Support :browse for commands that use an error file argument. (Lech Lorens) 7333 7334Support wide file names in gvimext. (Szabolcs Horvat) 7335 7336Improve test for joining lines. (Milan Vancura) 7337Make joining a range of lines much faster. (Milan Vancura) 7338 7339Add patch to improve support of z/OS (OS/390). (Ralf Schandl) 7340 7341Added the helphelp.txt file. Moved text from various.txt to it. 7342 7343Added "q" item for 'statusline'. Added |w:quickfix_title|. (Lech Lorens) 7344 7345Various improvements for VMS. (Zoltan Arpadffy) 7346 7347 7348New syntax files: ~ 7349Haskell Cabal build file (Vincent Berthoux) 7350ChaiScript (Jason Turner) 7351Cucumber (Tim Pope) 7352Datascript (Dominique Pelle) 7353Fantom (Kamil Toman) 7354Liquid (Tim Pope) 7355Markdown (Tim Pope) 7356wavefront's obj file (Vincent Berthoux) 7357Perl 6 (Andy Lester) 7358SDC - Synopsys Design Constraints (Maurizio Tranchero) 7359SVG - Scalable Vector Graphics (Vincent Berthoux) 7360task data (John Florian) 7361task 42 edit (John Florian) 7362 7363New filetype plugins: ~ 7364Cucumber (Tim Pope) 7365Liquid (Tim Pope) 7366Logcheck (Debian) 7367Markdown (Tim Pope) 7368Perl 6 (Andy Lester) 7369Quickfix window (Lech Lorens) 7370Tcl (Robert L Hicks) 7371 7372New indent plugins: ~ 7373CUDA (Bram Moolenaar) 7374ChaiScript (Jason Turner) 7375Cucumber (Tim Pope) 7376LifeLines (Patrick Texier) 7377Liquid (Tim Pope) 7378Mail (Bram Moolenaar) 7379Perl 6 (Andy Lester) 7380 7381Other new runtime files: ~ 7382Breton spell file (Dominique Pelle) 7383Dvorak keymap (Ashish Shukla) 7384Korean translations. (SungHyun Nam) 7385Python 3 completion (Aaron Griffin) 7386Serbian menu translations (Aleksandar Jelenak) 7387Tetum spell files 7388Tutor Bairish (Sepp Hell) 7389Tutor in Esperanto. (Dominique Pellé) 7390Tutor in Portuguese. 7391Norwegian Tutor now also available as tutor.nb 7392 7393Removed the Mupad runtime files, they were not maintained. 7394 7395 7396Fixed *fixed-7.3* 7397----- 7398 7399Patch 7.2.001 7400Problem: Mac: pseudo-ttys don't work properly on Leopard, resulting in the 7401 shell not to have a prompt, CTRL-C not working, etc. 7402Solution: Don't use SVR4 compatible ptys, even though they are detected. 7403 (Ben Schmidt) 7404Files: src/pty.c 7405 7406Patch 7.2.002 7407Problem: Leaking memory when displaying menus. 7408Solution: Free allocated memory. (Dominique Pelle) 7409Files: src/menu.c 7410 7411Patch 7.2.003 7412Problem: Typo in translated message. Message not translated. 7413Solution: Correct spelling. Add _(). (Dominique Pelle) 7414Files: src/spell.c, src/version.c 7415 7416Patch 7.2.004 7417Problem: Cscope help message is not translated. 7418Solution: Put it in _(). (Dominique Pelle) 7419Files: src/if_cscope.c, src/if_cscope.h 7420 7421Patch 7.2.005 7422Problem: A few problems when profiling. Using flag pointer instead of flag 7423 value. Allocating zero bytes. Not freeing used memory. 7424Solution: Remove wrong '&' characters. Skip dumping when there is nothing 7425 to dump. Free used memory. (Dominique Pelle) 7426Files: src/eval.c 7427 7428Patch 7.2.006 7429Problem: HTML files are not recognized by contents. 7430Solution: Add a rule to the scripts file. (Nico Weber) 7431Files: runtime/scripts.vim 7432 7433Patch 7.2.007 (extra) 7434Problem: Minor issues for VMS. 7435Solution: Minor fixes for VMS. Add float support. (Zoltan Arpadffy) 7436Files: runtime/doc/os_vms.txt, src/os_vms_conf.h, src/Make_vms.mms, 7437 src/testdir/Make_vms.mms, src/testdir/test30.in, 7438 src/testdir/test54.in 7439 7440Patch 7.2.008 7441Problem: With a BufHidden autocommand that invokes ":bunload" the window 7442 count for a buffer can be wrong. (Bob Hiestand) 7443Solution: Don't call enter_buffer() when already in that buffer. 7444Files: src/buffer.c 7445 7446Patch 7.2.009 7447Problem: Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani) 7448Solution: Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp) 7449Files: src/if_perl.xs 7450 7451Patch 7.2.010 7452Problem: When using "K" in Visual mode not all characters are properly 7453 escaped. (Ben Schmidt) 7454Solution: Use a function with the functionality of shellescape(). (Jan 7455 Minar) 7456Files: src/mbyte.c, src/misc2.c, src/normal.c 7457 7458Patch 7.2.011 7459Problem: Get an error when inserting a float value from the expression 7460 register. 7461Solution: Convert the Float to a String automatically in the same place 7462 where a List would be converted to a String. 7463Files: src/eval.c 7464 7465Patch 7.2.012 7466Problem: Compiler warnings when building with startup timing. 7467Solution: Add type casts. 7468Files: src/ex_cmds2.c 7469 7470Patch 7.2.013 7471Problem: While waiting for the X selection Vim consumes a lot of CPU time 7472 and hangs until a response is received. 7473Solution: Sleep a bit when the selection event hasn't been received yet. 7474 Time out after a couple of seconds to avoid a hang when the 7475 selection owner isn't responding. 7476Files: src/ui.c 7477 7478Patch 7.2.014 7479Problem: synstack() doesn't work in an empty line. 7480Solution: Accept column zero as a valid position. 7481Files: src/eval.c 7482 7483Patch 7.2.015 7484Problem: "make all test install" doesn't stop when the test fails. (Daniel 7485 Shahaf) 7486Solution: When test.log contains failures exit with non-zero status. 7487Files: src/testdir/Makefile 7488 7489Patch 7.2.016 7490Problem: The pattern being completed may be in freed memory when the 7491 command line is being reallocated. (Dominique Pelle) 7492Solution: Keep a pointer to the expand_T in the command line structure. 7493 Don't use <S-Tab> as CTRL-P when there are no results. Clear the 7494 completion when using a command line from the history. 7495Files: src/ex_getln.c 7496 7497Patch 7.2.017 7498Problem: strlen() used on text that may not end in a NUL. (Dominique Pelle) 7499 Pasting a very big selection doesn't work. 7500Solution: Use the length passed to the XtSelectionCallbackProc() function. 7501 After getting the SelectionNotify event continue dispatching 7502 events until the callback is actually called. Also dispatch the 7503 PropertyNotify event. 7504Files: src/ui.c 7505 7506Patch 7.2.018 7507Problem: Memory leak when substitute is aborted. 7508Solution: Free the buffer allocated for the new text. (Dominique Pelle) 7509Files: src/ex_cmds.c 7510 7511Patch 7.2.019 7512Problem: Completion of ":noautocmd" doesn't work and exists(":noautocmd") 7513 returns zero. (Ben Fritz) 7514Solution: Add "noautocmd" to the list of modifiers and commands. 7515Files: src/ex_cmds.h, src/ex_docmd.c 7516 7517Patch 7.2.020 7518Problem: Starting the GUI when the executable starts with 'k', but the KDE 7519 version no longer exists. 7520Solution: Don't have "kvim" start the GUI. 7521Files: src/main.c 7522 7523Patch 7.2.021 7524Problem: When executing autocommands getting the full file name may be 7525 slow. (David Kotchan) 7526Solution: Postpone calling FullName_save() until autocmd_fname is used. 7527Files: src/ex_docmd.c, src/fileio.c, src/globals.h 7528 7529Patch 7.2.022 (extra) 7530Problem: Testing is not possible when compiling with MingW. 7531Solution: Add a MingW specific test Makefile. (Bill McCarthy) 7532Files: Filelist, src/testdir/Make_ming.mak 7533 7534Patch 7.2.023 7535Problem: 'cursorcolumn' is in the wrong place in a closed fold when the 7536 display is shifted left. (Gary Johnson) 7537Solution: Subtract w_skipcol or w_leftcol when needed. 7538Files: src/screen.c 7539 7540Patch 7.2.024 7541Problem: It's possible to set 'history' to a negative value and that causes 7542 an out-of-memory error. 7543Solution: Check that 'history' has a positive value. (Doug Kearns) 7544Files: src/option.c 7545 7546Patch 7.2.025 7547Problem: When a CursorHold event invokes system() it is retriggered over 7548 and over again. 7549Solution: Don't reset did_cursorhold when getting K_IGNORE. 7550Files: src/normal.c 7551 7552Patch 7.2.026 (after 7.2.010) 7553Problem: "K" doesn't use the length of the identifier but uses the rest of 7554 the line. 7555Solution: Copy the desired number of characters first. 7556Files: src/normal.c 7557 7558Patch 7.2.027 7559Problem: Can use cscope commands in the sandbox. 7560Solution: Disallow them, they might not be safe. 7561Files: src/ex_cmds.h 7562 7563Patch 7.2.028 7564Problem: Confusing error message for missing (). 7565Solution: Change "braces" to "parentheses". (Gary Johnson) 7566Files: src/eval.c 7567 7568Patch 7.2.029 7569Problem: No completion for ":doautoall". 7570Solution: Complete ":doautoall" like ":doautocmd". (Doug Kearns) 7571Files: src/ex_docmd.c 7572 7573Patch 7.2.030 (after 7.2.027) 7574Problem: Can't compile. 7575Solution: Remove prematurely added ex_oldfiles. 7576Files: src/ex_cmds.h 7577 7578Patch 7.2.031 7579Problem: Information in the viminfo file about previously edited files is 7580 not available to the user. There is no way to get a complete list 7581 of files edited in previous Vim sessions. 7582Solution: Add v:oldfiles and fill it with the list of old file names when 7583 first reading the viminfo file. Add the ":oldfiles" command, 7584 ":browse oldfiles" and the "#<123" special file name. Increase 7585 the default value for 'viminfo' from '20 to '100. 7586Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, 7587 runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c, 7588 src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h, 7589 src/fileio.c, src/main.c, src/mark.c, src/misc1.c, 7590 src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro, 7591 src/option.c, src/structs.h, src/vim.h 7592 7593Patch 7.2.032 (after 7.2.031) 7594Problem: Can't build with EXITFREE defined. (Dominique Pelle) 7595Solution: Change vv_string to vv_str. 7596Files: src/eval.c 7597 7598Patch 7.2.033 7599Problem: When detecting a little endian BOM "ucs-2le" is used, but the text 7600 might be "utf-16le". 7601Solution: Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei) 7602Files: src/fileio.c, src/testdir/test42.ok 7603 7604Patch 7.2.034 7605Problem: Memory leak in spell info when deleting buffer. 7606Solution: Free the memory. (Dominique Pelle) 7607Files: src/buffer.c 7608 7609Patch 7.2.035 7610Problem: Mismatches between alloc/malloc, free/vim_free, 7611 realloc/vim_realloc. 7612Solution: Use the right function. (Dominique Pelle) 7613Files: src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c 7614 7615Patch 7.2.036 (extra) 7616Problem: Mismatches between alloc/malloc, free/vim_free, 7617 realloc/vim_realloc. 7618Solution: Use the right function. (Dominique Pelle) 7619Files: src/gui_riscos.c, src/gui_w48.c, src/mbyte.c, src/os_vms.c, 7620 src/os_w32exe.c, src/os_win16.c 7621 7622Patch 7.2.037 7623Problem: Double free with GTK 1 and compiled with EXITFREE. 7624Solution: Don't close display. (Dominique Pelle) 7625Files: src/os_unix.c 7626 7627Patch 7.2.038 7628Problem: Overlapping arguments to memcpy(). 7629Solution: Use mch_memmove(). (Dominique Pelle) 7630Files: src/if_xcmdsrv.c 7631 7632Patch 7.2.039 7633Problem: Accessing freed memory on exit when EXITFREE is defined. 7634Solution: Call hash_init() on the v: hash table. 7635Files: src/eval.c 7636 7637Patch 7.2.040 7638Problem: When using ":e ++ff=dos fname" and the file contains a NL without 7639 a CR before it and 'ffs' contains "unix" then the fileformat 7640 becomes unix. 7641Solution: Ignore 'ffs' when using the ++ff argument. (Ben Schmidt) 7642 Also remove unreachable code. 7643Files: src/fileio.c 7644 7645Patch 7.2.041 7646Problem: In diff mode, when using two tabs, each with two diffed buffers, 7647 editing a buffer of the other tab messes up the diff. (Matt 7648 Mzyzik) 7649Solution: Only copy options from a window where the buffer was edited that 7650 doesn't have 'diff' set or is for the current tab page. 7651 Also fix that window options for a buffer are stored with the 7652 wrong window. 7653Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, 7654 src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c, 7655 src/normal.c, src/popupmnu.c, src/proto/buffer.pro, 7656 src/proto/ex_cmds.pro src/quickfix.c, src/window.c 7657 7658Patch 7.2.042 7659Problem: When using winrestview() in a BufWinEnter autocommand the window 7660 is scrolled anyway. (Matt Zyzik) 7661Solution: Don't recompute topline when above 'scrolloff' from the bottom. 7662 Don't always put the cursor halfway when entering a buffer. Add 7663 "w_topline_was_set". 7664Files: src/buffer.c, src/move.c, src/structs.h 7665 7666Patch 7.2.043 7667Problem: VMS: Too many characters are escaped in filename and shell 7668 commands. 7669Solution: Escape fewer characters. (Zoltan Arpadffy) 7670Files: src/vim.h 7671 7672Patch 7.2.044 7673Problem: Crash because of STRCPY() being over protective of the destination 7674 size. (Dominique Pelle) 7675Solution: Add -D_FORTIFY_SOURCE=1 to CFLAGS. Use an intermediate variable 7676 for the pointer to avoid a warning. 7677Files: src/auto/configure, src/configure.in, src/eval.c 7678 7679Patch 7.2.045 7680Problem: The Python interface has an empty entry in sys.path. 7681Solution: Filter out the empty entry. (idea from James Vega) 7682Files: src/if_python.c 7683 7684Patch 7.2.046 7685Problem: Wrong check for filling buffer with encoding. (Danek Duvall) 7686Solution: Remove pointers. (Dominique Pelle) 7687Files: src/mbyte.c 7688 7689Patch 7.2.047 7690Problem: Starting Vim with the -nb argument while it's not supported causes 7691 the other side to hang. 7692Solution: When -nb is used while it's not supported exit Vim. (Xavier de 7693 Gaye) 7694Files: src/main.c, src/vim.h 7695 7696Patch 7.2.048 7697Problem: v:prevcount is changed too often. Counts are not multiplied when 7698 setting v:count. 7699Solution: Set v:prevcount properly. Multiply counts. (idea by Ben Schmidt) 7700Files: src/eval.c, src/normal.c, src/proto/eval.pro 7701 7702Patch 7.2.049 (extra) 7703Problem: Win32: the clipboard doesn't support UTF-16. 7704Solution: Change UCS-2 support to UTF-16 support. (Jia Yanwei) 7705Files: src/gui_w32.c, src/gui_w48.c, src/mbyte.c, src/misc1.c, 7706 src/os_mswin.c, src/os_win32.c, src/proto/os_mswin.pro 7707 7708Patch 7.2.050 7709Problem: Warnings for not checking return value of fwrite(). (Chip Campbell) 7710Solution: Use the return value. 7711Files: src/spell.c 7712 7713Patch 7.2.051 7714Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath(). 7715Solution: Add an extra argument to these functions. (Ingo Karkat) 7716Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro, 7717 runtime/doc/eval.txt, runtime/doc/options.txt 7718 7719Patch 7.2.052 7720Problem: synIDattr() doesn't support "sp" for special color. 7721Solution: Recognize "sp" and "sp#". (Matt Wozniski) 7722Files: runtime/doc/eval.txt, src/eval.c 7723 7724Patch 7.2.053 7725Problem: Crash when using WorkShop command ":ws foo". (Dominique Pelle) 7726Solution: Avoid using a NULL pointer. 7727Files: src/workshop.c 7728 7729Patch 7.2.054 7730Problem: Compilation warnings for format in getchar.c. 7731Solution: Use fputs() instead of fprintf(). (Dominique Pelle) 7732Files: src/getchar.c 7733 7734Patch 7.2.055 7735Problem: Various compiler warnings with strict checking. 7736Solution: Avoid the warnings by using return values and renaming. 7737Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, 7738 src/fileio.c, src/fold.c, src/globals.h, src/gui.c, 7739 src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c, 7740 src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c, 7741 src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c, 7742 src/ui.c, src/window.c 7743 7744Patch 7.2.056 (after 7.2.050) 7745Problem: Tests 58 and 59 fail. 7746Solution: Don't invoke fwrite() with a zero length. (Dominique Pelle) 7747Files: src/spell.c 7748 7749Patch 7.2.057 (after 7.2.056) 7750Problem: Combination of int and size_t may not work. 7751Solution: Use size_t for variable. 7752Files: src/spell.c 7753 7754Patch 7.2.058 7755Problem: Can't add a patch name to the ":version" output. 7756Solution: Add the extra_patches array. 7757Files: src/version.c 7758 7759Patch 7.2.059 7760Problem: Diff display is not always updated. 7761Solution: Update the display more often. 7762Files: src/diff.c 7763 7764Patch 7.2.060 7765Problem: When a spell files has many compound rules it may take a very long 7766 time making the list of suggestions. Displaying also can be slow 7767 when there are misspelled words. 7768 Can't parse some Hunspell .aff files. 7769Solution: Check if a compounding can possibly work before trying a 7770 combination, if the compound rules don't contain wildcards. 7771 Implement using CHECKCOMPOUNDPATTERN. 7772 Ignore COMPOUNDRULES. Ignore a comment after most items. 7773 Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND. 7774 Accept FORBIDDENWORD as an alias for BAD. 7775Files: runtime/doc/spell.txt, src/spell.c 7776 7777Patch 7.2.061 7778Problem: Can't create a funcref for an autoload function without loading 7779 the script first. (Marc Weber) 7780Solution: Accept autoload functions that don't exist yet in function(). 7781Files: src/eval.c 7782 7783Patch 7.2.062 7784Problem: "[Scratch]" is not translated. 7785Solution: Mark the string for translation. (Dominique Pelle) 7786Files: src/buffer.c 7787 7788Patch 7.2.063 7789Problem: Warning for NULL argument of Perl_sys_init3(). 7790Solution: Use Perl_sys_init() instead. (partly by Dominique Pelle) 7791Files: src/if_perl.xs 7792 7793Patch 7.2.064 7794Problem: Screen update bug when repeating "~" on a Visual block and the 7795 last line doesn't change. 7796Solution: Keep track of changes for all lines. (Moritz Orbach) 7797Files: src/ops.c 7798 7799Patch 7.2.065 7800Problem: GTK GUI: the cursor disappears when doing ":vsp" and the Vim 7801 window is maximized. (Dominique Pelle, Denis Smolyar) 7802Solution: Don't change "Columns" back to an old value at a wrong moment. 7803 Do change "Rows" when it should not be a problem. 7804Files: src/gui.c 7805 7806Patch 7.2.066 7807Problem: It's not easy to see whether 'encoding' is a multibyte encoding. 7808Solution: Add has('multi_byte_encoding'). 7809Files: runtime/doc/eval.txt, src/eval.c 7810 7811Patch 7.2.067 7812Problem: Session file can't load extra file when the path contains special 7813 characters. 7814Solution: Escape the file name. (Lech Lorens) 7815Files: src/ex_docmd.c 7816 7817Patch 7.2.068 7818Problem: Emacs tags file lines can be too long, resulting in an error 7819 message. (James Vega) 7820Solution: Ignore lines with errors if they are too long. 7821Files: src/tag.c 7822 7823Patch 7.2.069 (after 7.2.060) 7824Problem: Compiler warning for storing size_t in int. 7825Solution: Add type cast. 7826Files: src/spell.c 7827 7828Patch 7.2.070 7829Problem: Crash when a function returns a:000. (Matt Wozniski) 7830Solution: Don't put the function struct on the stack, allocate it. Free it 7831 only when nothing in it is used. 7832Files: src/eval.c 7833 7834Patch 7.2.071 (extra) 7835Problem: Win32: Handling netbeans events while Vim is busy updating the 7836 screen may cause a crash. 7837Solution: Like with GTK, only handle netbeans messages in the main loop. 7838 (Xavier de Gaye) 7839Files: src/gui_w48.c, src/netbeans.c 7840 7841Patch 7.2.072 (extra) 7842Problem: Compiler warning in Sniff code. 7843Solution: Use return value of pipe(). (Dominique Pelle) 7844Files: src/if_sniff.c 7845 7846Patch 7.2.073 7847Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt 7848 Wozniski) 7849Solution: Don't translate "x" keys to its alternative for ":set". 7850Files: src/gui_mac.c, src/misc2.c, src/option.c, src/proto/misc2.pro 7851 7852Patch 7.2.074 (extra, after 7.2.073) 7853Problem: ":set <xHome>" has the same output as ":set <Home>". (Matt 7854 Wozniski) 7855Solution: Don't translate "x" keys to its alternative for ":set". 7856Files: src/gui_mac.c 7857 7858Patch 7.2.075 (after 7.2.058) 7859Problem: Explanation about making a diff for extra_patches is unclear. 7860Solution: Adjust comment. 7861Files: src/version.c 7862 7863Patch 7.2.076 7864Problem: rename(from, to) deletes the file if "from" and "to" are not equal 7865 but still refer to the same file. E.g., on a FAT32 filesystem 7866 under Unix. 7867Solution: Go through another file name. 7868Files: src/fileio.c 7869 7870Patch 7.2.077 (after 7.2.076) 7871Problem: rename(from, to) doesn't work if "from" and "to" differ only in 7872 case on a system that ignores case in file names. 7873Solution: Go through another file name. 7874Files: src/fileio.c 7875 7876Patch 7.2.078 7877Problem: When deleting a fold that is specified with markers the cursor 7878 position may be wrong. Folds may not be displayed properly after 7879 a delete. Wrong fold may be deleted. 7880Solution: Fix the problems. (mostly by Lech Lorens) 7881Files: src/fold.c 7882 7883Patch 7.2.079 7884Problem: "killed" netbeans events are not handled correctly. 7885Solution: A "killed" netbeans event is sent when the buffer is deleted or 7886 wiped out (in this case, the netbeans annotations in this buffer 7887 have been removed). A user can still remove a sign with the 7888 command ":sign unplace" and this does not trigger a "killed" 7889 event. (Xavier de Gaye) 7890Files: runtime/doc/netbeans.txt, src/buffer.c, src/globals.h, 7891 src/netbeans.c, src/proto/netbeans.pro 7892 7893Patch 7.2.080 7894Problem: When typing a composing character just after starting completion 7895 may access memory before its allocation point. (Dominique Pelle) 7896Solution: Don't delete before the completion start column. Add extra checks 7897 for the offset not being negative. 7898Files: src/edit.c 7899 7900Patch 7.2.081 7901Problem: Compiler warning for floating point overflow on VAX. 7902Solution: For VAX use a smaller number. (Zoltan Arpadffy) 7903Files: src/message.c 7904 7905Patch 7.2.082 7906Problem: When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a. 7907 (Andy Wokula) 7908Solution: Use NL for this situation. (Lech Lorens) 7909Files: src/ex_cmds.c 7910 7911Patch 7.2.083 7912Problem: ":tag" does not return to the right tag entry from the tag stack. 7913Solution: Don't change the current match when there is no argument. 7914 (Erik Falor) 7915Files: src/tag.c 7916 7917Patch 7.2.084 7918Problem: Recursive structures are not handled properly in Python 7919 vim.eval(). 7920Solution: Keep track of references in a better way. (Yukihiro Nakadaira) 7921Files: src/if_python.c 7922 7923Patch 7.2.085 7924Problem: ":set <M-b>=<Esc>b" does not work when 'encoding' is utf-8. 7925Solution: Put the <M-b> character in the input buffer as valid utf-8. 7926 (partly by Matt Wozniski) 7927Files: src/term.c 7928 7929Patch 7.2.086 7930Problem: Using ":diffget 1" in buffer 1 corrupts the text. 7931Solution: Don't do anything when source and destination of ":diffget" or 7932 ":diffput" is the same buffer. (Dominique Pelle) 7933Files: src/diff.c 7934 7935Patch 7.2.087 7936Problem: Adding URL to 'path' doesn't work to edit a file. 7937Solution: Skip simplify_filename() for URLs. (Matt Wozniski) 7938Files: src/misc2.c 7939 7940Patch 7.2.088 (extra) 7941Problem: OpenClipboard() may fail when another application is using the 7942 clipboard. 7943Solution: Retry OpenClipboard() a few times. (Jianrong Yu) 7944Files: src/os_mswin.c 7945 7946Patch 7.2.089 (extra) 7947Problem: Win32: crash when using Ultramon buttons. 7948Solution: Don't use a WM_OLE message of zero size. (Ray Megal) 7949Files: src/if_ole.cpp, src/gui_w48.c 7950 7951Patch 7.2.090 7952Problem: User command containing 0x80 in multibyte character does not work 7953 properly. (Yasuhiro Matsumoto) 7954Solution: Undo replacement of K_SPECIAL and CSI characters when executing 7955 the command. 7956Files: src/ex_docmd.c 7957 7958Patch 7.2.091 7959Problem: ":cs help" output is not aligned for some languages. 7960Solution: Compute character size instead of byte size. (Dominique Pelle) 7961Files: src/if_cscope.c 7962 7963Patch 7.2.092 7964Problem: Some error messages are not translated. 7965Solution: Add _() around the messages. (Dominique Pelle) 7966Files: src/eval.c 7967 7968Patch 7.2.093 (extra) 7969Problem: Win32: inputdialog() and find/replace dialogs can't handle 7970 multibyte text. 7971Solution: Use the wide version of dialog functions when available. (Yanwei 7972 Jia) 7973Files: src/gui_w32.c, src/gui_w48.c 7974 7975Patch 7.2.094 7976Problem: Compiler warning for signed/unsigned compare. 7977Solution: Add type cast. Also fix a few typos. 7978Files: src/edit.c 7979 7980Patch 7.2.095 7981Problem: With Visual selection, "r" and then CTRL-C Visual mode is stopped 7982 but the highlighting is not removed. 7983Solution: Call reset_VIsual(). 7984Files: src/normal.c 7985 7986Patch 7.2.096 7987Problem: After ":number" the "Press Enter" message may be on the wrong 7988 screen, if switching screens for shell commands. 7989Solution: Reset info_message. (James Vega) 7990Files: src/ex_cmds.c 7991 7992Patch 7.2.097 7993Problem: "!xterm&" doesn't work when 'shell' is "bash". 7994Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert) 7995Files: src/os_unix.c 7996 7997Patch 7.2.098 7998Problem: Warning for signed/unsigned pointer. 7999Solution: Add type cast. 8000Files: src/eval.c 8001 8002Patch 7.2.099 8003Problem: Changing GUI options causes an unnecessary redraw when the GUI 8004 isn't active. 8005Solution: Avoid the redraw. (Lech Lorens) 8006Files: src/option.c 8007 8008Patch 7.2.100 8009Problem: When using ":source" on a FIFO or something else that can't rewind 8010 the first three bytes are skipped. 8011Solution: Instead of rewinding read the first line and detect a BOM in that. 8012 (mostly by James Vega) 8013Files: src/ex_cmds2.c 8014 8015Patch 7.2.101 (extra) 8016Problem: MSVC version not recognized. 8017Solution: Add the version number to the list. (Zhong Zhang) 8018Files: src/Make_mvc.mak 8019 8020Patch 7.2.102 (after 7.2.100) 8021Problem: When 'encoding' is "utf-8" a BOM at the start of a Vim script is 8022 not removed. (Tony Mechelynck) 8023Solution: When no conversion is taking place make a copy of the line without 8024 the BOM. 8025Files: src/ex_cmds2.c 8026 8027Patch 7.2.103 8028Problem: When 'bomb' is changed the window title is updated to show/hide a 8029 "+", but the tab page label isn't. (Patrick Texier) 8030Solution: Set "redraw_tabline" in most places where "need_maketitle" is set. 8031 (partly by Lech Lorens) 8032Files: src/option.c 8033 8034Patch 7.2.104 8035Problem: When using ":saveas bar.c" the tab label isn't updated right away. 8036Solution: Set redraw_tabline. (Francois Ingelrest) 8037Files: src/ex_cmds.c 8038 8039Patch 7.2.105 8040Problem: Modeline setting for 'foldmethod' overrules diff options. (Ingo 8041 Karkat) 8042Solution: Don't set 'foldmethod' and 'wrap' from a modeline when 'diff' is 8043 on. 8044Files: src/option.c 8045 8046Patch 7.2.106 8047Problem: Endless loop when using "]s" in HTML when there are no 8048 misspellings. (Ingo Karkat) 8049Solution: Break the search loop. Also fix pointer alignment for systems 8050 with pointers larger than int. 8051Files: src/spell.c 8052 8053Patch 7.2.107 8054Problem: When using a GUI dialog and ":echo" commands the messages are 8055 deleted after the dialog. (Vincent Birebent) 8056Solution: Don't call msg_end_prompt() since there was no prompt. 8057Files: src/message.c 8058 8059Patch 7.2.108 (after 7.2.105) 8060Problem: Can't build without the diff feature. 8061Solution: Add #ifdef. 8062Files: src/option.c 8063 8064Patch 7.2.109 8065Problem: 'langmap' does not work for multibyte characters. 8066Solution: Add a list of mapped multibyte characters. (based on work by 8067 Konstantin Korikov, Agathoklis Hatzimanikas) 8068Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h, 8069 src/normal.c, src/option.c, src/proto/option.pro, src/window.c 8070 8071Patch 7.2.110 8072Problem: Compiler warning for unused variable. 8073Solution: Init the variable. 8074Files: src/ex_docmd.c 8075 8076Patch 7.2.111 8077Problem: When using Visual block mode with 'cursorcolumn' it's unclear what 8078 is selected. 8079Solution: Don't use 'cursorcolumn' highlighting inside the Visual selection. 8080 (idea by Dominique Pelle) 8081Files: src/screen.c 8082 8083Patch 7.2.112 8084Problem: Cursor invisible in Visual mode when 'number' is set and cursor in 8085 first column. (Matti Niemenmaa, Renato Alves) 8086Solution: Check that vcol_prev is smaller than vcol. 8087Files: src/screen.c 8088 8089Patch 7.2.113 8090Problem: Crash for substitute() call using submatch(1) while there is no 8091 such submatch. (Yukihiro Nakadaira) 8092Solution: Also check the start of the submatch is set, it can be NULL when 8093 an attempted match didn't work out. 8094Files: src/regexp.c 8095 8096Patch 7.2.114 8097Problem: Using wrong printf format. 8098Solution: Use "%ld" instead of "%d". (Dominique Pelle) 8099Files: src/netbeans.c 8100 8101Patch 7.2.115 8102Problem: Some debugging code is never used. 8103Solution: Remove nbtrace() and nbprt(). (Dominique Pelle) 8104Files: src/nbdebug.c, src/nbdebug.h 8105 8106Patch 7.2.116 8107Problem: Not all memory is freed when EXITFREE is defined. 8108Solution: Free allocated memory on exit. (Dominique Pelle) 8109Files: src/ex_docmd.c, src/gui_gtk_x11.c, src/misc2.c, src/search.c, 8110 src/tag.c 8111 8112Patch 7.2.117 8113Problem: Location list incorrectly labelled "Quickfix List". 8114Solution: Break out of both loops for finding window for location list 8115 buffer. (Lech Lorens) 8116Files: src/buffer.c, src/quickfix.c, src/screen.c 8117 8118Patch 7.2.118 8119Problem: <PageUp> at the more prompt only does half a page. 8120Solution: Make <PageUp> go up a whole page. Also make 'f' go a page 8121 forward, but not quit the more prompt. (Markus Heidelberg) 8122Files: src/message.c 8123 8124Patch 7.2.119 8125Problem: Status line is redrawn too often. 8126Solution: Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira) 8127Files: src/screen.c 8128 8129Patch 7.2.120 8130Problem: When opening the quickfix window or splitting the window and 8131 setting the location list, the location list is copied and then 8132 deleted, which is inefficient. 8133Solution: Don't copy the location list when not needed. (Lech Lorens) 8134Files: src/quickfix.c, src/vim.h, src/window.c 8135 8136Patch 7.2.121 8137Problem: In gvim "!grep a *.c" spews out a lot of text that can't be 8138 stopped with CTRL-C. 8139Solution: When looping to read and show text, do check for typed characters 8140 every two seconds. 8141Files: src/os_unix.c 8142 8143Patch 7.2.122 8144Problem: Invalid memory access when the VimResized autocommand changes 8145 'columns' and/or 'lines'. 8146Solution: After VimResized check for changed values. (Dominique Pelle) 8147Files: src/screen.c 8148 8149Patch 7.2.123 8150Problem: Typing 'q' at more prompt for ":map" output still displays another 8151 line, causing another more prompt. (Markus Heidelberg) 8152Solution: Quit listing maps when 'q' typed. 8153Files: src/getchar.c 8154 8155Patch 7.2.124 8156Problem: Typing 'q' at more prompt for ":tselect" output still displays 8157 more lines, causing another more prompt. (Markus Heidelberg) 8158Solution: Quit listing tags when 'q' typed. 8159Files: src/tag.c 8160 8161Patch 7.2.125 8162Problem: Leaking memory when reading XPM bitmap for a sign. 8163Solution: Don't allocate the memory twice. (Dominique Pelle) 8164Files: src/gui_x11.c 8165 8166Patch 7.2.126 8167Problem: When EXITFREE is defined signs are not freed. 8168Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle) 8169Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro 8170 8171Patch 7.2.127 8172Problem: When listing mappings and a wrapping line causes the more prompt, 8173 after typing 'q' there can be another more prompt. (Markus 8174 Heidelberg) 8175Solution: Set "lines_left" to allow more lines to be displayed. 8176Files: src/message.c 8177 8178Patch 7.2.128 (after 7.2.055) 8179Problem: Using ":lcd" makes session files not work. 8180Solution: Compare return value of mch_chdir() properly. (Andreas Bernauer) 8181Files: src/ex_docmd.c 8182 8183Patch 7.2.129 8184Problem: When opening a command window from input() it uses the search 8185 history. 8186Solution: Use get_cmdline_type(). (James Vega) 8187Files: src/ex_getln.c 8188 8189Patch 7.2.130 8190Problem: Vim may hang until CTRL-C is typed when using CTRL-Z. 8191Solution: Avoid using pause(). Also use "volatile" for variables used in 8192 signal functions. (Dominique Pelle) 8193Files: src/auto/configure, src/configure.in, src/config.h.in, 8194 src/globals.h, src/os_unix.c 8195 8196Patch 7.2.131 8197Problem: When 'keymap' is cleared may still use the cursor highlighting for 8198 when it's enabled. 8199Solution: Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle) 8200 Also avoid ":setlocal" for these options have a global effect. 8201Files: src/option.c 8202 8203Patch 7.2.132 8204Problem: When changing directory during a SwapExists autocmd freed memory 8205 may be accessed. (Dominique Pelle) 8206Solution: Add the allbuf_lock flag. 8207Files: src/ex_getln.c, src/globals.h, src/fileio.c, 8208 src/proto/ex_getln.pro 8209 8210Patch 7.2.133 8211Problem: ":diffoff!" changes settings in windows not in diff mode. 8212Solution: Only change settings in other windows when 'diff' is set, always 8213 do it for the current window. (Lech Lorens) 8214Files: src/diff.c 8215 8216Patch 7.2.134 8217Problem: Warning for discarding "const" from pointer. 8218Solution: Don't pass const pointer to mch_memmove(). 8219Files: src/fileio.c 8220 8221Patch 7.2.135 8222Problem: Memory leak when redefining user command with complete argument. 8223Solution: Free the old complete argument. (Dominique Pelle) 8224Files: src/ex_docmd.c 8225 8226Patch 7.2.136 (after 7.2.132) 8227Problem: ":cd" is still possible in a SwapExists autocmd. 8228Solution: Check the allbuf_lock flag in ex_cd(). 8229Files: src/ex_docmd.c 8230 8231Patch 7.2.137 8232Problem: When 'virtualedit' is set, a left shift of a blockwise selection 8233 that starts and ends inside a tab shifts too much. (Helmut 8234 Stiegler) 8235Solution: Redo the block left shift code. (Lech Lorens) 8236Files: src/ops.c, src/testdir/Makefile, src/testdir/test66.in, 8237 src/testdir/test66.ok 8238 8239Patch 7.2.138 (extra part of 7.2.137) 8240Problem: See 7.2.137. 8241Solution: See 7.2.137. 8242Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 8243 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 8244 src/testdir/Make_vms.mms 8245 8246Patch 7.2.139 8247Problem: Crash when 'virtualedit' is "all". (James Vega) 8248Solution: Avoid overflow when column is MAXCOL. (Dominique Pelle) 8249Files: src/misc2.c 8250 8251Patch 7.2.140 8252Problem: Diff highlighting isn't displayed before the Visual area if it 8253 starts at the cursor position. (Markus Heidelberg) 8254Solution: Also check fromcol_prev. 8255Files: src/screen.c 8256 8257Patch 7.2.141 8258Problem: When redrawing a character for bold spill this causes the next 8259 character to be redrawn as well. 8260Solution: Only redraw one extra character. (Yukihiro Nakadaira) 8261Files: src/screen.c 8262 8263Patch 7.2.142 8264Problem: Motif and Athena balloons don't use tooltip colors. 8265Solution: Set the colors. (Matt Wozniski) 8266Files: src/gui_beval.c 8267 8268Patch 7.2.143 8269Problem: No command line completion for ":cscope" command. 8270Solution: Add the completion for ":cscope". (Dominique Pelle) 8271Files: src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, 8272 src/proto/if_cscope.pro, src/vim.h 8273 8274Patch 7.2.144 8275Problem: When 't_Co' is set to the value it already had the color scheme is 8276 reloaded anyway. 8277Solution: Only load the colorscheme when the t_Co value changes. (Dominique 8278 Pelle) 8279Files: src/option.c 8280 8281Patch 7.2.145 8282Problem: White space in ":cscope find" is not ignored. 8283Solution: Ignore the white space, but not when the leading white space is 8284 useful for the argument. 8285Files: runtime/doc/if_scop.txt, src/if_cscope.c 8286 8287Patch 7.2.146 8288Problem: v:warningmsg isn't used for all warnings. 8289Solution: Set v:warningmsg for relevant warnings. (Ingo Karkat) 8290Files: src/fileio.c, src/misc1.c, src/option.c 8291 8292Patch 7.2.147 8293Problem: When compiled as small version and 'number' is on the cursor is 8294 displayed in the wrong position after a tab. (James Vega) 8295Solution: Don't increment vcol when still displaying the line number. 8296Files: src/screen.c 8297 8298Patch 7.2.148 8299Problem: When searching for "$" while 'hlsearch' is set, highlighting the 8300 character after the line does not work in the cursor column. 8301 Also highlighting for Visual mode after the line end when this 8302 isn't needed. (Markus Heidelberg) 8303Solution: Only compare the cursor column in the cursor line. Only highlight 8304 for Visual selection after the last character when it's needed to 8305 see where the Visual selection ends. 8306Files: src/screen.c 8307 8308Patch 7.2.149 8309Problem: Using return value of function that doesn't return a value results 8310 in reading uninitialized memory. 8311Solution: Set the default to return zero. Make cursor() return -1 on 8312 failure. Let complete() return an empty string in case of an 8313 error. (partly by Dominique Pelle) 8314Files: runtime/doc/eval.txt, src/eval.c 8315 8316Patch 7.2.150 (extra) 8317Problem: Can't use tab pages from VisVim. 8318Solution: Add tab page support to VisVim. (Adam Slater) 8319Files: src/VisVim/Commands.cpp, src/VisVim/Resource.h, 8320 src/VisVim/VisVim.rc 8321 8322Patch 7.2.151 8323Problem: ":hist a" doesn't work like ":hist all" as the docs suggest. 8324Solution: Make ":hist a" and ":hist al" work. (Dominique Pelle) 8325Files: src/ex_getln.c 8326 8327Patch 7.2.152 8328Problem: When using "silent echo x" inside ":redir" a next echo may start 8329 halfway the line. (Tony Mechelynck, Dennis Benzinger) 8330Solution: Reset msg_col after redirecting silently. 8331Files: src/ex_docmd.c, src/message.c, src/proto/message.pro 8332 8333Patch 7.2.153 8334Problem: Memory leak for ":recover empty_dir/". 8335Solution: Free files[] when it becomes empty. (Dominique Pelle) 8336Files: src/memline.c 8337 8338Patch 7.2.154 (after 7.2.132) 8339Problem: ":cd" is still possible in a SwapExists autocmd. 8340Solution: Set allbuf_lock in do_swapexists(). 8341Files: src/memline.c 8342 8343Patch 7.2.155 8344Problem: Memory leak in ":function /pat". 8345Solution: Free the memory. (Dominique Pelle) 8346Files: src/eval.c 8347 8348Patch 7.2.156 (after 7.2.143) 8349Problem: No completion for :scscope and :lcscope commands. 8350Solution: Implement the completion. (Dominique Pelle) 8351Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro 8352 8353Patch 7.2.157 8354Problem: Illegal memory access when searching in path. 8355Solution: Avoid looking at a byte after end of a string. (Dominique Pelle) 8356Files: src/search.c 8357 8358Patch 7.2.158 8359Problem: Warnings from VisualC compiler. 8360Solution: Add type casts. (George Reilly) 8361Files: src/ops.c 8362 8363Patch 7.2.159 8364Problem: When $x_includes ends up being "NONE" configure fails. 8365Solution: Check for $x_includes not to be "NONE" (Rainer) 8366Files: src/auto/configure, src/configure.in 8367 8368Patch 7.2.160 8369Problem: Search pattern not freed on exit when 'rightleft' set. 8370Solution: Free mr_pattern_alloced. 8371Files: src/search.c 8372 8373Patch 7.2.161 8374Problem: Folds messed up in other tab page. (Vlad Irnov) 8375Solution: Instead of going over all windows in current tab page go over all 8376 windows in all tab pages. Also free memory for location lists in 8377 other tab pages when exiting. (Lech Lorens) 8378Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c 8379 8380Patch 7.2.162 8381Problem: The quickfix window may get wrong filetype. 8382Solution: Do not detect the filetype for the quickfix window. (Lech Lorens) 8383Files: src/quickfix.c 8384 8385Patch 7.2.163 8386Problem: The command line window may get folding. 8387Solution: Default to no/manual folding. (Lech Lorens) 8388Files: src/ex_getln.c 8389 8390Patch 7.2.164 8391Problem: When 'showbreak' is set the size of the Visual block may be 8392 reported wrong. (Eduardo Daudt Flach) 8393Solution: Temporarily make 'sbr' empty. 8394Files: src/normal.c, src/ops.c 8395 8396Patch 7.2.165 8397Problem: The argument for the FuncUndefined autocmd event is expanded like 8398 a file name. 8399Solution: Don't try expanding it. (Wang Xu) 8400Files: src/fileio.c 8401 8402Patch 7.2.166 8403Problem: No completion for ":sign" command. 8404Solution: Add ":sign" completion. (Dominique Pelle) 8405Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h, 8406 src/proto/ex_cmds.pro 8407 8408Patch 7.2.167 8409Problem: Splint doesn't work well for checking the code. 8410Solution: Add splint arguments in the Makefile. Exclude some code from 8411 splint that it can't handle. Tune splint arguments to give 8412 reasonable errors. Add a filter for removing false warnings from 8413 splint output. Many small changes to avoid warnings. More to 8414 follow... 8415Files: Filelist, src/Makefile, src/buffer.c, src/charset.c, 8416 src/cleanlint.vim, src/digraph.c, src/edit.c, src/ex_cmds.c, 8417 src/globals.h, src/ops.c, src/os_unix.c, src/os_unix.h, 8418 src/proto/buffer.pro, src/proto/edit.pro, src/screen.c, 8419 src/structs.h 8420 8421Patch 7.2.168 8422Problem: When no ctags program can be found, "make tags" attempts to 8423 execute the first C file. 8424Solution: Default to "ctags" when no ctags program can be found. 8425Files: src/configure.in, src/auto/configure 8426 8427Patch 7.2.169 8428Problem: Splint complains about a lot of things. 8429Solution: Add type casts, #ifdefs and other changes to avoid warnings. 8430 Change colnr_T from unsigned to int. Avoids mistakes with 8431 subtracting columns. 8432Files: src/cleanlint.vim, src/diff.c, src/edit.c, src/ex_cmds.c, 8433 src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds.pro, 8434 src/proto/spell.pro, src/quickfix.c, src/spell.c, src/structs.h, 8435 src/term.h, src/vim.h 8436 8437Patch 7.2.170 8438Problem: Using b_dev while it was not set. (Dominique Pelle) 8439Solution: Add the b_dev_valid flag. 8440Files: src/buffer.c, src/fileio.c, src/structs.h 8441 8442Patch 7.2.171 (after 7.2.169) 8443Problem: Compiler warnings. (Tony Mechelynck) 8444Solution: Add function prototype. (Patrick Texier) Init variable. 8445Files: src/ex_cmds.c 8446 8447Patch 7.2.172 (extra) 8448Problem: Compiler warning. 8449Solution: Adjust function prototype. (Patrick Texier) 8450Files: src/os_mswin.c 8451 8452Patch 7.2.173 8453Problem: Without lint there is no check for unused function arguments. 8454Solution: Use gcc -Wunused-parameter instead of lint. For a few files add 8455 attributes to arguments that are known not to be used. 8456Files: src/auto/configure, src/buffer.c, src/charset.c, src/diff.c, 8457 src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c, 8458 src/ex_cmds2.c, src/version.c, src/vim.h 8459 8460Patch 7.2.174 8461Problem: Too many warnings from gcc -Wextra. 8462Solution: Change initializer. Add UNUSED. Add type casts. 8463Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, 8464 src/ex_getln.c, src/fileio.c, getchar.c, globals.h, main.c, 8465 memline.c, message.c, src/misc1.c, src/move.c, src/normal.c, 8466 src/option.c, src/os_unix.c, src/os_unix.h, src/regexp.c, 8467 src/search.c, src/tag.c 8468 8469Patch 7.2.175 8470Problem: Compiler warning in OpenBSD. 8471Solution: Add type cast for NULL. (Dasn) 8472Files: src/if_cscope.c 8473 8474Patch 7.2.176 8475Problem: Exceptions for splint are not useful. 8476Solution: Remove the S_SPLINT_S ifdefs. 8477Files: src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c, 8478 src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h 8479 8480Patch 7.2.177 8481Problem: Compiler warnings when using -Wextra 8482Solution: Add UNUSED and type casts. 8483Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, 8484 src/fileio.c, src/hardcopy.c, src/if_cscope.c, src/if_xcmdsrv.c, 8485 src/farsi.c, src/mark.c, src/menu.c 8486 8487Patch 7.2.178 8488Problem: Using negative value for device number might not work. 8489Solution: Use a separate flag for whether ffv_dev was set. 8490Files: src/misc2.c 8491 8492Patch 7.2.179 8493Problem: Using negative value for device number might not work. 8494Solution: Use a separate flag for whether sn_dev was set. 8495Files: src/ex_cmds2.c 8496 8497Patch 7.2.180 8498Problem: Some more compiler warnings when using gcc -Wextra. 8499Solution: Add UNUSED and type casts. 8500Files: src/buffer.c, src/ex_cmds.c, src/macros.h, src/main.c, 8501 src/menu.c, src/message.c, src/misc1.c, src/mbyte.c, 8502 src/normal.c, src/option.c, src/os_unix.c, src/quickfix.c, 8503 src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c, 8504 src/term.c, src/ui.c 8505 8506Patch 7.2.181 8507Problem: Some more compiler warnings when using gcc -Wextra. 8508Solution: Add UNUSED and type casts. 8509Files: src/if_mzsch.c, src/gui.c, src/gui_gtk.c, src/gui_gtk_x11.c, 8510 src/gui_gtk_f.c, src/gui_beval.c, src/netbeans.c 8511 8512Patch 7.2.182 (after 7.2.181) 8513Problem: Compilation problems after previous patch for Motif. Gvim with 8514 GTK crashes on startup. 8515Solution: Add comma. Init form structure to zeroes. 8516Files: src/netbeans.c, src/gui_gtk_f.c 8517 8518Patch 7.2.183 8519Problem: Configure problem for sys/sysctl.h on OpenBSD. (Dasn) 8520Solution: Add separate check for this header file. Also switch to newer 8521 version of autoconf. 8522Files: src/auto/configure, src/configure.in 8523 8524Patch 7.2.184 8525Problem: Some more compiler warnings when using gcc -Wextra. 8526Solution: Add UNUSED and type casts. Autoconf check for wchar_t. 8527Files: src/auto/configure, src/config.h.in, src/configure.in, 8528 src/gui_athena.c, src/gui_x11.c, src/gui.c, src/gui_beval.c, 8529 src/gui_at_sb.c, src/gui_at_fs.c, src/gui_motif.c, 8530 src/gui_xmdlg.c, src/gui_xmebw.c, src/if_python.c, src/window.c, 8531 src/workshop.c 8532 8533Patch 7.2.185 8534Problem: Some more compiler warnings when using gcc -Wextra. 8535Solution: Add UNUSED and type casts. 8536Files: src/Makefile, src/if_tlc.c, src/if_ruby.c 8537 8538Patch 7.2.186 8539Problem: Some more compiler warnings when using gcc -Wextra. 8540Solution: Now with the intended if_tcl.c changes. 8541Files: src/if_tcl.c 8542 8543Patch 7.2.187 (after 7.2.186) 8544Problem: Doesn't build with older versions of TCL. (Yongwei Wu) 8545Solution: Add #ifdefs. (Dominique Pelle) 8546Files: src/if_tcl.c 8547 8548Patch 7.2.188 8549Problem: Crash with specific use of function calls. (Meikel Brandmeyer) 8550Solution: Make sure the items referenced by a function call are not freed 8551 twice. (based on patch from Nico Weber) 8552Files: src/eval.c 8553 8554Patch 7.2.189 8555Problem: Possible hang for deleting auto-indent. (Dominique Pelle) 8556Solution: Make sure the position is not beyond the end of the line. 8557Files: src/edit.c 8558 8559Patch 7.2.190 8560Problem: The register executed by @@ isn't restored. 8561Solution: Mark the executable register in the viminfo file. 8562Files: src/ops.c 8563 8564Patch 7.2.191 8565Problem: Mzscheme interface doesn't work on Ubuntu. 8566Solution: Change autoconf rules. Define missing macro. Some changes to 8567 avoid gcc warnings. Remove per-buffer namespace. (Sergey Khorev) 8568Files: runtime/doc/if_mzsch.txt, src/Makefile, src/Make_ming.mak, 8569 src/Make_mvc.mak, src/auto/configure, src/configure.in, 8570 src/config.mk.in, src/eval.c, src/if_mzsch.c, src/if_mzsch.h, 8571 src/main.c, src/proto/if_mzsch.pro 8572 8573Patch 7.2.192 (after 7.2.188) 8574Problem: Still a crash in the garbage collector for a very rare situation. 8575Solution: Make sure current_copyID is always incremented correctly. (Kent 8576 Sibilev) 8577Files: src/eval.c 8578 8579Patch 7.2.193 8580Problem: Warning for uninitialized values. 8581Solution: Initialize all the struct items. 8582Files: src/eval.c 8583 8584Patch 7.2.194 (extra) 8585Problem: MSVC: rem commands are echoed. 8586Solution: Add commands to switch off echo. (Wang Xu) 8587Files: src/msvc2008.bat 8588 8589Patch 7.2.195 8590Problem: Leaking memory for the command Vim was started with. 8591Solution: Remember the pointer and free it. 8592Files: src/gui_gtk_x11.c 8593 8594Patch 7.2.196 (after 7.2.167) 8595Problem: Turns out splint doesn't work well enough to be usable. 8596Solution: Remove splint support. 8597Files: Filelist, src/cleanlint.vim 8598 8599Patch 7.2.197 8600Problem: Warning for uninitialized values. 8601Solution: Initialize all the struct items of typebuf. 8602Files: src/globals.h 8603 8604Patch 7.2.198 8605Problem: Size of buffer used for tgetent() may be too small. 8606Solution: Use the largest known size everywhere. 8607Files: src/vim.h 8608 8609Patch 7.2.199 8610Problem: Strange character in comment. 8611Solution: Change to "message". (Yongwei Wu) 8612Files: src/term.c 8613 8614Patch 7.2.200 8615Problem: Reading past end of string when navigating the menu bar or 8616 resizing the window. 8617Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle) 8618 Also add mb_ptr2cells_len() to prevent more trouble. 8619Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c, 8620 src/proto/mbyte.pro 8621 8622Patch 7.2.201 8623Problem: Cannot copy/paste HTML to/from Firefox via the clipboard. 8624Solution: Implement this for GTK. Add the "html" value to 'clipboard'. 8625Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c, 8626 src/mbyte.c, src/proto/mbyte.pro, src/option.c 8627 8628Patch 7.2.202 8629Problem: BufWipeout autocommand that edits another buffer causes problems. 8630Solution: Check for the situation, give an error and quit the operation. 8631Files: src/fileio.c 8632 8633Patch 7.2.203 8634Problem: When reloading a buffer or doing anything else with a buffer that 8635 is not displayed in a visible window, autocommands may be applied 8636 to the current window, folds messed up, etc. 8637Solution: Instead of using the current window for the hidden buffer use a 8638 special window, splitting the current one temporarily. 8639Files: src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs, 8640 src/progo/gui.pro, src/proto/window.pro, src/screen.c, 8641 src/structs.h, src/window.c 8642 8643Patch 7.2.204 (extra) 8644Problem: Win32: Can't build with Visual Studio 2010 beta 1. 8645Solution: Fix the makefile. (George Reilly) 8646Files: src/Make_mvc.mak 8647 8648Patch 7.2.205 (extra) 8649Problem: Win32: No support for High DPI awareness. 8650Solution: Fix the manifest file. (George Reilly) 8651Files: src/Make_mvc.mak, src/gvim.exe.mnf 8652 8653Patch 7.2.206 8654Problem: Win32: Can't build netbeans interface with Visual Studio 2010. 8655Solution: Undefine ECONNREFUSED. (George Reilly) 8656Files: src/netbeans.c 8657 8658Patch 7.2.207 8659Problem: Using freed memory with ":redrawstatus" when it works recursively. 8660Solution: Prevent recursively updating the status line. (partly by Dominique 8661 Pelle) 8662Files: src/screen.c 8663 8664Patch 7.2.208 8665Problem: "set novice" gives an error message, it should be ignored. 8666Solution: Don't see "no" in "novice" as unsetting an option. (Patrick 8667 Texier) 8668Files: src/option.c 8669 8670Patch 7.2.209 8671Problem: For xxd setmode() is undefined on Cygwin. 8672Solution: Include io.h. (Dominique Pelle) 8673Files: src/xxd/xxd.c 8674 8675Patch 7.2.210 8676Problem: When a file that is being edited has its timestamp updated outside 8677 of Vim and ":checktime" is used still get a warning when writing 8678 the file. (Matt Mueller) 8679Solution: Store the timestamp in b_mtime_read when the timestamp is the only 8680 thing that changed. 8681Files: src/fileio.c 8682 8683Patch 7.2.211 8684Problem: Memory leak when expanding a series of file names. 8685Solution: Use ga_clear_strings() instead of ga_clear(). 8686Files: src/misc1.c 8687 8688Patch 7.2.212 (extra) 8689Problem: Warnings for redefining SIG macros. 8690Solution: Don't define them if already defined. (Bjorn Winckler) 8691Files: src/os_mac.h 8692 8693Patch 7.2.213 8694Problem: Warning for using vsprintf(). 8695Solution: Use vim_vsnprintf(). 8696Files: src/netbeans.c 8697 8698Patch 7.2.214 8699Problem: Crash with complete function for user command. (Andy Wokula) 8700Solution: Avoid using a NULL pointer (Dominique Pelle) 8701Files: src/ex_getln.c 8702 8703Patch 7.2.215 8704Problem: ml_get error when using ":vimgrep". 8705Solution: Load the memfile for the hidden buffer before putting it in a 8706 window. Correct the order of splitting the window and filling 8707 the window and buffer with data. 8708Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c 8709 8710Patch 7.2.216 8711Problem: Two error messages have the same number E812. 8712Solution: Give one message a different number. 8713Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c 8714 8715Patch 7.2.217 8716Problem: Running tests with valgrind doesn't work as advertised. 8717Solution: Fix the line in the Makefile. 8718Files: src/testdir/Makefile 8719 8720Patch 7.2.218 8721Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle) 8722Solution: Adjust #ifdef. (SungHyun Nam) 8723Files: src/gui.c 8724 8725Patch 7.2.219 (extra) 8726Problem: Photon GUI is outdated. 8727Solution: Updates for QNX 6.4.0. (Sean Boudreau) 8728Files: src/gui_photon.c 8729 8730Patch 7.2.220 (after 7.2.215) 8731Problem: a BufEnter autocommand that changes directory causes problems. 8732 (Ajit Thakkar) 8733Solution: Disable autocommands when opening a hidden buffer in a window. 8734Files: src/fileio.c 8735 8736Patch 7.2.221 8737Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding. 8738Solution: Convert between 'enc' and latin1. (James Vega) 8739Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro, 8740 src/ui.c 8741 8742Patch 7.2.222 8743Problem: ":mksession" doesn't work properly with 'acd' set. 8744Solution: Make it work. (Yakov Lerner) 8745Files: src/ex_docmd.c 8746 8747Patch 7.2.223 8748Problem: When a script is run with ":silent" it is not able to give warning 8749 messages. 8750Solution: Add the ":unsilent" command. 8751Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c 8752 8753Patch 7.2.224 8754Problem: Crash when using 'completefunc'. (Ingo Karkat) 8755Solution: Disallow entering edit() recursively when doing completion. 8756Files: src/edit.c 8757 8758Patch 7.2.225 8759Problem: When using ":normal" a saved character may be executed. 8760Solution: Also store old_char when saving typeahead. 8761Files: src/getchar.c, src/structs.h 8762 8763Patch 7.2.226 8764Problem: ml_get error after deleting the last line. (Xavier de Gaye) 8765Solution: When adjusting marks a callback may be invoked. Adjust the cursor 8766 position before invoking deleted_lines_mark(). 8767Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c, 8768 src/if_perl.xs, src/misc1.c 8769 8770Patch 7.2.227 8771Problem: When using ":cd" in a script there is no way to track this. 8772Solution: Display the directory when 'verbose' is 5 or higher. 8773Files: src/ex_docmd.c 8774 8775Patch 7.2.228 8776Problem: Cscope is limited to 8 connections. 8777Solution: Allocated the connection array to handle any number of 8778 connections. (Dominique Pelle) 8779Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c 8780 8781Patch 7.2.229 8782Problem: Warning for shadowed variable. 8783Solution: Rename "wait" to "wait_time". 8784Files: src/os_unix.c 8785 8786Patch 7.2.230 8787Problem: A few old lint-style ARGUSED comments. 8788Solution: Change to the new UNUSED style. 8789Files: src/getchar.c 8790 8791Patch 7.2.231 8792Problem: Warning for unreachable code. 8793Solution: Add #ifdef. 8794Files: src/if_perl.xs 8795 8796Patch 7.2.232 8797Problem: Cannot debug problems with being in a wrong directory. 8798Solution: When 'verbose' is 5 or higher report directory changes. 8799Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro 8800 8801Patch 7.2.233 (extra part of 7.2.232) 8802Problem: Cannot debug problems with being in a wrong directory. 8803Solution: When 'verbose' is 5 or higher report directory changes. 8804Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h 8805 8806Patch 7.2.234 8807Problem: It is not possible to ignore file names without a suffix. 8808Solution: Use an empty entry in 'suffixes' for file names without a dot. 8809Files: runtime/doc/cmdline.txt, src/misc1.c 8810 8811Patch 7.2.235 8812Problem: Using CTRL-O z= in Insert mode has a delay before redrawing. 8813Solution: Reset msg_didout and msg_scroll. 8814Files: src/misc1.c, src/spell.c 8815 8816Patch 7.2.236 8817Problem: Mac: Compiling with Ruby doesn't always work. 8818Solution: In configure filter out the --arch argument (Bjorn Winckler) 8819Files: src/configure.in, src/auto/configure 8820 8821Patch 7.2.237 8822Problem: Crash on exit when window icon not set. 8823Solution: Copy terminal name when using it for the icon name. 8824Files: src/os_unix.c 8825 8826Patch 7.2.238 8827Problem: Leaking memory when setting term to "builtin_dumb". 8828Solution: Free memory when resetting term option t_Co. 8829Files: src/option.c, src/proto/option.pro, src/term.c 8830 8831Patch 7.2.239 8832Problem: Using :diffpatch twice or when patching fails causes memory 8833 corruption and/or a crash. (Bryan Venteicher) 8834Solution: Detect missing output file. Avoid using non-existing buffer. 8835Files: src/diff.c 8836 8837Patch 7.2.240 8838Problem: Crash when using find/replace dialog repeatedly. (Michiel 8839 Hartsuiker) 8840Solution: Avoid doing the operation while busy or recursively. Also refuse 8841 replace when text is locked. 8842Files: src/gui.c 8843 8844Patch 7.2.241 8845Problem: When using a combination of ":bufdo" and "doautoall" we may end up 8846 in the wrong directory. (Ajit Thakkar) 8847 Crash when triggering an autocommand in ":vimgrep". (Yukihiro 8848 Nakadaira) 8849Solution: Clear w_localdir and globaldir when using the aucmd_win. 8850 Use a separate flag to decide aucmd_win needs to be restored. 8851Files: src/fileio.c, src/globals.h, src/structs.h 8852 8853Patch 7.2.242 8854Problem: Setting 'lazyredraw' causes the cursor column to be recomputed. 8855 (Tom Link) 8856Solution: Only recompute the cursor column for a boolean option if changes 8857 the cursor position. 8858Files: src/option.c 8859 8860Patch 7.2.243 8861Problem: Memory leak when using :vimgrep and resizing. (Dominique Pelle) 8862Solution: Free memory for aucmd_win when resizing and don't allocate it 8863 twice. 8864Files: src/screen.c 8865 8866Patch 7.2.244 8867Problem: When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1 8868 character gives a conversion error without any hint what is wrong. 8869Solution: When known add the line number to the error message. 8870Files: src/fileio.c 8871 8872Patch 7.2.245 8873Problem: When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does 8874 conversion while none should be done. (Yukihiro Nakadaira) When 8875 'fenc' is empty the file is written as utf-8 instead of utf-16. 8876Solution: Do proper comparison of encodings, taking into account that all 8877 Unicode values for 'enc' use utf-8 internally. 8878Files: src/fileio.c 8879 8880Patch 7.2.246 8881Problem: Cscope home page link is wrong. 8882Solution: Update the URL. (Sergey Khorev) 8883Files: runtime/doc/if_cscop.txt 8884 8885Patch 7.2.247 8886Problem: Mzscheme interface minor problem. 8887Solution: Better error message when build fails. (Sergey Khorev) 8888Files: src/if_mzsch.c 8889 8890Patch 7.2.248 (extra) 8891Problem: Mzscheme interface building minor problems. 8892Solution: Update Win32 makefiles. (Sergey Khorev) 8893Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak 8894 8895Patch 7.2.249 8896Problem: The script to check .po files can't handle '%' in plural forms. 8897Solution: Remove "Plural-Forms:" from the checked string. 8898Files: src/po/check.vim 8899 8900Patch 7.2.250 (extra) 8901Problem: Possible buffer overflow. 8902Solution: Compute the remaining space. (Dominique Pelle) 8903Files: src/GvimExt/gvimext.cpp 8904 8905Patch 7.2.251 (after 7.2.044) 8906Problem: Compiler adds invalid memory bounds check. 8907Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle) 8908Files: src/auto/configure, src/configure.in 8909 8910Patch 7.2.252 8911Problem: When using a multibyte 'enc' the 'iskeyword' option cannot 8912 contain characters above 128. 8913Solution: Use mb_ptr2char_adv(). 8914Files: src/charset.c 8915 8916Patch 7.2.253 8917Problem: Netbeans interface: getLength always uses current buffer. 8918Solution: Use ml_get_buf() instead of ml_get(). (Xavier de Gaye) 8919Files: src/netbeans.c 8920 8921Patch 7.2.254 8922Problem: Compiler warning for assigning size_t to int. 8923Solution: Use size_t for the variable. (George Reilly) 8924Files: src/fileio.c 8925 8926Patch 7.2.255 (after 7.2.242) 8927Problem: Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be 8928 in wrong place. 8929Solution: Recompute the cursor column for these options. 8930Files: src/option.c 8931 8932Patch 7.2.256 8933Problem: When 'guifont' was not set GTK font dialog doesn't have a default. 8934 (Andreas Metzler) 8935Solution: Set default to DEFAULT_FONT. (James Vega) 8936Files: src/gui_gtk_x11.c 8937 8938Patch 7.2.257 8939Problem: With GTK 2.17 lots of assertion error messages. 8940Solution: Remove check for static gravity. (Sebastian Droege) 8941Files: src/gui_gtk_f.c 8942 8943Patch 7.2.258 8944Problem: v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony 8945 Mechelynck) 8946Solution: Use byte number instead of character number for the column. 8947Files: src/ui.c 8948 8949Patch 7.2.259 8950Problem: exists() doesn't work properly for an empty aucmd group. 8951Solution: Change how au_exists() handles a missing pattern. Also add a 8952 test for this. (Bob Hiestand) 8953Files: src/fileio.c, src/testdir/Makefile, src/testdir/test67.in, 8954 src/testdir/test67.ok 8955 8956Patch 7.2.260 (extra part of 7.2.259) 8957Problem: exists() doesn't work properly for empty aucmd group. 8958Solution: Change how au_exists() handles a missing pattern. Also add a 8959 test for this. (Bob Hiestand) 8960Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 8961 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 8962 src/testdir/Make_vms.mms 8963 8964Patch 7.2.261 8965Problem: When deleting lines with a specific folding configuration E38 may 8966 appear. (Shahaf) 8967Solution: When adjusting nested folds for deleted lines take into account 8968 that they don't start at the top of the enclosing fold. 8969Files: src/fold.c 8970 8971Patch 7.2.262 8972Problem: When using custom completion for a user command the pattern string 8973 goes beyond the cursor position. (Hari Krishna Dara) 8974Solution: Truncate the string at the cursor position. 8975Files: src/ex_getln.c, src/structs.h 8976 8977Patch 7.2.263 8978Problem: GTK2: when using the -geom argument with an offset from the right 8979 edge and the size is smaller than the default, the Vim window is 8980 not positioned properly. 8981Solution: Use another function to set the size. (Vitaly Minko) 8982Files: src/gui_gtk_x11.c 8983 8984Patch 7.2.264 8985Problem: GTK2: When the Vim window is maximized setting 'columns' or 8986 'lines' doesn't work. 8987Solution: Unmaximize the window before setting the size. (Vitaly Minko) 8988Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro 8989 8990Patch 7.2.265 8991Problem: When using ":silent broken" inside try/catch silency may persist. 8992 (dr-dr xp) 8993Solution: Set msg_silent when there is an error and it's bigger than the 8994 saved value. 8995Files: src/ex_docmd.c 8996 8997Patch 7.2.266 8998Problem: When an expression abbreviation is triggered, the typed character 8999 is unknown. 9000Solution: Make the typed character available in v:char. 9001Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c, 9002 src/proto/eval.pro 9003 9004Patch 7.2.267 9005Problem: Crash for narrow window and double-width character. 9006Solution: Check for zero width. (Taro Muraoka) 9007Files: src/charset.c 9008 9009Patch 7.2.268 9010Problem: Crash when using Python to set cursor beyond end of line. 9011 (winterTTr) 9012Solution: Check the column to be valid. 9013Files: src/if_python.c 9014 9015Patch 7.2.269 9016Problem: Many people struggle to find out why Vim startup is slow. 9017Solution: Add the --startuptime command line flag. 9018Files: runtime/doc/starting.txt, src/globals.h, src/feature.h, 9019 src/main.c, src/macros.h 9020 9021Patch 7.2.270 9022Problem: Using ":@c" when the c register contains a CR causes the rest to 9023 be executed later. (Dexter Douglas) 9024Solution: Don't check for typeahead to start with ':', keep executing 9025 commands until all added typeahead has been used. 9026Files: src/ex_docmd.c 9027 9028Patch 7.2.271 9029Problem: Using freed memory in Motif GUI version when making a choice. 9030Solution: Free memory only after using it. (Dominique Pelle) 9031Files: src/gui_xmdlg.c 9032 9033Patch 7.2.272 9034Problem: "_.svz" is not recognized as a swap file. (David M. Besonen) 9035Solution: Accept .s[uvw][a-z] as a swap file name extension. 9036Files: src/memline.c 9037 9038Patch 7.2.273 9039Problem: Crash with redir to unknown array. (Christian Brabandt) 9040Solution: Don't assign the redir result when there was an error. 9041Files: src/eval.c 9042 9043Patch 7.2.274 9044Problem: Syntax folding doesn't work properly when adding a comment. 9045Solution: Fix it and add a test. (Lech Lorens) 9046Files: src/fold.c, src/testdir/test45.in, src/testdir/test45.ok 9047 9048Patch 7.2.275 9049Problem: Warning for unused argument and comparing signed and unsigned. 9050Solution: Add type cast. 9051Files: src/memline.c 9052 9053Patch 7.2.276 9054Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado) 9055Solution: Check for the character to be < 256. Also make it possible to 9056 specify a range of multibyte characters. (Lech Lorens) 9057Files: src/charset.c 9058 9059Patch 7.2.277 9060Problem: CTRL-Y in a diff'ed window may move the cursor outside of the 9061 window. (Lech Lorens) 9062Solution: Limit the number of filler lines to the height of the window. 9063 Don't reset filler lines to zero for an empty buffer. 9064Files: src/move.c 9065 9066Patch 7.2.278 9067Problem: Using magic number in the folding code. 9068Solution: Use the defined MAX_LEVEL. 9069Files: src/fold.c 9070 9071Patch 7.2.279 9072Problem: Invalid memory read with visual mode "r". (Dominique Pelle) 9073Solution: Make sure the cursor position is valid. Don't check the cursor 9074 position but the position being used. And make sure we get the 9075 right line. 9076Files: src/misc2.c, src/ops.c 9077 9078Patch 7.2.280 9079Problem: A redraw in a custom statusline with %! may cause a crash. 9080 (Yukihiro Nakadaira) 9081Solution: Make a copy of 'statusline'. Also fix typo in function name 9082 redraw_custom_statusline. (partly by Dominique Pelle) 9083Files: src/screen.c 9084 9085Patch 7.2.281 9086Problem: 'cursorcolumn' highlighting is wrong in diff mode. 9087Solution: Adjust the column computation. (Lech Lorens) 9088Files: src/screen.c 9089 9090Patch 7.2.282 9091Problem: A fold can't be closed. 9092Solution: Initialize fd_small to MAYBE. (Lech Lorens) 9093Files: src/fold.c 9094 9095Patch 7.2.283 9096Problem: Changing font while the window is maximized doesn't keep the 9097 window maximized. 9098Solution: Recompute number of lines and columns after changing font. (James 9099 Vega) 9100Files: src/gui_gtk_x11.c 9101 9102Patch 7.2.284 9103Problem: When editing the same buffer in two windows, one with folding, 9104 display may be wrong after changes. 9105Solution: Call set_topline() to take care of side effects. (Lech Lorens) 9106Files: src/misc1.c 9107 9108Patch 7.2.285 (after 7.2.169) 9109Problem: CTRL-U in Insert mode also deletes indent. (Andrey Voropaev) 9110Solution: Fix mistake made in patch 7.2.169. 9111Files: src/edit.c 9112 9113Patch 7.2.286 (after 7.2.269) 9114Problem: The "--startuptime=<file>" argument is not consistent with other 9115 arguments. 9116Solution: Use "--startuptime <file>". Added the +startuptime feature. 9117Files: runtime/doc/eval.txt, runtime/doc/starting.txt, 9118 runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c 9119 9120Patch 7.2.287 9121Problem: Warning from gcc 3.4 about uninitialized variable. 9122Solution: Move assignment outside of #ifdef. 9123Files: src/if_perl.xs 9124 9125Patch 7.2.288 9126Problem: Python 2.6 pyconfig.h redefines macros. 9127Solution: Undefine the macros before including pyconfig.h. 9128Files: src/if_python.c 9129 9130Patch 7.2.289 9131Problem: Checking wrong struct member. 9132Solution: Change tb_buf to tb_noremap. (Dominique Pelle) 9133Files: src/getchar.c 9134 9135Patch 7.2.290 9136Problem: Not freeing memory from ":lmap", ":xmap" and ":menutranslate". 9137Solution: Free the memory when exiting. (Dominique Pelle) 9138Files: src/misc2.c 9139 9140Patch 7.2.291 9141Problem: Reading uninitialised memory in arabic mode. 9142Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique 9143 Pelle) 9144Files: src/screen.c 9145 9146Patch 7.2.292 9147Problem: Block right-shift doesn't work properly with multibyte encoding 9148 and 'list' set. 9149Solution: Add the missing "else". (Lech Lorens) 9150Files: src/ops.c 9151 9152Patch 7.2.293 9153Problem: When setting 'comments' option it may be used in a wrong way. 9154Solution: Don't increment after skipping over digits. (Yukihiro Nakadaira) 9155Files: src/misc1.c 9156 9157Patch 7.2.294 9158Problem: When using TEMPDIRS dir name could get too long. 9159Solution: Overwrite tail instead of appending each time. Use mkdtemp() when 9160 available. (James Vega) 9161Files: src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c 9162 9163Patch 7.2.295 9164Problem: When using map() on a List the index is not known. 9165Solution: Set v:key to the index. (Hari Krishna Dara) 9166Files: runtime/doc/eval.txt, src/eval.c 9167 9168Patch 7.2.296 9169Problem: Help message about startuptime is wrong. (Dominique Pelle) 9170Solution: Remove the equal sign. 9171Files: src/main.c 9172 9173Patch 7.2.297 9174Problem: Reading freed memory when writing ":reg" output to a register. 9175 (Dominique Pelle) 9176Solution: Skip the register being written to. 9177Files: src/ops.c 9178 9179Patch 7.2.298 9180Problem: ":vimgrep" crashes when there is an autocommand that sets a 9181 window-local variable. 9182Solution: Initialize the w: hashtab for re-use. (Yukihiro Nakadaira) 9183Files: src/fileio.c 9184 9185Patch 7.2.299 9186Problem: Crash when comment middle is longer than start. 9187Solution: Fix size computation. (Lech Lorens) 9188Files: src/misc1.c 9189 9190Patch 7.2.300 9191Problem: Vim doesn't close file descriptors when forking and executing 9192 another command, e.g., ":shell". 9193Solution: Use FD_CLOEXEC when available. (James Vega) 9194Files: auto/configure, src/config.h.in, src/configure.in, 9195 src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c 9196 9197Patch 7.2.301 9198Problem: Formatting is wrong when 'tw' is set to a small value. 9199Solution: Fix it and add tests. Also fix behavior of "1" in 'fo'. (Yukihiro 9200 Nakadaira) 9201Files: src/edit.c, src/testdir/Makefile, src/testdir/test68.in, 9202 src/testdir/test68.ok, src/testdir/test69.in, 9203 src/testdir/test69,ok 9204 9205Patch 7.2.302 (extra part of 7.2.301) 9206Problem: Formatting wrong with small 'tw' value. 9207Solution: Add build rules for tests. 9208Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 9209 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 9210 src/testdir/Make_vms.mms 9211 9212Patch 7.2.303 (after 7.2.294) 9213Problem: Can't build on MS-Windows. 9214Solution: Add #ifdef around vim_settempdir(). (James Vega) 9215Files: src/fileio.c 9216 9217Patch 7.2.304 9218Problem: Compiler warning for bad pointer cast. 9219Solution: Use another variable for int pointer. 9220Files: src/ops.c 9221 9222Patch 7.2.305 9223Problem: Recursively redrawing causes a memory leak. (Dominique Pelle) 9224Solution: Disallow recursive screen updating. 9225Files: src/screen.c 9226 9227Patch 7.2.306 9228Problem: shellescape("10%%", 1) only escapes first %. (Christian Brabandt) 9229Solution: Don't copy the character after the escaped one. 9230Files: src/misc2.c 9231 9232Patch 7.2.307 9233Problem: Crash with a very long syntax match statement. (Guy Gur Ari) 9234Solution: When the offset does not fit in the two bytes available give an 9235 error instead of continuing with invalid pointers. 9236Files: src/regexp.c 9237 9238Patch 7.2.308 9239Problem: When using a regexp in the "\=" expression of a substitute 9240 command, submatch() returns empty strings for further lines. 9241 (Clockwork Jam) 9242Solution: Save and restore the line number and line count when calling 9243 reg_getline(). 9244Files: src/regexp.c 9245 9246Patch 7.2.309 (after 7.2.308) 9247Problem: Warning for missing function prototype. (Patrick Texier) 9248Solution: Add the prototype. 9249Files: src/regexp.c 9250 9251Patch 7.2.310 9252Problem: When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and 9253 the file starts with a "# comment" it gets "conf" filetype. 9254Solution: Check for "conf" filetype after using ftdetect plugins. 9255Files: runtime/filetype.vim 9256 9257Patch 7.2.311 9258Problem: Can't compile with FreeMiNT. 9259Solution: Change #ifdef for limits.h. (Alan Hourihane) 9260Files: src/fileio.c 9261 9262Patch 7.2.312 9263Problem: iconv() returns an invalid character sequence when conversion 9264 fails. It should return an empty string. (Yongwei Wu) 9265Solution: Be more strict about invalid characters in the input. 9266Files: src/mbyte.c 9267 9268Patch 7.2.313 9269Problem: Command line completion doesn't work after "%:h" and similar. 9270Solution: Expand these items before doing the completion. 9271Files: src/ex_getln.c, src/misc1.c, src/proto/misc1.pro 9272 9273Patch 7.2.314 9274Problem: Missing function in small build. 9275Solution: Always include concat_str. 9276Files: src/misc1.c 9277 9278Patch 7.2.315 9279Problem: Python libs can't be found on 64 bit system. 9280Solution: Add lib64 to the list of directories. (Michael Henry) 9281Files: src/auto/configure, src/configure.in 9282 9283Patch 7.2.316 9284Problem: May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck) 9285Solution: First remove all these arguments and then add the one we want. 9286 (Dominique Pelle) 9287Files: src/auto/configure, src/configure.in 9288 9289Patch 7.2.317 9290Problem: Memory leak when adding a highlight group with unprintable 9291 characters, resulting in E669. 9292Solution: Free the memory. And fix a few typos. (Dominique Pelle) 9293Files: src/syntax.c 9294 9295Patch 7.2.318 9296Problem: Wrong locale value breaks floating point numbers for gvim. 9297Solution: Set the locale again after doing GUI inits. (Dominique Pelle) 9298Files: src/main.c 9299 9300Patch 7.2.319 9301Problem: Motif: accessing freed memory when cancelling font dialog. 9302Solution: Destroy the widget only after accessing it. (Dominique Pelle) 9303Files: src/gui_xmdlg.c 9304 9305Patch 7.2.320 9306Problem: Unused function in Mzscheme interface. 9307Solution: Remove the function and what depends on it. (Dominique Pelle) 9308Files: src/if_mzsch.c, src/proto/if_mzsch.pro 9309 9310Patch 7.2.321 9311Problem: histadd() and searching with "*" fails to add entry to history 9312 when it is empty. 9313Solution: Initialize the history. (Lech Lorens) 9314Files: src/eval.c, src/normal.c 9315 9316Patch 7.2.322 9317Problem: Wrong indenting in virtual replace mode with CTRL-Y below a short 9318 line. 9319Solution: Check for character to be NUL. (suggested by Lech Lorens) 9320Files: src/edit.c 9321 9322Patch 7.2.323 (extra) 9323Problem: Balloon evaluation crashes on Win64. 9324Solution: Change pointer types. (Sergey Khorev) 9325Files: src/gui_w32.c 9326 9327Patch 7.2.324 9328Problem: A negative column argument in setpos() may cause a crash. 9329Solution: Check for invalid column number. (James Vega) 9330Files: src/eval.c, src/misc2.c 9331 9332Patch 7.2.325 9333Problem: A stray "w" in the startup vimrc file causes the edited file to be 9334 replaced with an empty file. (Stone Kang). 9335Solution: Do not write a buffer when it has never been loaded. 9336Files: src/fileio.c 9337 9338Patch 7.2.326 9339Problem: Win32: $HOME doesn't work when %HOMEPATH% is not defined. 9340Solution: Use "\" for %HOMEPATH% when it is not defined. 9341Files: src/misc1.c 9342 9343Patch 7.2.327 9344Problem: Unused functions in Workshop. 9345Solution: Add "#if 0" and minor cleanup. (Dominique Pelle) 9346Files: src/workshop.c, src/integration.c, src/integration.h 9347 9348Patch 7.2.328 9349Problem: has("win64") does not return 1 on 64 bit MS-Windows version. 9350Solution: Also check for _WIN64 besides WIN64. 9351Files: src/eval.c 9352 9353Patch 7.2.329 9354Problem: "g_" doesn't position cursor correctly when in Visual mode and 9355 'selection' is "exclusive". (Ben Fritz) 9356Solution: Call adjust_for_sel(). 9357Files: src/normal.c 9358 9359Patch 7.2.330 9360Problem: Tables for Unicode case operators are outdated. 9361Solution: Add a Vim script for generating the tables. Include tables for 9362 Unicode 5.2. 9363Files: runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c 9364 9365Patch 7.2.331 9366Problem: Can't interrupt "echo list" for a very long list. 9367Solution: Call line_breakcheck() in list_join(). 9368Files: src/eval.c 9369 9370Patch 7.2.332 9371Problem: Crash when spell correcting triggers an autocommand that reloads 9372 the buffer. 9373Solution: Make a copy of the line to be modified. (Dominique Pelle) 9374Files: src/spell.c 9375 9376Patch 7.2.333 9377Problem: Warnings from static code analysis. 9378Solution: Small changes to various lines. (Dominique Pelle) 9379Files: src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c, 9380 src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c, 9381 src/syntax.c, src/ui.c 9382 9383Patch 7.2.334 9384Problem: Postponing keys in Netbeans interface does not work properly. 9385Solution: Store the key string instead of the number. Avoid an infinite 9386 loop. (Mostly by Xavier de Gaye) 9387Files: src/netbeans.c, src/proto/netbeans.pro 9388 9389Patch 7.2.335 9390Problem: The CTRL-] command escapes too many characters. 9391Solution: Use a different list of characters to be escaped. (Sergey Khorev) 9392Files: src/normal.c 9393 9394Patch 7.2.336 9395Problem: MzScheme interface can't evaluate an expression. 9396Solution: Add mzeval(). (Sergey Khorev) 9397Files: runtime/doc/eval.txt, runtime/doc/if_mzsch.txt, 9398 runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c, 9399 src/proto/eval.pro, src/proto/if_mzsch.pro, 9400 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 9401 src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in, 9402 src/testdir/test70.in, src/testdir/test70.ok 9403 9404Patch 7.2.337 9405Problem: The :compiler command doesn't function properly when invoked in a 9406 function. 9407Solution: Add "g:" before "current_compiler". (Yukihiro Nakadaira) 9408Files: src/ex_cmds2.c 9409 9410Patch 7.2.338 (after 7.2.300) 9411Problem: Part of FD_CLOEXEC change is missing. 9412Solution: Include source file skipped because of typo. 9413Files: src/ex_cmds2.c 9414 9415Patch 7.2.339 (after 7.2.269) 9416Problem: Part of --startuptime patch is missing. 9417Solution: Add check for time_fd. 9418Files: src/ex_cmds2.c 9419 9420Patch 7.2.340 9421Problem: Gcc warning for condition that can never be true. (James Vega) 9422Solution: Use start_lvl instead flp->lvl. 9423Files: src/fold.c 9424 9425Patch 7.2.341 9426Problem: Popup menu wraps to next line when double-wide character doesn't 9427 fit. (Jiang Ma) 9428Solution: Display a ">" instead. (Dominique Pelle) 9429Files: src/screen.c 9430 9431Patch 7.2.342 9432Problem: Popup menu displayed wrong in 'rightleft' mode when there are 9433 multibyte characters. 9434Solution: Adjust the column computations. (Dominique Pelle) 9435Files: src/popupmnu.c 9436 9437Patch 7.2.343 (after 7.2.338) 9438Problem: Can't compile on Win32. 9439Solution: Insert the missing '|'. 9440Files: src/ex_cmds2.c 9441 9442Patch 7.2.344 (after 7.2.343) 9443Problem: Can't compile on some systems 9444Solution: Move the #ifdef outside of the mch_open macro. (Patrick Texier) 9445Files: src/ex_cmds2.c 9446 9447Patch 7.2.345 9448Problem: Tab line is not updated when the value of 'bt' is changed. 9449Solution: Call redraw_titles(). (Lech Lorens) 9450Files: src/option.c 9451 9452Patch 7.2.346 9453Problem: Repeating a command with @: causes a mapping to be applied twice. 9454Solution: Do not remap characters inserted in the typeahead buffer. (Kana 9455 Natsuno) 9456Files: src/ops.c 9457 9458Patch 7.2.347 9459Problem: Crash when executing <expr> mapping redefines that same mapping. 9460Solution: Save the values used before evaluating the expression. 9461Files: src/getchar.c 9462 9463Patch 7.2.348 (after 7.2.330) 9464Problem: Unicode double-width characters are not up-to date. 9465Solution: Produce the double-width table like the others. 9466Files: runtime/tools/unicode.vim, src/mbyte.c 9467 9468Patch 7.2.349 9469Problem: CTRL-W gf doesn't put the new tab in the same place as "tab split" 9470 and "gf". (Tony Mechelynck) 9471Solution: Store the tab number in cmdmod.tab. 9472Files: src/window.c 9473 9474Patch 7.2.350 9475Problem: Win32: When changing font the window may jump from the secondary 9476 to the primary screen. (Michael Wookey) 9477Solution: When the screen position was negative don't correct it to zero. 9478Files: src/gui.c 9479 9480Patch 7.2.351 (after 7.2.347) 9481Problem: Can't build with some compilers. 9482Solution: Move the #ifdef outside of a macro. Cleanup the code. 9483Files: src/getchar.c 9484 9485Patch 7.2.352 (extra) 9486Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. 9487Solution: Always return TRUE for the WM_NCCREATE message. (Andy Kittner) 9488Files: src/gui_w48.c 9489 9490Patch 7.2.353 9491Problem: No command line completion for ":profile". 9492Solution: Complete the subcommand and file name. 9493Files: src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c, 9494 src/proto/ex_cmds2.pro, src/vim.h 9495 9496Patch 7.2.354 9497Problem: Japanese single-width double-byte characters not handled correctly. 9498Solution: Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[]. 9499 (partly by Kikuchan) 9500Files: src/screen.c 9501 9502Patch 7.2.355 9503Problem: Computing the cursor column in validate_cursor_col() is wrong when 9504 line numbers are used and 'n' is not in 'cpoptions', causing the 9505 popup menu to be positioned wrong. 9506Solution: Correctly use the offset. (partly by Dominique Pelle) 9507Files: src/move.c 9508 9509Patch 7.2.356 9510Problem: When 'foldmethod' is changed not all folds are closed as expected. 9511Solution: In foldUpdate() correct the start position and reset fd_flags when 9512 w_foldinvalid is set. (Lech Lorens) 9513Files: src/fold.c 9514 9515Patch 7.2.357 9516Problem: When changing 'fileformat' from/to "mac" and there is a CR in the 9517 text the display is wrong. 9518Solution: Redraw the text when 'fileformat' is changed. (Ben Schmidt) 9519Files: src/option.c 9520 9521Patch 7.2.358 9522Problem: Compiler warnings on VMS. (Zoltan Arpadffy) 9523Solution: Pass array itself instead its address. Return a value. 9524Files: src/gui_gtk_x11.c, src/os_unix.c 9525 9526Patch 7.2.359 9527Problem: Crash when using the Netbeans join command. 9528Solution: Make sure the ml_flush_line() function is not used recursively. 9529 (Xavier de Gaye) 9530Files: src/memline.c 9531 9532Patch 7.2.360 9533Problem: Ruby on MS-Windows: can't use sockets. 9534Solution: Call NtInitialize() during initialization. (Ariya Mizutani) 9535Files: src/if_ruby.c 9536 9537Patch 7.2.361 9538Problem: Ruby 1.9 is not supported. 9539Solution: Add Ruby 1.9 support. (Masaki Suketa) 9540Files: src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c 9541 9542Patch 7.2.362 (extra, after 7.2.352) 9543Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. 9544Solution: Instead of handling WM_NCCREATE, create wide text area window 9545 class if the parent window iw side. (Sergey Khorev) 9546Files: src/gui_w32.c, src/gui_w48.c 9547 9548Patch 7.2.363 9549Problem: Can't dynamically load Perl 5.10. 9550Solution: Add the function Perl_croak_xs_usage. (Sergey Khorev) 9551Files: src/if_perl.xs 9552 9553Patch 7.2.364 (extra) 9554Problem: Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott) 9555Solution: Check if _MSC_VER is defined. (Andy Kittner) 9556Files: src/GvimExt/gvimext.h 9557 9558Patch 7.2.365 (extra) 9559Problem: MS-Windows with MingW: "File->Save As" does not work. (John 9560 Marriott) 9561Solution: Correctly fill in structure size. (Andy Kittner) 9562Files: src/gui_w48.c 9563 9564Patch 7.2.366 9565Problem: CTRL-B doesn't go back to the first line of the buffer. 9566Solution: Avoid an overflow when adding MAXCOL. 9567Files: src/move.c 9568 9569Patch 7.2.367 9570Problem: "xxd -r -p" doesn't work as documented. 9571Solution: Skip white space. (James Vega) 9572Files: src/xxd/xxd.c 9573 9574Patch 7.2.368 (after 7.2.361) 9575Problem: Ruby interface: Appending line doesn't work. (Michael Henry) 9576Solution: Reverse check for NULL line. (James Vega) 9577Files: src/if_ruby.c 9578 9579Patch 7.2.369 9580Problem: Error message is not easy to understand. 9581Solution: Add quotes. (SungHyun Nam) 9582Files: src/ex_cmds2.c 9583 9584Patch 7.2.370 (after 7.2.356) 9585Problem: A redraw may cause folds to be closed. 9586Solution: Revert part of the previous patch. Add a test. (Lech Lorens) 9587Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in, 9588 src/testdir/test45.ok 9589 9590Patch 7.2.371 9591Problem: Build problems on Tandem NonStop. 9592Solution: A few changes to #ifdefs (Joachim Schmitz) 9593Files: src/auto/configure, src/configure.in, src/config.h.in, src/vim.h, 9594 src/if_cscope.c, src/osdef1.h.in, src/tag.c 9595 9596Patch 7.2.372 (extra) 9597Problem: Cross-compiling GvimExt and xxd doesn't work. 9598Solution: Change the build files. (Markus Heidelberg) 9599Files: src/INSTALLpc.txt, src/GvimExt/Make_ming.mak, src/Make_cyg.mak, 9600 src/Make_ming.mak, src/xxd/Make_cyg.mak 9601 9602Patch 7.2.373 9603Problem: Gcc 4.5 adds more error messages. (Chris Indy) 9604Solution: Update default 'errorformat'. 9605Files: src/option.h 9606 9607Patch 7.2.374 9608Problem: Ruby eval() doesn't understand Vim types. 9609Solution: Add the vim_to_ruby() function. (George Gensure) 9610Files: src/eval.c, src/if_ruby.c 9611 9612Patch 7.2.375 9613Problem: ml_get errors when using ":bprevious" in a BufEnter autocmd. 9614 (Dominique Pelle) 9615Solution: Clear w_valid when entering another buffer. 9616Files: src/buffer.c 9617 9618Patch 7.2.376 9619Problem: ml_get error when using SiSU syntax. (Nathan Thomas) 9620Solution: If the match ends below the last line move it to the end of the 9621 last line. 9622Files: src/syntax.c 9623 9624Patch 7.2.377 (extra, after 7.2.372) 9625Problem: Misplaced assignment. Duplicate build line for gvimext.dll. 9626Solution: Move setting CROSS_COMPILE to before ifneq. Remove the wrong 9627 build line. (Markus Heidelberg) 9628Files: src/Make_ming.mak 9629 9630Patch 7.2.378 9631Problem: C function declaration indented too much. (Rui) 9632Solution: Don't see a line containing { or } as a type. (Matt Wozniski) 9633Files: src/misc1.c 9634 9635Patch 7.2.379 9636Problem: 'eventignore' is set to an invalid value inside ":doau". (Antony 9637 Scriven) 9638Solution: Don't include the leading comma when the option was empty. 9639Files: src/fileio.c 9640 9641Patch 7.2.380 (after 7.2.363) 9642Problem: Perl interface builds with 5.10.1 but not with 5.10.0. 9643Solution: Change the #ifdefs. (Sergey Khorev) 9644Files: src/if_perl.xs 9645 9646Patch 7.2.381 9647Problem: No completion for :behave. 9648Solution: Add :behave completion. Minor related fixes. (Dominique Pelle) 9649Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h 9650 9651Patch 7.2.382 9652Problem: Accessing freed memory when closing the cmdline window when 9653 'bufhide' is set to "wipe". 9654Solution: Check if the buffer still exists before invoking close_buffer() 9655 (Dominique Pelle) 9656Files: src/ex_getln.c 9657 9658Patch 7.2.383 9659Problem: Vim doesn't build cleanly with MSVC 2010. 9660Solution: Change a few types. (George Reilly) 9661Files: src/ex_cmds2.c, src/if_python.c, src/syntax.c 9662 9663Patch 7.2.384 (extra) 9664Problem: Vim doesn't build properly with MSVC 2010. 9665Solution: Add the nmake version to the build file. (George Reilly) 9666Files: src/Make_mvc.mak, src/testdir/Make_dos.mak 9667 9668Patch 7.2.385 9669Problem: When in the command line window dragging status line only works 9670 for last-but-one window. (Jean Johner) 9671Solution: Remove the code that disallows this. 9672Files: src/ui.c 9673 9674Patch 7.2.386 9675Problem: Focus hack for KDE 3.1 causes problems for other window managers. 9676Solution: Remove the hack. (forwarded by Joel Bradshaw) 9677Files: src/gui_gtk.c 9678 9679Patch 7.2.387 9680Problem: Ruby with MingW still doesn't build all versions. 9681Solution: More #ifdefs for the Ruby code. (Sergey Khorev) 9682Files: src/if_ruby.c 9683 9684Patch 7.2.388 (extra part of 7.2.387) 9685Problem: Ruby with MingW still doesn't build all versions. 9686Solution: Different approach to build file. (Sergey Khorev) 9687Files: src/Make_ming.mak 9688 9689Patch 7.2.389 9690Problem: synIDattr() cannot return the font. 9691Solution: Support the "font" argument. (Christian Brabandt) 9692Files: runtime/doc/eval.txt, src/eval.c, src/syntax.c 9693 9694Patch 7.2.390 9695Problem: In some situations the popup menu can be displayed wrong. 9696Solution: Remove the popup menu if the cursor moved. (Lech Lorens) 9697Files: src/edit.c 9698 9699Patch 7.2.391 9700Problem: Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen) 9701Solution: Fix computations in getvcol(). (partly by Lech Lorens) 9702Files: src/charset.c, src/memline.c 9703 9704Patch 7.2.392 9705Problem: Netbeans hangs reading from a socket at the maximum block size. 9706Solution: Use select() or poll(). (Xavier de Gaye) 9707Files: src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c 9708 9709Patch 7.2.393 9710Problem: Mac: Can't build with different Xcode developer tools directory. 9711Solution: make "Developer" directory name configurable. (Rainer Muller) 9712Files: src/configure.in, src/auto/configure 9713 9714Patch 7.2.394 9715Problem: .lzma and .xz files are not supported. 9716Solution: Recognize .lzma and .xz files so that they can be edited. 9717Files: runtime/plugin/gzip.vim 9718 9719Patch 7.2.395 9720Problem: In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony 9721 Mechelynck) 9722Solution: Don't escape ? for a help command. (Sergey Khorev) 9723Files: src/normal.c 9724 9725Patch 7.2.396 9726Problem: Get E38 errors. (Dasn) 9727Solution: Set cursor to line 1 instead of 0. (Dominique Pelle) 9728Files: src/popupmnu.c 9729 9730Patch 7.2.397 9731Problem: Redundant check for w_lines_valid. 9732Solution: Remove the if. (Lech Lorens) 9733Files: src/fold.c 9734 9735Patch 7.2.398 9736Problem: When moving windows the cursor ends up in the wrong line. 9737Solution: Set the window width and height properly. (Lech Lorens) 9738Files: src/window.c 9739 9740Patch 7.2.399 (extra, after 7.2.388) 9741Problem: Cannot compile on MingW. 9742Solution: Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle) 9743Files: src/Make_ming.mak 9744 9745Patch 7.2.400 (after 7.2.387) 9746Problem: Dynamic Ruby is not initialised properly for version 1.9.1. 9747 Ruby cannot create strings from NULL. 9748Solution: Cleanup #ifdefs. Handle NULL like an empty string. Add 9749 ruby_init_stack. (Sergey Khorev) 9750Files: src/if_ruby.c 9751 9752Patch 7.2.401 9753Problem: ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight 9754 directory names with a space. (Alexandre Provencio) 9755Solution: Remove the backslash before checking if the name is a directory. 9756 (Dominique Pelle) 9757Files: src/ex_getln.c 9758 9759Patch 7.2.402 9760Problem: This gives a #705 error: let X = function('haslocaldir') 9761 let X = function('getcwd') 9762Solution: Don't give E705 when the name is found in the hashtab. (Sergey 9763 Khorev) 9764Files: src/eval.c 9765 9766Patch 7.2.403 (after 7.2.400) 9767Problem: Compiler warning for pointer type. (Tony Mechelynck) 9768Solution: Move type cast to the right place. 9769Files: src/if_ruby.c 9770 9771Patch 7.2.404 9772Problem: Pointers for composing characters are not properly initialized. 9773Solution: Compute the size of the pointer, not what it points to. (Yukihiro 9774 Nakadaira) 9775Files: src/screen.c 9776 9777Patch 7.2.405 9778Problem: When built with small features the matching text is not 9779 highlighted for ":s/pat/repl/c". 9780Solution: Remove the #ifdef for IncSearch. (James Vega) 9781Files: src/syntax.c 9782 9783Patch 7.2.406 9784Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle) 9785Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro 9786 Nakadaira) Also clear ScreeenLinesC when allocating. 9787Files: src/screen.c 9788 9789Patch 7.2.407 9790Problem: When using an expression in ":s" backslashes in the result are 9791 dropped. (Sergey Goldgaber, Christian Brabandt) 9792Solution: Double backslashes. 9793Files: src/regexp.c 9794 9795Patch 7.2.408 9796Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line 9797 that was not changed. 9798Solution: Only set '[ and '] marks when a substitution was done. 9799Files: src/ex_cmds.c 9800 9801Patch 7.2.409 9802Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean 9803 Johner) 9804Solution: Reset sub_nsubs and sub_nlines in global_exe(). 9805Files: src/ex_cmds.c 9806 9807Patch 7.2.410 9808Problem: Highlighting directories for completion doesn't work properly. 9809Solution: Don't halve backslashes when not needed, expanded "~/". 9810 (Dominique Pelle) 9811Files: src/ex_getln.c 9812 9813Patch 7.2.411 9814Problem: When parsing 'cino' a comma isn't skipped properly. 9815Solution: Skip the comma. (Lech Lorens) 9816Files: src/misc1.c 9817 9818Patch 7.2.412 9819Problem: [ or ] followed by mouse click doesn't work. 9820Solution: Reverse check for key being a mouse event. (Dominique Pelle) 9821Files: src/normal.c 9822 9823Patch 7.2.413 9824Problem: Large file support is incorrect. 9825Solution: Add AC_SYS_LARGEFILE to configure. (James Vega) 9826Files: src/configure.in, src/config.h.in, src/auto/configure 9827 9828Patch 7.2.414 9829Problem: CTRL-K <space> <space> does not produce 0xa0 as expected. (Tony 9830 Mechelynck) 9831Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are 9832 not valid characters. 9833Files: src/digraph.c 9834 9835Patch 7.2.415 9836Problem: Win32: Can't open a remote file when starting Vim. 9837Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi) 9838Files: src/main.c 9839 9840Patch 7.2.416 9841Problem: Logtalk.dict is not installed. 9842Solution: Add it to the install target. (Markus Heidelberg) 9843Files: src/Makefile 9844 9845Patch 7.2.417 9846Problem: When 'shell' has an argument with a slash then 'shellpipe' is not 9847 set properly. (Britton Kerin) 9848Solution: Assume there are no spaces in the path, arguments follow. 9849Files: src/option.c 9850 9851Patch 7.2.418 9852Problem: Vim tries to set the background or foreground color in a terminal 9853 to -1. (Graywh) Happens with ":hi Normal ctermbg=NONE". 9854Solution: When resetting the foreground or background color don't set the 9855 color, let the clear screen code do that. 9856Files: src/syntax.c 9857 9858Patch 7.2.419 9859Problem: Memory leak in Motif when clicking on "Search Vim Help". 9860Solution: Free string returned by XmTextGetString(). (Dominique Pelle) 9861Files: src/gui_motif.c 9862 9863Patch 7.2.420 9864Problem: ":argedit" does not accept "++enc=utf8" as documented. (Dominique 9865 Pelle) 9866Solution: Add the ARGOPT flag to ":argedit". 9867Files: src/ex_cmds.h 9868 9869Patch 7.2.421 9870Problem: Folds are sometimes not updated properly and there is no way to 9871 force an update. 9872Solution: Make "zx" and "zX" recompute folds (suggested by Christian 9873 Brabandt) 9874Files: src/normal.c 9875 9876Patch 7.2.422 9877Problem: May get E763 when using spell dictionaries. 9878Solution: Avoid utf-8 case folded character to be truncated to 8 bits and 9879 differ from latin1. (Dominique Pelle) 9880Files: src/spell.c 9881 9882Patch 7.2.423 9883Problem: Crash when assigning s: to variable. (Yukihiro Nakadaira) 9884Solution: Make ga_scripts contain pointer to scriptvar_T instead of 9885 scriptvar_T itself. (Dominique Pelle) 9886Files: src/eval.c 9887 9888Patch 7.2.424 9889Problem: ":colorscheme" without an argument doesn't do anything. 9890Solution: Make it echo the current color scheme name. (partly by Christian 9891 Brabandt) 9892Files: runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c 9893 9894Patch 7.2.425 9895Problem: Some compilers complain about fourth EX() argument. 9896Solution: Add cast to long_u. 9897Files: src/ex_cmds.h 9898 9899Patch 7.2.426 9900Problem: Commas in 'langmap' are not always handled correctly. 9901Solution: Require commas to be backslash escaped. (James Vega) 9902Files: src/option.c 9903 9904Patch 7.2.427 9905Problem: The swapfile is created using the destination of a symlink, but 9906 recovery doesn't follow symlinks. 9907Solution: When recovering, resolve symlinks. (James Vega) 9908Files: src/memline.c 9909 9910Patch 7.2.428 9911Problem: Using setqflist([]) to clear the error list doesn't work properly. 9912Solution: Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt) 9913Files: src/quickfix.c 9914 9915Patch 7.2.429 9916Problem: A file that exists but access is denied may result in a "new file" 9917 message. E.g. when its directory is unreadable. 9918Solution: Specifically check for ENOENT to decide a file doesn't exist. 9919 (partly by James Vega) 9920Files: src/fileio.c 9921 9922Patch 7.2.430 9923Problem: The ++bad argument is handled wrong, resulting in an invalid 9924 memory access. 9925Solution: Use the bad_char field only for the replacement character, add 9926 bad_char_idx to store the position. (Dominique Pelle) 9927Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c 9928 9929Patch 7.2.431 9930Problem: ":amenu" moves the cursor when in Insert mode. 9931Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt) 9932Files: src/menu.c 9933 9934Patch 7.2.432 9935Problem: When menus are translated they can only be found by the translated 9936 name. That makes ":emenu" difficult to use. 9937Solution: Store the untranslated name and use it for completion and :emenu. 9938 (Liang Peng (Bezetek James), Edward L. Fox) 9939Files: src/menu.c, src/structs.h 9940 9941Patch 7.2.433 9942Problem: Can't use cscope with QuickFixCmdPre and QuickFixCmdPost. 9943Solution: Add cscope support for these autocmd events. (Bryan Venteicher) 9944Files: runtime/doc/autocmd.txt, src/if_cscope.c 9945 9946Patch 7.2.434 (after 7.2.432) 9947Problem: Compilation fails without the multi-lang feature. 9948Solution: Add #ifdefs. (John Marriott) 9949Files: src/menu.c 9950 9951Patch 7.2.435 (after 7.2.430) 9952Problem: Crash when using bad_char_idx uninitialized. (Patrick Texier) 9953Solution: Don't use bad_char_idx, reproduce the ++bad argument from bad_char. 9954Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c 9955 9956Patch 7.2.436 9957Problem: Reproducible crash in syntax HL. (George Reilly, Dominique Pelle) 9958Solution: Make sst_stacksize an int instead of short. (Dominique Pelle) 9959Files: src/structs.h 9960 9961Patch 7.2.437 (after 7.2.407) 9962Problem: When "\\\n" appears in the expression result the \n doesn't result 9963 in a line break. (Andy Wokula) 9964Solution: Also replace a \n after a backslash into \r. 9965Files: src/regexp.c 9966 9967Patch 7.2.438 (after 7.2.427) 9968Problem: "vim -r" crashes. 9969Solution: Don't use NULL pointer argument. 9970Files: src/memline.c 9971 9972Patch 7.2.439 9973Problem: Invalid memory access when doing thesaurus completion and 9974 'infercase' is set. 9975Solution: Use the minimal length of completed word and replacement. 9976 (Dominique Pelle) 9977Files: src/edit.c 9978 9979Patch 7.2.440 9980Problem: Calling a function through a funcref, where the function deletes 9981 the funcref, leads to an invalid memory access. 9982Solution: Make a copy of the function name. (Lech Lorens) 9983Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok 9984 9985Patch 7.2.441 9986Problem: When using ":earlier" undo information may be wrong. 9987Solution: When changing alternate branches also adjust b_u_oldhead. 9988Files: src/undo.c 9989 9990Patch 7.2.442 (after 7.2.201) 9991Problem: Copy/paste with OpenOffice doesn't work. 9992Solution: Do not offer the HTML target when it is not supported. (James 9993 Vega) 9994Files: src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro 9995 9996Patch 7.2.443 9997Problem: Using taglist() on a tag file with duplicate fields generates an 9998 internal error. (Peter Odding) 9999Solution: Check for duplicate field names. 10000Files: src/eval.c, src/proto/eval.pro, src/tag.c 10001 10002Patch 7.2.444 (after 7.2.442) 10003Problem: Can't build with GTK 1, gtk_selection_clear_targets() is not 10004 available. (Patrick Texier) 10005Solution: Don't change the targets for GTK 1, set them once. 10006Files: src/gui_gtk_x11.c, src/option.c 10007 10008Patch 7.2.445 10009Problem: Crash when using undo/redo and a FileChangedRO autocmd event that 10010 reloads the buffer. (Dominique Pelle) 10011Solution: Do not allow autocommands while performing and undo or redo. 10012Files: src/misc1.c, src/undo.c 10013 10014Patch 7.2.446 10015Problem: Crash in GUI when closing the last window in a tabpage. (ryo7000) 10016Solution: Remove the tabpage from the list before freeing the window. 10017Files: src/window.c 10018 10019When writing a file, switching tab pages and selecting a word the file write 10020message would be displayed again. This happened in Insert mode and with 10021'cmdheight' set to 2. 10022 10023When using ":lang" to set a locale that uses a comma for decimal separator and 10024using GTK floating point numbers stop working. Use gtk_disable_setlocale(). 10025(James Vega) 10026 10027"g8" didn't produce the right value on a NUL. (Dominique Pelle) 10028 10029Use BASEMODLIBS instead of MODLIBS for Python configuration to pick up the 10030right compiler flags. (Michael Bienia) 10031 10032Window title was not updated after dropping a file on Vim. (Hari G) 10033 10034synstack() did not return anything when just past the end of the line. Useful 10035when using the cursor position in Insert mode. 10036 10037When entering a digraph or special character after a line that fits the window 10038the '?' or '^' on the next line is not redrawn. (Ian Kelling) 10039 10040Composing characters in |:s| substitute text were dropped. 10041 10042|exists()| was causing an autoload script to be loaded. 10043 10044Filter out -pthread for cproto. 10045 10046Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin 10047Toft) 10048 10049Spell menu moved the cursor, causing Copy not to work. Spell replacement 10050didn't work in 'compatible' mode. 10051 10052Various small fixes from Dominique Pelle. 10053 10054Fix that :mksession may generate "2argu" even though there is no such 10055argument. (Peter Odding) 10056 10057Fixes for time in clipboard request. Also fix ownership. (David Fries) 10058 10059Fixed completion of file names with '%' and '*'. 10060 10061Fixed MSVC makefile use of /Wp64 flag. 10062 10063Correct use of long instead of off_t for file size. (James Vega) 10064 10065Add a few #ifdefs to exclude functions that are not used. (Dominique Pelle) 10066 10067Remove old and unused method to allocate memory for undo. 10068 10069Fix definition of UINT_PTR for 64 bit systems. 10070 10071Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr. 10072 10073Window title not updated after file dropped. 10074 10075Fixed crash for ":find" completion, might also happen in other path expansion 10076usage. 10077 10078When 'searchhl' causes a hang make CTRL-C disable 'searchhl'. 10079 10080When resetting both 'title' and 'icon' the title would be set after a shell 10081command. 10082 10083Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up. 10084 10085Fix for compiler warning about function prototype in pty.c. 10086 10087Added 'window' to the options window. 10088 10089Fixed: errors for allocating zero bytes when profiling an empty function. 10090 10091Remove -arch flag from build flags for Perl. (Bjorn Wickler) 10092 10093Fix 'autochdir' not showing up in :options window. (Dominique Pelle) 10094 10095Fix: test 69 didn't work on MS-Windows. Test 72 beeped too often. 10096 10097Avoid illegal memory access in spell suggestion. (Dominique Pelle) 10098Fix: crash in spell checking with a 0x300 character. 10099 10100Avoid that running tests changes viminfo. 10101 10102Fix: changing case of a character removed combining characters. 10103Fixed: CTRL-R in Insert mode doesn't insert composing characters. 10104 10105Added the WOW64 flag to OLE registration, for 64 bit Windows systems. 10106 10107Various fixes for coverity warnings. 10108 10109Fix compile warnings, esp. for 64-bit systems. (Mike Williams) 10110 10111Fix: :redir to a dictionary that is changed before ":redir END" causes a 10112memory access error. 10113 10114Fix: terminal title not properly restored when there are multibyte 10115characters. (partly by James Vega) 10116 10117Set 'wrapscan' when checking the .po files. (Mike Williams) 10118 10119Win32: Put quotes around the gvim.exe path for the "Open with" menu entry. 10120 10121On MS-Windows sometimes files with number 4913 or higher are left behind. 10122 10123'suffixesadd' was used for finding tags file. 10124 10125Removed unused code. 10126 10127Improved positioning of combining characters in GTK. 10128 10129Made test 11 pass when there is no gzip program. (John Beckett) 10130 10131Changed readfile() to ignore byte order marks, unless in binary mode. 10132 10133On MS-Windows completion of shell commands didn't work. 10134 10135An unprintable multibyte character at the start of the screen line caused the 10136following text to be drawn at the wrong position. 10137 10138Got ml_get errors when using undo with 'virtualedit'. 10139 10140Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron) 10141 10142Unix "make install" installed a few Amiga .info files. 10143 10144Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars' 10145contains a character that would become double width. 10146 10147Set 'wrapscan' when checking the .po files. (Mike Williams) 10148 10149Fixed: using expression in command line may cause a crash. 10150 10151Avoid warnings from the clang compiler. (Dominique Pelle) 10152 10153Fix: Include wchar.h in charset.c for towupper(). 10154 10155Fixed: Using ":read file" in an empty buffer when 'compatible' is set caused 10156an error. Was caused by patch 7.2.132. 10157 10158Make the references to features in the help more consistent. (Sylvain Hitier) 10159 10160============================================================================== 10161VERSION 7.4 *version-7.4* *version7.4* *vim-7.4* 10162 10163This section is about improvements made between version 7.3 and 7.4. 10164 10165This release has hundreds of bug fixes and there are a few new features. The 10166most notable new features are: 10167 10168- New regexp engine |new-regexp-engine| 10169- A more pythonic Python interface |better-python-interface| 10170 10171 10172New regexp engine *new-regexp-engine* 10173----------------- 10174 10175What is now called the "old" regexp engine uses a backtracking algorithm. It 10176tries to match the pattern with the text in one way, and when that fails it 10177goes back and tries another way. This works fine for simple patterns, but 10178complex patterns can be very slow on longer text. 10179 10180The new engine uses a state machine. It tries all possible alternatives at 10181the current character and stores the possible states of the pattern. This is 10182a bit slower for simple patterns, but much faster for complex patterns and 10183long text. 10184 10185Most notably, syntax highlighting for Javascript and XML files with long lines 10186is now working fine. Previously Vim could get stuck. 10187 10188More information here: |two-engines| 10189 10190 10191Better Python interface *better-python-interface* 10192----------------------- 10193 10194Added |python-bindeval| function. Unlike |python-eval| this one returns 10195|python-Dictionary|, |python-List| and |python-Function| objects for 10196dictionaries lists and functions respectively in place of their Python 10197built-in equivalents (or None if we are talking about function references). 10198 For simple types this function returns Python built-in types and not only 10199Python `str()` like |python-eval| does. On Python 3 it will return `bytes()` 10200objects in place of `str()` ones avoiding possibility of UnicodeDecodeError. 10201 Interface of new objects mimics standard Python `dict()` and `list()` 10202interfaces to some extent. Extent will be improved in the future. 10203 10204Added special |python-vars| objects also available for |python-buffer| and 10205|python-window|. They ease access to Vim script variables from Python. 10206 10207Now you no longer need to alter `sys.path` to import your module: special 10208hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and 10209{rtp}/pythonx directories (for Python 2, Python 3 and both respectively). 10210See |python-special-path|. 10211 10212Added possibility to work with |tabpage|s through |python-tabpage| object. 10213 10214Added automatic conversion of Vim errors and exceptions to Python 10215exceptions. 10216 10217Changed the behavior of the |python-buffers| object: it now uses buffer numbers 10218as keys in place of the index of the buffer in the internal buffer list. 10219This should not break anything as the only way to get this index was 10220iterating over |python-buffers|. 10221 10222Added |:pydo| and |:py3do| commands. 10223 10224Added the |pyeval()| and |py3eval()| functions. 10225 10226Now in all places which previously accepted `str()` objects, `str()` and 10227`unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted. 10228 10229|python-window| has gained `.col` and `.row` attributes that are currently 10230the only way to get internal window positions. 10231 10232Added or fixed support for `dir()` in Vim Python objects. 10233 10234 10235Changed *changed-7.4* 10236------- 10237 10238Old Python versions (≤2.2) are no longer supported. Building with them did 10239not work anyway. 10240 10241Options: 10242 Added ability to automatically save the selection into the system 10243 clipboard when using non-GUI version of Vim (autoselectplus in 10244 'clipboard'). Also added ability to use the system clipboard as 10245 default register (previously only primary selection could be used). 10246 (Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar) 10247 10248 Added a special 'shiftwidth' value that makes 'sw' follow 'tabstop'. 10249 As indenting via 'indentexpr' became tricky |shiftwidth()| function 10250 was added. Also added equivalent special value to 'softtabstop' 10251 option. (Christian Brabandt, so8res) 10252 10253 Show absolute number in number column when 'relativenumber' option is 10254 on. Now there are four combinations with 'number' and 10255 'relativenumber'. (Christian Brabandt) 10256 10257Commands: 10258 |:diffoff| now saves the local values of some settings and restores 10259 them in place of blindly resetting them to the defaults. (Christian 10260 Brabandt) 10261 10262Other: 10263 Lua interface now also uses userdata bound to Vim structures. (Taro 10264 Muraoka, Luis Carvalho) 10265 10266 glob() and autocommand patterns used to work with the undocumented 10267 "\{n,m\}" item from a regexp. "\{" is now used for a literal "{", as 10268 this is normal in shell file patterns. Now used "\\\{n,m\}" to get 10269 "\{n,m}" in the regexp pattern. 10270 10271Added *added-7.4* 10272----- 10273 10274Various syntax, indent and other plugins were added. 10275 10276Added support for |Lists| and |Dictionaries| in |viminfo|. (Christian 10277Brabandt) 10278 10279Functions: 10280 Bitwise functions: |and()|, |or()|, |invert()|, |xor()|. 10281 10282 Added |luaeval()| function. (Taro Muraoka, Luis Carvalho) 10283 10284 Added |sha256()| function. (Tyru, Hirohito Higashi) 10285 10286 Added |wildmenumode()| function. (Christian Brabandt) 10287 10288 Debugging functions: |screenattr()|, |screenchar()|, |screencol()|, 10289 |screenrow()|. (Simon Ruderich, Bram Moolenaar) 10290 10291 Added ability to use |Dictionary-function|s for |sort()|ing, via 10292 optional third argument. (Nikolay Pavlov) 10293 10294 Added special |expand()| argument that expands to the current line 10295 number. 10296 10297 Made it possible to force |char2nr()| to always give unicode codepoints 10298 regardless of current encoding. (Yasuhiro Matsumoto) 10299 10300 Made it possible for functions generating file list generate |List| 10301 and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian 10302 Brabandt) 10303 10304 Functions that obtain variables from the specific window, tabpage or 10305 buffer scope dictionary can now return specified default value in 10306 place of empty string in case variable is not found. (|gettabvar()|, 10307 |getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi) 10308 10309Autocommands: 10310 Added |InsertCharPre| event launched before inserting character. 10311 (Jakson A. Aquino) 10312 10313 Added |CompleteDone| event launched after finishing completion in 10314 insert mode. (idea by Florian Klein) 10315 10316 Added |QuitPre| event launched when commands that can either close Vim 10317 or only some window(s) are launched. 10318 10319 Added |TextChanged| and |TextChangedI| events launched when text is 10320 changed. 10321 10322Commands: 10323 |:syntime| command useful for debugging. 10324 10325 Made it possible to remove all signs from the current buffer using 10326 |:sign-unplace|. (Christian Brabandt) 10327 10328 Added |:language| autocompletion. (Dominique Pelle) 10329 10330 Added more |:command-complete| completion types: |:behave| suboptions, 10331 color schemes, compilers, |:cscope| suboptions, files from 'path', 10332 |:history| suboptions, locale names, |:syntime| suboptions, user 10333 names. (Dominique Pelle) 10334 10335 Added |:map-nowait| creating mapping which when having lhs that is the 10336 prefix of another mapping’s lhs will not allow Vim to wait for user to 10337 type more characters to resolve ambiguity, forcing Vim to take the 10338 shorter alternative: one with <nowait>. 10339 10340Options: 10341 Made it possible to ignore case when completing: 'wildignorecase'. 10342 10343 Added ability to delete comment leader when using |J| by `j` flag in 10344 'formatoptions' (|fo-table|). (Lech Lorens) 10345 10346 Added ability to control indentation inside namespaces: |cino-N|. 10347 (Konstantin Lepa) 10348 10349 Added ability to control alignment inside `if` condition separately 10350 from alignment inside function arguments: |cino-k|. (Lech Lorens) 10351 10352Other: 10353 Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar) 10354 10355 Added |v:windowid| variable containing current window number in GUI 10356 Vim. (Christian J. Robinson, Lech Lorens) 10357 10358 Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito) 10359 10360 10361All changes in 7.4 *fixed-7.4* 10362------------------ 10363 10364Patch 7.3.001 10365Problem: When editing "src/main.c" and 'path' set to "./proto", 10366 ":find e<C-D" shows ./proto/eval.pro instead of eval.pro. 10367Solution: Check for path separator when comparing names. (Nazri Ramliy) 10368Files: src/misc1.c 10369 10370Patch 7.3.002 10371Problem: ":find" completion doesn't work when halfway an environment 10372 variable. (Dominique Pelle) 10373Solution: Only use in-path completion when expanding file names. (Nazri 10374 Ramliy) 10375Files: src/ex_docmd.c 10376 10377Patch 7.3.003 10378Problem: Crash with specific BufWritePost autocmd. (Peter Odding) 10379Solution: Don't free the quickfix title twice. (Lech Lorens) 10380Files: src/quickfix.c 10381 10382Patch 7.3.004 10383Problem: Crash when using very long regexp. (Peter Odding) 10384Solution: Reset reg_toolong. (Carlo Teubner) 10385Files: src/regexp.c 10386 10387Patch 7.3.005 10388Problem: Crash when using undotree(). (Christian Brabandt) 10389Solution: Increase the list reference count. Add a test for undotree() 10390 (Lech Lorens) 10391Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in 10392 10393Patch 7.3.006 10394Problem: Can't build some multibyte code with C89. 10395Solution: Move code to after declarations. (Joachim Schmitz) 10396Files: src/mbyte.c, src/spell.c 10397 10398Patch 7.3.007 10399Problem: Python code defines global "buffer". Re-implements a grow-array. 10400Solution: Use a grow-array instead of coding the same functionality. Handle 10401 out-of-memory situation properly. 10402Files: src/if_py_both.h 10403 10404Patch 7.3.008 10405Problem: 'cursorbind' is kept in places where 'scrollbind' is reset. 10406Solution: Reset 'cursorbind'. 10407Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, 10408 src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h, 10409 src/quickfix.c, src/search.c, src/tag.c, src/window.c 10410 10411Patch 7.3.009 10412Problem: Win32: Crash on Windows when using a bad argument for strftime(). 10413 (Christian Brabandt) 10414Solution: Use the bad_param_handler(). (Mike Williams) 10415Files: src/os_win32.c 10416 10417Patch 7.3.010 10418Problem: Mac GUI: Missing break statements. 10419Solution: Add the break statements. (Dominique Pelle) 10420Files: src/gui_mac.c 10421 10422Patch 7.3.011 10423Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection 10424 after a shell command doesn't work. 10425Solution: When using the GUI use XtLastTimestampProcessed() instead of 10426 changing a property. (partly by Toni Ronkko) 10427 When executing a shell command disown the selection. 10428Files: src/ui.c, src/os_unix.c 10429 10430Patch 7.3.012 10431Problem: Problems building with MingW. 10432Solution: Adjust the MingW makefiles. (Jon Maken) 10433Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak 10434 10435Patch 7.3.013 10436Problem: Dynamic loading with Ruby doesn't work for 1.9.2. 10437Solution: Handle rb_str2cstr differently. Also support dynamic loading on 10438 Unix. (Jon Maken) 10439Files: src/if_ruby.c 10440 10441Patch 7.3.014 10442Problem: Ending a line in a backslash inside an ":append" or ":insert" 10443 command in Ex mode doesn't work properly. (Ray Frush) 10444Solution: Halve the number of backslashes, only insert a NUL after an odd 10445 number of backslashes. 10446Files: src/ex_getln.c 10447 10448Patch 7.3.015 10449Problem: Test is using error message that no longer exists. 10450Solution: Change E106 to E121. (Dominique Pelle) 10451Files: src/testdir/test49.vim 10452 10453Patch 7.3.016 10454Problem: Netbeans doesn't work under Athena. 10455Solution: Support Athena, just like Motif. (Xavier de Gaye) 10456Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c 10457 10458Patch 7.3.017 10459Problem: smatch reports errors. 10460Solution: Fix the reported errors. (Dominique Pelle) 10461Files: src/spell.c, src/syntax.c 10462 10463Patch 7.3.018 (after 7.3.012) 10464Problem: Missing argument to windres in MingW makefiles. 10465Solution: Add the argument that was wrapped in the patch. (Jon Maken) 10466Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak 10467 10468Patch 7.3.019 10469Problem: ":nbstart" can fail silently. 10470Solution: Give an error when netbeans is not supported by the GUI. (Xavier 10471 de Gaye) 10472Files: src/netbeans.c 10473 10474Patch 7.3.020 10475Problem: Cursor position wrong when joining multiple lines and 10476 'formatoptions' contains "a". (Moshe Kamensky) 10477Solution: Adjust cursor position for skipped indent. (Carlo Teubner) 10478Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok 10479 10480Patch 7.3.021 10481Problem: Conflict for defining Boolean in Mac header files. 10482Solution: Define NO_X11_INCLUDES. (Rainer Muller) 10483Files: src/os_macosx.m, src/vim.h 10484 10485Patch 7.3.022 10486Problem: When opening a new window the 'spellcapcheck' option is cleared. 10487Solution: Copy the correct option value. (Christian Brabandt) 10488Files: src/option.c 10489 10490Patch 7.3.023 10491Problem: External program may hang when it tries to write to the tty. 10492Solution: Don't close the slave tty until after the child exits. (Nikola 10493 Knezevic) 10494Files: src/os_unix.c 10495 10496Patch 7.3.024 10497Problem: Named signs do not use a negative number as intended. 10498Solution: Fix the numbering of named signs. (Xavier de Gaye) 10499Files: src/ex_cmds.c 10500 10501Patch 7.3.025 10502Problem: ":mksession" does not square brackets escape file name properly. 10503Solution: Improve escaping of file names. (partly by Peter Odding) 10504Files: src/ex_docmd.c 10505 10506Patch 7.3.026 10507Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck) 10508Solution: Don't escape special characters. (Carlo Teubner) 10509Files: src/normal.c 10510 10511Patch 7.3.027 10512Problem: Opening a file on a network share is very slow. 10513Solution: When fixing file name case append "\*" to directory, server and 10514 network share names. (David Anderson, John Beckett) 10515Files: src/os_win32.c 10516 10517Patch 7.3.028 (after 7.3.024) 10518Problem: Signs don't show up. (Charles Campbell) 10519Solution: Don't use negative numbers. Also assign a number to signs that 10520 have a name of all digits to avoid using a sign number twice. 10521Files: src/ex_cmds.c 10522 10523Patch 7.3.029 10524Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned) 10525Solution: Make lines without a number sort before lines with a number. Also 10526 fix sorting negative numbers. 10527Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok 10528 10529Patch 7.3.030 10530Problem: Cannot store Dict and List in viminfo file. 10531Solution: Add support for this. (Christian Brabandt) 10532Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak, 10533 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 10534 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, 10535 src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in, 10536 src/testdir/test74.ok 10537 10538Patch 7.3.031 10539Problem: Can't pass the X window ID to another application. 10540Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens) 10541Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h, 10542 src/os_unix.c 10543 10544Patch 7.3.032 10545Problem: maparg() doesn't return the flags, such as <buffer>, <script>, 10546 <silent>. These are needed to save and restore a mapping. 10547Solution: Improve maparg(). (also by Christian Brabandt) 10548Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c, 10549 src/message.c, src/proto/getchar.pro, src/proto/message.pro, 10550 src/structs.h src/testdir/test75.in, src/testdir/test75.ok 10551 10552Patch 7.3.033 (after 7.3.032) 10553Problem: Can't build without FEAT_LOCALMAP. 10554Solution: Add an #ifdef. (John Marriott) 10555Files: src/getchar.c 10556 10557Patch 7.3.034 10558Problem: Win32: may be loading .dll from the wrong directory. 10559Solution: Go to the Vim executable directory when opening a library. 10560Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, 10561 src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c, 10562 src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro 10563 10564Patch 7.3.035 (after 7.3.034) 10565Problem: Stray semicolon after if statement. (Hari G) 10566Solution: Remove the semicolon. 10567Files: src/os_win32.c 10568 10569Patch 7.3.036 10570Problem: Win32 GUI: When building without menus, the font for dialogs and 10571 tab page headers also changes. 10572Solution: Define USE_SYSMENU_FONT always. (Harig G.) 10573Files: src/gui_w32.c 10574 10575Patch 7.3.037 10576Problem: Compiler warnings for loss of data. (Mike Williams) 10577Solution: Add type casts. 10578Files: src/if_py_both.h, src/getchar.c, src/os_win32.c 10579 10580Patch 7.3.038 10581Problem: v:windowid isn't set on MS-Windows. 10582Solution: Set it to the window handle. (Chris Sutcliffe) 10583Files: runtime/doc/eval.txt, src/gui_w32.c 10584 10585Patch 7.3.039 10586Problem: Crash when using skk.vim plugin. 10587Solution: Get length of expression evaluation result only after checking for 10588 NULL. (Noriaki Yagi, Dominique Pelle) 10589Files: src/ex_getln.c 10590 10591Patch 7.3.040 10592Problem: Comparing strings while ignoring case goes beyond end of the 10593 string when there are illegal bytes. (Dominique Pelle) 10594Solution: Explicitly check for illegal bytes. 10595Files: src/mbyte.c 10596 10597Patch 7.3.041 10598Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck) 10599Solution: Use the pointer instead of the array itself. (Dominique Pelle) 10600Files: src/version.c 10601 10602Patch 7.3.042 10603Problem: No spell highlighting when re-using an empty buffer. 10604Solution: Clear the spell checking info only when clearing the options for a 10605 buffer. (James Vega) 10606Files: src/buffer.c 10607 10608Patch 7.3.043 10609Problem: Can't load Ruby dynamically on Unix. 10610Solution: Adjust the configure script. (James Vega) 10611Files: src/Makefile, src/config.h.in, src/configure.in, 10612 src/auto/configure, src/if_ruby.c 10613 10614Patch 7.3.044 10615Problem: The preview window opened by the popup menu is larger than 10616 specified with 'previewheight'. (Benjamin Haskell) 10617Solution: Use 'previewheight' if it's set and smaller. 10618Files: src/popupmnu.c 10619 10620Patch 7.3.045 10621Problem: Compiler warning for uninitialized variable. 10622Solution: Initialize the variable always. 10623Files: src/getchar.c 10624 10625Patch 7.3.046 (after 7.3.043) 10626Problem: Can't build Ruby on MS-Windows. 10627Solution: Add #ifdef, don't use WIN3264 before including vim.h. 10628Files: src/if_ruby.c 10629 10630Patch 7.3.047 (after 7.3.032) 10631Problem: Missing makefile updates for test 75. 10632Solution: Update the makefiles. 10633Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 10634 src/testdir/Makefile, src/testdir/Make_ming.mak, 10635 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 10636 10637Patch 7.3.048 10638Problem: ":earlier 1f" doesn't work after loading undo file. 10639Solution: Set b_u_save_nr_cur when loading an undo file. (Christian 10640 Brabandt) 10641 Fix only showing time in ":undolist" 10642Files: src/undo.c 10643 10644Patch 7.3.049 10645Problem: PLT has rebranded their Scheme to Racket. 10646Solution: Add support for Racket 5.x. (Sergey Khorev) 10647Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, 10648 src/auto/configure, src/configure.in, src/if_mzsch.c 10649 10650Patch 7.3.050 10651Problem: The link script is clumsy. 10652Solution: Use the --as-needed linker option if available. (Kirill A. 10653 Shutemov) 10654Files: src/Makefile, src/auto/configure, src/config.mk.in, 10655 src/configure.in, src/link.sh 10656 10657Patch 7.3.051 10658Problem: Crash when $PATH is empty. 10659Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto) 10660Files: src/ex_getln.c, src/os_win32.c 10661 10662Patch 7.3.052 10663Problem: When 'completefunc' opens a new window all kinds of errors follow. 10664 (Xavier Deguillard) 10665Solution: When 'completefunc' goes to another window or buffer and when it 10666 deletes text abort completion. Add a test for 'completefunc'. 10667Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 10668 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 10669 src/testdir/Make_vms.mms, src/testdir/Makefile, 10670 src/testdir/test76.in, src/testdir/test76.ok 10671 10672Patch 7.3.053 10673Problem: complete() function doesn't reset complete direction. Can't use 10674 an empty string in the list of matches. 10675Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty 10676 words. (Kikuchan) 10677Files: src/edit.c 10678 10679Patch 7.3.054 10680Problem: Can define a user command for :Print, but it doesn't work. (Aaron 10681 Thoma) 10682Solution: Let user command :Print overrule the builtin command (Christian 10683 Brabandt) Disallow :X and :Next as a user defined command. 10684Files: src/ex_docmd.c 10685 10686Patch 7.3.055 10687Problem: Recursively nested lists and dictionaries cause a near-endless 10688 loop when comparing them with a copy. (ZyX) 10689Solution: Limit recursiveness in a way that non-recursive structures can 10690 still be nested very deep. 10691Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok 10692 10693Patch 7.3.056 10694Problem: "getline" argument in do_cmdline() shadows global. 10695Solution: Rename the argument. 10696Files: src/ex_docmd.c 10697 10698Patch 7.3.057 10699Problem: Segfault with command line abbreviation. (Randy Morris) 10700Solution: Don't retrigger the abbreviation when abandoning the command line. 10701 Continue editing the command line after the error. 10702Files: src/ex_getln.c 10703 10704Patch 7.3.058 10705Problem: Error "code converter not found" when loading Ruby script. 10706Solution: Load Gem module. (Yasuhiro Matsumoto) 10707Files: src/if_ruby.c 10708 10709Patch 7.3.059 10710Problem: Netbeans: Problem with recursively handling messages for Athena 10711 and Motif. 10712Solution: Call netbeans_parse_messages() in the main loop, like it's done 10713 for GTK. (Xavier de Gaye) 10714Files: src/gui_x11.c, src/netbeans.c 10715 10716Patch 7.3.060 10717Problem: Netbeans: crash when socket is disconnected unexpectedly. 10718Solution: Don't cleanup when a read fails, put a message in the queue and 10719 disconnect later. (Xavier de Gaye) 10720Files: src/netbeans.c 10721 10722Patch 7.3.061 10723Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding) 10724Solution: Don't restore the directory when 'autochdir' is set. (Benjamin 10725 Fritz) 10726Files: src/main.c 10727 10728Patch 7.3.062 10729Problem: Python doesn't work properly when installed in another directory 10730 than expected. 10731Solution: Figure out home directory in configure and use Py_SetPythonHome() 10732 at runtime. (Roland Puntaier) 10733Files: src/configure.in, src/auto/configure, src/if_python.c, 10734 src/if_python3.c 10735 10736Patch 7.3.063 10737Problem: Win32: Running a filter command makes Vim lose focus. 10738Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu) 10739Files: src/os_win32.c 10740 10741Patch 7.3.064 10742Problem: Win32: ":dis +" shows nothing, but "+p does insert text. 10743Solution: Display the * register, since that's what will be inserted. 10744 (Christian Brabandt) 10745Files: src/globals.h, src/ops.c 10746 10747Patch 7.3.065 10748Problem: Can't get current line number in a source file. 10749Solution: Add the <slnum> item, similar to <sfile>. 10750Files: src/ex_docmd.c 10751 10752Patch 7.3.066 10753Problem: Crash when changing to another window while in a :vimgrep command. 10754 (Christian Brabandt) 10755Solution: When wiping out the dummy before, remove it from aucmd_win. 10756Files: src/quickfix.c 10757 10758Patch 7.3.067 (after 7.3.058) 10759Problem: Ruby: Init_prelude is not always available. 10760Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto) 10761Files: src/if_ruby.c 10762 10763Patch 7.3.068 10764Problem: Using freed memory when doing ":saveas" and an autocommand sets 10765 'autochdir'. (Kevin Klement) 10766Solution: Get the value of fname again after executing autocommands. 10767Files: src/ex_cmds.c 10768 10769Patch 7.3.069 10770Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK 10771 as documented. 10772Solution: call gtk_entry_set_activates_default(). (Britton Kerin) 10773Files: src/gui_gtk.c 10774 10775Patch 7.3.070 10776Problem: Can set environment variables in the sandbox, could be abused. 10777Solution: Disallow it. 10778Files: src/eval.c 10779 10780Patch 7.3.071 10781Problem: Editing a file in a window that's in diff mode resets 'diff' 10782 but not cursor binding. 10783Solution: Reset cursor binding in two more places. 10784Files: src/quickfix.c, src/option.c 10785 10786Patch 7.3.072 10787Problem: Can't complete file names while ignoring case. 10788Solution: Add 'wildignorecase'. 10789Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c, 10790 src/option.h, src/vim.h, src/runtime/options.txt 10791 10792Patch 7.3.073 10793Problem: Double free memory when netbeans command follows DETACH. 10794Solution: Only free the node when owned. (Xavier de Gaye) 10795Files: src/netbeans.c 10796 10797Patch 7.3.074 10798Problem: Can't use the "+ register like "* for yank and put. 10799Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov) 10800Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c, 10801 src/option.c 10802 10803Patch 7.3.075 (after 7.3.072) 10804Problem: Missing part of 'wildignorecase' 10805Solution: Also adjust expand() 10806Files: src/eval.c 10807 10808Patch 7.3.076 10809Problem: Clang warnings for dead code. 10810Solution: Remove it. (Carlo Teubner) 10811Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c, 10812 src/spell.c 10813 10814Patch 7.3.077 10815Problem: When updating crypt of swapfile fails there is no error message. 10816 (Carlo Teubner) 10817Solution: Add the error message. 10818Files: src/memline.c 10819 10820Patch 7.3.078 10821Problem: Warning for unused variable. 10822Solution: Adjust #ifdefs. 10823Files: src/ops.c 10824 10825Patch 7.3.079 10826Problem: Duplicate lines in makefile. 10827Solution: Remove the lines. (Hong Xu) 10828Files: src/Make_mvc.mak 10829 10830Patch 7.3.080 10831Problem: Spell doesn't work on VMS. 10832Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy) 10833Files: src/spell.c 10834 10835Patch 7.3.081 10836Problem: Non-printable characters in 'statusline' cause trouble. (ZyX) 10837Solution: Use transstr(). (partly by Caio Ariede) 10838Files: src/screen.c 10839 10840Patch 7.3.082 10841Problem: Leaking file descriptor when hostname doesn't exist. 10842Solution: Remove old debugging lines. 10843Files: src/netbeans.c 10844 10845Patch 7.3.083 10846Problem: When a read() or write() is interrupted by a signal it fails. 10847Solution: Add read_eintr() and write_eintr(). 10848Files: src/fileio.c, src/proto/fileio.pro, src/memfile.c, src/memline.c, 10849 src/os_unix.c, src/undo.c, src/vim.h 10850 10851Patch 7.3.084 10852Problem: When splitting the window, the new one scrolls with the cursor at 10853 the top. 10854Solution: Compute w_fraction before setting the new height. 10855Files: src/window.c 10856 10857Patch 7.3.085 (after 7.3.083) 10858Problem: Inconsistency with preproc symbols. void * computation. 10859Solution: Include vimio.h from vim.h. Add type cast. 10860Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/fileio.c, 10861 src/if_cscope.c, src/if_sniff.c, src/main.c, src/memfile.c, 10862 src/memline.c, src/netbeans.c, src/os_msdos.c, src/os_mswin.c, 10863 src/os_win16.c, src/os_win32.c, src/spell.c, src/tag.c, 10864 src/undo.c, src/vim.h 10865 10866Patch 7.3.086 10867Problem: When using a mapping with an expression and there was no count, 10868 v:count has the value of the previous command. (ZyX) 10869Solution: Also set v:count and v:count1 before getting the character that 10870 could be a command or a count. 10871Files: src/normal.c 10872 10873Patch 7.3.087 10874Problem: EINTR is not always defined. 10875Solution: Include errno.h in vim.h. 10876Files: src/if_cscope.c, src/if_tcl.c, src/integration.c, src/memline.c, 10877 src/os_mswin.c, src/os_win16.c, src/os_win32.c, src/vim.h, 10878 src/workshop.c 10879 10880Patch 7.3.088 10881Problem: Ruby can't load Gems sometimes, may cause a crash. 10882Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto) 10883Files: src/if_ruby.c 10884 10885Patch 7.3.089 10886Problem: Compiler warning on 64 bit MS-Windows. 10887Solution: Add type cast. (Mike Williams) 10888Files: src/netbeans.c 10889 10890Patch 7.3.090 10891Problem: Wrong help text for Cscope. 10892Solution: Adjust the help text for "t". (Dominique Pelle) 10893Files: src/if_cscope.c 10894 10895Patch 7.3.091 10896Problem: "vim -w foo" writes special key codes for removed escape 10897 sequences. (Josh Triplett) 10898Solution: Don't write K_IGNORE codes. 10899Files: src/getchar.c, src/misc1.c, src/term.c, src/vim.h 10900 10901Patch 7.3.092 10902Problem: Resizing the window when exiting. 10903Solution: Don't resize when exiting. 10904Files: src/term.c 10905 10906Patch 7.3.093 10907Problem: New DLL dependencies in MingW with gcc 4.5.0. 10908Solution: Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen) 10909Files: src/GvimExt/Make_ming.mak, src/Make_ming.mak 10910 10911Patch 7.3.094 10912Problem: Using abs() requires type cast to int. 10913Solution: Use labs() so that the value remains long. (Hong Xu) 10914Files: src/screen.c 10915 10916Patch 7.3.095 10917Problem: Win32: In Chinese tear-off menu doesn't work. (Weasley) 10918Solution: Use menu_name_equal(). (Alex Jakushev) 10919Files: src/menu.c 10920 10921Patch 7.3.096 10922Problem: "gvim -nb" is not interruptible. Leaking file descriptor on 10923 netbeans connection error. 10924Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye) 10925Files: src/netbeans.c 10926 10927Patch 7.3.097 10928Problem: Using ":call" inside "if 0" does not see that a function returns a 10929 Dict and gives error for "." as string concatenation. 10930Solution: Use eval0() to skip over the expression. (Yasuhiro Matsumoto) 10931Files: src/eval.c 10932 10933Patch 7.3.098 10934Problem: Function that ignores error still causes called_emsg to be set. 10935 E.g. when expand() fails the status line is disabled. 10936Solution: Move check for emsg_not_now() up. (James Vega) 10937Files: src/message.c 10938 10939Patch 7.3.099 10940Problem: Crash when splitting a window with zero height. (Yukihiro 10941 Nakadaira) 10942Solution: Don't set the fraction in a window with zero height. 10943Files: src/window.c 10944 10945Patch 7.3.100 10946Problem: When using :normal v:count isn't set. 10947Solution: Call normal_cmd() with toplevel set to TRUE. 10948Files: src/ex_docmd.c 10949 10950Patch 7.3.101 10951Problem: ino_t defined with wrong size. 10952Solution: Move including auto/config.h before other includes. (Marius 10953 Geminas) 10954Files: src/if_ruby.c, src/if_lua.c 10955 10956Patch 7.3.102 10957Problem: When using ":make", typing the next command and then getting the 10958 "reload" prompt the next command is (partly) eaten by the reload 10959 prompt. 10960Solution: Accept ':' as a special character at the reload prompt to accept 10961 the default choice and execute the command. 10962Files: src/eval.c, src/fileio.c, src/gui.c, src/gui_xmdlg.c, 10963 src/memline.c, src/message.c, src/proto/message.pro, 10964 src/gui_athena.c, src/gui_gtk.c, src/gui_mac.c, src/gui_motif.c, 10965 src/gui_photon.c, src/gui_w16.c, src/gui_w32.c, src/os_mswin.c 10966 src/proto/gui_athena.pro, src/proto/gui_gtk.pro, 10967 src/proto/gui_mac.pro, src/proto/gui_motif.pro, 10968 src/proto/gui_photon.pro, src/proto/gui_w16.pro, 10969 src/proto/gui_w32.pro 10970 10971Patch 7.3.103 10972Problem: Changing 'fileformat' and then using ":w" in an empty file sets 10973 the 'modified' option. 10974Solution: In unchanged() don't ignore 'ff' for an empty file. 10975Files: src/misc1.c, src/option.c, src/proto/option.pro, src/undo.c 10976 10977Patch 7.3.104 10978Problem: Conceal: using Tab for cchar causes problems. (ZyX) 10979Solution: Do not accept a control character for cchar. 10980Files: src/syntax.c 10981 10982Patch 7.3.105 10983Problem: Can't get the value of "b:changedtick" with getbufvar(). 10984Solution: Make it work. (Christian Brabandt) 10985Files: src/eval.c 10986 10987Patch 7.3.106 10988Problem: When 'cursorbind' is set another window may scroll unexpectedly 10989 when 'scrollbind' is also set. (Xavier Wang) 10990Solution: Don't call update_topline() if 'scrollbind' is set. 10991Files: src/move.c 10992 10993Patch 7.3.107 10994Problem: Year number for :undolist can be confused with month or day. 10995Solution: Change "%y" to "%Y". 10996Files: src/undo.c 10997 10998Patch 7.3.108 10999Problem: Useless check for NULL when calling vim_free(). 11000Solution: Remove the check. (Dominique Pelle) 11001Files: src/eval.c, src/ex_cmds.c, src/os_win32.c 11002 11003Patch 7.3.109 11004Problem: Processing new Esperanto spell file fails and crashes Vim. 11005 (Dominique Pelle) 11006Solution: When running out of memory give an error. Handle '?' in 11007 COMPOUNDRULE properly. 11008Files: src/spell.c 11009 11010Patch 7.3.110 11011Problem: The "nbsp" item in 'listchars' isn't used for ":list". 11012Solution: Make it work. (Christian Brabandt) 11013Files: src/message.c 11014 11015Patch 7.3.111 (after 7.3.100) 11016Problem: Executing a :normal command in 'statusline' evaluation causes the 11017 cursor to move. (Dominique Pelle) 11018Solution: When updating the cursor for 'cursorbind' allow the cursor beyond 11019 the end of the line. When evaluating 'statusline' temporarily 11020 reset 'cursorbind'. 11021Files: src/move.c, src/screen.c 11022 11023Patch 7.3.112 11024Problem: Setting 'statusline' to "%!'asdf%' reads uninitialized memory. 11025Solution: Check for NUL after %. 11026Files: src/buffer.c 11027 11028Patch 7.3.113 11029Problem: Windows: Fall back directory for creating temp file is wrong. 11030Solution: Use "." instead of empty string. (Hong Xu) 11031Files: src/fileio.c 11032 11033Patch 7.3.114 11034Problem: Potential problem in initialization when giving an error message 11035 early. 11036Solution: Initialize 'verbosefile' empty. (Ben Schmidt) 11037Files: src/option.h 11038 11039Patch 7.3.115 11040Problem: Vim can crash when tmpnam() returns NULL. 11041Solution: Check for NULL. (Hong Xu) 11042Files: src/fileio.c 11043 11044Patch 7.3.116 11045Problem: 'cursorline' is displayed too short when there are concealed 11046 characters and 'list' is set. (Dennis Preiser) 11047Solution: Check for 'cursorline' when 'list' is set. (Christian Brabandt) 11048Files: src/screen.c 11049 11050Patch 7.3.117 11051Problem: On some systems --as-needed does not work, because the "tinfo" 11052 library is included indirectly from "ncurses". (Charles Campbell) 11053Solution: In configure prefer using "tinfo" instead of "ncurses". 11054Files: src/configure.in, src/auto/configure 11055 11056Patch 7.3.118 11057Problem: Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica) 11058Solution: Ignore SIGVTALARM. (Dominique Pelle) 11059Files: src/os_unix.c 11060 11061Patch 7.3.119 11062Problem: Build problem on Mac. (Nicholas Stallard) 11063Solution: Use "extern" instead of "EXTERN" for p_vfile. 11064Files: src/option.h 11065 11066Patch 7.3.120 11067Problem: The message for an existing swap file is too long to fit in a 25 11068 line terminal. 11069Solution: Make the message shorter. (Chad Miller) 11070Files: src/memline.c 11071 11072Patch 7.3.121 11073Problem: Complicated 'statusline' causes a crash. (Christian Brabandt) 11074Solution: Check that the number of items is not too big. 11075Files: src/buffer.c 11076 11077Patch 7.3.122 11078Problem: Having auto/config.mk in the repository causes problems. 11079Solution: Remove auto/config.mk from the distribution. In the toplevel 11080 Makefile copy it from the "dist" file. 11081Files: Makefile, src/Makefile, src/auto/config.mk 11082 11083Patch 7.3.123 11084Problem: ml_get error when executing register being recorded into, deleting 11085 lines and 'conceallevel' is set. (ZyX) 11086Solution: Don't redraw a line for concealing when it doesn't exist. 11087Files: src/main.c 11088 11089Patch 7.3.124 11090Problem: When writing a file in binary mode it may be missing the final EOL 11091 if a file previously read was missing the EOL. (Kevin Goodsell) 11092Solution: Move the write_no_eol_lnum into the buffer struct. 11093Files: src/structs.h, src/fileio.c, src/globals.h, src/os_unix.c 11094 11095Patch 7.3.125 11096Problem: MSVC: Problem with quotes in link argument. 11097Solution: Escape backslashes and quotes. (Weasley) 11098Files: src/Make_mvc.mak 11099 11100Patch 7.3.126 11101Problem: Compiler warning for signed pointer. 11102Solution: Use unsigned int argument for sscanf(). 11103Files: src/blowfish.c 11104 11105Patch 7.3.127 11106Problem: Compiler complains about comma. 11107Solution: Remove comma after last enum element. 11108Files: src/ex_cmds2.c 11109 11110Patch 7.3.128 11111Problem: Another compiler warning for signed pointer. 11112Solution: Use unsigned int argument for sscanf(). 11113Files: src/mark.c 11114 11115Patch 7.3.129 11116Problem: Using integer like a boolean. 11117Solution: Nicer check for integer being non-zero. 11118Files: src/tag.c 11119 11120Patch 7.3.130 11121Problem: Variable misplaced in #ifdef. 11122Solution: Move clipboard_event_time outside of #ifdef. 11123Files: src/gui_gtk_x11.c 11124 11125Patch 7.3.131 11126Problem: Including errno.h too often. 11127Solution: Don't include errno.h in Unix header file. 11128Files: src/os_unix.h 11129 11130Patch 7.3.132 11131Problem: C++ style comments. 11132Solution: Change to C comments. 11133Files: src/if_python3.c 11134 11135Patch 7.3.133 11136Problem: When using encryption it's not clear what method was used. 11137Solution: In the file message show "blowfish" when using blowfish. 11138Files: src/fileio.c 11139 11140Patch 7.3.134 11141Problem: Drag-n-drop doesn't work in KDE Dolphin. 11142Solution: Add GDK_ACTION_MOVE flag. (Florian Degner) 11143Files: src/gui_gtk_x11.c 11144 11145Patch 7.3.135 11146Problem: When there is no previous substitute pattern, the previous search 11147 pattern is used. The other way around doesn't work. 11148Solution: When there is no previous search pattern, use the previous 11149 substitute pattern if possible. (Christian Brabandt) 11150Files: src/search.c 11151 11152Patch 7.3.136 11153Problem: Duplicate include of assert.h. 11154Solution: Remove it. 11155Files: src/if_cscope.c 11156 11157Patch 7.3.137 (after 7.3.091) 11158Problem: When 'lazyredraw' is set the screen may not be updated. (Ivan 11159 Krasilnikov) 11160Solution: Call update_screen() before waiting for input. 11161Files: src/misc1.c, src/getchar.c 11162 11163Patch 7.3.138 11164Problem: ":com" changes the multibyte text of :echo. (Dimitar Dimitrov) 11165Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt) 11166Files: src/ex_docmd.c 11167 11168Patch 7.3.139 (after 7.3.137) 11169Problem: When 'lazyredraw' is set ":ver" output can't be read. 11170Solution: Don't redraw the screen when at a prompt or command line. 11171Files: src/getchar.c, src/message.c, src/misc1.c 11172 11173Patch 7.3.140 11174Problem: Crash when drawing the "$" at end-of-line for list mode just after 11175 the window border and 'cursorline' is set. 11176Solution: Don't check for 'cursorline'. (Quentin Carbonneaux) 11177Files: src/screen.c 11178 11179Patch 7.3.141 11180Problem: When a key code is not set get a confusing error message. 11181Solution: Change the error message to say the key code is not set. 11182Files: src/option.c, runtime/doc/options.txt 11183 11184Patch 7.3.142 11185Problem: Python stdout doesn't have a flush() method, causing an import to 11186 fail. 11187Solution: Add a dummy flush() method. (Tobias Columbus) 11188Files: src/if_py_both.h 11189 11190Patch 7.3.143 11191Problem: Memfile is not tested sufficiently. Looking up blocks in a 11192 memfile is slow when there are many blocks. 11193Solution: Add high level test and unittest. Adjust the number of hash 11194 buckets to the number of blocks. (Ivan Krasilnikov) 11195Files: Filelist, src/Makefile, src/main.c, src/memfile.c, 11196 src/memfile_test.c src/structs.h src/testdir/Make_amiga.mak, 11197 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 11198 src/testdir/Make_os2.mak, src/testdir/Make_vms.mak, 11199 src/testdir/Makefile, src/testdir/test77.in, src/testdir/test77.ok 11200 11201Patch 7.3.144 11202Problem: Crash with ":python help(dir)". (Kearn Holliday) 11203Solution: Fix the way the type is set on objects. (Tobias Columbus) 11204Files: src/if_python.c 11205 11206Patch 7.3.145 (after 7.3.144) 11207Problem: Can't build with Python dynamically loading. 11208Solution: Add dll_PyType_Ready. 11209Files: src/if_python.c 11210 11211Patch 7.3.146 11212Problem: It's possible to assign to a read-only member of a dict. 11213 It's possible to create a global variable "0". (ZyX) 11214 It's possible to add a v: variable with ":let v:.name = 1". 11215Solution: Add check for dict item being read-only. 11216 Check the name of g: variables. 11217 Disallow adding v: variables. 11218Files: src/eval.c 11219 11220Patch 7.3.147 (after 7.3.143) 11221Problem: Can't build on HP-UX. 11222Solution: Remove an unnecessary backslash. (John Marriott) 11223Files: src/Makefile 11224 11225Patch 7.3.148 11226Problem: A syntax file with a huge number of items or clusters causes weird 11227 behavior, a hang or a crash. (Yukihiro Nakadaira) 11228Solution: Check running out of IDs. (partly by Ben Schmidt) 11229Files: src/syntax.c 11230 11231Patch 7.3.149 11232Problem: The cursor disappears after the processing of the 'setDot' 11233 netbeans command when vim runs in a terminal. 11234Solution: Show the cursor after a screen update. (Xavier de Gaye) 11235Files: src/netbeans.c 11236 11237Patch 7.3.150 11238Problem: readline() does not return the last line when the NL is missing. 11239 (Hong Xu) 11240Solution: When at the end of the file Also check for a previous line. 11241Files: src/eval.c 11242 11243Patch 7.3.151 (after 7.3.074) 11244Problem: When "unnamedplus" is in 'clipboard' the selection is sometimes 11245 also copied to the star register. 11246Solution: Avoid copy to the star register when undesired. (James Vega) 11247Files: src/ops.c 11248 11249Patch 7.3.152 11250Problem: Xxd does not check for errors from library functions. 11251Solution: Add error checks. (Florian Zumbiehl) 11252Files: src/xxd/xxd.c 11253 11254Patch 7.3.153 (after 7.3.152) 11255Problem: Compiler warning for ambiguous else, missing prototype. 11256Solution: Add braces. (Dominique Pelle) Add prototype for die(). 11257Files: src/xxd/xxd.c 11258 11259Patch 7.3.154 (after 7.3.148) 11260Problem: Can't compile with tiny features. (Tony Mechelynck) 11261Solution: Move #define outside of #ifdef. 11262Files: src/syntax.c 11263 11264Patch 7.3.155 11265Problem: Crash when using map(), filter() and remove() on v:. (ZyX) 11266 Also for extend(). (Yukihiro Nakadaira) 11267Solution: Mark v: as locked. Also correct locking error messages. 11268Files: src/eval.c 11269 11270Patch 7.3.156 11271Problem: Tty names possibly left unterminated. 11272Solution: Use vim_strncpy() instead of strncpy(). 11273Files: src/pty.c 11274 11275Patch 7.3.157 11276Problem: Superfluous assignment. 11277Solution: Remove assignment. 11278Files: src/misc1.c 11279 11280Patch 7.3.158 11281Problem: Might use uninitialized memory in C indenting. 11282Solution: Init arrays to empty. 11283Files: src/misc1.c 11284 11285Patch 7.3.159 11286Problem: Using uninitialized pointer when out of memory. 11287Solution: Check for NULL return value. 11288Files: src/mbyte.c 11289 11290Patch 7.3.160 11291Problem: Unsafe string copying. 11292Solution: Use vim_strncpy() instead of strcpy(). Use vim_strcat() instead 11293 of strcat(). 11294Files: src/buffer.c, src/ex_docmd.c, src/hardcopy.c, src/menu.c, 11295 src/misc1.c, src/misc2.c, src/proto/misc2.pro, src/netbeans.c, 11296 src/os_unix.c, src/spell.c, src/syntax.c, src/tag.c 11297 11298Patch 7.3.161 11299Problem: Items on the stack may be too big. 11300Solution: Make items static or allocate them. 11301Files: src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, 11302 src/fileio.c, src/hardcopy.c, src/quickfix.c, src/main.c, 11303 src/netbeans.c, src/spell.c, src/tag.c, src/vim.h, src/xxd/xxd.c 11304 11305Patch 7.3.162 11306Problem: No error message when assigning to a list with an index out of 11307 range. (Yukihiro Nakadaira) 11308Solution: Add the error message. 11309Files: src/eval.c 11310 11311Patch 7.3.163 11312Problem: For the default of 'shellpipe' "mksh" and "pdksh" are not 11313 recognized. 11314Solution: Recognize these shell names. 11315Files: src/option.c 11316 11317Patch 7.3.164 11318Problem: C-indenting: a preprocessor statement confuses detection of a 11319 function declaration. 11320Solution: Ignore preprocessor lines. (Lech Lorens) Also recognize the style 11321 to put a comma before the argument name. 11322Files: src/misc1.c, testdir/test3.in, testdir/test3.ok 11323 11324Patch 7.3.165 11325Problem: ":find" completion does not escape spaces in a directory name. 11326 (Isz) 11327Solution: Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner) 11328Files: src/ex_getln.c 11329 11330Patch 7.3.166 11331Problem: Buffer on the stack may be too big 11332Solution: Allocate the space. 11333Files: src/option.c 11334 11335Patch 7.3.167 11336Problem: When using the internal grep QuickFixCmdPost is not triggered. 11337 (Yukihiro Nakadaira) 11338Solution: Change the place where autocommands are triggered. 11339Files: src/quickfix.c 11340 11341Patch 7.3.168 11342Problem: When the second argument of input() contains a CR the text up to 11343 that is used without asking the user. (Yasuhiro Matsumoto) 11344Solution: Change CR, NL and ESC in the text to a space. 11345Files: src/getchar.c 11346 11347Patch 7.3.169 11348Problem: Freeing memory already freed, warning from static code analyzer. 11349Solution: Initialize pointers to NULL, correct use of "mustfree". (partly by 11350 Dominique Pelle) 11351Files: src/mis1.c 11352 11353Patch 7.3.170 11354Problem: VMS Makefile for testing was not updated for test77. 11355Solution: Add test77 to the Makefile. 11356Files: src/testdir/Make_vms.mms 11357 11358Patch 7.3.171 11359Problem: When the clipboard isn't supported: ":yank*" gives a confusing 11360 error message. 11361Solution: Specifically mention that the register name is invalid. 11362 (Jean-Rene David) 11363Files: runtime/doc/change.txt, src/ex_docmd.c, src/globals.h 11364 11365Patch 7.3.172 11366Problem: MS-Windows: rename() might delete the file if the name differs but 11367 it's actually the same file. 11368Solution: Use the file handle to check if it's the same file. (Yukihiro 11369 Nakadaira) 11370Files: src/if_cscope.c, src/fileio.c, src/os_win32.c, 11371 src/proto/os_win32.pro, src/vim.h 11372 11373Patch 7.3.173 11374Problem: After using setqflist() to make the quickfix list empty ":cwindow" 11375 may open the window anyway. Also after ":vimgrep". 11376Solution: Correctly check whether the list is empty. (Ingo Karkat) 11377Files: src/quickfix.c 11378 11379Patch 7.3.174 11380Problem: When Exuberant ctags binary is exctags it's not found. 11381Solution: Add configure check for exctags. (Hong Xu) 11382Files: src/configure.in, src/auto/configure 11383 11384Patch 7.3.175 11385Problem: When 'colorcolumn' is set locally to a window, ":new" opens a 11386 window with the same highlighting but 'colorcolumn' is empty. 11387 (Tyru) 11388Solution: Call check_colorcolumn() after clearing and copying options. 11389 (Christian Brabandt) 11390Files: src/buffer.c 11391 11392Patch 7.3.176 11393Problem: Ruby linking doesn't work properly on Mac OS X. 11394Solution: Fix the configure check for Ruby. (Bjorn Winckler) 11395Files: src/configure.in, src/auto/configure 11396 11397Patch 7.3.177 11398Problem: MS-Windows: mkdir() doesn't work properly when 'encoding' is 11399 "utf-8". 11400Solution: Convert to utf-16. (Yukihiro Nakadaira) 11401Files: src/os_win32.c, src/os_win32.h, src/proto/os_win32.pro 11402 11403Patch 7.3.178 11404Problem: C-indent doesn't handle code right after { correctly. 11405Solution: Fix detecting unterminated line. (Lech Lorens) 11406Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11407 11408Patch 7.3.179 11409Problem: C-indent doesn't handle colon in string correctly. 11410Solution: Skip the string. (Lech Lorens) 11411Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11412 11413Patch 7.3.180 11414Problem: When both a middle part of 'comments' matches and an end part, the 11415 middle part was used erroneously. 11416Solution: After finding the middle part match continue looking for a better 11417 end part match. (partly by Lech Lorens) 11418Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11419 11420Patch 7.3.181 11421Problem: When repeating the insert of CTRL-V or a digraph the display may 11422 not be updated correctly. 11423Solution: Only call edit_unputchar() after edit_putchar(). (Lech Lorens) 11424Files: src/edit.c 11425 11426Patch 7.3.182 (after 7.3.180) 11427Problem: Compiler warning for uninitialized variable. 11428Solution: Add dummy initializer. 11429Files: src/misc1.c 11430 11431Patch 7.3.183 (after 7.3.174) 11432Problem: When Exuberant ctags binary is exuberant-ctags it's not found. 11433Solution: Add configure check for exuberant-ctags. 11434Files: src/configure.in, src/auto/configure 11435 11436Patch 7.3.184 11437Problem: Static code analysis errors in riscOS. 11438Solution: Make buffer size bigger. (Dominique Pelle) 11439Files: src/gui_riscos.c 11440 11441Patch 7.3.185 11442Problem: ":windo g/pattern/q" closes windows and reports "N more lines". 11443 (Tim Chase) 11444Solution: Remember what buffer ":global" started in. (Jean-Rene David) 11445Files: src/ex_cmds.c 11446 11447Patch 7.3.186 11448Problem: When 'clipboard' contains "unnamed" or "unnamedplus" the value of 11449 v:register is wrong for operators without a specific register. 11450Solution: Adjust the register according to 'clipboard'. (Ingo Karkat) 11451Files: src/normal.c 11452 11453Patch 7.3.187 11454Problem: The RISC OS port has obvious errors and is not being maintained. 11455Solution: Remove the RISC OS files and code. 11456Files: src/ascii.h, src/eval.c, src/ex_cmds.c, src/ex_cmds2.c, 11457 src/ex_docmd.c, src/fileio.c, src/globals.h, src/gui.c, src/gui.h, 11458 src/main.c, src/memfile.c, src/memline.c, src/misc1.c, 11459 src/proto.h, src/quickfix.c, src/search.c, src/structs.h, 11460 src/term.c, src/termlib.c, src/version.c, src/vim.h, 11461 src/gui_riscos.h, src/os_riscos.h, src/gui_riscos.c, 11462 src/os_riscos.c, runtime/doc/os_risc.txt 11463 11464Patch 7.3.188 11465Problem: More RISC OS files to remove. 11466Solution: Remove them. Update the file list. 11467Files: src/proto/gui_riscos.pro, src/proto/os_riscos.pro, Filelist 11468 11469Patch 7.3.189 (after 7.3.186) 11470Problem: Can't build without +clipboard feature. (Christian Ebert) 11471Solution: Add the missing #ifdef. 11472Files: src/normal.c 11473 11474Patch 7.3.190 11475Problem: When there is a "containedin" syntax argument highlighting may be 11476 wrong. (Radek) 11477Solution: Reset current_next_list. (Ben Schmidt) 11478Files: src/syntax.c 11479 11480Patch 7.3.191 11481Problem: Still some RISC OS stuff to remove. 11482Solution: Remove files and lines. (Hong Xu) 11483 Remove the 'osfiletype' option code. 11484Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile, 11485 src/buffer.c, src/eval.c, src/feature.h, src/option.c, 11486 src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist 11487 11488Patch 7.3.192 11489Problem: Ex command ":s/ \?/ /g" splits multibyte characters into bytes. 11490 (Dominique Pelle) 11491Solution: Advance over whole character instead of one byte. 11492Files: src/ex_cmds.c 11493 11494Patch 7.3.193 11495Problem: In the command line window ":close" doesn't work properly. (Tony 11496 Mechelynck) 11497Solution: Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene 11498 David) 11499Files: src/ex_docmd.c, src/ex_getln.c 11500 11501Patch 7.3.194 11502Problem: When "b" is a symlink to directory "a", resolve("b/") doesn't 11503 result in "a/". (ZyX) 11504Solution: Remove the trailing slash. (Jean-Rene David) 11505Files: src/eval.c 11506 11507Patch 7.3.195 11508Problem: "} else" causes following lines to be indented too much. (Rouben 11509 Rostamian) 11510Solution: Better detection for the "else". (Lech Lorens) 11511Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11512 11513Patch 7.3.196 11514Problem: Can't intercept a character that is going to be inserted. 11515Solution: Add the InsertCharPre autocommand event. (Jakson A. Aquino) 11516Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, 11517 runtime/doc/map.txt, src/edit.c, src/eval.c, src/fileio.c, 11518 src/vim.h 11519 11520Patch 7.3.197 11521Problem: When a QuickfixCmdPost event removes all errors, Vim still tries 11522 to jump to the first error, resulting in E42. 11523Solution: Get the number of error after the autocmd event. (Mike Lundy) 11524Files: src/quickfix.c 11525 11526Patch 7.3.198 11527Problem: No completion for ":lang". 11528Solution: Get locales to complete from. (Dominique Pelle) 11529Files: src/eval.c, src/ex_cmds2.c, src/ex_getln.c, 11530 src/proto/ex_cmds2.pro, src/proto/ex_getln.pro, src/vim.h 11531 11532Patch 7.3.199 11533Problem: MS-Windows: Compilation problem of OLE with MingW compiler. 11534Solution: Put #ifdef around declarations. (Guopeng Wen) 11535Files: src/if_ole.h 11536 11537Patch 7.3.200 (after 7.3.198) 11538Problem: CTRL-D doesn't complete :lang. 11539Solution: Add the missing part of the change. (Dominique Pelle) 11540Files: src/ex_docmd.c 11541 11542Patch 7.3.201 (after 7.3.195) 11543Problem: "} else" still causes following lines to be indented too much. 11544Solution: Better detection for the "else" block. (Lech Lorens) 11545Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11546 11547Patch 7.3.202 11548Problem: Cannot influence the indent inside a namespace. 11549Solution: Add the "N" 'cino' parameter. (Konstantin Lepa) 11550Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, 11551 src/testdir/test3.ok 11552 11553Patch 7.3.203 11554Problem: MS-Windows: Can't run an external command without a console window. 11555Solution: Support ":!start /b cmd". (Xaizek) 11556Files: runtime/doc/os_win32.txt, src/os_win32.c 11557 11558Patch 7.3.204 (after 7.3.201) 11559Problem: Compiler warning. 11560Solution: Add type cast. (Mike Williams) 11561Files: src/misc1.c 11562 11563Patch 7.3.205 11564Problem: Syntax "extend" doesn't work correctly. 11565Solution: Avoid calling check_state_ends() recursively (Ben Schmidt) 11566Files: src/syntax.c 11567 11568Patch 7.3.206 11569Problem: 64bit MS-Windows compiler warning. 11570Solution: Use HandleToLong() instead of type cast. (Mike Williams) 11571Files: src/gui_w32.c 11572 11573Patch 7.3.207 11574Problem: Can't compile with MSVC with pentium4 and 64 bit. 11575Solution: Only use SSE2 for 32 bit. (Mike Williams) 11576Files: src/Make_mvc.mak 11577 11578Patch 7.3.208 11579Problem: Early terminated if statement. 11580Solution: Remove the semicolon. (Lech Lorens) 11581Files: src/gui_mac.c 11582 11583Patch 7.3.209 11584Problem: MSVC Install instructions point to wrong batch file. 11585Solution: Add a batch file for use with MSVC 10. 11586Files: src/msvc2010.bat, src/INSTALLpc.txt, Filelist 11587 11588Patch 7.3.210 11589Problem: Can't always find the file when using cscope. 11590Solution: Add the 'cscoperelative' option. (Raghavendra D Prabhu) 11591Files: runtime/doc/if_cscop.txt, runtime/doc/options.txt, 11592 src/if_cscope.c 11593 11594Patch 7.3.211 (after 7.3.210) 11595Problem: Compiler warning. 11596Solution: Add type cast. 11597Files: src/if_cscope.c 11598 11599Patch 7.3.212 11600Problem: With Python 3.2 ":py3" fails. 11601Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland 11602 Puntaier) Check abiflags in configure. (Andreas Behr) 11603Files: src/if_python3.c, src/auto/configure, src/configure.in 11604 11605Patch 7.3.213 11606Problem: Javascript object literal is not indented correctly. 11607Solution: Make a special case for when "J1" is in 'cino'. (Luc Deschenaux) 11608Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11609 11610Patch 7.3.214 11611Problem: The text displayed by ":z-" isn't exactly like old Vi. 11612Solution: Add one to the start line number. (ChangZhuo Chen) 11613Files: src/ex_cmds.c 11614 11615Patch 7.3.215 (after 7.3.210) 11616Problem: Wrong file names in previous patch. (Toothpik) 11617Solution: Include the option changes. 11618Files: src/option.c, src/option.h 11619 11620Patch 7.3.216 11621Problem: When recovering a file a range of lines is missing. (Charles Jie) 11622Solution: Reset the index when advancing to the next pointer block. Add a 11623 test to verify recovery works. 11624Files: src/memline.c, src/testdir/test78.in, src/testdir/test78.ok, 11625 src/testdir/Makefile, src/testdir/Make_amiga.mak, 11626 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 11627 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 11628 11629Patch 7.3.217 11630Problem: Inside an "if" a ":wincmd" causes problems. 11631Solution: When skipping commands let ":wincmd" skip over its argument. 11632Files: src/ex_docmd.c 11633 11634Patch 7.3.218 (after 7.3.212) 11635Problem: Tiny configuration problem with Python 3. 11636Solution: Add abiflags in one more place. (Andreas Behr) 11637Files: src/auto/configure, src/configure.in 11638 11639Patch 7.3.219 11640Problem: Can't compile with GTK on Mac. 11641Solution: Add some #ifdef trickery. (Ben Schmidt) 11642Files: src/os_mac_conv.c, src/os_macosx.m, src/vim.h 11643 11644Patch 7.3.220 11645Problem: Python 3: vim.error is a 'str' instead of an 'Exception' object, 11646 so 'except' or 'raise' it causes a 'SystemError' exception. 11647 Buffer objects do not support slice assignment. 11648 When exchanging text between Vim and Python, multibyte texts become 11649 garbage or cause Unicode Exceptions, etc. 11650 'py3file' tries to read in the file as Unicode, sometimes causes 11651 UnicodeDecodeException 11652Solution: Fix the problems. (lilydjwg) 11653Files: src/if_py_both.h, src/if_python.c, src/if_python3.c 11654 11655Patch 7.3.221 11656Problem: Text from the clipboard is sometimes handled as linewise, but not 11657 consistently. 11658Solution: Assume the text is linewise when it ends in a CR or NL. 11659Files: src/gui_gtk_x11.c, src/gui_mac.c, src/ops.c, src/os_msdos.c, 11660 src/os_mswin.c, src/os_qnx.c, src/ui.c 11661 11662Patch 7.3.222 11663Problem: Warning for building GvimExt. 11664Solution: Comment-out the DESCRIPTION line. (Mike Williams) 11665Files: src/GvimExt/gvimext.def, src/GvimExt/gvimext_ming.def 11666 11667Patch 7.3.223 11668Problem: MingW cross compilation doesn't work with tiny features. 11669Solution: Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of 11670 "#ifdef CLIPBOARD". Fix typo in makefile. 11671Files: src/Make_ming.mak, src/os_mswin.c 11672 11673Patch 7.3.224 11674Problem: Can't pass dict to sort function. 11675Solution: Add the optional {dict} argument to sort(). (ZyX) 11676Files: runtime/doc/eval.txt, src/eval.c 11677 11678Patch 7.3.225 11679Problem: Using "\n" in a substitute inside ":s" does not result in a line 11680 break. 11681Solution: Change behavior inside vim_regexec_nl(). Add tests. (Motoya 11682 Kurotsu) 11683Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, 11684 src/testdir/test80.in, src/testdir/test80.ok, 11685 src/testdir/Makefile, src/testdir/Make_amiga.mak, 11686 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 11687 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 11688 11689Patch 7.3.226 11690Problem: On a 64 bit system "syn sync fromstart" is very slow. (Bjorn 11691 Steinbrink) 11692Solution: Store the state when starting to parse from the first line. 11693Files: src/syntax.c 11694 11695Patch 7.3.227 (after 7.3.221) 11696Problem: Mac OS doesn't have the linewise clipboard fix. 11697Solution: Also change the Mac OS file. (Bjorn Winckler) 11698Files: src/os_macosx.m 11699 11700Patch 7.3.228 11701Problem: "2gj" does not always move to the correct position. 11702Solution: Get length of line after moving to a next line. (James Vega) 11703Files: src/normal.c 11704 11705Patch 7.3.229 11706Problem: Using fork() makes gvim crash on Mac when build with 11707 CoreFoundation. 11708Solution: Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka) 11709Files: src/gui.c 11710 11711Patch 7.3.230 11712Problem: ":wundo" and ":rundo" don't unescape their argument. (Aaron 11713 Thoma) 11714Solution: Use FILE1 instead of XFILE. 11715Files: src/ex_cmds.h 11716 11717Patch 7.3.231 11718Problem: Runtime file patches failed. 11719Solution: Redo the patches made against the patched files instead of the 11720 files in the mercurial repository. 11721Files: runtime/doc/indent.txt, runtime/doc/os_win32.txt 11722 11723Patch 7.3.232 11724Problem: Python doesn't compile without +multi_byte 11725Solution: Use "latin1" when MULTI_BYTE is not defined. 11726Files: src/if_py_both.h 11727 11728Patch 7.3.233 11729Problem: ":scriptnames" and ":breaklist" show long file names. 11730Solution: Shorten to use "~/" when possible. (Jean-Rene David) 11731Files: src/ex_cmds2.c 11732 11733Patch 7.3.234 11734Problem: With GTK menu may be popping down. 11735Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu) 11736Files: src/gui.c, src/gui.h, src/gui_gtk.c, src/gui_gtk_x11.c 11737 11738Patch 7.3.235 11739Problem: ";" gets stuck on a "t" command, it's not useful. 11740Solution: Add the ';' flag in 'cpo'. (Christian Brabandt) 11741Files: runtime/doc/motion.txt, runtime/doc/options.txt, src/option.h, 11742 src/search.c src/testdir/test81.in, src/testdir/test81.ok, 11743 src/testdir/Makefile, src/testdir/Make_amiga.mak, 11744 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 11745 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 11746 11747Patch 7.3.236 (after 7.3.232) 11748Problem: Python 3 doesn't compile without +multi_byte 11749Solution: Use "latin1" when MULTI_BYTE is not defined. (lilydjwg) 11750Files: src/if_python3.c 11751 11752Patch 7.3.237 11753Problem: "filetype" completion doesn't work on Windows. (Yue Wu) 11754Solution: Don't use a glob pattern for the directories, use a list of 11755 directories. (Dominique Pelle) 11756Files: src/ex_getln.c 11757 11758Patch 7.3.238 11759Problem: Compiler warning for conversion. 11760Solution: Add type cast. (Mike Williams) 11761Files: src/ex_getln.c 11762 11763Patch 7.3.239 11764Problem: Python corrects the cursor column without taking 'virtualedit' 11765 into account. (lilydjwg) 11766Solution: Call check_cursor_col_win(). 11767Files: src/if_py_both.h, src/mbyte.c, src/misc2.c, src/normal.c, 11768 src/proto/mbyte.pro, src/proto/misc2.pro 11769 11770Patch 7.3.240 11771Problem: External commands can't use pipes on MS-Windows. 11772Solution: Implement pipes and use them when 'shelltemp' isn't set. (Vincent 11773 Berthoux) 11774Files: src/eval.c, src/ex_cmds.c, src/misc2.c, src/os_unix.c, 11775 src/os_win32.c, src/proto/misc2.pro, src/ui.c 11776 11777Patch 7.3.241 11778Problem: Using CTRL-R CTRL-W on the command line may insert only part of 11779 the word. 11780Solution: Use the cursor position instead of assuming it is at the end of 11781 the command. (Tyru) 11782Files: src/ex_getln.c 11783 11784Patch 7.3.242 11785Problem: Illegal memory access in after_pathsep(). 11786Solution: Check that the pointer is not at the start of the file name. 11787 (Dominique Pelle) 11788Files: src/misc2.c 11789 11790Patch 7.3.243 11791Problem: Illegal memory access in readline(). 11792Solution: Swap the conditions. (Dominique Pelle) 11793Files: src/eval.c 11794 11795Patch 7.3.244 11796Problem: MS-Windows: Build problem with old compiler. (John Beckett) 11797Solution: Only use HandleToLong() when available. (Mike Williams) 11798Files: src/gui_w32.c 11799 11800Patch 7.3.245 11801Problem: Python 3.2 libraries not correctly detected. 11802Solution: Add the suffix to the library name. (Niclas Zeising) 11803Files: src/auto/configure, src/configure.in 11804 11805Patch 7.3.246 (after 7.3.235) 11806Problem: Repeating "f4" in "4444" skips one 4. 11807Solution: Check the t_cmd flag. (Christian Brabandt) 11808Files: src/search.c 11809 11810Patch 7.3.247 11811Problem: Running tests changes the users viminfo file. Test for patch 11812 7.3.246 missing. 11813Solution: Add "nviminfo" to the 'viminfo' option. Include the test. 11814Files: src/testdir/test78.in, src/testdir/test81.in 11815 11816Patch 7.3.248 11817Problem: PC Install instructions missing install instructions. 11818Solution: Step-by-step explanation. (Michael Soyka) 11819Files: src/INSTALLpc.txt 11820 11821Patch 7.3.249 11822Problem: Wrong indenting for array initializer. 11823Solution: Detect '}' in a better way. (Lech Lorens) 11824Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 11825 11826Patch 7.3.250 11827Problem: Python: Errors in Unicode characters not handled nicely. 11828Solution: Add the surrogateescape error handler. (lilydjwg) 11829Files: src/if_python3.c 11830 11831Patch 7.3.251 11832Problem: "gH<Del>" deletes the current line, except when it's the last 11833 line. 11834Solution: Set the "include" flag to indicate the last line is to be deleted. 11835Files: src/normal.c, src/ops.c 11836 11837Patch 7.3.252 (after 7.3.247) 11838Problem: Tests fail. (David Northfield) 11839Solution: Add missing update for .ok file. 11840Files: src/testdir/test81.ok 11841 11842Patch 7.3.253 11843Problem: "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'. 11844 Checks in mb_strnicmp() for illegal and truncated bytes are 11845 wrong. Should not assume that byte length is equal before case 11846 folding. 11847Solution: Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for 11848 this. (Ivan Krasilnikov) 11849Files: src/mbyte.c src/testdir/test82.in, src/testdir/test82.ok, 11850 src/testdir/Makefile, src/testdir/Make_amiga.mak, 11851 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 11852 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 11853 11854Patch 7.3.254 11855Problem: The coladd field is not reset when setting the line number for a 11856 ":call" command. 11857Solution: Reset it. 11858Files: src/eval.c 11859 11860Patch 7.3.255 11861Problem: When editing a file such as "File[2010-08-15].vim" an E16 error is 11862 given. (Manuel Stol) 11863Solution: Don't give an error for failing to compile the regexp. 11864Files: src/ex_docmd.c, src/misc1.c, src/vim.h 11865 11866Patch 7.3.256 11867Problem: Javascript indenting not sufficiently tested. 11868Solution: Add more tests. (Luc Deschenaux) Mark the lines that are indented 11869 wrong. 11870Files: src/testdir/test3.in, src/testdir/test3.ok 11871 11872Patch 7.3.257 11873Problem: Not all completions are available to user commands. 11874Solution: Add "color", "compiler", "file_in_path" and "locale". (Dominique 11875 Pelle) 11876Files: src/ex_docmd.c, runtime/doc/map.txt 11877 11878Patch 7.3.258 11879Problem: MS-Windows: The edit with existing vim context menu entries can be 11880 unwanted. 11881Solution: Let a registry entry disable them. (Jerome Vuarand) 11882Files: src/GvimExt/gvimext.cpp 11883 11884Patch 7.3.259 11885Problem: Equivalence classes only work for latin characters. 11886Solution: Add the Unicode equivalence characters. (Dominique Pelle) 11887Files: runtime/doc/pattern.txt, src/regexp.c, src/testdir/test44.in, 11888 src/testdir/test44.ok 11889 11890Patch 7.3.260 11891Problem: CursorHold triggers on an incomplete mapping. (Will Gray) 11892Solution: Don't trigger CursorHold when there is typeahead. 11893Files: src/fileio.c 11894 11895Patch 7.3.261 11896Problem: G++ error message erroneously recognized as error. 11897Solution: Ignore "In file included from" line also when it ends in a colon. 11898 (Fernando Castillo) 11899Files: src/option.h 11900 11901Patch 7.3.262 11902Problem: Photon code style doesn't match Vim style. 11903Solution: Clean up some of it. (Elias Diem) 11904Files: src/gui_photon.c 11905 11906Patch 7.3.263 11907Problem: Perl and Tcl have a few code style problems. 11908Solution: Clean it up. (Elias Diem) 11909Files: src/if_perl.xs, src/if_tcl.c 11910 11911Patch 7.3.264 11912Problem: When the current directory name contains wildcard characters, such 11913 as "foo[with]bar", the tags file can't be found. (Jeremy 11914 Erickson) 11915Solution: When searching for matching files also match without expanding 11916 wildcards. This is a bit of a hack. 11917Files: src/vim.h, src/misc1.c, src/misc2.c 11918 11919Patch 7.3.265 11920Problem: When storing a pattern in search history there is no proper check 11921 for the separator character. 11922Solution: Pass the separator character to in_history(). (Taro Muraoka) 11923Files: src/ex_getln.c 11924 11925Patch 7.3.266 11926Problem: In gvim with iBus typing space in Insert mode doesn't work. 11927Solution: Clear xim_expected_char after checking it. 11928Files: src/mbyte.c 11929 11930Patch 7.3.267 11931Problem: Ruby on Mac OS X 10.7 may crash. 11932Solution: Avoid alloc(0). (Bjorn Winckler) 11933Files: src/if_ruby.c 11934 11935Patch 7.3.268 11936Problem: Vim freezes when executing an external command with zsh. 11937Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler) 11938Files: src/os_unix.c 11939 11940Patch 7.3.269 11941Problem: 'shellcmdflag' only works with one flag. 11942Solution: Split into multiple arguments. (Gary Johnson) 11943Files: src/os_unix.c 11944 11945Patch 7.3.270 11946Problem: Illegal memory access. 11947Solution: Swap conditions. (Dominique Pelle) 11948Files: src/ops.c 11949 11950Patch 7.3.271 11951Problem: Code not following Vim coding style. 11952Solution: Fix the style. (Elias Diem) 11953Files: src/gui_photon.c 11954 11955Patch 7.3.272 11956Problem: ":put =list" does not add an empty line for a trailing empty 11957 item. 11958Solution: Add a trailing NL when turning a list into a string. 11959Files: src/eval.c 11960 11961Patch 7.3.273 11962Problem: A BOM in an error file is seen as text. (Aleksey Baibarin) 11963Solution: Remove the BOM from the text before evaluating. (idea by Christian 11964 Brabandt) 11965Files: src/quickfix.c, src/mbyte.c, src/proto/mbyte.pro, 11966 src/testdir/test10.in 11967 11968Patch 7.3.274 11969Problem: With concealed characters tabs do not have the right size. 11970Solution: Use VCOL_HLC instead of vcol. (Eiichi Sato) 11971Files: src/screen.c 11972 11973Patch 7.3.275 11974Problem: MS-Windows: When using a black background some screen updates 11975 cause the window to flicker. 11976Solution: Add WS_CLIPCHILDREN to CreateWindow(). (René Aguirre) 11977Files: src/gui_w32.c 11978 11979Patch 7.3.276 11980Problem: GvimExt sets $LANG in the wrong way. 11981Solution: Save the environment and use it for gvim. (Yasuhiro Matsumoto) 11982Files: src/GvimExt/gvimext.cpp 11983 11984Patch 7.3.277 11985Problem: MS-Windows: some characters do not show in dialogs. 11986Solution: Use the wide methods when available. (Yanwei Jia) 11987Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c, 11988 src/os_win32.h 11989 11990Patch 7.3.278 11991Problem: Passing the file name to open in VisVim doesn't work. 11992Solution: Adjust the index and check for end of buffer. (Jiri Sedlak) 11993Files: src/VisVim/Commands.cpp 11994 11995Patch 7.3.279 11996Problem: With GTK, when gvim is full-screen and a tab is opened and using a 11997 specific monitor configuration the window is too big. 11998Solution: Adjust the window size like on MS-Windows. (Yukihiro Nakadaira) 11999Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro 12000 12001Patch 7.3.280 12002Problem: ":lmake" does not update the quickfix window title. 12003Solution: Update the title. (Lech Lorens) 12004Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok 12005 12006Patch 7.3.281 12007Problem: After using "expand('%:8')" the buffer name is changed. 12008Solution: Make a copy of the file name before shortening it. 12009Files: src/eval.c 12010 12011Patch 7.3.282 12012Problem: When using input() and :echo in a loop the displayed text is 12013 incorrect. (Benjamin Fritz) 12014Solution: Only restore the cursor position when there is a command line. 12015 (Ben Schmidt) 12016Files: src/ex_getln.c 12017 12018Patch 7.3.283 12019Problem: An expression mapping with a multibyte character containing a 12020 0x80 byte gets messed up. (ZyX) 12021Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira) 12022Files: src/getchar.c 12023 12024Patch 7.3.284 12025Problem: The str2special() function doesn't handle multibyte characters 12026 properly. 12027Solution: Recognize multibyte characters. (partly by Vladimir Vichniakov) 12028Files: src/getchar.c, src/message.c, src/misc2.c 12029 12030Patch 7.3.285 (after 7.3.284) 12031Problem: Mapping <Char-123> no longer works. 12032Solution: Properly check for "char-". Add a test for it. 12033Files: src/misc2.c, src/testdir/test75.in, src/testdir/test75.ok 12034 12035Patch 7.3.286 12036Problem: Crash when using "zd" on a large number of folds. (Sam King) 12037Solution: Recompute pointer after reallocating array. Move fewer entries 12038 when making room. 12039Files: src/fold.c 12040 12041Patch 7.3.287 12042Problem: Can't compile with MSVC and tiny options. 12043Solution: Move variables and #ifdefs. (Sergey Khorev) 12044Files: src/os_win32.c 12045 12046Patch 7.3.288 12047Problem: has('python') may give an error message for not being able to load 12048 the library after using python3. 12049Solution: Only give the error when the verbose argument is true. 12050Files: src/if_python.c, src/if_python3.c 12051 12052Patch 7.3.289 12053Problem: Complete function isn't called when the leader changed. 12054Solution: Call ins_compl_restart() when the leader changed. (Taro Muraoka) 12055Files: src/edit.c 12056 12057Patch 7.3.290 12058Problem: When a BufWriteCmd autocommand resets 'modified' this doesn't 12059 change older buffer states to be marked as 'modified' like 12060 ":write" does. (Yukihiro Nakadaira) 12061Solution: When the BufWriteCmd resets 'modified' then adjust the undo 12062 information like ":write" does. 12063Files: src/fileio.c 12064 12065Patch 7.3.291 12066Problem: Configure doesn't work properly with Python3. 12067Solution: Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland 12068 Puntaier) 12069Files: src/config.h.in, src/auto/configure, src/configure.in 12070 12071Patch 7.3.292 12072Problem: Crash when using fold markers and selecting a visual block that 12073 includes a folded line and goes to end of line. (Sam Lidder) 12074Solution: Check for the column to be MAXCOL. (James Vega) 12075Files: src/screen.c 12076 12077Patch 7.3.293 12078Problem: MSVC compiler has a problem with non-ASCII characters. 12079Solution: Avoid non-ASCII characters. (Hong Xu) 12080Files: src/ascii.h, src/spell.c 12081 12082Patch 7.3.294 (after 7.3.289) 12083Problem: Patch 289 causes more problems than it solves. 12084Solution: Revert the patch until a better solution is found. 12085Files: src/edit.c 12086 12087Patch 7.3.295 12088Problem: When filtering text with an external command Vim may not read all 12089 the output. 12090Solution: When select() is interrupted loop and try again. (James Vega) 12091Files: src/os_unix.c 12092 12093Patch 7.3.296 12094Problem: When writing to an external command a zombie process may be left 12095 behind. 12096Solution: Wait on the process. (James Vega) 12097Files: src/os_unix.c 12098 12099Patch 7.3.297 12100Problem: Can't load Perl 5.14 dynamically. 12101Solution: Add code in #ifdefs. (Charles Cooper) 12102Files: if_perl.xs 12103 12104Patch 7.3.298 12105Problem: Built-in colors are different from rgb.txt. 12106Solution: Adjust the color values. (Benjamin Haskell) 12107Files: src/gui_photon.c, src/gui_w48.c 12108 12109Patch 7.3.299 12110Problem: Source code not in Vim style. 12111Solution: Adjust the style. (Elias Diem) 12112Files: src/gui_photon.c 12113 12114Patch 7.3.300 12115Problem: Python doesn't parse multibyte argument correctly. 12116Solution: Use "t" instead of "s". (lilydjwg) 12117Files: src/if_py_both.h 12118 12119Patch 7.3.301 12120Problem: When 'smartindent' and 'copyindent' are set a Tab is used even 12121 though 'expandtab' is set. 12122Solution: Do not insert Tabs. Add a test. (Christian Brabandt) 12123Files: src/misc1.c, src/testdir/test19.in, src/testdir/test19.ok 12124 12125Patch 7.3.302 (after 7.3.301) 12126Problem: Test 19 fails without 'smartindent' and +eval. 12127Solution: Don't use ":exe". Source small.vim. 12128Files: src/testdir/test19.in 12129 12130Patch 7.3.303 (after 7.3.296) 12131Problem: Compilation error. 12132Solution: Correct return type from int to pid_t. (Danek Duvall) 12133Files: src/os_unix.c 12134 12135Patch 7.3.304 12136Problem: Strawberry Perl doesn't work on MS-Windows. 12137Solution: Use xsubpp if needed. (Yasuhiro Matsumoto) 12138Files: src/Make_ming.mak, src/Make_mvc.mak 12139 12140Patch 7.3.305 12141Problem: Auto-loading a function while editing the command line causes 12142 scrolling up the display. 12143Solution: Don't set msg_scroll when defining a function and the user is not 12144 typing. (Yasuhiro Matsumoto) 12145Files: src/eval.c 12146 12147Patch 7.3.306 12148Problem: When closing a window there is a chance that deleting a scrollbar 12149 triggers a GUI resize, which uses the window while it is not in a 12150 valid state. 12151Solution: Set the buffer pointer to NULL to be able to detect the invalid 12152 situation. Fix a few places that used the buffer pointer 12153 incorrectly. 12154Files: src/buffer.c, src/ex_cmds.c, src/term.c, src/window.c 12155 12156Patch 7.3.307 12157Problem: Python 3 doesn't support slice assignment. 12158Solution: Implement slices. (Brett Overesch, Roland Puntaier) 12159Files: src/if_python3.c 12160 12161Patch 7.3.308 12162Problem: Writing to 'verbosefile' has problems, e.g. for :highlight. 12163Solution: Do not use a separate verbose_write() function but write with the 12164 same code that does redirecting. (Yasuhiro Matsumoto) 12165Files: src/message.c 12166 12167Patch 7.3.309 (after 7.3.307) 12168Problem: Warnings for pointer types. 12169Solution: Change PySliceObject to PyObject. 12170Files: src/if_python3.c 12171 12172Patch 7.3.310 12173Problem: Code not following Vim style. 12174Solution: Fix the style. (Elias Diem) 12175Files: src/gui_photon.c 12176 12177Patch 7.3.311 (replaces 7.3.289) 12178Problem: Complete function isn't called when the leader changed. 12179Solution: Allow the complete function to return a dictionary with a flag 12180 that indicates ins_compl_restart() is to be called when the leader 12181 changes. (Taro Muraoka) 12182Files: runtime/insert.txt, src/edit.c, src/eval.c, src/proto/eval.pro 12183 12184Patch 7.3.312 (after 7.3.306) 12185Problem: Can't compile with tiny features. 12186Solution: Add #ifdef around win_valid(). 12187Files: src/buffer.c 12188 12189Patch 7.3.313 (after 7.3.307) 12190Problem: One more warning when compiling with dynamic Python 3. 12191Solution: Change PySliceObject to PyObject. 12192Files: src/if_python3.c 12193 12194Patch 7.3.314 (after 7.3.304) 12195Problem: Missing parenthesis. 12196Solution: Add it. (Benjamin R. Haskell) 12197Files: src/Make_mvc.mak 12198 12199Patch 7.3.315 12200Problem: Opening a window before forking causes problems for GTK. 12201Solution: Fork first, create the window in the child and report back to the 12202 parent process whether it worked. If successful the parent exits, 12203 if unsuccessful the child exits and the parent continues in the 12204 terminal. (Tim Starling) 12205Files: src/gui.c 12206 12207Patch 7.3.316 (after 7.3.306) 12208Problem: Crash when 'colorcolumn' is set and closing buffer. 12209Solution: Check for w_buffer to be NULL. (Yasuhiro Matsumoto) 12210Files: src/option.c 12211 12212Patch 7.3.317 12213Problem: Calling debug.debug() in Lua may cause Vim to hang. 12214Solution: Add a better debug method. (Rob Hoelz, Luis Carvalho) 12215Files: src/if_lua.c 12216 12217Patch 7.3.318 12218Problem: "C" on the last line deletes that line if it's blank. 12219Solution: Only delete the last line for a delete operation. (James Vega) 12220Files: src/ops.c 12221 12222Patch 7.3.319 (after 7.3.311) 12223Problem: Redobuff doesn't always include changes of the completion leader. 12224Solution: Insert backspaces as needed. (idea by Taro Muraoka) 12225Files: src/edit.c 12226 12227Patch 7.3.320 12228Problem: When a 0xa0 character is in a sourced file the error message for 12229 unrecognized command does not show the problem. 12230Solution: Display 0xa0 as <a0>. 12231Files: src/ex_docmd.c 12232 12233Patch 7.3.321 12234Problem: Code not following Vim style. 12235Solution: Fix the style. (Elias Diem) 12236Files: src/os_qnx.c 12237 12238Patch 7.3.322 12239Problem: #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef. 12240Solution: Check the MSC version and 64 bit flags. (Sergiu Dotenco) 12241Files: src/os_mswin.c 12242 12243Patch 7.3.323 12244Problem: The default 'errorformat' does not ignore some "included from" 12245 lines. 12246Solution: Add a few more patterns. (Ben Boeckel) 12247Files: src/option.h 12248 12249Patch 7.3.324 (after 7.3.237) 12250Problem: Completion for ":compiler" shows color scheme names. 12251Solution: Fix the directory name. (James Vega) 12252Files: src/ex_getln.c 12253 12254Patch 7.3.325 12255Problem: A duplicated function argument gives an internal error. 12256Solution: Give a proper error message. (based on patch by Tyru) 12257Files: src/eval.c 12258 12259Patch 7.3.326 12260Problem: MingW 4.6 no longer supports the -mno-cygwin option. 12261Solution: Split the Cygwin and MingW makefiles. (Matsushita Shougo) 12262Files: src/GvimExt/Make_cyg.mak, src/GvimExt/Make_ming.mak, 12263 src/Make_cyg.mak, src/Make_ming.mak, src/xxd/Make_ming.mak, 12264 Filelist 12265 12266Patch 7.3.327 12267Problem: When jumping to a help tag a closed fold doesn't open. 12268Solution: Save and restore KeyTyped. (Yasuhiro Matsumoto) 12269Files: src/ex_cmds.c 12270 12271Patch 7.3.328 12272Problem: When command line wraps the cursor may be displayed wrong when 12273 there are multibyte characters. 12274Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto) 12275Files: src/ex_getln.c 12276 12277Patch 7.3.329 12278Problem: When skipping over code from ":for" to ":endfor" get an error for 12279 calling a dict function. (Yasuhiro Matsumoto) 12280Solution: Ignore errors when skipping over :call command. 12281Files: src/ex_docmd.c, src/eval.c 12282 12283Patch 7.3.330 12284Problem: When longjmp() is invoked if the X server gives an error the state 12285 is not properly restored. 12286Solution: Reset vgetc_busy. (Yukihiro Nakadaira) 12287Files: src/main.c 12288 12289Patch 7.3.331 12290Problem: "vit" selects wrong text when a tag name starts with the same text 12291 as an outer tag name. (Ben Fritz) 12292Solution: Add "\>" to the pattern to check for word boundary. 12293Files: src/search.c 12294 12295Patch 7.3.332 (after 7.3.202) 12296Problem: Indent after "public:" is not increased in C++ code. (Lech Lorens) 12297Solution: Check for namespace after the regular checks. (partly by Martin 12298 Gieseking) 12299Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 12300 12301Patch 7.3.333 12302Problem: Using "." to repeat a Visual delete counts the size in bytes, not 12303 characters. (Connor Lane Smith) 12304Solution: Store the virtual column numbers instead of byte positions. 12305Files: src/normal.c 12306 12307Patch 7.3.334 12308Problem: Latest MingW about XSUBPP referencing itself. (Gongqian Li) 12309Solution: Rename the first use to XSUBPPTRY. 12310Files: src/Make_ming.mak 12311 12312Patch 7.3.335 12313Problem: When 'imdisable' is reset from an autocommand in Insert mode it 12314 doesn't take effect. 12315Solution: Call im_set_active() in Insert mode. (Taro Muraoka) 12316Files: src/option.c 12317 12318Patch 7.3.336 12319Problem: When a tags file specifies an encoding different from 'enc' it 12320 may hang and using a pattern doesn't work. 12321Solution: Convert the whole line. Continue reading the header after the 12322 SORT tag. Add test83. (Yukihiro Nakadaira) 12323Files: src/tag.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 12324 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 12325 src/testdir/Make_vms.mms, src/testdir/Makefile, 12326 src/testdir/test83-tags2, src/testdir/test83-tags3, 12327 src/testdir/test83.in, src/testdir/test83.ok 12328 12329Patch 7.3.337 (after 7.3.295) 12330Problem: Screen doesn't update after resizing the xterm until a character 12331 is typed. 12332Solution: When the select call is interrupted check do_resize. (Taylor 12333 Hedberg) 12334Files: src/os_unix.c 12335 12336Patch 7.3.338 12337Problem: Using getchar() in an expression mapping doesn't work well. 12338Solution: Don't save and restore the typeahead. (James Vega) 12339Files: src/getchar.c, src/testdir/test34.ok 12340 12341Patch 7.3.339 12342Problem: "make shadow" doesn't link all test files. 12343Solution: Add a line in Makefile and Filelist. 12344Files: src/Makefile, Filelist 12345 12346Patch 7.3.340 12347Problem: When 'verbosefile' is set ftplugof.vim can give an error. 12348Solution: Only remove filetypeplugin autocommands when they exist. (Yasuhiro 12349 Matsumoto) 12350Files: runtime/ftplugof.vim 12351 12352Patch 7.3.341 12353Problem: Local help files are only listed in help.txt, not in translated 12354 help files. 12355Solution: Also find translated help files. (Yasuhiro Matsumoto) 12356Files: src/ex_cmds.c 12357 12358Patch 7.3.342 12359Problem: Code not in Vim style. 12360Solution: Fix the style. (Elias Diem) 12361Files: src/os_amiga.c, src/os_mac_conv.c, src/os_win16.c 12362 12363Patch 7.3.343 12364Problem: No mouse support for urxvt. 12365Solution: Implement urxvt mouse support, also for > 252 columns. (Yiding 12366 Jia) 12367Files: src/feature.h, src/keymap.h, src/option.h, src/os_unix.c, 12368 src/term.c, src/version.c 12369 12370Patch 7.3.344 12371Problem: Problem with GUI startup related to XInitThreads. 12372Solution: Use read() and write() instead of fputs() and fread(). (James 12373 Vega) 12374Files: src/gui.c 12375 12376Patch 7.3.345 12377Problem: When switching language with ":lang" the window title doesn't 12378 change until later. 12379Solution: Update the window title right away. (Dominique Pelle) 12380Files: src/ex_cmds2.c 12381 12382Patch 7.3.346 12383Problem: It's hard to test netbeans commands. 12384Solution: Process netbeans commands after :sleep. (Xavier de Gaye) 12385Files: runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c 12386 12387Patch 7.3.347 12388Problem: When dropping text from a browser on Vim it receives HTML even 12389 though "html" is excluded from 'clipboard'. (Andrei Avk) 12390Solution: Fix the condition for TARGET_HTML. 12391Files: src/gui_gtk_x11.c 12392 12393Patch 7.3.348 12394Problem: "call range(1, 947948399)" causes a crash. (ZyX) 12395Solution: Avoid a loop in the out of memory message. 12396Files: src/misc2.c 12397 12398Patch 7.3.349 12399Problem: When running out of memory during startup trying to open a 12400 swapfile will loop forever. 12401Solution: Let findswapname() set dirp to NULL if out of memory. 12402Files: src/memline.c 12403 12404Patch 7.3.350 12405Problem: Block of code after ":lua << EOF" may not work. (Paul Isambert) 12406Solution: Recognize the ":lua" command, skip to EOF. 12407Files: src/eval.c 12408 12409Patch 7.3.351 12410Problem: Text formatting uses start of insert position when it should not. 12411 (Peter Wagenaar) 12412Solution: Do not use Insstart when intentionally formatting. 12413Files: src/edit.c 12414 12415Patch 7.3.352 12416Problem: When completing methods dict functions and script-local functions 12417 get in the way. 12418Solution: Sort function names starting with "<" to the end. (Yasuhiro 12419 Matsumoto) 12420Files: src/ex_getln.c 12421 12422Patch 7.3.353 (after 7.3.343) 12423Problem: Missing part of the urxvt patch. 12424Solution: Add the change in term.c 12425Files: src/term.c 12426 12427Patch 7.3.354 12428Problem: ":set backspace+=eol" doesn't work when 'backspace' has a 12429 backwards compatible value of 2. 12430Solution: Convert the number to a string. (Hirohito Higashi) 12431Files: src/option.c 12432 12433Patch 7.3.355 12434Problem: GTK warnings when using netrw.vim. (Ivan Krasilnikov) 12435Solution: Do not remove the beval event handler twice. 12436Files: src/option.c 12437 12438Patch 7.3.356 12439Problem: Using "o" with 'cindent' set may freeze Vim. (lolilolicon) 12440Solution: Skip over {} correctly. (Hari G) 12441Files: src/misc1.c 12442 12443Patch 7.3.357 12444Problem: Compiler warning in MS-Windows console build. 12445Solution: Adjust return type of PrintHookProc(). (Mike Williams) 12446Files: src/os_mswin.c 12447 12448Patch 7.3.358 (after 7.3.353) 12449Problem: Mouse support doesn't work properly. 12450Solution: Add HMT_URXVT. (lilydjwg, James McCoy) 12451Files: src/term.c 12452 12453Patch 7.3.359 12454Problem: Command line completion shows dict functions. 12455Solution: Skip dict functions for completion. (Yasuhiro Matsumoto) 12456Files: src/eval.c 12457 12458Patch 7.3.360 12459Problem: Interrupting the load of an autoload function may cause a crash. 12460Solution: Do not use the hashitem when not valid. (Yukihiro Nakadaira) 12461Files: src/eval.c 12462 12463Patch 7.3.361 12464Problem: Accessing memory after it is freed when EXITFREE is defined. 12465Solution: Don't access curwin when firstwin is NULL. (Dominique Pelle) 12466Files: src/buffer.c 12467 12468Patch 7.3.362 12469Problem: ml_get error when using ":g" with folded lines. 12470Solution: Adjust the line number for changed_lines(). (Christian Brabandt) 12471Files: src/ex_cmds.c 12472 12473Patch 7.3.363 12474Problem: C indenting is wrong after #endif followed by a semicolon. 12475Solution: Add special handling for a semicolon in a line by itself. (Lech 12476 Lorens) 12477Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 12478 12479Patch 7.3.364 (after 7.3.353) 12480Problem: Can't compile on HP-UX. (John Marriott) 12481Solution: Only use TTYM_URXVT when it is defined. 12482Files: src/term.c 12483 12484Patch 7.3.365 12485Problem: Crash when using a large Unicode character in a file that has 12486 syntax highlighting. (ngollan) 12487Solution: Check for going past the end of the utf tables. (Dominique Pelle) 12488Files: src/mbyte.c 12489 12490Patch 7.3.366 12491Problem: A tags file with an extremely long name causes errors. 12492Solution: Ignore tags that are too long. (Arno Renevier) 12493Files: src/tag.c 12494 12495Patch 7.3.367 12496Problem: :wundo and :rundo use a wrong checksum. 12497Solution: Include the last line when computing the hash. (Christian Brabandt) 12498Files: src/undo.c 12499 12500Patch 7.3.368 12501Problem: Gcc complains about redefining _FORTIFY_SOURCE. 12502Solution: Undefine it before redefining it. 12503Files: src/Makefile, src/configure.in, src/auto/configure 12504 12505Patch 7.3.369 12506Problem: When compiled with Gnome get an error message when using --help. 12507Solution: Don't fork. (Ivan Krasilnikov) 12508Files: src/main.c 12509 12510Patch 7.3.370 12511Problem: Compiler warns for unused variable in Lua interface. 12512Solution: Remove the variable. 12513Files: src/if_lua.c 12514 12515Patch 7.3.371 12516Problem: Crash in autocomplete. (Greg Weber) 12517Solution: Check not going over allocated buffer size. 12518Files: src/misc2.c 12519 12520Patch 7.3.372 12521Problem: When using a command line mapping to <Up> with file name 12522 completion to go one directory up, 'wildchar' is inserted. 12523 (Yasuhiro Matsumoto) 12524Solution: Set the KeyTyped flag. 12525Files: src/ex_getln.c 12526 12527Patch 7.3.373 (after 7.3.366) 12528Problem: A tags file with an extremely long name may cause an infinite loop. 12529Solution: When encountering a long name switch to linear search. 12530Files: src/tag.c 12531 12532Patch 7.3.374 12533Problem: ++encoding does not work properly. 12534Solution: Recognize ++encoding before ++enc. (Charles Cooper) 12535Files: src/ex_docmd.c 12536 12537Patch 7.3.375 12538Problem: Duplicate return statement. 12539Solution: Remove the superfluous one. (Dominique Pelle) 12540Files: src/gui_mac.c 12541 12542Patch 7.3.376 12543Problem: Win32: Toolbar repainting does not work when the mouse pointer 12544 hovers over a button. 12545Solution: Call DefWindowProc() when not handling an event. (Sergiu Dotenco) 12546Files: src/gui_w32.c 12547 12548Patch 7.3.377 12549Problem: No support for bitwise AND, OR, XOR and invert. 12550Solution: Add and(), or(), invert() and xor() functions. 12551Files: src/eval.c, src/testdir/test49.in, src/testdir/test65.in, 12552 src/testdir/test65.ok, runtime/doc/eval.txt 12553 12554Patch 7.3.378 12555Problem: When cross-compiling the check for uint32_t fails. 12556Solution: Only give a warning message. (Maksim Melnikau) 12557Files: src/configure.in, src/auto/configure 12558 12559Patch 7.3.379 12560Problem: C-indenting wrong for static enum. 12561Solution: Skip over "static". (Lech Lorens) 12562Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 12563 12564Patch 7.3.380 12565Problem: C-indenting wrong for a function header. 12566Solution: Skip to the start paren. (Lech Lorens) 12567Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 12568 12569Patch 7.3.381 12570Problem: Configure silently skips interfaces that won't work. 12571Solution: Add the --enable-fail_if_missing argument. (Shlomi Fish) 12572Files: src/Makefile, src/configure.in, src/auto/configure 12573 12574Patch 7.3.382 (after 7.3.376) 12575Problem: IME characters are inserted twice. 12576Solution: Do not call DefWindowProc() if the event was handled. (Yasuhiro 12577 Matsumoto) 12578Files: src/gui_w32.c 12579 12580Patch 7.3.383 12581Problem: For EBCDIC pound sign is defined as 't'. 12582Solution: Correctly define POUND. 12583Files: src/ascii.h 12584 12585Patch 7.3.384 12586Problem: Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary 12587 completion. 12588Solution: Add CTRL-K to the list of recognized keys. (James McCoy) 12589Files: src/edit.c 12590 12591Patch 7.3.385 12592Problem: When using an expression mapping on the command line the cursor 12593 ends up in the wrong place. (Yasuhiro Matsumoto) 12594Solution: Save and restore msg_col and msg_row when evaluating the 12595 expression. 12596Files: src/getchar. 12597 12598Patch 7.3.386 12599Problem: Test 83 fails when iconv does not support cp932. (raf) 12600Solution: Test if conversion works. (Yukihiro Nakadaira) 12601Files: src/testdir/test83.in 12602 12603Patch 7.3.387 (after 7.3.386) 12604Problem: Test 83 may fail for some encodings. 12605Solution: Set 'encoding' to utf-8 earlier. 12606Files: src/testdir/test83.in 12607 12608Patch 7.3.388 12609Problem: Crash on exit when EXITFREE is defined and using tiny features. 12610Solution: Check for NULL window pointer. (Dominique Pelle) 12611Files: src/buffer.c 12612 12613Patch 7.3.389 12614Problem: After typing at a prompt the "MORE" message appears too soon. 12615Solution: reset lines_left in msg_end_prompt(). (Eswald) 12616Files: src/message.c 12617 12618Patch 7.3.390 12619Problem: Using NULL buffer pointer in a window. 12620Solution: Check for w_buffer being NULL in more places. (Bjorn Winckler) 12621Files: src/ex_cmds.c, src/quickfix.c, src/window.c 12622 12623Patch 7.3.391 12624Problem: Can't check if the XPM_W32 feature is enabled. 12625Solution: Add xpm_w32 to the list of features. (kat) 12626Files: src/eval.c 12627 12628Patch 7.3.392 12629Problem: When setting 'undofile' while the file is already loaded but 12630 unchanged, try reading the undo file. (Andy Wokula) 12631Solution: Compute a checksum of the text when 'undofile' is set. (Christian 12632 Brabandt) 12633Files: src/option.c, src/testdir/test72.in, src/testdir/test72.ok 12634 12635Patch 7.3.393 12636Problem: Win32: When resizing Vim it is always moved to the primary monitor 12637 if the secondary monitor is on the left. 12638Solution: Use the nearest monitor. (Yukihiro Nakadaira) 12639Files: src/gui_w32.c 12640 12641Patch 7.3.394 12642Problem: When placing a mark while starting up a screen redraw messes up 12643 the screen. (lith) 12644Solution: Don't redraw while still starting up. (Christian Brabandt) 12645Files: src/screen.c 12646 12647Patch 7.3.395 (after 7.3.251) 12648Problem: "dv?bar" in the last line deletes too much and breaks undo. 12649Solution: Only adjust the cursor position when it's after the last line of 12650 the buffer. Add a test. (Christian Brabandt) 12651Files: src/ops.c, src/testdir/test43.in, src/testdir/test43.ok 12652 12653Patch 7.3.396 12654Problem: After forcing an operator to be characterwise it can still become 12655 linewise when spanning whole lines. 12656Solution: Don't make the operator linewise when motion_force was set. 12657 (Christian Brabandt) 12658Files: src/ops.c 12659 12660Patch 7.3.397 12661Problem: ":helpgrep" does not work properly when 'encoding' is not utf-8 or 12662 latin1. 12663Solution: Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto) 12664Files: src/quickfix.c, src/spell.c, src/misc2.c, src/proto/misc2.pro 12665 12666Patch 7.3.398 12667Problem: When creating more than 10 location lists and adding items one by 12668 one a previous location may be used. (Audrius Kažukauskas) 12669Solution: Clear the location list completely when adding the tenth one. 12670Files: src/quickfix.c 12671 12672Patch 7.3.399 12673Problem: ":cd" doesn't work when the path contains wildcards. (Yukihiro 12674 Nakadaira) 12675Solution: Ignore wildcard errors when the EW_NOTWILD flag is used. 12676Files: src/misc1.c 12677 12678Patch 7.3.400 12679Problem: Compiler warnings for shadowed variables. 12680Solution: Remove or rename the variables. 12681Files: src/charset.c, src/digraph.c, src/edit.c, src/eval.c, src/fold.c, 12682 src/getchar.c, src/message.c, src/misc2.c, src/move.c, 12683 src/netbeans.c, src/option.c, src/os_unix.c, src/screen.c, 12684 src/search.c, src/spell.c, src/syntax.c, src/tag.c, src/window.c 12685 12686Patch 7.3.401 12687Problem: A couple more shadowed variables. 12688Solution: Rename the variables. 12689Files: src/netbeans.c 12690 12691Patch 7.3.402 12692Problem: When jumping to the first error a line of the buffer is sometimes 12693 redrawn on top of the list of errors. 12694Solution: Do not call update_topline_redraw() if the display was scrolled 12695 up. 12696Files: src/quickfix.c 12697 12698Patch 7.3.403 12699Problem: ":helpgrep" does not trigger QuickFixCmd* autocommands. 12700Solution: Trigger the autocommands. (Christian Brabandt) 12701Files: src/quickfix.c 12702 12703Patch 7.3.404 12704Problem: When a complete function uses refresh "always" redo will not work 12705 properly. 12706Solution: Do not reset compl_leader when compl_opt_refresh_always is set. 12707 (Yasuhiro Matsumoto) 12708Files: src/edit.c 12709 12710Patch 7.3.405 12711Problem: When xterm gets back the function keys it may delete the urxvt 12712 mouse termcap code. 12713Solution: Check for the whole code, not just the start. (Egmont Koblinger) 12714Files: src/keymap.h, src/misc2.c, src/term.c 12715 12716Patch 7.3.406 12717Problem: Multi-byte characters in b:browsefilter are not handled correctly. 12718Solution: First use convert_filter() normally and then convert to wide 12719 characters. (Taro Muraoka) 12720Files: src/gui_w48.c 12721 12722Patch 7.3.407 12723Problem: ":12verbose call F()" may duplicate text while trying to truncate. 12724 (Thinca) 12725Solution: Only truncate when there is not enough room. Also check the byte 12726 length of the buffer. 12727Files: src/buffer.c, src/eval.c, src/ex_getln.c, src/message.c, 12728 src/proto/message.pro 12729 12730Patch 7.3.408 (after 7.3.406) 12731Problem: Missing declaration. 12732Solution: Add the declaration. (John Marriott) 12733Files: src/gui_w48.c 12734 12735Patch 7.3.409 12736Problem: The license in pty.c is unclear. 12737Solution: Add a comment about the license. 12738Files: src/pty.c 12739 12740Patch 7.3.410 12741Problem: Compiler error for // comment. (Joachim Schmitz) 12742Solution: Turn into /* comment */. 12743Files: src/message.c 12744 12745Patch 7.3.411 12746Problem: Pasting in Visual mode using the "" register does not work. (John 12747 Beckett) 12748Solution: Detect that the write is overwriting the pasted register. 12749 (Christian Brabandt) 12750Files: src/normal.c 12751 12752Patch 7.3.412 12753Problem: Storing a float in a session file has an additional '&'. 12754Solution: Remove the '&'. (Yasuhiro Matsumoto) 12755Files: src/eval.c 12756 12757Patch 7.3.413 12758Problem: Build warnings on MS-Windows. 12759Solution: Add type casts. (Mike Williams) 12760Files: src/ex_getln.c, src/message.c, src/term.c 12761 12762Patch 7.3.414 12763Problem: Using CTRL-A on "000" drops the leading zero, while on "001" it 12764 doesn't. 12765Solution: Detect "000" as an octal number. (James McCoy) 12766Files: src/charset.c 12767 12768Patch 7.3.415 (after 7.3.359) 12769Problem: Completion of functions stops once a dictionary is encountered. 12770 (James McCoy) 12771Solution: Return an empty string instead of NULL. 12772Files: src/eval.c 12773 12774Patch 7.3.416 (after 7.3.415) 12775Problem: Compiler warning for wrong pointer. 12776Solution: Add type cast. 12777Files: src/eval.c 12778 12779Patch 7.3.417 (after 7.3.395) 12780Problem: Test 43 fails with a tiny build. 12781Solution: Only run test 43 with at least a small build. 12782Files: src/testdir/test43.in 12783 12784Patch 7.3.418 12785Problem: When a user complete function returns -1 an error message is 12786 given. 12787Solution: When -2 is returned stop completion silently. (Yasuhiro Matsumoto) 12788Files: src/edit. 12789 12790Patch 7.3.419 12791Problem: DBCS encoding in a user command does not always work. 12792Solution: Skip over DBCS characters. (Yasuhiro Matsumoto) 12793Files: src/ex_docmd.c 12794 12795Patch 7.3.420 12796Problem: "it" and "at" don't work properly with a dash in the tag name. 12797Solution: Require a space to match the tag name. (Christian Brabandt) 12798Files: src/search.c 12799 12800Patch 7.3.421 12801Problem: Get E832 when setting 'undofile' in vimrc and there is a file to 12802 be edited on the command line. (Toothpik) 12803Solution: Do not try reading the undo file for a file that wasn't loaded. 12804Files: src/option.c 12805 12806Patch 7.3.422 12807Problem: Python 3 does not have __members__. 12808Solution: Add "name" and "number" in another way. (lilydjwg) 12809Files: src/if_py_both.h, src/if_python3.c 12810 12811Patch 7.3.423 12812Problem: Small mistakes in comments, proto and indent. 12813Solution: Fix the mistakes. 12814Files: src/ex_cmds2.c, src/structs.h, src/ui.c, src/proto/ex_docmd.pro 12815 12816Patch 7.3.424 12817Problem: Win16 version missing some functions. 12818Solution: Add #defines for the functions. 12819Files: src/gui_w16.c 12820 12821Patch 7.3.425 (after 7.3.265) 12822Problem: Search history lines are duplicated. (Edwin Steiner) 12823Solution: Convert separator character from space to NUL. 12824Files: src/ex_getln.c 12825 12826Patch 7.3.426 12827Problem: With '$' in 'cpoptions' the $ is not displayed in the first 12828 column. 12829Solution: Use -1 instead of 0 as a special value. (Hideki Eiraku and 12830 Hirohito Higashi) 12831Files: src/edit.c, src/globals.h, src/move.c, src/screen.c, src/search.c 12832 12833Patch 7.3.427 12834Problem: readfile() can be slow with long lines. 12835Solution: Use realloc() instead of alloc(). (John Little) 12836Files: src/eval.c 12837 12838Patch 7.3.428 12839Problem: Win32: an xpm file without a mask crashes Vim. 12840Solution: Fail when the mask is missing. (Dave Bodenstab) 12841Files: src/xpm_w32.c 12842 12843Patch 7.3.429 12844Problem: When 'cpoptions' includes "E" "c0" in the first column is an 12845 error. The redo register is then set to the erroneous command. 12846Solution: Do not set the redo register if the command fails because of an 12847 empty region. (Hideki Eiraku) 12848Files: src/getchar.c, src/normal.c, src/proto/getchar.pro 12849 12850Patch 7.3.430 12851Problem: When a custom filetype detection uses "augroup END" the conf 12852 fileytpe detection does not have the filetypedetect group. 12853Solution: Always end the group and include filetypedetect in the conf 12854 autocommand. (Lech Lorens) 12855Files: runtime/filetype.vim 12856 12857Patch 7.3.431 12858Problem: Fetching a key at a prompt may be confused by escape sequences. 12859 Especially when getting a prompt at a VimEnter autocommand. 12860 (Alex Efros) 12861Solution: Properly handle escape sequences deleted by check_termcode(). 12862Files: src/getchar.c, src/misc1.c, src/term.c, src/proto/term.pro 12863 12864Patch 7.3.432 12865Problem: ACLs are not supported for ZFS or NFSv4 on Solaris. 12866Solution: Add configure check and code. (Danek Duvall) 12867Files: src/configure.in, src/auto/configure, src/config.h.in, 12868 src/os_unix.c 12869 12870Patch 7.3.433 12871Problem: Using continued lines in a Vim script can be slow. 12872Solution: Instead of reallocating for every line use a growarray. (Yasuhiro 12873 Matsumoto) 12874Files: src/ex_cmds2.c 12875 12876Patch 7.3.434 12877Problem: Using join() can be slow. 12878Solution: Compute the size of the result before allocation to avoid a lot of 12879 allocations and copies. (Taro Muraoka) 12880Files: src/eval.c 12881 12882Patch 7.3.435 12883Problem: Compiler warning for unused variable. 12884Solution: Move the variable inside #ifdef. 12885Files: src/ex_cmds2.c 12886 12887Patch 7.3.436 12888Problem: Compiler warnings for types on Windows. 12889Solution: Add type casts. (Mike Williams) 12890Files: src/eval.c 12891 12892Patch 7.3.437 12893Problem: Continue looping inside FOR_ALL_TAB_WINDOWS even when already done. 12894Solution: Use goto instead of break. (Hirohito Higashi) 12895Files: src/fileio.c, src/globals.h 12896 12897Patch 7.3.438 12898Problem: There is no way to avoid ":doautoall" reading modelines. 12899Solution: Add the <nomodeline> argument. Adjust documentation. 12900Files: src/fileio.c, runtime/doc/autocmd.txt 12901 12902Patch 7.3.439 12903Problem: Compiler warnings to size casts in Perl interface. 12904Solution: Use XS macros. (James McCoy) 12905Files: src/if_perl.xs, src/typemap 12906 12907Patch 7.3.440 12908Problem: Vim does not support UTF8_STRING for the X selection. 12909Solution: Add UTF8_STRING atom support. (Alex Efros) Use it only when 12910 'encoding' is set to Unicode. 12911Files: src/ui.c 12912 12913Patch 7.3.441 12914Problem: Newer versions of MzScheme (Racket) require earlier (trampolined) 12915 initialisation. 12916Solution: Call mzscheme_main() early in main(). (Sergey Khorev) 12917Files: src/Make_mvc.mak, src/if_mzsch.c, src/main.c, 12918 src/proto/if_mzsch.pro 12919 12920Patch 7.3.442 (after 7.3.438) 12921Problem: Still read modelines for ":doautocmd". 12922Solution: Move check for <nomodeline> to separate function. 12923Files: src/fileio.c, src/ex_docmd.c, src/proto/fileio.pro, 12924 runtime/doc/autocmd.txt 12925 12926Patch 7.3.443 12927Problem: MS-Windows: 'shcf' and 'shellxquote' defaults are not very good. 12928Solution: Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz) 12929Files: src/option.c, runtime/doc/options.txt 12930 12931Patch 7.3.444 12932Problem: ":all!" and ":sall!" give error E477, even though the 12933 documentation says these are valid commands. 12934Solution: Support the exclamation mark. (Hirohito Higashi) 12935Files: src/ex_cmds.h, src/testdir/test31.in, src/testdir/test31.ok 12936 12937Patch 7.3.445 (after 7.3.443) 12938Problem: Can't properly escape commands for cmd.exe. 12939Solution: Default 'shellxquote' to '('. Append ')' to make '(command)'. 12940 No need to use "/s" for 'shellcmdflag'. 12941Files: src/misc2.c, src/option.c, src/os_win32.c 12942 12943Patch 7.3.446 (after 7.3.445) 12944Problem: Win32: External commands with special characters don't work. 12945Solution: Add the 'shellxescape' option. 12946Files: src/misc2.c, src/option.c, src/option.h, runtime/doc/options.txt 12947 12948Patch 7.3.447 (after 7.3.446) 12949Problem: Win32: External commands with "start" do not work. 12950Solution: Unescape part of the command. (Yasuhiro Matsumoto) 12951Files: src/os_win32.c 12952 12953Patch 7.3.448 (after 7.3.447) 12954Problem: Win32: Still a problem with "!start /b". 12955Solution: Escape only '|'. (Yasuhiro Matsumoto) 12956Files: src/os_win32.c 12957 12958Patch 7.3.449 12959Problem: Crash when a BufWinLeave autocommand closes the only other window. 12960 (Daniel Hunt) 12961Solution: Abort closing a buffer when it becomes the only one. 12962Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds.c, src/ex_getln.c, 12963 src/misc2.c, src/quickfix.c, src/window.c, src/proto/window.pro 12964 12965Patch 7.3.450 (after 7.3.448) 12966Problem: Win32: Still a problem with "!start /b". 12967Solution: Fix pointer use. (Yasuhiro Matsumoto) 12968Files: src/os_win32.c 12969 12970Patch 7.3.451 12971Problem: Tcl doesn't work on 64 MS-Windows. 12972Solution: Make it work. (Dave Bodenstab) 12973Files: src/Make_mvc.mak, src/if_tcl.c 12974 12975Patch 7.3.452 12976Problem: Undo broken when pasting close to the last line. (Andrey Radev) 12977Solution: Use a flag to remember if the deleted included the last line. 12978 (Christian Brabandt) 12979Files: src/ops.c 12980 12981Patch 7.3.453 12982Problem: Pasting in the command line is slow. 12983Solution: Don't redraw if there is another character to read. (Dominique 12984 Pelle) 12985Files: src/ex_getln.c 12986 12987Patch 7.3.454 12988Problem: Re-allocating memory slows Vim down. 12989Solution: Use realloc() in ga_grow(). (Dominique Pelle) 12990Files: src/misc2.c 12991 12992Patch 7.3.455 12993Problem: Using many continuation lines can be slow. 12994Solution: Adjust the reallocation size to the current length. 12995Files: src/ex_cmds2.c 12996 12997Patch 7.3.456 12998Problem: ":tab drop file" has several problems, including moving the 12999 current window and opening a new tab for a file that already has a 13000 window. 13001Solution: Refactor ":tab drop" handling. (Hirohito Higashi) 13002Files: src/buffer.c, src/testdir/test62.in, src/testdir/test62.ok 13003 13004Patch 7.3.457 13005Problem: When setting $VIMRUNTIME later the directory for fetching 13006 translated messages is not adjusted. 13007Solution: Put bindtextdomain() in vim_setenv(). 13008Files: src/misc1.c 13009 13010Patch 7.3.458 13011Problem: Crash when calling smsg() during startup. 13012Solution: Don't use 'shortmess' when it is not set yet. 13013Files: src/option.c 13014 13015Patch 7.3.459 13016Problem: Win32: Warnings for type conversion. 13017Solution: Add type casts. (Mike Williams) 13018Files: src/misc2.c, src/os_win32.c 13019 13020Patch 7.3.460 13021Problem: Win32: UPX does not compress 64 bit binaries. 13022Solution: Mention and add the alternative: mpress. (Dave Bodenstab) 13023Files: src/INSTALLpc.txt, src/Make_ming.mak 13024 13025Patch 7.3.461 13026Problem: The InsertCharPre autocommand event is not triggered during 13027 completion and when typing several characters quickly. 13028Solution: Also trigger InsertCharPre during completion. Do not read ahead 13029 when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto) 13030Files: src/edit.c, src/fileio.c, src/proto/fileio.pro 13031 13032Patch 7.3.462 13033Problem: When using ":loadview" folds may be closed unexpectedly. 13034Solution: Take into account foldlevel. (Xavier de Gaye) 13035Files: src/fold.c 13036 13037Patch 7.3.463 13038Problem: When using ":s///c" the cursor is moved away from the match. 13039 (Lawman) 13040Solution: Don't move the cursor when do_ask is set. (Christian Brabandt) 13041Files: src/ex_cmds.c 13042 13043Patch 7.3.464 13044Problem: Compiler warning for sprintf. 13045Solution: Put the length in a variable. (Dominique Pelle) 13046Files: src/version.c 13047 13048Patch 7.3.465 13049Problem: Cannot get file name with newline from glob(). 13050Solution: Add argument to glob() and expand() to indicate they must return a 13051 list. (Christian Brabandt) 13052Files: runtime/doc/eval.txt, src/eval.c, src/ex_getln.c, src/vim.h 13053 13054Patch 7.3.466 13055Problem: Get ml_get error hen ":behave mswin" was used and selecting 13056 several lines. (A. Sinan Unur) 13057Solution: Adjust the end of the operation. (Christian Brabandt) 13058Files: src/ops.c 13059 13060Patch 7.3.467 13061Problem: Cursor positioned wrong at the command line when regaining focus 13062 and using some input method. 13063Solution: Do not position the cursor in command line mode. 13064Files: src/mbyte.c 13065 13066Patch 7.3.468 13067Problem: For some compilers the error file is not easily readable. 13068Solution: Use QuickFixCmdPre for more commands. (Marcin Szamotulski) 13069Files: runtime/doc/autocmd.txt, src/quickfix.c 13070 13071Patch 7.3.469 13072Problem: Compiler warning for unused argument without some features. 13073Solution: Add UNUSED. 13074Files: src/buffer.c 13075 13076Patch 7.3.470 13077Problem: Test 62 fails when compiled without GUI and X11. 13078Solution: Don't test :drop when it is not supported. 13079Files: src/testdir/test62.in 13080 13081Patch 7.3.471 13082Problem: Can't abort listing placed signs. 13083Solution: Check "got_int". (Christian Brabandt) 13084Files: src/buffer.c, src/ex_cmds.c 13085 13086Patch 7.3.472 13087Problem: Crash when using ":redraw" in a BufEnter autocommand and 13088 switching to another tab. (驼峰) 13089Solution: Move triggering the autocommands to after correcting the 13090 option values. Also check the row value to be out of bounds. 13091 (Christian Brabandt, Sergey Khorev) 13092Files: src/screen.c, src/window.c 13093 13094Patch 7.3.473 13095Problem: 'cursorbind' does not work correctly in combination with 13096 'virtualedit' set to "all". 13097Solution: Copy coladd. (Gary Johnson) 13098Files: src/move.c 13099 13100Patch 7.3.474 13101Problem: Perl build with gcc 4 fails. 13102Solution: Remove XS() statements. (Yasuhiro Matsumoto) 13103Files: src/if_perl.xs 13104 13105Patch 7.3.475 13106Problem: In a terminal with few colors the omnicomplete menu may be hard to 13107 see when using the default colors. 13108Solution: Use more explicit colors. (suggested by Alex Henrie) 13109Files: src/syntax.c 13110 13111Patch 7.3.476 13112Problem: When selecting a block, using "$" to include the end of each line 13113 and using "A" and typing a backspace strange things happen. 13114 (Yuangchen Xie) 13115Solution: Avoid using a negative length. (Christian Brabandt) 13116Files: src/ops.c 13117 13118Patch 7.3.477 13119Problem: Using ":echo" to output enough lines to scroll, then using "j" and 13120 "k" at the more prompt, displays the command on top of the output. 13121 (Marcin Szamotulski) 13122Solution: Put the output below the command. (Christian Brabandt) 13123Files: src/eval.c 13124 13125Patch 7.3.478 13126Problem: Memory leak using the ':rv!' command when reading dictionary or 13127 list global variables i.e. with 'viminfo' containing !. 13128Solution: Free the typeval. (Dominique Pelle) 13129Files: src/eval.c 13130 13131Patch 7.3.479 13132Problem: When 'cursorline' is set the line number highlighting can't be set 13133 separately. 13134Solution: Add "CursorLineNr". (Howard Buchholz) 13135Files: src/option.c, src/screen.c, src/syntax.c, src/vim.h 13136 13137Patch 7.3.480 13138Problem: When using ":qa" and there is a changed buffer picking the buffer 13139 to jump to is not very good. 13140Solution: Consider current and other tab pages. (Hirohito Higashi) 13141Files: src/ex_cmds2.c 13142 13143Patch 7.3.481 13144Problem: Changing 'virtualedit' in an operator function to "all" does not 13145 have the desired effect. (Aaron Bohannon) 13146Solution: Save, reset and restore virtual_op when executing an operator 13147 function. 13148Files: src/normal.c 13149 13150Patch 7.3.482 13151Problem: With 'cursorbind' set moving up/down does not always keep the same 13152 column. 13153Solution: Set curswant appropriately. (Gary Johnson) 13154Files: src/move.c 13155 13156Patch 7.3.483 (after 7.3.477) 13157Problem: More prompt shows up too often. 13158Solution: Instead of adding a line break, only start a new line in the 13159 message history. (Christian Brabandt) 13160Files: src/eval.c, src/message.c, src/proto/message.pro 13161 13162Patch 7.3.484 13163Problem: The -E and --echo-wid command line arguments are not mentioned in 13164 "vim --help". 13165Solution: Add the help lines. (Dominique Pelle) 13166Files: src/main.c 13167 13168Patch 7.3.485 13169Problem: When building Vim LDFLAGS isn't passed on to building xxd. 13170Solution: Pass the LDFLAGS value. (James McCoy) 13171Files: src/Makefile 13172 13173Patch 7.3.486 13174Problem: Build error with mingw64 on Windows 7. 13175Solution: Avoid the step of going through vimres.res. (Guopeng Wen) 13176Files: src/Make_ming.mak 13177 13178Patch 7.3.487 13179Problem: When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical 13180 movement is reset unnecessarily. 13181Solution: Do not set w_set_curswant for every option. Add a test for this. 13182 (Kana Natsuno) Add the P_CURSWANT flag for options. 13183Files: src/option.c, src/testdir/test84.in, src/testdir/test84.ok, 13184 src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 13185 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 13186 src/testdir/Make_vms.mms, src/testdir/Makefile 13187 13188Patch 7.3.488 13189Problem: ":help!" in a help file does not work as documented. 13190Solution: When in a help file don't give an error message. (thinca) 13191Files: src/ex_cmds.c 13192 13193Patch 7.3.489 13194Problem: CTRL-] in Insert mode does not expand abbreviation when used in a 13195 mapping. (Yichao Zhou) 13196Solution: Special case using CTRL-]. (Christian Brabandt) 13197Files: src/getchar.c, src/edit.c 13198 13199Patch 7.3.490 13200Problem: Member confusion in Lua interface. 13201Solution: Fix it. Add luaeval(). (Taro Muraoka, Luis Carvalho) 13202Files: runtime/doc/if_lua.txt, src/eval.c, src/if_lua.c, 13203 src/proto/if_lua.pro 13204 13205Patch 7.3.491 13206Problem: No tests for Lua. 13207Solution: Add some simple tests for Lua. (Luis Carvalho) 13208Files: src/testdir/test1.in, src/testdir/test85.in, src/testdir/test85.ok 13209 src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 13210 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 13211 src/testdir/Make_vms.mms, src/testdir/Makefile 13212 13213Patch 7.3.492 13214Problem: Can't indent conditions separately from function arguments. 13215Solution: Add the 'k' flag in 'cino'. (Lech Lorens) 13216Files: runtime/doc/indent.txt, src/misc1.c, src/testdir/test3.in, 13217 src/testdir/test3.ok 13218 13219Patch 7.3.493 (after 7.3.492) 13220Problem: Two unused variables. 13221Solution: Remove them. (Hong Xu) 13222Files: src/misc1.c 13223 13224Patch 7.3.494 (after 7.3.491) 13225Problem: Can't compile with Lua 5.1 or dynamic Lua. 13226Solution: Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho) 13227Files: src/if_lua.c 13228 13229Patch 7.3.495 (after 7.3.492) 13230Problem: Compiler warnings. 13231Solution: Add function declaration. Remove "offset" argument. 13232Files: src/misc1.c 13233 13234Patch 7.3.496 13235Problem: MS-DOS: When "diff" trips over difference in line separators some 13236 tests fail. 13237Solution: Make some .ok files use unix line separators. (David Pope) 13238Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak 13239 13240Patch 7.3.497 13241Problem: Crash when doing ":python print" and compiled with gcc and 13242 the optimizer enabled. 13243Solution: Avoid the crash, doesn't really fix the problem. (Christian 13244 Brabandt) 13245Files: src/if_py_both.h 13246 13247Patch 7.3.498 13248Problem: The behavior of the "- register changes depending on value of 13249 the 'clipboard' option. (Szamotulski) 13250Solution: Also set the "- register when the register is "*" or "+". 13251 (Christian Brabandt) 13252Files: src/ops.c 13253 13254Patch 7.3.499 13255Problem: When using any interface language when Vim is waiting for a child 13256 process it gets confused by a child process started through the 13257 interface. 13258Solution: Always used waitpid() instead of wait(). (Yasuhiro Matsumoto) 13259Files: src/os_unix.c 13260 13261Patch 7.3.500 13262Problem: Ming makefile unconditionally sets WINVER. 13263Solution: Only defined when not already defined. (Yasuhiro Matsumoto) 13264Files: src/Make_ming.mak 13265 13266Patch 7.3.501 13267Problem: Error for "flush" not being defined when using Ruby command. 13268Solution: Defined "flush" as a no-op method. (Kent Sibilev) 13269Files: src/if_ruby.c 13270 13271Patch 7.3.502 13272Problem: Netbeans insert halfway a line actually appends to the line. 13273Solution: Insert halfway the line. (Brian Victor) 13274Files: src/netbeans.c 13275 13276Patch 7.3.503 (after 7.3.501) 13277Problem: Warning for unused argument. 13278Solution: Add UNUSED. 13279Files: src/if_ruby.c 13280 13281Patch 7.3.504 13282Problem: Commands in help files are not highlighted. 13283Solution: Allow for commands in backticks. Adjust CTRL-] to remove the 13284 backticks. 13285Files: src/ex_cmds.c 13286 13287Patch 7.3.505 13288Problem: Test 11 fails on MS-Windows in some versions. 13289Solution: Fix #ifdefs for whether filtering through a pipe is possible. Move 13290 setting b_no_eol_lnum back to where it was before patch 7.3.124. 13291 (David Pope) 13292Files: src/feature.h, src/eval.c, src/ex_cmds.c, src/fileio.c 13293 13294Patch 7.3.506 13295Problem: GTK gives an error when selecting a non-existent file. 13296Solution: Add a handler to avoid the error. (Christian Brabandt) 13297Files: src/gui_gtk.c 13298 13299Patch 7.3.507 13300Problem: When exiting with unsaved changes, selecting an existing file in 13301 the file dialog, there is no dialog to ask whether the existing 13302 file should be overwritten. (Felipe G. Nievinski) 13303Solution: Call check_overwrite() before writing. (Christian Brabandt) 13304Files: src/ex_cmds.c, src/ex_cmds2.c, src/proto/ex_cmds.pro 13305 13306Patch 7.3.508 13307Problem: Default for v:register is not set. 13308Solution: Init v:register in eval_init(). Correct for 'clipboard' before the 13309 main loop. (Ingo Karkat) 13310Files: src/eval.c, src/main.c 13311 13312Patch 7.3.509 13313Problem: ":vimgrep" fails when 'autochdir' is set. 13314Solution: A more generic solution for changing directory. (Ben Fritz) 13315Files: src/quickfix.c 13316 13317Patch 7.3.510 13318Problem: Test 77 fails on Solaris 7. (Michael Soyka) 13319Solution: Replace any tabs with spaces. 13320Files: src/testdir/test77.in 13321 13322Patch 7.3.511 13323Problem: Using a FileReadCmd autocommand that does ":e! {file}" may cause a 13324 crash. (Christian Brabandt) 13325Solution: Properly restore curwin->w_s. 13326Files: src/fileio.c 13327 13328Patch 7.3.512 13329Problem: undofile() returns a useless name when passed an empty string. 13330Solution: Return an empty string. (Christian Brabandt) 13331Files: src/eval.c 13332 13333Patch 7.3.513 13334Problem: Cannot use CTRL-E and CTRL-Y with "r". 13335Solution: Make CTRL-E and CTRL-Y work like in Insert mode. (Christian 13336 Brabandt) 13337Files: src/edit.c, src/normal.c, src/proto/edit.pro 13338 13339Patch 7.3.514 13340Problem: No completion for :history command. 13341Solution: Add the completion and update the docs. Also fix ":behave" 13342 completion. (Dominique Pelle) 13343Files: runtime/doc/cmdline.txt, runtime/doc/map.txt, src/ex_docmd.c, 13344 src/ex_getln.c, src/vim.h 13345 13346Patch 7.3.515 13347Problem: 'wildignorecase' only applies to the last part of the path. 13348Solution: Also ignore case for letters earlier in the path. 13349Files: src/misc1.c 13350 13351Patch 7.3.516 13352Problem: extend(o, o) may crash Vim. 13353Solution: Fix crash and add test. (Thinca and Hirohito Higashi) 13354Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok 13355 13356Patch 7.3.517 13357Problem: Crash when using "vipvv". (Alexandre Provencio) 13358Solution: Don't let the text length become negative. 13359Files: src/ops.c 13360 13361Patch 7.3.518 13362Problem: When 'encoding' is a double-byte encoding ":helptags" may not find 13363 tags correctly. 13364Solution: Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto) 13365Files: src/ex_cmds.c 13366 13367Patch 7.3.519 13368Problem: When completefunction returns it cannot indicate end of completion 13369 mode. 13370Solution: Recognize completefunction returning -3. (Matsushita Shougo) 13371Files: src/edit.c 13372 13373Patch 7.3.520 13374Problem: gvim starts up slow on Ubuntu 12.04. 13375Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro 13376 Matsumoto) Do check $DISPLAY being set. 13377Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro 13378 13379Patch 7.3.521 13380Problem: Using "z=" on a multibyte character may cause a crash. 13381Solution: Don't use strlen() on an int pointer. 13382Files: src/spell.c 13383 13384Patch 7.3.522 13385Problem: Crash in vim_realloc() when using MEM_PROFILE. 13386Solution: Avoid using a NULL argument. (Dominique Pelle) 13387Files: src/eval.c 13388 13389Patch 7.3.523 13390Problem: ":diffupdate" doesn't check for files changed elsewhere. 13391Solution: Add the ! flag. (Christian Brabandt) 13392Files: runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h 13393 13394Patch 7.3.524 (after 7.3.523) 13395Problem: Missing comma. 13396Solution: Add the comma. 13397Files: src/version.c 13398 13399Patch 7.3.525 13400Problem: Compiler warning on 64 bit MS-Windows. 13401Solution: Add type cast. (Mike Williams) 13402Files: src/ex_getln.c 13403 13404Patch 7.3.526 13405Problem: Confusing indenting for #ifdef. 13406Solution: Remove and add indent. (Elias Diem) 13407Files: src/normal.c 13408 13409Patch 7.3.527 13410Problem: Clang complains about non-ASCII characters in a string. 13411Solution: Change to \x88 form. (Dominique Pelle) 13412Files: src/charset.c 13413 13414Patch 7.3.528 13415Problem: Crash when closing last window in a tab. (Alex Efros) 13416Solution: Use common code in close_last_window_tabpage(). (Christian 13417 Brabandt) 13418Files: src/window.c 13419 13420Patch 7.3.529 13421Problem: Using a count before "v" and "V" does not work (Kikyous) 13422Solution: Make the count select that many characters or lines. (Christian 13423 Brabandt) 13424Files: src/normal.c 13425 13426Patch 7.3.530 (after 7.3.520) 13427Problem: gvim does not work when 'guioptions' includes "f". (Davido) 13428Solution: Call gui_mch_init_check() when running GUI in the foreground. 13429 (Yasuhiro Matsumoto) 13430Files: src/gui.c 13431 13432Patch 7.3.531 (after 7.3.530) 13433Problem: GUI does not work on MS-Windows. 13434Solution: Add the missing #ifdef. (Patrick Avery) 13435Files: src/gui.c 13436 13437Patch 7.3.532 13438Problem: Compiler warning from Clang. 13439Solution: Use a different way to point inside a string. (Dominique Pelle) 13440Files: src/syntax.c 13441 13442Patch 7.3.533 13443Problem: Memory leak when writing undo file. 13444Solution: Free the ACL. (Dominique Pelle) 13445Files: src/undo.c 13446 13447Patch 7.3.534 (after 7.3.461) 13448Problem: When using an InsertCharPre autocommand autoindent fails. 13449Solution: Proper handling of v:char. (Alexey Radkov) 13450Files: src/edit.c 13451 13452Patch 7.3.535 13453Problem: Many #ifdefs for MB_MAXBYTES. 13454Solution: Also define MB_MAXBYTES without the +multi_byte feature. Fix 13455 places where the buffer didn't include space for a NUL byte. 13456Files: src/arabic.c, src/edit.c, src/eval.c, src/getchar.c, src/mbyte.c, 13457 src/misc1.c, src/screen.c, src/spell.c, src/vim.h 13458 13459Patch 7.3.536 13460Problem: When spell checking the German sharp s is not seen as a word 13461 character. (Aexl Bender) 13462Solution: In utf_islower() return true for the sharp s. Note: also need 13463 updated spell file for this to take effect. 13464Files: src/mbyte.c 13465 13466Patch 7.3.537 13467Problem: Unnecessary call to init_spell_chartab(). 13468Solution: Delete the call. 13469Files: src/spell.c 13470 13471Patch 7.3.538 13472Problem: 'efm' does not handle Tabs in pointer lines. 13473Solution: Add Tab support. Improve tests. (Lech Lorens) 13474Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok 13475 13476Patch 7.3.539 13477Problem: Redrawing a character on the command line does not work properly 13478 for multibyte characters. 13479Solution: Count the number of bytes in a character. (Yukihiro Nakadaira) 13480Files: src/ex_getln.c 13481 13482Patch 7.3.540 13483Problem: Cursor is left on the text instead of the command line. 13484Solution: Don't call setcursor() in command line mode. 13485Files: src/getchar.c 13486 13487Patch 7.3.541 13488Problem: When joining lines comment leaders need to be removed manually. 13489Solution: Add the 'j' flag to 'formatoptions'. (Lech Lorens) 13490Files: runtime/doc/change.txt, src/edit.c, src/ex_docmd.c, src/misc1.c, 13491 src/normal.c, src/ops.c, src/option.h, src/proto/misc1.pro, 13492 src/proto/ops.pro, src/search.c, src/testdir/test29.in, 13493 src/testdir/test29.ok 13494 13495Patch 7.3.542 (after 7.3.506) 13496Problem: Function is sometimes unused. 13497Solution: Add #ifdef. 13498Files: src/gui_gtk.c 13499 13500Patch 7.3.543 13501Problem: The cursor is in the wrong line after using ":copen". (John 13502 Beckett) 13503Solution: Invoke more drastic redraw method. 13504Files: src/eval.c 13505 13506Patch 7.3.544 13507Problem: There is no good way to close a quickfix window when closing the 13508 last ordinary window. 13509Solution: Add the QuitPre autocommand. 13510Files: src/ex_docmd.c, src/fileio.c, src/vim.h 13511 13512Patch 7.3.545 13513Problem: When closing a window or buffer autocommands may close it too, 13514 causing problems for where the autocommand was invoked from. 13515Solution: Add the w_closing and b_closing flags. When set disallow ":q" and 13516 ":close" to prevent recursive closing. 13517Files: src/structs.h, src/buffer.c, src/ex_docmd.c, src/window.c 13518 13519Patch 7.3.546 13520Problem: Bogus line break. 13521Solution: Remove the line break. 13522Files: src/screen.c 13523 13524Patch 7.3.547 (after 7.3.541) 13525Problem: Compiler warning for uninitialized variable. 13526Solution: Initialize it. 13527Files: src/ops.c 13528 13529Patch 7.3.548 13530Problem: Compiler warning on 64 bit Windows. 13531Solution: Add type cast. (Mike Williams) 13532Files: src/ops.c 13533 13534Patch 7.3.549 13535Problem: In 'cinoptions' "0s" is interpreted as one shiftwidth. (David 13536 Pineau) 13537Solution: Use the zero as zero. (Lech Lorens) 13538Files: src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok 13539 13540Patch 7.3.550 (after 7.3.541) 13541Problem: With "j" in 'formatoptions' a list leader is not removed. (Gary 13542 Johnson) 13543Solution: Don't ignore the start of a three part comment. (Lech Lorens) 13544Files: src/ops.c, src/testdir/test29.in, src/testdir/test29.ok 13545 13546Patch 7.3.551 13547Problem: When using :tablose a TabEnter autocommand is triggered too early. 13548 (Karthick) 13549Solution: Don't trigger *Enter autocommands before closing the tab. 13550 (Christian Brabandt) 13551Files: src/buffer.c, src/eval.c, src/ex_cmds2.c, src/fileio.c, 13552 src/proto/window.pro, src/window.c 13553 13554Patch 7.3.552 13555Problem: Formatting inside comments does not use the "2" flag in 13556 'formatoptions'. 13557Solution: Support the "2" flag. (Tor Perkins) 13558Files: src/vim.h, src/ops.c, src/edit.c, src/misc1.c, 13559 src/testdir/test68.in, src/testdir/test68.ok 13560 13561Patch 7.3.553 13562Problem: With double-width characters and 'listchars' containing "precedes" 13563 the text is displayed one cell off. 13564Solution: Check for double-width character being overwritten by the 13565 "precedes" character. (Yasuhiro Matsumoto) 13566Files: src/screen.c 13567 13568Patch 7.3.554 (after 7.3.551) 13569Problem: Compiler warning for unused argument. 13570Solution: Add UNUSED. 13571Files: src/window.c 13572 13573Patch 7.3.555 13574Problem: Building on IBM z/OS fails. 13575Solution: Adjust configure. Use the QUOTESED value from config.mk instead of 13576 the hard coded one in Makefile. (Stephen Bovy) 13577Files: src/configure.in, src/auto/configure, src/Makefile 13578 13579Patch 7.3.556 13580Problem: Compiler warnings on 64 bit Windows. 13581Solution: Add type casts. (Mike Williams) 13582Files: src/misc1.c 13583 13584Patch 7.3.557 13585Problem: Crash when an autocommand wipes out a buffer when it is hidden. 13586Solution: Restore the current window when needed. (Christian Brabandt) 13587Files: src/buffer.c 13588 13589Patch 7.3.558 13590Problem: Memory access error. (Gary Johnson) 13591Solution: Allocate one more byte. (Dominique Pelle) 13592Files: src/misc1.c 13593 13594Patch 7.3.559 13595Problem: home_replace() does not work with 8.3 filename. 13596Solution: Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto) 13597Files: src/eval.c, src/misc1.c 13598 13599Patch 7.3.560 13600Problem: Get an error for a locked argument in extend(). 13601Solution: Initialize the lock flag for a dictionary. (Yukihiro Nakadaira) 13602Files: src/eval.c 13603 13604Patch 7.3.561 13605Problem: Using refresh: always in a complete function breaks the "." 13606 command. (Val Markovic) 13607Solution: Add match leader to the redo buffer. (Yasuhiro Matsumoto) 13608Files: src/edit.c 13609 13610Patch 7.3.562 13611Problem: ":profdel" should not work when the +profile feature is disabled. 13612Solution: Call ex_ni(). (Yasuhiro Matsumoto) 13613Files: src/ex_cmds2.c 13614 13615Patch 7.3.563 (after 7.3.557) 13616Problem: Can't build with tiny features. 13617Solution: Add #ifdef. 13618Files: src/buffer.c 13619 13620Patch 7.3.564 (after 7.3.559) 13621Problem: Warning for pointer conversion. 13622Solution: Add type cast. 13623Files: src/misc1.c 13624 13625Patch 7.3.565 13626Problem: Can't generate proto file for Python 3. 13627Solution: Add PYTHON3_CFLAGS to LINT_CFLAGS. 13628Files: src/Makefile 13629 13630Patch 7.3.566 (after 7.3.561) 13631Problem: Redo after completion does not work correctly when refresh: always 13632 is not used. (Raymond Ko) 13633Solution: Check the compl_opt_refresh_always flag. (Christian Brabandt) 13634Files: src/edit.c 13635 13636Patch 7.3.567 13637Problem: Missing copyright notice. 13638Solution: Add Vim copyright notice. (Taro Muraoka) 13639Files: src/dehqx.py 13640 13641Patch 7.3.568 13642Problem: Bad indents for #ifdefs. 13643Solution: Add and remove spaces. (Elias Diem) 13644Files: src/globals.h 13645 13646Patch 7.3.569 13647Problem: Evaluating Vim expression in Python is insufficient. 13648Solution: Add vim.bindeval(). Also add pyeval() and py3eval(). (ZyX) 13649Files: runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c, 13650 src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c, 13651 src/proto/eval.pro, src/proto/if_python.pro, 13652 src/proto/if_python3.pro, src/testdir/Make_amiga.mak, 13653 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 13654 src/testdir/Make_os2.mak, src/testdir/Makefile, 13655 src/testdir/test86.in, src/testdir/test86.ok, 13656 src/testdir/test87.in, src/testdir/test87.ok 13657 13658Patch 7.3.570 13659Problem: ":vimgrep" does not obey 'wildignore'. 13660Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat) 13661Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c 13662 13663Patch 7.3.571 13664Problem: Duplicated condition. 13665Solution: Remove one. (Dominique Pelle) 13666Files: src/os_win32.c 13667 13668Patch 7.3.572 13669Problem: Duplicate statement in if and else. (Dominique Pelle) 13670Solution: Remove the condition and add a TODO. 13671Files: src/gui_xmebw.c 13672 13673Patch 7.3.573 13674Problem: Using array index before bounds checking. 13675Solution: Swap the parts of the condition. (Dominique Pelle) 13676Files: src/ops.c 13677 13678Patch 7.3.574 13679Problem: When pasting a register in the search command line a CTRL-L 13680 character is not pasted. (Dominique Pelle) 13681Solution: Escape the CTRL-L. (Christian Brabandt) 13682Files: src/ex_getln.c 13683 13684Patch 7.3.575 13685Problem: "ygt" tries to yank instead of giving an error. (Daniel Mueller) 13686Solution: Check for a pending operator. 13687Files: src/normal.c 13688 13689Patch 7.3.576 13690Problem: Formatting of lists inside comments is not right yet. 13691Solution: Use another solution and add a test. (Tor Perkins) 13692Files: src/edit.c, src/misc1.c, src/testdir/test68.in, 13693 src/testdir/test69.ok 13694 13695Patch 7.3.577 13696Problem: Size of memory does not fit in 32 bit unsigned. 13697Solution: Use Kbyte instead of byte. Call GlobalMemoryStatusEx() instead of 13698 GlobalMemoryStatus() when available. 13699Files: src/misc2.c, src/option.c, src/os_amiga.c, src/os_msdos.c, 13700 src/os_win16.c, src/os_win32.c 13701 13702Patch 7.3.578 13703Problem: Misplaced declaration. 13704Solution: Move declaration to start of block. 13705Files: src/if_py_both.h 13706 13707Patch 7.3.579 (after 7.3.569) 13708Problem: Can't compile with Python 2.5. 13709Solution: Use PyCObject when Capsules are not available. 13710Files: src/if_py_both.h, src/if_python.c, src/if_python3.c 13711 13712Patch 7.3.580 13713Problem: Warning on 64 bit MS-Windows. 13714Solution: Add type cast. (Mike Williams) 13715Files: src/if_py_both.h 13716 13717Patch 7.3.581 13718Problem: Problems compiling with Python. 13719Solution: Pick UCS2 or UCS4 function at runtime. (lilydjwg) 13720Files: src/if_python.c 13721 13722Patch 7.3.582 (after 7.3.576) 13723Problem: Missing parts of the test OK file. 13724Solution: Add the missing parts. 13725Files: src/testdir/test68.ok 13726 13727Patch 7.3.583 13728Problem: PyObject_NextNotImplemented is not defined before Python 2.7. 13729 (Danek Duvall) 13730Solution: Add #ifdefs. 13731Files: src/if_python.c 13732 13733Patch 7.3.584 13734Problem: PyCObject is not always defined. 13735Solution: Use PyObject instead. 13736Files: src/if_py_both.h, src/if_python.c 13737 13738Patch 7.3.585 13739Problem: Calling changed_bytes() too often. 13740Solution: Move changed_bytes() out of a loop. (Tor Perkins) 13741Files: src/edit.c 13742 13743Patch 7.3.586 13744Problem: When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined. 13745Solution: Set the default for WINVER to 0x0500. 13746Files: src/Make_ming.mak, src/Make_cyg.mak 13747 13748Patch 7.3.587 13749Problem: Compiler warning for local var shadowing global var. 13750Solution: Rename the var and move it to an inner block. (Christian Brabandt) 13751Files: src/buffer.c 13752 13753Patch 7.3.588 13754Problem: Crash on NULL pointer. 13755Solution: Fix the immediate problem by checking for NULL. (Lech Lorens) 13756Files: src/window.c 13757 13758Patch 7.3.589 13759Problem: Crash when $HOME is not set. 13760Solution: Check for a NULL pointer. (Chris Webb) 13761Files: src/misc1.c 13762 13763Patch 7.3.590 13764Problem: The '< and '> marks cannot be set directly. 13765Solution: Allow setting '< and '>. (Christian Brabandt) 13766Files: src/mark.c 13767 13768Patch 7.3.591 13769Problem: Can only move to a tab by absolute number. 13770Solution: Move a number of tabs to the left or the right. (Lech Lorens) 13771Files: runtime/doc/tabpage.txt, src/ex_cmds.h, src/ex_docmd.c, 13772 src/testdir/test62.in, src/testdir/test62.ok, src/window.c 13773 13774Patch 7.3.592 13775Problem: Vim on GTK does not support g:browsefilter. 13776Solution: Add a GtkFileFilter to the file chooser. (Christian Brabandt) 13777Files: src/gui_gtk.c 13778 13779Patch 7.3.593 13780Problem: No easy way to decide if b:browsefilter will work. 13781Solution: Add the browsefilter feature. 13782Files: src/gui_gtk.c, src/eval.c, src/vim.h 13783 13784Patch 7.3.594 13785Problem: The X command server doesn't work perfectly. It sends an empty 13786 reply for as-keys requests. 13787Solution: Remove duplicate ga_init2(). Do not send a reply for as-keys 13788 requests. (Brian Burns) 13789Files: src/if_xcmdsrv.c 13790 13791Patch 7.3.595 13792Problem: The X command server responds slowly 13793Solution: Change the loop that waits for replies. (Brian Burns) 13794Files: src/if_xcmdsrv.c 13795 13796Patch 7.3.596 13797Problem: Can't remove all signs for a file or buffer. 13798Solution: Support "*" for the sign id. (Christian Brabandt) 13799Files: runtime/doc/sign.txt, src/buffer.c, src/ex_cmds.c, 13800 src/proto/buffer.pro 13801 13802Patch 7.3.597 13803Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey 13804 Vakulenko) 13805Solution: Make 'autoselect' work for the + register. (Christian Brabandt) 13806 Add the "autoselectplus" option in 'clipboard' and the "P" flag in 13807 'guioptions'. 13808Files: runtime/doc/options.txt, src/normal.c, src/ops.c, src/screen.c, 13809 src/ui.c, src/globals.h, src/proto/ui.pro, src/option.h, src/gui.c 13810 13811Patch 7.3.598 13812Problem: Cannot act upon end of completion. (Taro Muraoka) 13813Solution: Add an autocommand event that is triggered when completion has 13814 finished. (Idea by Florian Klein) 13815Files: src/edit.c, src/fileio.c, src/vim.h 13816 13817Patch 7.3.599 (after 7.3.597) 13818Problem: Missing change in one file. 13819Solution: Patch for changed clip_autoselect(). 13820Files: src/option.c 13821 13822Patch 7.3.600 13823Problem: <f-args> is not expanded properly with DBCS encoding. 13824Solution: Skip over character instead of byte. (Yukihiro Nakadaira) 13825Files: src/ex_docmd.c 13826 13827Patch 7.3.601 13828Problem: Bad code style. 13829Solution: Insert space, remove parens. 13830Files: src/farsi.c 13831 13832Patch 7.3.602 13833Problem: Missing files in distribution. 13834Solution: Update the list of files. 13835Files: Filelist 13836 13837Patch 7.3.603 13838Problem: It is possible to add replace builtin functions by calling 13839 extend() on g:. 13840Solution: Add a flag to a dict to indicate it is a scope. Check for 13841 existing functions. (ZyX) 13842Files: src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h, 13843 src/testdir/test34.in, src/testdir/test34.ok, src/window.c 13844 13845Patch 7.3.604 13846Problem: inputdialog() doesn't use the cancel argument in the console. 13847 (David Fishburn) 13848Solution: Use the third argument. (Christian Brabandt) 13849Files: src/eval.c 13850 13851Patch 7.3.605 (after 7.3.577) 13852Problem: MS-Windows: Can't compile with older compilers. (Titov Anatoly) 13853Solution: Add #ifdef for MEMORYSTATUSEX. 13854Files: src/os_win32.c 13855 13856Patch 7.3.606 13857Problem: CTRL-P completion has a problem with multibyte characters. 13858Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto) 13859Files: src/search.c, src/macros.h 13860 13861Patch 7.3.607 13862Problem: With an 8 color terminal the selected menu item is black on black, 13863 because darkGrey as bg is the same as black. 13864Solution: Swap fg and bg colors. (James McCoy) 13865Files: src/syntax.c 13866 13867Patch 7.3.608 13868Problem: winrestview() does not always restore the view correctly. 13869Solution: Call win_new_height() and win_new_width(). (Lech Lorens) 13870Files: src/eval.c, src/proto/window.pro, src/window.c 13871 13872Patch 7.3.609 13873Problem: File names in :checkpath! output are garbled. 13874Solution: Check for \zs in the pattern. (Lech Lorens) 13875Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok 13876 13877Patch 7.3.610 13878Problem: Cannot operate on the text that a search pattern matches. 13879Solution: Add the "gn" and "gN" commands. (Christian Brabandt) 13880Files: runtime/doc/index.txt, runtime/doc/visual.txt, src/normal.c, 13881 src/proto/search.pro, src/search.c, src/testdir/test53.in, 13882 src/testdir/test53.ok 13883 13884Patch 7.3.611 13885Problem: Can't use Vim dictionary as self argument in Python. 13886Solution: Fix the check for the "self" argument. (ZyX) 13887Files: src/if_py_both.h 13888 13889Patch 7.3.612 13890Problem: Auto formatting messes up text when 'fo' contains "2". (ZyX) 13891Solution: Decrement "less_cols". (Tor Perkins) 13892Files: src/misc1.c, src/testdir/test68.in, src/testdir/test68.ok 13893 13894Patch 7.3.613 13895Problem: Including Python's config.c in the build causes trouble. It is 13896 not clear why it was there. 13897Solution: Omit the config file. (James McCoy) 13898Files: src/Makefile, src/auto/configure, src/configure.in 13899 13900Patch 7.3.614 13901Problem: Number argument gets turned into a number while it should be a 13902 string. 13903Solution: Add flag to the call_vim_function() call. (Yasuhiro Matsumoto) 13904Files: src/edit.c, src/eval.c, src/proto/eval.pro 13905 13906Patch 7.3.615 13907Problem: Completion for a user command does not recognize backslash before 13908 a space. 13909Solution: Recognize escaped characters. (Yasuhiro Matsumoto) 13910Files: src/ex_docmd.c 13911 13912Patch 7.3.616 (after 7.3.610) 13913Problem: Can't compile without +visual. 13914Solution: Add #ifdef. 13915Files: src/normal.c 13916 13917Patch 7.3.617 (after 7.3.615) 13918Problem: Hang on completion. 13919Solution: Skip over the space. (Yasuhiro Matsumoto) 13920Files: src/ex_docmd.c 13921 13922Patch 7.3.618 (after 7.3.616) 13923Problem: Still doesn't compile with small features. 13924Solution: Move current_search() out of #ifdef. (Dominique Pelle) 13925Files: src/normal.c, src/search.c 13926 13927Patch 7.3.619 13928Problem: When executing a shell command Vim may become slow to respond. 13929Solution: Don't wait after every processed message. (idea by Yasuhiro 13930 Matsumoto) 13931Files: src/os_win32.c 13932 13933Patch 7.3.620 13934Problem: Building with recent Ruby on Win32 doesn't work. 13935Solution: Add a separate argument for the API version. (Yasuhiro Matsumoto) 13936Files: src/Make_ming.mak, src/Make_mvc.mak 13937 13938Patch 7.3.621 13939Problem: Compiler warnings on 64 bit windows. 13940Solution: Add type casts. (Mike Williams) 13941Files: src/ex_docmd.c, src/search.c 13942 13943Patch 7.3.622 13944Problem: XPM library for Win32 can't be found. 13945Solution: Suggest using the one from the Vim ftp site. 13946Files: src/Make_mvc.mak 13947 13948Patch 7.3.623 13949Problem: Perl 5.14 commands crash Vim on MS-Windows. 13950Solution: Use perl_get_sv() instead of GvSV(). (Raymond Ko) 13951Files: src/if_perl.xs 13952 13953Patch 7.3.624 13954Problem: When cancelling input() it returns the third argument. That should 13955 only happen for inputdialog(). 13956Solution: Check if inputdialog() was used. (Hirohito Higashi) 13957Files: src/eval.c 13958 13959Patch 7.3.625 13960Problem: "gn" does not handle zero-width matches correctly. 13961Solution: Handle zero-width patterns specially. (Christian Brabandt) 13962Files: src/search.c 13963 13964Patch 7.3.626 13965Problem: Python interface doesn't build with Python 2.4 or older. 13966Solution: Define Py_ssize_t. (Benjamin Bannier) 13967Files: src/if_py_both.h 13968 13969Patch 7.3.627 13970Problem: When using the "n" flag with the ":s" command a \= substitution 13971 will not be evaluated. 13972Solution: Do perform the evaluation, so that a function can be invoked at 13973 every matching position without changing the text. (Christian 13974 Brabandt) 13975Files: src/ex_cmds.c 13976 13977Patch 7.3.628 13978Problem: ":open" does not allow for a !, which results in a confusing error 13979 message. (Shawn Wilson) 13980Solution: Allow ! on ":open". (Christian Brabandt) 13981Files: src/ex_cmds.h 13982 13983Patch 7.3.629 13984Problem: There is no way to make 'shiftwidth' follow 'tabstop'. 13985Solution: When 'shiftwidth' is zero use the value of 'tabstop'. (Christian 13986 Brabandt) 13987Files: src/edit.c, src/ex_getln.c, src/fold.c, src/misc1.c, src/ops.c, 13988 src/option.c, src/proto/option.pro 13989 13990Patch 7.3.630 13991Problem: "|" does not behave correctly when 'virtualedit' is set. 13992Solution: Call validate_virtcol(). (David Bürgin) 13993Files: src/normal.c 13994 13995Patch 7.3.631 13996Problem: Cannot complete user names. 13997Solution: Add user name completion. (Dominique Pelle) 13998Files: runtime/doc/map.txt, src/auto/configure, src/config.h.in, 13999 src/configure.in, src/ex_docmd.c, src/ex_getln.c, src/misc1.c, 14000 src/misc2.c, src/proto/misc1.pro, src/vim.h 14001 14002Patch 7.3.632 14003Problem: Cannot select beyond 222 columns with the mouse in xterm. 14004Solution: Add support for SGR mouse tracking. (Hayaki Saito) 14005Files: runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c, 14006 src/option.h, src/os_unix.c, src/term.c, src/version.c 14007 14008Patch 7.3.633 14009Problem: Selection remains displayed as selected after selecting another 14010 text. 14011Solution: Call xterm_update() before select(). (Andrew Pimlott) 14012Files: src/os_unix.c 14013 14014Patch 7.3.634 14015Problem: Month/Day format for undo is confusing. (Marcin Szamotulski) 14016Solution: Always use Year/Month/Day, should work for everybody. 14017Files: src/undo.c 14018 14019Patch 7.3.635 14020Problem: Issue 21: System call during startup sets 'lines' to a wrong 14021 value. (Karl Yngve) 14022Solution: Don't set the shell size while the GUI is still starting up. 14023 (Christian Brabandt) 14024Files: src/ui.c 14025 14026Patch 7.3.636 (after 7.3.625) 14027Problem: Not all zero-width matches handled correctly for "gn". 14028Solution: Move zero-width detection to a separate function. (Christian 14029 Brabandt) 14030Files: src/search.c 14031 14032Patch 7.3.637 14033Problem: Cannot catch the error caused by a foldopen when there is no fold. 14034 (ZyX, Issue 48) 14035Solution: Do not break out of the loop early when inside try/catch. 14036 (Christian Brabandt) Except when there is a syntax error. 14037Files: src/ex_docmd.c, src/globals.h 14038 14039Patch 7.3.638 14040Problem: Unnecessary redraw of the previous character. 14041Solution: Check if the character is double-width. (Jon Long) 14042Files: src/screen.c 14043 14044Patch 7.3.639 14045Problem: It's not easy to build Vim on Windows with XPM support. 14046Solution: Include the required files, they are quite small. Update the 14047 MSVC makefile to use them. Binary files are in the next patch. 14048 (Sergey Khorev) 14049Files: src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h, 14050 src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat, 14051 src/bigvim64.bat, Filelist 14052 14053Patch 7.3.640 14054Problem: It's not easy to build Vim on Windows with XPM support. 14055Solution: Binary files for 7.3.639. (Sergey Khorev) 14056Files: src/xpm/x64/lib/libXpm.lib, src/xpm/x86/lib/libXpm.a, 14057 src/xpm/x86/lib/libXpm.lib 14058 14059Patch 7.3.641 14060Problem: ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan) 14061Solution: Add the bang. (Christian Brabandt) 14062Files: src/fold.c 14063 14064Patch 7.3.642 14065Problem: Segfault with specific autocommands. Was OK after 7.3.449 and 14066 before 7.3.545. (Richard Brown) 14067Solution: Pass TRUE for abort_if_last in the call to close_buffer(). 14068 (Christian Brabandt) 14069Files: src/window.c 14070 14071Patch 7.3.643 (after 7.3.635) 14072Problem: MS-Windows: When starting gvim maximized 'lines' and 'columns' are 14073 wrong. (Christian Robinson) 14074Solution: Move the check for gui.starting from ui_get_shellsize() to 14075 check_shellsize(). 14076Files: src/ui.c, src/term.c 14077 14078Patch 7.3.644 14079Problem: Dead code for BeOS GUI. 14080Solution: Remove unused __BEOS__ stuff. 14081Files: src/gui.c 14082 14083Patch 7.3.645 14084Problem: No tests for patch 7.3.625 and 7.3.637. 14085Solution: Add more tests for the "gn" command and try/catch. (Christian 14086 Brabandt) 14087Files: src/testdir/test53.in, src/testdir/test53.ok, 14088 src/testdir/test55.in, src/testdir/test55.ok 14089 14090Patch 7.3.646 14091Problem: When reloading a buffer the undo file becomes unusable unless ":w" 14092 is executed. (Dmitri Frank) 14093Solution: After reloading the buffer write the undo file. (Christian 14094 Brabandt) 14095Files: src/fileio.c 14096 14097Patch 7.3.647 14098Problem: "gnd" doesn't work correctly in Visual mode. 14099Solution: Handle Visual mode differently in "gn". (Christian Brabandt) 14100Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok 14101 14102Patch 7.3.648 14103Problem: Crash when using a very long file name. (ZyX) 14104Solution: Properly check length of buffer space. 14105Files: src/buffer.c 14106 14107Patch 7.3.649 14108Problem: When 'clipboard' is set to "unnamed" small deletes end up in the 14109 numbered registers. (Ingo Karkat) 14110Solution: Use the original register name to decide whether to put a delete 14111 in a numbered register. (Christian Brabandt) 14112Files: src/ops.c 14113 14114Patch 7.3.650 14115Problem: Completion after ":help \{-" gives an error message and messes up 14116 the command line. 14117Solution: Cancel the tag search if the pattern can't be compiled. (Yasuhiro 14118 Matsumoto) 14119Files: src/tag.c 14120 14121Patch 7.3.651 14122Problem: Completion after ":help \{-" gives an error message. 14123Solution: Prepend a backslash. 14124Files: src/ex_cmds.c 14125 14126Patch 7.3.652 14127Problem: Workaround for Python crash isn't perfect. 14128Solution: Change the type of the length argument. (Sean Estabrooks) 14129Files: src/if_py_both.h 14130 14131Patch 7.3.653 14132Problem: MingW needs build rule for included XPM files. Object directory 14133 for 32 and 64 builds is the same, also for MSVC. 14134Solution: Add MingW build rule to use included XPM files. Add the CPU or 14135 architecture to the object directory name. (Sergey Khorev) 14136Files: src/Make_ming.mak, src/Make_mvc.mak, src/xpm/README.txt 14137 14138Patch 7.3.654 14139Problem: When creating a Vim dictionary from Python objects an empty key 14140 might be used. 14141Solution: Do not use empty keys, throw an IndexError. (ZyX) 14142Files: src/if_py_both.h 14143 14144Patch 7.3.655 14145Problem: 64 bit MingW xpm .a file is missing. 14146Solution: Add the file. (Sergey Khorev) 14147Files: src/xpm/x64/lib/libXpm.a 14148 14149Patch 7.3.656 14150Problem: Internal error in :pyeval. 14151Solution: Handle failed object conversion. (ZyX) 14152Files: src/if_python.c, src/if_python3.c 14153 14154Patch 7.3.657 14155Problem: Python bindings silently truncate string values containing NUL. 14156Solution: Fail when a string contains NUL. (ZyX) 14157Files: src/if_python.c, src/if_python3.c 14158 14159Patch 7.3.658 14160Problem: NUL bytes truncate strings when converted from Python. 14161Solution: Handle truncation as an error. (ZyX) 14162Files: src/if_py_both.h, src/if_python3.c 14163 14164Patch 7.3.659 14165Problem: Recent Python changes are not tested. 14166Solution: Add tests for Python bindings. (ZyX) 14167Files: src/testdir/test86.in, src/testdir/test86.ok, 14168 src/testdir/test87.in, src/testdir/test87.ok 14169 14170Patch 7.3.660 14171Problem: ":help !" jumps to help for ":!". 14172Solution: Adjust check for tag header line. (Andy Wokula) 14173Files: src/tag.c 14174 14175Patch 7.3.661 (after 7.3.652) 14176Problem: SEGV in Python code. 14177Solution: Initialize len to zero. Use the right function depending on 14178 version. (Maxim Philippov) 14179Files: src/if_py_both.h, src/if_python.c, src/if_python3.c 14180 14181Patch 7.3.662 14182Problem: Can't build Ruby interface with Ruby 1.9.3. 14183Solution: Add missing functions. (V. Ondruch) 14184Files: src/if_ruby.c 14185 14186Patch 7.3.663 14187Problem: End of color scheme name not clear in E185. (Aaron Lewis) 14188Solution: Put the name in single quotes. 14189Files: src/ex_docmd.c 14190 14191Patch 7.3.664 14192Problem: Buffer overflow in unescaping text. (Raymond Ko) 14193Solution: Limit check for multibyte character to 4 bytes. 14194Files: src/mbyte.c 14195 14196Patch 7.3.665 14197Problem: MSVC 11 is not supported. (Raymond Ko) 14198Solution: Recognize MSVC 11. (Gary Willoughby) 14199Files: src/Make_mvc.mak 14200 14201Patch 7.3.666 14202Problem: With MSVC 11 Win32.mak is not found. 14203Solution: Add the SDK_INCLUDE_DIR variable. (Raymond Ko) 14204Files: src/Make_mvc.mak 14205 14206Patch 7.3.667 14207Problem: Unused variables in Perl interface. 14208Solution: Adjust #ifdefs. 14209Files: src/if_perl.xs 14210 14211Patch 7.3.668 14212Problem: Building with Perl loaded dynamically still uses static library. 14213Solution: Adjust use of PL_thr_key. (Ken Takata) 14214Files: src/if_perl.xs 14215 14216Patch 7.3.669 14217Problem: When building with Cygwin loading Python dynamically fails. 14218Solution: Use DLLLIBRARY instead of INSTSONAME. (Ken Takata) 14219Files: src/configure.in, src/auto/configure 14220 14221Patch 7.3.670 14222Problem: Python: memory leaks when there are exceptions. 14223Solution: Add DICTKEY_UNREF in the right places. (ZyX) 14224Files: src/if_py_both.h 14225 14226Patch 7.3.671 14227Problem: More Python code can be shared between Python 2 and 3. 14228Solution: Move code to if_py_both.h. (ZyX) 14229Files: src/if_py_both.h, src/if_python.c, src/if_python3.c 14230 14231Patch 7.3.672 14232Problem: Not possible to lock/unlock lists in Python interface. 14233Solution: Add .locked and .scope attributes. (ZyX) 14234Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, 14235 src/if_python3.c, src/testdir/test86.in, src/testdir/test86.ok, 14236 src/testdir/test87.in, src/testdir/test87.ok 14237 14238Patch 7.3.673 14239Problem: Using "gN" while 'selection' is "exclusive" misses one character. 14240 (Ben Fritz) 14241Solution: Check the direction when compensating for exclusive selection. 14242 (Christian Brabandt) 14243Files: src/search.c 14244 14245Patch 7.3.674 14246Problem: Can't compile with Lua/dyn on Cygwin. 14247Solution: Adjust configure to use the right library name. (Ken Takata) 14248Files: src/configure.in, src/auto/configure 14249 14250Patch 7.3.675 14251Problem: Using uninitialized memory with very long file name. 14252Solution: Put NUL after text when it is truncated. (ZyX) 14253Files: src/buffer.c 14254 14255Patch 7.3.676 14256Problem: Ruby compilation on Windows 32 bit doesn't work. 14257Solution: Only use some functions for 64 bit. (Ken Takata) 14258Files: src/if_ruby.c 14259 14260Patch 7.3.677 14261Problem: buf_spname() is used inconsistently. 14262Solution: Make the return type a char_u pointer. Check the size of the 14263 returned string. 14264Files: src/buffer.c, src/proto/buffer.pro, src/ex_cmds2.c, 14265 src/ex_docmd.c, src/memline.c, src/screen.c 14266 14267Patch 7.3.678 14268Problem: Ruby .so name may not be correct. 14269Solution: Use the LIBRUBY_SO entry from the config. (Vit Ondruch) 14270Files: src/configure.in, src/auto/configure 14271 14272Patch 7.3.679 14273Problem: Ruby detection uses Config, newer Ruby versions use RbConfig. 14274Solution: Detect the need to use RbConfig. (Vit Ondruch) 14275Files: src/configure.in, src/auto/configure 14276 14277Patch 7.3.680 14278Problem: Some files missing in the list of distributed files. 14279Solution: Add lines for new files. 14280Files: Filelist 14281 14282Patch 7.3.681 (after 7.3.680) 14283Problem: List of distributed files picks up backup files. 14284Solution: Make tutor patterns more specific. 14285Files: Filelist 14286 14287Patch 7.3.682 (after 7.3.677) 14288Problem: Compiler complains about incompatible types. 14289Solution: Remove type casts. (hint by Danek Duvall) 14290Files: src/edit.c 14291 14292Patch 7.3.683 14293Problem: ":python" may crash when vimbindeval() returns None. 14294Solution: Check for v_string to be NULL. (Yukihiro Nakadaira) 14295Files: src/if_py_both.h 14296 14297Patch 7.3.684 14298Problem: "make test" does not delete lua.vim. 14299Solution: Add lua.vim to the clean target. (Simon Ruderich) 14300Files: src/testdir/Makefile, src/testdir/Make_dos.mak, 14301 src/testdir/Make_ming.mak, src/testdir/Make_vms.mms 14302 14303Patch 7.3.685 14304Problem: No test for what patch 7.3.673 fixes. 14305Solution: Add a test. (Christian Brabandt) 14306Files: src/testdir/test53.in, src/testdir/test53.ok 14307 14308Patch 7.3.686 14309Problem: Using CTRL-\ e mappings is useful also when entering an 14310 expression, but it doesn't work. (Marcin Szamotulski) 14311Solution: Allow using CTRL-\ e when entering an expression if it was not 14312 typed. 14313Files: src/ex_getln.c 14314 14315Patch 7.3.687 14316Problem: Test 16 fails when $DISPLAY is not set. 14317Solution: Skip the test when $DISPLAY is not set. 14318Files: src/testdir/test16.in 14319 14320Patch 7.3.688 14321Problem: Python 3.3 is not supported. 14322Solution: Add Python 3.3 support (Ken Takata) 14323Files: src/if_python3.c 14324 14325Patch 7.3.689 14326Problem: MzScheme and Lua may use a NULL string. 14327Solution: Use an empty string instead of NULL. (Yukihiro Nakadaira) 14328Files: src/if_lua.c, src/if_mzsch.c 14329 14330Patch 7.3.690 14331Problem: When the current directory name is exactly the maximum path length 14332 Vim may crash. 14333Solution: Only add "/" when there is room. (Danek Duvall) 14334Files: src/os_unix.c 14335 14336Patch 7.3.691 14337Problem: State specific to the Python thread is discarded. 14338Solution: Keep state between threads. (Paul) 14339Files: src/if_python.c 14340 14341Patch 7.3.692 14342Problem: Can't build GTK version with GTK 2.0. 14343Solution: Put GtkFileFilter declaration in the right place. (Yegappan 14344 Lakshmanan) 14345Files: src/gui_gtk.c 14346 14347Patch 7.3.693 14348Problem: Can't make 'softtabstop' follow 'shiftwidth'. 14349Solution: When 'softtabstop' is negative use the value of 'shiftwidth'. 14350 (so8res) 14351Files: src/edit.c, src/option.c, src/proto/option.pro 14352 14353Patch 7.3.694 14354Problem: Now that 'shiftwidth' may use the value of 'tabstop' it is not so 14355 easy to use in indent files. 14356Solution: Add the shiftwidth() function. (so8res) 14357Files: runtime/doc/eval.txt, src/eval.c 14358 14359Patch 7.3.695 14360Problem: Balloon cannot show multibyte text. 14361Solution: Properly deal with multibyte characters. (Dominique Pelle) 14362Files: src/gui_beval.c, src/ui.c 14363 14364Patch 7.3.696 14365Problem: Message about added spell language can be wrong. 14366Solution: Give correct message. Add g:menutrans_set_lang_to to allow for 14367 translation. (Jiri Sedlak) 14368Files: runtime/menu.vim 14369 14370Patch 7.3.697 14371Problem: Leaking resources when setting GUI font. 14372Solution: Free the font. (Ken Takata) 14373Files: src/syntax.c 14374 14375Patch 7.3.698 14376Problem: Python 3 does not preserve state between commands. 14377Solution: Preserve the state. (Paul Ollis) 14378Files: src/if_python.c, src/if_python3.c 14379 14380Patch 7.3.699 14381Problem: When 'ttymouse' is set to "sgr" manually, it is overruled by 14382 automatic detection. 14383Solution: Do not use automatic detection when 'ttymouse' was set manually. 14384 (Hayaki Saito) 14385Files: src/term.c 14386 14387Patch 7.3.700 14388Problem: Cannot detect URXVT and SGR mouse support. 14389Solution: add +mouse_urxvt and +mouse_sgr. (Hayaki Saito) 14390Files: src/feature.h, src/eval.c 14391 14392Patch 7.3.701 14393Problem: MS-Windows: Crash with stack overflow when setting 'encoding'. 14394Solution: Handle that loading the iconv library may be called recursively. 14395 (Jiri Sedlak) 14396Files: src/os_win32.c 14397 14398Patch 7.3.702 14399Problem: Nmake from VS6 service pack 6 is not recognized. 14400Solution: Detect the version number. (Jiri Sedlak) 14401Files: src/Make_mvc.mak 14402 14403Patch 7.3.703 14404Problem: When 'undofile' is reset the hash is computed unnecessarily. 14405Solution: Only compute the hash when the option was set. (Christian Brabandt) 14406Files: src/option.c 14407 14408Patch 7.3.704 14409Problem: Repeating "cgn" does not always work correctly. 14410Solution: Also fetch the operator character. (Christian Brabandt) 14411Files: src/normal.c 14412 14413Patch 7.3.705 14414Problem: Mouse features are not sorted properly. (Tony Mechelynck) 14415Solution: Put the mouse features in alphabetical order. 14416Files: src/version.c 14417 14418Patch 7.3.706 (after 7.3.697) 14419Problem: Can't build Motif version. 14420Solution: Fix wrongly named variable. (Ike Devolder) 14421Files: src/syntax.c 14422 14423Patch 7.3.707 (after 7.3.701) 14424Problem: Problems loading a library for a file name with non-latin 14425 characters. 14426Solution: Use wide system functions when possible. (Ken Takata) 14427Files: src/os_win32.c, src/os_win32.h 14428 14429Patch 7.3.708 14430Problem: Filler lines above the first line may be hidden when opening Vim. 14431Solution: Change how topfill is computed. (Christian Brabandt) 14432Files: src/diff.c, src/testdir/test47.in, src/testdir/test47.ok 14433 14434Patch 7.3.709 14435Problem: Compiler warning for unused argument. 14436Solution: Add UNUSED. 14437Files: src/eval.c 14438 14439Patch 7.3.710 (after 7.3.704) 14440Problem: Patch 7.3.704 breaks "fn". 14441Solution: Add check for ca.cmdchar. (Christian Brabandt) 14442Files: src/normal.c 14443 14444Patch 7.3.711 (after 7.3.688) 14445Problem: vim.current.buffer is not available. (lilydjwg) 14446Solution: Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String. 14447 (Ken Takata) 14448Files: src/if_python3.c 14449 14450Patch 7.3.712 14451Problem: Nmake from VS2010 SP1 is not recognized. 14452Solution: Add the version number. (Ken Takata) 14453Files: src/Make_mvc.mak 14454 14455Patch 7.3.713 14456Problem: printf() can only align to bytes, not characters. 14457Solution: Add the "S" item. (Christian Brabandt) 14458Files: runtime/doc/eval.txt, src/message.c 14459 14460Patch 7.3.714 14461Problem: Inconsistency: :set can be used in the sandbox, but :setlocal and 14462 :setglobal cannot. (Michael Henry) 14463Solution: Fix the flags for :setlocal and :setglobal. (Christian Brabandt) 14464Files: src/ex_cmds.h 14465 14466Patch 7.3.715 14467Problem: Crash when calling setloclist() in BufUnload autocmd. (Marcin 14468 Szamotulski) 14469Solution: Set w_llist to NULL when it was freed. Also add a test. 14470 (Christian Brabandt) 14471Files: src/quickfix.c, src/testdir/test49.ok, src/testdir/test49.vim 14472 14473Patch 7.3.716 14474Problem: Error on exit when using Python 3. 14475Solution: Remove PythonIO_Fini(). (Roland Puntaier) 14476Files: src/if_python3.c 14477 14478Patch 7.3.717 14479Problem: When changing the font size, only MS-Windows limits the window 14480 size. 14481Solution: Also limit the window size on other systems. (Roland Puntaier) 14482Files: src/gui.c 14483 14484Patch 7.3.718 14485Problem: When re-using the current buffer the buffer-local options stay. 14486Solution: Re-initialize the buffer-local options. (Christian Brabandt) 14487Files: src/buffer.c 14488 14489Patch 7.3.719 14490Problem: Cannot run new version of cproto, it fails on missing include 14491 files. 14492Solution: Add lots of #ifndef PROTO 14493Files: src/os_amiga.c, src/os_amiga.h, src/gui_w16.c, src/gui_w48.c, 14494 src/gui_w32.c, src/vimio.h, src/os_msdos.c, src/os_msdos.h, 14495 src/os_win16.h, src/os_win16.c, src/os_win32.h, src/os_win32.c, 14496 src/os_mswin.c, src/gui_photon.c, src/os_unix.h, src/os_beos.c, 14497 src/os_beos.h 14498 14499Patch 7.3.720 14500Problem: Proto files are outdated. 14501Solution: Update the newly generated proto files. 14502Files: src/proto/digraph.pro, src/proto/fold.pro, src/proto/misc1.pro, 14503 src/proto/move.pro, src/proto/screen.pro, src/proto/search.pro, 14504 src/proto/os_win32.pro, src/proto/os_mswin.pro, 14505 src/proto/os_beos.pro 14506 14507Patch 7.3.721 14508Problem: Ruby interface defines local functions globally. 14509Solution: Make the functions static. 14510Files: src/if_ruby.c 14511 14512Patch 7.3.722 14513Problem: Perl flags may contain "-g", which breaks "make proto". 14514Solution: Filter out the "-g" flag for cproto. (Ken Takata) 14515Files: src/Makefile 14516 14517Patch 7.3.723 14518Problem: Various tiny problems. 14519Solution: Various tiny fixes. 14520Files: src/gui_mac.c, src/xpm_w32.c, src/netbeans.c, src/sha256.c, 14521 src/if_sniff.c, README.txt 14522 14523Patch 7.3.724 14524Problem: Building with Ruby and Tcl on MS-Windows 64 bit does not work. 14525Solution: Remove Ruby and Tcl from the big MS-Windows build. 14526Files: src/bigvim64.bat 14527 14528Patch 7.3.725 14529Problem: :aboveleft and :belowright have no effect on :copen. 14530Solution: Check for cmdmod.split. (Christian Brabandt) 14531Files: src/quickfix.c 14532 14533Patch 7.3.726 14534Problem: Typos and duplicate info in README. 14535Solution: Fix the text. 14536Files: README.txt 14537 14538Patch 7.3.727 14539Problem: Can't always find Win32.mak when building GvimExt. 14540Solution: Use same mechanism as in Make_mvc.mak. (Cade Foster) 14541Files: src/GvimExt/Makefile 14542 14543Patch 7.3.728 14544Problem: Cannot compile with MzScheme interface on Ubuntu 12.10. 14545Solution: Find the collects directory under /usr/share. 14546Files: src/configure.in, src/auto/configure 14547 14548Patch 7.3.729 14549Problem: Building with Ruby fails on some systems. 14550Solution: Remove "static" and add #ifndef PROTO. (Ken Takata) 14551Files: src/if_ruby.c 14552 14553Patch 7.3.730 14554Problem: Crash in PHP file when using syntastic. (Ike Devolder) 14555Solution: Avoid using NULL pointer. (Christian Brabandt) 14556Files: src/quickfix.c 14557 14558Patch 7.3.731 14559Problem: Py3Init_vim() is exported unnecessarily. 14560Solution: Make it static. (Ken Takata) 14561Files: src/if_python3.c 14562 14563Patch 7.3.732 14564Problem: Compiler warnings for function arguments. 14565Solution: Use inteptr_t instead of long. 14566Files: src/if_mzsch.c, src/main.c 14567 14568Patch 7.3.733 14569Problem: Tests fail when including MzScheme. 14570Solution: Change #ifdefs for vim_main2(). 14571Files: src/main.c 14572 14573Patch 7.3.734 14574Problem: Cannot put help files in a sub-directory. 14575Solution: Make :helptags work for sub-directories. (Charles Campbell) 14576Files: src/ex_cmds.c 14577 14578Patch 7.3.735 14579Problem: Cannot build Ruby 1.9 with MingW or Cygwin. 14580Solution: Add another include directory. (Ken Takata) 14581Files: src/Make_cyg.mak, src/Make_ming.mak 14582 14583Patch 7.3.736 14584Problem: File name completion in input() escapes white space. (Frederic 14585 Hardy) 14586Solution: Do not escape white space. (Christian Brabandt) 14587Files: src/ex_getln.c 14588 14589Patch 7.3.737 14590Problem: When using do_cmdline() recursively did_endif is not reset, 14591 causing messages to be overwritten. 14592Solution: Reset did_endif. (Christian Brabandt) 14593Files: src/ex_docmd.c 14594 14595Patch 7.3.738 (after 7.3.730) 14596Problem: Unused function argument. 14597Solution: Remove it. (Christian Brabandt) 14598Files: src/quickfix.c 14599 14600Patch 7.3.739 14601Problem: Computing number of lines may have an integer overflow. 14602Solution: Check for MAXCOL explicitly. (Dominique Pelle) 14603Files: src/move.c 14604 14605Patch 7.3.740 14606Problem: IOC tool complains about undefined behavior for int. 14607Solution: Change to unsigned int. (Dominique Pelle) 14608Files: src/hashtab.c, src/misc2.c 14609 14610Patch 7.3.741 (after 7.3.737) 14611Problem: Tiny build fails. 14612Solution: Move #ifdef. (Ike Devolder) 14613Files: src/ex_docmd.c 14614 14615Patch 7.3.742 14616Problem: Leaking memory when :vimgrep restores the directory. 14617Solution: Free the allocated memory. (Christian Brabandt) 14618Files: src/quickfix.c 14619 14620Patch 7.3.743 (after 7.3.741) 14621Problem: Tiny build still fails. 14622Solution: Add #else in the right place. 14623Files: src/ex_docmd.c 14624 14625Patch 7.3.744 14626Problem: 64 bit compiler warning. 14627Solution: Add type cast. (Mike Williams) 14628Files: src/ex_cmds.c 14629 14630Patch 7.3.745 14631Problem: Automatically setting 'ttymouse' doesn't work. 14632Solution: Reset the "option was set" flag when using the default. 14633Files: src/option.c, src/proto/option.pro, src/term.c 14634 14635Patch 7.3.746 14636Problem: Memory leaks when using location lists. 14637Solution: Set qf_title to something. (Christian Brabandt) 14638Files: src/eval.c, src/quickfix.c 14639 14640Patch 7.3.747 14641Problem: When characters are concealed text aligned with tabs are no longer 14642 aligned, e.g. at ":help :index". 14643Solution: Compensate space for tabs for concealed characters. (Dominique 14644 Pelle) 14645Files: src/screen.c 14646 14647Patch 7.3.748 14648Problem: Cannot properly test conceal mode. 14649Solution: Add the screencol() and screenrow() functions. Use them in 14650 test88. (Simon Ruderich) 14651Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro, 14652 src/screen.c, src/testdir/Make_amiga.mak, 14653 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 14654 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 14655 src/testdir/Makefile, src/testdir/test88.in, 14656 src/testdir/test88.ok, 14657 14658Patch 7.3.749 14659Problem: Python interface doesn't build without the multibyte feature. 14660Solution: Add #ifdef. (Ken Takata) 14661Files: src/if_py_both.h 14662 14663Patch 7.3.750 14664Problem: The justify macro does not always work correctly. 14665Solution: Fix off-by-one error (James McCoy) 14666Files: runtime/macros/justify.vim 14667 14668Patch 7.3.751 14669Problem: Test 61 is flaky, it fails once in a while. 14670Solution: When it fails retry once. 14671Files: src/testdir/Makefile 14672 14673Patch 7.3.752 14674Problem: Test 49 script file doesn't fold properly. 14675Solution: Add a colon. 14676Files: src/testdir/test49.vim 14677 14678Patch 7.3.753 14679Problem: When there is a QuitPre autocommand using ":q" twice does not work 14680 for exiting when there are more files to edit. 14681Solution: Do not decrement quitmore in an autocommand. (Techlive Zheng) 14682Files: src/ex_docmd.c, src/fileio.c, src/proto/fileio.pro 14683 14684Patch 7.3.754 14685Problem: Latest nmake is not recognized. 14686Solution: Add nmake version 11.00.51106.1. (Raymond Ko) 14687Files: src/Make_mvc.mak 14688 14689Patch 7.3.755 14690Problem: Autoconf doesn't find Python 3 if it's called "python". 14691Solution: Search for "python2" and "python3" first, then "python". 14692Files: src/configure.in, src/auto/configure 14693 14694Patch 7.3.756 14695Problem: A location list can get a wrong count in :lvimgrep. 14696Solution: Check if the list was changed by autocommands. (mostly by 14697 Christian Brabandt) 14698Files: src/quickfix.c 14699 14700Patch 7.3.757 14701Problem: Issue 96: May access freed memory when a put command triggers 14702 autocommands. (Dominique Pelle) 14703Solution: Call u_save() before getting y_array. 14704Files: src/ops.c 14705 14706Patch 7.3.758 14707Problem: Matchit plugin does not handle space in #ifdef. 14708Solution: Change matching pattern to allow spaces. (Mike Morearty) 14709Files: runtime/macros/matchit.vim 14710 14711Patch 7.3.759 14712Problem: MS-Windows: Updating the tabline is slow when there are many tabs. 14713Solution: Disable redrawing while performing the update. (Arseny Kapoulkine) 14714Files: src/gui_w48.c 14715 14716Patch 7.3.760 14717Problem: dv_ deletes the white space before the line. 14718Solution: Move the cursor to the first non-white. (Christian Brabandt) 14719Files: src/normal.c, src/testdir/test19.in, src/testdir/test19.ok 14720 14721Patch 7.3.761 14722Problem: In Visual mode a "-p does not work. (Marcin Szamotulski) 14723Solution: Avoid writing to "- before putting it. (Christian Brabandt) 14724Files: src/normal.c, src/testdir/test48.in, src/testdir/test48.ok 14725 14726Patch 7.3.762 (after 7.3.759) 14727Problem: On some systems the tabline is not redrawn. 14728Solution: Call RedrawWindow(). (Charles Peacech) 14729Files: src/gui_w48.c 14730 14731Patch 7.3.763 14732Problem: Jumping to a mark does not open a fold if it is in the same line. 14733 (Wiktor Ruben) 14734Solution: Also compare the column after the jump. (Christian Brabandt) 14735Files: src/normal.c 14736 14737Patch 7.3.764 14738Problem: Not all message translation files are installed. 14739Solution: Also install the converted files. 14740Files: src/po/Makefile 14741 14742Patch 7.3.765 14743Problem: Segfault when doing "cclose" on BufUnload in a python function. 14744 (Sean Reifschneider) 14745Solution: Skip window with NULL buffer. (Christian Brabandt) 14746Files: src/main.c, src/window.c 14747 14748Patch 7.3.766 14749Problem: ":help cpo-*" jumps to the wrong place. 14750Solution: Make it equivalent to ":help cpo-star". 14751Files: src/ex_cmds.c 14752 14753Patch 7.3.767 14754Problem: (Win32) The _errno used for iconv may be the wrong one. 14755Solution: Use the _errno from iconv.dll. (Ken Takata) 14756Files: src/mbyte.c 14757 14758Patch 7.3.768 14759Problem: settabvar() and setwinvar() may move the cursor. 14760Solution: Save and restore the cursor position when appropriate. (idea by 14761 Yasuhiro Matsumoto) 14762Files: src/edit.c 14763 14764Patch 7.3.769 14765Problem: 'matchpairs' does not work with multibyte characters. 14766Solution: Make it work. (Christian Brabandt) 14767Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c, 14768 src/testdir/test69.in, src/testdir/test69.ok 14769 14770Patch 7.3.770 14771Problem: Vim.h indentation is inconsistent. 14772Solution: Adjust the indentation. (Elias Diem) 14773Files: src/vim.h 14774 14775Patch 7.3.771 (after 7.3.769) 14776Problem: Uninitialized variable. (Yasuhiro Matsumoto) 14777Solution: Set x2 to -1. 14778Files: src/option.c 14779 14780Patch 7.3.772 14781Problem: Cursor is at the wrong location and below the end of the file 14782 after doing substitutions with confirm flag: %s/x/y/c 14783 (Dominique Pelle) 14784Solution: Update the cursor position. (Christian Brabandt & Dominique) 14785Files: src/ex_cmds.c 14786 14787Patch 7.3.773 (after 7.3.767) 14788Problem: Crash when OriginalFirstThunk is zero. 14789Solution: Skip items with OriginalFirstThunk not set. (Ken Takata) 14790Files: src/mbyte.c 14791 14792Patch 7.3.774 14793Problem: Tiny GUI version misses console dialog feature. 14794Solution: Define FEAT_CON_DIALOG when appropriate. (Christian Brabandt) 14795Files: src/feature.h, src/gui.h 14796 14797Patch 7.3.775 14798Problem: Cygwin and Mingw builds miss dependency on gui_w48.c. 14799Solution: Add a build rule. (Ken Takata) 14800Files: src/Make_cyg.mak, src/Make_ming.mak 14801 14802Patch 7.3.776 14803Problem: ml_get error when searching, caused by curwin not matching curbuf. 14804Solution: Avoid changing curbuf. (Lech Lorens) 14805Files: src/charset.c, src/eval.c, src/mark.c, src/proto/charset.pro, 14806 src/proto/mark.pro, src/regexp.c, src/syntax.c, 14807 14808Patch 7.3.777 14809Problem: When building with Gnome locale gets reset. 14810Solution: Set locale after gnome_program_init(). (Christian Brabandt) 14811Files: src/gui_gtk_x11.c 14812 14813Patch 7.3.778 14814Problem: Compiler error for adding up two pointers. (Titov Anatoly) 14815Solution: Add a type cast. (Ken Takata) 14816Files: src/mbyte.c 14817 14818Patch 7.3.779 14819Problem: Backwards search lands in wrong place when started on a multibyte 14820 character. 14821Solution: Do not set extra_col for a backwards search. (Sung Pae) 14822Files: src/search.c, src/testdir/test44.in, src/testdir/test44.ok 14823 14824Patch 7.3.780 14825Problem: char2nr() and nr2char() always use 'encoding'. 14826Solution: Add argument to use utf-8 characters. (Yasuhiro Matsumoto) 14827Files: runtime/doc/eval.txt, src/eval.c 14828 14829Patch 7.3.781 14830Problem: Drawing with 'guifontwide' can be slow. 14831Solution: Draw multiple characters at a time. (Taro Muraoka) 14832Files: src/gui.c 14833 14834Patch 7.3.782 14835Problem: Windows: IME composition may use a wrong font. 14836Solution: Use 'guifontwide' for IME when it is set. (Taro Muraoka) 14837Files: runtime/doc/options.txt, src/gui.c, src/gui_w48.c, 14838 src/proto/gui_w16.pro, src/proto/gui_w32.pro 14839 14840Patch 7.3.783 14841Problem: Crash when mark is not set. (Dominique Pelle) 14842Solution: Check for NULL. 14843Files: src/normal.c 14844 14845Patch 7.3.784 (after 7.3.781) 14846Problem: Error when 'guifontwide' has a comma. 14847Solution: Use gui.wide_font. (Taro Muraoka) 14848Files: src/gui_w48.c 14849 14850Patch 7.3.785 (after 7.3.776) 14851Problem: Crash with specific use of search pattern. 14852Solution: Initialize reg_buf to curbuf. 14853Files: src/regexp.c 14854 14855Patch 7.3.786 14856Problem: Python threads don't run in the background (issue 103). 14857Solution: Move the statements to manipulate thread state. 14858Files: src/if_python.c 14859 14860Patch 7.3.787 14861Problem: With 'relativenumber' set it is not possible to see the absolute 14862 line number. 14863Solution: For the cursor line show the absolute line number instead of a 14864 zero. (Nazri Ramliy) 14865Files: src/screen.c 14866 14867Patch 7.3.788 14868Problem: When only using patches build fails on missing nl.po. 14869Solution: Create an empty nl.po file. 14870Files: src/po/Makefile 14871 14872Patch 7.3.789 (after 7.3.776) 14873Problem: "\k" in regexp does not work in other window. 14874Solution: Use the right buffer. (Yukihiro Nakadaira) 14875Files: src/mbyte.c, src/proto/mbyte.pro, src/regexp.c 14876 14877Patch 7.3.790 14878Problem: After reloading a buffer the modelines are not processed. 14879Solution: call do_modelines(). (Ken Takata) 14880Files: src/fileio.c 14881 14882Patch 7.3.791 14883Problem: MzScheme interface doesn't work properly. 14884Solution: Make it work better. (Sergey Khorev) 14885Files: runtime/doc/if_mzsch.txt, src/configure.in, src/auto/configure, 14886 src/eval.c, src/if_mzsch.c, src/if_mzsch.h, src/Make_ming.mak, 14887 src/Make_mvc.mak, src/os_unix.c, src/proto/eval.pro, 14888 src/testdir/test70.in, src/testdir/test70.ok 14889 14890Patch 7.3.792 14891Problem: ":substitute" works differently without confirmation. 14892Solution: Do not change the text when asking for confirmation, only display 14893 it. 14894Files: src/ex_cmds.c 14895 14896Patch 7.3.793 (after 7.3.792) 14897Problem: New interactive :substitute behavior is not tested. 14898Solution: Add tests. (Christian Brabandt) 14899Files: src/testdir/test80.in, src/testdir/test80.ok 14900 14901Patch 7.3.794 14902Problem: Tiny build fails. (Tony Mechelynck) 14903Solution: Adjust #ifdefs. 14904Files: src/charset.c 14905 14906Patch 7.3.795 14907Problem: MzScheme does not build with tiny features. 14908Solution: Add #ifdefs. Also add UNUSED to avoid warnings. And change 14909 library ordering. 14910Files: src/if_mzsch.c, src/Makefile 14911 14912Patch 7.3.796 14913Problem: "/[^\n]" does match at a line break. 14914Solution: Make it do the same as "/.". (Christian Brabandt) 14915Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok 14916 14917Patch 7.3.797 (after 7.3.792) 14918Problem: Compiler warning for size_t to int conversion. (Skeept) 14919Solution: Add type casts. 14920Files: src/ex_cmds.c 14921 14922Patch 7.3.798 (after 7.3.791) 14923Problem: MzScheme: circular list does not work correctly. 14924Solution: Separate Mac-specific code from generic code. (Sergey Khorev) 14925Files: src/if_mzsch.c, src/testdir/test70.in 14926 14927Patch 7.3.799 14928Problem: The color column is not correct when entering a buffer. (Ben 14929 Fritz) 14930Solution: Call check_colorcolumn() if 'textwidth' changed. (Christian 14931 Brabandt) 14932Files: src/buffer.c 14933 14934Patch 7.3.800 14935Problem: The " mark is not adjusted when inserting lines. (Roland Eggner) 14936Solution: Adjust the line number. (Christian Brabandt) 14937Files: src/mark.c 14938 14939Patch 7.3.801 14940Problem: ":window set nu?" displays the cursor line. (Nazri Ramliy) 14941Solution: Do not update the cursor line when conceallevel is zero or the 14942 screen has scrolled. (partly by Christian Brabandt) 14943Files: src/window.c 14944 14945Patch 7.3.802 14946Problem: After setting 'isk' to a value ending in a comma appending to the 14947 option fails. 14948Solution: Disallow a trailing comma for 'isk' and similar options. 14949Files: src/charset.c 14950 14951Patch 7.3.803 (after 7.3.792) 14952Problem: Substitute with confirmation and then "q" does not replace 14953 anything. (John McGowan) 14954Solution: Do not break the loop, skip to the end. 14955Files: src/ex_cmds.c, src/testdir/test80.in, src/testdir/test80.ok 14956 14957Patch 7.3.804 (after 7.3.799) 14958Problem: Compiler warning for tiny build. (Tony Mechelynck) 14959Solution: Add #ifdefs around variable. 14960Files: src/buffer.c 14961 14962Patch 7.3.805 14963Problem: Lua version 5.2 is not detected properly on Arch Linux. 14964Solution: Adjust autoconf. (lilydjwg) 14965Files: src/configure.in, src/auto/configure 14966 14967Patch 7.3.806 14968Problem: Compiler warnings in Perl code when building with Visual studio 14969 2012. (skeept) 14970Solution: Add type casts. (Christian Brabandt, 2013 Jan 30) 14971Files: src/if_perl.xs 14972 14973Patch 7.3.807 14974Problem: Popup menu does not work properly with the preview window, folds 14975 and 'cursorcolumn'. 14976Solution: Redraw the popup menu after redrawing windows. (Christian 14977 Brabandt) 14978Files: src/screen.c 14979 14980Patch 7.3.808 14981Problem: Python threads still do not work properly. 14982Solution: Fix both Python 2 and 3. Add tests. (Ken Takata) 14983Files: src/if_python.c, src/if_python3.c, src/testdir/test86.in, 14984 src/testdir/test86.ok, src/testdir/test87.in, 14985 src/testdir/test87.ok 14986 14987Patch 7.3.809 14988Problem: The dosinst.c program has a buffer overflow. (Thomas Gwae) 14989Solution: Ignore $VIMRUNTIME if it is too long. 14990Files: src/dosinst.c 14991 14992Patch 7.3.810 14993Problem: 'relativenumber' is reset unexpectedly. (François Ingelrest) 14994Solution: After an option was reset also reset the global value. Add a test. 14995 (Christian Brabandt) 14996Files: src/option.c, src/testdir/Make_amiga.mak, 14997 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 14998 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, 14999 src/testdir/Makefile, src/testdir/test89.in, 15000 src/testdir/test89.ok 15001 15002Patch 7.3.811 15003Problem: Useless termresponse parsing for SGR mouse. 15004Solution: Skip the parsing. (Hayaki Saito) 15005Files: src/term.c 15006 15007Patch 7.3.812 15008Problem: When 'indentexpr' moves the cursor "curswant" not restored. 15009Solution: Restore "curswant". (Sung Pae) 15010Files: src/misc1.c 15011 15012Patch 7.3.813 15013Problem: The CompleteDone event is not triggered when there are no pattern 15014 matches. (Jianjun Mao) 15015Solution: Trigger the event. (Christian Brabandt) 15016Files: src/edit.c 15017 15018Patch 7.3.814 15019Problem: Can't input multibyte characters on Win32 console if 'encoding' is 15020 different from current codepage. 15021Solution: Use convert_input_safe() instead of convert_input(). Make 15022 string_convert_ext() return an error for incomplete input. (Ken 15023 Takata) 15024Files: src/mbyte.c, src/os_win32.c 15025 15026Patch 7.3.815 15027Problem: Building with Cygwin and Ruby doesn't work. 15028Solution: Copy some things from the MingW build file. (Ken Takata) 15029Files: src/Make_cyg.mak 15030 15031Patch 7.3.816 15032Problem: Can't compute a hash. 15033Solution: Add the sha256() function. (Tyru, Hirohito Higashi) 15034Files: runtime/doc/eval.txt, src/eval.c, src/proto/sha256.pro, 15035 src/sha256.c, src/testdir/test90.in, src/testdir/test90.ok, 15036 src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 15037 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 15038 src/testdir/Make_vms.mms, src/testdir/Makefile 15039 15040Patch 7.3.817 15041Problem: Test 89 fails with tiny and small features. 15042Solution: Add sourcing small.vim. 15043Files: src/testdir/test89.in 15044 15045Patch 7.3.818 15046Problem: When test 40 fails because of a bad build it may leave files 15047 behind that cause it to fail later. 15048Solution: Let the file names start with "X". 15049Files: src/testdir/test40.in 15050 15051Patch 7.3.819 15052Problem: Compiling without +eval and with Python isn't working. 15053Solution: Add the eval feature when building with Python. 15054Files: src/if_py_both.h, src/feature.h, src/eval.c, src/ex_docmd.c, 15055 src/normal.c, src/ex_docmd.c, src/gui_gtk_x11.c 15056 15057Patch 7.3.820 15058Problem: Build errors and warnings when building with small features and 15059 Lua, Perl or Ruby. 15060Solution: Add #ifdefs and UNUSED. 15061Files: src/if_perl.xs, src/if_lua.c, src/if_ruby.c 15062 15063Patch 7.3.821 15064Problem: Build with OLE and Cygwin is broken. (Steve Hall) 15065Solution: Select static or shared stdc library. (Ken Takata) 15066Files: src/Make_cyg.mak 15067 15068Patch 7.3.822 (after 7.3.799) 15069Problem: Crash when accessing freed buffer. 15070Solution: Get 'textwidth' in caller of enter_buffer(). (Christian Brabandt) 15071Files: src/buffer.c 15072 15073Patch 7.3.823 (after 7.3.821) 15074Problem: Building with Cygwin: '-lsupc++' is not needed. 15075Solution: Remove it. (Ken Takata) 15076Files: src/Make_cyg.mak 15077 15078Patch 7.3.824 15079Problem: Can redefine builtin functions. (ZyX) 15080Solution: Disallow adding a function to g:. 15081Files: src/eval.c 15082 15083Patch 7.3.825 15084Problem: With Python errors are not always clear. 15085Solution: Print the stack trace, unless :silent is used. (ZyX) 15086Files: src/if_python3.c, src/if_python.c 15087 15088Patch 7.3.826 15089Problem: List of features in :version output is hard to read. 15090Solution: Make columns. (Nazri Ramliy) 15091Files: src/version.c 15092 15093Patch 7.3.827 (after 7.3.825) 15094Problem: Python tests fail. 15095Solution: Adjust the output for the stack trace. 15096Files: src/testdir/test86.in, src/testdir/test86.ok, 15097 src/testdir/test87.ok 15098 15099Patch 7.3.828 15100Problem: Mappings are not aware of wildmenu mode. 15101Solution: Add wildmenumode(). (Christian Brabandt) 15102Files: src/eval.c, runtime/doc/eval.txt 15103 15104Patch 7.3.829 15105Problem: When compiled with the +rightleft feature 'showmatch' also shows a 15106 match for the opening paren. When 'revins' is set the screen may 15107 scroll. 15108Solution: Only check the opening paren when the +rightleft feature was 15109 enabled. Do not show a match that is not visible. (partly by 15110 Christian Brabandt) 15111Files: src/search.c 15112 15113Patch 7.3.830 15114Problem: :mksession confuses bytes, columns and characters when positioning 15115 the cursor. 15116Solution: Use w_virtcol with "|" instead of w_cursor.col with "l". 15117Files: src/ex_docmd.c 15118 15119Patch 7.3.831 15120Problem: Clumsy to handle the situation that a variable does not exist. 15121Solution: Add default value to getbufvar() et al. (Shougo Matsushita, 15122 Hirohito Higashi) 15123Files: runtime/doc/eval.txt, src/eval.c src/testdir/test91.in, 15124 src/testdir/test91.ok, src/testdir/Make_amiga.mak, 15125 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 15126 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, 15127 src/testdir/Makefile 15128 15129Patch 7.3.832 15130Problem: Compiler warning. 15131Solution: Add type cast. (Mike Williams) 15132Files: src/version.c 15133 15134Patch 7.3.833 15135Problem: In the terminal the scroll wheel always scrolls the active window. 15136Solution: Scroll the window under the mouse pointer, like in the GUI. 15137 (Bradie Rao) 15138Files: src/edit.c, src/normal.c 15139 15140Patch 7.3.834 15141Problem: Ruby 2.0 has a few API changes. 15142Solution: Add handling of Ruby 2.0. (Yasuhiro Matsumoto) 15143Files: src/if_ruby.c 15144 15145Patch 7.3.835 15146Problem: "xxd -i" fails on an empty file. 15147Solution: Do output the closing } for an empty file. (partly by Lawrence 15148 Woodman) 15149Files: src/xxd/xxd.c 15150 15151Patch 7.3.836 15152Problem: Clipboard does not work on Win32 when compiled with Cygwin. 15153Solution: Move the Win32 clipboard code to a separate file and use it when 15154 building with os_unix.c. (Frodak Baksik, Ken Takata) 15155Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ivc.mak, 15156 src/Make_ming.mak, src/Make_mvc.mak, src/Make_w16.mak, 15157 src/Makefile, src/config.h.in, src/configure.in, 15158 src/auto/configure, src/feature.h, src/globals.h, src/mbyte.c, 15159 src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/proto.h, 15160 src/proto/os_mswin.pro, src/proto/winclip.pro, src/term.c, 15161 src/vim.h, src/winclip.c 15162 15163Patch 7.3.837 (after 7.3.826) 15164Problem: Empty lines in :version output when 'columns' is 320. 15165Solution: Simplify the logic of making columns. (Nazri Ramliy, Roland 15166 Eggner) 15167Files: src/version.c 15168 15169Patch 7.3.838 (after 7.3.830) 15170Problem: Insufficient testing for mksession. 15171Solution: Add tests. (mostly by Roland Eggner) 15172Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 15173 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 15174 src/testdir/Make_vms.mms, src/testdir/Makefile, 15175 src/testdir/test92.in, src/testdir/test92.ok, 15176 src/testdir/test93.in, src/testdir/test93.ok, 15177 src/ex_docmd.c 15178 15179Patch 7.3.839 15180Problem: Some files missing in the list of distributed files. 15181Solution: Add lines for new files. 15182Files: Filelist 15183 15184Patch 7.3.840 15185Problem: "\@<!" in regexp does not work correctly with multibyte 15186 characters, especially cp932. 15187Solution: Move column to start of multibyte character. (Yasuhiro Matsumoto) 15188Files: src/regexp.c 15189 15190Patch 7.3.841 15191Problem: When a "cond ? one : two" expression has a subscript it is not 15192 parsed correctly. (Andy Wokula) 15193Solution: Handle a subscript also when the type is unknown. (Christian 15194 Brabandt) 15195Files: src/eval.c 15196 15197Patch 7.3.842 15198Problem: Compiler warning for signed/unsigned pointer. 15199Solution: Add type cast. (Christian Brabandt) 15200Files: src/eval.c 15201 15202Patch 7.3.843 (after 7.3.841) 15203Problem: Missing test file changes. 15204Solution: Change the tests. 15205Files: src/testdir/test49.vim, src/testdir/test49.ok 15206 15207Patch 7.3.844 15208Problem: Enum is not indented correctly with "public" etc. 15209Solution: Skip "public", "private" and "protected". (Hong Xu) 15210Files: src/misc1.c 15211 15212Patch 7.3.845 (after 7.3.844) 15213Problem: Enum indenting is not tested. 15214Solution: Add tests. (Hong Xu) 15215Files: src/testdir/test3.in, src/testdir/test3.ok 15216 15217Patch 7.3.846 15218Problem: Missing proto files. 15219Solution: Add the files. 15220Files: Filelist, src/proto/os_beos.pro 15221 15222Patch 7.3.847 15223Problem: Test 55 fails when messages are translated. 15224Solution: Set language to C. (Ken Takata) 15225Files: src/testdir/test55.in 15226 15227Patch 7.3.848 15228Problem: Can't build with Ruby 2.0 when using MinGW x64 or MSVC10. 15229Solution: Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64. 15230 (Ken Takata) 15231Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_ruby.c 15232 15233Patch 7.3.849 15234Problem: ":g//" gives "Pattern not found error" with E486. Should not use 15235 the error number, it's not a regular error message. 15236Solution: Use a normal message. (David Bürgin) 15237Files: src/ex_cmds.c 15238 15239Patch 7.3.850 15240Problem: ":vimgrep //" matches everywhere. 15241Solution: Make it use the previous search pattern. (David Bürgin) 15242Files: runtime/doc/quickfix.txt, src/quickfix.c 15243 15244Patch 7.3.851 15245Problem: Using an empty pattern with :sort silently continues when there is 15246 no previous search pattern. 15247Solution: Give an error message. (David Bürgin) 15248Files: src/ex_cmds.c 15249 15250Patch 7.3.852 15251Problem: system() breaks clipboard text. (Yukihiro Nakadaira) 15252Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt) 15253 Also do not put the text in the clip buffer if conversion fails. 15254Files: src/ui.c, src/ops.c 15255 15256Patch 7.3.853 15257Problem: Using "ra" in multiple lines on multibyte characters leaves a few 15258 characters not replaced. 15259Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto) 15260Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c 15261 15262Patch 7.3.854 15263Problem: After using backspace in insert mode completion, CTRL-N and CTRL-P 15264 do not highlight the right entry. (Olivier Teuliere) 15265Solution: Set the current item to the shown item after using backspace. 15266Files: src/edit.c 15267 15268Patch 7.3.855 15269Problem: Compiler warnings. 15270Solution: Add type casts. (Mike Williams) 15271Files: src/misc1.c 15272 15273Patch 7.3.856 15274Problem: When calling system() multibyte clipboard contents is garbled. 15275Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira) 15276Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c, 15277 src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c 15278 15279Patch 7.3.857 15280Problem: The QuitPre autocommand event does not trigger for :qa and :wq. 15281Solution: Trigger the event. (Tatsuro Fujii) 15282Files: src/ex_docmd.c 15283 15284Patch 7.3.858 15285Problem: "gv" selects the wrong area after some operators. 15286Solution: Save and restore the type of selection. (Christian Brabandt) 15287Files: src/testdir/test66.in, src/testdir/test66.ok, src/normal.c 15288 15289Patch 7.3.859 15290Problem: 'ambiwidth' must be set by the user. 15291Solution: Detects East Asian ambiguous width (UAX #11) state of the terminal 15292 at the start-up time and 'ambiwidth' accordingly. (Hayaki Saito) 15293Files: src/main.c, src/option.c, src/term.c, src/term.h, 15294 src/proto/term.pro 15295 15296Patch 7.3.860 15297Problem: When using --remote-expr try/catch does not work. (Andrey Radev) 15298Solution: Set emsg_silent instead of emsg_skip. 15299Files: src/main.c 15300 15301Patch 7.3.861 15302Problem: ":setlocal number" clears global value of 'relativenumber'. 15303Solution: Do it properly. (Markus Heidelberg) 15304Files: src/testdir/test89.in, src/testdir/test89.ok, src/option.c 15305 15306Patch 7.3.862 15307Problem: Dragging the status line can be slow. 15308Solution: Look ahead and drop the drag event if there is a next one. 15309Files: src/eval.c, src/misc1.c, src/proto/misc1.pro, src/normal.c 15310 15311Patch 7.3.863 (after 7.3.859) 15312Problem: Problem with 'ambiwidth' detection for ANSI terminal. 15313Solution: Work around not recognizing a term response. (Hayaki Saito) 15314Files: src/term.c 15315 15316Patch 7.3.864 (after 7.3.862) 15317Problem: Can't build without the mouse feature. 15318Solution: Add an #ifdef. (Ike Devolder) 15319Files: src/misc1.c 15320 15321Patch 7.3.865 (after 7.3.862) 15322Problem: Mouse position may be wrong. 15323Solution: Let vungetc() restore the mouse position. 15324Files: src/getchar.c 15325 15326Patch 7.3.866 15327Problem: Not serving the X selection during system() isn't nice. 15328Solution: When using fork() do not loose the selection, keep serving it. 15329 Add a loop similar to handling I/O. (Yukihiro Nakadaira) 15330Files: src/os_unix.c 15331 15332Patch 7.3.867 15333Problem: Matchparen does not update match when using auto-indenting. 15334 (Marc Aldorasi) 15335Solution: Add the TextChanged and TextChangedI autocommand events. 15336Files: runtime/plugin/matchparen.vim, src/main.c, src/edit.c, 15337 src/globals.h, src/vim.h, src/fileio.c, src/proto/fileio.pro, 15338 runtime/doc/autocmd.txt 15339 15340Patch 7.3.868 15341Problem: When at the hit-return prompt and using "k" while no text has 15342 scrolled off screen, then using "j", an empty line is displayed. 15343Solution: Only act on "k" when text scrolled off screen. Also accept 15344 page-up and page-down. (cptstubing) 15345Files: src/message.c 15346 15347Patch 7.3.869 15348Problem: bufwinnr() matches buffers in other tabs. 15349Solution: For bufwinnr() and ? only match buffers in the current tab. 15350 (Alexey Radkov) 15351Files: src/buffer.c, src/diff.c, src/eval.c, src/ex_docmd.c, 15352 src/if_perl.xs, src/proto/buffer.pro 15353 15354Patch 7.3.870 15355Problem: Compiler warnings when using MingW 4.5.3. 15356Solution: Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata) 15357Files: src/gui_w32.c, src/gui_w48.c, src/os_mswin.c, src/os_win32.c, 15358 src/os_win32.h 15359 15360Patch 7.3.871 15361Problem: search('^$', 'c') does not use the empty match under the cursor. 15362Solution: Special handling of the 'c' flag. (Christian Brabandt) 15363 Add tests. 15364Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok 15365 15366Patch 7.3.872 15367Problem: On some systems case of file names is always ignored, on others 15368 never. 15369Solution: Add the 'fileignorecase' option to control this at runtime. 15370 Implies 'wildignorecase'. 15371Files: src/buffer.c, src/edit.c, src/ex_cmds2.c, src/ex_getln.c, 15372 src/fileio.c, src/misc1.c, src/misc2.c, src/option.c, 15373 src/option.h, src/vim.h, runtime/doc/options.txt 15374 15375Patch 7.3.873 15376Problem: Cannot easily use :s to make title case. 15377Solution: Have "\L\u" result in title case. (James McCoy) 15378Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok, 15379 src/testdir/test80.in, src/testdir/test80.ok 15380 15381Patch 7.3.874 15382Problem: Comparing file names does not handle multibyte characters 15383 properly. 15384Solution: Implement multibyte handling. 15385Files: src/misc1.c, src/misc2.c 15386 15387Patch 7.3.875 (after 7.3.866) 15388Problem: Build problem with some combination of features. 15389Solution: Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD. 15390Files: src/os_unix.c 15391 15392Patch 7.3.876 15393Problem: #if indents are off. 15394Solution: Insert a space where appropriate. (Taro Muraoka) 15395Files: src/gui.c 15396 15397Patch 7.3.877 (after 7.3.871) 15398Problem: Forward searching with search() is broken. 15399Solution: Fix it and add tests. (Sung Pae) 15400Files: src/search.c, src/testdir/test14.in, src/testdir/test14.ok 15401 15402Patch 7.3.878 15403Problem: 'fileignorecase' is missing in options window and quickref. 15404Solution: Add the option. 15405Files: runtime/optwin.vim, runtime/doc/quickref.txt 15406 15407Patch 7.3.879 15408Problem: When using an ex command in operator pending mode, using Esc to 15409 abort the command still executes the operator. (David Bürgin) 15410Solution: Clear the operator when the ex command fails. (Christian Brabandt) 15411Files: src/normal.c 15412 15413Patch 7.3.880 15414Problem: When writing viminfo, old history lines may replace lines written 15415 more recently by another Vim instance. 15416Solution: Mark history entries that were read from viminfo and overwrite 15417 them when merging with the current viminfo. 15418Files: src/ex_getln.c 15419 15420Patch 7.3.881 15421Problem: Python list does not work correctly. 15422Solution: Fix it and add a test. (Yukihiro Nakadaira) 15423Files: src/testdir/test86.in, src/testdir/test86.ok, src/if_py_both.h 15424 15425Patch 7.3.882 15426Problem: CursorHold may trigger after receiving the termresponse. 15427Solution: Set the did_cursorhold flag. (Hayaki Saito) 15428Files: src/term.c 15429 15430Patch 7.3.883 (after 7.3.880) 15431Problem: Can't build with some combination of features. 15432Solution: Adjust #ifdefs. 15433Files: src/ex_getln.c 15434 15435Patch 7.3.884 15436Problem: Compiler warning for variable shadowing another. (John Little) 15437Solution: Rename the variable. (Christian Brabandt) 15438Files: src/term.c 15439 15440Patch 7.3.885 15441Problem: Double free for list and dict in Lua. (Shougo Matsu) 15442Solution: Do not unref list and dict. (Yasuhiro Matsumoto) 15443Files: src/if_lua.c 15444 15445Patch 7.3.886 15446Problem: Can't build with multibyte on Solaris 10. 15447Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume) 15448Files: src/ui.c 15449 15450Patch 7.3.887 15451Problem: No tests for Visual mode operators, what 7.3.879 fixes. 15452Solution: Add a new test file. (David Bürgin) 15453Files: src/testdir/test94.in, src/testdir/test94.ok, 15454 src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 15455 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 15456 src/testdir/Make_vms.mms, src/testdir/Makefile 15457 15458Patch 7.3.888 15459Problem: Filename completion with 'fileignorecase' does not work for 15460 multibyte characters. 15461Solution: Make 'fileignorecase' work properly. (Hirohito Higashi) 15462Files: src/misc2.c 15463 15464Patch 7.3.889 15465Problem: Can't build with Ruby 2.0 on a 64 bit system. 15466Solution: Define rb_fix2int and rb_num2int. (Kohei Suzuki) 15467Files: src/if_ruby.c 15468 15469Patch 7.3.890 15470Problem: Test 79 fails on Windows. (Michael Soyka) 15471Solution: Add comment below line causing an error. 15472Files: src/testdir/test79.in 15473 15474Patch 7.3.891 15475Problem: Merging viminfo history doesn't work well. 15476Solution: Don't stop when one type of history is empty. Don't merge history 15477 when writing viminfo. 15478Files: src/ex_getln.c 15479 15480Patch 7.3.892 (after 7.3.891) 15481Problem: Still merging problems for viminfo history. 15482Solution: Do not merge lines when writing, don't write old viminfo lines. 15483Files: src/ex_getln.c, src/ex_cmds.c, src/proto/ex_getln.pro 15484 15485Patch 7.3.893 15486Problem: Crash when using b:, w: or t: after closing the buffer, window or 15487 tabpage. 15488Solution: Allocate the dictionary instead of having it part of the 15489 buffer/window/tabpage struct. (Yukihiro Nakadaira) 15490Files: src/buffer.c, src/eval.c, src/fileio.c, src/structs.h, 15491 src/window.c, src/proto/eval.pro 15492 15493Patch 7.3.894 15494Problem: Using wrong RUBY_VER causing Ruby build to break. 15495Solution: Correct the RUBY_VER value. (Yongwei Wu) 15496Files: src/bigvim.bat 15497 15498Patch 7.3.895 15499Problem: Valgrind error in test 91. (Issue 128) 15500Solution: Pass scope name to find_var_in_ht(). 15501Files: src/eval.c 15502 15503Patch 7.3.896 15504Problem: Memory leaks in Lua interface. 15505Solution: Fix the leaks, add tests. (Yukihiro Nakadaira) 15506Files: src/testdir/test85.in, src/testdir/test85.ok, src/if_lua.c 15507 15508Patch 7.3.897 15509Problem: Configure doesn't always find the shared library. 15510Solution: Change the configure script. (Ken Takata) 15511Files: src/configure.in, src/auto/configure 15512 15513Patch 7.3.898 15514Problem: Memory leak reported by valgrind in test 91. 15515Solution: Only use default argument when needed. 15516Files: src/eval.c, src/testdir/test91.in, src/testdir/test91.ok 15517 15518Patch 7.3.899 15519Problem: #if indents are off. 15520Solution: Fix the indents. 15521Files: src/os_unix.c 15522 15523Patch 7.3.900 15524Problem: Not obvious that some mouse features are mutual-exclusive. 15525Solution: Add a comment. 15526Files: src/feature.h 15527 15528Patch 7.3.901 15529Problem: Outdated comment, ugly condition. 15530Solution: Update a few comments, break line. 15531Files: src/getchar.c, src/misc1.c, src/undo.c 15532 15533Patch 7.3.902 15534Problem: When deleting last buffer in other tab the tabline is not updated. 15535Solution: Set the redraw_tabline flag. (Yukihiro Nakadaira) 15536Files: src/window.c 15537 15538Patch 7.3.903 (after 7.3.892) 15539Problem: Crash on exit writing viminfo. (Ron Aaron) 15540Solution: Check for the history to be empty. 15541Files: src/ex_getln.c 15542 15543Patch 7.3.904 (after 7.3.893) 15544Problem: Using memory freed by the garbage collector. 15545Solution: Mark items in aucmd_win as used. 15546Files: src/eval.c 15547 15548Patch 7.3.905 (after 7.3.903) 15549Problem: Crash when writing viminfo. (Ron Aaron) 15550Solution: Prevent freed history info to be used. 15551Files: src/ex_getln.c 15552 15553Patch 7.3.906 15554Problem: The "sleep .2" for running tests does not work on Solaris. 15555Solution: Fall back to using "sleep 1". (Laurent Blume) 15556Files: src/testdir/Makefile 15557 15558Patch 7.3.907 15559Problem: Python uses IndexError when a dict key is not found. 15560Solution: Use KeyError instead. (ZyX) 15561Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 15562 src/testdir/test86.ok, src/testdir/test87.ok 15563 15564Patch 7.3.908 15565Problem: Possible crash when using a list in Python. 15566Solution: Return early if the list is NULL. (ZyX) 15567Files: src/if_py_both.h 15568 15569Patch 7.3.909 15570Problem: Duplicate Python code. 15571Solution: Move more items to if_py_both.h. (ZyX) Also avoid compiler 15572 warnings for missing initializers. 15573Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 15574 15575Patch 7.3.910 15576Problem: Python code in #ifdef branches with only minor differences. 15577Solution: Merge the #ifdef branches. (ZyX) 15578Files: src/if_py_both.h, src/if_python.c 15579 15580Patch 7.3.911 15581Problem: Python: Access to Vim variables is not so easy. 15582Solution: Define vim.vars and vim.vvars. (ZyX) 15583Files: runtime/doc/if_pyth.txt, src/eval.c, src/globals.h, 15584 src/if_py_both.h, src/if_python3.c, src/if_python.c, 15585 src/testdir/test86.in, src/testdir/test86.ok, 15586 src/testdir/test87.in, src/testdir/test87.ok 15587 15588Patch 7.3.912 15589Problem: Typing a ":" command at the hit-enter dialog does not work if the 15590 "file changed" dialog happens next. 15591Solution: Check for changed files before giving the hit-enter dialog. 15592Files: src/message.c 15593 15594Patch 7.3.913 (after 7.3.905) 15595Problem: Still a crash when writing viminfo. 15596Solution: Add checks for NULL pointers. (Ron Aaron) 15597Files: src/ex_getln.c 15598 15599Patch 7.3.914 15600Problem: ~/.viminfo is messed up when running tests. 15601Solution: Set the viminfo filename. 15602Files: src/testdir/test89.in, src/testdir/test94.in 15603 15604Patch 7.3.915 15605Problem: When reading a file with encoding conversion fails at the end the 15606 next encoding in 'fencs' is not used. 15607Solution: Retry with another encoding when possible. (Taro Muraoka) 15608Files: src/fileio.c 15609 15610Patch 7.3.916 15611Problem: Using freed memory when pasting with the mouse (Issue 130). 15612Solution: Get the byte value early. (hint by Dominique Pelle) 15613Files: src/buffer.c 15614 15615Patch 7.3.917 15616Problem: When a path ends in a backslash appending a comma has the wrong 15617 effect. 15618Solution: Replace a trailing backslash with a slash. (Nazri Ramliy) 15619Files: src/misc1.c, src/testdir/test73.in, src/testdir/test73.ok 15620 15621Patch 7.3.918 15622Problem: Repeating an Ex command after using a Visual motion does not work. 15623Solution: Check for an Ex command being used. (David Bürgin) 15624Files: src/normal.c 15625 15626Patch 7.3.919 (after 7.3.788) 15627Problem: An empty nl.po file does not work with an old msgfmt. 15628Solution: Put a single # in the file. (Laurent Blume) 15629Files: src/po/Makefile 15630 15631Patch 7.3.920 15632Problem: Compiler warning for size_t to int. 15633Solution: Add a type cast. (Mike Williams) 15634Files: src/misc1.c 15635 15636Patch 7.3.921 (after 7.3.697) 15637Problem: Trying to create a fontset handle when 'guifontset' is not set. 15638Solution: Add curly braces around the code block. (Max Kirillov) 15639Files: src/syntax.c 15640 15641Patch 7.3.922 15642Problem: No test for what 7.3.918 fixes. 15643Solution: Add a test. (David Bürgin) 15644Files: src/testdir/test94.in, src/testdir/test94.ok 15645 15646Patch 7.3.923 15647Problem: Check for X11 header files fails on Solaris. 15648Solution: Only use -Werror for gcc. (Laurent Blume) 15649Files: src/configure.in, src/auto/configure 15650 15651Patch 7.3.924 15652Problem: Python interface can't easily access options. 15653Solution: Add vim.options, vim.window.options and vim.buffer.options. (ZyX) 15654Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, 15655 src/if_python.c, src/if_python3.c, src/option.c, 15656 src/proto/eval.pro, src/proto/option.pro, src/testdir/test86.in, 15657 src/testdir/test86.ok, src/testdir/test87.in, 15658 src/testdir/test87.ok, src/vim.h 15659 15660Patch 7.3.925 15661Problem: Typos in source files. 15662Solution: Fix the typos. (Ken Takata) 15663Files: runtime/plugin/matchparen.vim, runtime/tools/vim_vs_net.cmd, 15664 src/GvimExt/gvimext.cpp, src/INSTALLvms.txt, src/Make_cyg.mak, 15665 src/Make_mvc.mak, src/Make_sas.mak, src/Make_vms.mms, 15666 src/Make_w16.mak, src/Makefile, src/VisVim/OleAut.cpp, 15667 src/VisVim/README_VisVim.txt, src/auto/configure, src/buffer.c, 15668 src/configure.in, src/diff.c, src/dosinst.c, src/edit.c, 15669 src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, 15670 src/farsi.c, src/feature.h, src/fileio.c, src/glbl_ime.cpp, 15671 src/gui.c, src/gui_athena.c, src/gui_beval.c, src/gui_gtk_x11.c, 15672 src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w16.c, 15673 src/gui_w32.c, src/gui_w48.c, src/gui_xmebw.c, src/gui_xmebwp.h, 15674 src/hardcopy.c, src/if_cscope.c, src/if_mzsch.c, src/if_ole.cpp, 15675 src/if_perl.xs, src/if_py_both.h, src/if_python.c, 15676 src/if_python3.c, src/if_ruby.c, src/main.aap, src/mbyte.c, 15677 src/memfile.c, src/memline.c, src/misc1.c, src/misc2.c, 15678 src/nbdebug.c, src/normal.c, src/ops.c, src/os_amiga.c, 15679 src/os_mac.h, src/os_msdos.c, src/os_mswin.c, src/os_win16.h, 15680 src/os_win32.c, src/os_win32.h, src/quickfix.c, src/screen.c, 15681 src/search.c, src/spell.c, src/structs.h, src/syntax.c, 15682 src/window.c, vimtutor.com 15683 15684 15685Patch 7.3.926 15686Problem: Autocommands are triggered by setwinvar() et al. Missing BufEnter 15687 on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of 15688 events for :tablose and :tabnew. 15689Solution: Fix these autocommand events. (ZyX) 15690Files: runtime/doc/eval.txt, src/buffer.c, src/eval.c, src/ex_cmds2.c, 15691 src/fileio.c, src/proto/window.pro, src/testdir/test62.in, 15692 src/testdir/test62.ok, src/window.c 15693 15694Patch 7.3.927 15695Problem: Missing combining characters when putting text in a register. 15696Solution: Include combining characters. (David Bürgin) 15697Files: src/getchar.c, src/testdir/test44.in, src/testdir/test44.ok 15698 15699Patch 7.3.928 (after 7.3.924) 15700Problem: Can't build with strict C compiler. 15701Solution: Move declaration to start of block. (Taro Muraoka) 15702Files: src/if_py_both.h 15703 15704Patch 7.3.929 (after 7.3.924) 15705Problem: Compiler warning for unused variable. Not freeing unused string. 15706Solution: Remove the variable. Clear the options. 15707Files: src/option.c 15708 15709Patch 7.3.930 15710Problem: MSVC 2012 update is not recognized. 15711Solution: Update the version in the makefile. (Raymond Ko) 15712Files: src/Make_mvc.mak 15713 15714Patch 7.3.931 15715Problem: No completion for :xmap and :smap. (Yukihiro Nakadaira) 15716Solution: Add the case statements. (Christian Brabandt) 15717Files: src/ex_docmd.c 15718 15719Patch 7.3.932 15720Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) 15721Solution: Initialize the variable. 15722Files: src/option.c 15723 15724Patch 7.3.933 15725Problem: Ruby on Mac crashes due to GC failure. 15726Solution: Init the stack from main(). (Hiroshi Shirosaki) 15727Files: src/main.c, src/if_ruby.c, src/proto/if_ruby.pro 15728 15729Patch 7.3.934 15730Problem: E381 and E380 make the user think nothing happened. 15731Solution: Display the message indicating what error list is now active. 15732 (Christian Brabandt) 15733Files: src/quickfix.c 15734 15735Patch 7.3.935 (after 7.3.933) 15736Problem: Ruby: Init stack works differently on 64 bit systems. 15737Solution: Handle 64 bit systems and also static library. (Yukihiro 15738 Nakadaira) 15739Files: src/if_ruby.c 15740 15741Patch 7.3.936 (after 7.3.935) 15742Problem: Ruby 1.8: Missing piece for static linking on 64 bit systems. 15743Solution: Define ruby_init_stack() (Hiroshi Shirosaki) 15744 Also fix preprocessor indents. 15745Files: src/if_ruby.c 15746 15747Patch 7.3.937 15748Problem: More can be shared between Python 2 and 3. 15749Solution: Move code to if_py_both.h. (ZyX) 15750Files: src/if_python.c, src/if_python3.c, src/if_py_both.h 15751 15752Patch 7.3.938 15753Problem: Python: not easy to get to window number. 15754Solution: Add vim.window.number. (ZyX) 15755Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/proto/window.pro, 15756 src/window.c 15757 15758Patch 7.3.939 15759Problem: Using Py_BuildValue is inefficient sometimes. 15760Solution: Use PyLong_FromLong(). (ZyX) 15761Files: src/if_py_both.h 15762 15763Patch 7.3.940 15764Problem: Python: Can't get position of window. 15765Solution: Add window.row and window.col. (ZyX) 15766Files: runtime/doc/if_pyth.txt, src/if_py_both.h 15767 15768Patch 7.3.941 15769Problem: Stuff in if_py_both.h is ordered badly. 15770Solution: Reorder by type. (ZyX) 15771Files: src/if_py_both.h, src/if_python.c 15772 15773Patch 7.3.942 15774Problem: Python: SEGV in Buffer functions. 15775Solution: Call CheckBuffer() at the right time. (ZyX) 15776Files: src/if_py_both.h, src/if_python.c, src/if_python3.c 15777 15778Patch 7.3.943 15779Problem: Python: Negative indices were failing. 15780Solution: Fix negative indices. Add tests. (ZyX) 15781Files: src/if_py_both.h, src/if_python3.c, src/testdir/test86.in, 15782 src/testdir/test86.ok, src/testdir/test87.in, 15783 src/testdir/test87.ok 15784 15785Patch 7.3.944 15786Problem: External program receives the termresponse. 15787Solution: Insert a delay and discard input. (Hayaki Saito) 15788Files: src/term.c 15789 15790Patch 7.3.945 15791Problem: Python: List of buffers is not very useful. 15792Solution: Make vim.buffers a map. No iterator yet. (ZyX) 15793Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, 15794 src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok 15795 15796Patch 7.3.946 15797Problem: Sometimes get stuck in waiting for cursor position report, 15798 resulting in keys starting with <Esc>[ not working. 15799Solution: Only wait for more characters after <Esc>[ if followed by '?', '>' 15800 or a digit. 15801Files: src/term.c 15802 15803Patch 7.3.947 15804Problem: Python: No iterator for vim.list and vim.bufferlist. 15805Solution: Add the iterators. Also fix name of FunctionType. Add tests for 15806 vim.buffers. (ZyX) 15807Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, 15808 src/if_python3.c, src/if_python.c, src/proto/eval.pro, 15809 src/testdir/test86.in, src/testdir/test86.ok, 15810 src/testdir/test87.in, src/testdir/test87.ok 15811 15812Patch 7.3.948 15813Problem: Cannot build with Python 2.2 15814Solution: Make Python interface work with Python 2.2 15815 Make 2.2 the first supported version. (ZyX) 15816Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 15817 src/testdir/test86.in, src/testdir/test86.ok, 15818 src/testdir/test87.ok, src/configure.in, src/auto/configure 15819 15820Patch 7.3.949 15821Problem: Python: no easy access to tabpages. 15822Solution: Add vim.tabpages and vim.current.tabpage. (ZyX) 15823Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, 15824 src/if_python.c, src/proto/if_python3.pro, 15825 src/proto/if_python.pro, src/proto/window.pro, src/structs.h, 15826 src/window.c 15827 15828Patch 7.3.950 15829Problem: Python: Stack trace printer can't handle messages. 15830Solution: Make KeyErrors use PyErr_SetObject. (ZyX) 15831Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 15832 15833Patch 7.3.951 15834Problem: Python exceptions have problems. 15835Solution: Change some IndexErrors to TypeErrors. Make “line number out of 15836 range” an IndexError. Make “unable to get option value” a 15837 RuntimeError. Make all PyErr_SetString messages start with 15838 lowercase letter and use _(). (ZyX) 15839Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 15840 src/testdir/test86.ok, src/testdir/test87.ok 15841 15842Patch 7.3.952 15843Problem: Python: It's not easy to change window/buffer/tabpage. 15844Solution: Add ability to assign to vim.current.{tabpage,buffer,window}. 15845 (ZyX) 15846Files: runtime/doc/if_pyth.txt, src/if_py_both.h 15847 15848Patch 7.3.953 15849Problem: Python: string exceptions are deprecated. 15850Solution: Make vim.error an Exception subclass. (ZyX) 15851Files: src/if_python.c, src/if_python3.c 15852 15853Patch 7.3.954 15854Problem: No check if PyObject_IsTrue fails. 15855Solution: Add a check for -1 value. (ZyX) 15856Files: src/if_py_both.h 15857 15858Patch 7.3.955 15859Problem: Python: Not enough tests. 15860Solution: Add tests for vim.{current,window*,tabpage*}. (ZyX) 15861Files: src/testdir/test86.in, src/testdir/test86.ok, 15862 src/testdir/test87.in, src/testdir/test87.ok 15863 15864Patch 7.3.956 15865Problem: Python vim.bindeval() causes SIGABRT. 15866Solution: Make pygilstate a local variable. (Yukihiro Nakadaira) 15867Files: src/if_py_both.h, src/if_python.c, src/if_python3.c 15868 15869Patch 7.3.957 15870Problem: Python does not have a "do" command like Perl or Lua. 15871Solution: Add the ":py3do" command. (Lilydjwg) 15872Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c, 15873 src/if_python3.c, src/proto/if_python3.pro 15874 15875Patch 7.3.958 15876Problem: Python: Iteration destructor not set. 15877Solution: Put IterDestructor to use. (ZyX) 15878Files: src/if_py_both.c 15879 15880Patch 7.3.959 (after 7.3.957) 15881Problem: Missing error number. 15882Solution: Assign an error number. 15883Files: src/if_python3.c 15884 15885Patch 7.3.960 15886Problem: Compiler warning for unused variable. 15887Solution: Put declaration in #ifdef. 15888Files: src/window.c 15889 15890Patch 7.3.961 15891Problem: Tests 86 and 87 fail when using another language than English. 15892Solution: Set the language to C in the test. (Dominique Pelle) 15893Files: src/testdir/test86.in, src/testdir/test87.in, 15894 src/testdir/test87.ok 15895 15896Patch 7.3.962 15897Problem: Python tests are not portable. 15898Solution: Use shiftwidth instead of iminsert. (ZyX) 15899Files: src/testdir/test86.in, src/testdir/test86.ok, 15900 src/testdir/test87.in, src/testdir/test87.ok 15901 15902Patch 7.3.963 15903Problem: Setting curbuf without curwin causes trouble. 15904Solution: Add switch_buffer() and restore_buffer(). Block autocommands to 15905 avoid trouble. 15906Files: src/eval.c, src/proto/eval.pro, src/proto/window.pro, 15907 src/if_py_both.h, src/window.c, src/testdir/test86.ok 15908 15909Patch 7.3.964 15910Problem: Python: not so easy to access tab pages. 15911Solution: Add window.tabpage, make window.number work with non-current tab 15912 pages. (ZyX) 15913Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, 15914 src/if_python.c, src/testdir/test86.ok, src/testdir/test87.ok 15915 15916Patch 7.3.965 15917Problem: Python garbage collection not working properly. 15918Solution: Add support for garbage collection. (ZyX) 15919Files: src/if_py_both.h 15920 15921Patch 7.3.966 15922Problem: There is ":py3do" but no ":pydo". 15923Solution: Add the ":pydo" command. (Lilydjwg) 15924Files: runtime/doc/if_pyth.txt, src/ex_cmds.h, src/ex_docmd.c, 15925 src/if_py_both.h, src/if_python.c, src/if_python3.c, 15926 src/proto/if_python.pro 15927 15928Patch 7.3.967 (after 7.3.965) 15929Problem: Build fails on Mac OSX. (Greg Novack) 15930Solution: Undefine clear(). 15931Files: src/if_py_both.h 15932 15933Patch 7.3.968 15934Problem: Multi-byte support is only available when compiled with "big" 15935 features. 15936Solution: Include multibyte by default, with "normal" features. 15937Files: src/feature.h 15938 15939Patch 7.3.969 15940Problem: Can't build with Python 3 and without Python 2. 15941Solution: Adjust #ifdef. (Xavier de Gaye) 15942Files: src/window.c 15943 15944Patch 7.3.970 15945Problem: Syntax highlighting can be slow. 15946Solution: Include the NFA regexp engine. Add the 'regexpengine' option to 15947 select which one is used. (various authors, including Ken Takata, 15948 Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young) 15949Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, 15950 src/Makefile, src/regexp.c, src/regexp.h, src/regexp_nfa.c, 15951 src/structs.h, src/testdir/Makefile, src/testdir/test64.in, 15952 src/testdir/test64.ok, Filelist, runtime/doc/pattern.txt, 15953 runtime/doc/option.txt, src/option.c, src/option.h, 15954 src/testdir/test95.in, src/testdir/test95.ok, 15955 src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, 15956 src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, 15957 src/testdir/Make_vms.mms, src/testdir/Makefile 15958 15959Patch 7.3.971 15960Problem: No support for VS2012 static code analysis. 15961Solution: Add the ANALYZE option. (Mike Williams) 15962Files: src/Make_mvc.mak 15963 15964Patch 7.3.972 15965Problem: Cursor not restored after InsertEnter autocommand if it moved to 15966 another line. 15967Solution: Also restore if the saved line number is still valid. Allow 15968 setting v:char to skip restoring. 15969Files: src/edit.c, runtime/doc/autocmd.txt 15970 15971Patch 7.3.973 15972Problem: Compiler warnings. Crash on startup. (Tony Mechelynck) 15973Solution: Change EMSG2 to EMSGN. Make array one character longer. 15974Files: src/regexp_nfa.c 15975 15976Patch 7.3.974 15977Problem: Can't build with ruby 1.8.5. 15978Solution: Only use ruby_init_stack() when RUBY_INIT_STACK is defined. 15979 (Yukihiro Nakadaira) 15980Files: src/if_ruby.c 15981 15982Patch 7.3.975 15983Problem: Crash in regexp parsing. 15984Solution: Correctly compute the end of allocated memory. 15985Files: src/regexp_nfa.c 15986 15987Patch 7.3.976 15988Problem: Can't build on HP-UX. 15989Solution: Remove modern initialization. (John Marriott) 15990Files: src/regexp_nfa.c 15991 15992Patch 7.3.977 15993Problem: Compiler warnings on 64 bit Windows. 15994Solution: Add type casts. (Mike Williams) Also fix some white space and 15995 uncomment what was commented-out for testing. 15996Files: src/regexp_nfa.c 15997 15998Patch 7.3.978 15999Problem: Regexp debug logs don't have a good name. 16000Solution: Use clear names and make it possible to write logs for the old and 16001 new engines separately. (Taro Muraoka) 16002Files: src/regexp.c, src/regexp_nfa.c 16003 16004Patch 7.3.979 16005Problem: Complex NFA regexp doesn't work. 16006Solution: Set actual state stack end instead of using an arbitrary number. 16007 (Yasuhiro Matsumoto) 16008Files: src/regexp_nfa.c 16009 16010Patch 7.3.980 16011Problem: Regexp logs may contain garbage. Character classes don't work 16012 correctly for multibyte characters. 16013Solution: Check for end of post list. Only use "is" functions for 16014 characters up to 255. (Ken Takata) 16015Files: src/regexp_nfa.c 16016 16017Patch 7.3.981 16018Problem: In the old regexp engine \i, \I, \f and \F don't work on 16019 multibyte characters. 16020Solution: Dereference pointer properly. 16021Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok 16022 16023Patch 7.3.982 16024Problem: In the new regexp engine \p does not work on multibyte 16025 characters. 16026Solution: Don't point to an integer but the characters. 16027Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16028 16029Patch 7.3.983 16030Problem: Unnecessary temp variable. 16031Solution: Remove the variable. 16032Files: src/regexp_nfa.c 16033 16034Patch 7.3.984 16035Problem: A Visual mapping that uses CTRL-G works differently when started 16036 from Insert mode. (Ein Brown) 16037Solution: Reset old_mapped_len when handling typed text in Select mode. 16038Files: src/normal.c 16039 16040Patch 7.3.985 16041Problem: GTK vim not started as gvim doesn't set WM_CLASS property to a 16042 useful value. 16043Solution: Call g_set_prgname() on startup. (James McCoy) 16044Files: src/gui_gtk_x11.c 16045 16046Patch 7.3.986 16047Problem: Test 95 doesn't pass when 'encoding' isn't utf-8. (Yasuhiro 16048 Matsumoto) 16049Solution: Force 'encoding' to be utf-8. 16050Files: src/testdir/test95.in 16051 16052Patch 7.3.987 16053Problem: No easy to run an individual test. Tests 64 fails when 16054 'encoding' is not utf-8. 16055Solution: Add individual test targets to the Makefile. Move some lines from 16056 test 64 to 95. 16057Files: src/Makefile, src/testdir/test64.in, src/testdir/test64.ok, 16058 src/testdir/test95.in, src/testdir/test95.ok 16059 16060Patch 7.3.988 16061Problem: New regexp engine is slow. 16062Solution: Break out of the loop when the state list is empty. 16063Files: src/regexp_nfa.c 16064 16065Patch 7.3.989 16066Problem: New regexp engine compares negative numbers to character. 16067Solution: Add missing case statements. 16068Files: src/regexp_nfa.c 16069 16070Patch 7.3.990 16071Problem: Memory leak in new regexp engine. 16072Solution: Jump to end of function to free memory. (Dominique Pelle) 16073Files: src/regexp_nfa.c 16074 16075Patch 7.3.991 16076Problem: More can be shared by Python 2 and 3. 16077Solution: Move more stuff to if_py_both. (ZyX) 16078Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 16079 src/testdir/test87.ok 16080 16081Patch 7.3.992 16082Problem: Python: Too many type casts. 16083Solution: Change argument types. (ZyX) 16084Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 16085 16086Patch 7.3.993 16087Problem: Python: Later patch does things slightly differently. 16088Solution: Adjusted argument type changes. (ZyX) 16089Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 16090 16091Patch 7.3.994 16092Problem: Python: using magic constants. 16093Solution: Use descriptive values for ml_flags. (ZyX) 16094Files: src/if_py_both.h, src/if_python3.c 16095 16096Patch 7.3.995 16097Problem: Python: Module initialization is duplicated. 16098Solution: Move to shared file. (ZyX) 16099Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 16100 16101Patch 7.3.996 16102Problem: Python: Can't check types of what is returned by bindeval(). 16103Solution: Add vim.List, vim.Dictionary and vim.Function types. (ZyX) 16104Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, 16105 src/testdir/test86.ok, src/testdir/test87.in, 16106 src/testdir/test87.ok 16107 16108Patch 7.3.997 16109Problem: Vim and Python exceptions are different. 16110Solution: Make Vim exceptions be Python exceptions. (ZyX) 16111Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, 16112 src/testdir/test87.in, src/testdir/test87.ok 16113 16114Patch 7.3.998 16115Problem: Python: garbage collection issues. 16116Solution: Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative 16117 refcounts, use PyObject_GC_* for objects with tp_traverse and 16118 tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some 16119 places. (ZyX) 16120Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 16121 16122Patch 7.3.999 16123Problem: New regexp engine sets curbuf temporarily. 16124Solution: Use reg_buf instead, like the old engine. 16125Files: src/regexp_nfa.c 16126 16127Patch 7.3.1000 (whoa!) 16128Problem: Typo in char value causes out of bounds access. 16129Solution: Fix character value. (Klemens Baum) 16130Files: src/regexp.c 16131 16132Patch 7.3.1001 16133Problem: Duplicate condition in if. 16134Solution: Remove one condition. 16135Files: src/regexp_nfa.c 16136 16137Patch 7.3.1002 16138Problem: Valgrind errors for Python interface. 16139Solution: Fix memory leaks when running tests. (ZyX) 16140Files: src/if_py_both.h 16141 16142Patch 7.3.1003 16143Problem: Python interface does not compile with Python 2.2 16144Solution: Fix thread issues and True/False. (ZyX) 16145Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 16146 src/testdir/test86.in, src/testdir/test86.ok, 16147 src/testdir/test87.in, src/testdir/test87.ok 16148 16149Patch 7.3.1004 16150Problem: No error when option could not be set. 16151Solution: Report an error. (ZyX) 16152Files: src/if_py_both.h, src/option.c, src/proto/option.pro, 16153 src/testdir/test86.ok, src/testdir/test87.ok 16154 16155Patch 7.3.1005 16156Problem: Get stuck on regexp "\n*" and on "%s/^\n\+/\r". 16157Solution: Fix handling of matching a line break. (idea by Hirohito Higashi) 16158Files: src/regexp_nfa.c 16159 16160Patch 7.3.1006 16161Problem: NFA engine not used for "\_[0-9]". 16162Solution: Enable this, fixed in patch 1005. 16163Files: src/regexp_nfa.c 16164 16165Patch 7.3.1007 16166Problem: Can't build on Minix 3.2.1. 16167Solution: Add a condition to an #ifdef. (Gautam Tirumala) 16168Files: src/memfile.c 16169 16170Patch 7.3.1008 16171Problem: Test 95 fails on MS-Windows. 16172Solution: Set 'nomore'. Change \i to \f. Change multibyte character to 16173 something that is not matching \i. (Ken Takata) 16174Files: src/testdir/test95.in, src/testdir/test95.ok 16175 16176Patch 7.3.1009 16177Problem: Compiler warning for ambiguous else. 16178Solution: Add curly braces. 16179Files: src/if_py_both.h 16180 16181Patch 7.3.1010 16182Problem: New regexp: adding \Z makes every character match. 16183Solution: Only apply ireg_icombine for composing characters. 16184 Also add missing change from patch 1008. (Ken Takata) 16185Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16186 16187Patch 7.3.1011 16188Problem: New regexp engine is inefficient with multibyte characters. 16189Solution: Handle a character at a time instead of a byte at a time. Also 16190 make \Z partly work. 16191Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16192 16193Patch 7.3.1012 16194Problem: \Z does not work properly with the new regexp engine. 16195Solution: Make \Z work. Add tests. 16196Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16197 16198Patch 7.3.1013 16199Problem: New regexp logging is a bit messy. 16200Solution: Consistently use #defines, add explanatory comment. (Taro Muraoka) 16201Files: src/regexp_nfa.c 16202 16203Patch 7.3.1014 16204Problem: New regexp state dump is hard to read. 16205Solution: Make the state dump more pretty. (Taro Muraoka) 16206Files: src/regexp_nfa.c 16207 16208Patch 7.3.1015 16209Problem: New regexp engine: Matching composing characters is wrong. 16210Solution: Fix matching composing characters. 16211Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16212 16213Patch 7.3.1016 16214Problem: Unused field in nfa_state. 16215Solution: Remove lastthread. 16216Files: src/regexp.h, src/regexp_nfa.c 16217 16218Patch 7.3.1017 16219Problem: Zero width match changes length of match. 16220Solution: For a zero width match put new states in the current position in 16221 the state list. 16222Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, 16223 src/regexp.h 16224 16225Patch 7.3.1018 16226Problem: New regexp engine wastes memory. 16227Solution: Allocate prog with actual number of states, not estimated maximum 16228 number of states. 16229Files: src/regexp_nfa.c 16230 16231Patch 7.3.1019 16232Problem: These do not work with the new regexp engine: \%o123, \%x123, 16233 \%d123, \%u123 and \%U123. 16234Solution: Implement these items. 16235Files: src/regexp_nfa.c 16236 16237Patch 7.3.1020 16238Problem: Not all patterns are tested with auto / old / new engine. 16239Solution: Test patterns with three values of 'regexpengine'. 16240Files: src/testdir/test64.in, src/testdir/test64.ok, 16241 src/testdir/test95.in, src/testdir/test95.ok 16242 16243Patch 7.3.1021 16244Problem: New regexp engine does not ignore order of composing chars. 16245Solution: Ignore composing chars order. 16246Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16247 16248Patch 7.3.1022 16249Problem: Compiler warning for shadowed variable. (John Little) 16250Solution: Move declaration, rename variables. 16251Files: src/regexp_nfa.c 16252 16253Patch 7.3.1023 16254Problem: Searching for composing char only and using \Z has different 16255 results. 16256Solution: Make it match the composing char, matching everything is not 16257 useful. 16258Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok 16259 16260Patch 7.3.1024 16261Problem: New regexp: End of matching pattern not set correctly. (Cesar 16262 Romani) 16263Solution: Quit the loop after finding the match. Store nfa_has_zend in the 16264 program. 16265Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, 16266 src/regexp.h 16267 16268Patch 7.3.1025 16269Problem: New regexp: not matching newline in string. (Marc Weber) 16270Solution: Check for "\n" character. 16271Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16272 16273Patch 7.3.1026 16274Problem: New regexp: pattern that includes a new-line matches too early. 16275 (John McGowan) 16276Solution: Do not start searching in the second line. 16277Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16278 16279Patch 7.3.1027 16280Problem: New regexp performance: Calling no_Magic() very often. 16281Solution: Remove magicness inline. 16282Files: src/regexp_nfa.c 16283 16284Patch 7.3.1028 16285Problem: New regexp performance: Copying a lot of position state. 16286Solution: Only copy the sub-expressions that are being used. 16287Files: src/regexp_nfa.c, src/regexp.h 16288 16289Patch 7.3.1029 16290Problem: New regexp performance: Unused position state being copied. 16291Solution: Keep track of which positions are actually valid. 16292Files: src/regexp_nfa.c 16293 16294Patch 7.3.1030 (after 7.3.1028) 16295Problem: Can't build for debugging. 16296Solution: Fix struct member names. 16297Files: src/regexp_nfa.c 16298 16299Patch 7.3.1031 16300Problem: Compiler warnings for shadowed variable. (John Little) 16301Solution: Move the variable declarations to the scope where they are used. 16302Files: src/regexp_nfa.c 16303 16304Patch 7.3.1032 16305Problem: "\ze" is not supported by the new regexp engine. 16306Solution: Make "\ze" work. 16307Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16308 16309Patch 7.3.1033 16310Problem: "\1" .. "\9" are not supported in the new regexp engine. 16311Solution: Implement them. Add a few more tests. 16312Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, 16313 src/regexp.h 16314 16315Patch 7.3.1034 16316Problem: New regexp code using strange multibyte code. 16317Solution: Use the normal code to advance and backup pointers. 16318Files: src/regexp_nfa.c 16319 16320Patch 7.3.1035 16321Problem: Compiler warning on 64 bit windows. 16322Solution: Add type cast. (Mike Williams) 16323Files: src/if_py_both.h 16324 16325Patch 7.3.1036 16326Problem: Can't build on HP-UX. 16327Solution: Give the union a name. (John Marriott) 16328Files: src/regexp_nfa.c 16329 16330Patch 7.3.1037 16331Problem: Look-behind matching is very slow on long lines. 16332Solution: Add a byte limit to how far back an attempt is made. 16333Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 16334 src/testdir/test64.ok 16335 16336Patch 7.3.1038 16337Problem: Crash when using Cscope. 16338Solution: Avoid negative argument to vim_strncpy(). (Narendran 16339 Gopalakrishnan) 16340Files: src/if_cscope.c 16341 16342Patch 7.3.1039 16343Problem: New regexp engine does not support \%23c, \%<23c and the like. 16344Solution: Implement them. (partly by Yasuhiro Matsumoto) 16345Files: src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in, 16346 src/testdir/test64.ok 16347 16348Patch 7.3.1040 16349Problem: Python: Problems with debugging dynamic build. 16350Solution: Python patch 1. (ZyX) 16351Files: src/if_python.c, src/if_python3.c 16352 16353Patch 7.3.1041 16354Problem: Python: Invalid read valgrind errors. 16355Solution: Python patch 2: defer DICTKEY_UNREF until key is no longer needed. 16356 (ZyX) 16357Files: src/if_py_both.h 16358 16359Patch 7.3.1042 16360Problem: Python: can't assign to vim.Buffer.name. 16361Solution: Python patch 3. (ZyX) 16362Files: runtime/doc/if_pyth.txt, src/ex_cmds.c, src/if_py_both.h, 16363 src/if_python3.c, src/if_python.c, src/proto/ex_cmds.pro, 16364 src/testdir/test86.in, src/testdir/test86.ok, 16365 src/testdir/test87.in, src/testdir/test87.ok 16366 16367Patch 7.3.1043 16368Problem: Python: Dynamic compilation with 2.3 fails. 16369Solution: Python patch 4. (ZyX) 16370Files: src/if_python.c 16371 16372Patch 7.3.1044 16373Problem: Python: No {Buffer,TabPage,Window}.valid attributes. 16374Solution: Python patch 5: add .valid (ZyX) 16375Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 16376 src/testdir/test86.in, src/testdir/test86.ok, 16377 src/testdir/test87.in, src/testdir/test87.ok 16378 16379Patch 7.3.1045 16380Problem: Python: No error handling for VimToPython function. 16381Solution: Python patch 6. (ZyX) 16382Files: src/if_py_both.h 16383 16384Patch 7.3.1046 16385Problem: Python: Using Py_BuildValue for building strings. 16386Solution: Python patch 7 and 7.5: Replace Py_BuildValue with 16387 PyString_FromString. (ZyX) 16388Files: src/if_py_both.h 16389 16390Patch 7.3.1047 16391Problem: Python: dir() does not work properly. 16392Solution: Python patch 8. Add __dir__ method to all objects with custom 16393 tp_getattr supplemented by __members__ attribute for at least 16394 python-2* versions. __members__ is not mentioned in python-3* 16395 dir() output even if it is accessible. (ZyX) 16396Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 16397 src/testdir/test86.in, src/testdir/test86.ok, 16398 src/testdir/test87.in, src/testdir/test87.ok 16399 16400Patch 7.3.1048 16401Problem: Python: no consistent naming. 16402Solution: Python patch 9: Rename d to dict and lookupDict to lookup_dict. 16403 (ZyX) 16404Files: src/if_py_both.h 16405 16406Patch 7.3.1049 16407Problem: Python: no consistent naming 16408Solution: Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX) 16409Files: src/if_py_both.h 16410 16411Patch 7.3.1050 16412Problem: Python: Typo in pyiter_to_tv. 16413Solution: Python patch 11. (ZyX) 16414Files: src/if_py_both.h 16415 16416Patch 7.3.1051 16417Problem: Python: possible memory leaks. 16418Solution: Python patch 12: fix the leaks (ZyX) 16419Files: src/if_py_both.h 16420 16421Patch 7.3.1052 16422Problem: Python: possible SEGV and negative refcount. 16423Solution: Python patch 13: Fix IterIter function. (ZyX) 16424Files: src/if_py_both.h 16425 16426Patch 7.3.1053 16427Problem: Python: no flag for types with tp_traverse+tp_clear. 16428Solution: Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX) 16429Files: src/if_py_both.h 16430 16431Patch 7.3.1054 (after 7.3.1042) 16432Problem: Can't build without the +autocmd feature. (Elimar Riesebieter) 16433Solution: Fix use of buf and curbuf. 16434Files: src/ex_cmds.c, src/testdir/test86.ok, src/testdir/test87.ok 16435 16436Patch 7.3.1055 16437Problem: Negated collection does not match newline. 16438Solution: Handle newline differently. (Hiroshi Shirosaki) 16439Files: src/regexp_nfa.c, src/testdir/test64.ok, src/testdir/test64.in 16440 16441Patch 7.3.1056 16442Problem: Python: possible memory leaks. 16443Solution: Python patch 15. (ZyX) Fix will follow later. 16444Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro 16445 16446Patch 7.3.1057 16447Problem: Python: not enough compatibility. 16448Solution: Python patch 16: Make OutputWritelines support any sequence object 16449 (ZyX) Note: tests fail 16450Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, 16451 src/testdir/test87.in, src/testdir/test87.ok 16452 16453Patch 7.3.1058 16454Problem: Call of funcref does not succeed in other script. 16455Solution: Python patch 17: add get_expanded_name(). (ZyX) 16456Files: src/eval.c, src/proto/eval.pro 16457 16458Patch 7.3.1059 16459Problem: Python: Using fixed size buffers. 16460Solution: Python patch 18: Use python's own formatter. (ZyX) 16461Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 16462 16463Patch 7.3.1060 16464Problem: Python: can't repr() a function. 16465Solution: Python patch 19: add FunctionRepr(). (ZyX) 16466Files: src/if_py_both.h 16467 16468Patch 7.3.1061 16469Problem: Python: Dictionary is not standard. 16470Solution: Python patch 20: Add standard methods and fields. (ZyX) 16471Files: runtime/doc/if_pyth.txt, src/eval.c, src/if_py_both.h, 16472 src/if_python3.c, src/if_python.c, src/proto/eval.pro, 16473 src/testdir/test86.in, src/testdir/test86.ok, 16474 src/testdir/test87.in, src/testdir/test87.ok 16475 16476Patch 7.3.1062 16477Problem: Python: List is not standard. 16478Solution: Python patch 21: Add standard methods and fields. (ZyX) 16479Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, 16480 src/testdir/test87.in, src/testdir/test87.ok 16481 16482Patch 7.3.1063 16483Problem: Python: Function is not standard. 16484Solution: Python patch 22: make Function subclassable. (ZyX) 16485Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro, 16486 src/testdir/test86.in, src/testdir/test86.ok, 16487 src/testdir/test87.in, src/testdir/test87.ok 16488 16489Patch 7.3.1064 16490Problem: Python: insufficient error checking. 16491Solution: Python patch 23. (ZyX) 16492Files: src/if_py_both.h 16493 16494Patch 7.3.1065 16495Problem: Python: key mapping is not standard. 16496Solution: Python patch 24: use PyMapping_Keys. (ZyX) 16497Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 16498 16499Patch 7.3.1066 16500Problem: Python: Insufficient exception and error testing. 16501Solution: Python patch 25. (ZyX) 16502Files: src/testdir/test86.in, src/testdir/test86.ok, 16503 src/testdir/test87.in, src/testdir/test87.ok 16504 16505Patch 7.3.1067 16506Problem: Python: documentation lags behind. 16507Solution: Python patch 26. (ZyX) 16508Files: runtime/doc/if_pyth.txt 16509 16510Patch 7.3.1068 16511Problem: Python: Script is auto-loaded on function creation. 16512Solution: Python patch 27. (ZyX) 16513Files: src/eval.c, src/if_py_both.h, src/proto/eval.pro, 16514 src/testdir/test86.ok, src/testdir/test87.ok, src/vim.h 16515 16516Patch 7.3.1069 16517Problem: Python: memory leaks. 16518Solution: Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX) 16519Files: src/if_py_both.h 16520 16521Patch 7.3.1070 16522Problem: Vim crashes in Python tests. Compiler warning for unused function. 16523Solution: Disable the tests for now. Move the function. 16524Files: src/if_py_both.h, src/if_python.c, src/testdir/test86.in, 16525 src/testdir/test87.in 16526 16527Patch 7.3.1071 16528Problem: New regexp engine: backreferences don't work correctly. 16529Solution: Add every possible start/end position on the state stack. 16530Files: src/regexp_nfa.c, src/regexp.h, src/testdir/test64.in, 16531 src/testdir/test64.ok 16532 16533Patch 7.3.1072 16534Problem: Compiler warning for uninitialized variable. 16535Solution: Initialize it. 16536Files: src/regexp_nfa.c 16537 16538Patch 7.3.1073 16539Problem: New regexp engine may run out of states. 16540Solution: Allocate states dynamically. Also make the test report errors. 16541Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok, 16542 src/testdir/test95.in 16543 16544Patch 7.3.1074 16545Problem: Compiler warning for printf format. (Manuel Ortega) 16546Solution: Add type casts. 16547Files: src/if_py_both.h 16548 16549Patch 7.3.1075 16550Problem: Compiler warning for storing a long_u in an int. 16551Solution: Declare the number as an int. (Mike Williams) 16552Files: src/regexp_nfa.c 16553 16554Patch 7.3.1076 16555Problem: New regexp engine: \@= and \& don't work. 16556Solution: Make these items work. Add column info to logging. 16557Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16558 16559Patch 7.3.1077 16560Problem: Python: Allocating dict the wrong way, causing a crash. 16561Solution: Use py_dict_alloc(). Fix some exception problems. (ZyX) 16562Files: src/if_py_both.h 16563 16564Patch 7.3.1078 16565Problem: New regexp engine: \@! doesn't work. 16566Solution: Implement the negated version of \@=. 16567Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16568 16569Patch 7.3.1079 16570Problem: Test 87 fails. 16571Solution: Fix the test for Python 3.3. (ZyX) Make it pass on 32 bit systems. 16572Files: src/testdir/test87.in, src/testdir/test87.ok 16573 16574Patch 7.3.1080 16575Problem: Test 86 fails. 16576Solution: Comment out the parts that don't work. Make it pass on 32 bit 16577 systems. 16578Files: src/testdir/test86.in, src/testdir/test86.ok 16579 16580Patch 7.3.1081 16581Problem: Compiler warnings on 64-bit Windows. 16582Solution: Change variable types. (Mike Williams) 16583Files: src/if_py_both.h, src/regexp_nfa.c 16584 16585Patch 7.3.1082 16586Problem: New regexp engine: Problem with \@= matching. 16587Solution: Save and restore nfa_match. 16588Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16589 16590Patch 7.3.1083 16591Problem: New regexp engine: Does not support \%^ and \%$. 16592Solution: Support matching start and end of file. 16593Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16594 16595Patch 7.3.1084 16596Problem: New regexp engine: only accepts up to \{,10}. 16597Solution: Remove upper limit. Remove dead code with NFA_PLUS. 16598Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16599 16600Patch 7.3.1085 16601Problem: New regexp engine: Non-greedy multi doesn't work. 16602Solution: Implement \{-}. 16603Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16604 16605Patch 7.3.1086 16606Problem: Old regexp engine accepts illegal range, new one doesn't. 16607Solution: Also accept the illegal range with the new engine. 16608Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16609 16610Patch 7.3.1087 16611Problem: A leading star is not seen as a normal char when \{} follows. 16612Solution: Save and restore the parse state properly. 16613Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 16614 src/testdir/test64.ok 16615 16616Patch 7.3.1088 16617Problem: New regexp engine: \@<= and \@<! are not implemented. 16618Solution: Implement look-behind matching. Fix off-by-one error in old 16619 regexp engine. 16620Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 16621 src/testdir/test64.ok 16622 16623Patch 7.3.1089 16624Problem: Tests 86 and 87 fail on MS-Windows. (Ken Takata) 16625Solution: Fix platform-specific stuff. (ZyX) 16626Files: src/testdir/test86.in, src/testdir/test86.ok, 16627 src/testdir/test87.in, src/testdir/test87.ok 16628 16629Patch 7.3.1090 16630Problem: New regexp engine does not support \z1 .. \z9 and \z(. 16631Solution: Implement the syntax submatches. 16632Files: src/regexp.h, src/regexp_nfa.c 16633 16634Patch 7.3.1091 16635Problem: New regexp engine: no error when using \z1 or \z( where it does 16636 not work. 16637Solution: Give an error message. 16638Files: src/regexp.c, src/regexp_nfa.c 16639 16640Patch 7.3.1092 16641Problem: Can't build with regexp debugging. NFA debug output shows wrong 16642 pattern. 16643Solution: Fix debugging code for recent changes. Add the pattern to the 16644 program. 16645Files: src/regexp_nfa.c, src/regexp.h 16646 16647Patch 7.3.1093 16648Problem: New regexp engine: When a sub expression is empty \1 skips a 16649 character. 16650Solution: Make \1 try the current position when the match is empty. 16651Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16652 16653Patch 7.3.1094 16654Problem: New regexp engine: Attempts to match "^" at every character. 16655Solution: Only try "^" at the start of a line. 16656Files: src/regexp_nfa.c 16657 16658Patch 7.3.1095 16659Problem: Compiler warnings for shadowed variables. (Christian Brabandt) 16660Solution: Rename new_state() to alloc_state(). Remove unnecessary 16661 declaration. 16662Files: src/regexp_nfa.c 16663 16664Patch 7.3.1096 16665Problem: Python: popitem() was not defined in a standard way. 16666Solution: Remove the argument from popitem(). (ZyX) 16667Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/testdir/test86.in, 16668 src/testdir/test86.ok, src/testdir/test87.in, 16669 src/testdir/test87.ok 16670 16671Patch 7.3.1097 16672Problem: Python: a few recently added items are not documented. 16673Solution: Update the documentation. (ZyX) 16674Files: runtime/doc/if_pyth.txt 16675 16676Patch 7.3.1098 16677Problem: Python: Possible memory leaks 16678Solution: Add Py_XDECREF() calls. (ZyX) 16679Files: src/if_py_both.h 16680 16681Patch 7.3.1099 16682Problem: Python: Changing directory with os.chdir() causes problems for 16683 Vim's notion of directories. 16684Solution: Add vim.chdir() and vim.fchdir(). (ZyX) 16685Files: runtime/doc/if_pyth.txt, src/ex_docmd.c, src/if_py_both.h, 16686 src/if_python3.c, src/if_python.c, src/proto/ex_docmd.pro, 16687 src/testdir/test86.in, src/testdir/test86.ok, 16688 src/testdir/test87.in, src/testdir/test87.ok 16689 16690Patch 7.3.1100 16691Problem: Python: a few more memory problems. 16692Solution: Add and remove Py_XDECREF(). (ZyX) 16693Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, 16694 src/testdir/test87.in, src/testdir/test87.ok 16695 16696Patch 7.3.1101 16697Problem: Configure doesn't find Python 3 on Ubuntu 13.04. 16698Solution: First try distutils.sysconfig. Also fix some indents. (Ken 16699 Takata) 16700Files: src/configure.in, src/auto/configure 16701 16702Patch 7.3.1102 16703Problem: Completion of ":py3do" and ":py3file" does not work after ":py3". 16704Solution: Make completion work. (Taro Muraoka) 16705Files: src/ex_docmd.c 16706 16707Patch 7.3.1103 16708Problem: New regexp engine: overhead in saving and restoring. 16709Solution: Make saving and restoring list IDs faster. Don't copy or check \z 16710 subexpressions when they are not used. 16711Files: src/regexp_nfa.c 16712 16713Patch 7.3.1104 16714Problem: New regexp engine does not handle "~". 16715Solution: Add support for "~". 16716Files: src/regexp_nfa.c, src/testdir/test24.in, src/testdir/test24.ok 16717 16718Patch 7.3.1105 16719Problem: New regexp engine: too much code in one function. Dead code. 16720Solution: Move the recursive nfa_regmatch call to a separate function. 16721 Remove the dead code. 16722Files: src/regexp_nfa.c 16723 16724Patch 7.3.1106 16725Problem: New regexp engine: saving and restoring lastlist in the states 16726 takes a lot of time. 16727Solution: Use a second lastlist value for the first recursive call. 16728Files: src/regexp.h, src/regexp_nfa.c 16729 16730Patch 7.3.1107 16731Problem: Compiler warnings for unused variables. 16732Solution: Put the variables inside #ifdef. 16733Files: src/regexp.c, src/regexp_nfa.c 16734 16735Patch 7.3.1108 16736Problem: Error message for os.fchdir() (Charles Peacech) 16737Solution: Clear the error. (ZyX) 16738Files: src/if_py_both.h 16739 16740Patch 7.3.1109 16741Problem: Building on MS-Windows doesn't see changes in if_py_both.h. 16742Solution: Add a dependency. (Ken Takata) 16743Files: src/Make_bc5.mak, src/Make_cyg.mak, src/Make_ming.mak, 16744 src/Make_mvc.mak 16745 16746Patch 7.3.1110 16747Problem: New regexp matching: Using \@= and the like can be slow. 16748Solution: Decide whether to first try matching the zero-width part or what 16749 follows, whatever is more likely to fail. 16750Files: src/regexp_nfa.c 16751 16752Patch 7.3.1111 16753Problem: nfa_recognize_char_class() implementation is inefficient. 16754Solution: Use bits in an int instead of chars in a string. (Dominique Pelle) 16755Files: src/regexp_nfa.c, src/testdir/test36.in, src/testdir/test36.ok 16756 16757Patch 7.3.1112 16758Problem: New regexp engine: \%V not supported. 16759Solution: Implement \%V. Add tests. 16760Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 16761 src/testdir/test64.ok 16762 16763Patch 7.3.1113 16764Problem: New regexp engine: \%'m not supported. 16765Solution: Implement \%'m. Add tests. 16766Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 16767 src/testdir/test64.ok 16768 16769Patch 7.3.1114 (after 7.3.1110) 16770Problem: Can't build without the syntax feature. 16771Solution: Add #ifdefs. (Erik Falor) 16772Files: src/regexp_nfa.c 16773 16774Patch 7.3.1115 16775Problem: Many users don't like the cursor line number when 'relativenumber' 16776 is set. 16777Solution: Have four combinations with 'number' and 'relativenumber'. 16778 (Christian Brabandt) 16779Files: runtime/doc/options.txt, src/option.c, src/screen.c, 16780 src/testdir/test89.in, src/testdir/test89.ok 16781 16782Patch 7.3.1116 16783Problem: Can't build without Visual mode. 16784Solution: Add #ifdefs. 16785Files: src/regexp_nfa.c 16786 16787Patch 7.3.1117 16788Problem: New regexp engine: \%[abc] not supported. 16789Solution: Implement \%[abc]. Add tests. 16790Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16791 16792Patch 7.3.1118 16793Problem: Match failure rate is not very specific. 16794Solution: Tune the failure rate for match items. 16795Files: src/regexp_nfa.c 16796 16797Patch 7.3.1119 16798Problem: Flags in 'cpo' are search for several times. 16799Solution: Store the result and re-use the flags. 16800Files: src/regexp.c, src/regexp_nfa.c 16801 16802Patch 7.3.1120 16803Problem: Crash when regexp logging is enabled. 16804Solution: Avoid using NULL pointers. Advance over count argument. 16805Files: src/regexp.c, src/regexp_nfa.c 16806 16807Patch 7.3.1121 16808Problem: New regexp engine: adding states that are not used. 16809Solution: Don't add the states. 16810Files: src/regexp_nfa.c 16811 16812Patch 7.3.1122 16813Problem: New regexp engine: \@> not supported. 16814Solution: Implement \%>. 16815Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 16816 16817Patch 7.3.1123 16818Problem: Can't build tiny Vim on MS-Windows. 16819Solution: Adjust #ifdef around using modif_fname(). (Mike Williams) 16820Files: src/misc1.c 16821 16822Patch 7.3.1124 16823Problem: Python: Crash on MS-Windows when os.fchdir() is not available. 16824Solution: Check for _chdir to be NULL. (Ken Takata) 16825Files: src/if_py_both.h 16826 16827Patch 7.3.1125 16828Problem: Error for using \%V in a pattern in tiny Vim. 16829Solution: Allow using \%V but never match. (Dominique Pelle) 16830Files: src/regexp_nfa.c 16831 16832Patch 7.3.1126 16833Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) 16834Solution: Assign something to the variable. 16835Files: src/regexp_nfa.c 16836 16837Patch 7.3.1127 16838Problem: No error for using empty \%[]. 16839Solution: Give error message. 16840Files: src/regexp.c, src/regexp_nfa.c 16841 16842Patch 7.3.1128 16843Problem: Now that the NFA engine handles everything every failure is a 16844 syntax error. 16845Solution: Remove the syntax_error flag. 16846Files: src/regexp.c, src/regexp_nfa.c 16847 16848Patch 7.3.1129 16849Problem: Can't see what pattern in syntax highlighting is slow. 16850Solution: Add the ":syntime" command. 16851Files: src/structs.h, src/syntax.c, src/ex_cmds.h, src/ex_docmd.c, 16852 src/proto/syntax.pro, src/ex_cmds2.c, src/proto/ex_cmds2.pro, 16853 runtime/doc/syntax.txt 16854 16855Patch 7.3.1130 (after 7.3.1129) 16856Problem: Can't build with anything but huge features. 16857Solution: Check for FEAT_PROFILE. (Yasuhiro Matsumoto) 16858Files: src/ex_docmd.c, src/structs.h, src/syntax.c 16859 16860Patch 7.3.1131 16861Problem: New regexp engine is a bit slow. 16862Solution: Do not clear the state list. Don't copy syntax submatches when 16863 not used. 16864Files: src/regexp_nfa.c 16865 16866Patch 7.3.1132 16867Problem: Crash when debugging regexp. 16868Solution: Do not try to dump subexpr that were not set. Skip over count of 16869 \% items. 16870Files: src/regexp.c, src/regexp_nfa.c 16871 16872Patch 7.3.1133 16873Problem: New regexp engine is a bit slow. 16874Solution: Skip ahead to a character that must match. Don't try matching a 16875 "^" patter past the start of line. 16876Files: src/regexp_nfa.c, src/regexp.h 16877 16878Patch 7.3.1134 16879Problem: Running test 49 takes a long time. 16880Solution: Don't have it grep all files. 16881Files: src/testdir/test49.vim 16882 16883Patch 7.3.1135 16884Problem: Compiler warning for unused argument. 16885Solution: Add UNUSED. 16886Files: src/syntax.c 16887 16888Patch 7.3.1136 16889Problem: ":func Foo" does not show attributes. 16890Solution: Add "abort", "dict" and "range". (Yasuhiro Matsumoto) 16891Files: src/eval.c 16892 16893Patch 7.3.1137 16894Problem: New regexp engine: collections are slow. 16895Solution: Handle all characters in one go. 16896Files: src/regexp_nfa.c 16897 16898Patch 7.3.1138 16899Problem: New regexp engine: neglist no longer used. 16900Solution: Remove the now unused neglist. 16901Files: src/regexp_nfa.c 16902 16903Patch 7.3.1139 16904Problem: New regexp engine: negated flag is hardly used. 16905Solution: Add separate _NEG states, remove negated flag. 16906Files: src/regexp_nfa.c, src/regexp.h 16907 16908Patch 7.3.1140 16909Problem: New regexp engine: trying expensive match while the result is not 16910 going to be used. 16911Solution: Check for output state already being in the state list. 16912Files: src/regexp_nfa.c 16913 16914Patch 7.3.1141 16915Problem: Win32: Check for available memory is not reliable and adds 16916 overhead. 16917Solution: Remove mch_avail_mem(). (Mike Williams) 16918Files: src/os_win32.c, src/os_win32.h 16919 16920Patch 7.3.1142 16921Problem: Memory leak in ":syntime report". 16922Solution: Clear the grow array. (Dominique Pelle) 16923Files: src/syntax.c 16924 16925Patch 7.3.1143 16926Problem: When mapping NUL it is displayed as an X. 16927Solution: Check for KS_ZERO instead of K_ZERO. (Yasuhiro Matsumoto) 16928Files: src/message.c 16929 16930Patch 7.3.1144 16931Problem: "RO" is not translated everywhere. 16932Solution: Put inside _(). (Sergey Alyoshin) 16933Files: src/buffer.c, src/screen.c 16934 16935Patch 7.3.1145 16936Problem: New regexp engine: addstate() is called very often. 16937Solution: Optimize adding the start state. 16938Files: src/regexp_nfa.c 16939 16940Patch 7.3.1146 16941Problem: New regexp engine: look-behind match not checked when followed by 16942 zero-width match. 16943Solution: Do the look-behind match before adding the zero-width state. 16944Files: src/regexp_nfa.c 16945 16946Patch 7.3.1147 16947Problem: New regexp engine: regstart is only used to find the first match. 16948Solution: Use regstart whenever adding the start state. 16949Files: src/regexp_nfa.c 16950 16951Patch 7.3.1148 16952Problem: No command line completion for ":syntime". 16953Solution: Implement the completion. (Dominique Pelle) 16954Files: runtime/doc/map.txt, src/ex_cmds.h, src/ex_docmd.c, 16955 src/ex_getln.c, src/proto/syntax.pro, src/syntax.c, src/vim.h 16956 16957Patch 7.3.1149 16958Problem: New regexp engine: Matching plain text could be faster. 16959Solution: Detect a plain text match and handle it specifically. Add 16960 vim_regfree(). 16961Files: src/regexp.c, src/regexp.h, src/regexp_nfa.c, 16962 src/proto/regexp.pro, src/buffer.c, src/edit.c, src/eval.c, 16963 src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, 16964 src/ex_getln.c, src/fileio.c, src/gui.c, src/misc1.c, src/misc2.c, 16965 src/option.c, src/syntax.c, src/quickfix.c, src/search.c, 16966 src/spell.c, src/tag.c, src/window.c, src/screen.c, src/macros.h, 16967 src/testdir/test64.in, src/testdir/test64.ok 16968 16969Patch 7.3.1150 16970Problem: New regexp engine: Slow when a look-behind match does not have a 16971 width specified. 16972Solution: Try to compute the maximum width. 16973Files: src/regexp_nfa.c 16974 16975Patch 7.3.1151 16976Problem: New regexp engine: Slow when a look-behind match is followed by a 16977 zero-width match. 16978Solution: Postpone the look-behind match more often. 16979Files: src/regexp_nfa.c 16980 16981Patch 7.3.1152 16982Problem: In tiny build ireg_icombine is undefined. (Tony Mechelynck) 16983Solution: Add #ifdef. 16984Files: src/regexp_nfa.c 16985 16986Patch 7.3.1153 16987Problem: New regexp engine: Some look-behind matches are very expensive. 16988Solution: Postpone invisible matches further, until a match is almost found. 16989Files: src/regexp_nfa.c 16990 16991Patch 7.3.1154 16992Problem: New regexp_nfa engine: Unnecessary code. 16993Solution: Remove unnecessary code. 16994Files: src/regexp_nfa.c 16995 16996Patch 7.3.1155 16997Problem: MS-DOS: "make test" uses external rmdir command. 16998Solution: Rename "rmdir" to "rd". (Taro Muraoka) 16999Files: src/testdir/Make_dos.mak 17000 17001Patch 7.3.1156 17002Problem: Compiler warnings. (dv1445) 17003Solution: Initialize variables, even when the value isn't really used. 17004Files: src/regexp_nfa.c, src/eval.c 17005 17006Patch 7.3.1157 17007Problem: New regexp engine fails on "\(\<command\)\@<=.*" 17008Solution: Fix rule for postponing match. Further tune estimating whether 17009 postponing works better. Add test. 17010Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 17011 17012Patch 7.3.1158 17013Problem: Crash when running test 86. (Jun Takimoto) 17014Solution: Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter) 17015Files: src/if_python.c, src/if_python3.c 17016 17017Patch 7.3.1159 17018Problem: The round() function is not always available. (Christ van 17019 Willegen) 17020Solution: Use the solution from f_round(). 17021Files: src/ex_cmds2.c, src/eval.c, src/proto/eval.pro 17022 17023Patch 7.3.1160 17024Problem: Mixing long and pointer doesn't always work. 17025Solution: Avoid cast to pointer. 17026Files: src/undo.c 17027 17028Patch 7.3.1161 17029Problem: Python: PyList_SetItem() is inefficient. 17030Solution: Use PyList_SET_ITEM() (ZyX) 17031Files: src/if_py_both.h 17032 17033Patch 7.3.1162 17034Problem: Python: Memory leaks 17035Solution: Add more Py_DECREF(). (ZyX) 17036Files: src/if_py_both.h, src/if_python.c 17037 17038Patch 7.3.1163 17039Problem: Not easy to load Python modules. 17040Solution: Search "python2", "python3" and "pythonx" directories in 17041 'runtimepath' for Python modules. (ZyX) 17042Files: runtime/doc/if_pyth.txt, src/configure.in, src/ex_cmds2.c, 17043 src/if_py_both.h, src/if_python.c, src/if_python3.c, 17044 src/testdir/test86.in, src/testdir/test87.in, src/auto/configure 17045 17046Patch 7.3.1164 17047Problem: Can't test what is actually displayed on screen. 17048Solution: Add the screenchar() and screenattr() functions. 17049Files: src/eval.c, runtime/doc/eval.txt 17050 17051Patch 7.3.1165 17052Problem: HP-UX compiler can't handle zero size array. (Charles Cooper) 17053Solution: Make the array one item big. 17054Files: src/regexp.h, src/regexp_nfa.c 17055 17056Patch 7.3.1166 17057Problem: Loading Python modules is not tested. 17058Solution: Enable commented-out tests, add missing files. (ZyX) 17059Files: src/testdir/test86.in, src/testdir/test86.ok, 17060 src/testdir/test87.in, src/testdir/test87.ok, 17061 src/testdir/python2/module.py, src/testdir/python3/module.py, 17062 src/testdir/pythonx/module.py, src/testdir/pythonx/modulex.py, 17063 Filelist 17064 17065Patch 7.3.1167 17066Problem: Python configure check doesn't reject Python 2 when requesting 17067 Python 3. Some systems need -pthreads instead of -pthread. 17068Solution: Adjust configure accordingly. (Andrei Olsen) 17069Files: src/configure.in, src/auto/configure 17070 17071Patch 7.3.1168 17072Problem: Python "sane" configure checks give a warning message. 17073Solution: Use single quotes instead of escaped double quotes. (Ben Fritz) 17074Files: src/configure.in, src/auto/configure 17075 17076Patch 7.3.1169 17077Problem: New regexp engine: some work is done while executing a pattern, 17078 even though the result is predictable. 17079Solution: Do the work while compiling the pattern. 17080Files: src/regexp_nfa.c 17081 17082Patch 7.3.1170 17083Problem: Patch 7.3.1058 breaks backwards compatibility, not possible to use 17084 a function reference as a string. (lilydjwg) 17085Solution: Instead of translating the function name only translate "s:". 17086Files: src/eval.c 17087 17088Patch 7.3.1171 17089Problem: Check for digits and ascii letters can be faster. 17090Solution: Use a trick with one comparison. (Dominique Pelle) 17091Files: src/macros.h 17092 17093Patch 7.3.1172 17094Problem: Python 2: loading modules doesn't work well. 17095Solution: Fix the code. Add more tests. (ZyX) 17096Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, 17097 src/testdir/python2/module.py, src/testdir/python3/module.py, 17098 src/testdir/python_after/after.py, 17099 src/testdir/python_before/before.py, src/testdir/test86.in, 17100 src/testdir/test86.ok, src/testdir/test87.in, 17101 src/testdir/test87.ok, Filelist 17102 17103Patch 7.3.1173 17104Problem: Python 2 tests don't have the same output everywhere. 17105Solution: Make the Python 2 tests more portable. (ZyX) 17106Files: src/testdir/test86.in, src/testdir/test86.ok 17107 17108Patch 7.3.1174 17109Problem: Python 2 and 3 use different ways to load modules. 17110Solution: Use the same method. (ZyX) 17111Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python3.c, 17112 src/if_python.c 17113 17114Patch 7.3.1175 17115Problem: Using isalpha() and isalnum() can be slow. 17116Solution: Use range checks. (Mike Williams) 17117Files: src/ex_docmd.c, src/macros.h 17118 17119Patch 7.3.1176 17120Problem: Compiler warnings on 64 bit system. 17121Solution: Add type casts. (Mike Williams) 17122Files: src/eval.c, src/if_py_both.h 17123 17124Patch 7.3.1177 17125Problem: Wasting memory on padding. 17126Solution: Reorder struct fields. (Dominique Pelle) 17127Files: src/structs.h, src/fileio.c 17128 17129Patch 7.3.1178 17130Problem: Can't put all Vim config files together in one directory. 17131Solution: Load ~/.vim/vimrc if ~/.vimrc does not exist. (Lech Lorens) 17132Files: runtime/doc/gui.txt, runtime/doc/starting.txt, src/gui.c, 17133 src/main.c, src/os_amiga.h, src/os_dos.h, src/os_unix.h 17134 17135Patch 7.3.1179 17136Problem: When a global mapping starts with the same characters as a 17137 buffer-local mapping Vim waits for a character to be typed to find 17138 out whether the global mapping is to be used. (Andy Wokula) 17139Solution: Use the local mapping without waiting. (Michael Henry) 17140Files: runtime/doc/map.txt, src/getchar.c 17141 17142Patch 7.3.1180 17143Problem: When current directory changes, path from cscope may no longer be 17144 valid. (AS Budden) 17145Solution: Always store the absolute path. (Christian Brabandt) 17146Files: src/if_cscope.c 17147 17148Patch 7.3.1181 17149Problem: Wrong error message for 1.0[0]. 17150Solution: Check for funcref and float separately. (Yasuhiro Matsumoto) 17151Files: src/eval.c 17152 17153Patch 7.3.1182 17154Problem: 'backupcopy' default on MS-Windows does not work for hard and soft 17155 links. 17156Solution: Check for links. (David Pope, Ken Takata) 17157Files: src/fileio.c, src/os_win32.c, src/proto/os_win32.pro 17158 17159Patch 7.3.1183 17160Problem: Python tests 86 and 87 fail. 17161Solution: Add "empty" files. (ZyX) 17162Files: src/testdir/python_before/before_1.py, 17163 src/testdir/python_before/before_2.py 17164 17165Patch 7.3.1184 17166Problem: Highlighting is sometimes wrong. (Axel Bender) 17167Solution: Fetch regline again when returning from recursive regmatch. 17168Files: src/regexp_nfa.c 17169 17170Patch 7.3.1185 17171Problem: New regexp engine: no match with ^ after \n. (SungHyun Nam) 17172Solution: Fix it, add a test. 17173Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 17174 17175Patch 7.3.1186 17176Problem: Python 3: test 87 may crash. 17177Solution: Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto) 17178Files: src/if_python3.c 17179 17180Patch 7.3.1187 (after 7.3.1170) 17181Problem: "s:" is recognized but "<SID>" is not. (ZyX) 17182Solution: Translate "<SID>" like "s:". 17183Files: src/eval.c 17184 17185Patch 7.3.1188 17186Problem: Newline characters messing up error message. 17187Solution: Remove the newlines. (Kazunobu Kuriyama) 17188Files: src/gui_x11.c 17189 17190Patch 7.3.1189 (after 7.3.1185) 17191Problem: Highlighting is still wrong sometimes. (Dominique Pelle) 17192Solution: Also restore reginput properly. 17193Files: src/regexp_nfa.c 17194 17195Patch 7.3.1190 17196Problem: Compiler warning for parentheses. (Christian Wellenbrock) 17197Solution: Change #ifdef. 17198Files: src/ex_docmd.c 17199 17200Patch 7.3.1191 17201Problem: Backreference to previous line doesn't work. (Lech Lorens) 17202Solution: Implement looking in another line. 17203Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 17204 src/testdir/test64.ok 17205 17206Patch 7.3.1192 17207Problem: Valgrind reports errors when using backreferences. (Dominique 17208 Pelle) 17209Solution: Do not check the end of submatches. 17210Files: src/regexp_nfa.c 17211 17212Patch 7.3.1193 17213Problem: fail_if_missing not used for Python 3. 17214Solution: Give an error when Python 3 can't be configured. (Andrei Olsen) 17215Files: src/configure.in, src/auto/configure 17216 17217Patch 7.3.1194 17218Problem: Yaml highlighting is slow. 17219Solution: Tune the estimation of pattern failure chance. 17220Files: src/regexp_nfa.c 17221 17222Patch 7.3.1195 17223Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) 17224Solution: Set the length to the matching backref. 17225Files: src/regexp.c 17226 17227Patch 7.3.1196 17228Problem: Old regexp engine does not match pattern with backref correctly. 17229 (Dominique Pelle) 17230Solution: Fix setting status. Test multi-line patterns better. 17231Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok 17232 17233Patch 7.3.1197 17234Problem: ":wviminfo!" does not write history previously read from a viminfo 17235 file. (Roland Eggner) 17236Solution: When not merging history write all entries. 17237Files: src/ex_cmds.c, src/ex_getln.c, src/proto/ex_getln.pro 17238 17239Patch 7.3.1198 17240Problem: Build error when using Perl 5.18.0 and dynamic loading. 17241Solution: Change #ifdefs for Perl_croak_xs_usage. (Ike Devolder) 17242Files: src/if_perl.xs 17243 17244Patch 7.3.1199 17245Problem: When evaluating 'foldexpr' causes an error this is silently 17246 ignored and evaluation is retried every time. 17247Solution: Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is 17248 it is causing errors. (Christian Brabandt) 17249Files: src/fold.c 17250 17251Patch 7.3.1200 17252Problem: When calling setline() from Insert mode, using CTRL-R =, undo does 17253 not work properly. (Israel Chauca) 17254Solution: Sync undo after evaluating the expression. (Christian Brabandt) 17255Files: src/edit.c, src/testdir/test61.in, src/testdir/test61.ok 17256 17257Patch 7.3.1201 17258Problem: When a startup script creates a preview window, it probably 17259 becomes the current window. 17260Solution: Make another window the current one. (Christian Brabandt) 17261Files: src/main.c 17262 17263Patch 7.3.1202 (after 7.3.660) 17264Problem: Tags are not found in case-folded tags file. (Darren cole, Issue 17265 90) 17266Solution: Take into account that when case folding was used for the tags 17267 file "!rm" sorts before the "!_TAG" header lines. 17268Files: src/tag.c 17269 17270Patch 7.3.1203 17271Problem: Matches from matchadd() might be highlighted incorrectly when they 17272 are at a fixed position and inserting lines. (John Szakmeister) 17273Solution: Redraw all lines below a change if there are highlighted matches. 17274 (idea by Christian Brabandt) 17275Files: src/screen.c 17276 17277Patch 7.3.1204 17278Problem: Calling gettabwinvar() in 'tabline' cancels Visual mode. (Hirohito 17279 Higashi) 17280Solution: Don't always use goto_tabpage_tp(). 17281Files: src/window.c, src/proto/window.pro, src/eval.c, src/if_py_both.h 17282 17283Patch 7.3.1205 17284Problem: logtalk.dict is not removed on uninstall. 17285Solution: Remove the file. (Kazunobu Kuriyama) 17286Files: src/Makefile 17287 17288Patch 7.3.1206 17289Problem: Inconsistent function argument declarations. 17290Solution: Use ANSI style. 17291Files: src/if_py_both.h 17292 17293Patch 7.3.1207 17294Problem: New regexp engine: no match found on "#if FOO". (Lech Lorens) 17295Solution: When adding a state gets skipped don't adjust the index. 17296Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 17297 17298Patch 7.3.1208 17299Problem: Compiler warnings on MS-Windows. 17300Solution: Add type cast. Move variable declaration. (Mike Williams) 17301Files: src/option.c, src/os_mswin.c 17302 17303Patch 7.3.1209 17304Problem: No completion for ":tabdo". 17305Solution: Add tabdo to the list of modifiers. (Dominique Pelle) 17306Files: src/ex_docmd.c 17307 17308Patch 7.3.1210 (after 7.3.1182) 17309Problem: 'backupcopy' default on MS-Windows is wrong when 'encoding' equals 17310 the current codepage. 17311Solution: Change the #else block. (Ken Takata) 17312Files: src/os_win32.c 17313 17314Patch 7.3.1211 17315Problem: MS-Windows: When 'encoding' differs from the current codepage 17316 ":hardcopy" does not work properly. 17317Solution: Use TextOutW() and SetDlgItemTextW(). (Ken Takata) 17318Files: src/os_mswin.c, src/vim.rc 17319 17320Patch 7.3.1212 17321Problem: "make test" on MS-Windows does not report failure like Unix does. 17322Solution: Make it work like on Unix. (Taro Muraoka) 17323Files: src/testdir/Make_dos.mak 17324 17325Patch 7.3.1213 17326Problem: Can't build with small features and Python. 17327Solution: Adjust #ifdefs. 17328Files: src/eval.c, src/buffer.c, src/eval.c, src/window.c 17329 17330Patch 7.3.1214 17331Problem: Missing declaration for init_users() and realloc_post_list(). 17332 (Salman Halim) 17333Solution: Add the declarations. 17334Files: src/misc1.c, src/regexp_nfa.c 17335 17336Patch 7.3.1215 17337Problem: Compiler warning for function not defined. 17338Solution: Add #ifdef. 17339Files: src/misc1.c 17340 17341Patch 7.3.1216 17342Problem: Configure can't find Motif on Ubuntu. 17343Solution: Search for libXm in /usr/lib/*-linux-gnu. 17344Files: src/configure.in, src/auto/configure 17345 17346Patch 7.3.1217 17347Problem: New regexp engine: Can't handle \%[[ao]]. (Yukihiro Nakadaira) 17348Solution: Support nested atoms inside \%[]. 17349Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 17350 17351Patch 7.3.1218 17352Problem: "make test" on MS-Windows does not clean all temporary files and 17353 gives some unnecessary message. 17354Solution: Clean the right files. Create .failed files. (Ken Takata) 17355Files: src/testdir/Make_dos.mak 17356 17357Patch 7.3.1219 17358Problem: No test for using []] inside \%[]. 17359Solution: Add a test. 17360Files: src/testdir/test64.in, src/testdir/test64.ok 17361 17362Patch 7.3.1220 17363Problem: MS-Windows: When using wide font italic and bold are not included. 17364Solution: Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata, 17365 Taro Muraoka) 17366Files: src/gui.c, src/gui.h, src/gui_w48.c 17367 17368Patch 7.3.1221 17369Problem: When build flags change "make distclean" run into a configure 17370 error. 17371Solution: When CFLAGS changes delete auto/config.cache. Also avoid adding 17372 duplicate text to flags. (Ken Takata) 17373Files: src/Makefile, src/configure.in, src/auto/configure 17374 17375Patch 7.3.1222 17376Problem: Cannot execute some tests from the src directly. 17377Solution: Add missing targets. 17378Files: src/Makefile 17379 17380Patch 7.3.1223 17381Problem: Tests fail on MS-Windows. 17382Solution: Avoid depending on OS version. Use DOS commands instead of Unix 17383 commands. (Taro Muraoka, Ken Takata) 17384Files: src/testdir/test17.in, src/testdir/test50.in, 17385 src/testdir/test71.in, src/testdir/test77.in 17386 17387Patch 7.3.1224 17388Problem: Clang gives warnings on xxd. 17389Solution: Change how to use part of a string. (Dominique Pelle) Also avoid 17390 warning for return not reached. 17391Files: src/xxd/xxd.c, src/regexp_nfa.c 17392 17393Patch 7.3.1225 17394Problem: Compiler warnings when building with Motif. 17395Solution: Change set_label() argument. (Kazunobu Kuriyama) 17396Files: src/gui_motif.c 17397 17398Patch 7.3.1226 17399Problem: Python: duplicate code. 17400Solution: Share code between OutputWrite() and OutputWritelines(). (ZyX) 17401Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok 17402 17403Patch 7.3.1227 17404Problem: Inconsistent string conversion. 17405Solution: Use 'encoding' instead of utf-8. Use METH_O in place of 17406 METH_VARARGS where appropriate. (ZyX) 17407Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok 17408 17409Patch 7.3.1228 17410Problem: Python: various inconsistencies and problems. 17411Solution: StringToLine now supports both bytes() and unicode() objects. 17412 Make function names consistent. Fix memory leak fixed in 17413 StringToLine. (ZyX) 17414Files: src/if_py_both.h, src/if_python3.c, src/if_python.c 17415 17416Patch 7.3.1229 17417Problem: Python: not so easy to delete/restore translating. 17418Solution: Make macros do translation of exception messages. (ZyX) 17419 Note: this breaks translations! 17420Files: src/if_py_both.h, src/if_python3.c 17421 17422Patch 7.3.1230 17423Problem: Python: Exception messages are not clear. 17424Solution: Make exception messages more verbose. (ZyX) 17425Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 17426 src/testdir/test86.ok, src/testdir/test87.ok 17427 17428Patch 7.3.1231 17429Problem: Python: use of numbers not consistent. 17430Solution: Add support for Number protocol. (ZyX) 17431Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 17432 src/testdir/test86.ok, src/testdir/test87.ok 17433 17434Patch 7.3.1232 17435Problem: Python: inconsistencies in variable names. 17436Solution: Rename variables. (ZyX) 17437Files: src/eval.c, src/if_py_both.h 17438 17439Patch 7.3.1233 17440Problem: Various Python problems. 17441Solution: Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory 17442 leaks in StringToLine(), BufferMark() and convert_dl. (ZyX) 17443Files: src/if_py_both.h, src/testdir/test86.in, src/testdir/test86.ok, 17444 src/testdir/test87.in, src/testdir/test87.ok 17445 17446Patch 7.3.1234 (after 7.3.1229) 17447Problem: Python: Strings are not marked for translation. 17448Solution: Add N_() where appropriate. (ZyX) 17449Files: src/if_py_both.h 17450 17451Patch 7.3.1235 17452Problem: In insert mode CTRL-] is not inserted, on the command-line it is. 17453Solution: Don't insert CTRL-] on the command line. (Yukihiro Nakadaira) 17454Files: src/ex_getln.c 17455 17456Patch 7.3.1236 17457Problem: Python: WindowSetattr() missing support for NUMBER_UNSIGNED. 17458Solution: Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX) 17459Files: src/if_py_both.h, src/if_python3.c, src/if_python.c, 17460 src/testdir/pythonx/failing.py, 17461 src/testdir/pythonx/failing_import.py, src/testdir/test86.in, 17462 src/testdir/test86.ok, src/testdir/test87.in, 17463 src/testdir/test87.ok, src/testdir/pythonx/topmodule/__init__.py, 17464 src/testdir/pythonx/topmodule/submodule/__init__.py, 17465 src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py, 17466 src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py 17467 17468Patch 7.3.1237 17469Problem: Python: non-import errors not handled correctly. 17470Solution: Let non-ImportError exceptions pass the finder. (ZyX) 17471Files: src/if_py_both.h, src/testdir/test86.ok, src/testdir/test87.ok 17472 17473Patch 7.3.1238 17474Problem: Crash in Python interface on 64 bit machines. 17475Solution: Change argument type of PyString_AsStringAndSize. (Taro Muraoka, 17476 Jun Takimoto) 17477Files: src/if_python.c 17478 17479Patch 7.3.1239 17480Problem: Can't build with Python and MSVC10. 17481Solution: Move #if outside of macro. (Taro Muraoka) 17482Files: src/if_py_both.h 17483 17484Patch 7.3.1240 17485Problem: Memory leak in findfile(). 17486Solution: Free the memory. (Christian Brabandt) 17487Files: src/eval.c 17488 17489Patch 7.3.1241 (after 7.3.1236) 17490Problem: Some test files missing from the distribution. 17491Solution: Update the list of files. 17492Files: Filelist 17493 17494Patch 7.3.1242 17495Problem: No failure when trying to use a number as a string. 17496Solution: Give an error when StringToLine() is called with an instance of 17497 the wrong type. (Jun Takimoto) 17498Files: src/if_py_both.h 17499 17500Patch 7.3.1243 17501Problem: New regexp engine: back references in look-behind match don't 17502 work. (Lech Lorens) 17503Solution: Copy the submatches before a recursive match. Also fix function 17504 prototypes. 17505Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 17506 17507Patch 7.3.1244 17508Problem: MS-Windows: confirm() dialog text may not fit. 17509Solution: Use GetTextWidthEnc() instead of GetTextWidth(). (Yasuhiro 17510 Matsumoto) 17511Files: src/gui_w32.c 17512 17513Patch 7.3.1245 17514Problem: MS-Windows: confirm() dialog text may still not fit. 17515Solution: Use GetTextWidthEnc() instead of GetTextWidth() in two more 17516 places. (Yasuhiro Matsumoto) 17517Files: src/gui_w32.c 17518 17519Patch 7.3.1246 17520Problem: When setting 'winfixheight' and resizing the window causes the 17521 window layout to be wrong. 17522Solution: Add frame_check_height() and frame_check_width() (Yukihiro 17523 Nakadaira) 17524Files: src/window.c 17525 17526Patch 7.3.1247 17527Problem: New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match. 17528Solution: When there is a PIM add a duplicate state that starts at another 17529 position. 17530Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 17531 17532Patch 7.3.1248 17533Problem: Still have old hacking code for Input Method. 17534Solution: Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to 17535 Input Method activation. (Yukihiro Nakadaira) 17536Files: runtime/doc/options.txt, src/fileio.c, src/mbyte.c, src/option.c, 17537 src/option.h, src/proto/fileio.pro 17538 17539Patch 7.3.1249 17540Problem: Modeline not recognized when using "Vim" instead of "vim". 17541Solution: Also accept "Vim". 17542Files: src/buffer.c 17543 17544Patch 7.3.1250 17545Problem: Python tests fail on MS-Windows. 17546Solution: Change backslashes to slashes. (Taro Muraoka) 17547Files: src/testdir/test86.in, src/testdir/test87.in 17548 17549Patch 7.3.1251 17550Problem: Test 61 messes up viminfo. 17551Solution: Specify a separate viminfo file. 17552Files: src/testdir/test61.in 17553 17554Patch 7.3.1252 17555Problem: gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps 17556 if the corresponding menu command contains additional characters 17557 like the shortcut marker '&' or if you use a non-english locale. 17558Solution: Use menu->en_dname or menu->dname. (Martin Gieseking) 17559Files: src/gui_w32.c 17560 17561Patch 7.3.1253 (after 7.3.1200) 17562Problem: Still undo problem after using CTRL-R = setline(). (Hirohito 17563 Higashi) 17564Solution: Set the ins_need_undo flag. 17565Files: src/edit.c 17566 17567Patch 7.3.1254 (after 7.3.1252) 17568Problem: Can't build without the multi-lang feature. (John Marriott) 17569Solution: Add #ifdef. 17570Files: src/gui_w32.c 17571 17572Patch 7.3.1255 17573Problem: Clang warnings when building with Athena. 17574Solution: Add type casts. (Dominique Pelle) 17575Files: src/gui_at_fs.c 17576 17577Patch 7.3.1256 17578Problem: Can't build without eval or autocmd feature. 17579Solution: Add #ifdefs. 17580Files: src/mbyte.c, src/window.c 17581 17582Patch 7.3.1257 17583Problem: With GNU gettext() ":lang de_DE.utf8" does not always result in 17584 German messages. 17585Solution: Clear the $LANGUAGE environment variable. 17586Files: src/ex_cmds2.c 17587 17588Patch 7.3.1258 17589Problem: Using submatch() may crash Vim. (Ingo Karkat) 17590Solution: Restore the number of subexpressions used. 17591Files: src/regexp_nfa.c 17592 17593Patch 7.3.1259 17594Problem: No test for patch 7.3.1258 17595Solution: Add a test entry. 17596Files: src/testdir/test64.in, src/testdir/test64.ok 17597 17598Patch 7.3.1260 17599Problem: User completion does not get the whole command line in the command 17600 line window. 17601Solution: Pass on the whole command line. (Daniel Thau) 17602Files: src/ex_getln.c, src/structs.h 17603 17604Patch 7.3.1261 (after patch 7.3.1179) 17605Problem: A buffer-local language mapping from a keymap stops a global 17606 insert mode mapping from working. (Ron Aaron) 17607Solution: Do not wait for more characters to be typed only when the mapping 17608 was defined with <nowait>. 17609Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, 17610 src/testdir/test75.in, src/testdir/test75.ok 17611 17612Patch 7.3.1262 17613Problem: Crash and compilation warnings with Cygwin. 17614Solution: Check return value of XmbTextListToTextProperty(). Add type casts. 17615 Adjust #ifdefs. (Lech Lorens) 17616Files: src/main.c, src/os_unix.c, src/ui.c 17617 17618Patch 7.3.1263 17619Problem: Typo in short option name. 17620Solution: Change "imse" to "imsf". 17621Files: src/option.c 17622 17623Patch 7.3.1264 (after 7.3.1261) 17624Problem: Missing m_nowait. 17625Solution: Include missing part of the patch. 17626Files: src/structs.h 17627 17628Patch 7.3.1265 (after 7.3.1249) 17629Problem: Accepting "Vim:" for a modeline causes errors too often. 17630Solution: Require "Vim:" to be followed by "set". 17631Files: src/buffer.c 17632 17633Patch 7.3.1266 17634Problem: QNX: GUI fails to start. 17635Solution: Remove the QNX-specific #ifdef. (Sean Boudreau) 17636Files: src/gui.c 17637 17638Patch 7.3.1267 17639Problem: MS-Windows ACL support doesn't work well. 17640Solution: Implement more ACL support. (Ken Takata) 17641Files: src/os_win32.c 17642 17643Patch 7.3.1268 17644Problem: ACL support doesn't work when compiled with MingW. 17645Solution: Support ACL on MingW. (Ken Takata) 17646Files: src/os_win32.c, src/os_win32.h 17647 17648Patch 7.3.1269 17649Problem: Insert completion keeps entry selected even though the list has 17650 changed. (Olivier Teuliere) 17651Solution: Reset compl_shown_match and compl_curr_match. (Christian Brabandt) 17652Files: src/edit.c 17653 17654Patch 7.3.1270 17655Problem: Using "Vp" in an empty buffer can't be undone. (Hauke Petersen) 17656Solution: Save one line in an empty buffer. (Christian Brabandt) 17657Files: src/ops.c 17658 17659Patch 7.3.1271 (after 7.3.1260) 17660Problem: Command line completion does not work. 17661Solution: Move setting xp_line down. (Daniel Thau) 17662Files: src/ex_getln.c 17663 17664Patch 7.3.1272 17665Problem: Crash when editing Ruby file. (Aliaksandr Rahalevich) 17666Solution: Reallocate the state list when necessary. 17667Files: src/regexp_nfa.c 17668 17669Patch 7.3.1273 17670Problem: When copying a location list the index might be wrong. 17671Solution: Set the index to one when using the first entry. (Lech Lorens) 17672Files: src/quickfix.c 17673 17674Patch 7.3.1274 17675Problem: When selecting an entry from a location list it may pick an 17676 arbitrary window or open a new one. 17677Solution: Prefer using a window related to the location list. (Lech Lorens) 17678Files: src/quickfix.c 17679 17680Patch 7.3.1275 17681Problem: "gn" does not work when the match is a single character. 17682Solution: Fix it, add a test. (Christian Brabandt) 17683Files: src/search.c, src/testdir/test53.in, src/testdir/test53.ok 17684 17685Patch 7.3.1276 17686Problem: When using a cscope connection resizing the window may send 17687 SIGWINCH to cscope and it quits. 17688Solution: Call setpgid(0, 0) in the child process. (Narendran Gopalakrishnan) 17689Files: src/if_cscope.c 17690 17691Patch 7.3.1277 17692Problem: In diff mode 'cursorline' also draws in the non-active window. 17693 When 'nu' and 'sbr' are set the 'sbr' string is not underlined. 17694Solution: Only draw the cursor line in the current window. Combine the 17695 'cursorline' and other highlighting attributes. (Christian 17696 Brabandt) 17697Files: src/screen.c 17698 17699Patch 7.3.1278 17700Problem: When someone sets the screen size to a huge value with "stty" Vim 17701 runs out of memory before reducing the size. 17702Solution: Limit Rows and Columns in more places. 17703Files: src/gui.c, src/gui_gtk_x11.c, src/option.c, src/os_unix.c, 17704 src/proto/term.pro, src/term.c 17705 17706Patch 7.3.1279 17707Problem: Compiler warning for variable uninitialized. (Tony Mechelynck) 17708Solution: Add an init. 17709Files: src/ex_getln.c 17710 17711Patch 7.3.1280 17712Problem: Reading memory already freed since patch 7.3.1247. (Simon 17713 Ruderich, Dominique Pelle) 17714Solution: Copy submatches before reallocating the state list. 17715Files: src/regexp_nfa.c 17716 17717Patch 7.3.1281 17718Problem: When 'ttymouse' is set to "xterm2" clicking in column 123 moves 17719 the cursor to column 96. (Kevin Goodsell) 17720Solution: Decode KE_CSI. 17721Files: src/term.c 17722 17723Patch 7.3.1282 (after 7.3.1277) 17724Problem: 'cursorline' not drawn in any other window. (Charles Campbell) 17725Solution: Do draw the cursor line in other windows. 17726Files: src/screen.c 17727 17728Patch 7.3.1283 17729Problem: Test 71 fails on MS-Windows. 17730Solution: Put the binary data in a separate file. (Ken Takata) 17731Files: src/testdir/test71.in, src/testdir/test71a.in 17732 17733Patch 7.3.1284 17734Problem: Compiler warnings in MS-Windows clipboard handling. 17735Solution: Add type casts. (Ken Takata) 17736Files: src/winclip.c 17737 17738Patch 7.3.1285 17739Problem: No tests for picking a window when selecting an entry in a 17740 location list. Not picking the right window sometimes. 17741Solution: Add test 96. Set usable_win appropriately. (Lech Lorens) 17742Files: src/quickfix.c, src/testdir/Makefile, src/testdir/test96.in, 17743 src/testdir/test96.ok, src/testdir/Make_amiga.mak, 17744 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 17745 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms 17746 17747Patch 7.3.1286 17748Problem: Check for screen size missing for Athena and Motif. 17749Solution: Add call to limit_screen_size(). 17750Files: src/gui_x11.c 17751 17752Patch 7.3.1287 17753Problem: Python SystemExit exception is not handled properly. 17754Solution: Catch the exception and give an error. (Yasuhiro Matsumoto, Ken 17755 Takata) 17756Files: runtime/doc/if_pyth.txt, src/if_py_both.h, src/if_python.c, 17757 src/if_python3.c 17758 17759Patch 7.3.1288 17760Problem: The first ":echo 'hello'" command output doesn't show. Mapping 17761 for <S-F3> gets triggered during startup. 17762Solution: Add debugging code for the termresponse. When receiving the "Co" 17763 entry and when setting 'ambiwidth' redraw right away if possible. 17764 Add redraw_asap(). Don't set 'ambiwidth' if it already had the 17765 right value. Do the 'ambiwidth' check in the second row to avoid 17766 confusion with <S-F3>. 17767Files: src/term.c, src/screen.c, src/proto/screen.pro 17768 17769Patch 7.3.1289 17770Problem: Get GLIB warning when removing a menu item. 17771Solution: Reference menu-id and also call gtk_container_remove(). (Ivan 17772 Krasilnikov) 17773Files: src/gui_gtk.c 17774 17775Patch 7.3.1290 (after 7.3.1253) 17776Problem: CTRL-R = in Insert mode changes the start of the insert position. 17777 (Ingo Karkat) 17778Solution: Only break undo, don't start a new insert. 17779Files: src/edit.c 17780 17781Patch 7.3.1291 (after 7.3.1288) 17782Problem: Compiler warnings for uninitialized variables. (Tony Mechelynck) 17783Solution: Initialize the variables. 17784Files: src/screen.c 17785 17786Patch 7.3.1292 17787Problem: Possibly using invalid pointer when searching for window. (Raichoo) 17788Solution: Use "firstwin" instead of "tp_firstwin" for current tab. 17789Files: src/window.c 17790 17791Patch 7.3.1293 17792Problem: Put in empty buffer cannot be undone. 17793Solution: Save one more line for undo. (Ozaki) 17794Files: src/ops.c 17795 17796Patch 7.3.1294 17797Problem: ":diffoff" resets options. 17798Solution: Save and restore option values. (Christian Brabandt) 17799Files: src/diff.c, src/structs.h, src/option.c 17800 17801Patch 7.3.1295 17802Problem: glob() and globpath() do not handle escaped special characters 17803 properly. 17804Solution: Handle escaped characters differently. (Adnan Zafar) 17805Files: src/testdir/Makefile, src/testdir/test97.in, 17806 src/testdir/test97.ok, src/testdir/Make_amiga.mak, 17807 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 17808 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, src/fileio.c, 17809 src/misc1.c 17810 17811Patch 7.3.1296 17812Problem: Only MS-Windows limits the GUI window size to what fits on the 17813 monitor. 17814Solution: Limit the size for all systems. (Daniel Harding) 17815Files: src/ui.c 17816 17817Patch 7.3.1297 17818Problem: findfile() directory matching does not work when a star follows 17819 text. (Markus Braun) 17820Solution: Make a wildcard work properly. (Christian Brabandt) 17821Files: src/misc2.c, src/testdir/test89.in, src/testdir/test89.ok 17822 17823Patch 7.3.1298 (after 7.3.1297) 17824Problem: Crash. 17825Solution: Use STRCPY() instead of STRCAT() and allocate one more byte. 17826Files: src/misc2.c 17827 17828Patch 7.3.1299 17829Problem: Errors when doing "make proto". Didn't do "make depend" for a 17830 while. 17831Solution: Add #ifdefs. Update dependencies. Update proto files. 17832Files: src/if_python3.c, src/os_win32.c, src/Makefile, 17833 src/proto/ex_docmd.pro, src/proto/if_python.pro, 17834 src/proto/if_python3.pro, src/proto/gui_w16.pro, 17835 src/proto/gui_w32.pro, src/proto/os_win32.pro 17836 17837Patch 7.3.1300 17838Problem: Mac: tiny and small build fails. 17839Solution: Don't include os_macosx.m in tiny build. Include mouse support in 17840 small build. (Kazunobu Kuriyama) 17841Files: src/configure.in, src/auto/configure, src/vim.h 17842 17843Patch 7.3.1301 17844Problem: Some tests fail on MS-Windows. 17845Solution: Fix path separators in test 89 and 96. Omit test 97, escaping 17846 works differently. Make findfile() work on MS-Windows. 17847Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 17848 src/testdir/Make_os2.mak, src/testdir/test89.in, 17849 src/testdir/test96.in, src/misc2.c 17850 17851Patch 7.3.1302 17852Problem: Test 17 fails on MS-Windows. Includes line break in file name 17853 everywhere. 17854Solution: Fix 'fileformat'. Omit CR-LF from a line read from an included 17855 file. 17856Files: src/search.c, src/testdir/test17.in, src/testdir/test17.ok 17857 17858Patch 7.3.1303 (after 7.3.1290) 17859Problem: Undo is synced whenever CTRL-R = is called, breaking some plugins. 17860Solution: Only break undo when calling setline() or append(). 17861Files: src/globals.h, src/eval.c, src/edit.c, src/testdir/test61.in, 17862 src/testdir/test61.ok 17863 17864Patch 7.3.1304 17865Problem: Test 89 still fails on MS-Windows. 17866Solution: Set 'shellslash'. (Taro Muraoka) 17867Files: src/testdir/test89.in 17868 17869Patch 7.3.1305 17870Problem: Warnings from 64 bit compiler. 17871Solution: Add type casts. 17872Files: src/misc2.c 17873 17874Patch 7.3.1306 17875Problem: When redrawing the screen during startup the intro message may be 17876 cleared. 17877Solution: Redisplay the intro message when appropriate. 17878Files: src/screen.c, src/version.c, src/proto/version.pro 17879 17880Patch 7.3.1307 17881Problem: MS-Windows build instructions are outdated. 17882Solution: Adjust for building on Windows 7. Drop Windows 95/98/ME support. 17883Files: Makefile, nsis/gvim.nsi 17884 17885Patch 7.3.1308 17886Problem: Typos in MS-Windows build settings and README. 17887Solution: Minor changes to MS-Windows files. 17888Files: src/msvc2008.bat, src/msvc2010.bat, src/VisVim/README_VisVim.txt 17889 17890Patch 7.3.1309 17891Problem: When a script defines a function the flag to wait for the user to 17892 hit enter is reset. 17893Solution: Restore the flag. (Yasuhiro Matsumoto) Except when the user was 17894 typing the function. 17895Files: src/eval.c 17896 17897Patch 7.3.1310 17898Problem: Typos in nsis script. Can use better compression. 17899Solution: Fix typos. Use lzma compression. (Ken Takata) 17900Files: nsis/gvim.nsi 17901 17902Patch 7.3.1311 17903Problem: Compiler warnings on Cygwin. 17904Solution: Add type casts. Add windows include files. (Ken Takata) 17905Files: src/mbyte.c, src/ui.c 17906 17907Patch 7.3.1312 (after 7.3.1287) 17908Problem: Not giving correct error messages for SystemExit(). 17909Solution: Move E858 into an else. (Ken Takata) 17910Files: src/if_py_both.h 17911 17912Patch 7.3.1313 17913Problem: :py and :py3 don't work when compiled with Cygwin or MingW with 64 17914 bit. 17915Solution: Add -DMS_WIN64 to the build command. (Ken Takata) 17916Files: src/Make_cyg.mak, src/Make_ming.mak 17917 17918Patch 7.3.1314 17919Problem: Test 87 fails with Python 3.3. 17920Solution: Filter the error messages. (Taro Muraoka) 17921Files: src/testdir/test87.in 17922 17923Patch 7.4a.001 17924Problem: Script to update syntax menu is outdated. 17925Solution: Add the missing items. 17926Files: runtime/makemenu.vim 17927 17928Patch 7.4a.002 17929Problem: Valgrind errors in test 89. (Simon Ruderich) 17930Solution: Allocate one more byte. (Dominique Pelle) 17931Files: src/misc2.c 17932 17933Patch 7.4a.003 17934Problem: Copyright year is outdated. 17935Solution: Only use the first year. 17936Files: src/vim.rc, src/vim16.rc 17937 17938Patch 7.4a.004 17939Problem: MSVC 2012 Update 3 is not recognized. 17940Solution: Add the version number. (Raymond Ko) 17941Files: src/Make_mvc.mak 17942 17943Patch 7.4a.005 17944Problem: Scroll binding causes unexpected scroll. 17945Solution: Store the topline after updating scroll binding. Add a test. 17946 (Lech Lorens) 17947Files: src/testdir/test98.in, src/testdir/test98a.in, 17948 src/testdir/test98.ok, src/option.c, src/testdir/Make_amiga.mak, 17949 src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, 17950 src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, 17951 src/testdir/Makefile 17952 17953Patch 7.4a.006 17954Problem: Failure in po file check goes unnoticed. 17955Solution: Fail "make test" if the po file check fails. 17956Files: src/Makefile 17957 17958Patch 7.4a.007 17959Problem: After "g$" with 'virtualedit' set, "k" moves to a different 17960 column. (Dimitar Dimitrov) 17961Solution: Set w_curswant. (Christian Brabandt) 17962Files: src/normal.c 17963 17964Patch 7.4a.008 17965Problem: Python 3 doesn't handle multibyte characters properly when 17966 'encoding' is not utf-8. 17967Solution: Use PyUnicode_Decode() instead of PyUnicode_FromString(). (Ken 17968 Takata) 17969Files: src/if_python3.c 17970 17971Patch 7.4a.009 17972Problem: Compiler warnings for function prototypes. 17973Solution: Add "void". Move list_features() prototype. (Ken Takata) 17974Files: src/gui_w48.c, src/if_py_both.h, src/version.c 17975 17976Patch 7.4a.010 17977Problem: Test 86 and 87 fail when building with Python or Python 3 and 17978 using a static library. 17979Solution: Add configure check to add -fPIE compiler flag. 17980Files: src/configure.in, src/auto/configure 17981 17982Patch 7.4a.011 17983Problem: Configure check for Python 3 config name isn't right. 17984Solution: Always include vi_cv_var_python3_version. (Tim Harder) 17985Files: src/configure.in, src/auto/configure 17986 17987Patch 7.4a.012 17988Problem: "make test" fails when using a shadow directory. 17989Solution: Create links for files in src/po. (James McCoy) 17990Files: src/Makefile 17991 17992Patch 7.4a.013 17993Problem: Setting/resetting 'lbr' in the main help file changes alignment 17994 after a Tab. (Dimitar Dimitrov) 17995Solution: Also use the code for conceal mode where n_extra is computed for 17996 'lbr'. 17997Files: src/screen.c, src/testdir/test88.in, src/testdir/test88.ok 17998 17999Patch 7.4a.014 18000Problem: Test 86 and 89 have a problem with using a shadow dir. 18001Solution: Adjust for the different directory structure. (James McCoy) 18002Files: src/testdir/test89.in, src/testdir/test86.in, src/Makefile 18003 18004Patch 7.4a.015 18005Problem: No Japanese man pages. 18006Solution: Add Japanese translations of man pages. (Ken Takata, Yukihiro 18007 Nakadaira, et al.) 18008Files: Filelist, src/Makefile, runtime/doc/evim-ja.UTF-8.1, 18009 runtime/doc/vim-ja.UTF-8.1, runtime/doc/vimdiff-ja.UTF-8.1, 18010 runtime/doc/vimtutor-ja.UTF-8.1, runtime/doc/xxd-ja.UTF-8.1 18011 18012Patch 7.4a.016 (after 7.4a.014) 18013Problem: Features enabled in Makefile. 18014Solution: Undo accidental changes. 18015Files: src/Makefile 18016 18017Patch 7.4a.017 18018Problem: When 'foldmethod' is "indent", using ">>" on a line just above a 18019 fold makes the cursor line folded. (Evan Laforge) 18020Solution: Call foldOpenCursor(). (Christian Brabandt) 18021Files: src/ops.c 18022 18023Patch 7.4a.018 18024Problem: Compiler warning for code unreachable. (Charles Campbell) 18025Solution: Use "while" instead of endless loop. Change break to continue. 18026Files: src/regexp_nfa.c, src/ui.c 18027 18028Patch 7.4a.019 18029Problem: Invalid closing parenthesis in test 62. Command truncated at 18030 double quote. 18031Solution: Remove the parenthesis. Change double quote to ''. (ZyX) 18032Files: src/testdir/test62.in, src/testdir/test62.ok 18033 18034Patch 7.4a.020 18035Problem: Superfluous mb_ptr_adv(). 18036Solution: Remove the call. (Dominique Pelle) 18037Files: src/regexp_nfa.c 18038 18039Patch 7.4a.021 18040Problem: Using feedkeys() doesn't always work. 18041Solution: Omit feedkeys(). (Ken Takata) 18042Files: src/testdir/test98a.in 18043 18044Patch 7.4a.022 18045Problem: Using "d2g$" does not delete the last character. (ZyX) 18046Solution: Set the "inclusive" flag properly. 18047Files: src/normal.c 18048 18049Patch 7.4a.023 (after 7.4a.019) 18050Problem: Still another superfluous parenthesis. (ZyX) 18051Solution: Remove it. 18052Files: src/testdir/test62.in 18053 18054Patch 7.4a.024 18055Problem: X11 GUI: Checking icon height twice. 18056Solution: Check height and width. (Dominique Pelle) 18057Files: src/gui_x11.c 18058 18059Patch 7.4a.025 18060Problem: Get the press-Enter prompt even after using :redraw. 18061Solution: Clear need_wait_return when executing :redraw. 18062Files: src/ex_docmd.c 18063 18064Patch 7.4a.026 18065Problem: ":diffoff" does not remove folds. (Ramel) 18066Solution: Do not restore 'foldenable' when 'foldmethod' is "manual". 18067Files: src/diff.c 18068 18069Patch 7.4a.027 18070Problem: When Python adds lines to another buffer the cursor position is 18071 wrong, it might be below the last line causing ml_get errors. 18072 (Vlad Irnov) 18073Solution: Temporarily change the current window, so that marks are corrected 18074 properly. 18075Files: src/if_py_both.h, src/window.c, src/proto/buffer.pro 18076 18077Patch 7.4a.028 18078Problem: Crash when spell checking in new buffer. 18079Solution: Set the b_p_key field. (Mike Williams) 18080Files: src/spell.c, src/testdir/test58.in 18081 18082Patch 7.4a.029 18083Problem: Can't build with MzScheme on Ubuntu 13.04. 18084Solution: Add configure check for the "ffi" library. 18085Files: src/configure.in, src/auto/configure 18086 18087Patch 7.4a.030 (after 7.4.027) 18088Problem: Missing find_win_for_buf(). (toothpik) 18089Solution: Add missing changes. 18090Files: src/buffer.c 18091 18092Patch 7.4a.031 18093Problem: Compiler warnings. (Charles Campbell) 18094Solution: Initialize variables even when not needed. 18095Files: src/regexp_nfa.c, src/search.c 18096 18097Patch 7.4a.032 18098Problem: New regexp engine: Does not match shorter alternative. (Ingo 18099 Karkat) 18100Solution: Do not drop a new state when the PIM info is different. 18101Files: src/regexp_nfa.c 18102 18103Patch 7.4a.033 18104Problem: Test 98 always passes. 18105Solution: Include test98a.in in test98.in, execute the crucial command in 18106 one line. (Yukihiro Nakadaira) 18107Files: src/testdir/test98.in, src/testdir/test98a.in 18108 18109Patch 7.4a.034 18110Problem: The tabline may flicker when opening a new tab after 7.3.759 on 18111 Win32. 18112Solution: Move call to TabCtrl_SetCurSel(). (Ken Takata) 18113Files: src/gui_w48.c 18114 18115Patch 7.4a.035 18116Problem: Fix in patch 7.4a.032 is not tested. 18117Solution: Add test. 18118Files: src/testdir/test64.in, src/testdir/test64.ok 18119 18120Patch 7.4a.036 18121Problem: "\p" in a regexp does not match double-width characters. 18122 (Yukihiro Nakadaira) 18123Solution: Don't count display cells, use vim_isprintc(). 18124Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test64.in, 18125 src/testdir/test64.ok, src/testdir/test95.in, 18126 src/testdir/test95.ok 18127 18128Patch 7.4a.037 18129Problem: Win32: When mouse is hidden and in the toolbar, moving it won't 18130 make it appear. (Sami Salonen) 18131Solution: Add tabline_wndproc() and toolbar_wndproc(). (Ken Takata) 18132Files: src/gui_w32.c, src/gui_w48.c 18133 18134Patch 7.4a.038 18135Problem: When using MSVC 2012 there are various issues, including GUI size 18136 computations. 18137Solution: Use SM_CXPADDEDBORDER. (Mike Williams) 18138Files: src/gui_w32.c, src/gui_w48.c, src/os_win32.h 18139 18140Patch 7.4a.039 18141Problem: New regexp engine doesn't match pattern. (Ingo Karkat) 18142Solution: When adding a state also check for different PIM if the list of 18143 states has any state with a PIM. 18144Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 18145 18146Patch 7.4a.040 18147Problem: Win32: using uninitialized variable. 18148Solution: (Yukihiro Nakadaira) 18149Files: src/os_win32.c 18150 18151Patch 7.4a.041 18152Problem: When using ":new ++ff=unix" and "dos" is first in 'fileformats' 18153 then 'ff' is set to "dos" instead of "unix". (Ingo Karkat) 18154Solution: Create set_file_options() and invoke it from do_ecmd(). 18155Files: src/fileio.c, src/proto/fileio.pro, src/ex_cmds.c, 18156 src/testdir/test91.in, src/testdir/test91.ok 18157 18158Patch 7.4a.042 18159Problem: Crash when BufUnload autocommands close all buffers. (Andrew 18160 Pimlott) 18161Solution: Set curwin->w_buffer to curbuf to avoid NULL. 18162Files: src/window.c, src/testdir/test8.in, src/testdir/test8.ok 18163 18164Patch 7.4a.043 18165Problem: More ml_get errors when adding or deleting lines from Python. 18166 (Vlad Irnov) 18167Solution: Switch to a window with the buffer when possible. 18168Files: src/if_py_both.h 18169 18170Patch 7.4a.044 18171Problem: Test 96 sometimes fails. 18172Solution: Clear window from b_wininfo in win_free(). (Suggestion by 18173 Yukihiro Nakadaira) 18174Files: src/window.c 18175 18176Patch 7.4a.045 18177Problem: Configure does not always find the right library for Lua. Missing 18178 support for LuaJit. 18179Solution: Improve the configure detection of Lua. (Hiroshi Shirosaki) 18180Files: src/Makefile, src/configure.in, src/auto/configure 18181 18182Patch 7.4a.046 18183Problem: Can't build without mbyte feature. 18184Solution: Add #ifdefs. 18185Files: src/ex_cmds.c 18186 18187Patch 7.4a.047 18188Problem: Some comments are not so nice. 18189Solution: Change the comments. 18190Files: src/ex_docmd.c, src/message.c, src/ops.c, src/option.c 18191 18192Patch 7.4b.001 18193Problem: Win32: dialog may extend off-screen. 18194Solution: Reduce the size, use correct borders. (Andrei Olsen) 18195Files: src/gui_w32.c 18196 18197Patch 7.4b.002 18198Problem: Crash searching for \%(\%(\|\d\|-\|\.\)*\|\*\). (Marcin 18199 Szamotulski) Also for \(\)*. 18200Solution: Do add a state for opening parenthesis, so that we can check if it 18201 was added before at the same position. 18202Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 18203 18204Patch 7.4b.003 18205Problem: Regexp code is not nicely aligned. 18206Solution: Adjust white space. (Ken Takata) 18207Files: src/regexp_nfa.c 18208 18209Patch 7.4b.004 18210Problem: Regexp crash on pattern "@\%[\w\-]*". (Axel Kielhorn) 18211Solution: Add \%(\) around \%[] internally. 18212Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok 18213 18214Patch 7.4b.005 18215Problem: Finding %s in shellpipe and shellredir does not ignore %%s. 18216Solution: Skip over %%. (lcd 47) 18217Files: src/ex_cmds.c 18218 18219Patch 7.4b.006 (after 7.3.1295) 18220Problem: Using \{n,m} in an autocommand pattern no longer works. 18221 Specifically, mutt temp files are not recognized. (Gary Johnson) 18222Solution: Make \\\{n,m\} work. 18223Files: runtime/doc/autocmd.txt, src/fileio.c 18224 18225Patch 7.4b.007 18226Problem: On 32 bit MS-Windows :perldo does not work. 18227Solution: Make sure time_t uses 32 bits. (Ken Takata) 18228Files: src/if_perl.xs, src/vim.h 18229 18230Patch 7.4b.008 18231Problem: 'autochdir' causes setbufvar() to change the current directory. 18232 (Ben Fritz) 18233Solution: When disabling autocommands also reset 'acd' temporarily. 18234 (Christian Brabandt) 18235Files: src/fileio.c 18236 18237Patch 7.4b.009 18238Problem: When setting the Visual area manually and 'selection' is 18239 exclusive, a yank includes one character too much. (Ingo Karkat) 18240Solution: Default the Visual operation to "v". (Christian Brabandt) 18241Files: src/mark.c 18242 18243Patch 7.4b.010 18244Problem: Win32: Tcl library load does not use standard mechanism. 18245Solution: Call vimLoadLib() instead of LoadLibraryEx(). (Ken Takata) 18246Files: src/if_perl.xs, src/if_tcl.c 18247 18248Patch 7.4b.011 18249Problem: ":he \%(\)" does not work. (ZyX) 18250Solution: Add an exception to the list. 18251Files: src/ex_cmds.c 18252 18253Patch 7.4b.012 18254Problem: Output from a shell command is truncated at a NUL. (lcd 47) 18255Solution: Change every NUL into an SOH. 18256Files: src/misc1.c 18257 18258Patch 7.4b.013 18259Problem: Install dir for JP man pages is wrong. 18260Solution: Remove ".UTF-8" from the directory name. (Ken Takata) 18261Files: src/Makefile 18262 18263Patch 7.4b.014 (after 7.4b.012) 18264Problem: Stupid mistake. 18265Solution: Changle "len" to "i". 18266Files: src/misc1.c 18267 18268Patch 7.4b.015 (after 7.4b.008) 18269Problem: Can't compile without the 'acd' feature. 18270Solution: Add #ifdefs. (Kazunobu Kuriyama) 18271Files: src/fileio.c 18272 18273Patch 7.4b.016 18274Problem: Ruby detection fails on Fedora 19. 18275Solution: Use one way to get the Ruby version. (Michael Henry) 18276Files: src/configure.in, src/auto/configure 18277 18278Patch 7.4b.017 18279Problem: ":he \^x" gives a strange error message. (glts) 18280Solution: Do not translate \^x to \_CTRL-x. 18281Files: src/ex_cmds.c 18282 18283Patch 7.4b.018 (after 7.4b.001) 18284Problem: Win32: Dialog can still be too big. 18285Solution: Move the check for height further down. (Andrei Olsen) 18286Files: src/gui_w32.c 18287 18288Patch 7.4b.019 (after 7.4a.034) 18289Problem: Tabline is not updated properly when closing a tab on Win32. 18290Solution: Only reduce flickering when adding a tab. (Ken Takata) 18291Files: src/gui_w48.c 18292 18293Patch 7.4b.020 18294Problem: "g~ap" changes first character of next paragraph. (Manuel Ortega) 18295Solution: Avoid subtracting (0 - 1) from todo. (Mike Williams) 18296Files: src/ops.c, src/testdir/test82.in, src/testdir/test82.ok 18297 18298Patch 7.4b.021 18299Problem: Pressing "u" after an external command results in multiple 18300 press-enter messages. (glts) 18301Solution: Don't call hit_return_msg() when we have K_IGNORE. (Christian 18302 Brabandt) 18303Files: src/message.c 18304 18305Patch 7.4b.022 18306Problem: Not waiting for a character when the tick count overflows. 18307Solution: Subtract the unsigned numbers and cast to int. (Ken Takata) 18308Files: src/os_win32.c 18309 18310 18311 18312 vim:tw=78:ts=8:noet:ft=help:norl: 18313